qontract-reconcile 0.10.0__py3-none-any.whl → 0.10.1.dev1203__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (844) hide show
  1. qontract_reconcile-0.10.1.dev1203.dist-info/METADATA +500 -0
  2. qontract_reconcile-0.10.1.dev1203.dist-info/RECORD +771 -0
  3. {qontract_reconcile-0.10.0.dist-info → qontract_reconcile-0.10.1.dev1203.dist-info}/WHEEL +1 -2
  4. {qontract_reconcile-0.10.0.dist-info → qontract_reconcile-0.10.1.dev1203.dist-info}/entry_points.txt +4 -2
  5. reconcile/acs_notifiers.py +126 -0
  6. reconcile/acs_policies.py +243 -0
  7. reconcile/acs_rbac.py +596 -0
  8. reconcile/aus/advanced_upgrade_service.py +621 -8
  9. reconcile/aus/aus_label_source.py +115 -0
  10. reconcile/aus/base.py +1053 -353
  11. reconcile/{utils → aus}/cluster_version_data.py +27 -12
  12. reconcile/aus/healthchecks.py +77 -0
  13. reconcile/aus/metrics.py +158 -0
  14. reconcile/aus/models.py +245 -5
  15. reconcile/aus/node_pool_spec.py +35 -0
  16. reconcile/aus/ocm_addons_upgrade_scheduler_org.py +225 -110
  17. reconcile/aus/ocm_upgrade_scheduler.py +76 -71
  18. reconcile/aus/ocm_upgrade_scheduler_org.py +81 -23
  19. reconcile/aus/version_gate_approver.py +204 -0
  20. reconcile/aus/version_gates/__init__.py +12 -0
  21. reconcile/aus/version_gates/handler.py +33 -0
  22. reconcile/aus/version_gates/ingress_gate_handler.py +32 -0
  23. reconcile/aus/version_gates/ocp_gate_handler.py +26 -0
  24. reconcile/aus/version_gates/sts_version_gate_handler.py +100 -0
  25. reconcile/aws_account_manager/README.md +5 -0
  26. reconcile/aws_account_manager/integration.py +373 -0
  27. reconcile/aws_account_manager/merge_request_manager.py +114 -0
  28. reconcile/aws_account_manager/metrics.py +39 -0
  29. reconcile/aws_account_manager/reconciler.py +403 -0
  30. reconcile/aws_account_manager/utils.py +41 -0
  31. reconcile/aws_ami_cleanup/integration.py +273 -0
  32. reconcile/aws_ami_share.py +18 -14
  33. reconcile/aws_cloudwatch_log_retention/integration.py +253 -0
  34. reconcile/aws_iam_keys.py +1 -1
  35. reconcile/aws_iam_password_reset.py +56 -20
  36. reconcile/aws_saml_idp/integration.py +204 -0
  37. reconcile/aws_saml_roles/integration.py +322 -0
  38. reconcile/aws_support_cases_sos.py +2 -2
  39. reconcile/aws_version_sync/integration.py +430 -0
  40. reconcile/aws_version_sync/merge_request_manager/merge_request.py +156 -0
  41. reconcile/aws_version_sync/merge_request_manager/merge_request_manager.py +160 -0
  42. reconcile/aws_version_sync/utils.py +64 -0
  43. reconcile/blackbox_exporter_endpoint_monitoring.py +2 -5
  44. reconcile/change_owners/README.md +34 -0
  45. reconcile/change_owners/approver.py +7 -9
  46. reconcile/change_owners/bundle.py +134 -9
  47. reconcile/change_owners/change_log_tracking.py +236 -0
  48. reconcile/change_owners/change_owners.py +204 -194
  49. reconcile/change_owners/change_types.py +183 -265
  50. reconcile/change_owners/changes.py +488 -0
  51. reconcile/change_owners/decision.py +120 -41
  52. reconcile/change_owners/diff.py +63 -92
  53. reconcile/change_owners/implicit_ownership.py +19 -16
  54. reconcile/change_owners/self_service_roles.py +158 -35
  55. reconcile/change_owners/tester.py +20 -18
  56. reconcile/checkpoint.py +4 -6
  57. reconcile/cli.py +1523 -242
  58. reconcile/closedbox_endpoint_monitoring_base.py +10 -17
  59. reconcile/cluster_auth_rhidp/integration.py +257 -0
  60. reconcile/cluster_deployment_mapper.py +2 -5
  61. reconcile/cna/assets/asset.py +4 -7
  62. reconcile/cna/assets/null.py +2 -5
  63. reconcile/cna/integration.py +2 -3
  64. reconcile/cna/state.py +6 -9
  65. reconcile/dashdotdb_base.py +31 -10
  66. reconcile/dashdotdb_cso.py +3 -6
  67. reconcile/dashdotdb_dora.py +530 -0
  68. reconcile/dashdotdb_dvo.py +10 -13
  69. reconcile/dashdotdb_slo.py +75 -19
  70. reconcile/database_access_manager.py +753 -0
  71. reconcile/deadmanssnitch.py +207 -0
  72. reconcile/dynatrace_token_provider/dependencies.py +69 -0
  73. reconcile/dynatrace_token_provider/integration.py +656 -0
  74. reconcile/dynatrace_token_provider/metrics.py +62 -0
  75. reconcile/dynatrace_token_provider/model.py +14 -0
  76. reconcile/dynatrace_token_provider/ocm.py +140 -0
  77. reconcile/dynatrace_token_provider/validate.py +48 -0
  78. reconcile/endpoints_discovery/integration.py +348 -0
  79. reconcile/endpoints_discovery/merge_request.py +96 -0
  80. reconcile/endpoints_discovery/merge_request_manager.py +178 -0
  81. reconcile/external_resources/aws.py +204 -0
  82. reconcile/external_resources/factories.py +163 -0
  83. reconcile/external_resources/integration.py +194 -0
  84. reconcile/external_resources/integration_secrets_sync.py +47 -0
  85. reconcile/external_resources/manager.py +405 -0
  86. reconcile/external_resources/meta.py +17 -0
  87. reconcile/external_resources/metrics.py +95 -0
  88. reconcile/external_resources/model.py +350 -0
  89. reconcile/external_resources/reconciler.py +265 -0
  90. reconcile/external_resources/secrets_sync.py +465 -0
  91. reconcile/external_resources/state.py +258 -0
  92. reconcile/gabi_authorized_users.py +19 -11
  93. reconcile/gcr_mirror.py +43 -34
  94. reconcile/github_org.py +4 -6
  95. reconcile/github_owners.py +1 -1
  96. reconcile/github_repo_invites.py +2 -5
  97. reconcile/gitlab_fork_compliance.py +14 -13
  98. reconcile/gitlab_housekeeping.py +185 -91
  99. reconcile/gitlab_labeler.py +15 -14
  100. reconcile/gitlab_members.py +126 -120
  101. reconcile/gitlab_owners.py +53 -66
  102. reconcile/gitlab_permissions.py +167 -6
  103. reconcile/glitchtip/README.md +150 -0
  104. reconcile/glitchtip/integration.py +99 -51
  105. reconcile/glitchtip/reconciler.py +99 -70
  106. reconcile/glitchtip_project_alerts/__init__.py +0 -0
  107. reconcile/glitchtip_project_alerts/integration.py +333 -0
  108. reconcile/glitchtip_project_dsn/integration.py +43 -43
  109. reconcile/gql_definitions/acs/__init__.py +0 -0
  110. reconcile/gql_definitions/acs/acs_instances.py +83 -0
  111. reconcile/gql_definitions/acs/acs_policies.py +239 -0
  112. reconcile/gql_definitions/acs/acs_rbac.py +111 -0
  113. reconcile/gql_definitions/advanced_upgrade_service/aus_clusters.py +46 -8
  114. reconcile/gql_definitions/advanced_upgrade_service/aus_organization.py +38 -8
  115. reconcile/gql_definitions/app_interface_metrics_exporter/__init__.py +0 -0
  116. reconcile/gql_definitions/app_interface_metrics_exporter/onboarding_status.py +61 -0
  117. reconcile/gql_definitions/aws_account_manager/__init__.py +0 -0
  118. reconcile/gql_definitions/aws_account_manager/aws_accounts.py +177 -0
  119. reconcile/gql_definitions/aws_ami_cleanup/__init__.py +0 -0
  120. reconcile/gql_definitions/aws_ami_cleanup/aws_accounts.py +161 -0
  121. reconcile/gql_definitions/aws_saml_idp/__init__.py +0 -0
  122. reconcile/gql_definitions/aws_saml_idp/aws_accounts.py +117 -0
  123. reconcile/gql_definitions/aws_saml_roles/__init__.py +0 -0
  124. reconcile/gql_definitions/aws_saml_roles/aws_accounts.py +117 -0
  125. reconcile/gql_definitions/aws_saml_roles/roles.py +97 -0
  126. reconcile/gql_definitions/aws_version_sync/__init__.py +0 -0
  127. reconcile/gql_definitions/aws_version_sync/clusters.py +83 -0
  128. reconcile/gql_definitions/aws_version_sync/namespaces.py +143 -0
  129. reconcile/gql_definitions/change_owners/queries/change_types.py +16 -29
  130. reconcile/gql_definitions/change_owners/queries/self_service_roles.py +45 -11
  131. reconcile/gql_definitions/cluster_auth_rhidp/__init__.py +0 -0
  132. reconcile/gql_definitions/cluster_auth_rhidp/clusters.py +128 -0
  133. reconcile/gql_definitions/cna/queries/cna_provisioners.py +6 -8
  134. reconcile/gql_definitions/cna/queries/cna_resources.py +3 -5
  135. reconcile/gql_definitions/common/alerting_services_settings.py +2 -2
  136. reconcile/gql_definitions/common/app_code_component_repos.py +9 -5
  137. reconcile/gql_definitions/{glitchtip/glitchtip_settings.py → common/app_interface_custom_messages.py} +14 -16
  138. reconcile/gql_definitions/common/app_interface_dms_settings.py +86 -0
  139. reconcile/gql_definitions/common/app_interface_repo_settings.py +2 -2
  140. reconcile/gql_definitions/common/app_interface_state_settings.py +3 -5
  141. reconcile/gql_definitions/common/app_interface_vault_settings.py +3 -5
  142. reconcile/gql_definitions/common/app_quay_repos_escalation_policies.py +120 -0
  143. reconcile/gql_definitions/common/apps.py +72 -0
  144. reconcile/gql_definitions/common/aws_vpc_requests.py +109 -0
  145. reconcile/gql_definitions/common/aws_vpcs.py +84 -0
  146. reconcile/gql_definitions/common/clusters.py +120 -254
  147. reconcile/gql_definitions/common/clusters_minimal.py +11 -35
  148. reconcile/gql_definitions/common/clusters_with_dms.py +72 -0
  149. reconcile/gql_definitions/common/clusters_with_peering.py +70 -98
  150. reconcile/gql_definitions/common/github_orgs.py +2 -2
  151. reconcile/gql_definitions/common/jira_settings.py +68 -0
  152. reconcile/gql_definitions/common/jiralert_settings.py +68 -0
  153. reconcile/gql_definitions/common/namespaces.py +74 -32
  154. reconcile/gql_definitions/common/namespaces_minimal.py +4 -10
  155. reconcile/gql_definitions/common/ocm_env_telemeter.py +95 -0
  156. reconcile/gql_definitions/common/ocm_environments.py +4 -2
  157. reconcile/gql_definitions/common/pagerduty_instances.py +5 -5
  158. reconcile/gql_definitions/common/pgp_reencryption_settings.py +5 -11
  159. reconcile/gql_definitions/common/pipeline_providers.py +45 -90
  160. reconcile/gql_definitions/common/quay_instances.py +64 -0
  161. reconcile/gql_definitions/common/quay_orgs.py +68 -0
  162. reconcile/gql_definitions/common/reserved_networks.py +94 -0
  163. reconcile/gql_definitions/common/saas_files.py +133 -95
  164. reconcile/gql_definitions/common/saas_target_namespaces.py +41 -26
  165. reconcile/gql_definitions/common/saasherder_settings.py +2 -2
  166. reconcile/gql_definitions/common/slack_workspaces.py +62 -0
  167. reconcile/gql_definitions/common/smtp_client_settings.py +2 -2
  168. reconcile/gql_definitions/common/state_aws_account.py +77 -0
  169. reconcile/gql_definitions/common/users.py +3 -2
  170. reconcile/gql_definitions/cost_report/__init__.py +0 -0
  171. reconcile/gql_definitions/cost_report/app_names.py +68 -0
  172. reconcile/gql_definitions/cost_report/cost_namespaces.py +86 -0
  173. reconcile/gql_definitions/cost_report/settings.py +77 -0
  174. reconcile/gql_definitions/dashdotdb_slo/slo_documents_query.py +42 -12
  175. reconcile/gql_definitions/dynatrace_token_provider/__init__.py +0 -0
  176. reconcile/gql_definitions/dynatrace_token_provider/dynatrace_bootstrap_tokens.py +79 -0
  177. reconcile/gql_definitions/dynatrace_token_provider/token_specs.py +84 -0
  178. reconcile/gql_definitions/endpoints_discovery/__init__.py +0 -0
  179. reconcile/gql_definitions/endpoints_discovery/namespaces.py +127 -0
  180. reconcile/gql_definitions/external_resources/__init__.py +0 -0
  181. reconcile/gql_definitions/external_resources/aws_accounts.py +73 -0
  182. reconcile/gql_definitions/external_resources/external_resources_modules.py +78 -0
  183. reconcile/gql_definitions/external_resources/external_resources_namespaces.py +1111 -0
  184. reconcile/gql_definitions/external_resources/external_resources_settings.py +98 -0
  185. reconcile/gql_definitions/fragments/aus_organization.py +34 -39
  186. reconcile/gql_definitions/fragments/aws_account_common.py +62 -0
  187. reconcile/gql_definitions/fragments/aws_account_managed.py +57 -0
  188. reconcile/gql_definitions/fragments/aws_account_sso.py +35 -0
  189. reconcile/gql_definitions/fragments/aws_infra_management_account.py +2 -2
  190. reconcile/gql_definitions/fragments/aws_vpc.py +47 -0
  191. reconcile/gql_definitions/fragments/aws_vpc_request.py +65 -0
  192. reconcile/gql_definitions/fragments/aws_vpc_request_subnet.py +29 -0
  193. reconcile/gql_definitions/fragments/deplopy_resources.py +7 -7
  194. reconcile/gql_definitions/fragments/disable.py +28 -0
  195. reconcile/gql_definitions/fragments/jumphost_common_fields.py +2 -2
  196. reconcile/gql_definitions/fragments/membership_source.py +47 -0
  197. reconcile/gql_definitions/fragments/minimal_ocm_organization.py +29 -0
  198. reconcile/gql_definitions/fragments/oc_connection_cluster.py +4 -9
  199. reconcile/gql_definitions/fragments/ocm_environment.py +5 -5
  200. reconcile/gql_definitions/fragments/pipeline_provider_retention.py +30 -0
  201. reconcile/gql_definitions/fragments/prometheus_instance.py +48 -0
  202. reconcile/gql_definitions/fragments/resource_limits_requirements.py +29 -0
  203. reconcile/gql_definitions/fragments/{resource_requirements.py → resource_requests_requirements.py} +3 -3
  204. reconcile/gql_definitions/fragments/resource_values.py +2 -2
  205. reconcile/gql_definitions/fragments/saas_target_namespace.py +55 -12
  206. reconcile/gql_definitions/fragments/serviceaccount_token.py +38 -0
  207. reconcile/gql_definitions/fragments/terraform_state.py +36 -0
  208. reconcile/gql_definitions/fragments/upgrade_policy.py +5 -3
  209. reconcile/gql_definitions/fragments/user.py +3 -2
  210. reconcile/gql_definitions/fragments/vault_secret.py +2 -2
  211. reconcile/gql_definitions/gitlab_members/gitlab_instances.py +6 -2
  212. reconcile/gql_definitions/gitlab_members/permissions.py +3 -5
  213. reconcile/gql_definitions/glitchtip/glitchtip_instance.py +16 -2
  214. reconcile/gql_definitions/glitchtip/glitchtip_project.py +22 -23
  215. reconcile/gql_definitions/glitchtip_project_alerts/__init__.py +0 -0
  216. reconcile/gql_definitions/glitchtip_project_alerts/glitchtip_project.py +173 -0
  217. reconcile/gql_definitions/integrations/integrations.py +62 -45
  218. reconcile/gql_definitions/introspection.json +51176 -0
  219. reconcile/gql_definitions/jenkins_configs/jenkins_configs.py +13 -5
  220. reconcile/gql_definitions/jenkins_configs/jenkins_instances.py +79 -0
  221. reconcile/gql_definitions/jira/__init__.py +0 -0
  222. reconcile/gql_definitions/jira/jira_servers.py +80 -0
  223. reconcile/gql_definitions/jira_permissions_validator/__init__.py +0 -0
  224. reconcile/gql_definitions/jira_permissions_validator/jira_boards_for_permissions_validator.py +131 -0
  225. reconcile/gql_definitions/jumphosts/jumphosts.py +3 -5
  226. reconcile/gql_definitions/ldap_groups/__init__.py +0 -0
  227. reconcile/gql_definitions/ldap_groups/roles.py +111 -0
  228. reconcile/gql_definitions/ldap_groups/settings.py +79 -0
  229. reconcile/gql_definitions/maintenance/__init__.py +0 -0
  230. reconcile/gql_definitions/maintenance/maintenances.py +101 -0
  231. reconcile/gql_definitions/membershipsources/__init__.py +0 -0
  232. reconcile/gql_definitions/membershipsources/roles.py +112 -0
  233. reconcile/gql_definitions/ocm_labels/__init__.py +0 -0
  234. reconcile/gql_definitions/ocm_labels/clusters.py +112 -0
  235. reconcile/gql_definitions/ocm_labels/organizations.py +78 -0
  236. reconcile/gql_definitions/ocm_subscription_labels/__init__.py +0 -0
  237. reconcile/gql_definitions/openshift_cluster_bots/__init__.py +0 -0
  238. reconcile/gql_definitions/openshift_cluster_bots/clusters.py +126 -0
  239. reconcile/gql_definitions/openshift_groups/managed_groups.py +2 -2
  240. reconcile/gql_definitions/openshift_groups/managed_roles.py +3 -2
  241. reconcile/gql_definitions/openshift_serviceaccount_tokens/__init__.py +0 -0
  242. reconcile/gql_definitions/openshift_serviceaccount_tokens/tokens.py +132 -0
  243. reconcile/gql_definitions/quay_membership/quay_membership.py +3 -5
  244. reconcile/gql_definitions/rhidp/__init__.py +0 -0
  245. reconcile/gql_definitions/rhidp/organizations.py +96 -0
  246. reconcile/gql_definitions/service_dependencies/jenkins_instance_fragment.py +2 -2
  247. reconcile/gql_definitions/service_dependencies/service_dependencies.py +9 -31
  248. reconcile/gql_definitions/sharding/aws_accounts.py +2 -2
  249. reconcile/gql_definitions/sharding/ocm_organization.py +63 -0
  250. reconcile/gql_definitions/skupper_network/site_controller_template.py +2 -2
  251. reconcile/gql_definitions/skupper_network/skupper_networks.py +12 -38
  252. reconcile/gql_definitions/slack_usergroups/clusters.py +2 -2
  253. reconcile/gql_definitions/slack_usergroups/permissions.py +8 -15
  254. reconcile/gql_definitions/slack_usergroups/users.py +3 -2
  255. reconcile/gql_definitions/slo_documents/__init__.py +0 -0
  256. reconcile/gql_definitions/slo_documents/slo_documents.py +142 -0
  257. reconcile/gql_definitions/status_board/__init__.py +0 -0
  258. reconcile/gql_definitions/status_board/status_board.py +163 -0
  259. reconcile/gql_definitions/statuspage/statuspages.py +56 -7
  260. reconcile/gql_definitions/templating/__init__.py +0 -0
  261. reconcile/gql_definitions/templating/template_collection.py +130 -0
  262. reconcile/gql_definitions/templating/templates.py +108 -0
  263. reconcile/gql_definitions/terraform_cloudflare_dns/app_interface_cloudflare_dns_settings.py +4 -8
  264. reconcile/gql_definitions/terraform_cloudflare_dns/terraform_cloudflare_zones.py +8 -8
  265. reconcile/gql_definitions/terraform_cloudflare_resources/terraform_cloudflare_accounts.py +6 -8
  266. reconcile/gql_definitions/terraform_cloudflare_resources/terraform_cloudflare_resources.py +45 -56
  267. reconcile/gql_definitions/terraform_cloudflare_users/app_interface_setting_cloudflare_and_vault.py +4 -8
  268. reconcile/gql_definitions/terraform_cloudflare_users/terraform_cloudflare_roles.py +4 -8
  269. reconcile/gql_definitions/terraform_init/__init__.py +0 -0
  270. reconcile/gql_definitions/terraform_init/aws_accounts.py +93 -0
  271. reconcile/gql_definitions/terraform_repo/__init__.py +0 -0
  272. reconcile/gql_definitions/terraform_repo/terraform_repo.py +141 -0
  273. reconcile/gql_definitions/terraform_resources/database_access_manager.py +158 -0
  274. reconcile/gql_definitions/terraform_resources/terraform_resources_namespaces.py +153 -162
  275. reconcile/gql_definitions/terraform_tgw_attachments/__init__.py +0 -0
  276. reconcile/gql_definitions/terraform_tgw_attachments/aws_accounts.py +119 -0
  277. reconcile/gql_definitions/unleash_feature_toggles/__init__.py +0 -0
  278. reconcile/gql_definitions/unleash_feature_toggles/feature_toggles.py +113 -0
  279. reconcile/gql_definitions/vault_instances/vault_instances.py +17 -50
  280. reconcile/gql_definitions/vault_policies/vault_policies.py +2 -2
  281. reconcile/gql_definitions/vpc_peerings_validator/vpc_peerings_validator.py +49 -12
  282. reconcile/gql_definitions/vpc_peerings_validator/vpc_peerings_validator_peered_cluster_fragment.py +7 -2
  283. reconcile/integrations_manager.py +25 -13
  284. reconcile/jenkins/types.py +5 -1
  285. reconcile/jenkins_base.py +36 -0
  286. reconcile/jenkins_job_builder.py +10 -48
  287. reconcile/jenkins_job_builds_cleaner.py +40 -25
  288. reconcile/jenkins_job_cleaner.py +1 -3
  289. reconcile/jenkins_roles.py +22 -26
  290. reconcile/jenkins_webhooks.py +9 -6
  291. reconcile/jenkins_worker_fleets.py +11 -6
  292. reconcile/jira_permissions_validator.py +340 -0
  293. reconcile/jira_watcher.py +3 -5
  294. reconcile/ldap_groups/__init__.py +0 -0
  295. reconcile/ldap_groups/integration.py +279 -0
  296. reconcile/ldap_users.py +3 -0
  297. reconcile/ocm/types.py +39 -59
  298. reconcile/ocm_additional_routers.py +0 -1
  299. reconcile/ocm_addons_upgrade_tests_trigger.py +10 -15
  300. reconcile/ocm_aws_infrastructure_access.py +30 -32
  301. reconcile/ocm_clusters.py +217 -130
  302. reconcile/ocm_external_configuration_labels.py +15 -0
  303. reconcile/ocm_github_idp.py +1 -1
  304. reconcile/ocm_groups.py +25 -5
  305. reconcile/ocm_internal_notifications/__init__.py +0 -0
  306. reconcile/ocm_internal_notifications/integration.py +119 -0
  307. reconcile/ocm_labels/__init__.py +0 -0
  308. reconcile/ocm_labels/integration.py +409 -0
  309. reconcile/ocm_machine_pools.py +517 -108
  310. reconcile/ocm_upgrade_scheduler_org_updater.py +15 -11
  311. reconcile/openshift_base.py +609 -207
  312. reconcile/openshift_cluster_bots.py +344 -0
  313. reconcile/openshift_clusterrolebindings.py +15 -15
  314. reconcile/openshift_groups.py +42 -45
  315. reconcile/openshift_limitranges.py +1 -0
  316. reconcile/openshift_namespace_labels.py +22 -28
  317. reconcile/openshift_namespaces.py +22 -22
  318. reconcile/openshift_network_policies.py +4 -8
  319. reconcile/openshift_prometheus_rules.py +43 -0
  320. reconcile/openshift_resourcequotas.py +2 -16
  321. reconcile/openshift_resources.py +12 -10
  322. reconcile/openshift_resources_base.py +304 -328
  323. reconcile/openshift_rolebindings.py +18 -20
  324. reconcile/openshift_saas_deploy.py +105 -21
  325. reconcile/openshift_saas_deploy_change_tester.py +30 -35
  326. reconcile/openshift_saas_deploy_trigger_base.py +39 -36
  327. reconcile/openshift_saas_deploy_trigger_cleaner.py +41 -27
  328. reconcile/openshift_saas_deploy_trigger_configs.py +1 -2
  329. reconcile/openshift_saas_deploy_trigger_images.py +1 -2
  330. reconcile/openshift_saas_deploy_trigger_moving_commits.py +1 -2
  331. reconcile/openshift_saas_deploy_trigger_upstream_jobs.py +1 -2
  332. reconcile/openshift_serviceaccount_tokens.py +138 -74
  333. reconcile/openshift_tekton_resources.py +89 -24
  334. reconcile/openshift_upgrade_watcher.py +110 -62
  335. reconcile/openshift_users.py +16 -15
  336. reconcile/openshift_vault_secrets.py +11 -6
  337. reconcile/oum/__init__.py +0 -0
  338. reconcile/oum/base.py +387 -0
  339. reconcile/oum/labelset.py +55 -0
  340. reconcile/oum/metrics.py +71 -0
  341. reconcile/oum/models.py +69 -0
  342. reconcile/oum/providers.py +59 -0
  343. reconcile/oum/standalone.py +196 -0
  344. reconcile/prometheus_rules_tester/integration.py +31 -23
  345. reconcile/quay_base.py +4 -1
  346. reconcile/quay_membership.py +1 -2
  347. reconcile/quay_mirror.py +111 -61
  348. reconcile/quay_mirror_org.py +34 -21
  349. reconcile/quay_permissions.py +7 -3
  350. reconcile/quay_repos.py +24 -32
  351. reconcile/queries.py +263 -198
  352. reconcile/query_validator.py +3 -5
  353. reconcile/resource_scraper.py +3 -4
  354. reconcile/{template_tester.py → resource_template_tester.py} +3 -3
  355. reconcile/rhidp/__init__.py +0 -0
  356. reconcile/rhidp/common.py +214 -0
  357. reconcile/rhidp/metrics.py +20 -0
  358. reconcile/rhidp/ocm_oidc_idp/__init__.py +0 -0
  359. reconcile/rhidp/ocm_oidc_idp/base.py +221 -0
  360. reconcile/rhidp/ocm_oidc_idp/integration.py +56 -0
  361. reconcile/rhidp/ocm_oidc_idp/metrics.py +22 -0
  362. reconcile/rhidp/sso_client/__init__.py +0 -0
  363. reconcile/rhidp/sso_client/base.py +266 -0
  364. reconcile/rhidp/sso_client/integration.py +60 -0
  365. reconcile/rhidp/sso_client/metrics.py +39 -0
  366. reconcile/run_integration.py +293 -0
  367. reconcile/saas_auto_promotions_manager/integration.py +69 -24
  368. reconcile/saas_auto_promotions_manager/merge_request_manager/batcher.py +208 -0
  369. reconcile/saas_auto_promotions_manager/merge_request_manager/desired_state.py +28 -0
  370. reconcile/saas_auto_promotions_manager/merge_request_manager/merge_request.py +3 -4
  371. reconcile/saas_auto_promotions_manager/merge_request_manager/merge_request_manager_v2.py +172 -0
  372. reconcile/saas_auto_promotions_manager/merge_request_manager/metrics.py +42 -0
  373. reconcile/saas_auto_promotions_manager/merge_request_manager/mr_parser.py +226 -0
  374. reconcile/saas_auto_promotions_manager/merge_request_manager/open_merge_requests.py +23 -0
  375. reconcile/saas_auto_promotions_manager/merge_request_manager/renderer.py +108 -32
  376. reconcile/saas_auto_promotions_manager/meta.py +4 -0
  377. reconcile/saas_auto_promotions_manager/publisher.py +32 -4
  378. reconcile/saas_auto_promotions_manager/s3_exporter.py +77 -0
  379. reconcile/saas_auto_promotions_manager/subscriber.py +110 -23
  380. reconcile/saas_auto_promotions_manager/utils/saas_files_inventory.py +48 -41
  381. reconcile/saas_file_validator.py +16 -6
  382. reconcile/sendgrid_teammates.py +27 -12
  383. reconcile/service_dependencies.py +0 -3
  384. reconcile/signalfx_endpoint_monitoring.py +2 -5
  385. reconcile/skupper_network/integration.py +10 -11
  386. reconcile/skupper_network/models.py +3 -5
  387. reconcile/skupper_network/reconciler.py +28 -35
  388. reconcile/skupper_network/site_controller.py +8 -8
  389. reconcile/slack_base.py +4 -7
  390. reconcile/slack_usergroups.py +249 -171
  391. reconcile/sql_query.py +324 -171
  392. reconcile/status.py +0 -1
  393. reconcile/status_board.py +275 -0
  394. reconcile/statuspage/__init__.py +0 -5
  395. reconcile/statuspage/atlassian.py +219 -80
  396. reconcile/statuspage/integration.py +9 -97
  397. reconcile/statuspage/integrations/__init__.py +0 -0
  398. reconcile/statuspage/integrations/components.py +77 -0
  399. reconcile/statuspage/integrations/maintenances.py +111 -0
  400. reconcile/statuspage/page.py +107 -72
  401. reconcile/statuspage/state.py +6 -11
  402. reconcile/statuspage/status.py +8 -12
  403. reconcile/templates/rosa-classic-cluster-creation.sh.j2 +60 -0
  404. reconcile/templates/rosa-hcp-cluster-creation.sh.j2 +61 -0
  405. reconcile/templating/__init__.py +0 -0
  406. reconcile/templating/lib/__init__.py +0 -0
  407. reconcile/templating/lib/merge_request_manager.py +180 -0
  408. reconcile/templating/lib/model.py +20 -0
  409. reconcile/templating/lib/rendering.py +191 -0
  410. reconcile/templating/renderer.py +410 -0
  411. reconcile/templating/validator.py +153 -0
  412. reconcile/terraform_aws_route53.py +13 -10
  413. reconcile/terraform_cloudflare_dns.py +92 -122
  414. reconcile/terraform_cloudflare_resources.py +15 -13
  415. reconcile/terraform_cloudflare_users.py +27 -27
  416. reconcile/terraform_init/__init__.py +0 -0
  417. reconcile/terraform_init/integration.py +165 -0
  418. reconcile/terraform_init/merge_request.py +57 -0
  419. reconcile/terraform_init/merge_request_manager.py +102 -0
  420. reconcile/terraform_repo.py +403 -0
  421. reconcile/terraform_resources.py +266 -168
  422. reconcile/terraform_tgw_attachments.py +417 -167
  423. reconcile/terraform_users.py +40 -17
  424. reconcile/terraform_vpc_peerings.py +310 -142
  425. reconcile/terraform_vpc_resources/__init__.py +0 -0
  426. reconcile/terraform_vpc_resources/integration.py +220 -0
  427. reconcile/terraform_vpc_resources/merge_request.py +57 -0
  428. reconcile/terraform_vpc_resources/merge_request_manager.py +107 -0
  429. reconcile/typed_queries/alerting_services_settings.py +1 -2
  430. reconcile/typed_queries/app_interface_custom_messages.py +24 -0
  431. reconcile/typed_queries/app_interface_deadmanssnitch_settings.py +17 -0
  432. reconcile/typed_queries/app_interface_metrics_exporter/__init__.py +0 -0
  433. reconcile/typed_queries/app_interface_metrics_exporter/onboarding_status.py +13 -0
  434. reconcile/typed_queries/app_interface_repo_url.py +1 -2
  435. reconcile/typed_queries/app_interface_state_settings.py +1 -3
  436. reconcile/typed_queries/app_interface_vault_settings.py +1 -2
  437. reconcile/typed_queries/app_quay_repos_escalation_policies.py +14 -0
  438. reconcile/typed_queries/apps.py +11 -0
  439. reconcile/typed_queries/aws_vpc_requests.py +9 -0
  440. reconcile/typed_queries/aws_vpcs.py +12 -0
  441. reconcile/typed_queries/cloudflare.py +10 -0
  442. reconcile/typed_queries/clusters.py +7 -5
  443. reconcile/typed_queries/clusters_minimal.py +6 -5
  444. reconcile/typed_queries/clusters_with_dms.py +16 -0
  445. reconcile/typed_queries/cost_report/__init__.py +0 -0
  446. reconcile/typed_queries/cost_report/app_names.py +22 -0
  447. reconcile/typed_queries/cost_report/cost_namespaces.py +43 -0
  448. reconcile/typed_queries/cost_report/settings.py +15 -0
  449. reconcile/typed_queries/dynatrace.py +10 -0
  450. reconcile/typed_queries/dynatrace_environments.py +14 -0
  451. reconcile/typed_queries/dynatrace_token_provider_token_specs.py +14 -0
  452. reconcile/typed_queries/external_resources.py +46 -0
  453. reconcile/typed_queries/get_state_aws_account.py +20 -0
  454. reconcile/typed_queries/glitchtip.py +10 -0
  455. reconcile/typed_queries/jenkins.py +25 -0
  456. reconcile/typed_queries/jira.py +7 -0
  457. reconcile/typed_queries/jira_settings.py +16 -0
  458. reconcile/typed_queries/jiralert_settings.py +22 -0
  459. reconcile/typed_queries/ocm.py +8 -0
  460. reconcile/typed_queries/pagerduty_instances.py +2 -7
  461. reconcile/typed_queries/quay.py +23 -0
  462. reconcile/typed_queries/repos.py +20 -8
  463. reconcile/typed_queries/reserved_networks.py +12 -0
  464. reconcile/typed_queries/saas_files.py +221 -167
  465. reconcile/typed_queries/slack.py +7 -0
  466. reconcile/typed_queries/slo_documents.py +12 -0
  467. reconcile/typed_queries/status_board.py +58 -0
  468. reconcile/typed_queries/tekton_pipeline_providers.py +1 -2
  469. reconcile/typed_queries/terraform_namespaces.py +1 -2
  470. reconcile/typed_queries/terraform_tgw_attachments/__init__.py +0 -0
  471. reconcile/typed_queries/terraform_tgw_attachments/aws_accounts.py +16 -0
  472. reconcile/typed_queries/unleash.py +10 -0
  473. reconcile/typed_queries/users.py +11 -0
  474. reconcile/typed_queries/vault.py +10 -0
  475. reconcile/unleash_feature_toggles/__init__.py +0 -0
  476. reconcile/unleash_feature_toggles/integration.py +287 -0
  477. reconcile/utils/acs/__init__.py +0 -0
  478. reconcile/utils/acs/base.py +81 -0
  479. reconcile/utils/acs/notifiers.py +143 -0
  480. reconcile/utils/acs/policies.py +163 -0
  481. reconcile/utils/acs/rbac.py +277 -0
  482. reconcile/utils/aggregated_list.py +11 -9
  483. reconcile/utils/amtool.py +6 -4
  484. reconcile/utils/aws_api.py +279 -66
  485. reconcile/utils/aws_api_typed/__init__.py +0 -0
  486. reconcile/utils/aws_api_typed/account.py +23 -0
  487. reconcile/utils/aws_api_typed/api.py +273 -0
  488. reconcile/utils/aws_api_typed/dynamodb.py +16 -0
  489. reconcile/utils/aws_api_typed/iam.py +67 -0
  490. reconcile/utils/aws_api_typed/organization.py +152 -0
  491. reconcile/utils/aws_api_typed/s3.py +26 -0
  492. reconcile/utils/aws_api_typed/service_quotas.py +79 -0
  493. reconcile/utils/aws_api_typed/sts.py +36 -0
  494. reconcile/utils/aws_api_typed/support.py +79 -0
  495. reconcile/utils/aws_helper.py +42 -3
  496. reconcile/utils/batches.py +11 -0
  497. reconcile/utils/binary.py +7 -9
  498. reconcile/utils/cloud_resource_best_practice/__init__.py +0 -0
  499. reconcile/utils/cloud_resource_best_practice/aws_rds.py +66 -0
  500. reconcile/utils/clusterhealth/__init__.py +0 -0
  501. reconcile/utils/clusterhealth/providerbase.py +39 -0
  502. reconcile/utils/clusterhealth/telemeter.py +39 -0
  503. reconcile/utils/config.py +3 -4
  504. reconcile/utils/deadmanssnitch_api.py +86 -0
  505. reconcile/utils/differ.py +205 -0
  506. reconcile/utils/disabled_integrations.py +4 -6
  507. reconcile/utils/dynatrace/__init__.py +0 -0
  508. reconcile/utils/dynatrace/client.py +93 -0
  509. reconcile/utils/early_exit_cache.py +289 -0
  510. reconcile/utils/elasticsearch_exceptions.py +5 -0
  511. reconcile/utils/environ.py +2 -2
  512. reconcile/utils/exceptions.py +4 -0
  513. reconcile/utils/expiration.py +4 -8
  514. reconcile/utils/extended_early_exit.py +210 -0
  515. reconcile/utils/external_resource_spec.py +34 -12
  516. reconcile/utils/external_resources.py +48 -20
  517. reconcile/utils/filtering.py +16 -0
  518. reconcile/utils/git.py +49 -16
  519. reconcile/utils/github_api.py +10 -9
  520. reconcile/utils/gitlab_api.py +333 -190
  521. reconcile/utils/glitchtip/client.py +97 -100
  522. reconcile/utils/glitchtip/models.py +89 -11
  523. reconcile/utils/gql.py +157 -58
  524. reconcile/utils/grouping.py +17 -0
  525. reconcile/utils/helm.py +89 -18
  526. reconcile/utils/helpers.py +51 -0
  527. reconcile/utils/imap_client.py +5 -6
  528. reconcile/utils/internal_groups/__init__.py +0 -0
  529. reconcile/utils/internal_groups/client.py +160 -0
  530. reconcile/utils/internal_groups/models.py +71 -0
  531. reconcile/utils/jenkins_api.py +10 -34
  532. reconcile/utils/jinja2/__init__.py +0 -0
  533. reconcile/utils/{jinja2_ext.py → jinja2/extensions.py} +6 -4
  534. reconcile/utils/jinja2/filters.py +142 -0
  535. reconcile/utils/jinja2/utils.py +278 -0
  536. reconcile/utils/jira_client.py +165 -8
  537. reconcile/utils/jjb_client.py +47 -35
  538. reconcile/utils/jobcontroller/__init__.py +0 -0
  539. reconcile/utils/jobcontroller/controller.py +413 -0
  540. reconcile/utils/jobcontroller/models.py +195 -0
  541. reconcile/utils/jsonpath.py +4 -5
  542. reconcile/utils/jump_host.py +13 -12
  543. reconcile/utils/keycloak.py +106 -0
  544. reconcile/utils/ldap_client.py +35 -6
  545. reconcile/utils/lean_terraform_client.py +115 -6
  546. reconcile/utils/membershipsources/__init__.py +0 -0
  547. reconcile/utils/membershipsources/app_interface_resolver.py +60 -0
  548. reconcile/utils/membershipsources/models.py +91 -0
  549. reconcile/utils/membershipsources/resolver.py +110 -0
  550. reconcile/utils/merge_request_manager/__init__.py +0 -0
  551. reconcile/utils/merge_request_manager/merge_request_manager.py +99 -0
  552. reconcile/utils/merge_request_manager/parser.py +67 -0
  553. reconcile/utils/metrics.py +511 -1
  554. reconcile/utils/models.py +123 -0
  555. reconcile/utils/mr/README.md +198 -0
  556. reconcile/utils/mr/__init__.py +14 -10
  557. reconcile/utils/mr/app_interface_reporter.py +2 -2
  558. reconcile/utils/mr/aws_access.py +4 -4
  559. reconcile/utils/mr/base.py +51 -31
  560. reconcile/utils/mr/clusters_updates.py +10 -7
  561. reconcile/utils/mr/glitchtip_access_reporter.py +2 -4
  562. reconcile/utils/mr/labels.py +14 -1
  563. reconcile/utils/mr/notificator.py +1 -3
  564. reconcile/utils/mr/ocm_update_recommended_version.py +1 -2
  565. reconcile/utils/mr/ocm_upgrade_scheduler_org_updates.py +7 -3
  566. reconcile/utils/mr/promote_qontract.py +203 -0
  567. reconcile/utils/mr/user_maintenance.py +24 -4
  568. reconcile/utils/oauth2_backend_application_session.py +132 -0
  569. reconcile/utils/oc.py +194 -170
  570. reconcile/utils/oc_connection_parameters.py +40 -51
  571. reconcile/utils/oc_filters.py +11 -13
  572. reconcile/utils/oc_map.py +14 -35
  573. reconcile/utils/ocm/__init__.py +30 -1
  574. reconcile/utils/ocm/addons.py +228 -0
  575. reconcile/utils/ocm/base.py +618 -5
  576. reconcile/utils/ocm/cluster_groups.py +5 -56
  577. reconcile/utils/ocm/clusters.py +111 -99
  578. reconcile/utils/ocm/identity_providers.py +66 -0
  579. reconcile/utils/ocm/label_sources.py +75 -0
  580. reconcile/utils/ocm/labels.py +139 -54
  581. reconcile/utils/ocm/manifests.py +39 -0
  582. reconcile/utils/ocm/ocm.py +182 -928
  583. reconcile/utils/ocm/products.py +758 -0
  584. reconcile/utils/ocm/search_filters.py +20 -28
  585. reconcile/utils/ocm/service_log.py +32 -79
  586. reconcile/utils/ocm/sre_capability_labels.py +51 -0
  587. reconcile/utils/ocm/status_board.py +66 -0
  588. reconcile/utils/ocm/subscriptions.py +49 -59
  589. reconcile/utils/ocm/syncsets.py +39 -0
  590. reconcile/utils/ocm/upgrades.py +181 -0
  591. reconcile/utils/ocm_base_client.py +71 -36
  592. reconcile/utils/openshift_resource.py +113 -67
  593. reconcile/utils/output.py +18 -11
  594. reconcile/utils/pagerduty_api.py +16 -10
  595. reconcile/utils/parse_dhms_duration.py +13 -1
  596. reconcile/utils/prometheus.py +123 -0
  597. reconcile/utils/promotion_state.py +56 -19
  598. reconcile/utils/promtool.py +5 -8
  599. reconcile/utils/quay_api.py +13 -25
  600. reconcile/utils/raw_github_api.py +3 -5
  601. reconcile/utils/repo_owners.py +2 -8
  602. reconcile/utils/rest_api_base.py +126 -0
  603. reconcile/utils/rosa/__init__.py +0 -0
  604. reconcile/utils/rosa/rosa_cli.py +310 -0
  605. reconcile/utils/rosa/session.py +201 -0
  606. reconcile/utils/ruamel.py +16 -0
  607. reconcile/utils/runtime/__init__.py +0 -1
  608. reconcile/utils/runtime/desired_state_diff.py +9 -20
  609. reconcile/utils/runtime/environment.py +33 -8
  610. reconcile/utils/runtime/integration.py +28 -12
  611. reconcile/utils/runtime/meta.py +1 -3
  612. reconcile/utils/runtime/runner.py +8 -11
  613. reconcile/utils/runtime/sharding.py +93 -36
  614. reconcile/utils/saasherder/__init__.py +1 -1
  615. reconcile/utils/saasherder/interfaces.py +143 -138
  616. reconcile/utils/saasherder/models.py +201 -43
  617. reconcile/utils/saasherder/saasherder.py +508 -378
  618. reconcile/utils/secret_reader.py +22 -27
  619. reconcile/utils/semver_helper.py +15 -1
  620. reconcile/utils/slack_api.py +124 -36
  621. reconcile/utils/smtp_client.py +1 -2
  622. reconcile/utils/sqs_gateway.py +10 -6
  623. reconcile/utils/state.py +276 -127
  624. reconcile/utils/terraform/config_client.py +6 -7
  625. reconcile/utils/terraform_client.py +284 -125
  626. reconcile/utils/terrascript/cloudflare_client.py +38 -17
  627. reconcile/utils/terrascript/cloudflare_resources.py +67 -18
  628. reconcile/utils/terrascript/models.py +2 -3
  629. reconcile/utils/terrascript/resources.py +1 -2
  630. reconcile/utils/terrascript_aws_client.py +1292 -540
  631. reconcile/utils/three_way_diff_strategy.py +157 -0
  632. reconcile/utils/unleash/__init__.py +11 -0
  633. reconcile/utils/{unleash.py → unleash/client.py} +35 -29
  634. reconcile/utils/unleash/server.py +145 -0
  635. reconcile/utils/vault.py +42 -32
  636. reconcile/utils/vaultsecretref.py +2 -4
  637. reconcile/utils/vcs.py +250 -0
  638. reconcile/vault_replication.py +38 -31
  639. reconcile/vpc_peerings_validator.py +82 -13
  640. tools/app_interface_metrics_exporter.py +70 -0
  641. tools/app_interface_reporter.py +44 -157
  642. tools/cli_commands/container_images_report.py +154 -0
  643. tools/cli_commands/cost_report/__init__.py +0 -0
  644. tools/cli_commands/cost_report/aws.py +137 -0
  645. tools/cli_commands/cost_report/cost_management_api.py +155 -0
  646. tools/cli_commands/cost_report/model.py +49 -0
  647. tools/cli_commands/cost_report/openshift.py +166 -0
  648. tools/cli_commands/cost_report/openshift_cost_optimization.py +187 -0
  649. tools/cli_commands/cost_report/response.py +124 -0
  650. tools/cli_commands/cost_report/util.py +72 -0
  651. tools/cli_commands/cost_report/view.py +524 -0
  652. tools/cli_commands/erv2.py +620 -0
  653. tools/cli_commands/gpg_encrypt.py +5 -8
  654. tools/cli_commands/systems_and_tools.py +489 -0
  655. tools/glitchtip_access_revalidation.py +1 -1
  656. tools/qontract_cli.py +2301 -673
  657. tools/saas_metrics_exporter/__init__.py +0 -0
  658. tools/saas_metrics_exporter/commit_distance/__init__.py +0 -0
  659. tools/saas_metrics_exporter/commit_distance/channel.py +63 -0
  660. tools/saas_metrics_exporter/commit_distance/commit_distance.py +103 -0
  661. tools/saas_metrics_exporter/commit_distance/metrics.py +19 -0
  662. tools/saas_metrics_exporter/main.py +99 -0
  663. tools/saas_promotion_state/__init__.py +0 -0
  664. tools/saas_promotion_state/saas_promotion_state.py +105 -0
  665. tools/sd_app_sre_alert_report.py +145 -0
  666. tools/template_validation.py +107 -0
  667. e2e_tests/cli.py +0 -83
  668. e2e_tests/create_namespace.py +0 -43
  669. e2e_tests/dedicated_admin_rolebindings.py +0 -44
  670. e2e_tests/dedicated_admin_test_base.py +0 -39
  671. e2e_tests/default_network_policies.py +0 -47
  672. e2e_tests/default_project_labels.py +0 -52
  673. e2e_tests/network_policy_test_base.py +0 -17
  674. e2e_tests/test_base.py +0 -56
  675. qontract_reconcile-0.10.0.dist-info/LICENSE +0 -201
  676. qontract_reconcile-0.10.0.dist-info/METADATA +0 -63
  677. qontract_reconcile-0.10.0.dist-info/RECORD +0 -586
  678. qontract_reconcile-0.10.0.dist-info/top_level.txt +0 -4
  679. reconcile/ecr_mirror.py +0 -152
  680. reconcile/github_scanner.py +0 -74
  681. reconcile/gitlab_integrations.py +0 -63
  682. reconcile/gql_definitions/ocm_oidc_idp/clusters.py +0 -195
  683. reconcile/gql_definitions/ocp_release_mirror/ocp_release_mirror.py +0 -287
  684. reconcile/integrations_validator.py +0 -18
  685. reconcile/jenkins_plugins.py +0 -129
  686. reconcile/kafka_clusters.py +0 -208
  687. reconcile/ocm_cluster_admin.py +0 -42
  688. reconcile/ocm_oidc_idp.py +0 -198
  689. reconcile/ocp_release_mirror.py +0 -373
  690. reconcile/prometheus_rules_tester_old.py +0 -436
  691. reconcile/saas_auto_promotions_manager/merge_request_manager/merge_request_manager.py +0 -279
  692. reconcile/saas_auto_promotions_manager/utils/vcs.py +0 -141
  693. reconcile/sentry_config.py +0 -613
  694. reconcile/sentry_helper.py +0 -69
  695. reconcile/test/conftest.py +0 -187
  696. reconcile/test/fixtures.py +0 -24
  697. reconcile/test/saas_auto_promotions_manager/conftest.py +0 -69
  698. reconcile/test/saas_auto_promotions_manager/merge_request_manager/merge_request_manager/conftest.py +0 -110
  699. reconcile/test/saas_auto_promotions_manager/merge_request_manager/merge_request_manager/data_keys.py +0 -10
  700. reconcile/test/saas_auto_promotions_manager/merge_request_manager/merge_request_manager/test_housekeeping.py +0 -200
  701. reconcile/test/saas_auto_promotions_manager/merge_request_manager/merge_request_manager/test_merge_request_manager.py +0 -151
  702. reconcile/test/saas_auto_promotions_manager/merge_request_manager/renderer/conftest.py +0 -63
  703. reconcile/test/saas_auto_promotions_manager/merge_request_manager/renderer/data_keys.py +0 -4
  704. reconcile/test/saas_auto_promotions_manager/merge_request_manager/renderer/test_content_multiple_namespaces.py +0 -46
  705. reconcile/test/saas_auto_promotions_manager/merge_request_manager/renderer/test_content_single_namespace.py +0 -94
  706. reconcile/test/saas_auto_promotions_manager/merge_request_manager/renderer/test_content_single_target.py +0 -44
  707. reconcile/test/saas_auto_promotions_manager/subscriber/conftest.py +0 -74
  708. reconcile/test/saas_auto_promotions_manager/subscriber/data_keys.py +0 -11
  709. reconcile/test/saas_auto_promotions_manager/subscriber/test_content_hash.py +0 -155
  710. reconcile/test/saas_auto_promotions_manager/subscriber/test_diff.py +0 -173
  711. reconcile/test/saas_auto_promotions_manager/subscriber/test_multiple_channels_config_hash.py +0 -226
  712. reconcile/test/saas_auto_promotions_manager/subscriber/test_multiple_channels_moving_ref.py +0 -224
  713. reconcile/test/saas_auto_promotions_manager/subscriber/test_single_channel_with_single_publisher.py +0 -350
  714. reconcile/test/saas_auto_promotions_manager/test_integration_test.py +0 -129
  715. reconcile/test/saas_auto_promotions_manager/utils/saas_files_inventory/test_multiple_publishers_for_single_channel.py +0 -70
  716. reconcile/test/saas_auto_promotions_manager/utils/saas_files_inventory/test_saas_files_use_target_config_hash.py +0 -63
  717. reconcile/test/saas_auto_promotions_manager/utils/saas_files_inventory/test_saas_files_with_auto_promote.py +0 -74
  718. reconcile/test/saas_auto_promotions_manager/utils/saas_files_inventory/test_saas_files_without_auto_promote.py +0 -65
  719. reconcile/test/test_aggregated_list.py +0 -237
  720. reconcile/test/test_amtool.py +0 -37
  721. reconcile/test/test_auto_promoter.py +0 -295
  722. reconcile/test/test_aws_ami_share.py +0 -68
  723. reconcile/test/test_aws_iam_keys.py +0 -70
  724. reconcile/test/test_aws_iam_password_reset.py +0 -35
  725. reconcile/test/test_aws_support_cases_sos.py +0 -23
  726. reconcile/test/test_checkpoint.py +0 -178
  727. reconcile/test/test_cli.py +0 -41
  728. reconcile/test/test_closedbox_endpoint_monitoring.py +0 -207
  729. reconcile/test/test_gabi_authorized_users.py +0 -72
  730. reconcile/test/test_github_org.py +0 -154
  731. reconcile/test/test_github_repo_invites.py +0 -123
  732. reconcile/test/test_gitlab_housekeeping.py +0 -88
  733. reconcile/test/test_gitlab_labeler.py +0 -129
  734. reconcile/test/test_gitlab_members.py +0 -283
  735. reconcile/test/test_instrumented_wrappers.py +0 -18
  736. reconcile/test/test_integrations_manager.py +0 -995
  737. reconcile/test/test_jenkins_worker_fleets.py +0 -55
  738. reconcile/test/test_jump_host.py +0 -117
  739. reconcile/test/test_ldap_users.py +0 -123
  740. reconcile/test/test_make.py +0 -28
  741. reconcile/test/test_ocm_additional_routers.py +0 -134
  742. reconcile/test/test_ocm_addons_upgrade_scheduler_org.py +0 -149
  743. reconcile/test/test_ocm_clusters.py +0 -598
  744. reconcile/test/test_ocm_clusters_manifest_updates.py +0 -89
  745. reconcile/test/test_ocm_oidc_idp.py +0 -315
  746. reconcile/test/test_ocm_update_recommended_version.py +0 -145
  747. reconcile/test/test_ocm_upgrade_scheduler.py +0 -614
  748. reconcile/test/test_ocm_upgrade_scheduler_org_updater.py +0 -129
  749. reconcile/test/test_openshift_base.py +0 -730
  750. reconcile/test/test_openshift_namespace_labels.py +0 -345
  751. reconcile/test/test_openshift_namespaces.py +0 -256
  752. reconcile/test/test_openshift_resource.py +0 -415
  753. reconcile/test/test_openshift_resources_base.py +0 -440
  754. reconcile/test/test_openshift_saas_deploy_change_tester.py +0 -310
  755. reconcile/test/test_openshift_tekton_resources.py +0 -253
  756. reconcile/test/test_openshift_upgrade_watcher.py +0 -146
  757. reconcile/test/test_prometheus_rules_tester.py +0 -151
  758. reconcile/test/test_prometheus_rules_tester_old.py +0 -77
  759. reconcile/test/test_quay_membership.py +0 -86
  760. reconcile/test/test_quay_mirror.py +0 -109
  761. reconcile/test/test_quay_mirror_org.py +0 -70
  762. reconcile/test/test_quay_repos.py +0 -59
  763. reconcile/test/test_queries.py +0 -53
  764. reconcile/test/test_repo_owners.py +0 -47
  765. reconcile/test/test_requests_sender.py +0 -139
  766. reconcile/test/test_saasherder.py +0 -1074
  767. reconcile/test/test_saasherder_allowed_secret_paths.py +0 -127
  768. reconcile/test/test_secret_reader.py +0 -153
  769. reconcile/test/test_slack_base.py +0 -185
  770. reconcile/test/test_slack_usergroups.py +0 -744
  771. reconcile/test/test_sql_query.py +0 -19
  772. reconcile/test/test_terraform_cloudflare_dns.py +0 -117
  773. reconcile/test/test_terraform_cloudflare_resources.py +0 -106
  774. reconcile/test/test_terraform_cloudflare_users.py +0 -749
  775. reconcile/test/test_terraform_resources.py +0 -257
  776. reconcile/test/test_terraform_tgw_attachments.py +0 -631
  777. reconcile/test/test_terraform_users.py +0 -57
  778. reconcile/test/test_terraform_vpc_peerings.py +0 -499
  779. reconcile/test/test_terraform_vpc_peerings_build_desired_state.py +0 -1061
  780. reconcile/test/test_unleash.py +0 -138
  781. reconcile/test/test_utils_aws_api.py +0 -240
  782. reconcile/test/test_utils_aws_helper.py +0 -80
  783. reconcile/test/test_utils_cluster_version_data.py +0 -177
  784. reconcile/test/test_utils_data_structures.py +0 -13
  785. reconcile/test/test_utils_disabled_integrations.py +0 -86
  786. reconcile/test/test_utils_expiration.py +0 -109
  787. reconcile/test/test_utils_external_resource_spec.py +0 -383
  788. reconcile/test/test_utils_external_resources.py +0 -247
  789. reconcile/test/test_utils_github_api.py +0 -73
  790. reconcile/test/test_utils_gitlab_api.py +0 -20
  791. reconcile/test/test_utils_gpg.py +0 -69
  792. reconcile/test/test_utils_gql.py +0 -81
  793. reconcile/test/test_utils_helm.py +0 -306
  794. reconcile/test/test_utils_helpers.py +0 -55
  795. reconcile/test/test_utils_imap_client.py +0 -65
  796. reconcile/test/test_utils_jjb_client.py +0 -52
  797. reconcile/test/test_utils_jsonpath.py +0 -286
  798. reconcile/test/test_utils_ldap_client.py +0 -51
  799. reconcile/test/test_utils_mr.py +0 -226
  800. reconcile/test/test_utils_mr_clusters_updates.py +0 -77
  801. reconcile/test/test_utils_oc.py +0 -984
  802. reconcile/test/test_utils_ocm.py +0 -110
  803. reconcile/test/test_utils_pagerduty_api.py +0 -251
  804. reconcile/test/test_utils_parse_dhms_duration.py +0 -34
  805. reconcile/test/test_utils_password_validator.py +0 -155
  806. reconcile/test/test_utils_quay_api.py +0 -86
  807. reconcile/test/test_utils_semver_helper.py +0 -19
  808. reconcile/test/test_utils_sharding.py +0 -56
  809. reconcile/test/test_utils_slack_api.py +0 -439
  810. reconcile/test/test_utils_smtp_client.py +0 -73
  811. reconcile/test/test_utils_state.py +0 -256
  812. reconcile/test/test_utils_terraform.py +0 -13
  813. reconcile/test/test_utils_terraform_client.py +0 -585
  814. reconcile/test/test_utils_terraform_config_client.py +0 -219
  815. reconcile/test/test_utils_terrascript_aws_client.py +0 -277
  816. reconcile/test/test_utils_terrascript_cloudflare_client.py +0 -597
  817. reconcile/test/test_utils_terrascript_cloudflare_resources.py +0 -26
  818. reconcile/test/test_vault_replication.py +0 -515
  819. reconcile/test/test_vault_utils.py +0 -47
  820. reconcile/test/test_version_bump.py +0 -18
  821. reconcile/test/test_vpc_peerings_validator.py +0 -103
  822. reconcile/test/test_wrong_region.py +0 -78
  823. reconcile/typed_queries/glitchtip_settings.py +0 -18
  824. reconcile/typed_queries/ocp_release_mirror.py +0 -11
  825. reconcile/unleash_watcher.py +0 -120
  826. reconcile/utils/git_secrets.py +0 -63
  827. reconcile/utils/mr/auto_promoter.py +0 -218
  828. reconcile/utils/sentry_client.py +0 -383
  829. release/test_version.py +0 -50
  830. release/version.py +0 -100
  831. tools/test/test_qontract_cli.py +0 -60
  832. tools/test/test_sre_checkpoints.py +0 -79
  833. /e2e_tests/__init__.py → /reconcile/aus/upgrades.py +0 -0
  834. /reconcile/{gql_definitions/ocp_release_mirror → aws_account_manager}/__init__.py +0 -0
  835. /reconcile/{test → aws_ami_cleanup}/__init__.py +0 -0
  836. /reconcile/{test/saas_auto_promotions_manager → aws_cloudwatch_log_retention}/__init__.py +0 -0
  837. /reconcile/{test/saas_auto_promotions_manager/merge_request_manager → aws_saml_idp}/__init__.py +0 -0
  838. /reconcile/{test/saas_auto_promotions_manager/merge_request_manager/merge_request_manager → aws_saml_roles}/__init__.py +0 -0
  839. /reconcile/{test/saas_auto_promotions_manager/merge_request_manager/renderer → aws_version_sync}/__init__.py +0 -0
  840. /reconcile/{test/saas_auto_promotions_manager/subscriber → aws_version_sync/merge_request_manager}/__init__.py +0 -0
  841. /reconcile/{test/saas_auto_promotions_manager/utils → cluster_auth_rhidp}/__init__.py +0 -0
  842. /reconcile/{test/saas_auto_promotions_manager/utils/saas_files_inventory → dynatrace_token_provider}/__init__.py +0 -0
  843. {release → reconcile/endpoints_discovery}/__init__.py +0 -0
  844. {tools/test → reconcile/external_resources}/__init__.py +0 -0
@@ -17,13 +17,31 @@ from pydantic import ( # noqa: F401 # pylint: disable=W0611
17
17
  Json,
18
18
  )
19
19
 
20
- from reconcile.gql_definitions.fragments.jumphost_common_fields import (
21
- CommonJumphostFields,
22
- )
20
+ from reconcile.gql_definitions.fragments.aws_vpc import AWSVPC
21
+ from reconcile.gql_definitions.fragments.jumphost_common_fields import CommonJumphostFields
23
22
  from reconcile.gql_definitions.fragments.vault_secret import VaultSecret
24
23
 
25
24
 
26
25
  DEFINITION = """
26
+ fragment AWSVPC on AWSVPC_v1 {
27
+ name
28
+ description
29
+ account {
30
+ name
31
+ uid
32
+ terraformUsername
33
+ automationToken {
34
+ ... VaultSecret
35
+ }
36
+ }
37
+ region
38
+ vpc_id
39
+ cidr_block
40
+ subnets {
41
+ id
42
+ }
43
+ }
44
+
27
45
  fragment CommonJumphostFields on ClusterJumpHost_v1 {
28
46
  hostname
29
47
  knownHosts
@@ -84,6 +102,10 @@ query TerraformResourcesNamespaces {
84
102
  source_type
85
103
  event_categories
86
104
  }
105
+ data_classification {
106
+ loss_impact
107
+ }
108
+ managed_by_erv2
87
109
  }
88
110
  ... on NamespaceTerraformResourceS3_v1 {
89
111
  region
@@ -92,7 +114,7 @@ query TerraformResourcesNamespaces {
92
114
  overrides
93
115
  sqs_identifier
94
116
  s3_events
95
- sns_event_notifications: event_notifications {
117
+ event_notifications {
96
118
  destination_type
97
119
  destination
98
120
  event_type
@@ -112,6 +134,7 @@ query TerraformResourcesNamespaces {
112
134
  overrides
113
135
  output_resource_name
114
136
  annotations
137
+ managed_by_erv2
115
138
  }
116
139
  ... on NamespaceTerraformResourceServiceAccount_v1 {
117
140
  identifier
@@ -139,11 +162,21 @@ query TerraformResourcesNamespaces {
139
162
  assume_role {
140
163
  AWS
141
164
  Service
165
+ Federated
142
166
  }
143
167
  assume_condition
168
+ assume_action
144
169
  inline_policy
170
+ role_policy
171
+ policies
145
172
  output_resource_name
146
173
  annotations
174
+ lifecycle {
175
+ create_before_destroy
176
+ prevent_destroy
177
+ ignore_changes
178
+ }
179
+ managed_by_erv2
147
180
  }
148
181
  ... on NamespaceTerraformResourceSQS_v1 {
149
182
  region
@@ -268,22 +301,22 @@ query TerraformResourcesNamespaces {
268
301
  region
269
302
  identifier
270
303
  vpc {
271
- vpc_id
272
- cidr_block
273
- subnets {
274
- id
275
- }
304
+ ... AWSVPC
276
305
  }
277
306
  certificate_arn
278
307
  ingress_cidr_blocks
279
308
  idle_timeout
280
309
  enable_http2
281
310
  ip_address_type
311
+ access_logs
312
+ ssl_policy
282
313
  targets {
283
314
  name
284
315
  default
285
316
  ips
286
317
  openshift_service
318
+ protocol
319
+ protocol_version
287
320
  }
288
321
  rules {
289
322
  condition {
@@ -318,6 +351,16 @@ query TerraformResourcesNamespaces {
318
351
  status_code
319
352
  }
320
353
  }
354
+ ... on NamespaceTerraformResourceALBActionRedirect_v1 {
355
+ redirect {
356
+ host
357
+ path
358
+ port
359
+ protocol
360
+ query
361
+ status_code
362
+ }
363
+ }
321
364
  }
322
365
  }
323
366
  output_resource_name
@@ -421,6 +464,20 @@ query TerraformResourcesNamespaces {
421
464
  annotations
422
465
  defaults
423
466
  }
467
+ ... on NamespaceTerraformResourceMsk_v1 {
468
+ region
469
+ identifier
470
+ output_resource_name
471
+ defaults
472
+ annotations
473
+ users {
474
+ name
475
+ secret {
476
+ ...VaultSecret
477
+ }
478
+ }
479
+ managed_by_erv2
480
+ }
424
481
  }
425
482
  }
426
483
  }
@@ -449,7 +506,6 @@ query TerraformResourcesNamespaces {
449
506
  internal
450
507
  disable {
451
508
  integrations
452
- e2eTests
453
509
  }
454
510
  }
455
511
  }
@@ -459,8 +515,8 @@ query TerraformResourcesNamespaces {
459
515
 
460
516
  class ConfiguredBaseModel(BaseModel):
461
517
  class Config:
462
- smart_union = True
463
- extra = Extra.forbid
518
+ smart_union=True
519
+ extra=Extra.forbid
464
520
 
465
521
 
466
522
  class ExternalResourcesProvisionerV1(ConfiguredBaseModel):
@@ -476,19 +532,12 @@ class NamespaceTerraformResourceOutputFormatV1(ConfiguredBaseModel):
476
532
  provider: str = Field(..., alias="provider")
477
533
 
478
534
 
479
- class NamespaceTerraformResourceGenericSecretOutputFormatV1(
480
- NamespaceTerraformResourceOutputFormatV1
481
- ):
535
+ class NamespaceTerraformResourceGenericSecretOutputFormatV1(NamespaceTerraformResourceOutputFormatV1):
482
536
  data: Optional[str] = Field(..., alias="data")
483
537
 
484
538
 
485
539
  class NamespaceTerraformResourceAWSV1(ConfiguredBaseModel):
486
- output_format: Optional[
487
- Union[
488
- NamespaceTerraformResourceGenericSecretOutputFormatV1,
489
- NamespaceTerraformResourceOutputFormatV1,
490
- ]
491
- ] = Field(..., alias="output_format")
540
+ output_format: Optional[Union[NamespaceTerraformResourceGenericSecretOutputFormatV1, NamespaceTerraformResourceOutputFormatV1]] = Field(..., alias="output_format")
492
541
  provider: str = Field(..., alias="provider")
493
542
 
494
543
 
@@ -498,6 +547,10 @@ class AWSRDSEventNotificationV1(ConfiguredBaseModel):
498
547
  event_categories: Optional[list[str]] = Field(..., alias="event_categories")
499
548
 
500
549
 
550
+ class AWSRDSDataClassificationV1(ConfiguredBaseModel):
551
+ loss_impact: Optional[str] = Field(..., alias="loss_impact")
552
+
553
+
501
554
  class NamespaceTerraformResourceRDSV1(NamespaceTerraformResourceAWSV1):
502
555
  region: Optional[str] = Field(..., alias="region")
503
556
  identifier: str = Field(..., alias="identifier")
@@ -513,9 +566,9 @@ class NamespaceTerraformResourceRDSV1(NamespaceTerraformResourceAWSV1):
513
566
  reset_password: Optional[str] = Field(..., alias="reset_password")
514
567
  ca_cert: Optional[VaultSecret] = Field(..., alias="ca_cert")
515
568
  annotations: Optional[str] = Field(..., alias="annotations")
516
- event_notifications: Optional[list[AWSRDSEventNotificationV1]] = Field(
517
- ..., alias="event_notifications"
518
- )
569
+ event_notifications: Optional[list[AWSRDSEventNotificationV1]] = Field(..., alias="event_notifications")
570
+ data_classification: Optional[AWSRDSDataClassificationV1] = Field(..., alias="data_classification")
571
+ managed_by_erv2: Optional[bool] = Field(..., alias="managed_by_erv2")
519
572
 
520
573
 
521
574
  class AWSS3EventNotificationV1(ConfiguredBaseModel):
@@ -533,9 +586,7 @@ class NamespaceTerraformResourceS3V1(NamespaceTerraformResourceAWSV1):
533
586
  overrides: Optional[str] = Field(..., alias="overrides")
534
587
  sqs_identifier: Optional[str] = Field(..., alias="sqs_identifier")
535
588
  s3_events: Optional[list[str]] = Field(..., alias="s3_events")
536
- sns_event_notifications: Optional[list[AWSS3EventNotificationV1]] = Field(
537
- ..., alias="sns_event_notifications"
538
- )
589
+ event_notifications: Optional[list[AWSS3EventNotificationV1]] = Field(..., alias="event_notifications")
539
590
  bucket_policy: Optional[str] = Field(..., alias="bucket_policy")
540
591
  output_resource_name: Optional[str] = Field(..., alias="output_resource_name")
541
592
  storage_class: Optional[str] = Field(..., alias="storage_class")
@@ -550,15 +601,14 @@ class NamespaceTerraformResourceElastiCacheV1(NamespaceTerraformResourceAWSV1):
550
601
  overrides: Optional[str] = Field(..., alias="overrides")
551
602
  output_resource_name: Optional[str] = Field(..., alias="output_resource_name")
552
603
  annotations: Optional[str] = Field(..., alias="annotations")
604
+ managed_by_erv2: Optional[bool] = Field(..., alias="managed_by_erv2")
553
605
 
554
606
 
555
607
  class ClusterV1(ConfiguredBaseModel):
556
608
  name: str = Field(..., alias="name")
557
609
 
558
610
 
559
- class NamespaceTerraformResourceServiceAccountAWSInfrastructureAccessV1(
560
- ConfiguredBaseModel
561
- ):
611
+ class NamespaceTerraformResourceServiceAccountAWSInfrastructureAccessV1(ConfiguredBaseModel):
562
612
  cluster: Optional[ClusterV1] = Field(..., alias="cluster")
563
613
  access_level: Optional[str] = Field(..., alias="access_level")
564
614
  assume_role: Optional[str] = Field(..., alias="assume_role")
@@ -571,14 +621,10 @@ class NamespaceTerraformResourceServiceAccountV1(NamespaceTerraformResourceAWSV1
571
621
  user_policy: Optional[str] = Field(..., alias="user_policy")
572
622
  output_resource_name: Optional[str] = Field(..., alias="output_resource_name")
573
623
  annotations: Optional[str] = Field(..., alias="annotations")
574
- aws_infrastructure_access: Optional[
575
- NamespaceTerraformResourceServiceAccountAWSInfrastructureAccessV1
576
- ] = Field(..., alias="aws_infrastructure_access")
624
+ aws_infrastructure_access: Optional[NamespaceTerraformResourceServiceAccountAWSInfrastructureAccessV1] = Field(..., alias="aws_infrastructure_access")
577
625
 
578
626
 
579
- class NamespaceTerraformResourceSecretsManagerServiceAccountV1(
580
- NamespaceTerraformResourceAWSV1
581
- ):
627
+ class NamespaceTerraformResourceSecretsManagerServiceAccountV1(NamespaceTerraformResourceAWSV1):
582
628
  identifier: str = Field(..., alias="identifier")
583
629
  secrets_prefix: str = Field(..., alias="secrets_prefix")
584
630
  output_resource_name: Optional[str] = Field(..., alias="output_resource_name")
@@ -588,15 +634,27 @@ class NamespaceTerraformResourceSecretsManagerServiceAccountV1(
588
634
  class AssumeRoleV1(ConfiguredBaseModel):
589
635
  aws: Optional[list[str]] = Field(..., alias="AWS")
590
636
  service: Optional[list[str]] = Field(..., alias="Service")
637
+ federated: Optional[str] = Field(..., alias="Federated")
638
+
639
+
640
+ class NamespaceTerraformResourceLifecycleV1(ConfiguredBaseModel):
641
+ create_before_destroy: Optional[bool] = Field(..., alias="create_before_destroy")
642
+ prevent_destroy: Optional[bool] = Field(..., alias="prevent_destroy")
643
+ ignore_changes: Optional[list[str]] = Field(..., alias="ignore_changes")
591
644
 
592
645
 
593
646
  class NamespaceTerraformResourceRoleV1(NamespaceTerraformResourceAWSV1):
594
647
  identifier: str = Field(..., alias="identifier")
595
648
  assume_role: AssumeRoleV1 = Field(..., alias="assume_role")
596
649
  assume_condition: Optional[str] = Field(..., alias="assume_condition")
650
+ assume_action: Optional[str] = Field(..., alias="assume_action")
597
651
  inline_policy: Optional[str] = Field(..., alias="inline_policy")
652
+ role_policy: Optional[str] = Field(..., alias="role_policy")
653
+ policies: Optional[list[str]] = Field(..., alias="policies")
598
654
  output_resource_name: Optional[str] = Field(..., alias="output_resource_name")
599
655
  annotations: Optional[str] = Field(..., alias="annotations")
656
+ lifecycle: Optional[NamespaceTerraformResourceLifecycleV1] = Field(..., alias="lifecycle")
657
+ managed_by_erv2: Optional[bool] = Field(..., alias="managed_by_erv2")
600
658
 
601
659
 
602
660
  class KeyValueV1(ConfiguredBaseModel):
@@ -630,9 +688,7 @@ class NamespaceTerraformResourceSNSTopicV1(NamespaceTerraformResourceAWSV1):
630
688
  fifo_topic: Optional[bool] = Field(..., alias="fifo_topic")
631
689
  inline_policy: Optional[str] = Field(..., alias="inline_policy")
632
690
  annotations: Optional[str] = Field(..., alias="annotations")
633
- subscriptions: Optional[list[NamespaceTerraformResourceSNSSubscriptionV1]] = Field(
634
- ..., alias="subscriptions"
635
- )
691
+ subscriptions: Optional[list[NamespaceTerraformResourceSNSSubscriptionV1]] = Field(..., alias="subscriptions")
636
692
 
637
693
 
638
694
  class DynamoDBTableSpecsV1_KeyValueV1(ConfiguredBaseModel):
@@ -731,9 +787,7 @@ class NamespaceTerraformResourceKinesisV1(NamespaceTerraformResourceAWSV1):
731
787
  annotations: Optional[str] = Field(..., alias="annotations")
732
788
 
733
789
 
734
- class NamespaceTerraformResourceS3CloudFrontPublicKeyV1(
735
- NamespaceTerraformResourceAWSV1
736
- ):
790
+ class NamespaceTerraformResourceS3CloudFrontPublicKeyV1(NamespaceTerraformResourceAWSV1):
737
791
  region: Optional[str] = Field(..., alias="region")
738
792
  identifier: str = Field(..., alias="identifier")
739
793
  secret: Optional[VaultSecret] = Field(..., alias="secret")
@@ -741,48 +795,32 @@ class NamespaceTerraformResourceS3CloudFrontPublicKeyV1(
741
795
  annotations: Optional[str] = Field(..., alias="annotations")
742
796
 
743
797
 
744
- class AWSSubnetV1(ConfiguredBaseModel):
745
- q_id: str = Field(..., alias="id")
746
-
747
-
748
- class AWSVPCV1(ConfiguredBaseModel):
749
- vpc_id: str = Field(..., alias="vpc_id")
750
- cidr_block: str = Field(..., alias="cidr_block")
751
- subnets: Optional[list[AWSSubnetV1]] = Field(..., alias="subnets")
752
-
753
-
754
798
  class NamespaceTerraformResourceALBTargetsV1(ConfiguredBaseModel):
755
799
  name: str = Field(..., alias="name")
756
800
  default: bool = Field(..., alias="default")
757
801
  ips: Optional[list[str]] = Field(..., alias="ips")
758
802
  openshift_service: Optional[str] = Field(..., alias="openshift_service")
803
+ protocol: Optional[str] = Field(..., alias="protocol")
804
+ protocol_version: Optional[str] = Field(..., alias="protocol_version")
759
805
 
760
806
 
761
807
  class NamespaceTerraformResourceALBConditionV1(ConfiguredBaseModel):
762
808
  q_type: str = Field(..., alias="type")
763
809
 
764
810
 
765
- class NamespaceTerraformResourceALBConditionHostHeaderV1(
766
- NamespaceTerraformResourceALBConditionV1
767
- ):
811
+ class NamespaceTerraformResourceALBConditionHostHeaderV1(NamespaceTerraformResourceALBConditionV1):
768
812
  host_header: list[str] = Field(..., alias="host_header")
769
813
 
770
814
 
771
- class NamespaceTerraformResourceALBConditionHTTPRequestMethodV1(
772
- NamespaceTerraformResourceALBConditionV1
773
- ):
815
+ class NamespaceTerraformResourceALBConditionHTTPRequestMethodV1(NamespaceTerraformResourceALBConditionV1):
774
816
  http_request_method: list[str] = Field(..., alias="http_request_method")
775
817
 
776
818
 
777
- class NamespaceTerraformResourceALBConditionPathPatternV1(
778
- NamespaceTerraformResourceALBConditionV1
779
- ):
819
+ class NamespaceTerraformResourceALBConditionPathPatternV1(NamespaceTerraformResourceALBConditionV1):
780
820
  path_pattern: list[str] = Field(..., alias="path_pattern")
781
821
 
782
822
 
783
- class NamespaceTerraformResourceALBConditionSourceIPV1(
784
- NamespaceTerraformResourceALBConditionV1
785
- ):
823
+ class NamespaceTerraformResourceALBConditionSourceIPV1(NamespaceTerraformResourceALBConditionV1):
786
824
  source_ip: list[str] = Field(..., alias="source_ip")
787
825
 
788
826
 
@@ -796,17 +834,11 @@ class NamespaceTerraformResourceALBTargetGroupV1(ConfiguredBaseModel):
796
834
 
797
835
 
798
836
  class NamespaceTerraformResourceALBActionForwardSettingsV1(ConfiguredBaseModel):
799
- target_group: list[NamespaceTerraformResourceALBTargetGroupV1] = Field(
800
- ..., alias="target_group"
801
- )
837
+ target_group: list[NamespaceTerraformResourceALBTargetGroupV1] = Field(..., alias="target_group")
802
838
 
803
839
 
804
- class NamespaceTerraformResourceALBActionForwardV1(
805
- NamespaceTerraformResourceALBActionV1
806
- ):
807
- forward: NamespaceTerraformResourceALBActionForwardSettingsV1 = Field(
808
- ..., alias="forward"
809
- )
840
+ class NamespaceTerraformResourceALBActionForwardV1(NamespaceTerraformResourceALBActionV1):
841
+ forward: NamespaceTerraformResourceALBActionForwardSettingsV1 = Field(..., alias="forward")
810
842
 
811
843
 
812
844
  class NamespaceTerraformResourceALBActionFixedResponseSettingsV1(ConfiguredBaseModel):
@@ -815,40 +847,39 @@ class NamespaceTerraformResourceALBActionFixedResponseSettingsV1(ConfiguredBaseM
815
847
  status_code: str = Field(..., alias="status_code")
816
848
 
817
849
 
818
- class NamespaceTerraformResourceALBActionFixedResponseV1(
819
- NamespaceTerraformResourceALBActionV1
820
- ):
821
- fixed_response: NamespaceTerraformResourceALBActionFixedResponseSettingsV1 = Field(
822
- ..., alias="fixed_response"
823
- )
850
+ class NamespaceTerraformResourceALBActionFixedResponseV1(NamespaceTerraformResourceALBActionV1):
851
+ fixed_response: NamespaceTerraformResourceALBActionFixedResponseSettingsV1 = Field(..., alias="fixed_response")
852
+
853
+
854
+ class NamespaceTerraformResourceALBActionRedirectSettingsV1(ConfiguredBaseModel):
855
+ host: Optional[str] = Field(..., alias="host")
856
+ path: Optional[str] = Field(..., alias="path")
857
+ port: Optional[int] = Field(..., alias="port")
858
+ protocol: Optional[str] = Field(..., alias="protocol")
859
+ query: Optional[str] = Field(..., alias="query")
860
+ status_code: Optional[str] = Field(..., alias="status_code")
861
+
862
+
863
+ class NamespaceTerraformResourceALBActionRedirectV1(NamespaceTerraformResourceALBActionV1):
864
+ redirect: NamespaceTerraformResourceALBActionRedirectSettingsV1 = Field(..., alias="redirect")
824
865
 
825
866
 
826
867
  class NamespaceTerraformResourceALBRulesV1(ConfiguredBaseModel):
827
- condition: list[
828
- Union[
829
- NamespaceTerraformResourceALBConditionHostHeaderV1,
830
- NamespaceTerraformResourceALBConditionHTTPRequestMethodV1,
831
- NamespaceTerraformResourceALBConditionPathPatternV1,
832
- NamespaceTerraformResourceALBConditionSourceIPV1,
833
- NamespaceTerraformResourceALBConditionV1,
834
- ]
835
- ] = Field(..., alias="condition")
836
- action: Union[
837
- NamespaceTerraformResourceALBActionForwardV1,
838
- NamespaceTerraformResourceALBActionFixedResponseV1,
839
- NamespaceTerraformResourceALBActionV1,
840
- ] = Field(..., alias="action")
868
+ condition: list[Union[NamespaceTerraformResourceALBConditionHostHeaderV1, NamespaceTerraformResourceALBConditionHTTPRequestMethodV1, NamespaceTerraformResourceALBConditionPathPatternV1, NamespaceTerraformResourceALBConditionSourceIPV1, NamespaceTerraformResourceALBConditionV1]] = Field(..., alias="condition")
869
+ action: Union[NamespaceTerraformResourceALBActionForwardV1, NamespaceTerraformResourceALBActionFixedResponseV1, NamespaceTerraformResourceALBActionRedirectV1, NamespaceTerraformResourceALBActionV1] = Field(..., alias="action")
841
870
 
842
871
 
843
872
  class NamespaceTerraformResourceALBV1(NamespaceTerraformResourceAWSV1):
844
873
  region: Optional[str] = Field(..., alias="region")
845
874
  identifier: str = Field(..., alias="identifier")
846
- vpc: AWSVPCV1 = Field(..., alias="vpc")
875
+ vpc: AWSVPC = Field(..., alias="vpc")
847
876
  certificate_arn: str = Field(..., alias="certificate_arn")
848
877
  ingress_cidr_blocks: list[str] = Field(..., alias="ingress_cidr_blocks")
849
878
  idle_timeout: Optional[int] = Field(..., alias="idle_timeout")
850
879
  enable_http2: Optional[bool] = Field(..., alias="enable_http2")
851
880
  ip_address_type: Optional[str] = Field(..., alias="ip_address_type")
881
+ access_logs: Optional[bool] = Field(..., alias="access_logs")
882
+ ssl_policy: Optional[str] = Field(..., alias="ssl_policy")
852
883
  targets: list[NamespaceTerraformResourceALBTargetsV1] = Field(..., alias="targets")
853
884
  rules: list[NamespaceTerraformResourceALBRulesV1] = Field(..., alias="rules")
854
885
  output_resource_name: Optional[str] = Field(..., alias="output_resource_name")
@@ -887,9 +918,7 @@ class ASGImageGitV1(ASGImageV1):
887
918
  tag_name: str = Field(..., alias="tag_name")
888
919
  url: str = Field(..., alias="url")
889
920
  ref: str = Field(..., alias="ref")
890
- upstream: Optional[SaasResourceTemplateTargetUpstreamV1] = Field(
891
- ..., alias="upstream"
892
- )
921
+ upstream: Optional[SaasResourceTemplateTargetUpstreamV1] = Field(..., alias="upstream")
893
922
 
894
923
 
895
924
  class ASGImageStaticV1(ASGImageV1):
@@ -901,15 +930,11 @@ class NamespaceTerraformResourceASGV1(NamespaceTerraformResourceAWSV1):
901
930
  region: Optional[str] = Field(..., alias="region")
902
931
  identifier: str = Field(..., alias="identifier")
903
932
  defaults: str = Field(..., alias="defaults")
904
- cloudinit_configs: Optional[list[CloudinitConfigV1]] = Field(
905
- ..., alias="cloudinit_configs"
906
- )
933
+ cloudinit_configs: Optional[list[CloudinitConfigV1]] = Field(..., alias="cloudinit_configs")
907
934
  variables: Optional[str] = Field(..., alias="variables")
908
935
  overrides: Optional[str] = Field(..., alias="overrides")
909
936
  extra_tags: Optional[str] = Field(..., alias="extra_tags")
910
- image: list[Union[ASGImageGitV1, ASGImageStaticV1, ASGImageV1]] = Field(
911
- ..., alias="image"
912
- )
937
+ image: list[Union[ASGImageGitV1, ASGImageStaticV1, ASGImageV1]] = Field(..., alias="image")
913
938
  output_resource_name: Optional[str] = Field(..., alias="output_resource_name")
914
939
  annotations: Optional[str] = Field(..., alias="annotations")
915
940
 
@@ -935,12 +960,8 @@ class DnsRecordV1(ConfiguredBaseModel):
935
960
  q_type: str = Field(..., alias="type")
936
961
  ttl: Optional[int] = Field(..., alias="ttl")
937
962
  alias: Optional[DnsRecordAliasV1] = Field(..., alias="alias")
938
- weighted_routing_policy: Optional[DnsRecordWeightedRoutingPolicyV1] = Field(
939
- ..., alias="weighted_routing_policy"
940
- )
941
- geolocation_routing_policy: Optional[DnsRecordGeolocationRoutingPolicyV1] = Field(
942
- ..., alias="geolocation_routing_policy"
943
- )
963
+ weighted_routing_policy: Optional[DnsRecordWeightedRoutingPolicyV1] = Field(..., alias="weighted_routing_policy")
964
+ geolocation_routing_policy: Optional[DnsRecordGeolocationRoutingPolicyV1] = Field(..., alias="geolocation_routing_policy")
944
965
  set_identifier: Optional[str] = Field(..., alias="set_identifier")
945
966
  records: Optional[list[str]] = Field(..., alias="records")
946
967
 
@@ -961,15 +982,9 @@ class NamespaceTerraformResourceRosaAuthenticatorV1(NamespaceTerraformResourceAW
961
982
  cognito_callback_bucket_name: str = Field(..., alias="cognito_callback_bucket_name")
962
983
  certificate_arn: str = Field(..., alias="certificate_arn")
963
984
  domain_name: str = Field(..., alias="domain_name")
964
- network_interface_ids: Optional[list[str]] = Field(
965
- ..., alias="network_interface_ids"
966
- )
967
- openshift_ingress_load_balancer_arn: Optional[str] = Field(
968
- ..., alias="openshift_ingress_load_balancer_arn"
969
- )
970
- insights_callback_urls: Optional[list[str]] = Field(
971
- ..., alias="insights_callback_urls"
972
- )
985
+ network_interface_ids: Optional[list[str]] = Field(..., alias="network_interface_ids")
986
+ openshift_ingress_load_balancer_arn: Optional[str] = Field(..., alias="openshift_ingress_load_balancer_arn")
987
+ insights_callback_urls: Optional[list[str]] = Field(..., alias="insights_callback_urls")
973
988
  output_resource_name: Optional[str] = Field(..., alias="output_resource_name")
974
989
  annotations: Optional[str] = Field(..., alias="annotations")
975
990
  vpc_id: str = Field(..., alias="vpc_id")
@@ -978,9 +993,7 @@ class NamespaceTerraformResourceRosaAuthenticatorV1(NamespaceTerraformResourceAW
978
993
  defaults: str = Field(..., alias="defaults")
979
994
 
980
995
 
981
- class NamespaceTerraformResourceRosaAuthenticatorVPCEV1(
982
- NamespaceTerraformResourceAWSV1
983
- ):
996
+ class NamespaceTerraformResourceRosaAuthenticatorVPCEV1(NamespaceTerraformResourceAWSV1):
984
997
  region: Optional[str] = Field(..., alias="region")
985
998
  identifier: str = Field(..., alias="identifier")
986
999
  subnet_ids: list[str] = Field(..., alias="subnet_ids")
@@ -990,36 +1003,23 @@ class NamespaceTerraformResourceRosaAuthenticatorVPCEV1(
990
1003
  defaults: str = Field(..., alias="defaults")
991
1004
 
992
1005
 
1006
+ class MskSecretParametersV1(ConfiguredBaseModel):
1007
+ name: str = Field(..., alias="name")
1008
+ secret: VaultSecret = Field(..., alias="secret")
1009
+
1010
+
1011
+ class NamespaceTerraformResourceMskV1(NamespaceTerraformResourceAWSV1):
1012
+ region: Optional[str] = Field(..., alias="region")
1013
+ identifier: str = Field(..., alias="identifier")
1014
+ output_resource_name: Optional[str] = Field(..., alias="output_resource_name")
1015
+ defaults: str = Field(..., alias="defaults")
1016
+ annotations: Optional[str] = Field(..., alias="annotations")
1017
+ users: Optional[list[MskSecretParametersV1]] = Field(..., alias="users")
1018
+ managed_by_erv2: Optional[bool] = Field(..., alias="managed_by_erv2")
1019
+
1020
+
993
1021
  class NamespaceTerraformProviderResourceAWSV1(NamespaceExternalResourceV1):
994
- resources: list[
995
- Union[
996
- NamespaceTerraformResourceRDSV1,
997
- NamespaceTerraformResourceRosaAuthenticatorV1,
998
- NamespaceTerraformResourceALBV1,
999
- NamespaceTerraformResourceS3V1,
1000
- NamespaceTerraformResourceASGV1,
1001
- NamespaceTerraformResourceSNSTopicV1,
1002
- NamespaceTerraformResourceElastiCacheV1,
1003
- NamespaceTerraformResourceServiceAccountV1,
1004
- NamespaceTerraformResourceS3SQSV1,
1005
- NamespaceTerraformResourceCloudWatchV1,
1006
- NamespaceTerraformResourceRosaAuthenticatorVPCEV1,
1007
- NamespaceTerraformResourceRoleV1,
1008
- NamespaceTerraformResourceS3CloudFrontV1,
1009
- NamespaceTerraformResourceKMSV1,
1010
- NamespaceTerraformResourceElasticSearchV1,
1011
- NamespaceTerraformResourceACMV1,
1012
- NamespaceTerraformResourceKinesisV1,
1013
- NamespaceTerraformResourceRoute53ZoneV1,
1014
- NamespaceTerraformResourceSQSV1,
1015
- NamespaceTerraformResourceDynamoDBV1,
1016
- NamespaceTerraformResourceECRV1,
1017
- NamespaceTerraformResourceS3CloudFrontPublicKeyV1,
1018
- NamespaceTerraformResourceSecretsManagerV1,
1019
- NamespaceTerraformResourceSecretsManagerServiceAccountV1,
1020
- NamespaceTerraformResourceAWSV1,
1021
- ]
1022
- ] = Field(..., alias="resources")
1022
+ resources: list[Union[NamespaceTerraformResourceRDSV1, NamespaceTerraformResourceRosaAuthenticatorV1, NamespaceTerraformResourceALBV1, NamespaceTerraformResourceS3V1, NamespaceTerraformResourceRoleV1, NamespaceTerraformResourceASGV1, NamespaceTerraformResourceElastiCacheV1, NamespaceTerraformResourceSNSTopicV1, NamespaceTerraformResourceServiceAccountV1, NamespaceTerraformResourceS3SQSV1, NamespaceTerraformResourceCloudWatchV1, NamespaceTerraformResourceRosaAuthenticatorVPCEV1, NamespaceTerraformResourceMskV1, NamespaceTerraformResourceS3CloudFrontV1, NamespaceTerraformResourceKMSV1, NamespaceTerraformResourceElasticSearchV1, NamespaceTerraformResourceACMV1, NamespaceTerraformResourceKinesisV1, NamespaceTerraformResourceRoute53ZoneV1, NamespaceTerraformResourceSQSV1, NamespaceTerraformResourceDynamoDBV1, NamespaceTerraformResourceECRV1, NamespaceTerraformResourceS3CloudFrontPublicKeyV1, NamespaceTerraformResourceSecretsManagerV1, NamespaceTerraformResourceSecretsManagerServiceAccountV1, NamespaceTerraformResourceAWSV1]] = Field(..., alias="resources")
1023
1023
 
1024
1024
 
1025
1025
  class EnvironmentV1(ConfiguredBaseModel):
@@ -1036,7 +1036,6 @@ class ClusterSpecV1(ConfiguredBaseModel):
1036
1036
 
1037
1037
  class DisableClusterAutomationsV1(ConfiguredBaseModel):
1038
1038
  integrations: Optional[list[str]] = Field(..., alias="integrations")
1039
- e2e_tests: Optional[list[str]] = Field(..., alias="e2eTests")
1040
1039
 
1041
1040
 
1042
1041
  class NamespaceV1_ClusterV1(ConfiguredBaseModel):
@@ -1045,9 +1044,7 @@ class NamespaceV1_ClusterV1(ConfiguredBaseModel):
1045
1044
  insecure_skip_tls_verify: Optional[bool] = Field(..., alias="insecureSkipTLSVerify")
1046
1045
  jump_host: Optional[CommonJumphostFields] = Field(..., alias="jumpHost")
1047
1046
  automation_token: Optional[VaultSecret] = Field(..., alias="automationToken")
1048
- cluster_admin_automation_token: Optional[VaultSecret] = Field(
1049
- ..., alias="clusterAdminAutomationToken"
1050
- )
1047
+ cluster_admin_automation_token: Optional[VaultSecret] = Field(..., alias="clusterAdminAutomationToken")
1051
1048
  spec: Optional[ClusterSpecV1] = Field(..., alias="spec")
1052
1049
  internal: Optional[bool] = Field(..., alias="internal")
1053
1050
  disable: Optional[DisableClusterAutomationsV1] = Field(..., alias="disable")
@@ -1057,14 +1054,8 @@ class NamespaceV1(ConfiguredBaseModel):
1057
1054
  name: str = Field(..., alias="name")
1058
1055
  delete: Optional[bool] = Field(..., alias="delete")
1059
1056
  cluster_admin: Optional[bool] = Field(..., alias="clusterAdmin")
1060
- managed_external_resources: Optional[bool] = Field(
1061
- ..., alias="managedExternalResources"
1062
- )
1063
- external_resources: Optional[
1064
- list[
1065
- Union[NamespaceTerraformProviderResourceAWSV1, NamespaceExternalResourceV1]
1066
- ]
1067
- ] = Field(..., alias="externalResources")
1057
+ managed_external_resources: Optional[bool] = Field(..., alias="managedExternalResources")
1058
+ external_resources: Optional[list[Union[NamespaceTerraformProviderResourceAWSV1, NamespaceExternalResourceV1]]] = Field(..., alias="externalResources")
1068
1059
  environment: EnvironmentV1 = Field(..., alias="environment")
1069
1060
  app: AppV1 = Field(..., alias="app")
1070
1061
  cluster: NamespaceV1_ClusterV1 = Field(..., alias="cluster")