qontract-reconcile 0.10.2.dev245__tar.gz → 0.10.2.dev247__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.
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/PKG-INFO +1 -1
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/pyproject.toml +0 -1
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/jenkins_api.py +68 -34
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/saasherder/interfaces.py +6 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/saasherder/models.py +50 -1
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/saasherder/saasherder.py +106 -77
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/README.md +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/acs_policies.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/acs_rbac.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/aus/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/aus/advanced_upgrade_service.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/aus/aus_label_source.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/aus/base.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/aus/cluster_version_data.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/aus/healthchecks.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/aus/metrics.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/aus/models.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/aus/node_pool_spec.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/aus/ocm_addons_upgrade_scheduler_org.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/aus/ocm_upgrade_scheduler.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/aus/ocm_upgrade_scheduler_org.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/aus/upgrades.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/aus/version_gate_approver.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/aus/version_gates/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/aus/version_gates/handler.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/aus/version_gates/ingress_gate_handler.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/aus/version_gates/ocp_gate_handler.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/aus/version_gates/sts_version_gate_handler.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/automated_actions/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/automated_actions/config/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/automated_actions/config/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/aws_account_manager/README.md +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/aws_account_manager/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/aws_account_manager/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/aws_account_manager/merge_request_manager.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/aws_account_manager/metrics.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/aws_account_manager/reconciler.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/aws_account_manager/utils.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/aws_ami_cleanup/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/aws_ami_cleanup/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/aws_ami_share.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/aws_cloudwatch_log_retention/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/aws_cloudwatch_log_retention/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/aws_ecr_image_pull_secrets.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/aws_iam_keys.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/aws_iam_password_reset.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/aws_saml_idp/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/aws_saml_idp/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/aws_saml_roles/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/aws_saml_roles/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/aws_support_cases_sos.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/aws_version_sync/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/aws_version_sync/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/aws_version_sync/merge_request_manager/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/aws_version_sync/merge_request_manager/merge_request.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/aws_version_sync/merge_request_manager/merge_request_manager.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/aws_version_sync/utils.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/blackbox_exporter_endpoint_monitoring.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/change_owners/README.md +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/change_owners/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/change_owners/approver.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/change_owners/bundle.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/change_owners/change_log_tracking.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/change_owners/change_owners.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/change_owners/change_types.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/change_owners/changes.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/change_owners/decision.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/change_owners/diff.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/change_owners/implicit_ownership.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/change_owners/self_service_roles.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/change_owners/tester.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/checkpoint.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/cli.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/closedbox_endpoint_monitoring_base.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/cluster_auth_rhidp/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/cluster_auth_rhidp/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/cluster_deployment_mapper.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/dashdotdb_base.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/dashdotdb_cso.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/dashdotdb_dora.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/dashdotdb_dvo.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/dashdotdb_slo.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/database_access_manager.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/deadmanssnitch.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/dynatrace_token_provider/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/dynatrace_token_provider/dependencies.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/dynatrace_token_provider/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/dynatrace_token_provider/metrics.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/dynatrace_token_provider/model.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/dynatrace_token_provider/ocm.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/dynatrace_token_provider/validate.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/email_sender.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/endpoints_discovery/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/endpoints_discovery/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/endpoints_discovery/merge_request.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/endpoints_discovery/merge_request_manager.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/external_resources/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/external_resources/aws.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/external_resources/factories.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/external_resources/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/external_resources/integration_secrets_sync.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/external_resources/manager.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/external_resources/meta.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/external_resources/metrics.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/external_resources/model.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/external_resources/reconciler.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/external_resources/secrets_sync.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/external_resources/state.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/fleet_labeler/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/fleet_labeler/dependencies.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/fleet_labeler/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/fleet_labeler/merge_request.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/fleet_labeler/meta.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/fleet_labeler/metrics.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/fleet_labeler/ocm.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/fleet_labeler/validate.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/fleet_labeler/vcs.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gabi_authorized_users.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gcp_image_mirror.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/github_org.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/github_owners.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/github_repo_invites.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/github_repo_permissions_validator.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/github_validator.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gitlab_fork_compliance.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gitlab_housekeeping.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gitlab_labeler.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gitlab_members.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gitlab_mr_sqs_consumer.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gitlab_owners.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gitlab_permissions.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gitlab_projects.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/glitchtip/README.md +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/glitchtip/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/glitchtip/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/glitchtip/reconciler.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/glitchtip_project_alerts/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/glitchtip_project_alerts/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/glitchtip_project_dsn/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/glitchtip_project_dsn/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/acs/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/acs/acs_instances.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/acs/acs_policies.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/acs/acs_rbac.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/advanced_upgrade_service/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/advanced_upgrade_service/aus_clusters.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/advanced_upgrade_service/aus_organization.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/app_interface_metrics_exporter/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/app_interface_metrics_exporter/onboarding_status.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/app_sre_tekton_access_revalidation/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/app_sre_tekton_access_revalidation/roles.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/app_sre_tekton_access_revalidation/users.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/automated_actions/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/automated_actions/instance.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/aws_account_manager/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/aws_account_manager/aws_accounts.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/aws_ami_cleanup/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/aws_ami_cleanup/aws_accounts.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/aws_cloudwatch_log_retention/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/aws_cloudwatch_log_retention/aws_accounts.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/aws_saml_idp/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/aws_saml_idp/aws_accounts.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/aws_saml_roles/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/aws_saml_roles/aws_accounts.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/aws_saml_roles/roles.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/aws_version_sync/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/aws_version_sync/clusters.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/aws_version_sync/namespaces.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/change_owners/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/change_owners/queries/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/change_owners/queries/change_types.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/change_owners/queries/self_service_roles.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/cluster_auth_rhidp/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/cluster_auth_rhidp/clusters.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/common/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/common/alerting_services_settings.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/common/app_code_component_repos.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/common/app_interface_custom_messages.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/common/app_interface_dms_settings.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/common/app_interface_repo_settings.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/common/app_interface_state_settings.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/common/app_interface_vault_settings.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/common/app_quay_repos_escalation_policies.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/common/apps.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/common/aws_vpc_requests.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/common/aws_vpcs.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/common/clusters.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/common/clusters_minimal.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/common/clusters_with_dms.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/common/clusters_with_peering.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/common/github_orgs.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/common/jira_settings.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/common/jiralert_settings.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/common/ldap_settings.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/common/namespaces.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/common/namespaces_minimal.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/common/ocm_env_telemeter.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/common/ocm_environments.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/common/pagerduty_instances.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/common/pgp_reencryption_settings.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/common/pipeline_providers.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/common/quay_instances.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/common/quay_orgs.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/common/reserved_networks.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/common/rhcs_provider_settings.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/common/saas_files.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/common/saas_target_namespaces.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/common/saasherder_settings.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/common/slack_workspaces.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/common/smtp_client_settings.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/common/state_aws_account.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/common/users.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/common/users_with_paths.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/cost_report/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/cost_report/app_names.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/cost_report/cost_namespaces.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/cost_report/settings.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/dashdotdb_slo/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/dashdotdb_slo/slo_documents_query.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/dynatrace_token_provider/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/dynatrace_token_provider/dynatrace_bootstrap_tokens.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/dynatrace_token_provider/token_specs.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/email_sender/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/email_sender/apps.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/email_sender/emails.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/email_sender/users.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/endpoints_discovery/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/endpoints_discovery/apps.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/external_resources/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/external_resources/aws_accounts.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/external_resources/external_resources_modules.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/external_resources/external_resources_namespaces.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/external_resources/external_resources_settings.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/external_resources/fragments/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/external_resources/fragments/external_resources_module_overrides.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/fleet_labeler/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/fleet_labeler/fleet_labels.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/fragments/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/fragments/aus_organization.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/fragments/aws_account_common.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/fragments/aws_account_managed.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/fragments/aws_account_sso.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/fragments/aws_infra_management_account.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/fragments/aws_vpc.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/fragments/aws_vpc_request.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/fragments/aws_vpc_request_subnet.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/fragments/container_image_mirror.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/fragments/deploy_resources.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/fragments/disable.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/fragments/email_service.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/fragments/email_user.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/fragments/jumphost_common_fields.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/fragments/membership_source.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/fragments/minimal_ocm_organization.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/fragments/oc_connection_cluster.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/fragments/ocm_environment.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/fragments/pipeline_provider_retention.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/fragments/prometheus_instance.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/fragments/resource_limits_requirements.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/fragments/resource_requests_requirements.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/fragments/resource_values.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/fragments/saas_slo_document.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/fragments/saas_target_namespace.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/fragments/serviceaccount_token.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/fragments/terraform_state.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/fragments/upgrade_policy.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/fragments/user.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/fragments/vault_secret.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/gcp/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/gcp/gcp_docker_repos.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/gcp/gcp_projects.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/gitlab_members/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/gitlab_members/gitlab_instances.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/gitlab_members/permissions.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/glitchtip/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/glitchtip/glitchtip_instance.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/glitchtip/glitchtip_project.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/glitchtip_project_alerts/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/glitchtip_project_alerts/glitchtip_project.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/integrations/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/integrations/integrations.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/introspection.json +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/jenkins_configs/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/jenkins_configs/jenkins_configs.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/jenkins_configs/jenkins_instances.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/jira/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/jira/jira_servers.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/jira_permissions_validator/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/jira_permissions_validator/jira_boards_for_permissions_validator.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/jumphosts/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/jumphosts/jumphosts.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/ldap_groups/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/ldap_groups/roles.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/ldap_groups/settings.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/maintenance/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/maintenance/maintenances.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/membershipsources/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/membershipsources/roles.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/ocm_labels/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/ocm_labels/clusters.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/ocm_labels/organizations.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/ocm_oidc_idp/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/ocm_subscription_labels/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/openshift_cluster_bots/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/openshift_cluster_bots/clusters.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/openshift_groups/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/openshift_groups/managed_groups.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/openshift_groups/managed_roles.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/openshift_serviceaccount_tokens/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/openshift_serviceaccount_tokens/tokens.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/quay_membership/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/quay_membership/quay_membership.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/rhcs/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/rhcs/certs.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/rhidp/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/rhidp/organizations.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/service_dependencies/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/service_dependencies/jenkins_instance_fragment.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/service_dependencies/service_dependencies.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/sharding/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/sharding/aws_accounts.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/sharding/ocm_organization.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/skupper_network/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/skupper_network/site_controller_template.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/skupper_network/skupper_networks.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/slack_usergroups/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/slack_usergroups/clusters.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/slack_usergroups/permissions.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/slack_usergroups/users.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/slo_documents/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/slo_documents/slo_documents.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/status_board/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/status_board/status_board.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/statuspage/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/statuspage/statuspages.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/templating/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/templating/template_collection.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/templating/templates.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/terraform_cloudflare_dns/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/terraform_cloudflare_dns/app_interface_cloudflare_dns_settings.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/terraform_cloudflare_dns/terraform_cloudflare_zones.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/terraform_cloudflare_resources/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/terraform_cloudflare_resources/terraform_cloudflare_accounts.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/terraform_cloudflare_resources/terraform_cloudflare_resources.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/terraform_cloudflare_users/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/terraform_cloudflare_users/app_interface_setting_cloudflare_and_vault.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/terraform_cloudflare_users/terraform_cloudflare_roles.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/terraform_init/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/terraform_init/aws_accounts.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/terraform_repo/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/terraform_repo/terraform_repo.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/terraform_resources/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/terraform_resources/database_access_manager.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/terraform_resources/terraform_resources_namespaces.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/terraform_tgw_attachments/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/terraform_tgw_attachments/aws_accounts.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/unleash_feature_toggles/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/unleash_feature_toggles/feature_toggles.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/vault_instances/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/vault_instances/vault_instances.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/vault_policies/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/vault_policies/vault_policies.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/vpc_peerings_validator/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/vpc_peerings_validator/vpc_peerings_validator.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/gql_definitions/vpc_peerings_validator/vpc_peerings_validator_peered_cluster_fragment.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/integrations_manager.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/jenkins/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/jenkins/types.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/jenkins_base.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/jenkins_job_builder.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/jenkins_job_builds_cleaner.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/jenkins_roles.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/jenkins_webhooks.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/jenkins_webhooks_cleaner.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/jenkins_worker_fleets.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/jira_permissions_validator.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/ldap_groups/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/ldap_groups/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/ldap_users.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/mr_client_gateway.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/ocm/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/ocm/types.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/ocm_additional_routers.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/ocm_addons.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/ocm_addons_upgrade_tests_trigger.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/ocm_aws_infrastructure_access.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/ocm_clusters.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/ocm_external_configuration_labels.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/ocm_github_idp.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/ocm_groups.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/ocm_internal_notifications/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/ocm_internal_notifications/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/ocm_labels/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/ocm_labels/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/ocm_machine_pools.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/ocm_update_recommended_version.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/ocm_upgrade_scheduler_org_updater.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/openshift_base.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/openshift_cluster_bots.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/openshift_clusterrolebindings.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/openshift_groups.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/openshift_limitranges.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/openshift_namespace_labels.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/openshift_namespaces.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/openshift_network_policies.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/openshift_prometheus_rules.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/openshift_resourcequotas.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/openshift_resources.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/openshift_resources_base.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/openshift_rhcs_certs.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/openshift_rolebindings.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/openshift_routes.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/openshift_saas_deploy.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/openshift_saas_deploy_change_tester.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/openshift_saas_deploy_trigger_base.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/openshift_saas_deploy_trigger_cleaner.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/openshift_saas_deploy_trigger_configs.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/openshift_saas_deploy_trigger_images.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/openshift_saas_deploy_trigger_moving_commits.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/openshift_saas_deploy_trigger_upstream_jobs.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/openshift_serviceaccount_tokens.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/openshift_tekton_resources.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/openshift_upgrade_watcher.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/openshift_users.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/openshift_vault_secrets.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/oum/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/oum/base.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/oum/labelset.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/oum/metrics.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/oum/models.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/oum/providers.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/oum/standalone.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/prometheus_rules_tester/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/prometheus_rules_tester/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/quay_base.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/quay_membership.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/quay_mirror.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/quay_mirror_org.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/quay_permissions.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/quay_repos.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/queries.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/query_validator.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/requests_sender.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/resource_scraper.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/resource_template_tester.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/rhidp/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/rhidp/common.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/rhidp/metrics.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/rhidp/ocm_oidc_idp/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/rhidp/ocm_oidc_idp/base.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/rhidp/ocm_oidc_idp/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/rhidp/ocm_oidc_idp/metrics.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/rhidp/sso_client/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/rhidp/sso_client/base.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/rhidp/sso_client/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/rhidp/sso_client/metrics.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/run_integration.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/saas_auto_promotions_manager/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/saas_auto_promotions_manager/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/saas_auto_promotions_manager/merge_request_manager/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/saas_auto_promotions_manager/merge_request_manager/batcher.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/saas_auto_promotions_manager/merge_request_manager/desired_state.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/saas_auto_promotions_manager/merge_request_manager/merge_request.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/saas_auto_promotions_manager/merge_request_manager/merge_request_manager_v2.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/saas_auto_promotions_manager/merge_request_manager/metrics.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/saas_auto_promotions_manager/merge_request_manager/mr_parser.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/saas_auto_promotions_manager/merge_request_manager/open_merge_requests.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/saas_auto_promotions_manager/merge_request_manager/renderer.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/saas_auto_promotions_manager/meta.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/saas_auto_promotions_manager/publisher.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/saas_auto_promotions_manager/s3_exporter.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/saas_auto_promotions_manager/subscriber.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/saas_auto_promotions_manager/utils/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/saas_auto_promotions_manager/utils/saas_files_inventory.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/saas_file_validator.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/sendgrid_teammates.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/service_dependencies.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/signalfx_endpoint_monitoring.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/skupper_network/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/skupper_network/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/skupper_network/models.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/skupper_network/reconciler.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/skupper_network/site_controller.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/slack_base.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/slack_usergroups.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/sql_query.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/status.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/status_board.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/statuspage/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/statuspage/atlassian.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/statuspage/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/statuspage/integrations/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/statuspage/integrations/components.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/statuspage/integrations/maintenances.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/statuspage/page.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/statuspage/state.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/statuspage/status.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/templates/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/templates/aws_access_key_email.j2 +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/templates/email.yml.j2 +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/templates/jira-checkpoint-missinginfo.j2 +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/templates/rosa-classic-cluster-creation.sh.j2 +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/templates/rosa-hcp-cluster-creation.sh.j2 +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/templating/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/templating/lib/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/templating/lib/merge_request_manager.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/templating/lib/model.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/templating/lib/rendering.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/templating/renderer.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/templating/validator.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/terraform_aws_route53.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/terraform_cloudflare_dns.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/terraform_cloudflare_resources.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/terraform_cloudflare_users.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/terraform_init/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/terraform_init/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/terraform_init/merge_request.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/terraform_init/merge_request_manager.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/terraform_repo.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/terraform_resources.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/terraform_tgw_attachments.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/terraform_users.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/terraform_vpc_peerings.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/terraform_vpc_resources/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/terraform_vpc_resources/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/terraform_vpc_resources/merge_request.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/terraform_vpc_resources/merge_request_manager.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/alerting_services_settings.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/app_interface_custom_messages.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/app_interface_deadmanssnitch_settings.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/app_interface_metrics_exporter/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/app_interface_metrics_exporter/onboarding_status.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/app_interface_metrics_exporter/terraform_repo.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/app_interface_repo_url.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/app_interface_state_settings.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/app_interface_vault_settings.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/app_quay_repos_escalation_policies.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/apps.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/aws_cloudwatch_log_retention/aws_accounts.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/aws_vpc_requests.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/aws_vpcs.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/cloudflare.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/clusters.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/clusters_minimal.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/clusters_with_dms.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/clusters_with_peering.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/cost_report/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/cost_report/app_names.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/cost_report/cost_namespaces.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/cost_report/settings.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/dynatrace.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/dynatrace_environments.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/dynatrace_token_provider_token_specs.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/external_resources.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/fleet_labels.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/get_state_aws_account.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/github_orgs.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/gitlab_instances.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/glitchtip.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/jenkins.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/jira.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/jira_settings.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/jiralert_settings.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/ldap_settings.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/namespaces.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/namespaces_minimal.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/ocm.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/pagerduty_instances.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/quay.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/repos.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/reserved_networks.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/rhcs_provider_settings.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/saas_files.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/slack.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/slo_documents.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/smtp.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/status_board.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/tekton_pipeline_providers.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/terraform_namespaces.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/terraform_tgw_attachments/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/terraform_tgw_attachments/aws_accounts.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/unleash.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/users.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/users_with_paths.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/typed_queries/vault.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/unleash_feature_toggles/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/unleash_feature_toggles/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/acs/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/acs/base.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/acs/policies.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/acs/rbac.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/aggregated_list.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/amtool.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/aws_api.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/aws_api_typed/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/aws_api_typed/account.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/aws_api_typed/api.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/aws_api_typed/dynamodb.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/aws_api_typed/iam.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/aws_api_typed/organization.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/aws_api_typed/s3.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/aws_api_typed/service_quotas.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/aws_api_typed/sts.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/aws_api_typed/support.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/aws_helper.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/batches.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/binary.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/cloud_resource_best_practice/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/cloud_resource_best_practice/aws_rds.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/clusterhealth/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/clusterhealth/providerbase.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/clusterhealth/telemeter.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/config.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/constants.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/deadmanssnitch_api.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/defer.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/differ.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/disabled_integrations.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/dnsutils.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/dynatrace/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/dynatrace/client.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/early_exit_cache.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/elasticsearch_exceptions.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/environ.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/exceptions.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/expiration.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/extended_early_exit.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/external_resource_spec.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/external_resources.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/filtering.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/git.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/github_api.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/gitlab_api.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/glitchtip/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/glitchtip/client.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/glitchtip/models.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/gpg.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/gql.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/grouping.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/helm.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/helpers.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/imap_client.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/instrumented_wrappers.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/internal_groups/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/internal_groups/client.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/internal_groups/models.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/jinja2/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/jinja2/extensions.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/jinja2/filters.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/jinja2/utils.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/jira_client.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/jjb_client.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/jobcontroller/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/jobcontroller/controller.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/jobcontroller/models.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/jsonpath.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/jump_host.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/keycloak.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/ldap_client.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/lean_terraform_client.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/make.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/membershipsources/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/membershipsources/app_interface_resolver.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/membershipsources/models.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/membershipsources/resolver.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/merge_request_manager/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/merge_request_manager/merge_request_manager.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/merge_request_manager/parser.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/metrics.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/models.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/mr/README.md +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/mr/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/mr/app_interface_reporter.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/mr/app_sre_tekton_access_report.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/mr/aws_access.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/mr/base.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/mr/clusters_updates.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/mr/glitchtip_access_reporter.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/mr/labels.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/mr/notificator.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/mr/ocm_update_recommended_version.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/mr/ocm_upgrade_scheduler_org_updates.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/mr/promote_qontract.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/mr/update_access_report_base.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/mr/user_maintenance.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/oauth2_backend_application_session.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/oc.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/oc_connection_parameters.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/oc_filters.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/oc_map.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/ocm/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/ocm/addons.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/ocm/base.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/ocm/cluster_groups.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/ocm/clusters.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/ocm/identity_providers.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/ocm/label_sources.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/ocm/labels.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/ocm/manifests.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/ocm/ocm.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/ocm/products.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/ocm/search_filters.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/ocm/service_log.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/ocm/sre_capability_labels.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/ocm/status_board.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/ocm/subscriptions.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/ocm/syncsets.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/ocm/upgrades.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/ocm_base_client.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/openshift_resource.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/openssl.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/output.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/pagerduty_api.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/parse_dhms_duration.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/password_validator.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/prometheus.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/promotion_state.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/promtool.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/quay_api.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/quay_mirror.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/raw_github_api.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/repo_owners.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/rest_api_base.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/rhcsv2_certs.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/rosa/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/rosa/rosa_cli.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/rosa/session.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/ruamel.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/runtime/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/runtime/desired_state_diff.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/runtime/environment.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/runtime/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/runtime/meta.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/runtime/runner.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/runtime/sharding.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/saasherder/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/secret_reader.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/semver_helper.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/sharding.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/slack_api.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/slo_document_manager.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/smtp_client.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/sqs_gateway.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/state.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/structs.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/terraform/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/terraform/config.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/terraform/config_client.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/terraform_client.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/terrascript/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/terrascript/cloudflare_client.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/terrascript/cloudflare_resources.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/terrascript/models.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/terrascript/resources.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/terrascript_aws_client.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/three_way_diff_strategy.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/throughput.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/unleash/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/unleash/client.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/unleash/server.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/vault.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/vaultsecretref.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/vcs.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/vault_replication.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/vpc_peerings_validator.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/tools/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/tools/alert_report.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/tools/app_interface_metrics_exporter.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/tools/app_interface_reporter.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/tools/app_sre_tekton_access_reporter.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/tools/app_sre_tekton_access_revalidation.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/tools/cli_commands/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/tools/cli_commands/container_images_report.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/tools/cli_commands/cost_report/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/tools/cli_commands/cost_report/aws.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/tools/cli_commands/cost_report/cost_management_api.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/tools/cli_commands/cost_report/model.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/tools/cli_commands/cost_report/openshift.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/tools/cli_commands/cost_report/openshift_cost_optimization.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/tools/cli_commands/cost_report/response.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/tools/cli_commands/cost_report/util.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/tools/cli_commands/cost_report/view.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/tools/cli_commands/erv2.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/tools/cli_commands/gpg_encrypt.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/tools/cli_commands/systems_and_tools.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/tools/glitchtip_access_reporter.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/tools/glitchtip_access_revalidation.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/tools/qontract_cli.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/tools/saas_metrics_exporter/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/tools/saas_metrics_exporter/commit_distance/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/tools/saas_metrics_exporter/commit_distance/channel.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/tools/saas_metrics_exporter/commit_distance/commit_distance.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/tools/saas_metrics_exporter/commit_distance/metrics.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/tools/saas_metrics_exporter/main.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/tools/saas_promotion_state/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/tools/saas_promotion_state/saas_promotion_state.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/tools/sre_checkpoints/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/tools/sre_checkpoints/util.py +0 -0
- {qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/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.
|
3
|
+
Version: 0.10.2.dev247
|
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
|
{qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/utils/jenkins_api.py
RENAMED
@@ -1,5 +1,6 @@
|
|
1
1
|
import logging
|
2
|
-
from
|
2
|
+
from collections.abc import Mapping
|
3
|
+
from typing import Any, NotRequired, Self, TypedDict
|
3
4
|
|
4
5
|
import requests
|
5
6
|
import toml
|
@@ -9,23 +10,40 @@ from sretoolbox.utils import retry
|
|
9
10
|
from reconcile.utils.secret_reader import SecretReaderBase
|
10
11
|
|
11
12
|
|
13
|
+
class JobBuildState(TypedDict):
|
14
|
+
_class: NotRequired[str]
|
15
|
+
number: int
|
16
|
+
result: NotRequired[str | None]
|
17
|
+
actions: NotRequired[list]
|
18
|
+
commit_sha: NotRequired[str]
|
19
|
+
|
20
|
+
|
12
21
|
class JenkinsApi:
|
13
22
|
"""Wrapper around Jenkins API calls"""
|
14
23
|
|
15
|
-
@
|
24
|
+
@classmethod
|
16
25
|
def init_jenkins_from_secret(
|
17
|
-
|
18
|
-
|
26
|
+
cls,
|
27
|
+
secret_reader: SecretReaderBase,
|
28
|
+
secret: Mapping[str, Any],
|
29
|
+
ssl_verify: bool = True,
|
30
|
+
) -> Self:
|
19
31
|
token_config = secret_reader.read(secret)
|
20
32
|
config = toml.loads(token_config)
|
21
|
-
return
|
33
|
+
return cls(
|
22
34
|
config["jenkins"]["url"],
|
23
35
|
config["jenkins"]["user"],
|
24
36
|
config["jenkins"]["password"],
|
25
37
|
ssl_verify=ssl_verify,
|
26
38
|
)
|
27
39
|
|
28
|
-
def __init__(
|
40
|
+
def __init__(
|
41
|
+
self,
|
42
|
+
url: str,
|
43
|
+
user: str,
|
44
|
+
password: str,
|
45
|
+
ssl_verify: bool = True,
|
46
|
+
):
|
29
47
|
self.url = url
|
30
48
|
self.user = user
|
31
49
|
self.password = password
|
@@ -43,7 +61,7 @@ class JenkinsApi:
|
|
43
61
|
res.raise_for_status()
|
44
62
|
return yaml.safe_load(res.text)
|
45
63
|
|
46
|
-
def apply_jcasc_config(self, config: dict[str, Any]):
|
64
|
+
def apply_jcasc_config(self, config: dict[str, Any]) -> None:
|
47
65
|
url = f"{self.url}/manage/configuration-as-code/apply"
|
48
66
|
res = requests.post(
|
49
67
|
url,
|
@@ -54,7 +72,7 @@ class JenkinsApi:
|
|
54
72
|
)
|
55
73
|
res.raise_for_status()
|
56
74
|
|
57
|
-
def get_job_names(self):
|
75
|
+
def get_job_names(self) -> list[str]:
|
58
76
|
url = f"{self.url}/api/json?tree=jobs[name]"
|
59
77
|
res = requests.get(
|
60
78
|
url, verify=self.ssl_verify, auth=(self.user, self.password), timeout=60
|
@@ -64,36 +82,52 @@ class JenkinsApi:
|
|
64
82
|
job_names = [r["name"] for r in res.json()["jobs"]]
|
65
83
|
return job_names
|
66
84
|
|
85
|
+
@staticmethod
|
86
|
+
def _get_commit_sha_from_build(build: Mapping[str, Any]) -> str | None:
|
87
|
+
for action in reversed(build.get("actions", [])):
|
88
|
+
if revision := action.get("lastBuiltRevision"):
|
89
|
+
return revision["SHA1"]
|
90
|
+
return None
|
91
|
+
|
92
|
+
def _build_job_build_state(self, build: Mapping) -> JobBuildState:
|
93
|
+
job_build_state = JobBuildState(number=build["number"])
|
94
|
+
if "_class" in build:
|
95
|
+
job_build_state["_class"] = build["_class"]
|
96
|
+
if "actions" in build:
|
97
|
+
job_build_state["actions"] = build["actions"]
|
98
|
+
if "result" in build:
|
99
|
+
job_build_state["result"] = build["result"]
|
100
|
+
if commit_sha := self._get_commit_sha_from_build(build):
|
101
|
+
job_build_state["commit_sha"] = commit_sha
|
102
|
+
return job_build_state
|
103
|
+
|
67
104
|
@retry()
|
68
|
-
def get_jobs_state(self):
|
105
|
+
def get_jobs_state(self) -> dict[str, list[JobBuildState]]:
|
69
106
|
url = f"{self.url}/api/json?tree=jobs[name,builds[number,result,actions[lastBuiltRevision[SHA1]]]]"
|
70
107
|
res = requests.get(
|
71
108
|
url, verify=self.ssl_verify, auth=(self.user, self.password), timeout=60
|
72
109
|
)
|
73
110
|
|
74
111
|
res.raise_for_status()
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
return jobs_state
|
88
|
-
|
89
|
-
def delete_build(self, job_name, build_id):
|
112
|
+
jobs = res.json().get("jobs") or []
|
113
|
+
return {
|
114
|
+
job["name"]: list(
|
115
|
+
map(
|
116
|
+
self._build_job_build_state,
|
117
|
+
job.get("builds", []),
|
118
|
+
)
|
119
|
+
)
|
120
|
+
for job in jobs
|
121
|
+
}
|
122
|
+
|
123
|
+
def delete_build(self, job_name: str, build_id: str) -> None:
|
90
124
|
url = f"{self.url}/job/{job_name}/{build_id}/doDelete"
|
91
125
|
res = requests.post(
|
92
126
|
url, verify=self.ssl_verify, auth=(self.user, self.password), timeout=60
|
93
127
|
)
|
94
128
|
res.raise_for_status()
|
95
129
|
|
96
|
-
def get_all_roles(self):
|
130
|
+
def get_all_roles(self) -> dict[str, Any]:
|
97
131
|
url = f"{self.url}/role-strategy/strategy/getAllRoles"
|
98
132
|
res = requests.get(
|
99
133
|
url, verify=self.ssl_verify, auth=(self.user, self.password), timeout=60
|
@@ -102,7 +136,7 @@ class JenkinsApi:
|
|
102
136
|
res.raise_for_status()
|
103
137
|
return res.json()
|
104
138
|
|
105
|
-
def assign_role_to_user(self, role, user):
|
139
|
+
def assign_role_to_user(self, role: str, user: str) -> None:
|
106
140
|
url = f"{self.url}/role-strategy/strategy/assignRole"
|
107
141
|
data = {"type": "globalRoles", "roleName": role, "sid": user}
|
108
142
|
res = requests.post(
|
@@ -115,7 +149,7 @@ class JenkinsApi:
|
|
115
149
|
|
116
150
|
res.raise_for_status()
|
117
151
|
|
118
|
-
def unassign_role_from_user(self, role, user):
|
152
|
+
def unassign_role_from_user(self, role: str, user: str) -> None:
|
119
153
|
url = f"{self.url}/role-strategy/strategy/unassignRole"
|
120
154
|
data = {"type": "globalRoles", "roleName": role, "sid": user}
|
121
155
|
res = requests.post(
|
@@ -128,7 +162,7 @@ class JenkinsApi:
|
|
128
162
|
|
129
163
|
res.raise_for_status()
|
130
164
|
|
131
|
-
def safe_restart(self, force_restart=False):
|
165
|
+
def safe_restart(self, force_restart: bool = False) -> None:
|
132
166
|
url = f"{self.url}/safeRestart"
|
133
167
|
if self.should_restart or force_restart:
|
134
168
|
logging.debug(
|
@@ -142,7 +176,7 @@ class JenkinsApi:
|
|
142
176
|
|
143
177
|
res.raise_for_status()
|
144
178
|
|
145
|
-
def get_builds(self, job_name):
|
179
|
+
def get_builds(self, job_name: str) -> list[dict[str, Any]]:
|
146
180
|
url = (
|
147
181
|
f"{self.url}/job/{job_name}/api/json"
|
148
182
|
+ "?tree=allBuilds[timestamp,result,id]"
|
@@ -157,14 +191,14 @@ class JenkinsApi:
|
|
157
191
|
except KeyError:
|
158
192
|
return []
|
159
193
|
|
160
|
-
def get_build_history(self, job_name, time_limit):
|
194
|
+
def get_build_history(self, job_name: str, time_limit: int) -> list[str]:
|
161
195
|
return [
|
162
196
|
b["result"]
|
163
197
|
for b in self.get_builds(job_name)
|
164
198
|
if time_limit < self.timestamp_seconds(b["timestamp"])
|
165
199
|
]
|
166
200
|
|
167
|
-
def is_job_running(self, job_name):
|
201
|
+
def is_job_running(self, job_name: str) -> bool:
|
168
202
|
url = f"{self.url}/job/{job_name}/lastBuild/api/json"
|
169
203
|
res = requests.get(
|
170
204
|
url, verify=self.ssl_verify, auth=(self.user, self.password), timeout=60
|
@@ -178,7 +212,7 @@ class JenkinsApi:
|
|
178
212
|
res.raise_for_status()
|
179
213
|
return res.json()["building"] is True
|
180
214
|
|
181
|
-
def get_crumb_kwargs(self):
|
215
|
+
def get_crumb_kwargs(self) -> dict[str, Any]:
|
182
216
|
try:
|
183
217
|
crumb_url = f"{self.url}/crumbIssuer/api/json"
|
184
218
|
res = requests.get(
|
@@ -197,7 +231,7 @@ class JenkinsApi:
|
|
197
231
|
|
198
232
|
return kwargs
|
199
233
|
|
200
|
-
def trigger_job(self, job_name):
|
234
|
+
def trigger_job(self, job_name: str) -> None:
|
201
235
|
kwargs = self.get_crumb_kwargs()
|
202
236
|
|
203
237
|
url = f"{self.url}/job/{job_name}/build"
|
@@ -212,5 +246,5 @@ class JenkinsApi:
|
|
212
246
|
res.raise_for_status()
|
213
247
|
|
214
248
|
@staticmethod
|
215
|
-
def timestamp_seconds(timestamp):
|
249
|
+
def timestamp_seconds(timestamp: float) -> int:
|
216
250
|
return int(timestamp / 1000)
|
@@ -245,6 +245,8 @@ class SaasResourceTemplateTargetPromotion(Protocol):
|
|
245
245
|
@property
|
246
246
|
def promotion_data(self) -> Sequence[SaasPromotionData] | None: ...
|
247
247
|
|
248
|
+
def dict(self, *, by_alias: bool = False) -> dict[str, Any]: ...
|
249
|
+
|
248
250
|
|
249
251
|
class Channel(Protocol):
|
250
252
|
name: str
|
@@ -289,6 +291,8 @@ class SaasResourceTemplateTargetUpstream(Protocol):
|
|
289
291
|
@property
|
290
292
|
def instance(self) -> SaasJenkinsInstance: ...
|
291
293
|
|
294
|
+
def dict(self, *, by_alias: bool = False) -> dict[str, Any]: ...
|
295
|
+
|
292
296
|
|
293
297
|
class SaasQuayInstance(Protocol):
|
294
298
|
url: str
|
@@ -307,6 +311,8 @@ class SaasResourceTemplateTargetImage(Protocol):
|
|
307
311
|
@property
|
308
312
|
def org(self) -> SaasQuayOrg: ...
|
309
313
|
|
314
|
+
def dict(self, *, by_alias: bool = False) -> dict[str, Any]: ...
|
315
|
+
|
310
316
|
|
311
317
|
class SaasResourceTemplateTarget(HasParameters, HasSecretParameters, Protocol):
|
312
318
|
path: str | None
|
@@ -4,7 +4,7 @@ import logging
|
|
4
4
|
from collections.abc import Iterable, Sequence
|
5
5
|
from dataclasses import dataclass
|
6
6
|
from enum import Enum
|
7
|
-
from typing import Any
|
7
|
+
from typing import Any, NotRequired, TypedDict
|
8
8
|
|
9
9
|
from github import Github
|
10
10
|
from pydantic import (
|
@@ -15,6 +15,7 @@ from pydantic import (
|
|
15
15
|
from reconcile.gql_definitions.fragments.saas_slo_document import (
|
16
16
|
SLODocument,
|
17
17
|
)
|
18
|
+
from reconcile.utils.jenkins_api import JobBuildState
|
18
19
|
from reconcile.utils.oc_connection_parameters import Cluster
|
19
20
|
from reconcile.utils.saasherder.interfaces import (
|
20
21
|
HasParameters,
|
@@ -78,8 +79,53 @@ class SLOKey:
|
|
78
79
|
cluster_name: str
|
79
80
|
|
80
81
|
|
82
|
+
class TriggerSpecConfigStateContentNamespaceApp(TypedDict):
|
83
|
+
name: str
|
84
|
+
|
85
|
+
|
86
|
+
class TriggerSpecConfigStateContentNamespaceCluster(TypedDict):
|
87
|
+
name: str
|
88
|
+
serverUrl: str
|
89
|
+
|
90
|
+
|
91
|
+
class TriggerSpecConfigStateContentNamespace(TypedDict):
|
92
|
+
name: str
|
93
|
+
cluster: TriggerSpecConfigStateContentNamespaceCluster
|
94
|
+
app: TriggerSpecConfigStateContentNamespaceApp
|
95
|
+
|
96
|
+
|
97
|
+
class TriggerSpecConfigStateContent(TypedDict):
|
98
|
+
"""
|
99
|
+
dict representation of reconcile.typed_queries.saas_files.SaasResourceTemplateTarget
|
100
|
+
with some additional fields.
|
101
|
+
"""
|
102
|
+
|
103
|
+
path: str | None
|
104
|
+
name: str | None
|
105
|
+
namespace: TriggerSpecConfigStateContentNamespace
|
106
|
+
ref: str | None
|
107
|
+
promotion: dict | None
|
108
|
+
parameters: str | None
|
109
|
+
secretParameters: list[dict] | None
|
110
|
+
slos: list[Any] | None
|
111
|
+
upstream: Any | None
|
112
|
+
images: list[Any] | None
|
113
|
+
disable: bool | None
|
114
|
+
delete: bool | None
|
115
|
+
|
116
|
+
# additional fields
|
117
|
+
saas_file_parameters: str | None
|
118
|
+
saas_file_managed_resource_types: list[str]
|
119
|
+
saas_file_managed_resource_names: NotRequired[list[Any]]
|
120
|
+
url: str
|
121
|
+
rt_parameters: str | None
|
122
|
+
rt_secretparameters: NotRequired[list[dict]]
|
123
|
+
saas_file_secretparameters: NotRequired[list[dict]]
|
124
|
+
|
125
|
+
|
81
126
|
@dataclass(frozen=True)
|
82
127
|
class TriggerSpecConfig(TriggerSpecBase):
|
128
|
+
state_content: TriggerSpecConfigStateContent | None
|
83
129
|
resource_template_url: str
|
84
130
|
slos: list[SLODocument] | None = None
|
85
131
|
target_name: str | None = None
|
@@ -110,6 +156,7 @@ class TriggerSpecConfig(TriggerSpecBase):
|
|
110
156
|
|
111
157
|
@dataclass(frozen=True)
|
112
158
|
class TriggerSpecMovingCommit(TriggerSpecBase):
|
159
|
+
state_content: str
|
113
160
|
ref: str
|
114
161
|
|
115
162
|
@property
|
@@ -123,6 +170,7 @@ class TriggerSpecMovingCommit(TriggerSpecBase):
|
|
123
170
|
|
124
171
|
@dataclass(frozen=True)
|
125
172
|
class TriggerSpecUpstreamJob(TriggerSpecBase):
|
173
|
+
state_content: JobBuildState
|
126
174
|
instance_name: str
|
127
175
|
job_name: str
|
128
176
|
|
@@ -137,6 +185,7 @@ class TriggerSpecUpstreamJob(TriggerSpecBase):
|
|
137
185
|
|
138
186
|
@dataclass(frozen=True)
|
139
187
|
class TriggerSpecContainerImage(TriggerSpecBase):
|
188
|
+
state_content: str
|
140
189
|
images: Sequence[str]
|
141
190
|
|
142
191
|
@property
|
@@ -6,7 +6,6 @@ import logging
|
|
6
6
|
import os
|
7
7
|
import re
|
8
8
|
from collections import (
|
9
|
-
ChainMap,
|
10
9
|
defaultdict,
|
11
10
|
)
|
12
11
|
from collections.abc import (
|
@@ -40,7 +39,7 @@ from reconcile.status import RunningState
|
|
40
39
|
from reconcile.utils import helm
|
41
40
|
from reconcile.utils.github_api import GithubRepositoryApi
|
42
41
|
from reconcile.utils.gitlab_api import GitLabApi
|
43
|
-
from reconcile.utils.jenkins_api import JenkinsApi
|
42
|
+
from reconcile.utils.jenkins_api import JenkinsApi, JobBuildState
|
44
43
|
from reconcile.utils.jjb_client import JJB
|
45
44
|
from reconcile.utils.oc import (
|
46
45
|
OCLocal,
|
@@ -74,6 +73,10 @@ from reconcile.utils.saasherder.models import (
|
|
74
73
|
SLOKey,
|
75
74
|
TargetSpec,
|
76
75
|
TriggerSpecConfig,
|
76
|
+
TriggerSpecConfigStateContent,
|
77
|
+
TriggerSpecConfigStateContentNamespace,
|
78
|
+
TriggerSpecConfigStateContentNamespaceApp,
|
79
|
+
TriggerSpecConfigStateContentNamespaceCluster,
|
77
80
|
TriggerSpecContainerImage,
|
78
81
|
TriggerSpecMovingCommit,
|
79
82
|
TriggerSpecUnion,
|
@@ -1516,8 +1519,10 @@ class SaasHerder: # pylint: disable=too-many-public-methods
|
|
1516
1519
|
)
|
1517
1520
|
return list(itertools.chain.from_iterable(results)), error
|
1518
1521
|
|
1519
|
-
def _get_upstream_jobs_current_state(
|
1520
|
-
|
1522
|
+
def _get_upstream_jobs_current_state(
|
1523
|
+
self,
|
1524
|
+
) -> tuple[dict[str, dict[str, list[JobBuildState]]], bool]:
|
1525
|
+
current_state: dict[str, dict[str, list[JobBuildState]]] = {}
|
1521
1526
|
error = False
|
1522
1527
|
if not self.jenkins_map:
|
1523
1528
|
raise Exception("jenkins_map is not initialized")
|
@@ -1534,7 +1539,7 @@ class SaasHerder: # pylint: disable=too-many-public-methods
|
|
1534
1539
|
|
1535
1540
|
def _build_trigger_spec_upstream_job_reason(
|
1536
1541
|
self,
|
1537
|
-
last_build_result:
|
1542
|
+
last_build_result: JobBuildState,
|
1538
1543
|
server_url: str,
|
1539
1544
|
job_name: str,
|
1540
1545
|
url: str,
|
@@ -1551,7 +1556,10 @@ class SaasHerder: # pylint: disable=too-many-public-methods
|
|
1551
1556
|
return f"{prefix}{server_url}/job/{job_name}/{last_build_result_number}"
|
1552
1557
|
|
1553
1558
|
def get_upstream_jobs_diff_saas_file(
|
1554
|
-
self,
|
1559
|
+
self,
|
1560
|
+
saas_file: SaasFile,
|
1561
|
+
dry_run: bool,
|
1562
|
+
current_state: dict[str, dict[str, list[JobBuildState]]],
|
1555
1563
|
) -> list[TriggerSpecUpstreamJob]:
|
1556
1564
|
trigger_specs = []
|
1557
1565
|
for rt in saas_file.resource_templates:
|
@@ -1816,7 +1824,7 @@ class SaasHerder: # pylint: disable=too-many-public-methods
|
|
1816
1824
|
return True
|
1817
1825
|
|
1818
1826
|
@staticmethod
|
1819
|
-
def remove_none_values(d:
|
1827
|
+
def remove_none_values(d: Mapping[Any, Any] | None) -> dict[Any, Any]:
|
1820
1828
|
if d is None:
|
1821
1829
|
return {}
|
1822
1830
|
new = {}
|
@@ -1859,7 +1867,7 @@ class SaasHerder: # pylint: disable=too-many-public-methods
|
|
1859
1867
|
|
1860
1868
|
def _build_trigger_spec_config_reason(
|
1861
1869
|
self,
|
1862
|
-
state_content:
|
1870
|
+
state_content: TriggerSpecConfigStateContent,
|
1863
1871
|
) -> str | None:
|
1864
1872
|
if not self.include_trigger_trace:
|
1865
1873
|
return None
|
@@ -1869,76 +1877,95 @@ class SaasHerder: # pylint: disable=too-many-public-methods
|
|
1869
1877
|
# to reduce false-positives.
|
1870
1878
|
auto_promotion_suffix = (
|
1871
1879
|
" [auto-promotion]"
|
1872
|
-
if (state_content
|
1880
|
+
if (state_content["promotion"] or {}).get("auto", False)
|
1873
1881
|
else ""
|
1874
1882
|
)
|
1875
1883
|
return f"{self.repo_url}/commit/{RunningState().commit}{auto_promotion_suffix}"
|
1876
1884
|
|
1885
|
+
def _build_trigger_spec_config_state_content(
|
1886
|
+
self,
|
1887
|
+
target: SaasResourceTemplateTarget,
|
1888
|
+
saas_file: SaasFile,
|
1889
|
+
resource_template: SaasResourceTemplate,
|
1890
|
+
) -> TriggerSpecConfigStateContent:
|
1891
|
+
state_content = TriggerSpecConfigStateContent(
|
1892
|
+
name=target.name,
|
1893
|
+
ref=target.ref,
|
1894
|
+
promotion=(
|
1895
|
+
target.promotion.dict(by_alias=True) if target.promotion else None
|
1896
|
+
),
|
1897
|
+
secretParameters=(
|
1898
|
+
[p.dict(by_alias=True) for p in target.secret_parameters]
|
1899
|
+
if target.secret_parameters
|
1900
|
+
else None
|
1901
|
+
),
|
1902
|
+
slos=(
|
1903
|
+
[slo.dict(by_alias=True) for slo in target.slos]
|
1904
|
+
if target.slos
|
1905
|
+
else None
|
1906
|
+
),
|
1907
|
+
upstream=(target.upstream.dict(by_alias=True) if target.upstream else None),
|
1908
|
+
images=(
|
1909
|
+
[i.dict(by_alias=True) for i in target.images]
|
1910
|
+
if target.images
|
1911
|
+
else None
|
1912
|
+
),
|
1913
|
+
disable=target.disable,
|
1914
|
+
delete=target.delete,
|
1915
|
+
namespace=self.sanitize_namespace(target.namespace),
|
1916
|
+
# add parent parameters to target config
|
1917
|
+
# before the GQL classes are introduced, the parameters attribute
|
1918
|
+
# was a json string. Keep it that way to be backwards compatible.
|
1919
|
+
saas_file_parameters=(
|
1920
|
+
json.dumps(saas_file.parameters, separators=(",", ":"))
|
1921
|
+
if saas_file.parameters is not None
|
1922
|
+
else None
|
1923
|
+
),
|
1924
|
+
# before the GQL classes are introduced, the parameters attribute
|
1925
|
+
# was a json string. Keep it that way to be backwards compatible.
|
1926
|
+
parameters=(
|
1927
|
+
json.dumps(target.parameters, separators=(",", ":"))
|
1928
|
+
if target.parameters is not None
|
1929
|
+
else None
|
1930
|
+
),
|
1931
|
+
# add managed resource types to target config
|
1932
|
+
saas_file_managed_resource_types=saas_file.managed_resource_types,
|
1933
|
+
url=resource_template.url,
|
1934
|
+
path=resource_template.path,
|
1935
|
+
# before the GQL classes are introduced, the parameters attribute
|
1936
|
+
# was a json string. Keep it that way to be backwards compatible.
|
1937
|
+
rt_parameters=(
|
1938
|
+
json.dumps(resource_template.parameters, separators=(",", ":"))
|
1939
|
+
if resource_template.parameters is not None
|
1940
|
+
else None
|
1941
|
+
),
|
1942
|
+
)
|
1943
|
+
if saas_file.managed_resource_names:
|
1944
|
+
state_content["saas_file_managed_resource_names"] = [
|
1945
|
+
m.dict() for m in saas_file.managed_resource_names
|
1946
|
+
]
|
1947
|
+
# include secret parameters from resource template and saas file
|
1948
|
+
if resource_template.secret_parameters:
|
1949
|
+
state_content["rt_secretparameters"] = [
|
1950
|
+
p.dict() for p in resource_template.secret_parameters
|
1951
|
+
]
|
1952
|
+
if saas_file.secret_parameters:
|
1953
|
+
state_content["saas_file_secretparameters"] = [
|
1954
|
+
p.dict() for p in saas_file.secret_parameters
|
1955
|
+
]
|
1956
|
+
return state_content
|
1957
|
+
|
1877
1958
|
def get_saas_targets_config_trigger_specs(
|
1878
1959
|
self, saas_file: SaasFile
|
1879
1960
|
) -> dict[str, TriggerSpecConfig]:
|
1880
1961
|
configs = {}
|
1881
1962
|
for rt in saas_file.resource_templates:
|
1882
1963
|
for target in rt.targets:
|
1883
|
-
|
1884
|
-
|
1885
|
-
|
1886
|
-
|
1887
|
-
# When the namespace key is looked up, the chainmap will
|
1888
|
-
# return the modified attribute (set in the first mapping)
|
1889
|
-
desired_target_config["namespace"] = self.sanitize_namespace(
|
1890
|
-
target.namespace
|
1891
|
-
)
|
1892
|
-
# add parent parameters to target config
|
1893
|
-
# before the GQL classes are introduced, the parameters attribute
|
1894
|
-
# was a json string. Keep it that way to be backwards compatible.
|
1895
|
-
desired_target_config["saas_file_parameters"] = (
|
1896
|
-
json.dumps(saas_file.parameters, separators=(",", ":"))
|
1897
|
-
if saas_file.parameters is not None
|
1898
|
-
else None
|
1964
|
+
desired_target_config = self._build_trigger_spec_config_state_content(
|
1965
|
+
target=target,
|
1966
|
+
saas_file=saas_file,
|
1967
|
+
resource_template=rt,
|
1899
1968
|
)
|
1900
|
-
|
1901
|
-
# before the GQL classes are introduced, the parameters attribute
|
1902
|
-
# was a json string. Keep it that way to be backwards compatible.
|
1903
|
-
desired_target_config["parameters"] = (
|
1904
|
-
json.dumps(target.parameters, separators=(",", ":"))
|
1905
|
-
if target.parameters is not None
|
1906
|
-
else None
|
1907
|
-
)
|
1908
|
-
|
1909
|
-
# add managed resource types to target config
|
1910
|
-
desired_target_config["saas_file_managed_resource_types"] = (
|
1911
|
-
saas_file.managed_resource_types
|
1912
|
-
)
|
1913
|
-
if saas_file.managed_resource_names:
|
1914
|
-
desired_target_config["saas_file_managed_resource_names"] = [
|
1915
|
-
m.dict() for m in saas_file.managed_resource_names
|
1916
|
-
]
|
1917
|
-
|
1918
|
-
desired_target_config["url"] = rt.url
|
1919
|
-
desired_target_config["path"] = rt.path
|
1920
|
-
# before the GQL classes are introduced, the parameters attribute
|
1921
|
-
# was a json string. Keep it that way to be backwards compatible.
|
1922
|
-
desired_target_config["rt_parameters"] = (
|
1923
|
-
json.dumps(rt.parameters, separators=(",", ":"))
|
1924
|
-
if rt.parameters is not None
|
1925
|
-
else None
|
1926
|
-
)
|
1927
|
-
|
1928
|
-
# include secret parameters from resource template and saas file
|
1929
|
-
if rt.secret_parameters:
|
1930
|
-
desired_target_config["rt_secretparameters"] = [
|
1931
|
-
p.dict() for p in rt.secret_parameters
|
1932
|
-
]
|
1933
|
-
if saas_file.secret_parameters:
|
1934
|
-
desired_target_config["saas_file_secretparameters"] = [
|
1935
|
-
p.dict() for p in saas_file.secret_parameters
|
1936
|
-
]
|
1937
|
-
|
1938
|
-
# Convert to dict, ChainMap is not JSON serializable
|
1939
|
-
# desired_target_config needs to be serialized to generate
|
1940
|
-
# its config hash and to be stored in S3
|
1941
|
-
serializable_target_config = dict(desired_target_config)
|
1942
1969
|
trigger_spec = TriggerSpecConfig(
|
1943
1970
|
saas_file_name=saas_file.name,
|
1944
1971
|
env_name=target.namespace.environment.name,
|
@@ -1948,12 +1975,12 @@ class SaasHerder: # pylint: disable=too-many-public-methods
|
|
1948
1975
|
cluster_name=target.namespace.cluster.name,
|
1949
1976
|
namespace_name=target.namespace.name,
|
1950
1977
|
target_name=target.name,
|
1951
|
-
state_content=
|
1978
|
+
state_content=desired_target_config,
|
1952
1979
|
resource_template_url=rt.url,
|
1953
1980
|
target_ref=target.ref,
|
1954
1981
|
slos=target.slos or None,
|
1955
1982
|
reason=self._build_trigger_spec_config_reason(
|
1956
|
-
state_content=
|
1983
|
+
state_content=desired_target_config
|
1957
1984
|
),
|
1958
1985
|
)
|
1959
1986
|
configs[trigger_spec.state_key] = trigger_spec
|
@@ -1963,15 +1990,17 @@ class SaasHerder: # pylint: disable=too-many-public-methods
|
|
1963
1990
|
@staticmethod
|
1964
1991
|
def sanitize_namespace(
|
1965
1992
|
namespace: SaasResourceTemplateTargetNamespace,
|
1966
|
-
) ->
|
1993
|
+
) -> TriggerSpecConfigStateContentNamespace:
|
1967
1994
|
"""Only keep fields that should trigger a new job."""
|
1968
|
-
return
|
1969
|
-
|
1970
|
-
|
1971
|
-
|
1972
|
-
|
1973
|
-
|
1974
|
-
|
1995
|
+
return TriggerSpecConfigStateContentNamespace(
|
1996
|
+
name=namespace.name,
|
1997
|
+
cluster=TriggerSpecConfigStateContentNamespaceCluster(
|
1998
|
+
name=namespace.cluster.name,
|
1999
|
+
serverUrl=namespace.cluster.server_url,
|
2000
|
+
),
|
2001
|
+
app=TriggerSpecConfigStateContentNamespaceApp(
|
2002
|
+
name=namespace.app.name,
|
2003
|
+
),
|
1975
2004
|
# TODO: add environment.parameters to the include list!?!?
|
1976
2005
|
)
|
1977
2006
|
|
File without changes
|
File without changes
|
{qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/acs_policies.py
RENAMED
File without changes
|
File without changes
|
{qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/aus/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/aus/healthchecks.py
RENAMED
File without changes
|
{qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/aus/metrics.py
RENAMED
File without changes
|
{qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/aus/models.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{qontract_reconcile-0.10.2.dev245 → qontract_reconcile-0.10.2.dev247}/reconcile/aus/upgrades.py
RENAMED
File without changes
|
File without changes
|
File without changes
|