qontract-reconcile 0.10.2.dev481__tar.gz → 0.10.2.dev484__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.dev481 → qontract_reconcile-0.10.2.dev484}/PKG-INFO +1 -1
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/cli.py +31 -16
- qontract_reconcile-0.10.2.dev484/reconcile/gql_definitions/common/app_interface_clusterrole.py +104 -0
- qontract_reconcile-0.10.2.dev484/reconcile/openshift_bindings/constants.py +7 -0
- qontract_reconcile-0.10.2.dev484/reconcile/openshift_bindings/models.py +264 -0
- qontract_reconcile-0.10.2.dev484/reconcile/openshift_bindings/openshift_clusterrolebindings.py +129 -0
- qontract_reconcile-0.10.2.dev484/reconcile/openshift_bindings/openshift_rolebindings.py +135 -0
- qontract_reconcile-0.10.2.dev484/reconcile/openshift_bindings/utils.py +14 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/openshift_users.py +50 -5
- qontract_reconcile-0.10.2.dev484/reconcile/typed_queries/app_interface_clusterroles.py +10 -0
- qontract_reconcile-0.10.2.dev484/tools/saas_promotion_state/__init__.py +0 -0
- qontract_reconcile-0.10.2.dev481/reconcile/openshift_clusterrolebindings.py +0 -192
- qontract_reconcile-0.10.2.dev481/reconcile/openshift_rolebindings.py +0 -323
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/README.md +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/pyproject.toml +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/acs_policies.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/acs_rbac.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/aus/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/aus/advanced_upgrade_service.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/aus/aus_label_source.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/aus/aus_sts_gate_handler.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/aus/base.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/aus/cluster_version_data.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/aus/healthchecks.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/aus/metrics.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/aus/models.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/aus/node_pool_spec.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/aus/ocm_addons_upgrade_scheduler_org.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/aus/ocm_upgrade_scheduler.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/aus/ocm_upgrade_scheduler_org.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/aus/upgrades.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/aus/version_gate_approver.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/aus/version_gates/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/aus/version_gates/handler.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/aus/version_gates/ingress_gate_handler.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/aus/version_gates/ocp_gate_handler.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/aus/version_gates/sts_version_gate_handler.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/automated_actions/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/automated_actions/config/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/automated_actions/config/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/aws_account_manager/README.md +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/aws_account_manager/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/aws_account_manager/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/aws_account_manager/merge_request_manager.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/aws_account_manager/metrics.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/aws_account_manager/reconciler.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/aws_account_manager/utils.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/aws_ami_cleanup/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/aws_ami_cleanup/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/aws_ami_share.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/aws_cloudwatch_log_retention/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/aws_cloudwatch_log_retention/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/aws_ecr_image_pull_secrets.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/aws_iam_keys.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/aws_iam_password_reset.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/aws_saml_idp/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/aws_saml_idp/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/aws_saml_roles/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/aws_saml_roles/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/aws_support_cases_sos.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/aws_version_sync/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/aws_version_sync/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/aws_version_sync/merge_request_manager/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/aws_version_sync/merge_request_manager/merge_request.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/aws_version_sync/merge_request_manager/merge_request_manager.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/aws_version_sync/utils.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/blackbox_exporter_endpoint_monitoring.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/change_owners/README.md +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/change_owners/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/change_owners/approver.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/change_owners/bundle.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/change_owners/change_log_tracking.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/change_owners/change_owners.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/change_owners/change_types.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/change_owners/changes.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/change_owners/decision.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/change_owners/diff.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/change_owners/implicit_ownership.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/change_owners/self_service_roles.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/change_owners/tester.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/checkpoint.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/closedbox_endpoint_monitoring_base.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/cluster_auth_rhidp/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/cluster_auth_rhidp/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/cluster_deployment_mapper.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/dashdotdb_base.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/dashdotdb_dora.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/dashdotdb_dvo.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/dashdotdb_slo.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/database_access_manager.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/deadmanssnitch.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/dynatrace_token_provider/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/dynatrace_token_provider/dependencies.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/dynatrace_token_provider/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/dynatrace_token_provider/metrics.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/dynatrace_token_provider/model.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/dynatrace_token_provider/ocm.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/dynatrace_token_provider/validate.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/email_sender.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/endpoints_discovery/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/endpoints_discovery/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/endpoints_discovery/merge_request.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/endpoints_discovery/merge_request_manager.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/external_resources/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/external_resources/aws.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/external_resources/cloudflare.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/external_resources/factories.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/external_resources/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/external_resources/integration_secrets_sync.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/external_resources/manager.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/external_resources/meta.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/external_resources/metrics.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/external_resources/model.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/external_resources/reconciler.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/external_resources/secrets_sync.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/external_resources/state.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/fleet_labeler/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/fleet_labeler/dependencies.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/fleet_labeler/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/fleet_labeler/merge_request.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/fleet_labeler/meta.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/fleet_labeler/metrics.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/fleet_labeler/ocm.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/fleet_labeler/validate.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/fleet_labeler/vcs.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gabi_authorized_users.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gcp_image_mirror.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/github_org.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/github_owners.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/github_repo_invites.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/github_repo_permissions_validator.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/github_validator.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gitlab_fork_compliance.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gitlab_housekeeping.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gitlab_labeler.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gitlab_members.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gitlab_mr_sqs_consumer.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gitlab_owners.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gitlab_permissions.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gitlab_projects.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/glitchtip/README.md +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/glitchtip/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/glitchtip/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/glitchtip/reconciler.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/glitchtip_project_alerts/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/glitchtip_project_alerts/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/glitchtip_project_dsn/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/glitchtip_project_dsn/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/acs/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/acs/acs_instances.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/acs/acs_policies.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/acs/acs_rbac.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/advanced_upgrade_service/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/advanced_upgrade_service/aus_clusters.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/advanced_upgrade_service/aus_organization.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/app_interface_metrics_exporter/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/app_interface_metrics_exporter/onboarding_status.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/app_sre_tekton_access_revalidation/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/app_sre_tekton_access_revalidation/roles.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/app_sre_tekton_access_revalidation/users.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/automated_actions/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/automated_actions/instance.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/aws_account_manager/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/aws_account_manager/aws_accounts.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/aws_ami_cleanup/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/aws_ami_cleanup/aws_accounts.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/aws_cloudwatch_log_retention/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/aws_cloudwatch_log_retention/aws_accounts.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/aws_saml_idp/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/aws_saml_idp/aws_accounts.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/aws_saml_roles/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/aws_saml_roles/aws_accounts.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/aws_saml_roles/roles.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/aws_version_sync/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/aws_version_sync/clusters.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/aws_version_sync/namespaces.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/change_owners/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/change_owners/queries/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/change_owners/queries/change_types.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/change_owners/queries/self_service_roles.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/cluster_auth_rhidp/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/cluster_auth_rhidp/clusters.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/common/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/common/alerting_services_settings.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/common/app_code_component_repos.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/common/app_interface_custom_messages.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/common/app_interface_dms_settings.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/common/app_interface_repo_settings.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/common/app_interface_roles.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/common/app_interface_state_settings.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/common/app_interface_vault_settings.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/common/app_quay_repos_escalation_policies.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/common/apps.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/common/aws_vpc_requests.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/common/aws_vpcs.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/common/clusters.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/common/clusters_minimal.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/common/clusters_with_dms.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/common/clusters_with_peering.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/common/github_orgs.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/common/jira_settings.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/common/jiralert_settings.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/common/ldap_settings.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/common/namespaces.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/common/namespaces_minimal.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/common/ocm_env_telemeter.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/common/ocm_environments.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/common/pagerduty_instances.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/common/pgp_reencryption_settings.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/common/pipeline_providers.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/common/quay_instances.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/common/quay_orgs.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/common/reserved_networks.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/common/rhcs_provider_settings.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/common/saas_files.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/common/saas_target_namespaces.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/common/saasherder_settings.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/common/slack_workspaces.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/common/smtp_client_settings.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/common/state_aws_account.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/common/users.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/common/users_with_paths.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/cost_report/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/cost_report/app_names.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/cost_report/cost_namespaces.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/cost_report/settings.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/dashdotdb_slo/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/dashdotdb_slo/slo_documents_query.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/dynatrace_token_provider/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/dynatrace_token_provider/dynatrace_bootstrap_tokens.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/dynatrace_token_provider/token_specs.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/email_sender/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/email_sender/apps.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/email_sender/emails.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/email_sender/users.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/endpoints_discovery/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/endpoints_discovery/apps.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/external_resources/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/external_resources/aws_accounts.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/external_resources/external_resources_modules.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/external_resources/external_resources_namespaces.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/external_resources/external_resources_settings.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/external_resources/fragments/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/external_resources/fragments/external_resources_module_overrides.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/fleet_labeler/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/fleet_labeler/fleet_labels.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/fragments/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/fragments/aus_organization.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/fragments/aws_account_common.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/fragments/aws_account_managed.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/fragments/aws_account_sso.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/fragments/aws_infra_management_account.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/fragments/aws_organization.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/fragments/aws_vpc.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/fragments/aws_vpc_request.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/fragments/container_image_mirror.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/fragments/deploy_resources.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/fragments/disable.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/fragments/email_service.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/fragments/email_user.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/fragments/jumphost_common_fields.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/fragments/membership_source.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/fragments/minimal_ocm_organization.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/fragments/oc_connection_cluster.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/fragments/ocm_environment.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/fragments/pipeline_provider_retention.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/fragments/prometheus_instance.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/fragments/resource_limits_requirements.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/fragments/resource_requests_requirements.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/fragments/resource_values.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/fragments/saas_slo_document.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/fragments/saas_target_namespace.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/fragments/serviceaccount_token.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/fragments/terraform_state.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/fragments/upgrade_policy.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/fragments/user.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/fragments/vault_secret.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/gcp/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/gcp/gcp_docker_repos.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/gcp/gcp_projects.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/gitlab_members/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/gitlab_members/gitlab_instances.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/gitlab_members/permissions.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/glitchtip/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/glitchtip/glitchtip_instance.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/glitchtip/glitchtip_project.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/glitchtip_project_alerts/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/glitchtip_project_alerts/glitchtip_project.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/integrations/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/integrations/integrations.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/introspection.json +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/jenkins_configs/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/jenkins_configs/jenkins_configs.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/jenkins_configs/jenkins_instances.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/jira/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/jira/jira_servers.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/jira_permissions_validator/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/jira_permissions_validator/jira_boards_for_permissions_validator.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/jumphosts/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/jumphosts/jumphosts.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/ldap_groups/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/ldap_groups/roles.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/ldap_groups/settings.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/maintenance/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/maintenance/maintenances.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/membershipsources/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/membershipsources/roles.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/ocm_labels/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/ocm_labels/clusters.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/ocm_labels/organizations.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/openshift_cluster_bots/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/openshift_cluster_bots/clusters.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/openshift_groups/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/openshift_groups/managed_groups.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/openshift_groups/managed_roles.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/openshift_serviceaccount_tokens/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/openshift_serviceaccount_tokens/tokens.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/quay_membership/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/quay_membership/quay_membership.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/rhcs/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/rhcs/certs.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/rhcs/openshift_resource_rhcs_cert.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/rhidp/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/rhidp/organizations.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/service_dependencies/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/service_dependencies/jenkins_instance_fragment.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/service_dependencies/service_dependencies.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/sharding/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/sharding/aws_accounts.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/sharding/ocm_organization.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/skupper_network/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/skupper_network/site_controller_template.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/skupper_network/skupper_networks.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/slack_usergroups/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/slack_usergroups/clusters.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/slack_usergroups/permissions.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/slack_usergroups/users.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/slo_documents/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/slo_documents/slo_documents.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/status_board/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/status_board/status_board.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/statuspage/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/statuspage/statuspages.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/templating/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/templating/template_collection.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/templating/templates.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/terraform_cloudflare_dns/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/terraform_cloudflare_dns/app_interface_cloudflare_dns_settings.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/terraform_cloudflare_dns/terraform_cloudflare_zones.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/terraform_cloudflare_resources/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/terraform_cloudflare_resources/terraform_cloudflare_accounts.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/terraform_cloudflare_resources/terraform_cloudflare_resources.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/terraform_cloudflare_users/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/terraform_cloudflare_users/app_interface_setting_cloudflare_and_vault.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/terraform_cloudflare_users/terraform_cloudflare_roles.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/terraform_init/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/terraform_init/aws_accounts.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/terraform_repo/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/terraform_repo/terraform_repo.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/terraform_resources/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/terraform_resources/database_access_manager.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/terraform_resources/terraform_resources_namespaces.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/terraform_tgw_attachments/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/terraform_tgw_attachments/aws_accounts.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/unleash_feature_toggles/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/unleash_feature_toggles/feature_toggles.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/vault_instances/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/vault_instances/vault_instances.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/vault_policies/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/vault_policies/vault_policies.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/vpc_peerings_validator/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/vpc_peerings_validator/vpc_peerings_validator.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/gql_definitions/vpc_peerings_validator/vpc_peerings_validator_peered_cluster_fragment.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/integrations_manager.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/jenkins_base.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/jenkins_job_builder.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/jenkins_job_builds_cleaner.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/jenkins_roles.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/jenkins_webhooks.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/jenkins_webhooks_cleaner.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/jenkins_worker_fleets.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/jira_permissions_validator.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/ldap_groups/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/ldap_groups/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/ldap_users.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/mr_client_gateway.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/ocm/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/ocm/types.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/ocm_additional_routers.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/ocm_addons.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/ocm_addons_upgrade_tests_trigger.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/ocm_aws_infrastructure_access.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/ocm_clusters.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/ocm_external_configuration_labels.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/ocm_groups.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/ocm_internal_notifications/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/ocm_internal_notifications/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/ocm_labels/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/ocm_labels/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/ocm_machine_pools.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/ocm_update_recommended_version.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/ocm_upgrade_scheduler_org_updater.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/openshift_base.py +0 -0
- {qontract_reconcile-0.10.2.dev481/reconcile/oum → qontract_reconcile-0.10.2.dev484/reconcile/openshift_bindings}/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/openshift_cluster_bots.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/openshift_groups.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/openshift_limitranges.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/openshift_namespace_labels.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/openshift_namespaces.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/openshift_network_policies.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/openshift_prometheus_rules.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/openshift_resourcequotas.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/openshift_resources.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/openshift_resources_base.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/openshift_rhcs_certs.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/openshift_routes.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/openshift_saas_deploy.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/openshift_saas_deploy_change_tester.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/openshift_saas_deploy_trigger_base.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/openshift_saas_deploy_trigger_cleaner.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/openshift_saas_deploy_trigger_configs.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/openshift_saas_deploy_trigger_images.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/openshift_saas_deploy_trigger_moving_commits.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/openshift_saas_deploy_trigger_upstream_jobs.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/openshift_serviceaccount_tokens.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/openshift_tekton_resources.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/openshift_upgrade_watcher.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/openshift_vault_secrets.py +0 -0
- {qontract_reconcile-0.10.2.dev481/reconcile/prometheus_rules_tester → qontract_reconcile-0.10.2.dev484/reconcile/oum}/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/oum/base.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/oum/labelset.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/oum/metrics.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/oum/models.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/oum/providers.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/oum/standalone.py +0 -0
- {qontract_reconcile-0.10.2.dev481/reconcile/rhidp → qontract_reconcile-0.10.2.dev484/reconcile/prometheus_rules_tester}/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/prometheus_rules_tester/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/quay_base.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/quay_membership.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/quay_mirror.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/quay_mirror_org.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/quay_permissions.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/quay_repos.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/queries.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/query_validator.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/requests_sender.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/resource_scraper.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/resource_template_tester.py +0 -0
- {qontract_reconcile-0.10.2.dev481/reconcile/rhidp/ocm_oidc_idp → qontract_reconcile-0.10.2.dev484/reconcile/rhidp}/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/rhidp/common.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/rhidp/metrics.py +0 -0
- {qontract_reconcile-0.10.2.dev481/reconcile/rhidp/sso_client → qontract_reconcile-0.10.2.dev484/reconcile/rhidp/ocm_oidc_idp}/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/rhidp/ocm_oidc_idp/base.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/rhidp/ocm_oidc_idp/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/rhidp/ocm_oidc_idp/metrics.py +0 -0
- {qontract_reconcile-0.10.2.dev481/reconcile/saas_auto_promotions_manager → qontract_reconcile-0.10.2.dev484/reconcile/rhidp/sso_client}/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/rhidp/sso_client/base.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/rhidp/sso_client/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/rhidp/sso_client/metrics.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/run_integration.py +0 -0
- {qontract_reconcile-0.10.2.dev481/reconcile/saas_auto_promotions_manager/merge_request_manager → qontract_reconcile-0.10.2.dev484/reconcile/saas_auto_promotions_manager}/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/saas_auto_promotions_manager/dependencies.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/saas_auto_promotions_manager/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev481/reconcile/saas_auto_promotions_manager/utils → qontract_reconcile-0.10.2.dev484/reconcile/saas_auto_promotions_manager/merge_request_manager}/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/saas_auto_promotions_manager/merge_request_manager/batcher.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/saas_auto_promotions_manager/merge_request_manager/desired_state.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/saas_auto_promotions_manager/merge_request_manager/merge_request.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/saas_auto_promotions_manager/merge_request_manager/merge_request_manager_v2.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/saas_auto_promotions_manager/merge_request_manager/metrics.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/saas_auto_promotions_manager/merge_request_manager/mr_parser.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/saas_auto_promotions_manager/merge_request_manager/open_merge_requests.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/saas_auto_promotions_manager/merge_request_manager/renderer.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/saas_auto_promotions_manager/meta.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/saas_auto_promotions_manager/publisher.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/saas_auto_promotions_manager/s3_exporter.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/saas_auto_promotions_manager/subscriber.py +0 -0
- {qontract_reconcile-0.10.2.dev481/reconcile/skupper_network → qontract_reconcile-0.10.2.dev484/reconcile/saas_auto_promotions_manager/utils}/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/saas_auto_promotions_manager/utils/saas_files_inventory.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/saas_file_validator.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/sendgrid_teammates.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/service_dependencies.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/signalfx_endpoint_monitoring.py +0 -0
- {qontract_reconcile-0.10.2.dev481/reconcile/statuspage → qontract_reconcile-0.10.2.dev484/reconcile/skupper_network}/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/skupper_network/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/skupper_network/models.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/skupper_network/reconciler.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/skupper_network/site_controller.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/slack_base.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/slack_usergroups.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/sql_query.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/status.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/status_board.py +0 -0
- {qontract_reconcile-0.10.2.dev481/reconcile/statuspage/integrations → qontract_reconcile-0.10.2.dev484/reconcile/statuspage}/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/statuspage/atlassian.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/statuspage/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev481/reconcile/templates → qontract_reconcile-0.10.2.dev484/reconcile/statuspage/integrations}/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/statuspage/integrations/components.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/statuspage/integrations/maintenances.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/statuspage/page.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/statuspage/state.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/statuspage/status.py +0 -0
- {qontract_reconcile-0.10.2.dev481/reconcile/templating → qontract_reconcile-0.10.2.dev484/reconcile/templates}/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/templates/aws_access_key_email.j2 +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/templates/email.yml.j2 +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/templates/jira-checkpoint-missinginfo.j2 +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/templates/rosa-classic-cluster-creation.sh.j2 +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/templates/rosa-hcp-cluster-creation.sh.j2 +0 -0
- {qontract_reconcile-0.10.2.dev481/reconcile/templating/lib → qontract_reconcile-0.10.2.dev484/reconcile/templating}/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481/reconcile/terraform_init → qontract_reconcile-0.10.2.dev484/reconcile/templating/lib}/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/templating/lib/merge_request_manager.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/templating/lib/model.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/templating/lib/rendering.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/templating/renderer.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/templating/validator.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/terraform_aws_route53.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/terraform_cloudflare_dns.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/terraform_cloudflare_resources.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/terraform_cloudflare_users.py +0 -0
- {qontract_reconcile-0.10.2.dev481/reconcile/terraform_vpc_resources → qontract_reconcile-0.10.2.dev484/reconcile/terraform_init}/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/terraform_init/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/terraform_init/merge_request.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/terraform_init/merge_request_manager.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/terraform_repo.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/terraform_resources.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/terraform_tgw_attachments.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/terraform_users.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/terraform_vpc_peerings.py +0 -0
- {qontract_reconcile-0.10.2.dev481/reconcile/typed_queries/app_interface_metrics_exporter → qontract_reconcile-0.10.2.dev484/reconcile/terraform_vpc_resources}/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/terraform_vpc_resources/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/terraform_vpc_resources/merge_request.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/terraform_vpc_resources/merge_request_manager.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/alerting_services_settings.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/app_interface_custom_messages.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/app_interface_deadmanssnitch_settings.py +0 -0
- {qontract_reconcile-0.10.2.dev481/reconcile/typed_queries/cost_report → qontract_reconcile-0.10.2.dev484/reconcile/typed_queries/app_interface_metrics_exporter}/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/app_interface_metrics_exporter/onboarding_status.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/app_interface_metrics_exporter/terraform_repo.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/app_interface_repo_url.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/app_interface_roles.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/app_interface_state_settings.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/app_interface_vault_settings.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/app_quay_repos_escalation_policies.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/apps.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/aws_account_tags.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/aws_cloudwatch_log_retention/aws_accounts.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/aws_vpc_requests.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/aws_vpcs.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/cloudflare.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/clusters.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/clusters_minimal.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/clusters_with_dms.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/clusters_with_peering.py +0 -0
- {qontract_reconcile-0.10.2.dev481/reconcile/typed_queries/terraform_tgw_attachments → qontract_reconcile-0.10.2.dev484/reconcile/typed_queries/cost_report}/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/cost_report/app_names.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/cost_report/cost_namespaces.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/cost_report/settings.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/dynatrace.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/dynatrace_environments.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/dynatrace_token_provider_token_specs.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/external_resources.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/fleet_labels.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/get_state_aws_account.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/github_orgs.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/gitlab_instances.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/glitchtip.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/jenkins.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/jira.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/jira_settings.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/jiralert_settings.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/ldap_settings.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/namespaces.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/namespaces_minimal.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/ocm.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/pagerduty_instances.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/quay.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/repos.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/reserved_networks.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/rhcs_provider_settings.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/saas_files.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/slack.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/slo_documents.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/smtp.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/status_board.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/tekton_pipeline_providers.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/terraform_namespaces.py +0 -0
- {qontract_reconcile-0.10.2.dev481/reconcile/unleash_feature_toggles → qontract_reconcile-0.10.2.dev484/reconcile/typed_queries/terraform_tgw_attachments}/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/terraform_tgw_attachments/aws_accounts.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/unleash.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/users.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/users_with_paths.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/typed_queries/vault.py +0 -0
- {qontract_reconcile-0.10.2.dev481/reconcile/utils → qontract_reconcile-0.10.2.dev484/reconcile/unleash_feature_toggles}/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/unleash_feature_toggles/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev481/reconcile/utils/acs → qontract_reconcile-0.10.2.dev484/reconcile/utils}/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481/reconcile/utils/aws_api_typed → qontract_reconcile-0.10.2.dev484/reconcile/utils/acs}/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/acs/base.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/acs/policies.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/acs/rbac.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/aggregated_list.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/amtool.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/aws_api.py +0 -0
- {qontract_reconcile-0.10.2.dev481/reconcile/utils/cloud_resource_best_practice → qontract_reconcile-0.10.2.dev484/reconcile/utils/aws_api_typed}/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/aws_api_typed/account.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/aws_api_typed/api.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/aws_api_typed/cloudformation.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/aws_api_typed/dynamodb.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/aws_api_typed/iam.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/aws_api_typed/logs.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/aws_api_typed/organization.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/aws_api_typed/s3.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/aws_api_typed/service_quotas.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/aws_api_typed/sts.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/aws_api_typed/support.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/aws_helper.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/batches.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/binary.py +0 -0
- {qontract_reconcile-0.10.2.dev481/reconcile/utils/clusterhealth → qontract_reconcile-0.10.2.dev484/reconcile/utils/cloud_resource_best_practice}/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/cloud_resource_best_practice/aws_rds.py +0 -0
- {qontract_reconcile-0.10.2.dev481/reconcile/utils/dynatrace → qontract_reconcile-0.10.2.dev484/reconcile/utils/clusterhealth}/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/clusterhealth/providerbase.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/clusterhealth/telemeter.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/config.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/constants.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/datetime_util.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/deadmanssnitch_api.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/defer.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/differ.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/disabled_integrations.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/dnsutils.py +0 -0
- {qontract_reconcile-0.10.2.dev481/reconcile/utils/internal_groups → qontract_reconcile-0.10.2.dev484/reconcile/utils/dynatrace}/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/dynatrace/client.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/early_exit_cache.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/elasticsearch_exceptions.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/environ.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/exceptions.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/expiration.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/extended_early_exit.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/external_resource_spec.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/external_resources.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/filtering.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/git.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/github_api.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/gitlab_api.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/glitchtip/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/glitchtip/client.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/glitchtip/models.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/gpg.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/gql.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/grouping.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/helm.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/helpers.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/imap_client.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/instrumented_wrappers.py +0 -0
- {qontract_reconcile-0.10.2.dev481/reconcile/utils/jinja2 → qontract_reconcile-0.10.2.dev484/reconcile/utils/internal_groups}/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/internal_groups/client.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/internal_groups/models.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/jenkins_api.py +0 -0
- {qontract_reconcile-0.10.2.dev481/reconcile/utils/jobcontroller → qontract_reconcile-0.10.2.dev484/reconcile/utils/jinja2}/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/jinja2/extensions.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/jinja2/filters.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/jinja2/utils.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/jira_client.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/jjb_client.py +0 -0
- {qontract_reconcile-0.10.2.dev481/reconcile/utils/membershipsources → qontract_reconcile-0.10.2.dev484/reconcile/utils/jobcontroller}/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/jobcontroller/controller.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/jobcontroller/models.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/json.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/jsonpath.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/jump_host.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/keycloak.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/ldap_client.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/lean_terraform_client.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/make.py +0 -0
- {qontract_reconcile-0.10.2.dev481/reconcile/utils/merge_request_manager → qontract_reconcile-0.10.2.dev484/reconcile/utils/membershipsources}/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/membershipsources/app_interface_resolver.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/membershipsources/models.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/membershipsources/resolver.py +0 -0
- {qontract_reconcile-0.10.2.dev481/reconcile/utils/rosa → qontract_reconcile-0.10.2.dev484/reconcile/utils/merge_request_manager}/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/merge_request_manager/merge_request_manager.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/merge_request_manager/parser.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/metrics.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/models.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/mr/README.md +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/mr/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/mr/app_interface_reporter.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/mr/app_sre_tekton_access_report.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/mr/aws_access.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/mr/base.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/mr/clusters_updates.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/mr/glitchtip_access_reporter.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/mr/labels.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/mr/notificator.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/mr/ocm_update_recommended_version.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/mr/ocm_upgrade_scheduler_org_updates.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/mr/promote_qontract.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/mr/update_access_report_base.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/mr/user_maintenance.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/oauth2_backend_application_session.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/oc.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/oc_connection_parameters.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/oc_filters.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/oc_map.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/ocm/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/ocm/addons.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/ocm/base.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/ocm/cluster_groups.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/ocm/clusters.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/ocm/identity_providers.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/ocm/label_sources.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/ocm/labels.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/ocm/manifests.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/ocm/ocm.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/ocm/products.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/ocm/search_filters.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/ocm/service_log.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/ocm/sre_capability_labels.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/ocm/status_board.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/ocm/subscriptions.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/ocm/syncsets.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/ocm/upgrades.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/ocm_base_client.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/openshift_resource.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/openssl.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/output.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/pagerduty_api.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/parse_dhms_duration.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/password_validator.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/prometheus.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/promotion_state.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/promtool.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/quay_api.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/quay_mirror.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/raw_github_api.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/repo_owners.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/rest_api_base.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/rhcsv2_certs.py +0 -0
- {qontract_reconcile-0.10.2.dev481/reconcile/utils/terrascript → qontract_reconcile-0.10.2.dev484/reconcile/utils/rosa}/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/rosa/rosa_cli.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/rosa/session.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/ruamel.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/runtime/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/runtime/desired_state_diff.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/runtime/environment.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/runtime/integration.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/runtime/meta.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/runtime/runner.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/runtime/sharding.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/saasherder/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/saasherder/interfaces.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/saasherder/models.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/saasherder/saasherder.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/secret_reader.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/semver_helper.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/sharding.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/slack_api.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/slo_document_manager.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/sloth.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/smtp_client.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/sqs_gateway.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/state.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/structs.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/terraform/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/terraform/config.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/terraform/config_client.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/terraform_client.py +0 -0
- {qontract_reconcile-0.10.2.dev481/tools → qontract_reconcile-0.10.2.dev484/reconcile/utils/terrascript}/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/terrascript/cloudflare_client.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/terrascript/cloudflare_resources.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/terrascript/models.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/terrascript/resources.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/terrascript_aws_client.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/three_way_diff_strategy.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/throughput.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/unleash/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/unleash/client.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/unleash/server.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/vault.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/utils/vcs.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/vault_replication.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/reconcile/vpc_peerings_validator.py +0 -0
- {qontract_reconcile-0.10.2.dev481/tools/cli_commands → qontract_reconcile-0.10.2.dev484/tools}/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/tools/alert_report.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/tools/app_interface_metrics_exporter.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/tools/app_interface_reporter.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/tools/app_sre_tekton_access_reporter.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/tools/app_sre_tekton_access_revalidation.py +0 -0
- {qontract_reconcile-0.10.2.dev481/tools/cli_commands/cost_report → qontract_reconcile-0.10.2.dev484/tools/cli_commands}/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/tools/cli_commands/container_images_report.py +0 -0
- {qontract_reconcile-0.10.2.dev481/tools/saas_metrics_exporter → qontract_reconcile-0.10.2.dev484/tools/cli_commands/cost_report}/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/tools/cli_commands/cost_report/aws.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/tools/cli_commands/cost_report/cost_management_api.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/tools/cli_commands/cost_report/model.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/tools/cli_commands/cost_report/openshift.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/tools/cli_commands/cost_report/openshift_cost_optimization.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/tools/cli_commands/cost_report/response.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/tools/cli_commands/cost_report/util.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/tools/cli_commands/cost_report/view.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/tools/cli_commands/erv2.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/tools/cli_commands/gpg_encrypt.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/tools/cli_commands/systems_and_tools.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/tools/glitchtip_access_reporter.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/tools/glitchtip_access_revalidation.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/tools/qontract_cli.py +0 -0
- {qontract_reconcile-0.10.2.dev481/tools/saas_metrics_exporter/commit_distance → qontract_reconcile-0.10.2.dev484/tools/saas_metrics_exporter}/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481/tools/saas_promotion_state → qontract_reconcile-0.10.2.dev484/tools/saas_metrics_exporter/commit_distance}/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/tools/saas_metrics_exporter/commit_distance/channel.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/tools/saas_metrics_exporter/commit_distance/commit_distance.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/tools/saas_metrics_exporter/commit_distance/metrics.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/tools/saas_metrics_exporter/main.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/tools/saas_promotion_state/saas_promotion_state.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/tools/sre_checkpoints/__init__.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/tools/sre_checkpoints/util.py +0 -0
- {qontract_reconcile-0.10.2.dev481 → qontract_reconcile-0.10.2.dev484}/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.dev484
|
|
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
|
|
@@ -776,16 +776,25 @@ def github_validator(ctx: click.Context) -> None:
|
|
|
776
776
|
@use_jump_host()
|
|
777
777
|
@click.pass_context
|
|
778
778
|
def openshift_clusterrolebindings(
|
|
779
|
-
ctx: click.Context,
|
|
779
|
+
ctx: click.Context,
|
|
780
|
+
thread_pool_size: int,
|
|
781
|
+
internal: bool,
|
|
782
|
+
use_jump_host: bool,
|
|
780
783
|
) -> None:
|
|
781
|
-
|
|
784
|
+
from reconcile.openshift_bindings.openshift_clusterrolebindings import (
|
|
785
|
+
OpenShiftClusterRoleBindingsIntegration,
|
|
786
|
+
OpenShiftClusterRoleBindingsIntegrationParams,
|
|
787
|
+
)
|
|
782
788
|
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
+
run_class_integration(
|
|
790
|
+
integration=OpenShiftClusterRoleBindingsIntegration(
|
|
791
|
+
OpenShiftClusterRoleBindingsIntegrationParams(
|
|
792
|
+
thread_pool_size=thread_pool_size,
|
|
793
|
+
internal=internal,
|
|
794
|
+
use_jump_host=use_jump_host,
|
|
795
|
+
)
|
|
796
|
+
),
|
|
797
|
+
ctx=ctx,
|
|
789
798
|
)
|
|
790
799
|
|
|
791
800
|
|
|
@@ -808,15 +817,21 @@ def openshift_rolebindings(
|
|
|
808
817
|
use_jump_host: bool,
|
|
809
818
|
support_role_ref: bool,
|
|
810
819
|
) -> None:
|
|
811
|
-
|
|
820
|
+
from reconcile.openshift_bindings.openshift_rolebindings import (
|
|
821
|
+
OpenShiftRoleBindingsIntegration,
|
|
822
|
+
OpenShiftRoleBindingsIntegrationParams,
|
|
823
|
+
)
|
|
812
824
|
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
825
|
+
run_class_integration(
|
|
826
|
+
integration=OpenShiftRoleBindingsIntegration(
|
|
827
|
+
OpenShiftRoleBindingsIntegrationParams(
|
|
828
|
+
thread_pool_size=thread_pool_size,
|
|
829
|
+
internal=internal,
|
|
830
|
+
use_jump_host=use_jump_host,
|
|
831
|
+
support_role_ref=support_role_ref,
|
|
832
|
+
)
|
|
833
|
+
),
|
|
834
|
+
ctx=ctx,
|
|
820
835
|
)
|
|
821
836
|
|
|
822
837
|
|
qontract_reconcile-0.10.2.dev484/reconcile/gql_definitions/common/app_interface_clusterrole.py
ADDED
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Generated by qenerate plugin=pydantic_v2. DO NOT MODIFY MANUALLY!
|
|
3
|
+
"""
|
|
4
|
+
from collections.abc import Callable # noqa: F401 # pylint: disable=W0611
|
|
5
|
+
from datetime import datetime # noqa: F401 # pylint: disable=W0611
|
|
6
|
+
from enum import Enum # noqa: F401 # pylint: disable=W0611
|
|
7
|
+
from typing import ( # noqa: F401 # pylint: disable=W0611
|
|
8
|
+
Any,
|
|
9
|
+
Optional,
|
|
10
|
+
Union,
|
|
11
|
+
)
|
|
12
|
+
|
|
13
|
+
from pydantic import ( # noqa: F401 # pylint: disable=W0611
|
|
14
|
+
BaseModel,
|
|
15
|
+
ConfigDict,
|
|
16
|
+
Field,
|
|
17
|
+
Json,
|
|
18
|
+
)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
DEFINITION = """
|
|
22
|
+
query AppInterfaceClusterRoles {
|
|
23
|
+
clusterRoles: roles_v1 {
|
|
24
|
+
name
|
|
25
|
+
users {
|
|
26
|
+
org_username
|
|
27
|
+
github_username
|
|
28
|
+
}
|
|
29
|
+
bots {
|
|
30
|
+
openshift_serviceaccount
|
|
31
|
+
}
|
|
32
|
+
access {
|
|
33
|
+
cluster {
|
|
34
|
+
name
|
|
35
|
+
auth {
|
|
36
|
+
service
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
clusterRole
|
|
40
|
+
}
|
|
41
|
+
expirationDate
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
"""
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
class ConfiguredBaseModel(BaseModel):
|
|
48
|
+
model_config = ConfigDict(
|
|
49
|
+
extra='forbid'
|
|
50
|
+
)
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
class UserV1(ConfiguredBaseModel):
|
|
54
|
+
org_username: str = Field(..., alias="org_username")
|
|
55
|
+
github_username: str = Field(..., alias="github_username")
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
class BotV1(ConfiguredBaseModel):
|
|
59
|
+
openshift_serviceaccount: Optional[str] = Field(..., alias="openshift_serviceaccount")
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
class ClusterAuthV1(ConfiguredBaseModel):
|
|
63
|
+
service: str = Field(..., alias="service")
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
class ClusterV1(ConfiguredBaseModel):
|
|
67
|
+
name: str = Field(..., alias="name")
|
|
68
|
+
auth: list[ClusterAuthV1] = Field(..., alias="auth")
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
class AccessV1(ConfiguredBaseModel):
|
|
72
|
+
cluster: Optional[ClusterV1] = Field(..., alias="cluster")
|
|
73
|
+
cluster_role: Optional[str] = Field(..., alias="clusterRole")
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
class RoleV1(ConfiguredBaseModel):
|
|
77
|
+
name: str = Field(..., alias="name")
|
|
78
|
+
users: list[UserV1] = Field(..., alias="users")
|
|
79
|
+
bots: list[BotV1] = Field(..., alias="bots")
|
|
80
|
+
access: Optional[list[AccessV1]] = Field(..., alias="access")
|
|
81
|
+
expiration_date: Optional[str] = Field(..., alias="expirationDate")
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
class AppInterfaceClusterRolesQueryData(ConfiguredBaseModel):
|
|
85
|
+
cluster_roles: Optional[list[RoleV1]] = Field(..., alias="clusterRoles")
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
def query(query_func: Callable, **kwargs: Any) -> AppInterfaceClusterRolesQueryData:
|
|
89
|
+
"""
|
|
90
|
+
This is a convenience function which queries and parses the data into
|
|
91
|
+
concrete types. It should be compatible with most GQL clients.
|
|
92
|
+
You do not have to use it to consume the generated data classes.
|
|
93
|
+
Alternatively, you can also mime and alternate the behavior
|
|
94
|
+
of this function in the caller.
|
|
95
|
+
|
|
96
|
+
Parameters:
|
|
97
|
+
query_func (Callable): Function which queries your GQL Server
|
|
98
|
+
kwargs: optional arguments that will be passed to the query function
|
|
99
|
+
|
|
100
|
+
Returns:
|
|
101
|
+
AppInterfaceClusterRolesQueryData: queried data parsed into generated classes
|
|
102
|
+
"""
|
|
103
|
+
raw_data: dict[Any, Any] = query_func(DEFINITION, **kwargs)
|
|
104
|
+
return AppInterfaceClusterRolesQueryData(**raw_data)
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
OPENSHIFT_ROLEBINDINGS_INTEGRATION_NAME = "openshift-rolebindings"
|
|
2
|
+
OPENSHIFT_CLUSTERROLEBINDINGS_INTEGRATION_NAME = "openshift-clusterrolebindings"
|
|
3
|
+
|
|
4
|
+
ROLE_BINDING_RESOURCE_KIND = "RoleBinding"
|
|
5
|
+
CLUSTER_ROLE_BINDING_RESOURCE_KIND = "ClusterRoleBinding"
|
|
6
|
+
ROLE_KIND = "Role"
|
|
7
|
+
CLUSTER_ROLE_KIND = "ClusterRole"
|
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
"""Shared data models for openshift-rolebindings and openshift-clusterrolebindings integrations."""
|
|
2
|
+
|
|
3
|
+
from collections.abc import Sequence
|
|
4
|
+
from typing import Any, Self
|
|
5
|
+
|
|
6
|
+
from pydantic import BaseModel
|
|
7
|
+
|
|
8
|
+
import reconcile.openshift_base as ob
|
|
9
|
+
from reconcile.gql_definitions.common.app_interface_clusterrole import (
|
|
10
|
+
BotV1 as ClusterBotV1,
|
|
11
|
+
)
|
|
12
|
+
from reconcile.gql_definitions.common.app_interface_clusterrole import (
|
|
13
|
+
ClusterV1 as ClusterRoleClusterV1,
|
|
14
|
+
)
|
|
15
|
+
from reconcile.gql_definitions.common.app_interface_clusterrole import (
|
|
16
|
+
RoleV1 as ClusterRoleV1,
|
|
17
|
+
)
|
|
18
|
+
from reconcile.gql_definitions.common.app_interface_clusterrole import (
|
|
19
|
+
UserV1 as ClusterUserV1,
|
|
20
|
+
)
|
|
21
|
+
from reconcile.gql_definitions.common.app_interface_roles import (
|
|
22
|
+
AccessV1,
|
|
23
|
+
NamespaceV1,
|
|
24
|
+
RoleV1,
|
|
25
|
+
UserV1,
|
|
26
|
+
)
|
|
27
|
+
from reconcile.gql_definitions.common.app_interface_roles import (
|
|
28
|
+
BotV1 as RoleBotV1,
|
|
29
|
+
)
|
|
30
|
+
from reconcile.gql_definitions.common.app_interface_roles import (
|
|
31
|
+
ClusterV1 as RoleClusterV1,
|
|
32
|
+
)
|
|
33
|
+
from reconcile.openshift_bindings.constants import (
|
|
34
|
+
CLUSTER_ROLE_BINDING_RESOURCE_KIND,
|
|
35
|
+
CLUSTER_ROLE_KIND,
|
|
36
|
+
ROLE_BINDING_RESOURCE_KIND,
|
|
37
|
+
ROLE_KIND,
|
|
38
|
+
)
|
|
39
|
+
from reconcile.openshift_bindings.utils import is_valid_namespace
|
|
40
|
+
from reconcile.utils.openshift_resource import OpenshiftResource as OR
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
def get_usernames_from_users(
|
|
44
|
+
users: Sequence[UserV1 | ClusterUserV1] | None,
|
|
45
|
+
user_keys: list[str] | None = None,
|
|
46
|
+
) -> set[str]:
|
|
47
|
+
return {
|
|
48
|
+
name
|
|
49
|
+
for user in users or []
|
|
50
|
+
for user_key in user_keys or []
|
|
51
|
+
if (name := getattr(user, user_key, None))
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
class OCResource(BaseModel, arbitrary_types_allowed=True):
|
|
56
|
+
"""Represents an OpenShift resource with metadata."""
|
|
57
|
+
|
|
58
|
+
resource: OR
|
|
59
|
+
resource_name: str
|
|
60
|
+
privileged: bool = False
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
class OCResourceData(BaseModel):
|
|
64
|
+
body: dict[str, Any]
|
|
65
|
+
name: str
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
class ServiceAccountSpec(BaseModel):
|
|
69
|
+
"""Service account specification with namespace and name."""
|
|
70
|
+
|
|
71
|
+
sa_namespace_name: str
|
|
72
|
+
sa_name: str
|
|
73
|
+
|
|
74
|
+
@classmethod
|
|
75
|
+
def from_bots(cls, bots: Sequence[RoleBotV1 | ClusterBotV1] | None) -> list[Self]:
|
|
76
|
+
"""Create ServiceAccountSpec list from bot configurations."""
|
|
77
|
+
return [
|
|
78
|
+
cls(
|
|
79
|
+
sa_namespace_name=full_service_account[0],
|
|
80
|
+
sa_name=full_service_account[1],
|
|
81
|
+
)
|
|
82
|
+
for bot in bots or []
|
|
83
|
+
if bot.openshift_serviceaccount
|
|
84
|
+
and (full_service_account := bot.openshift_serviceaccount.split("/"))
|
|
85
|
+
and len(full_service_account) == 2
|
|
86
|
+
]
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
class BindingSpec(BaseModel, arbitrary_types_allowed=True):
|
|
90
|
+
"""Base specification for role bindings (cluster or namespace scoped)."""
|
|
91
|
+
|
|
92
|
+
role_name: str
|
|
93
|
+
role_kind: str # "Role" or "ClusterRole"
|
|
94
|
+
cluster: RoleClusterV1 | ClusterRoleClusterV1
|
|
95
|
+
resource_kind: str
|
|
96
|
+
usernames: set[str]
|
|
97
|
+
openshift_service_accounts: list[ServiceAccountSpec]
|
|
98
|
+
|
|
99
|
+
def get_oc_resources(self) -> list[OCResourceData]:
|
|
100
|
+
user_oc_resources = [
|
|
101
|
+
self.construct_user_oc_resource(username) for username in self.usernames
|
|
102
|
+
]
|
|
103
|
+
sa_oc_resources = [
|
|
104
|
+
self.construct_sa_oc_resource(sa.sa_namespace_name, sa.sa_name)
|
|
105
|
+
for sa in self.openshift_service_accounts
|
|
106
|
+
]
|
|
107
|
+
return user_oc_resources + sa_oc_resources
|
|
108
|
+
|
|
109
|
+
def construct_user_oc_resource(self, username: str) -> OCResourceData:
|
|
110
|
+
name = f"{self.role_name}-{username}"
|
|
111
|
+
body: dict[str, Any] = {
|
|
112
|
+
"apiVersion": "rbac.authorization.k8s.io/v1",
|
|
113
|
+
"kind": self.resource_kind,
|
|
114
|
+
"metadata": {"name": name},
|
|
115
|
+
"roleRef": {"kind": self.role_kind, "name": self.role_name},
|
|
116
|
+
"subjects": [{"kind": "User", "name": username}],
|
|
117
|
+
}
|
|
118
|
+
return OCResourceData(body=body, name=name)
|
|
119
|
+
|
|
120
|
+
def construct_sa_oc_resource(
|
|
121
|
+
self, sa_namespace_name: str, sa_name: str
|
|
122
|
+
) -> OCResourceData:
|
|
123
|
+
name = f"{self.role_name}-{sa_namespace_name}-{sa_name}"
|
|
124
|
+
body: dict[str, Any] = {
|
|
125
|
+
"apiVersion": "rbac.authorization.k8s.io/v1",
|
|
126
|
+
"kind": self.resource_kind,
|
|
127
|
+
"metadata": {"name": name},
|
|
128
|
+
"roleRef": {"kind": self.role_kind, "name": self.role_name},
|
|
129
|
+
"subjects": [
|
|
130
|
+
{
|
|
131
|
+
"kind": "ServiceAccount",
|
|
132
|
+
"name": sa_name,
|
|
133
|
+
"namespace": sa_namespace_name,
|
|
134
|
+
}
|
|
135
|
+
],
|
|
136
|
+
}
|
|
137
|
+
return OCResourceData(body=body, name=name)
|
|
138
|
+
|
|
139
|
+
def get_openshift_resources(
|
|
140
|
+
self,
|
|
141
|
+
integration_name: str,
|
|
142
|
+
integration_version: str,
|
|
143
|
+
privileged: bool = False,
|
|
144
|
+
) -> list[OCResource]:
|
|
145
|
+
oc_resources = [
|
|
146
|
+
OCResource(
|
|
147
|
+
resource=OR(
|
|
148
|
+
oc_resource_data.body,
|
|
149
|
+
integration_name,
|
|
150
|
+
integration_version,
|
|
151
|
+
error_details=oc_resource_data.name,
|
|
152
|
+
),
|
|
153
|
+
resource_name=oc_resource_data.name,
|
|
154
|
+
privileged=privileged,
|
|
155
|
+
)
|
|
156
|
+
for oc_resource_data in self.get_oc_resources()
|
|
157
|
+
]
|
|
158
|
+
return oc_resources
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
class RoleBindingSpec(BindingSpec):
|
|
162
|
+
"""Namespace-scoped RoleBinding specification."""
|
|
163
|
+
|
|
164
|
+
namespace: NamespaceV1
|
|
165
|
+
privileged: bool = False
|
|
166
|
+
|
|
167
|
+
@classmethod
|
|
168
|
+
def create_role_binding_spec(
|
|
169
|
+
cls,
|
|
170
|
+
access: AccessV1,
|
|
171
|
+
users: list[UserV1] | None = None,
|
|
172
|
+
enforced_user_keys: list[str] | None = None,
|
|
173
|
+
bots: list[RoleBotV1] | None = None,
|
|
174
|
+
support_role_ref: bool = False,
|
|
175
|
+
) -> Self | None:
|
|
176
|
+
"""Create a RoleBindingSpec from access configuration."""
|
|
177
|
+
if not access.namespace:
|
|
178
|
+
return None
|
|
179
|
+
if not (access.role or access.cluster_role):
|
|
180
|
+
return None
|
|
181
|
+
privileged = access.namespace.cluster_admin or False
|
|
182
|
+
auth_dict = [
|
|
183
|
+
auth.model_dump(by_alias=True) for auth in access.namespace.cluster.auth
|
|
184
|
+
]
|
|
185
|
+
usernames = get_usernames_from_users(
|
|
186
|
+
users,
|
|
187
|
+
ob.determine_user_keys_for_access(
|
|
188
|
+
access.namespace.cluster.name,
|
|
189
|
+
auth_dict,
|
|
190
|
+
enforced_user_keys,
|
|
191
|
+
),
|
|
192
|
+
)
|
|
193
|
+
service_accounts = ServiceAccountSpec.from_bots(bots) if bots else []
|
|
194
|
+
role_kind = ROLE_KIND if access.role and support_role_ref else CLUSTER_ROLE_KIND
|
|
195
|
+
return cls(
|
|
196
|
+
role_name=access.role or access.cluster_role,
|
|
197
|
+
role_kind=role_kind,
|
|
198
|
+
namespace=access.namespace,
|
|
199
|
+
cluster=access.namespace.cluster,
|
|
200
|
+
privileged=privileged,
|
|
201
|
+
usernames=usernames,
|
|
202
|
+
openshift_service_accounts=service_accounts,
|
|
203
|
+
resource_kind=ROLE_BINDING_RESOURCE_KIND,
|
|
204
|
+
)
|
|
205
|
+
|
|
206
|
+
@classmethod
|
|
207
|
+
def create_rb_specs_from_role(
|
|
208
|
+
cls,
|
|
209
|
+
role: RoleV1,
|
|
210
|
+
enforced_user_keys: list[str] | None = None,
|
|
211
|
+
support_role_ref: bool = False,
|
|
212
|
+
) -> list[Self]:
|
|
213
|
+
"""Create list of RoleBindingSpec from a role configuration."""
|
|
214
|
+
rolebinding_spec_list = [
|
|
215
|
+
role_binding_spec
|
|
216
|
+
for access in role.access or []
|
|
217
|
+
if (
|
|
218
|
+
access.namespace
|
|
219
|
+
and is_valid_namespace(access.namespace)
|
|
220
|
+
and (
|
|
221
|
+
role_binding_spec := cls.create_role_binding_spec(
|
|
222
|
+
access,
|
|
223
|
+
role.users,
|
|
224
|
+
enforced_user_keys,
|
|
225
|
+
role.bots,
|
|
226
|
+
support_role_ref,
|
|
227
|
+
)
|
|
228
|
+
)
|
|
229
|
+
)
|
|
230
|
+
]
|
|
231
|
+
return rolebinding_spec_list
|
|
232
|
+
|
|
233
|
+
|
|
234
|
+
class ClusterRoleBindingSpec(BindingSpec):
|
|
235
|
+
"""Cluster-scoped ClusterRoleBinding specification."""
|
|
236
|
+
|
|
237
|
+
@classmethod
|
|
238
|
+
def create_cluster_role_binding_specs(
|
|
239
|
+
cls, cluster_role: ClusterRoleV1
|
|
240
|
+
) -> list[Self]:
|
|
241
|
+
cluster_role_binding_specs = [
|
|
242
|
+
cls(
|
|
243
|
+
cluster=access.cluster,
|
|
244
|
+
usernames=get_usernames_from_users(
|
|
245
|
+
users=cluster_role.users,
|
|
246
|
+
user_keys=cls.get_user_keys(access.cluster),
|
|
247
|
+
),
|
|
248
|
+
openshift_service_accounts=ServiceAccountSpec.from_bots(
|
|
249
|
+
cluster_role.bots
|
|
250
|
+
),
|
|
251
|
+
role_name=access.cluster_role,
|
|
252
|
+
role_kind=CLUSTER_ROLE_KIND,
|
|
253
|
+
resource_kind=CLUSTER_ROLE_BINDING_RESOURCE_KIND,
|
|
254
|
+
)
|
|
255
|
+
for access in cluster_role.access or []
|
|
256
|
+
if access.cluster and access.cluster_role
|
|
257
|
+
]
|
|
258
|
+
return cluster_role_binding_specs
|
|
259
|
+
|
|
260
|
+
@classmethod
|
|
261
|
+
def get_user_keys(cls, cluster: ClusterRoleClusterV1) -> list[str] | None:
|
|
262
|
+
auth_dict = [auth.model_dump(by_alias=True) for auth in cluster.auth]
|
|
263
|
+
user_keys = ob.determine_user_keys_for_access(cluster.name, auth_dict)
|
|
264
|
+
return user_keys
|
qontract_reconcile-0.10.2.dev484/reconcile/openshift_bindings/openshift_clusterrolebindings.py
ADDED
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
"""OpenShift ClusterRoleBindings integration.
|
|
2
|
+
|
|
3
|
+
Manages cluster-scoped ClusterRoleBindings across OpenShift clusters.
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
import sys
|
|
7
|
+
from collections.abc import Callable
|
|
8
|
+
from typing import TYPE_CHECKING
|
|
9
|
+
|
|
10
|
+
import reconcile.openshift_base as ob
|
|
11
|
+
from reconcile.openshift_bindings.constants import (
|
|
12
|
+
OPENSHIFT_CLUSTERROLEBINDINGS_INTEGRATION_NAME,
|
|
13
|
+
)
|
|
14
|
+
from reconcile.openshift_bindings.models import ClusterRoleBindingSpec
|
|
15
|
+
from reconcile.typed_queries.app_interface_clusterroles import (
|
|
16
|
+
get_app_interface_clusterroles,
|
|
17
|
+
)
|
|
18
|
+
from reconcile.typed_queries.clusters import get_clusters
|
|
19
|
+
from reconcile.utils import expiration
|
|
20
|
+
from reconcile.utils.constants import DEFAULT_THREAD_POOL_SIZE
|
|
21
|
+
from reconcile.utils.defer import defer
|
|
22
|
+
from reconcile.utils.oc import OC_Map
|
|
23
|
+
from reconcile.utils.openshift_resource import ResourceInventory
|
|
24
|
+
from reconcile.utils.runtime.integration import (
|
|
25
|
+
PydanticRunParams,
|
|
26
|
+
QontractReconcileIntegration,
|
|
27
|
+
)
|
|
28
|
+
from reconcile.utils.semver_helper import make_semver
|
|
29
|
+
|
|
30
|
+
if TYPE_CHECKING:
|
|
31
|
+
from reconcile.gql_definitions.common.app_interface_clusterrole import RoleV1
|
|
32
|
+
|
|
33
|
+
QONTRACT_INTEGRATION_VERSION = make_semver(0, 1, 0)
|
|
34
|
+
QONTRACT_INTEGRATION_MANAGED_TYPE = "ClusterRoleBinding.rbac.authorization.k8s.io"
|
|
35
|
+
NAMESPACE_CLUSTER_SCOPE = "cluster"
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
class OpenShiftClusterRoleBindingsIntegrationParams(PydanticRunParams):
|
|
39
|
+
thread_pool_size: int = DEFAULT_THREAD_POOL_SIZE
|
|
40
|
+
internal: bool | None = None
|
|
41
|
+
use_jump_host: bool = True
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
class OpenShiftClusterRoleBindingsIntegration(
|
|
45
|
+
QontractReconcileIntegration[OpenShiftClusterRoleBindingsIntegrationParams],
|
|
46
|
+
):
|
|
47
|
+
"""Manages ClusterRoleBindings across OpenShift clusters."""
|
|
48
|
+
|
|
49
|
+
@defer
|
|
50
|
+
def run(self, dry_run: bool, defer: Callable | None = None) -> None:
|
|
51
|
+
ri, oc_map = self.fetch_current_state()
|
|
52
|
+
if defer:
|
|
53
|
+
defer(oc_map.cleanup)
|
|
54
|
+
self.fetch_desired_state(
|
|
55
|
+
ri,
|
|
56
|
+
allowed_clusters=set(oc_map.clusters()),
|
|
57
|
+
)
|
|
58
|
+
ob.publish_metrics(ri, self.name)
|
|
59
|
+
ob.realize_data(dry_run, oc_map, ri, self.params.thread_pool_size)
|
|
60
|
+
if ri.has_error_registered():
|
|
61
|
+
sys.exit(1)
|
|
62
|
+
|
|
63
|
+
@property
|
|
64
|
+
def name(self) -> str:
|
|
65
|
+
return OPENSHIFT_CLUSTERROLEBINDINGS_INTEGRATION_NAME
|
|
66
|
+
|
|
67
|
+
@property
|
|
68
|
+
def integration_version(self) -> str:
|
|
69
|
+
return QONTRACT_INTEGRATION_VERSION
|
|
70
|
+
|
|
71
|
+
def fetch_current_state(self) -> tuple[ResourceInventory, OC_Map]:
|
|
72
|
+
clusters = [
|
|
73
|
+
cluster.model_dump(by_alias=True)
|
|
74
|
+
for cluster in get_clusters()
|
|
75
|
+
if cluster.managed_cluster_roles and cluster.automation_token is not None
|
|
76
|
+
]
|
|
77
|
+
return ob.fetch_current_state(
|
|
78
|
+
clusters=clusters,
|
|
79
|
+
thread_pool_size=self.params.thread_pool_size,
|
|
80
|
+
integration=self.name,
|
|
81
|
+
integration_version=self.integration_version,
|
|
82
|
+
override_managed_types=[QONTRACT_INTEGRATION_MANAGED_TYPE],
|
|
83
|
+
internal=self.params.internal,
|
|
84
|
+
use_jump_host=self.params.use_jump_host,
|
|
85
|
+
)
|
|
86
|
+
|
|
87
|
+
def fetch_desired_state(
|
|
88
|
+
self,
|
|
89
|
+
ri: ResourceInventory | None,
|
|
90
|
+
allowed_clusters: set[str] | None = None,
|
|
91
|
+
) -> None:
|
|
92
|
+
if allowed_clusters is not None and not allowed_clusters:
|
|
93
|
+
return
|
|
94
|
+
if ri is None:
|
|
95
|
+
return
|
|
96
|
+
cluster_roles: list[RoleV1] = expiration.filter(
|
|
97
|
+
get_app_interface_clusterroles()
|
|
98
|
+
)
|
|
99
|
+
cluster_role_binding_specs = [
|
|
100
|
+
cluster_role_binding_spec
|
|
101
|
+
for cluster_role in cluster_roles
|
|
102
|
+
for cluster_role_binding_spec in ClusterRoleBindingSpec.create_cluster_role_binding_specs(
|
|
103
|
+
cluster_role
|
|
104
|
+
)
|
|
105
|
+
]
|
|
106
|
+
if allowed_clusters:
|
|
107
|
+
cluster_role_binding_specs = [
|
|
108
|
+
cluster_role_binding_spec
|
|
109
|
+
for cluster_role_binding_spec in cluster_role_binding_specs
|
|
110
|
+
if cluster_role_binding_spec.cluster.name in allowed_clusters
|
|
111
|
+
]
|
|
112
|
+
for cluster_role_binding_spec in cluster_role_binding_specs:
|
|
113
|
+
for oc_resource in cluster_role_binding_spec.get_openshift_resources(
|
|
114
|
+
self.name,
|
|
115
|
+
self.integration_version,
|
|
116
|
+
):
|
|
117
|
+
if not ri.get_desired(
|
|
118
|
+
cluster_role_binding_spec.cluster.name,
|
|
119
|
+
NAMESPACE_CLUSTER_SCOPE,
|
|
120
|
+
QONTRACT_INTEGRATION_MANAGED_TYPE,
|
|
121
|
+
oc_resource.resource_name,
|
|
122
|
+
):
|
|
123
|
+
ri.add_desired(
|
|
124
|
+
cluster=cluster_role_binding_spec.cluster.name,
|
|
125
|
+
namespace=NAMESPACE_CLUSTER_SCOPE,
|
|
126
|
+
resource_type=QONTRACT_INTEGRATION_MANAGED_TYPE,
|
|
127
|
+
name=oc_resource.resource_name,
|
|
128
|
+
value=oc_resource.resource,
|
|
129
|
+
)
|