qontract-reconcile 0.10.2.dev233__tar.gz → 0.10.2.dev234__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 (806) hide show
  1. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/PKG-INFO +2 -2
  2. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/pyproject.toml +1 -1
  3. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/change_owners/change_owners.py +1 -1
  4. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/change_owners/decision.py +7 -10
  5. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gitlab_fork_compliance.py +1 -2
  6. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gitlab_housekeeping.py +25 -15
  7. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gitlab_members.py +1 -1
  8. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gitlab_owners.py +11 -8
  9. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/gitlab_api.py +86 -92
  10. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/vcs.py +5 -5
  11. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/tools/qontract_cli.py +12 -9
  12. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/README.md +0 -0
  13. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/__init__.py +0 -0
  14. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/acs_policies.py +0 -0
  15. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/acs_rbac.py +0 -0
  16. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/aus/__init__.py +0 -0
  17. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/aus/advanced_upgrade_service.py +0 -0
  18. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/aus/aus_label_source.py +0 -0
  19. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/aus/base.py +0 -0
  20. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/aus/cluster_version_data.py +0 -0
  21. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/aus/healthchecks.py +0 -0
  22. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/aus/metrics.py +0 -0
  23. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/aus/models.py +0 -0
  24. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/aus/node_pool_spec.py +0 -0
  25. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/aus/ocm_addons_upgrade_scheduler_org.py +0 -0
  26. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/aus/ocm_upgrade_scheduler.py +0 -0
  27. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/aus/ocm_upgrade_scheduler_org.py +0 -0
  28. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/aus/upgrades.py +0 -0
  29. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/aus/version_gate_approver.py +0 -0
  30. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/aus/version_gates/__init__.py +0 -0
  31. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/aus/version_gates/handler.py +0 -0
  32. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/aus/version_gates/ingress_gate_handler.py +0 -0
  33. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/aus/version_gates/ocp_gate_handler.py +0 -0
  34. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/aus/version_gates/sts_version_gate_handler.py +0 -0
  35. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/automated_actions/__init__.py +0 -0
  36. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/automated_actions/config/__init__.py +0 -0
  37. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/automated_actions/config/integration.py +0 -0
  38. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/aws_account_manager/README.md +0 -0
  39. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/aws_account_manager/__init__.py +0 -0
  40. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/aws_account_manager/integration.py +0 -0
  41. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/aws_account_manager/merge_request_manager.py +0 -0
  42. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/aws_account_manager/metrics.py +0 -0
  43. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/aws_account_manager/reconciler.py +0 -0
  44. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/aws_account_manager/utils.py +0 -0
  45. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/aws_ami_cleanup/__init__.py +0 -0
  46. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/aws_ami_cleanup/integration.py +0 -0
  47. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/aws_ami_share.py +0 -0
  48. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/aws_cloudwatch_log_retention/__init__.py +0 -0
  49. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/aws_cloudwatch_log_retention/integration.py +0 -0
  50. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/aws_ecr_image_pull_secrets.py +0 -0
  51. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/aws_garbage_collector.py +0 -0
  52. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/aws_iam_keys.py +0 -0
  53. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/aws_iam_password_reset.py +0 -0
  54. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/aws_saml_idp/__init__.py +0 -0
  55. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/aws_saml_idp/integration.py +0 -0
  56. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/aws_saml_roles/__init__.py +0 -0
  57. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/aws_saml_roles/integration.py +0 -0
  58. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/aws_support_cases_sos.py +0 -0
  59. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/aws_version_sync/__init__.py +0 -0
  60. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/aws_version_sync/integration.py +0 -0
  61. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/aws_version_sync/merge_request_manager/__init__.py +0 -0
  62. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/aws_version_sync/merge_request_manager/merge_request.py +0 -0
  63. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/aws_version_sync/merge_request_manager/merge_request_manager.py +0 -0
  64. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/aws_version_sync/utils.py +0 -0
  65. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/blackbox_exporter_endpoint_monitoring.py +0 -0
  66. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/change_owners/README.md +0 -0
  67. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/change_owners/__init__.py +0 -0
  68. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/change_owners/approver.py +0 -0
  69. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/change_owners/bundle.py +0 -0
  70. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/change_owners/change_log_tracking.py +0 -0
  71. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/change_owners/change_types.py +0 -0
  72. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/change_owners/changes.py +0 -0
  73. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/change_owners/diff.py +0 -0
  74. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/change_owners/implicit_ownership.py +0 -0
  75. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/change_owners/self_service_roles.py +0 -0
  76. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/change_owners/tester.py +0 -0
  77. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/checkpoint.py +0 -0
  78. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/cli.py +0 -0
  79. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/closedbox_endpoint_monitoring_base.py +0 -0
  80. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/cluster_auth_rhidp/__init__.py +0 -0
  81. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/cluster_auth_rhidp/integration.py +0 -0
  82. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/cluster_deployment_mapper.py +0 -0
  83. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/dashdotdb_base.py +0 -0
  84. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/dashdotdb_cso.py +0 -0
  85. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/dashdotdb_dora.py +0 -0
  86. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/dashdotdb_dvo.py +0 -0
  87. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/dashdotdb_slo.py +0 -0
  88. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/database_access_manager.py +0 -0
  89. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/deadmanssnitch.py +0 -0
  90. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/dynatrace_token_provider/__init__.py +0 -0
  91. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/dynatrace_token_provider/dependencies.py +0 -0
  92. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/dynatrace_token_provider/integration.py +0 -0
  93. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/dynatrace_token_provider/metrics.py +0 -0
  94. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/dynatrace_token_provider/model.py +0 -0
  95. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/dynatrace_token_provider/ocm.py +0 -0
  96. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/dynatrace_token_provider/validate.py +0 -0
  97. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/email_sender.py +0 -0
  98. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/endpoints_discovery/__init__.py +0 -0
  99. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/endpoints_discovery/integration.py +0 -0
  100. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/endpoints_discovery/merge_request.py +0 -0
  101. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/endpoints_discovery/merge_request_manager.py +0 -0
  102. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/external_resources/__init__.py +0 -0
  103. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/external_resources/aws.py +0 -0
  104. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/external_resources/factories.py +0 -0
  105. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/external_resources/integration.py +0 -0
  106. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/external_resources/integration_secrets_sync.py +0 -0
  107. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/external_resources/manager.py +0 -0
  108. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/external_resources/meta.py +0 -0
  109. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/external_resources/metrics.py +0 -0
  110. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/external_resources/model.py +0 -0
  111. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/external_resources/reconciler.py +0 -0
  112. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/external_resources/secrets_sync.py +0 -0
  113. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/external_resources/state.py +0 -0
  114. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/fleet_labeler/__init__.py +0 -0
  115. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/fleet_labeler/dependencies.py +0 -0
  116. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/fleet_labeler/integration.py +0 -0
  117. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/fleet_labeler/merge_request.py +0 -0
  118. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/fleet_labeler/meta.py +0 -0
  119. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/fleet_labeler/metrics.py +0 -0
  120. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/fleet_labeler/ocm.py +0 -0
  121. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/fleet_labeler/validate.py +0 -0
  122. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/fleet_labeler/vcs.py +0 -0
  123. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gabi_authorized_users.py +0 -0
  124. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gcp_image_mirror.py +0 -0
  125. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/github_org.py +0 -0
  126. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/github_owners.py +0 -0
  127. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/github_repo_invites.py +0 -0
  128. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/github_repo_permissions_validator.py +0 -0
  129. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/github_validator.py +0 -0
  130. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gitlab_labeler.py +0 -0
  131. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gitlab_mr_sqs_consumer.py +0 -0
  132. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gitlab_permissions.py +0 -0
  133. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gitlab_projects.py +0 -0
  134. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/glitchtip/README.md +0 -0
  135. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/glitchtip/__init__.py +0 -0
  136. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/glitchtip/integration.py +0 -0
  137. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/glitchtip/reconciler.py +0 -0
  138. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/glitchtip_project_alerts/__init__.py +0 -0
  139. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/glitchtip_project_alerts/integration.py +0 -0
  140. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/glitchtip_project_dsn/__init__.py +0 -0
  141. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/glitchtip_project_dsn/integration.py +0 -0
  142. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/__init__.py +0 -0
  143. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/acs/__init__.py +0 -0
  144. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/acs/acs_instances.py +0 -0
  145. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/acs/acs_policies.py +0 -0
  146. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/acs/acs_rbac.py +0 -0
  147. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/advanced_upgrade_service/__init__.py +0 -0
  148. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/advanced_upgrade_service/aus_clusters.py +0 -0
  149. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/advanced_upgrade_service/aus_organization.py +0 -0
  150. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/app_interface_metrics_exporter/__init__.py +0 -0
  151. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/app_interface_metrics_exporter/onboarding_status.py +0 -0
  152. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/app_sre_tekton_access_revalidation/__init__.py +0 -0
  153. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/app_sre_tekton_access_revalidation/roles.py +0 -0
  154. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/app_sre_tekton_access_revalidation/users.py +0 -0
  155. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/automated_actions/__init__.py +0 -0
  156. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/automated_actions/instance.py +0 -0
  157. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/aws_account_manager/__init__.py +0 -0
  158. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/aws_account_manager/aws_accounts.py +0 -0
  159. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/aws_ami_cleanup/__init__.py +0 -0
  160. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/aws_ami_cleanup/aws_accounts.py +0 -0
  161. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/aws_cloudwatch_log_retention/__init__.py +0 -0
  162. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/aws_cloudwatch_log_retention/aws_accounts.py +0 -0
  163. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/aws_saml_idp/__init__.py +0 -0
  164. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/aws_saml_idp/aws_accounts.py +0 -0
  165. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/aws_saml_roles/__init__.py +0 -0
  166. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/aws_saml_roles/aws_accounts.py +0 -0
  167. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/aws_saml_roles/roles.py +0 -0
  168. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/aws_version_sync/__init__.py +0 -0
  169. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/aws_version_sync/clusters.py +0 -0
  170. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/aws_version_sync/namespaces.py +0 -0
  171. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/change_owners/__init__.py +0 -0
  172. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/change_owners/queries/__init__.py +0 -0
  173. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/change_owners/queries/change_types.py +0 -0
  174. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/change_owners/queries/self_service_roles.py +0 -0
  175. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/cluster_auth_rhidp/__init__.py +0 -0
  176. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/cluster_auth_rhidp/clusters.py +0 -0
  177. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/common/__init__.py +0 -0
  178. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/common/alerting_services_settings.py +0 -0
  179. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/common/app_code_component_repos.py +0 -0
  180. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/common/app_interface_custom_messages.py +0 -0
  181. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/common/app_interface_dms_settings.py +0 -0
  182. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/common/app_interface_repo_settings.py +0 -0
  183. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/common/app_interface_state_settings.py +0 -0
  184. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/common/app_interface_vault_settings.py +0 -0
  185. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/common/app_quay_repos_escalation_policies.py +0 -0
  186. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/common/apps.py +0 -0
  187. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/common/aws_vpc_requests.py +0 -0
  188. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/common/aws_vpcs.py +0 -0
  189. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/common/clusters.py +0 -0
  190. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/common/clusters_minimal.py +0 -0
  191. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/common/clusters_with_dms.py +0 -0
  192. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/common/clusters_with_peering.py +0 -0
  193. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/common/github_orgs.py +0 -0
  194. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/common/jira_settings.py +0 -0
  195. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/common/jiralert_settings.py +0 -0
  196. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/common/ldap_settings.py +0 -0
  197. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/common/namespaces.py +0 -0
  198. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/common/namespaces_minimal.py +0 -0
  199. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/common/ocm_env_telemeter.py +0 -0
  200. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/common/ocm_environments.py +0 -0
  201. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/common/pagerduty_instances.py +0 -0
  202. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/common/pgp_reencryption_settings.py +0 -0
  203. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/common/pipeline_providers.py +0 -0
  204. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/common/quay_instances.py +0 -0
  205. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/common/quay_orgs.py +0 -0
  206. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/common/reserved_networks.py +0 -0
  207. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/common/rhcs_provider_settings.py +0 -0
  208. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/common/saas_files.py +0 -0
  209. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/common/saas_target_namespaces.py +0 -0
  210. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/common/saasherder_settings.py +0 -0
  211. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/common/slack_workspaces.py +0 -0
  212. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/common/smtp_client_settings.py +0 -0
  213. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/common/state_aws_account.py +0 -0
  214. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/common/users.py +0 -0
  215. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/common/users_with_paths.py +0 -0
  216. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/cost_report/__init__.py +0 -0
  217. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/cost_report/app_names.py +0 -0
  218. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/cost_report/cost_namespaces.py +0 -0
  219. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/cost_report/settings.py +0 -0
  220. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/dashdotdb_slo/__init__.py +0 -0
  221. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/dashdotdb_slo/slo_documents_query.py +0 -0
  222. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/dynatrace_token_provider/__init__.py +0 -0
  223. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/dynatrace_token_provider/dynatrace_bootstrap_tokens.py +0 -0
  224. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/dynatrace_token_provider/token_specs.py +0 -0
  225. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/email_sender/__init__.py +0 -0
  226. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/email_sender/apps.py +0 -0
  227. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/email_sender/emails.py +0 -0
  228. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/email_sender/users.py +0 -0
  229. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/endpoints_discovery/__init__.py +0 -0
  230. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/endpoints_discovery/apps.py +0 -0
  231. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/external_resources/__init__.py +0 -0
  232. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/external_resources/aws_accounts.py +0 -0
  233. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/external_resources/external_resources_modules.py +0 -0
  234. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/external_resources/external_resources_namespaces.py +0 -0
  235. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/external_resources/external_resources_settings.py +0 -0
  236. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/external_resources/fragments/__init__.py +0 -0
  237. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/external_resources/fragments/external_resources_module_overrides.py +0 -0
  238. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/fleet_labeler/__init__.py +0 -0
  239. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/fleet_labeler/fleet_labels.py +0 -0
  240. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/fragments/__init__.py +0 -0
  241. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/fragments/aus_organization.py +0 -0
  242. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/fragments/aws_account_common.py +0 -0
  243. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/fragments/aws_account_managed.py +0 -0
  244. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/fragments/aws_account_sso.py +0 -0
  245. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/fragments/aws_infra_management_account.py +0 -0
  246. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/fragments/aws_vpc.py +0 -0
  247. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/fragments/aws_vpc_request.py +0 -0
  248. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/fragments/aws_vpc_request_subnet.py +0 -0
  249. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/fragments/container_image_mirror.py +0 -0
  250. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/fragments/deploy_resources.py +0 -0
  251. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/fragments/disable.py +0 -0
  252. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/fragments/email_service.py +0 -0
  253. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/fragments/email_user.py +0 -0
  254. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/fragments/jumphost_common_fields.py +0 -0
  255. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/fragments/membership_source.py +0 -0
  256. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/fragments/minimal_ocm_organization.py +0 -0
  257. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/fragments/oc_connection_cluster.py +0 -0
  258. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/fragments/ocm_environment.py +0 -0
  259. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/fragments/pipeline_provider_retention.py +0 -0
  260. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/fragments/prometheus_instance.py +0 -0
  261. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/fragments/resource_limits_requirements.py +0 -0
  262. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/fragments/resource_requests_requirements.py +0 -0
  263. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/fragments/resource_values.py +0 -0
  264. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/fragments/saas_slo_document.py +0 -0
  265. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/fragments/saas_target_namespace.py +0 -0
  266. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/fragments/serviceaccount_token.py +0 -0
  267. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/fragments/terraform_state.py +0 -0
  268. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/fragments/upgrade_policy.py +0 -0
  269. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/fragments/user.py +0 -0
  270. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/fragments/vault_secret.py +0 -0
  271. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/gcp/__init__.py +0 -0
  272. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/gcp/gcp_docker_repos.py +0 -0
  273. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/gcp/gcp_projects.py +0 -0
  274. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/gitlab_members/__init__.py +0 -0
  275. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/gitlab_members/gitlab_instances.py +0 -0
  276. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/gitlab_members/permissions.py +0 -0
  277. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/glitchtip/__init__.py +0 -0
  278. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/glitchtip/glitchtip_instance.py +0 -0
  279. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/glitchtip/glitchtip_project.py +0 -0
  280. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/glitchtip_project_alerts/__init__.py +0 -0
  281. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/glitchtip_project_alerts/glitchtip_project.py +0 -0
  282. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/integrations/__init__.py +0 -0
  283. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/integrations/integrations.py +0 -0
  284. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/introspection.json +0 -0
  285. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/jenkins_configs/__init__.py +0 -0
  286. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/jenkins_configs/jenkins_configs.py +0 -0
  287. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/jenkins_configs/jenkins_instances.py +0 -0
  288. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/jira/__init__.py +0 -0
  289. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/jira/jira_servers.py +0 -0
  290. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/jira_permissions_validator/__init__.py +0 -0
  291. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/jira_permissions_validator/jira_boards_for_permissions_validator.py +0 -0
  292. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/jumphosts/__init__.py +0 -0
  293. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/jumphosts/jumphosts.py +0 -0
  294. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/ldap_groups/__init__.py +0 -0
  295. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/ldap_groups/roles.py +0 -0
  296. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/ldap_groups/settings.py +0 -0
  297. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/maintenance/__init__.py +0 -0
  298. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/maintenance/maintenances.py +0 -0
  299. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/membershipsources/__init__.py +0 -0
  300. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/membershipsources/roles.py +0 -0
  301. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/ocm_labels/__init__.py +0 -0
  302. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/ocm_labels/clusters.py +0 -0
  303. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/ocm_labels/organizations.py +0 -0
  304. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/ocm_oidc_idp/__init__.py +0 -0
  305. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/ocm_subscription_labels/__init__.py +0 -0
  306. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/openshift_cluster_bots/__init__.py +0 -0
  307. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/openshift_cluster_bots/clusters.py +0 -0
  308. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/openshift_groups/__init__.py +0 -0
  309. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/openshift_groups/managed_groups.py +0 -0
  310. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/openshift_groups/managed_roles.py +0 -0
  311. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/openshift_serviceaccount_tokens/__init__.py +0 -0
  312. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/openshift_serviceaccount_tokens/tokens.py +0 -0
  313. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/quay_membership/__init__.py +0 -0
  314. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/quay_membership/quay_membership.py +0 -0
  315. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/rhcs/__init__.py +0 -0
  316. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/rhcs/certs.py +0 -0
  317. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/rhidp/__init__.py +0 -0
  318. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/rhidp/organizations.py +0 -0
  319. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/service_dependencies/__init__.py +0 -0
  320. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/service_dependencies/jenkins_instance_fragment.py +0 -0
  321. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/service_dependencies/service_dependencies.py +0 -0
  322. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/sharding/__init__.py +0 -0
  323. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/sharding/aws_accounts.py +0 -0
  324. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/sharding/ocm_organization.py +0 -0
  325. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/skupper_network/__init__.py +0 -0
  326. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/skupper_network/site_controller_template.py +0 -0
  327. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/skupper_network/skupper_networks.py +0 -0
  328. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/slack_usergroups/__init__.py +0 -0
  329. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/slack_usergroups/clusters.py +0 -0
  330. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/slack_usergroups/permissions.py +0 -0
  331. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/slack_usergroups/users.py +0 -0
  332. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/slo_documents/__init__.py +0 -0
  333. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/slo_documents/slo_documents.py +0 -0
  334. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/status_board/__init__.py +0 -0
  335. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/status_board/status_board.py +0 -0
  336. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/statuspage/__init__.py +0 -0
  337. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/statuspage/statuspages.py +0 -0
  338. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/templating/__init__.py +0 -0
  339. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/templating/template_collection.py +0 -0
  340. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/templating/templates.py +0 -0
  341. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/terraform_cloudflare_dns/__init__.py +0 -0
  342. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/terraform_cloudflare_dns/app_interface_cloudflare_dns_settings.py +0 -0
  343. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/terraform_cloudflare_dns/terraform_cloudflare_zones.py +0 -0
  344. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/terraform_cloudflare_resources/__init__.py +0 -0
  345. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/terraform_cloudflare_resources/terraform_cloudflare_accounts.py +0 -0
  346. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/terraform_cloudflare_resources/terraform_cloudflare_resources.py +0 -0
  347. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/terraform_cloudflare_users/__init__.py +0 -0
  348. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/terraform_cloudflare_users/app_interface_setting_cloudflare_and_vault.py +0 -0
  349. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/terraform_cloudflare_users/terraform_cloudflare_roles.py +0 -0
  350. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/terraform_init/__init__.py +0 -0
  351. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/terraform_init/aws_accounts.py +0 -0
  352. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/terraform_repo/__init__.py +0 -0
  353. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/terraform_repo/terraform_repo.py +0 -0
  354. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/terraform_resources/__init__.py +0 -0
  355. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/terraform_resources/database_access_manager.py +0 -0
  356. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/terraform_resources/terraform_resources_namespaces.py +0 -0
  357. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/terraform_tgw_attachments/__init__.py +0 -0
  358. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/terraform_tgw_attachments/aws_accounts.py +0 -0
  359. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/unleash_feature_toggles/__init__.py +0 -0
  360. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/unleash_feature_toggles/feature_toggles.py +0 -0
  361. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/vault_instances/__init__.py +0 -0
  362. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/vault_instances/vault_instances.py +0 -0
  363. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/vault_policies/__init__.py +0 -0
  364. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/vault_policies/vault_policies.py +0 -0
  365. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/vpc_peerings_validator/__init__.py +0 -0
  366. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/vpc_peerings_validator/vpc_peerings_validator.py +0 -0
  367. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/gql_definitions/vpc_peerings_validator/vpc_peerings_validator_peered_cluster_fragment.py +0 -0
  368. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/integrations_manager.py +0 -0
  369. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/jenkins/__init__.py +0 -0
  370. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/jenkins/types.py +0 -0
  371. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/jenkins_base.py +0 -0
  372. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/jenkins_job_builder.py +0 -0
  373. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/jenkins_job_builds_cleaner.py +0 -0
  374. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/jenkins_job_cleaner.py +0 -0
  375. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/jenkins_roles.py +0 -0
  376. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/jenkins_webhooks.py +0 -0
  377. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/jenkins_webhooks_cleaner.py +0 -0
  378. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/jenkins_worker_fleets.py +0 -0
  379. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/jira_permissions_validator.py +0 -0
  380. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/jira_watcher.py +0 -0
  381. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/ldap_groups/__init__.py +0 -0
  382. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/ldap_groups/integration.py +0 -0
  383. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/ldap_users.py +0 -0
  384. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/mr_client_gateway.py +0 -0
  385. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/ocm/__init__.py +0 -0
  386. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/ocm/types.py +0 -0
  387. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/ocm_additional_routers.py +0 -0
  388. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/ocm_addons.py +0 -0
  389. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/ocm_addons_upgrade_tests_trigger.py +0 -0
  390. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/ocm_aws_infrastructure_access.py +0 -0
  391. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/ocm_clusters.py +0 -0
  392. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/ocm_external_configuration_labels.py +0 -0
  393. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/ocm_github_idp.py +0 -0
  394. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/ocm_groups.py +0 -0
  395. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/ocm_internal_notifications/__init__.py +0 -0
  396. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/ocm_internal_notifications/integration.py +0 -0
  397. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/ocm_labels/__init__.py +0 -0
  398. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/ocm_labels/integration.py +0 -0
  399. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/ocm_machine_pools.py +0 -0
  400. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/ocm_update_recommended_version.py +0 -0
  401. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/ocm_upgrade_scheduler_org_updater.py +0 -0
  402. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/openshift_base.py +0 -0
  403. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/openshift_cluster_bots.py +0 -0
  404. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/openshift_clusterrolebindings.py +0 -0
  405. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/openshift_groups.py +0 -0
  406. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/openshift_limitranges.py +0 -0
  407. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/openshift_namespace_labels.py +0 -0
  408. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/openshift_namespaces.py +0 -0
  409. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/openshift_network_policies.py +0 -0
  410. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/openshift_prometheus_rules.py +0 -0
  411. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/openshift_resourcequotas.py +0 -0
  412. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/openshift_resources.py +0 -0
  413. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/openshift_resources_base.py +0 -0
  414. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/openshift_rhcs_certs.py +0 -0
  415. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/openshift_rolebindings.py +0 -0
  416. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/openshift_routes.py +0 -0
  417. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/openshift_saas_deploy.py +0 -0
  418. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/openshift_saas_deploy_change_tester.py +0 -0
  419. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/openshift_saas_deploy_trigger_base.py +0 -0
  420. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/openshift_saas_deploy_trigger_cleaner.py +0 -0
  421. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/openshift_saas_deploy_trigger_configs.py +0 -0
  422. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/openshift_saas_deploy_trigger_images.py +0 -0
  423. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/openshift_saas_deploy_trigger_moving_commits.py +0 -0
  424. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/openshift_saas_deploy_trigger_upstream_jobs.py +0 -0
  425. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/openshift_serviceaccount_tokens.py +0 -0
  426. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/openshift_tekton_resources.py +0 -0
  427. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/openshift_upgrade_watcher.py +0 -0
  428. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/openshift_users.py +0 -0
  429. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/openshift_vault_secrets.py +0 -0
  430. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/oum/__init__.py +0 -0
  431. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/oum/base.py +0 -0
  432. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/oum/labelset.py +0 -0
  433. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/oum/metrics.py +0 -0
  434. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/oum/models.py +0 -0
  435. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/oum/providers.py +0 -0
  436. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/oum/standalone.py +0 -0
  437. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/prometheus_rules_tester/__init__.py +0 -0
  438. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/prometheus_rules_tester/integration.py +0 -0
  439. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/quay_base.py +0 -0
  440. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/quay_membership.py +0 -0
  441. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/quay_mirror.py +0 -0
  442. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/quay_mirror_org.py +0 -0
  443. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/quay_permissions.py +0 -0
  444. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/quay_repos.py +0 -0
  445. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/queries.py +0 -0
  446. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/query_validator.py +0 -0
  447. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/requests_sender.py +0 -0
  448. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/resource_scraper.py +0 -0
  449. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/resource_template_tester.py +0 -0
  450. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/rhidp/__init__.py +0 -0
  451. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/rhidp/common.py +0 -0
  452. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/rhidp/metrics.py +0 -0
  453. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/rhidp/ocm_oidc_idp/__init__.py +0 -0
  454. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/rhidp/ocm_oidc_idp/base.py +0 -0
  455. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/rhidp/ocm_oidc_idp/integration.py +0 -0
  456. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/rhidp/ocm_oidc_idp/metrics.py +0 -0
  457. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/rhidp/sso_client/__init__.py +0 -0
  458. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/rhidp/sso_client/base.py +0 -0
  459. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/rhidp/sso_client/integration.py +0 -0
  460. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/rhidp/sso_client/metrics.py +0 -0
  461. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/run_integration.py +0 -0
  462. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/saas_auto_promotions_manager/__init__.py +0 -0
  463. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/saas_auto_promotions_manager/integration.py +0 -0
  464. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/saas_auto_promotions_manager/merge_request_manager/__init__.py +0 -0
  465. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/saas_auto_promotions_manager/merge_request_manager/batcher.py +0 -0
  466. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/saas_auto_promotions_manager/merge_request_manager/desired_state.py +0 -0
  467. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/saas_auto_promotions_manager/merge_request_manager/merge_request.py +0 -0
  468. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/saas_auto_promotions_manager/merge_request_manager/merge_request_manager_v2.py +0 -0
  469. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/saas_auto_promotions_manager/merge_request_manager/metrics.py +0 -0
  470. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/saas_auto_promotions_manager/merge_request_manager/mr_parser.py +0 -0
  471. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/saas_auto_promotions_manager/merge_request_manager/open_merge_requests.py +0 -0
  472. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/saas_auto_promotions_manager/merge_request_manager/renderer.py +0 -0
  473. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/saas_auto_promotions_manager/meta.py +0 -0
  474. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/saas_auto_promotions_manager/publisher.py +0 -0
  475. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/saas_auto_promotions_manager/s3_exporter.py +0 -0
  476. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/saas_auto_promotions_manager/subscriber.py +0 -0
  477. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/saas_auto_promotions_manager/utils/__init__.py +0 -0
  478. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/saas_auto_promotions_manager/utils/saas_files_inventory.py +0 -0
  479. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/saas_file_validator.py +0 -0
  480. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/sendgrid_teammates.py +0 -0
  481. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/service_dependencies.py +0 -0
  482. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/signalfx_endpoint_monitoring.py +0 -0
  483. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/skupper_network/__init__.py +0 -0
  484. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/skupper_network/integration.py +0 -0
  485. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/skupper_network/models.py +0 -0
  486. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/skupper_network/reconciler.py +0 -0
  487. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/skupper_network/site_controller.py +0 -0
  488. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/slack_base.py +0 -0
  489. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/slack_usergroups.py +0 -0
  490. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/sql_query.py +0 -0
  491. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/status.py +0 -0
  492. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/status_board.py +0 -0
  493. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/statuspage/__init__.py +0 -0
  494. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/statuspage/atlassian.py +0 -0
  495. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/statuspage/integration.py +0 -0
  496. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/statuspage/integrations/__init__.py +0 -0
  497. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/statuspage/integrations/components.py +0 -0
  498. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/statuspage/integrations/maintenances.py +0 -0
  499. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/statuspage/page.py +0 -0
  500. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/statuspage/state.py +0 -0
  501. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/statuspage/status.py +0 -0
  502. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/templates/__init__.py +0 -0
  503. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/templates/aws_access_key_email.j2 +0 -0
  504. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/templates/email.yml.j2 +0 -0
  505. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/templates/jira-checkpoint-missinginfo.j2 +0 -0
  506. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/templates/rosa-classic-cluster-creation.sh.j2 +0 -0
  507. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/templates/rosa-hcp-cluster-creation.sh.j2 +0 -0
  508. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/templating/__init__.py +0 -0
  509. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/templating/lib/__init__.py +0 -0
  510. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/templating/lib/merge_request_manager.py +0 -0
  511. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/templating/lib/model.py +0 -0
  512. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/templating/lib/rendering.py +0 -0
  513. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/templating/renderer.py +0 -0
  514. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/templating/validator.py +0 -0
  515. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/terraform_aws_route53.py +0 -0
  516. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/terraform_cloudflare_dns.py +0 -0
  517. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/terraform_cloudflare_resources.py +0 -0
  518. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/terraform_cloudflare_users.py +0 -0
  519. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/terraform_init/__init__.py +0 -0
  520. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/terraform_init/integration.py +0 -0
  521. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/terraform_init/merge_request.py +0 -0
  522. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/terraform_init/merge_request_manager.py +0 -0
  523. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/terraform_repo.py +0 -0
  524. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/terraform_resources.py +0 -0
  525. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/terraform_tgw_attachments.py +0 -0
  526. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/terraform_users.py +0 -0
  527. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/terraform_vpc_peerings.py +0 -0
  528. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/terraform_vpc_resources/__init__.py +0 -0
  529. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/terraform_vpc_resources/integration.py +0 -0
  530. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/terraform_vpc_resources/merge_request.py +0 -0
  531. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/terraform_vpc_resources/merge_request_manager.py +0 -0
  532. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/__init__.py +0 -0
  533. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/alerting_services_settings.py +0 -0
  534. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/app_interface_custom_messages.py +0 -0
  535. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/app_interface_deadmanssnitch_settings.py +0 -0
  536. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/app_interface_metrics_exporter/__init__.py +0 -0
  537. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/app_interface_metrics_exporter/onboarding_status.py +0 -0
  538. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/app_interface_metrics_exporter/terraform_repo.py +0 -0
  539. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/app_interface_repo_url.py +0 -0
  540. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/app_interface_state_settings.py +0 -0
  541. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/app_interface_vault_settings.py +0 -0
  542. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/app_quay_repos_escalation_policies.py +0 -0
  543. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/apps.py +0 -0
  544. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/aws_cloudwatch_log_retention/aws_accounts.py +0 -0
  545. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/aws_vpc_requests.py +0 -0
  546. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/aws_vpcs.py +0 -0
  547. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/cloudflare.py +0 -0
  548. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/clusters.py +0 -0
  549. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/clusters_minimal.py +0 -0
  550. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/clusters_with_dms.py +0 -0
  551. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/clusters_with_peering.py +0 -0
  552. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/cost_report/__init__.py +0 -0
  553. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/cost_report/app_names.py +0 -0
  554. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/cost_report/cost_namespaces.py +0 -0
  555. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/cost_report/settings.py +0 -0
  556. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/dynatrace.py +0 -0
  557. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/dynatrace_environments.py +0 -0
  558. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/dynatrace_token_provider_token_specs.py +0 -0
  559. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/external_resources.py +0 -0
  560. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/fleet_labels.py +0 -0
  561. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/get_state_aws_account.py +0 -0
  562. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/github_orgs.py +0 -0
  563. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/gitlab_instances.py +0 -0
  564. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/glitchtip.py +0 -0
  565. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/jenkins.py +0 -0
  566. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/jira.py +0 -0
  567. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/jira_settings.py +0 -0
  568. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/jiralert_settings.py +0 -0
  569. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/ldap_settings.py +0 -0
  570. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/namespaces.py +0 -0
  571. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/namespaces_minimal.py +0 -0
  572. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/ocm.py +0 -0
  573. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/pagerduty_instances.py +0 -0
  574. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/quay.py +0 -0
  575. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/repos.py +0 -0
  576. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/reserved_networks.py +0 -0
  577. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/rhcs_provider_settings.py +0 -0
  578. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/saas_files.py +0 -0
  579. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/slack.py +0 -0
  580. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/slo_documents.py +0 -0
  581. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/smtp.py +0 -0
  582. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/status_board.py +0 -0
  583. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/tekton_pipeline_providers.py +0 -0
  584. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/terraform_namespaces.py +0 -0
  585. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/terraform_tgw_attachments/__init__.py +0 -0
  586. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/terraform_tgw_attachments/aws_accounts.py +0 -0
  587. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/unleash.py +0 -0
  588. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/users.py +0 -0
  589. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/users_with_paths.py +0 -0
  590. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/typed_queries/vault.py +0 -0
  591. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/unleash_feature_toggles/__init__.py +0 -0
  592. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/unleash_feature_toggles/integration.py +0 -0
  593. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/__init__.py +0 -0
  594. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/acs/__init__.py +0 -0
  595. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/acs/base.py +0 -0
  596. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/acs/policies.py +0 -0
  597. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/acs/rbac.py +0 -0
  598. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/aggregated_list.py +0 -0
  599. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/amtool.py +0 -0
  600. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/aws_api.py +0 -0
  601. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/aws_api_typed/__init__.py +0 -0
  602. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/aws_api_typed/account.py +0 -0
  603. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/aws_api_typed/api.py +0 -0
  604. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/aws_api_typed/dynamodb.py +0 -0
  605. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/aws_api_typed/iam.py +0 -0
  606. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/aws_api_typed/organization.py +0 -0
  607. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/aws_api_typed/s3.py +0 -0
  608. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/aws_api_typed/service_quotas.py +0 -0
  609. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/aws_api_typed/sts.py +0 -0
  610. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/aws_api_typed/support.py +0 -0
  611. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/aws_helper.py +0 -0
  612. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/batches.py +0 -0
  613. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/binary.py +0 -0
  614. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/cloud_resource_best_practice/__init__.py +0 -0
  615. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/cloud_resource_best_practice/aws_rds.py +0 -0
  616. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/clusterhealth/__init__.py +0 -0
  617. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/clusterhealth/providerbase.py +0 -0
  618. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/clusterhealth/telemeter.py +0 -0
  619. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/config.py +0 -0
  620. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/constants.py +0 -0
  621. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/deadmanssnitch_api.py +0 -0
  622. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/defer.py +0 -0
  623. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/differ.py +0 -0
  624. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/disabled_integrations.py +0 -0
  625. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/dnsutils.py +0 -0
  626. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/dynatrace/__init__.py +0 -0
  627. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/dynatrace/client.py +0 -0
  628. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/early_exit_cache.py +0 -0
  629. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/elasticsearch_exceptions.py +0 -0
  630. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/environ.py +0 -0
  631. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/exceptions.py +0 -0
  632. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/expiration.py +0 -0
  633. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/extended_early_exit.py +0 -0
  634. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/external_resource_spec.py +0 -0
  635. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/external_resources.py +0 -0
  636. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/filtering.py +0 -0
  637. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/git.py +0 -0
  638. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/github_api.py +0 -0
  639. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/glitchtip/__init__.py +0 -0
  640. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/glitchtip/client.py +0 -0
  641. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/glitchtip/models.py +0 -0
  642. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/gpg.py +0 -0
  643. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/gql.py +0 -0
  644. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/grouping.py +0 -0
  645. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/helm.py +0 -0
  646. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/helpers.py +0 -0
  647. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/imap_client.py +0 -0
  648. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/instrumented_wrappers.py +0 -0
  649. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/internal_groups/__init__.py +0 -0
  650. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/internal_groups/client.py +0 -0
  651. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/internal_groups/models.py +0 -0
  652. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/jenkins_api.py +0 -0
  653. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/jinja2/__init__.py +0 -0
  654. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/jinja2/extensions.py +0 -0
  655. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/jinja2/filters.py +0 -0
  656. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/jinja2/utils.py +0 -0
  657. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/jira_client.py +0 -0
  658. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/jjb_client.py +0 -0
  659. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/jobcontroller/__init__.py +0 -0
  660. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/jobcontroller/controller.py +0 -0
  661. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/jobcontroller/models.py +0 -0
  662. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/jsonpath.py +0 -0
  663. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/jump_host.py +0 -0
  664. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/keycloak.py +0 -0
  665. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/ldap_client.py +0 -0
  666. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/lean_terraform_client.py +0 -0
  667. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/make.py +0 -0
  668. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/membershipsources/__init__.py +0 -0
  669. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/membershipsources/app_interface_resolver.py +0 -0
  670. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/membershipsources/models.py +0 -0
  671. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/membershipsources/resolver.py +0 -0
  672. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/merge_request_manager/__init__.py +0 -0
  673. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/merge_request_manager/merge_request_manager.py +0 -0
  674. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/merge_request_manager/parser.py +0 -0
  675. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/metrics.py +0 -0
  676. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/models.py +0 -0
  677. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/mr/README.md +0 -0
  678. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/mr/__init__.py +0 -0
  679. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/mr/app_interface_reporter.py +0 -0
  680. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/mr/app_sre_tekton_access_report.py +0 -0
  681. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/mr/aws_access.py +0 -0
  682. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/mr/base.py +0 -0
  683. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/mr/clusters_updates.py +0 -0
  684. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/mr/glitchtip_access_reporter.py +0 -0
  685. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/mr/labels.py +0 -0
  686. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/mr/notificator.py +0 -0
  687. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/mr/ocm_update_recommended_version.py +0 -0
  688. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/mr/ocm_upgrade_scheduler_org_updates.py +0 -0
  689. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/mr/promote_qontract.py +0 -0
  690. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/mr/update_access_report_base.py +0 -0
  691. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/mr/user_maintenance.py +0 -0
  692. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/oauth2_backend_application_session.py +0 -0
  693. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/oc.py +0 -0
  694. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/oc_connection_parameters.py +0 -0
  695. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/oc_filters.py +0 -0
  696. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/oc_map.py +0 -0
  697. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/ocm/__init__.py +0 -0
  698. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/ocm/addons.py +0 -0
  699. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/ocm/base.py +0 -0
  700. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/ocm/cluster_groups.py +0 -0
  701. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/ocm/clusters.py +0 -0
  702. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/ocm/identity_providers.py +0 -0
  703. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/ocm/label_sources.py +0 -0
  704. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/ocm/labels.py +0 -0
  705. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/ocm/manifests.py +0 -0
  706. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/ocm/ocm.py +0 -0
  707. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/ocm/products.py +0 -0
  708. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/ocm/search_filters.py +0 -0
  709. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/ocm/service_log.py +0 -0
  710. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/ocm/sre_capability_labels.py +0 -0
  711. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/ocm/status_board.py +0 -0
  712. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/ocm/subscriptions.py +0 -0
  713. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/ocm/syncsets.py +0 -0
  714. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/ocm/upgrades.py +0 -0
  715. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/ocm_base_client.py +0 -0
  716. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/openshift_resource.py +0 -0
  717. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/openssl.py +0 -0
  718. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/output.py +0 -0
  719. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/pagerduty_api.py +0 -0
  720. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/parse_dhms_duration.py +0 -0
  721. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/password_validator.py +0 -0
  722. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/prometheus.py +0 -0
  723. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/promotion_state.py +0 -0
  724. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/promtool.py +0 -0
  725. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/quay_api.py +0 -0
  726. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/quay_mirror.py +0 -0
  727. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/raw_github_api.py +0 -0
  728. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/repo_owners.py +0 -0
  729. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/rest_api_base.py +0 -0
  730. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/rhcsv2_certs.py +0 -0
  731. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/rosa/__init__.py +0 -0
  732. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/rosa/rosa_cli.py +0 -0
  733. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/rosa/session.py +0 -0
  734. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/ruamel.py +0 -0
  735. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/runtime/__init__.py +0 -0
  736. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/runtime/desired_state_diff.py +0 -0
  737. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/runtime/environment.py +0 -0
  738. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/runtime/integration.py +0 -0
  739. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/runtime/meta.py +0 -0
  740. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/runtime/runner.py +0 -0
  741. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/runtime/sharding.py +0 -0
  742. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/saasherder/__init__.py +0 -0
  743. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/saasherder/interfaces.py +0 -0
  744. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/saasherder/models.py +0 -0
  745. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/saasherder/saasherder.py +0 -0
  746. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/secret_reader.py +0 -0
  747. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/semver_helper.py +0 -0
  748. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/sharding.py +0 -0
  749. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/slack_api.py +0 -0
  750. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/slo_document_manager.py +0 -0
  751. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/smtp_client.py +0 -0
  752. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/sqs_gateway.py +0 -0
  753. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/state.py +0 -0
  754. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/structs.py +0 -0
  755. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/terraform/__init__.py +0 -0
  756. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/terraform/config.py +0 -0
  757. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/terraform/config_client.py +0 -0
  758. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/terraform_client.py +0 -0
  759. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/terrascript/__init__.py +0 -0
  760. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/terrascript/cloudflare_client.py +0 -0
  761. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/terrascript/cloudflare_resources.py +0 -0
  762. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/terrascript/models.py +0 -0
  763. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/terrascript/resources.py +0 -0
  764. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/terrascript_aws_client.py +0 -0
  765. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/three_way_diff_strategy.py +0 -0
  766. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/throughput.py +0 -0
  767. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/unleash/__init__.py +0 -0
  768. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/unleash/client.py +0 -0
  769. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/unleash/server.py +0 -0
  770. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/vault.py +0 -0
  771. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/utils/vaultsecretref.py +0 -0
  772. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/vault_replication.py +0 -0
  773. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/reconcile/vpc_peerings_validator.py +0 -0
  774. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/tools/__init__.py +0 -0
  775. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/tools/alert_report.py +0 -0
  776. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/tools/app_interface_metrics_exporter.py +0 -0
  777. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/tools/app_interface_reporter.py +0 -0
  778. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/tools/app_sre_tekton_access_reporter.py +0 -0
  779. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/tools/app_sre_tekton_access_revalidation.py +0 -0
  780. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/tools/cli_commands/__init__.py +0 -0
  781. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/tools/cli_commands/container_images_report.py +0 -0
  782. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/tools/cli_commands/cost_report/__init__.py +0 -0
  783. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/tools/cli_commands/cost_report/aws.py +0 -0
  784. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/tools/cli_commands/cost_report/cost_management_api.py +0 -0
  785. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/tools/cli_commands/cost_report/model.py +0 -0
  786. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/tools/cli_commands/cost_report/openshift.py +0 -0
  787. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/tools/cli_commands/cost_report/openshift_cost_optimization.py +0 -0
  788. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/tools/cli_commands/cost_report/response.py +0 -0
  789. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/tools/cli_commands/cost_report/util.py +0 -0
  790. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/tools/cli_commands/cost_report/view.py +0 -0
  791. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/tools/cli_commands/erv2.py +0 -0
  792. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/tools/cli_commands/gpg_encrypt.py +0 -0
  793. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/tools/cli_commands/systems_and_tools.py +0 -0
  794. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/tools/glitchtip_access_reporter.py +0 -0
  795. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/tools/glitchtip_access_revalidation.py +0 -0
  796. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/tools/saas_metrics_exporter/__init__.py +0 -0
  797. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/tools/saas_metrics_exporter/commit_distance/__init__.py +0 -0
  798. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/tools/saas_metrics_exporter/commit_distance/channel.py +0 -0
  799. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/tools/saas_metrics_exporter/commit_distance/commit_distance.py +0 -0
  800. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/tools/saas_metrics_exporter/commit_distance/metrics.py +0 -0
  801. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/tools/saas_metrics_exporter/main.py +0 -0
  802. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/tools/saas_promotion_state/__init__.py +0 -0
  803. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/tools/saas_promotion_state/saas_promotion_state.py +0 -0
  804. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/tools/sre_checkpoints/__init__.py +0 -0
  805. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/tools/sre_checkpoints/util.py +0 -0
  806. {qontract_reconcile-0.10.2.dev233 → qontract_reconcile-0.10.2.dev234}/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.dev233
3
+ Version: 0.10.2.dev234
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
@@ -43,7 +43,7 @@ Requires-Dist: pygithub<1.59,>=1.58
43
43
  Requires-Dist: pyjwt~=2.7
44
44
  Requires-Dist: pyopenssl~=23.0
45
45
  Requires-Dist: pypd<1.2.0,>=1.1.0
46
- Requires-Dist: python-gitlab==5.6.0
46
+ Requires-Dist: python-gitlab==6.0.0
47
47
  Requires-Dist: requests-oauthlib~=1.3
48
48
  Requires-Dist: requests~=2.32
49
49
  Requires-Dist: rich<14.0.0,>=13.3.0
@@ -45,7 +45,7 @@ dependencies = [
45
45
  "pyjwt~=2.7",
46
46
  "pyOpenSSL~=23.0",
47
47
  "pypd>=1.1.0,<1.2.0",
48
- "python-gitlab==5.6.0",
48
+ "python-gitlab==6.0.0",
49
49
  "requests-oauthlib~=1.3",
50
50
  "requests~=2.32",
51
51
  "rich>=13.3.0,<14.0.0",
@@ -382,7 +382,7 @@ def run(
382
382
 
383
383
  comments = gl.get_merge_request_comments(merge_request)
384
384
  good_to_test_approvers = {
385
- c["username"] for c in comments if c["body"].strip() == "/good-to-test"
385
+ c.username for c in comments if c.body.strip() == "/good-to-test"
386
386
  }
387
387
 
388
388
  change_admitted = is_change_admitted(
@@ -1,12 +1,8 @@
1
- import operator
2
1
  from collections import defaultdict
3
- from collections.abc import (
4
- Iterable,
5
- Mapping,
6
- )
2
+ from collections.abc import Iterable
7
3
  from dataclasses import dataclass
8
4
  from enum import Enum
9
- from typing import Any
5
+ from operator import attrgetter
10
6
 
11
7
  from reconcile.change_owners.approver import (
12
8
  Approver,
@@ -16,6 +12,7 @@ from reconcile.change_owners.bundle import FileRef
16
12
  from reconcile.change_owners.change_types import ChangeTypeContext, DiffCoverage
17
13
  from reconcile.change_owners.changes import BundleFileChange
18
14
  from reconcile.change_owners.diff import Diff
15
+ from reconcile.utils.gitlab_api import Comment
19
16
 
20
17
 
21
18
  class DecisionCommand(Enum):
@@ -33,12 +30,12 @@ class Decision:
33
30
 
34
31
 
35
32
  def get_approver_decisions_from_mr_comments(
36
- comments: Iterable[Mapping[str, Any]],
33
+ comments: Iterable[Comment],
37
34
  ) -> list[Decision]:
38
35
  decisions: list[Decision] = []
39
- for c in sorted(comments, key=operator.itemgetter("created_at")):
40
- commenter = c["username"]
41
- comment_body = c.get("body")
36
+ for c in sorted(comments, key=attrgetter("created_at")):
37
+ commenter = c.username
38
+ comment_body = c.body
42
39
  for line in comment_body.split("\n") if comment_body else []:
43
40
  line = line.strip()
44
41
  if line == DecisionCommand.APPROVED.value:
@@ -77,8 +77,7 @@ class GitlabForkCompliance:
77
77
  continue
78
78
  LOG.info([f"adding {member.username} as maintainer"])
79
79
  user_payload = {"user_id": member.id, "access_level": MAINTAINER_ACCESS}
80
- member = self.src.project.members.create(user_payload)
81
- member.save()
80
+ self.src.project.members.create(user_payload)
82
81
 
83
82
  # Last but not least, we remove the blocked label, in case
84
83
  # it is set
@@ -14,10 +14,12 @@ from operator import itemgetter
14
14
  from typing import Any, cast
15
15
 
16
16
  import gitlab
17
+ from gitlab.const import PipelineStatus
17
18
  from gitlab.v4.objects import (
18
19
  ProjectCommit,
19
20
  ProjectIssue,
20
21
  ProjectMergeRequest,
22
+ ProjectMergeRequestPipeline,
21
23
  )
22
24
  from prometheus_client import (
23
25
  Counter,
@@ -133,11 +135,16 @@ def _calculate_time_since_approval(approved_at: str) -> float:
133
135
 
134
136
 
135
137
  def get_timed_out_pipelines(
136
- pipelines: list[dict], pipeline_timeout: int = 60
137
- ) -> list[dict]:
138
+ pipelines: list[ProjectMergeRequestPipeline],
139
+ pipeline_timeout: int = 60,
140
+ ) -> list[ProjectMergeRequestPipeline]:
138
141
  now = datetime.utcnow()
139
142
 
140
- pending_pipelines = [p for p in pipelines if p["status"] in {"pending", "running"}]
143
+ pending_pipelines = [
144
+ p
145
+ for p in pipelines
146
+ if p.status in {PipelineStatus.PENDING, PipelineStatus.RUNNING}
147
+ ]
141
148
 
142
149
  if not pending_pipelines:
143
150
  return []
@@ -145,7 +152,7 @@ def get_timed_out_pipelines(
145
152
  timed_out_pipelines = []
146
153
 
147
154
  for p in pending_pipelines:
148
- update_time = datetime.strptime(p["updated_at"], DATE_FORMAT)
155
+ update_time = datetime.strptime(p.updated_at, DATE_FORMAT)
149
156
 
150
157
  elapsed = (now - update_time).total_seconds()
151
158
 
@@ -160,20 +167,19 @@ def clean_pipelines(
160
167
  dry_run: bool,
161
168
  gl: GitLabApi,
162
169
  fork_project_id: int,
163
- pipelines: list[dict],
170
+ pipelines: list[ProjectMergeRequestPipeline],
164
171
  ) -> None:
165
172
  if not dry_run:
166
173
  gl_piplelines = gl.get_project_by_id(fork_project_id).pipelines
167
174
 
168
175
  for p in pipelines:
169
- logging.info(["canceling", p["web_url"]])
176
+ logging.info(["canceling", p.web_url])
170
177
  if not dry_run:
171
178
  try:
172
- gl_piplelines.get(p["id"]).cancel()
179
+ gl_piplelines.get(p.id, lazy=True).cancel()
173
180
  except gitlab.exceptions.GitlabPipelineCancelError as err:
174
181
  logging.error(
175
- f"unable to cancel {p['web_url']} - "
176
- f"error message {err.error_message}"
182
+ f"unable to cancel {p.web_url} - error message {err.error_message}"
177
183
  )
178
184
 
179
185
 
@@ -188,9 +194,9 @@ def verify_on_demand_tests(
188
194
  Check if MR has passed all necessary test jobs and add comments to indicate test results.
189
195
  """
190
196
  pipelines = gl.get_merge_request_pipelines(mr)
191
- running_pipelines = [p for p in pipelines if p["status"] == "running"]
197
+ running_pipelines = [p for p in pipelines if p.status == PipelineStatus.RUNNING]
192
198
  if running_pipelines:
193
- # wait for pipelines complate
199
+ # wait for pipelines completion
194
200
  return False
195
201
 
196
202
  commit = next(mr.commits())
@@ -510,7 +516,9 @@ def rebase_merge_requests(
510
516
  continue
511
517
  # possible statuses:
512
518
  # running, pending, success, failed, canceled, skipped
513
- running_pipelines = [p for p in pipelines if p["status"] == "running"]
519
+ running_pipelines = [
520
+ p for p in pipelines if p.status == PipelineStatus.RUNNING
521
+ ]
514
522
  if running_pipelines:
515
523
  continue
516
524
 
@@ -591,7 +599,9 @@ def merge_merge_requests(
591
599
  if wait_for_pipeline:
592
600
  # possible statuses:
593
601
  # running, pending, success, failed, canceled, skipped
594
- running_pipelines = [p for p in pipelines if p["status"] == "running"]
602
+ running_pipelines = [
603
+ p for p in pipelines if p.status == PipelineStatus.RUNNING
604
+ ]
595
605
  if running_pipelines:
596
606
  if insist:
597
607
  # This raise causes the method to restart due to the usage of
@@ -606,8 +616,8 @@ def merge_merge_requests(
606
616
  )
607
617
  continue
608
618
 
609
- last_pipeline_result = pipelines[0]["status"]
610
- if last_pipeline_result != "success":
619
+ last_pipeline_result = pipelines[0].status
620
+ if last_pipeline_result != PipelineStatus.SUCCESS:
611
621
  continue
612
622
 
613
623
  logging.info(["merge", gl.project.name, mr.iid])
@@ -216,7 +216,7 @@ def reconcile_gitlab_members(
216
216
  gl.get_access_level_string(gitlab_user.access_level),
217
217
  ])
218
218
  if not dry_run:
219
- gl.add_group_member(group, gitlab_user)
219
+ gl.add_group_member(group, gitlab_user.user, gitlab_user.access_level)
220
220
  for key, group_member in diff_data.delete.items():
221
221
  logging.info([
222
222
  key,
@@ -89,19 +89,19 @@ class MRApproval:
89
89
  comments = self.gitlab.get_merge_request_comments(self.mr)
90
90
  for comment in comments:
91
91
  # Only interested in '/lgtm' comments
92
- if comment["body"] != "/lgtm":
92
+ if comment.body != "/lgtm":
93
93
  continue
94
94
 
95
95
  # Only interested in comments created after the top commit
96
96
  # creation time
97
- comment_created_at = dateparser.parse(comment["created_at"])
97
+ comment_created_at = dateparser.parse(comment.created_at)
98
98
  if (
99
99
  comment_created_at < self.top_commit_created_at
100
100
  and not self.persistent_lgtm
101
101
  ):
102
102
  continue
103
103
 
104
- lgtms.append(comment["username"])
104
+ lgtms.append(comment.username)
105
105
  return lgtms
106
106
 
107
107
  def expand_groups(self, owners: list[str]) -> set[str]:
@@ -173,19 +173,22 @@ class MRApproval:
173
173
  comments = self.gitlab.get_merge_request_comments(self.mr)
174
174
  for comment in comments:
175
175
  # Only interested on our own comments
176
- if comment["username"] != self.gitlab.user.username:
176
+ if comment.username != self.gitlab.user.username:
177
177
  continue
178
178
 
179
179
  # Ignoring non-approval comments
180
- body = comment["body"]
180
+ body = comment.body
181
181
  if not body.startswith(COMMENT_PREFIX):
182
182
  continue
183
183
 
184
184
  # If the comment was created before the last commit,
185
185
  # it means we had a push after the comment. In this case,
186
186
  # we delete the comment and move on.
187
- comment_created_at = dateparser.parse(comment["created_at"])
188
- if comment_created_at < self.top_commit_created_at:
187
+ comment_created_at = dateparser.parse(comment.created_at)
188
+ if (
189
+ comment_created_at < self.top_commit_created_at
190
+ and comment.note is not None
191
+ ):
189
192
  # Deleting stale comments
190
193
  _LOG.info([
191
194
  f"Project:{self.gitlab.project.id} "
@@ -193,7 +196,7 @@ class MRApproval:
193
196
  f"- removing stale comment"
194
197
  ])
195
198
  if not self.dry_run:
196
- self.gitlab.delete_comment(comment["note"])
199
+ self.gitlab.delete_comment(comment.note)
197
200
  continue
198
201
 
199
202
  # At this point, we've found an approval comment comment
@@ -7,16 +7,12 @@ from collections.abc import (
7
7
  Iterable,
8
8
  Mapping,
9
9
  )
10
+ from dataclasses import dataclass
10
11
  from functools import cached_property
11
- from operator import (
12
- attrgetter,
13
- itemgetter,
14
- )
12
+ from operator import attrgetter
15
13
  from typing import (
16
14
  Any,
17
- Protocol,
18
15
  Self,
19
- TypedDict,
20
16
  cast,
21
17
  )
22
18
  from urllib.parse import urlparse
@@ -47,6 +43,7 @@ from gitlab.v4.objects import (
47
43
  ProjectMergeRequest,
48
44
  ProjectMergeRequestManager,
49
45
  ProjectMergeRequestNote,
46
+ ProjectMergeRequestPipeline,
50
47
  ProjectMergeRequestResourceLabelEvent,
51
48
  User,
52
49
  )
@@ -97,15 +94,19 @@ class MRStatus:
97
94
  GROUP_BOT_NAME_REGEX = re.compile(r"group_.+_bot_.+")
98
95
 
99
96
 
100
- class GLGroupMember(TypedDict):
101
- id: str
102
- user: str
103
- access_level: str
97
+ @dataclass(frozen=True)
98
+ class Assignment:
99
+ author: str
100
+ assignee: str
104
101
 
105
102
 
106
- class GitlabUser(Protocol):
107
- user: str
108
- access_level: int
103
+ @dataclass(frozen=True)
104
+ class Comment:
105
+ id: int
106
+ username: str
107
+ body: str
108
+ created_at: str
109
+ note: ProjectMergeRequestNote | None = None
109
110
 
110
111
 
111
112
  class GitLabApi:
@@ -254,7 +255,7 @@ class GitLabApi:
254
255
  "remove_source_branch": str(remove_source_branch),
255
256
  "labels": labels,
256
257
  }
257
- return cast(ProjectMergeRequest, self.project.mergerequests.create(data))
258
+ return self.project.mergerequests.create(data)
258
259
 
259
260
  def mr_exists(self, title: str) -> bool:
260
261
  mrs = self.get_merge_requests(state=MRState.OPENED)
@@ -274,10 +275,7 @@ class GitLabApi:
274
275
 
275
276
  def get_app_sre_group_users(self) -> list[GroupMember]:
276
277
  app_sre_group = self.gl.groups.get("app-sre")
277
- return cast(
278
- list[GroupMember],
279
- app_sre_group.members.list(get_all=True),
280
- )
278
+ return app_sre_group.members.list(get_all=True)
281
279
 
282
280
  def get_group_if_exists(self, group_name: str) -> Group | None:
283
281
  try:
@@ -312,7 +310,7 @@ class GitLabApi:
312
310
 
313
311
  def get_group_members(self, group: Group) -> list[GroupMember]:
314
312
  return [
315
- cast(GroupMember, m)
313
+ m
316
314
  for m in group.members.list(iterator=True)
317
315
  if not self._is_bot_username(m.username)
318
316
  ]
@@ -331,17 +329,17 @@ class GitLabApi:
331
329
  member.access_level = access_level
332
330
  member.save()
333
331
 
334
- def add_group_member(self, group: Group, user: GitlabUser) -> None:
335
- gitlab_user = self.get_user(user.user)
332
+ def add_group_member(self, group: Group, username: str, access_level: int) -> None:
333
+ gitlab_user = self.get_user(username)
336
334
  if gitlab_user is not None:
337
335
  try:
338
336
  group.members.create({
339
337
  "user_id": gitlab_user.id,
340
- "access_level": user.access_level,
338
+ "access_level": access_level,
341
339
  })
342
340
  except GitlabCreateError:
343
- member = group.members.get(user.user)
344
- member.access_level = user.access_level
341
+ member = group.members.get(gitlab_user.id)
342
+ member.access_level = access_level
345
343
  member.save()
346
344
 
347
345
  def remove_group_member(self, group: Group, user_id: str) -> None:
@@ -398,37 +396,27 @@ class GitLabApi:
398
396
  return self.gl.projects.get(project_id)
399
397
 
400
398
  def get_issues(self, state: str) -> list[ProjectIssue]:
401
- return cast(
402
- list[ProjectIssue],
403
- self.project.issues.list(state=state, get_all=True),
404
- )
399
+ return self.project.issues.list(state=state, get_all=True)
405
400
 
406
401
  def get_merge_request(self, mr_id: str | int) -> ProjectMergeRequest:
407
402
  return self.project.mergerequests.get(mr_id)
408
403
 
409
404
  def get_merge_requests(self, state: str) -> list[ProjectMergeRequest]:
410
- return cast(
411
- list[ProjectMergeRequest],
412
- self.project.mergerequests.list(state=state, get_all=True),
413
- )
405
+ return self.project.mergerequests.list(state=state, get_all=True)
414
406
 
415
407
  @staticmethod
416
408
  def get_merge_request_label_events(
417
409
  mr: ProjectMergeRequest,
418
410
  ) -> list[ProjectMergeRequestResourceLabelEvent]:
419
- return cast(
420
- list[ProjectMergeRequestResourceLabelEvent],
421
- mr.resourcelabelevents.list(get_all=True),
422
- )
411
+ return mr.resourcelabelevents.list(get_all=True)
423
412
 
424
413
  @staticmethod
425
- def get_merge_request_pipelines(mr: ProjectMergeRequest) -> list[dict]:
426
- # TODO: use typed object in return
427
- # TODO: use server side order_by
428
- items = mr.pipelines.list(iterator=True)
414
+ def get_merge_request_pipelines(
415
+ mr: ProjectMergeRequest,
416
+ ) -> list[ProjectMergeRequestPipeline]:
429
417
  return sorted(
430
- [i.asdict() for i in items],
431
- key=itemgetter("created_at"),
418
+ mr.pipelines.list(iterator=True),
419
+ key=attrgetter("created_at"),
432
420
  reverse=True,
433
421
  )
434
422
 
@@ -456,25 +444,28 @@ class GitLabApi:
456
444
  def get_merge_request_comments(
457
445
  merge_request: ProjectMergeRequest,
458
446
  include_description: bool = False,
459
- ) -> list[dict[str, Any]]:
447
+ ) -> list[Comment]:
460
448
  comments = []
461
449
  if include_description:
462
- comments.append({
463
- "username": merge_request.author["username"],
464
- "body": merge_request.description,
465
- "created_at": merge_request.created_at,
466
- "id": MR_DESCRIPTION_COMMENT_ID,
467
- })
468
- for note in merge_request.notes.list(iterator=True):
469
- if note.system:
470
- continue
471
- comments.append({
472
- "username": note.author["username"],
473
- "body": note.body,
474
- "created_at": note.created_at,
475
- "id": note.id,
476
- "note": note,
477
- })
450
+ comments.append(
451
+ Comment(
452
+ id=MR_DESCRIPTION_COMMENT_ID,
453
+ username=merge_request.author["username"],
454
+ body=merge_request.description or "",
455
+ created_at=merge_request.created_at,
456
+ )
457
+ )
458
+ comments.extend(
459
+ Comment(
460
+ id=note.id,
461
+ username=note.author["username"],
462
+ body=note.body or "",
463
+ created_at=note.created_at,
464
+ note=note,
465
+ )
466
+ for note in merge_request.notes.list(iterator=True)
467
+ if not note.system
468
+ )
478
469
  return comments
479
470
 
480
471
  @staticmethod
@@ -488,9 +479,12 @@ class GitLabApi:
488
479
  ) -> None:
489
480
  comments = self.get_merge_request_comments(merge_request)
490
481
  for c in comments:
491
- body = c["body"] or ""
492
- if c["username"] == self.user.username and body.startswith(startswith):
493
- self.delete_comment(c["note"])
482
+ if (
483
+ c.username == self.user.username
484
+ and c.body.startswith(startswith)
485
+ and c.note is not None
486
+ ):
487
+ self.delete_comment(c.note)
494
488
 
495
489
  @retry()
496
490
  def get_project_labels(self) -> set[str]:
@@ -631,7 +625,7 @@ class GitLabApi:
631
625
  item.save()
632
626
 
633
627
  def get_user(self, username: str) -> User | None:
634
- user = cast(list[User], self.gl.users.list(search=username, page=1, per_page=1))
628
+ user = self.gl.users.list(search=username, page=1, per_page=1)
635
629
  if not user:
636
630
  logging.error(f"{username} user not found")
637
631
  return None
@@ -732,25 +726,22 @@ class GitLabApi:
732
726
  self.create_branch("production", "master")
733
727
 
734
728
  def is_last_action_by_team(
735
- self, mr: ProjectMergeRequest, team_usernames: list[str], hold_labels: list[str]
729
+ self, mr: ProjectMergeRequest, team_usernames: set[str], hold_labels: list[str]
736
730
  ) -> bool:
737
731
  # what is the time of the last app-sre response?
738
732
  last_action_by_team = None
739
733
  # comments
740
734
  comments = self.get_merge_request_comments(mr)
741
- comments.sort(key=itemgetter("created_at"), reverse=True)
735
+ comments.sort(key=attrgetter("created_at"), reverse=True)
742
736
  for comment in comments:
743
- username = comment["username"]
737
+ username = comment.username
744
738
  if username == self.user.username:
745
739
  continue
746
740
  if username in team_usernames:
747
- last_action_by_team = comment["created_at"]
741
+ last_action_by_team = comment.created_at
748
742
  break
749
743
  # labels
750
- label_events = cast(
751
- list[ProjectMergeRequestResourceLabelEvent],
752
- mr.resourcelabelevents.list(get_all=True),
753
- )
744
+ label_events = mr.resourcelabelevents.list(get_all=True)
754
745
  for label in reversed(label_events):
755
746
  if label.action == "add" and label.label["name"] in hold_labels:
756
747
  username = label.user["username"]
@@ -774,11 +765,11 @@ class GitLabApi:
774
765
  break
775
766
  # comments
776
767
  for comment in comments:
777
- username = comment["username"]
768
+ username = comment.username
778
769
  if username == self.user.username:
779
770
  continue
780
771
  if username not in team_usernames:
781
- last_action_not_by_team = comment["created_at"]
772
+ last_action_not_by_team = comment.created_at
782
773
  break
783
774
 
784
775
  if not last_action_not_by_team:
@@ -787,19 +778,20 @@ class GitLabApi:
787
778
  return last_action_not_by_team < last_action_by_team
788
779
 
789
780
  def is_assigned_by_team(
790
- self, mr: ProjectMergeRequest, team_usernames: list[str]
781
+ self, mr: ProjectMergeRequest, team_usernames: set[str]
791
782
  ) -> bool:
792
783
  if not mr.assignee:
793
784
  return False
794
785
  last_assignment = self.last_assignment(mr)
795
- if not last_assignment:
786
+ if last_assignment is None:
796
787
  return False
797
-
798
- author, assignee = last_assignment[0], last_assignment[1]
799
- return author in team_usernames and mr.assignee["username"] == assignee
788
+ return (
789
+ last_assignment.author in team_usernames
790
+ and mr.assignee["username"] == last_assignment.assignee
791
+ )
800
792
 
801
793
  @staticmethod
802
- def last_assignment(mr: ProjectMergeRequest) -> tuple[str, str] | None:
794
+ def last_assignment(mr: ProjectMergeRequest) -> Assignment | None:
803
795
  """
804
796
  Get the last assignment of a merge request.
805
797
  :param mr: merge request
@@ -809,7 +801,10 @@ class GitLabApi:
809
801
  notes = mr.notes.list(sort="desc", order_by="created_at", iterator=True)
810
802
  return next(
811
803
  (
812
- (note.author["username"], note.body.removeprefix(body_format))
804
+ Assignment(
805
+ author=note.author["username"],
806
+ assignee=note.body.removeprefix(body_format),
807
+ )
813
808
  for note in notes
814
809
  if note.system and note.body.startswith(body_format)
815
810
  ),
@@ -818,15 +813,17 @@ class GitLabApi:
818
813
 
819
814
  def last_comment(
820
815
  self, mr: ProjectMergeRequest, exclude_bot: bool = True
821
- ) -> dict[str, Any] | None:
816
+ ) -> Comment | None:
822
817
  comments = self.get_merge_request_comments(mr)
823
- comments.sort(key=itemgetter("created_at"), reverse=True)
824
- for comment in comments:
825
- username = comment["username"]
826
- if username == self.user.username and exclude_bot:
827
- continue
828
- return comment
829
- return None
818
+ comments.sort(key=attrgetter("created_at"), reverse=True)
819
+ return next(
820
+ (
821
+ comment
822
+ for comment in comments
823
+ if not (exclude_bot and comment.username == self.user.username)
824
+ ),
825
+ None,
826
+ )
830
827
 
831
828
  def get_commit_sha(self, ref: str, repo_url: str) -> str:
832
829
  project = self.get_project(repo_url)
@@ -841,10 +838,7 @@ class GitLabApi:
841
838
  return response.get("commits", [])
842
839
 
843
840
  def get_personal_access_tokens(self) -> list[PersonalAccessToken]:
844
- return cast(
845
- list[PersonalAccessToken],
846
- self.gl.personal_access_tokens.list(get_all=True),
847
- )
841
+ return self.gl.personal_access_tokens.list(get_all=True)
848
842
 
849
843
  @staticmethod
850
844
  def get_directory_contents(
@@ -9,6 +9,7 @@ from enum import Enum
9
9
  from typing import Literal
10
10
  from urllib.parse import urlparse
11
11
 
12
+ from gitlab.const import PipelineStatus
12
13
  from gitlab.v4.objects import ProjectMergeRequest
13
14
 
14
15
  from reconcile.typed_queries.github_orgs import GithubOrgV1
@@ -154,14 +155,13 @@ class VCS:
154
155
  pipelines = self._gitlab_instance.get_merge_request_pipelines(mr)
155
156
  if not pipelines:
156
157
  return MRCheckStatus.NONE
157
- # available status codes https://docs.gitlab.com/ee/api/pipelines.html
158
- last_pipeline_result = pipelines[0]["status"]
158
+ last_pipeline_result = pipelines[0].status
159
159
  match last_pipeline_result:
160
- case "success":
160
+ case PipelineStatus.SUCCESS:
161
161
  return MRCheckStatus.SUCCESS
162
- case "running":
162
+ case PipelineStatus.RUNNING:
163
163
  return MRCheckStatus.RUNNING
164
- case "failed":
164
+ case PipelineStatus.FAILED:
165
165
  return MRCheckStatus.FAILED
166
166
  case _:
167
167
  # Lets assume all other states as non-present