qontract-reconcile 0.10.2.dev299__py3-none-any.whl → 0.10.2.dev430__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 (403) hide show
  1. {qontract_reconcile-0.10.2.dev299.dist-info → qontract_reconcile-0.10.2.dev430.dist-info}/METADATA +13 -12
  2. {qontract_reconcile-0.10.2.dev299.dist-info → qontract_reconcile-0.10.2.dev430.dist-info}/RECORD +399 -394
  3. reconcile/acs_rbac.py +2 -2
  4. reconcile/aus/advanced_upgrade_service.py +18 -12
  5. reconcile/aus/base.py +134 -32
  6. reconcile/aus/cluster_version_data.py +15 -5
  7. reconcile/aus/models.py +3 -1
  8. reconcile/aus/ocm_addons_upgrade_scheduler_org.py +1 -0
  9. reconcile/aus/ocm_upgrade_scheduler.py +8 -1
  10. reconcile/aus/ocm_upgrade_scheduler_org.py +20 -5
  11. reconcile/aus/version_gates/sts_version_gate_handler.py +54 -1
  12. reconcile/automated_actions/config/integration.py +16 -4
  13. reconcile/aws_account_manager/integration.py +8 -8
  14. reconcile/aws_account_manager/reconciler.py +3 -3
  15. reconcile/aws_ami_cleanup/integration.py +8 -12
  16. reconcile/aws_ami_share.py +69 -62
  17. reconcile/aws_cloudwatch_log_retention/integration.py +155 -126
  18. reconcile/aws_ecr_image_pull_secrets.py +4 -4
  19. reconcile/aws_iam_keys.py +1 -0
  20. reconcile/aws_saml_idp/integration.py +12 -4
  21. reconcile/aws_saml_roles/integration.py +32 -25
  22. reconcile/aws_version_sync/integration.py +125 -84
  23. reconcile/change_owners/bundle.py +3 -3
  24. reconcile/change_owners/change_log_tracking.py +3 -2
  25. reconcile/change_owners/change_owners.py +1 -1
  26. reconcile/change_owners/diff.py +2 -4
  27. reconcile/checkpoint.py +12 -4
  28. reconcile/cli.py +111 -18
  29. reconcile/cluster_deployment_mapper.py +2 -3
  30. reconcile/dashdotdb_dora.py +5 -12
  31. reconcile/dashdotdb_slo.py +1 -1
  32. reconcile/database_access_manager.py +125 -121
  33. reconcile/deadmanssnitch.py +1 -5
  34. reconcile/dynatrace_token_provider/integration.py +1 -1
  35. reconcile/endpoints_discovery/integration.py +4 -1
  36. reconcile/endpoints_discovery/merge_request.py +1 -1
  37. reconcile/endpoints_discovery/merge_request_manager.py +9 -11
  38. reconcile/external_resources/factories.py +5 -12
  39. reconcile/external_resources/integration.py +1 -1
  40. reconcile/external_resources/manager.py +8 -5
  41. reconcile/external_resources/meta.py +0 -1
  42. reconcile/external_resources/metrics.py +1 -1
  43. reconcile/external_resources/model.py +20 -20
  44. reconcile/external_resources/reconciler.py +7 -4
  45. reconcile/external_resources/secrets_sync.py +8 -11
  46. reconcile/external_resources/state.py +26 -16
  47. reconcile/fleet_labeler/integration.py +1 -1
  48. reconcile/gabi_authorized_users.py +8 -5
  49. reconcile/gcp_image_mirror.py +2 -2
  50. reconcile/github_org.py +1 -1
  51. reconcile/github_owners.py +4 -0
  52. reconcile/gitlab_housekeeping.py +13 -15
  53. reconcile/gitlab_members.py +6 -12
  54. reconcile/gitlab_mr_sqs_consumer.py +2 -2
  55. reconcile/gitlab_owners.py +15 -11
  56. reconcile/gitlab_permissions.py +8 -12
  57. reconcile/glitchtip_project_alerts/integration.py +3 -1
  58. reconcile/gql_definitions/acs/acs_instances.py +10 -10
  59. reconcile/gql_definitions/acs/acs_policies.py +5 -5
  60. reconcile/gql_definitions/acs/acs_rbac.py +6 -6
  61. reconcile/gql_definitions/advanced_upgrade_service/aus_clusters.py +32 -32
  62. reconcile/gql_definitions/advanced_upgrade_service/aus_organization.py +26 -26
  63. reconcile/gql_definitions/app_interface_metrics_exporter/onboarding_status.py +6 -7
  64. reconcile/gql_definitions/app_sre_tekton_access_revalidation/roles.py +5 -5
  65. reconcile/gql_definitions/app_sre_tekton_access_revalidation/users.py +5 -5
  66. reconcile/gql_definitions/automated_actions/instance.py +51 -12
  67. reconcile/gql_definitions/aws_account_manager/aws_accounts.py +11 -11
  68. reconcile/gql_definitions/aws_ami_cleanup/aws_accounts.py +20 -10
  69. reconcile/gql_definitions/aws_cloudwatch_log_retention/aws_accounts.py +28 -68
  70. reconcile/gql_definitions/aws_saml_idp/aws_accounts.py +20 -10
  71. reconcile/gql_definitions/aws_saml_roles/aws_accounts.py +20 -10
  72. reconcile/gql_definitions/aws_saml_roles/roles.py +5 -5
  73. reconcile/gql_definitions/aws_version_sync/clusters.py +10 -10
  74. reconcile/gql_definitions/aws_version_sync/namespaces.py +5 -5
  75. reconcile/gql_definitions/change_owners/queries/change_types.py +5 -5
  76. reconcile/gql_definitions/change_owners/queries/self_service_roles.py +9 -9
  77. reconcile/gql_definitions/cluster_auth_rhidp/clusters.py +18 -18
  78. reconcile/gql_definitions/common/alerting_services_settings.py +9 -9
  79. reconcile/gql_definitions/common/app_code_component_repos.py +5 -5
  80. reconcile/gql_definitions/common/app_interface_custom_messages.py +5 -5
  81. reconcile/gql_definitions/common/app_interface_dms_settings.py +5 -5
  82. reconcile/gql_definitions/common/app_interface_repo_settings.py +5 -5
  83. reconcile/gql_definitions/common/app_interface_roles.py +120 -0
  84. reconcile/gql_definitions/common/app_interface_state_settings.py +10 -10
  85. reconcile/gql_definitions/common/app_interface_vault_settings.py +5 -5
  86. reconcile/gql_definitions/common/app_quay_repos_escalation_policies.py +5 -5
  87. reconcile/gql_definitions/common/apps.py +5 -5
  88. reconcile/gql_definitions/common/aws_vpc_requests.py +23 -10
  89. reconcile/gql_definitions/common/aws_vpcs.py +11 -11
  90. reconcile/gql_definitions/common/clusters.py +37 -35
  91. reconcile/gql_definitions/common/clusters_minimal.py +14 -14
  92. reconcile/gql_definitions/common/clusters_with_dms.py +6 -6
  93. reconcile/gql_definitions/common/clusters_with_peering.py +29 -30
  94. reconcile/gql_definitions/common/github_orgs.py +10 -10
  95. reconcile/gql_definitions/common/jira_settings.py +10 -10
  96. reconcile/gql_definitions/common/jiralert_settings.py +5 -5
  97. reconcile/gql_definitions/common/ldap_settings.py +5 -5
  98. reconcile/gql_definitions/common/namespaces.py +42 -44
  99. reconcile/gql_definitions/common/namespaces_minimal.py +15 -13
  100. reconcile/gql_definitions/common/ocm_env_telemeter.py +12 -12
  101. reconcile/gql_definitions/common/ocm_environments.py +19 -19
  102. reconcile/gql_definitions/common/pagerduty_instances.py +9 -9
  103. reconcile/gql_definitions/common/pgp_reencryption_settings.py +6 -6
  104. reconcile/gql_definitions/common/pipeline_providers.py +29 -29
  105. reconcile/gql_definitions/common/quay_instances.py +5 -5
  106. reconcile/gql_definitions/common/quay_orgs.py +5 -5
  107. reconcile/gql_definitions/common/reserved_networks.py +5 -5
  108. reconcile/gql_definitions/common/rhcs_provider_settings.py +5 -5
  109. reconcile/gql_definitions/common/saas_files.py +44 -44
  110. reconcile/gql_definitions/common/saas_target_namespaces.py +10 -10
  111. reconcile/gql_definitions/common/saasherder_settings.py +5 -5
  112. reconcile/gql_definitions/common/slack_workspaces.py +5 -5
  113. reconcile/gql_definitions/common/smtp_client_settings.py +19 -19
  114. reconcile/gql_definitions/common/state_aws_account.py +7 -8
  115. reconcile/gql_definitions/common/users.py +5 -5
  116. reconcile/gql_definitions/common/users_with_paths.py +5 -5
  117. reconcile/gql_definitions/cost_report/app_names.py +5 -5
  118. reconcile/gql_definitions/cost_report/cost_namespaces.py +5 -5
  119. reconcile/gql_definitions/cost_report/settings.py +9 -9
  120. reconcile/gql_definitions/dashdotdb_slo/slo_documents_query.py +43 -43
  121. reconcile/gql_definitions/dynatrace_token_provider/dynatrace_bootstrap_tokens.py +10 -10
  122. reconcile/gql_definitions/dynatrace_token_provider/token_specs.py +5 -5
  123. reconcile/gql_definitions/email_sender/apps.py +5 -5
  124. reconcile/gql_definitions/email_sender/emails.py +8 -8
  125. reconcile/gql_definitions/email_sender/users.py +6 -6
  126. reconcile/gql_definitions/endpoints_discovery/apps.py +10 -10
  127. reconcile/gql_definitions/external_resources/aws_accounts.py +9 -9
  128. reconcile/gql_definitions/external_resources/external_resources_modules.py +23 -23
  129. reconcile/gql_definitions/external_resources/external_resources_namespaces.py +492 -410
  130. reconcile/gql_definitions/external_resources/external_resources_settings.py +28 -26
  131. reconcile/gql_definitions/external_resources/fragments/external_resources_module_overrides.py +5 -5
  132. reconcile/gql_definitions/fleet_labeler/fleet_labels.py +40 -40
  133. reconcile/gql_definitions/fragments/aus_organization.py +5 -5
  134. reconcile/gql_definitions/fragments/aws_account_common.py +7 -5
  135. reconcile/gql_definitions/fragments/aws_account_managed.py +5 -5
  136. reconcile/gql_definitions/fragments/aws_account_sso.py +5 -5
  137. reconcile/gql_definitions/fragments/aws_infra_management_account.py +5 -5
  138. reconcile/gql_definitions/fragments/{aws_vpc_request_subnet.py → aws_organization.py} +12 -8
  139. reconcile/gql_definitions/fragments/aws_vpc.py +5 -5
  140. reconcile/gql_definitions/fragments/aws_vpc_request.py +10 -5
  141. reconcile/gql_definitions/fragments/container_image_mirror.py +5 -5
  142. reconcile/gql_definitions/fragments/deploy_resources.py +5 -5
  143. reconcile/gql_definitions/fragments/disable.py +5 -5
  144. reconcile/gql_definitions/fragments/email_service.py +5 -5
  145. reconcile/gql_definitions/fragments/email_user.py +5 -5
  146. reconcile/gql_definitions/fragments/jumphost_common_fields.py +5 -5
  147. reconcile/gql_definitions/fragments/membership_source.py +5 -5
  148. reconcile/gql_definitions/fragments/minimal_ocm_organization.py +5 -5
  149. reconcile/gql_definitions/fragments/oc_connection_cluster.py +5 -5
  150. reconcile/gql_definitions/fragments/ocm_environment.py +5 -5
  151. reconcile/gql_definitions/fragments/pipeline_provider_retention.py +5 -5
  152. reconcile/gql_definitions/fragments/prometheus_instance.py +5 -5
  153. reconcile/gql_definitions/fragments/resource_limits_requirements.py +5 -5
  154. reconcile/gql_definitions/fragments/resource_requests_requirements.py +5 -5
  155. reconcile/gql_definitions/fragments/resource_values.py +5 -5
  156. reconcile/gql_definitions/fragments/saas_slo_document.py +5 -5
  157. reconcile/gql_definitions/fragments/saas_target_namespace.py +5 -5
  158. reconcile/gql_definitions/fragments/serviceaccount_token.py +5 -5
  159. reconcile/gql_definitions/fragments/terraform_state.py +5 -5
  160. reconcile/gql_definitions/fragments/upgrade_policy.py +5 -5
  161. reconcile/gql_definitions/fragments/user.py +5 -5
  162. reconcile/gql_definitions/fragments/vault_secret.py +5 -5
  163. reconcile/gql_definitions/gcp/gcp_docker_repos.py +9 -9
  164. reconcile/gql_definitions/gcp/gcp_projects.py +9 -9
  165. reconcile/gql_definitions/gitlab_members/gitlab_instances.py +9 -9
  166. reconcile/gql_definitions/gitlab_members/permissions.py +9 -9
  167. reconcile/gql_definitions/glitchtip/glitchtip_instance.py +9 -9
  168. reconcile/gql_definitions/glitchtip/glitchtip_project.py +11 -11
  169. reconcile/gql_definitions/glitchtip_project_alerts/glitchtip_project.py +9 -9
  170. reconcile/gql_definitions/integrations/integrations.py +48 -51
  171. reconcile/gql_definitions/introspection.json +3050 -1393
  172. reconcile/gql_definitions/jenkins_configs/jenkins_configs.py +11 -11
  173. reconcile/gql_definitions/jenkins_configs/jenkins_instances.py +10 -10
  174. reconcile/gql_definitions/jira/jira_servers.py +5 -5
  175. reconcile/gql_definitions/jira_permissions_validator/jira_boards_for_permissions_validator.py +14 -10
  176. reconcile/gql_definitions/jumphosts/jumphosts.py +13 -13
  177. reconcile/gql_definitions/ldap_groups/roles.py +5 -5
  178. reconcile/gql_definitions/ldap_groups/settings.py +9 -9
  179. reconcile/gql_definitions/maintenance/maintenances.py +5 -5
  180. reconcile/gql_definitions/membershipsources/roles.py +5 -5
  181. reconcile/gql_definitions/ocm_labels/clusters.py +18 -19
  182. reconcile/gql_definitions/ocm_labels/organizations.py +5 -5
  183. reconcile/gql_definitions/openshift_cluster_bots/clusters.py +22 -22
  184. reconcile/gql_definitions/openshift_groups/managed_groups.py +5 -5
  185. reconcile/gql_definitions/openshift_groups/managed_roles.py +6 -6
  186. reconcile/gql_definitions/openshift_serviceaccount_tokens/tokens.py +10 -10
  187. reconcile/gql_definitions/quay_membership/quay_membership.py +6 -6
  188. reconcile/gql_definitions/rhcs/certs.py +33 -87
  189. reconcile/gql_definitions/rhcs/openshift_resource_rhcs_cert.py +43 -0
  190. reconcile/gql_definitions/rhidp/organizations.py +18 -18
  191. reconcile/gql_definitions/service_dependencies/jenkins_instance_fragment.py +5 -5
  192. reconcile/gql_definitions/service_dependencies/service_dependencies.py +8 -8
  193. reconcile/gql_definitions/sharding/aws_accounts.py +10 -10
  194. reconcile/gql_definitions/sharding/ocm_organization.py +8 -8
  195. reconcile/gql_definitions/skupper_network/site_controller_template.py +5 -5
  196. reconcile/gql_definitions/skupper_network/skupper_networks.py +10 -10
  197. reconcile/gql_definitions/slack_usergroups/clusters.py +5 -5
  198. reconcile/gql_definitions/slack_usergroups/permissions.py +9 -9
  199. reconcile/gql_definitions/slack_usergroups/users.py +5 -5
  200. reconcile/gql_definitions/slo_documents/slo_documents.py +5 -5
  201. reconcile/gql_definitions/status_board/status_board.py +6 -7
  202. reconcile/gql_definitions/statuspage/statuspages.py +9 -9
  203. reconcile/gql_definitions/templating/template_collection.py +5 -5
  204. reconcile/gql_definitions/templating/templates.py +5 -5
  205. reconcile/gql_definitions/terraform_cloudflare_dns/app_interface_cloudflare_dns_settings.py +6 -6
  206. reconcile/gql_definitions/terraform_cloudflare_dns/terraform_cloudflare_zones.py +11 -11
  207. reconcile/gql_definitions/terraform_cloudflare_resources/terraform_cloudflare_accounts.py +11 -11
  208. reconcile/gql_definitions/terraform_cloudflare_resources/terraform_cloudflare_resources.py +20 -25
  209. reconcile/gql_definitions/terraform_cloudflare_users/app_interface_setting_cloudflare_and_vault.py +6 -6
  210. reconcile/gql_definitions/terraform_cloudflare_users/terraform_cloudflare_roles.py +12 -12
  211. reconcile/gql_definitions/terraform_init/aws_accounts.py +23 -9
  212. reconcile/gql_definitions/terraform_repo/terraform_repo.py +9 -9
  213. reconcile/gql_definitions/terraform_resources/database_access_manager.py +5 -5
  214. reconcile/gql_definitions/terraform_resources/terraform_resources_namespaces.py +448 -402
  215. reconcile/gql_definitions/terraform_tgw_attachments/aws_accounts.py +23 -17
  216. reconcile/gql_definitions/unleash_feature_toggles/feature_toggles.py +9 -9
  217. reconcile/gql_definitions/vault_instances/vault_instances.py +61 -61
  218. reconcile/gql_definitions/vault_policies/vault_policies.py +11 -11
  219. reconcile/gql_definitions/vpc_peerings_validator/vpc_peerings_validator.py +8 -8
  220. reconcile/gql_definitions/vpc_peerings_validator/vpc_peerings_validator_peered_cluster_fragment.py +5 -5
  221. reconcile/integrations_manager.py +3 -3
  222. reconcile/jenkins_job_builder.py +1 -1
  223. reconcile/jenkins_worker_fleets.py +80 -11
  224. reconcile/jira_permissions_validator.py +237 -122
  225. reconcile/ldap_groups/integration.py +1 -1
  226. reconcile/ocm/types.py +35 -56
  227. reconcile/ocm_aws_infrastructure_access.py +1 -1
  228. reconcile/ocm_clusters.py +4 -4
  229. reconcile/ocm_labels/integration.py +3 -2
  230. reconcile/ocm_machine_pools.py +33 -27
  231. reconcile/openshift_base.py +122 -10
  232. reconcile/openshift_cluster_bots.py +5 -5
  233. reconcile/openshift_groups.py +5 -0
  234. reconcile/openshift_limitranges.py +1 -1
  235. reconcile/openshift_namespace_labels.py +1 -1
  236. reconcile/openshift_namespaces.py +97 -101
  237. reconcile/openshift_resources_base.py +10 -5
  238. reconcile/openshift_rhcs_certs.py +77 -40
  239. reconcile/openshift_rolebindings.py +230 -130
  240. reconcile/openshift_saas_deploy.py +6 -7
  241. reconcile/openshift_saas_deploy_change_tester.py +9 -7
  242. reconcile/openshift_saas_deploy_trigger_cleaner.py +3 -5
  243. reconcile/openshift_serviceaccount_tokens.py +8 -7
  244. reconcile/openshift_tekton_resources.py +1 -1
  245. reconcile/openshift_upgrade_watcher.py +4 -4
  246. reconcile/openshift_users.py +5 -3
  247. reconcile/oum/labelset.py +5 -3
  248. reconcile/oum/models.py +1 -4
  249. reconcile/oum/providers.py +1 -1
  250. reconcile/prometheus_rules_tester/integration.py +4 -4
  251. reconcile/quay_mirror.py +1 -1
  252. reconcile/queries.py +131 -0
  253. reconcile/requests_sender.py +8 -3
  254. reconcile/resource_scraper.py +1 -5
  255. reconcile/rhidp/common.py +5 -5
  256. reconcile/rhidp/sso_client/base.py +19 -10
  257. reconcile/saas_auto_promotions_manager/merge_request_manager/renderer.py +1 -1
  258. reconcile/saas_auto_promotions_manager/subscriber.py +4 -3
  259. reconcile/sendgrid_teammates.py +20 -9
  260. reconcile/skupper_network/integration.py +2 -2
  261. reconcile/slack_usergroups.py +35 -14
  262. reconcile/sql_query.py +1 -0
  263. reconcile/status.py +2 -2
  264. reconcile/status_board.py +6 -6
  265. reconcile/statuspage/atlassian.py +7 -7
  266. reconcile/statuspage/integrations/maintenances.py +4 -3
  267. reconcile/statuspage/page.py +4 -9
  268. reconcile/statuspage/status.py +5 -8
  269. reconcile/templates/rosa-classic-cluster-creation.sh.j2 +4 -0
  270. reconcile/templates/rosa-hcp-cluster-creation.sh.j2 +3 -0
  271. reconcile/templating/lib/merge_request_manager.py +2 -2
  272. reconcile/templating/lib/rendering.py +3 -3
  273. reconcile/templating/renderer.py +12 -13
  274. reconcile/terraform_aws_route53.py +18 -8
  275. reconcile/terraform_cloudflare_dns.py +3 -3
  276. reconcile/terraform_cloudflare_resources.py +12 -13
  277. reconcile/terraform_cloudflare_users.py +3 -2
  278. reconcile/terraform_init/integration.py +187 -23
  279. reconcile/terraform_repo.py +16 -12
  280. reconcile/terraform_resources.py +18 -10
  281. reconcile/terraform_tgw_attachments.py +27 -19
  282. reconcile/terraform_users.py +29 -21
  283. reconcile/terraform_vpc_peerings.py +16 -4
  284. reconcile/terraform_vpc_resources/integration.py +32 -2
  285. reconcile/typed_queries/app_interface_roles.py +10 -0
  286. reconcile/typed_queries/aws_account_tags.py +41 -0
  287. reconcile/typed_queries/cost_report/app_names.py +1 -1
  288. reconcile/typed_queries/cost_report/cost_namespaces.py +2 -2
  289. reconcile/typed_queries/saas_files.py +13 -13
  290. reconcile/typed_queries/status_board.py +2 -2
  291. reconcile/unleash_feature_toggles/integration.py +4 -2
  292. reconcile/utils/acs/base.py +6 -3
  293. reconcile/utils/acs/policies.py +2 -2
  294. reconcile/utils/aggregated_list.py +4 -3
  295. reconcile/utils/aws_api.py +51 -20
  296. reconcile/utils/aws_api_typed/api.py +38 -9
  297. reconcile/utils/aws_api_typed/cloudformation.py +149 -0
  298. reconcile/utils/aws_api_typed/logs.py +73 -0
  299. reconcile/utils/aws_api_typed/organization.py +4 -2
  300. reconcile/utils/binary.py +7 -12
  301. reconcile/utils/datetime_util.py +67 -0
  302. reconcile/utils/deadmanssnitch_api.py +1 -1
  303. reconcile/utils/differ.py +2 -3
  304. reconcile/utils/early_exit_cache.py +11 -12
  305. reconcile/utils/expiration.py +7 -3
  306. reconcile/utils/external_resource_spec.py +24 -1
  307. reconcile/utils/filtering.py +1 -1
  308. reconcile/utils/gitlab_api.py +7 -5
  309. reconcile/utils/glitchtip/client.py +6 -2
  310. reconcile/utils/glitchtip/models.py +25 -28
  311. reconcile/utils/gpg.py +5 -3
  312. reconcile/utils/gql.py +4 -7
  313. reconcile/utils/helm.py +2 -1
  314. reconcile/utils/helpers.py +1 -1
  315. reconcile/utils/imap_client.py +1 -1
  316. reconcile/utils/instrumented_wrappers.py +1 -1
  317. reconcile/utils/internal_groups/client.py +2 -2
  318. reconcile/utils/internal_groups/models.py +8 -17
  319. reconcile/utils/jenkins_api.py +24 -1
  320. reconcile/utils/jinja2/utils.py +6 -8
  321. reconcile/utils/jira_client.py +82 -63
  322. reconcile/utils/jjb_client.py +59 -43
  323. reconcile/utils/jobcontroller/controller.py +2 -2
  324. reconcile/utils/jobcontroller/models.py +17 -1
  325. reconcile/utils/json.py +74 -0
  326. reconcile/utils/ldap_client.py +4 -3
  327. reconcile/utils/lean_terraform_client.py +3 -1
  328. reconcile/utils/membershipsources/app_interface_resolver.py +4 -2
  329. reconcile/utils/membershipsources/models.py +16 -23
  330. reconcile/utils/membershipsources/resolver.py +4 -2
  331. reconcile/utils/merge_request_manager/merge_request_manager.py +4 -4
  332. reconcile/utils/merge_request_manager/parser.py +6 -6
  333. reconcile/utils/metrics.py +5 -5
  334. reconcile/utils/models.py +304 -82
  335. reconcile/utils/mr/__init__.py +3 -1
  336. reconcile/utils/mr/app_interface_reporter.py +6 -3
  337. reconcile/utils/mr/aws_access.py +1 -1
  338. reconcile/utils/mr/base.py +7 -13
  339. reconcile/utils/mr/clusters_updates.py +4 -2
  340. reconcile/utils/mr/notificator.py +3 -3
  341. reconcile/utils/mr/ocm_upgrade_scheduler_org_updates.py +4 -1
  342. reconcile/utils/mr/promote_qontract.py +28 -12
  343. reconcile/utils/mr/update_access_report_base.py +3 -4
  344. reconcile/utils/mr/user_maintenance.py +7 -6
  345. reconcile/utils/oc.py +445 -336
  346. reconcile/utils/oc_filters.py +3 -3
  347. reconcile/utils/ocm/addons.py +0 -1
  348. reconcile/utils/ocm/base.py +27 -20
  349. reconcile/utils/ocm/cluster_groups.py +1 -1
  350. reconcile/utils/ocm/identity_providers.py +2 -2
  351. reconcile/utils/ocm/labels.py +1 -1
  352. reconcile/utils/ocm/ocm.py +81 -71
  353. reconcile/utils/ocm/products.py +9 -3
  354. reconcile/utils/ocm/search_filters.py +3 -6
  355. reconcile/utils/ocm/service_log.py +4 -6
  356. reconcile/utils/ocm/sre_capability_labels.py +20 -13
  357. reconcile/utils/ocm_base_client.py +4 -4
  358. reconcile/utils/openshift_resource.py +83 -52
  359. reconcile/utils/openssl.py +2 -2
  360. reconcile/utils/output.py +3 -2
  361. reconcile/utils/pagerduty_api.py +10 -7
  362. reconcile/utils/promotion_state.py +6 -11
  363. reconcile/utils/raw_github_api.py +11 -8
  364. reconcile/utils/repo_owners.py +21 -29
  365. reconcile/utils/rhcsv2_certs.py +138 -35
  366. reconcile/utils/rosa/session.py +16 -0
  367. reconcile/utils/runtime/integration.py +2 -3
  368. reconcile/utils/runtime/meta.py +2 -1
  369. reconcile/utils/runtime/runner.py +2 -2
  370. reconcile/utils/saasherder/interfaces.py +13 -20
  371. reconcile/utils/saasherder/models.py +25 -21
  372. reconcile/utils/saasherder/saasherder.py +60 -32
  373. reconcile/utils/secret_reader.py +6 -6
  374. reconcile/utils/sharding.py +1 -1
  375. reconcile/utils/slack_api.py +26 -4
  376. reconcile/utils/sloth.py +224 -0
  377. reconcile/utils/sqs_gateway.py +16 -11
  378. reconcile/utils/state.py +2 -1
  379. reconcile/utils/structs.py +4 -4
  380. reconcile/utils/terraform_client.py +32 -29
  381. reconcile/utils/terrascript_aws_client.py +658 -480
  382. reconcile/utils/three_way_diff_strategy.py +1 -1
  383. reconcile/utils/throughput.py +1 -1
  384. reconcile/utils/unleash/server.py +2 -8
  385. reconcile/utils/vault.py +44 -41
  386. reconcile/utils/vcs.py +8 -8
  387. reconcile/vault_replication.py +119 -58
  388. reconcile/vpc_peerings_validator.py +2 -2
  389. tools/app_interface_reporter.py +4 -4
  390. tools/cli_commands/cost_report/cost_management_api.py +3 -3
  391. tools/cli_commands/cost_report/view.py +7 -6
  392. tools/cli_commands/erv2.py +1 -1
  393. tools/cli_commands/gpg_encrypt.py +4 -1
  394. tools/cli_commands/systems_and_tools.py +5 -1
  395. tools/qontract_cli.py +36 -21
  396. tools/sre_checkpoints/util.py +5 -3
  397. tools/template_validation.py +3 -1
  398. reconcile/gql_definitions/ocm_oidc_idp/__init__.py +0 -0
  399. reconcile/gql_definitions/ocm_subscription_labels/__init__.py +0 -0
  400. reconcile/jenkins/__init__.py +0 -0
  401. reconcile/jenkins/types.py +0 -77
  402. {qontract_reconcile-0.10.2.dev299.dist-info → qontract_reconcile-0.10.2.dev430.dist-info}/WHEEL +0 -0
  403. {qontract_reconcile-0.10.2.dev299.dist-info → qontract_reconcile-0.10.2.dev430.dist-info}/entry_points.txt +0 -0
@@ -1,5 +1,5 @@
1
1
  """
2
- Generated by qenerate plugin=pydantic_v1. DO NOT MODIFY MANUALLY!
2
+ Generated by qenerate plugin=pydantic_v2. DO NOT MODIFY MANUALLY!
3
3
  """
4
4
  from collections.abc import Callable # noqa: F401 # pylint: disable=W0611
5
5
  from datetime import datetime # noqa: F401 # pylint: disable=W0611
@@ -12,7 +12,7 @@ from typing import ( # noqa: F401 # pylint: disable=W0611
12
12
 
13
13
  from pydantic import ( # noqa: F401 # pylint: disable=W0611
14
14
  BaseModel,
15
- Extra,
15
+ ConfigDict,
16
16
  Field,
17
17
  Json,
18
18
  )
@@ -31,7 +31,7 @@ fragment AWSVPC on AWSVPC_v1 {
31
31
  uid
32
32
  terraformUsername
33
33
  automationToken {
34
- ... VaultSecret
34
+ ...VaultSecret
35
35
  }
36
36
  }
37
37
  region
@@ -49,15 +49,15 @@ fragment CommonJumphostFields on ClusterJumpHost_v1 {
49
49
  port
50
50
  remotePort
51
51
  identity {
52
- ... VaultSecret
52
+ ...VaultSecret
53
53
  }
54
54
  }
55
55
 
56
56
  fragment VaultSecret on VaultSecret_v1 {
57
- path
58
- field
59
- version
60
- format
57
+ path
58
+ field
59
+ version
60
+ format
61
61
  }
62
62
 
63
63
  query TerraformResourcesNamespaces {
@@ -73,449 +73,470 @@ query TerraformResourcesNamespaces {
73
73
  }
74
74
  ... on NamespaceTerraformProviderResourceAWS_v1 {
75
75
  resources {
76
- output_format {
76
+ output_format {
77
77
  provider
78
78
  ... on NamespaceTerraformResourceGenericSecretOutputFormat_v1 {
79
- data
79
+ data
80
80
  }
81
+ }
82
+ provider
83
+ tags
84
+ ... on NamespaceTerraformResourceRDS_v1 {
85
+ region
86
+ identifier
87
+ defaults
88
+ availability_zone
89
+ parameter_group
90
+ old_parameter_group
91
+ overrides
92
+ output_resource_name
93
+ enhanced_monitoring
94
+ replica_source
95
+ output_resource_db_name
96
+ reset_password
97
+ ca_cert {
98
+ ...VaultSecret
81
99
  }
82
- provider
83
- ... on NamespaceTerraformResourceRDS_v1 {
84
- region
85
- identifier
86
- defaults
87
- availability_zone
88
- parameter_group
89
- old_parameter_group
90
- overrides
91
- output_resource_name
92
- enhanced_monitoring
93
- replica_source
94
- output_resource_db_name
95
- reset_password
96
- ca_cert {
97
- ... VaultSecret
98
- }
99
- annotations
100
- event_notifications {
101
- destination
102
- source_type
103
- event_categories
104
- }
105
- data_classification {
106
- loss_impact
107
- }
108
- managed_by_erv2
100
+ annotations
101
+ event_notifications {
102
+ destination
103
+ source_type
104
+ event_categories
109
105
  }
110
- ... on NamespaceTerraformResourceS3_v1 {
111
- region
112
- identifier
113
- defaults
114
- overrides
115
- sqs_identifier
116
- s3_events
117
- event_notifications {
118
- destination_type
119
- destination
120
- event_type
121
- filter_prefix
122
- filter_suffix
123
- }
124
- bucket_policy
125
- output_resource_name
126
- storage_class
127
- annotations
106
+ data_classification {
107
+ loss_impact
128
108
  }
129
- ... on NamespaceTerraformResourceElastiCache_v1 {
130
- identifier
131
- defaults
132
- parameter_group
133
- region
134
- overrides
135
- output_resource_name
136
- annotations
137
- managed_by_erv2
109
+ managed_by_erv2
110
+ }
111
+ ... on NamespaceTerraformResourceRDSProxy_v1 {
112
+ region
113
+ identifier
114
+ defaults
115
+ overrides
116
+ output_resource_name
117
+ annotations
118
+ tags
119
+ managed_by_erv2
120
+ }
121
+
122
+ ... on NamespaceTerraformResourceS3_v1 {
123
+ region
124
+ identifier
125
+ defaults
126
+ overrides
127
+ sqs_identifier
128
+ s3_events
129
+ event_notifications {
130
+ destination_type
131
+ destination
132
+ event_type
133
+ filter_prefix
134
+ filter_suffix
138
135
  }
139
- ... on NamespaceTerraformResourceServiceAccount_v1 {
140
- identifier
141
- variables
142
- policies
143
- user_policy
144
- output_resource_name
145
- annotations
146
- aws_infrastructure_access {
147
- cluster {
148
- name
149
- }
150
- access_level
151
- assume_role
152
- }
136
+ bucket_policy
137
+ output_resource_name
138
+ storage_class
139
+ annotations
140
+ }
141
+ ... on NamespaceTerraformResourceElastiCache_v1 {
142
+ identifier
143
+ defaults
144
+ parameter_group
145
+ region
146
+ overrides
147
+ output_resource_name
148
+ annotations
149
+ managed_by_erv2
150
+ }
151
+ ... on NamespaceTerraformResourceServiceAccount_v1 {
152
+ identifier
153
+ variables
154
+ policies
155
+ user_policy
156
+ output_resource_name
157
+ annotations
158
+ aws_infrastructure_access {
159
+ cluster {
160
+ name
161
+ }
162
+ access_level
163
+ assume_role
153
164
  }
154
- ... on NamespaceTerraformResourceSecretsManagerServiceAccount_v1 {
155
- identifier
156
- secrets_prefix
157
- output_resource_name
158
- annotations
165
+ }
166
+ ... on NamespaceTerraformResourceSecretsManagerServiceAccount_v1 {
167
+ identifier
168
+ secrets_prefix
169
+ output_resource_name
170
+ annotations
171
+ }
172
+ ... on NamespaceTerraformResourceRole_v1 {
173
+ identifier
174
+ assume_role {
175
+ AWS
176
+ Service
177
+ Federated
159
178
  }
160
- ... on NamespaceTerraformResourceRole_v1 {
161
- identifier
162
- assume_role {
163
- AWS
164
- Service
165
- Federated
166
- }
167
- assume_condition
168
- assume_action
169
- inline_policy
170
- role_policy
171
- policies
172
- output_resource_name
173
- annotations
174
- lifecycle {
175
- create_before_destroy
176
- prevent_destroy
177
- ignore_changes
178
- }
179
- managed_by_erv2
180
- max_session_duration
179
+ assume_condition
180
+ assume_action
181
+ inline_policy
182
+ role_policy
183
+ policies
184
+ output_resource_name
185
+ annotations
186
+ lifecycle {
187
+ create_before_destroy
188
+ prevent_destroy
189
+ ignore_changes
181
190
  }
182
- ... on NamespaceTerraformResourceSQS_v1 {
183
- region
184
- identifier
185
- output_resource_name
186
- annotations
187
- specs {
188
- defaults
189
- queues {
190
- key
191
- value
192
- }
193
- }
191
+ managed_by_erv2
192
+ max_session_duration
193
+ }
194
+ ... on NamespaceTerraformResourceSQS_v1 {
195
+ region
196
+ identifier
197
+ output_resource_name
198
+ annotations
199
+ specs {
200
+ defaults
201
+ queues {
202
+ key
203
+ value
204
+ }
194
205
  }
195
- ... on NamespaceTerraformResourceSNSTopic_v1 {
196
- defaults
197
- region
198
- identifier
199
- output_resource_name
200
- fifo_topic
201
- inline_policy
202
- annotations
203
- subscriptions
204
- {
205
- protocol
206
- endpoint
207
- }
206
+ }
207
+ ... on NamespaceTerraformResourceSNSTopic_v1 {
208
+ defaults
209
+ region
210
+ identifier
211
+ output_resource_name
212
+ fifo_topic
213
+ inline_policy
214
+ annotations
215
+ subscriptions {
216
+ protocol
217
+ endpoint
208
218
  }
209
- ... on NamespaceTerraformResourceDynamoDB_v1 {
210
- region
211
- identifier
212
- output_resource_name
213
- annotations
214
- specs {
215
- defaults
216
- tables {
217
- key
218
- value
219
- }
220
- }
219
+ }
220
+ ... on NamespaceTerraformResourceDynamoDB_v1 {
221
+ region
222
+ identifier
223
+ output_resource_name
224
+ annotations
225
+ specs {
226
+ defaults
227
+ tables {
228
+ key
229
+ value
230
+ }
221
231
  }
222
- ... on NamespaceTerraformResourceECR_v1 {
223
- identifier
224
- region
225
- output_resource_name
226
- public
227
- annotations
232
+ }
233
+ ... on NamespaceTerraformResourceECR_v1 {
234
+ identifier
235
+ region
236
+ output_resource_name
237
+ public
238
+ annotations
239
+ }
240
+ ... on NamespaceTerraformResourceS3CloudFront_v1 {
241
+ region
242
+ identifier
243
+ defaults
244
+ output_resource_name
245
+ storage_class
246
+ annotations
247
+ }
248
+ ... on NamespaceTerraformResourceS3SQS_v1 {
249
+ region
250
+ identifier
251
+ defaults
252
+ kms_encryption
253
+ output_resource_name
254
+ storage_class
255
+ annotations
256
+ }
257
+ ... on NamespaceTerraformResourceCloudWatch_v1 {
258
+ region
259
+ identifier
260
+ defaults
261
+ es_identifier
262
+ filter_pattern
263
+ output_resource_name
264
+ annotations
265
+ managed_by_erv2
266
+ }
267
+ ... on NamespaceTerraformResourceKMS_v1 {
268
+ region
269
+ identifier
270
+ defaults
271
+ overrides
272
+ output_resource_name
273
+ annotations
274
+ managed_by_erv2
275
+ }
276
+ ... on NamespaceTerraformResourceElasticSearch_v1 {
277
+ region
278
+ identifier
279
+ defaults
280
+ output_resource_name
281
+ annotations
282
+ publish_log_types
283
+ }
284
+ ... on NamespaceTerraformResourceACM_v1 {
285
+ region
286
+ identifier
287
+ secret {
288
+ ...VaultSecret
228
289
  }
229
- ... on NamespaceTerraformResourceS3CloudFront_v1 {
230
- region
231
- identifier
232
- defaults
233
- output_resource_name
234
- storage_class
235
- annotations
290
+ domain {
291
+ domain_name
292
+ alternate_names
236
293
  }
237
- ... on NamespaceTerraformResourceS3SQS_v1 {
238
- region
239
- identifier
240
- defaults
241
- kms_encryption
242
- output_resource_name
243
- storage_class
244
- annotations
294
+ output_resource_name
295
+ annotations
296
+ }
297
+ ... on NamespaceTerraformResourceKinesis_v1 {
298
+ region
299
+ identifier
300
+ defaults
301
+ es_identifier
302
+ output_resource_name
303
+ annotations
304
+ }
305
+ ... on NamespaceTerraformResourceS3CloudFrontPublicKey_v1 {
306
+ region
307
+ identifier
308
+ secret {
309
+ ...VaultSecret
245
310
  }
246
- ... on NamespaceTerraformResourceCloudWatch_v1 {
247
- region
248
- identifier
249
- defaults
250
- es_identifier
251
- filter_pattern
252
- output_resource_name
253
- annotations
254
- managed_by_erv2
311
+ output_resource_name
312
+ annotations
313
+ }
314
+ ... on NamespaceTerraformResourceALB_v1 {
315
+ region
316
+ identifier
317
+ vpc {
318
+ ...AWSVPC
255
319
  }
256
- ... on NamespaceTerraformResourceKMS_v1 {
257
- region
258
- identifier
259
- defaults
260
- overrides
261
- output_resource_name
262
- annotations
263
- managed_by_erv2
320
+ certificate_arn
321
+ ingress_cidr_blocks
322
+ idle_timeout
323
+ enable_http2
324
+ ip_address_type
325
+ access_logs
326
+ ssl_policy
327
+ mutual_authentication {
328
+ mode
329
+ ca_cert_bundle_s3_bucket_name
330
+ ca_cert_bundle_s3_bucket_key
264
331
  }
265
- ... on NamespaceTerraformResourceElasticSearch_v1 {
266
- region
267
- identifier
268
- defaults
269
- output_resource_name
270
- annotations
271
- publish_log_types
332
+ targets {
333
+ name
334
+ default
335
+ ips
336
+ openshift_service
337
+ protocol
338
+ protocol_version
339
+ health_check {
340
+ unhealthy_threshold
341
+ timeout
342
+ interval
343
+ healthy_threshold
344
+ path
345
+ port
346
+ protocol
347
+ }
272
348
  }
273
- ... on NamespaceTerraformResourceACM_v1 {
274
- region
275
- identifier
276
- secret {
277
- ... VaultSecret
349
+ rules {
350
+ condition {
351
+ type
352
+ ... on NamespaceTerraformResourceALBConditionHostHeader_v1 {
353
+ host_header
278
354
  }
279
- domain {
280
- domain_name
281
- alternate_names
355
+ ... on NamespaceTerraformResourceALBConditionHTTPRequestMethod_v1 {
356
+ http_request_method
282
357
  }
283
- output_resource_name
284
- annotations
285
- }
286
- ... on NamespaceTerraformResourceKinesis_v1 {
287
- region
288
- identifier
289
- defaults
290
- es_identifier
291
- output_resource_name
292
- annotations
293
- }
294
- ... on NamespaceTerraformResourceS3CloudFrontPublicKey_v1 {
295
- region
296
- identifier
297
- secret {
298
- ... VaultSecret
299
- }
300
- output_resource_name
301
- annotations
302
- }
303
- ... on NamespaceTerraformResourceALB_v1 {
304
- region
305
- identifier
306
- vpc {
307
- ... AWSVPC
358
+ ... on NamespaceTerraformResourceALBConditionPathPattern_v1 {
359
+ path_pattern
308
360
  }
309
- certificate_arn
310
- ingress_cidr_blocks
311
- idle_timeout
312
- enable_http2
313
- ip_address_type
314
- access_logs
315
- ssl_policy
316
- mutual_authentication {
317
- mode
318
- ca_cert_bundle_s3_bucket_name
319
- ca_cert_bundle_s3_bucket_key
361
+ ... on NamespaceTerraformResourceALBConditionSourceIP_v1 {
362
+ source_ip
320
363
  }
321
- targets {
322
- name
323
- default
324
- ips
325
- openshift_service
326
- protocol
327
- protocol_version
328
- health_check {
329
- unhealthy_threshold
330
- timeout
331
- interval
332
- healthy_threshold
333
- path
334
- port
335
- protocol
336
- }
364
+ ... on NamespaceTerraformResourceALBConditionQueryString_v1 {
365
+ query_string {
366
+ key
367
+ value
368
+ }
337
369
  }
338
- rules {
339
- condition {
340
- type
341
- ... on NamespaceTerraformResourceALBConditionHostHeader_v1 {
342
- host_header
343
- }
344
- ... on NamespaceTerraformResourceALBConditionHTTPRequestMethod_v1 {
345
- http_request_method
346
- }
347
- ... on NamespaceTerraformResourceALBConditionPathPattern_v1 {
348
- path_pattern
349
- }
350
- ... on NamespaceTerraformResourceALBConditionSourceIP_v1 {
351
- source_ip
352
- }
370
+ }
371
+ action {
372
+ type
373
+ ... on NamespaceTerraformResourceALBActionForward_v1 {
374
+ forward {
375
+ target_group {
376
+ target
377
+ weight
353
378
  }
354
- action {
355
- type
356
- ... on NamespaceTerraformResourceALBActionForward_v1 {
357
- forward {
358
- target_group {
359
- target
360
- weight
361
- }
362
- }
363
- }
364
- ... on NamespaceTerraformResourceALBActionFixedResponse_v1 {
365
- fixed_response {
366
- content_type
367
- message_body
368
- status_code
369
- }
370
- }
371
- ... on NamespaceTerraformResourceALBActionRedirect_v1 {
372
- redirect {
373
- host
374
- path
375
- port
376
- protocol
377
- query
378
- status_code
379
- }
380
- }
381
- }
382
- }
383
- output_resource_name
384
- annotations
385
- }
386
- ... on NamespaceTerraformResourceSecretsManager_v1 {
387
- region
388
- identifier
389
- secret {
390
- ... VaultSecret
379
+ }
391
380
  }
392
- output_resource_name
393
- annotations
394
- }
395
- ... on NamespaceTerraformResourceASG_v1 {
396
- region
397
- identifier
398
- defaults
399
- cloudinit_configs {
400
- filename
381
+ ... on NamespaceTerraformResourceALBActionFixedResponse_v1 {
382
+ fixed_response {
401
383
  content_type
402
- content
384
+ message_body
385
+ status_code
386
+ }
403
387
  }
404
- variables
405
- overrides
406
- extra_tags
407
- image {
408
- provider
409
- ... on ASGImageGit_v1 {
410
- tag_name
411
- url
412
- ref
413
- upstream {
414
- instance {
415
- name
416
- token {
417
- ... VaultSecret
418
- }
419
- }
420
- name
421
- }
422
- }
423
- ... on ASGImageStatic_v1 {
424
- tag_name
425
- value
426
- }
388
+ ... on NamespaceTerraformResourceALBActionRedirect_v1 {
389
+ redirect {
390
+ host
391
+ path
392
+ port
393
+ protocol
394
+ query
395
+ status_code
396
+ }
427
397
  }
428
- output_resource_name
429
- annotations
398
+ }
430
399
  }
431
- ... on NamespaceTerraformResourceRoute53Zone_v1 {
432
- region
433
- identifier
434
- name
435
- output_resource_name
436
- annotations
437
- records {
400
+ output_resource_name
401
+ annotations
402
+ }
403
+ ... on NamespaceTerraformResourceSecretsManager_v1 {
404
+ region
405
+ identifier
406
+ secret {
407
+ ...VaultSecret
408
+ }
409
+ output_resource_name
410
+ annotations
411
+ secret_format
412
+ }
413
+ ... on NamespaceTerraformResourceASG_v1 {
414
+ region
415
+ identifier
416
+ defaults
417
+ cloudinit_configs {
418
+ filename
419
+ content_type
420
+ content
421
+ }
422
+ variables
423
+ overrides
424
+ extra_tags
425
+ image {
426
+ provider
427
+ ... on ASGImageGit_v1 {
428
+ tag_name
429
+ url
430
+ ref
431
+ upstream {
432
+ instance {
438
433
  name
439
- type
440
- ttl
441
- alias {
442
- name
443
- zone_id
444
- evaluate_target_health
445
- }
446
- weighted_routing_policy {
447
- weight
434
+ token {
435
+ ...VaultSecret
448
436
  }
449
- geolocation_routing_policy {
450
- continent
451
- country
452
- subdivision
453
- }
454
- set_identifier
455
- records
437
+ }
438
+ name
456
439
  }
440
+ }
441
+ ... on ASGImageStatic_v1 {
442
+ tag_name
443
+ value
444
+ }
457
445
  }
458
- ... on NamespaceTerraformResourceRosaAuthenticator_V1 {
459
- region
460
- identifier
461
- api_proxy_uri
462
- cognito_callback_bucket_name
463
- certificate_arn
464
- domain_name
465
- network_interface_ids
466
- openshift_ingress_load_balancer_arn
467
- insights_callback_urls
468
- output_resource_name
469
- annotations
470
- vpc_id
471
- subnet_ids
472
- vpce_id
473
- defaults
474
- }
475
- ... on NamespaceTerraformResourceRosaAuthenticatorVPCE_V1 {
476
- region
477
- identifier
478
- subnet_ids,
479
- vpc_id,
480
- output_resource_name
481
- annotations
482
- defaults
446
+ output_resource_name
447
+ annotations
448
+ }
449
+ ... on NamespaceTerraformResourceRoute53Zone_v1 {
450
+ region
451
+ identifier
452
+ name
453
+ output_resource_name
454
+ annotations
455
+ records {
456
+ name
457
+ type
458
+ ttl
459
+ alias {
460
+ name
461
+ zone_id
462
+ evaluate_target_health
463
+ }
464
+ weighted_routing_policy {
465
+ weight
466
+ }
467
+ geolocation_routing_policy {
468
+ continent
469
+ country
470
+ subdivision
471
+ }
472
+ set_identifier
473
+ records
483
474
  }
484
- ... on NamespaceTerraformResourceMsk_v1 {
485
- region
486
- identifier
487
- output_resource_name
488
- defaults
489
- annotations
490
- users {
491
- name
492
- secret {
493
- ...VaultSecret
494
- }
495
- }
496
- managed_by_erv2
475
+ }
476
+ ... on NamespaceTerraformResourceRosaAuthenticator_V1 {
477
+ region
478
+ identifier
479
+ api_proxy_uri
480
+ cognito_callback_bucket_name
481
+ certificate_arn
482
+ domain_name
483
+ network_interface_ids
484
+ openshift_ingress_load_balancer_arn
485
+ insights_callback_urls
486
+ output_resource_name
487
+ annotations
488
+ vpc_id
489
+ subnet_ids
490
+ vpce_id
491
+ defaults
492
+ }
493
+ ... on NamespaceTerraformResourceRosaAuthenticatorVPCE_V1 {
494
+ region
495
+ identifier
496
+ subnet_ids
497
+ vpc_id
498
+ output_resource_name
499
+ annotations
500
+ defaults
501
+ }
502
+ ... on NamespaceTerraformResourceMsk_v1 {
503
+ region
504
+ identifier
505
+ output_resource_name
506
+ defaults
507
+ annotations
508
+ users {
509
+ name
510
+ secret {
511
+ ...VaultSecret
512
+ }
497
513
  }
514
+ managed_by_erv2
515
+ }
498
516
  }
499
517
  }
500
518
  }
501
519
  environment {
502
520
  name
521
+ servicePhase
503
522
  }
504
523
  app {
505
524
  name
525
+ appCode
526
+ costCenter
506
527
  }
507
528
  cluster {
508
529
  name
509
530
  serverUrl
510
531
  insecureSkipTLSVerify
511
532
  jumpHost {
512
- ... CommonJumphostFields
533
+ ...CommonJumphostFields
513
534
  }
514
535
  automationToken {
515
- ... VaultSecret
536
+ ...VaultSecret
516
537
  }
517
538
  clusterAdminAutomationToken {
518
- ... VaultSecret
539
+ ...VaultSecret
519
540
  }
520
541
  spec {
521
542
  region
@@ -531,9 +552,9 @@ query TerraformResourcesNamespaces {
531
552
 
532
553
 
533
554
  class ConfiguredBaseModel(BaseModel):
534
- class Config:
535
- smart_union=True
536
- extra=Extra.forbid
555
+ model_config = ConfigDict(
556
+ extra='forbid'
557
+ )
537
558
 
538
559
 
539
560
  class ExternalResourcesProvisionerV1(ConfiguredBaseModel):
@@ -556,6 +577,7 @@ class NamespaceTerraformResourceGenericSecretOutputFormatV1(NamespaceTerraformRe
556
577
  class NamespaceTerraformResourceAWSV1(ConfiguredBaseModel):
557
578
  output_format: Optional[Union[NamespaceTerraformResourceGenericSecretOutputFormatV1, NamespaceTerraformResourceOutputFormatV1]] = Field(..., alias="output_format")
558
579
  provider: str = Field(..., alias="provider")
580
+ tags: Optional[str] = Field(..., alias="tags")
559
581
 
560
582
 
561
583
  class AWSRDSEventNotificationV1(ConfiguredBaseModel):
@@ -588,6 +610,17 @@ class NamespaceTerraformResourceRDSV1(NamespaceTerraformResourceAWSV1):
588
610
  managed_by_erv2: Optional[bool] = Field(..., alias="managed_by_erv2")
589
611
 
590
612
 
613
+ class NamespaceTerraformResourceRDSProxyV1(NamespaceTerraformResourceAWSV1):
614
+ region: Optional[str] = Field(..., alias="region")
615
+ identifier: str = Field(..., alias="identifier")
616
+ defaults: str = Field(..., alias="defaults")
617
+ overrides: Optional[str] = Field(..., alias="overrides")
618
+ output_resource_name: Optional[str] = Field(..., alias="output_resource_name")
619
+ annotations: Optional[str] = Field(..., alias="annotations")
620
+ tags: Optional[str] = Field(..., alias="tags")
621
+ managed_by_erv2: Optional[bool] = Field(..., alias="managed_by_erv2")
622
+
623
+
591
624
  class AWSS3EventNotificationV1(ConfiguredBaseModel):
592
625
  destination_type: str = Field(..., alias="destination_type")
593
626
  destination: str = Field(..., alias="destination")
@@ -861,6 +894,15 @@ class NamespaceTerraformResourceALBConditionSourceIPV1(NamespaceTerraformResourc
861
894
  source_ip: list[str] = Field(..., alias="source_ip")
862
895
 
863
896
 
897
+ class NamespaceTerraformResourceALBConditionQueryStringKeyValueV1(ConfiguredBaseModel):
898
+ key: Optional[str] = Field(..., alias="key")
899
+ value: str = Field(..., alias="value")
900
+
901
+
902
+ class NamespaceTerraformResourceALBConditionQueryStringV1(NamespaceTerraformResourceALBConditionV1):
903
+ query_string: list[NamespaceTerraformResourceALBConditionQueryStringKeyValueV1] = Field(..., alias="query_string")
904
+
905
+
864
906
  class NamespaceTerraformResourceALBActionV1(ConfiguredBaseModel):
865
907
  q_type: str = Field(..., alias="type")
866
908
 
@@ -902,7 +944,7 @@ class NamespaceTerraformResourceALBActionRedirectV1(NamespaceTerraformResourceAL
902
944
 
903
945
 
904
946
  class NamespaceTerraformResourceALBRulesV1(ConfiguredBaseModel):
905
- condition: list[Union[NamespaceTerraformResourceALBConditionHostHeaderV1, NamespaceTerraformResourceALBConditionHTTPRequestMethodV1, NamespaceTerraformResourceALBConditionPathPatternV1, NamespaceTerraformResourceALBConditionSourceIPV1, NamespaceTerraformResourceALBConditionV1]] = Field(..., alias="condition")
947
+ condition: list[Union[NamespaceTerraformResourceALBConditionHostHeaderV1, NamespaceTerraformResourceALBConditionHTTPRequestMethodV1, NamespaceTerraformResourceALBConditionPathPatternV1, NamespaceTerraformResourceALBConditionSourceIPV1, NamespaceTerraformResourceALBConditionQueryStringV1, NamespaceTerraformResourceALBConditionV1]] = Field(..., alias="condition")
906
948
  action: Union[NamespaceTerraformResourceALBActionForwardV1, NamespaceTerraformResourceALBActionFixedResponseV1, NamespaceTerraformResourceALBActionRedirectV1, NamespaceTerraformResourceALBActionV1] = Field(..., alias="action")
907
949
 
908
950
 
@@ -930,6 +972,7 @@ class NamespaceTerraformResourceSecretsManagerV1(NamespaceTerraformResourceAWSV1
930
972
  secret: Optional[VaultSecret] = Field(..., alias="secret")
931
973
  output_resource_name: Optional[str] = Field(..., alias="output_resource_name")
932
974
  annotations: Optional[str] = Field(..., alias="annotations")
975
+ secret_format: Optional[str] = Field(..., alias="secret_format")
933
976
 
934
977
 
935
978
  class CloudinitConfigV1(ConfiguredBaseModel):
@@ -1057,15 +1100,18 @@ class NamespaceTerraformResourceMskV1(NamespaceTerraformResourceAWSV1):
1057
1100
 
1058
1101
 
1059
1102
  class NamespaceTerraformProviderResourceAWSV1(NamespaceExternalResourceV1):
1060
- resources: list[Union[NamespaceTerraformResourceRDSV1, NamespaceTerraformResourceALBV1, NamespaceTerraformResourceRosaAuthenticatorV1, NamespaceTerraformResourceRoleV1, NamespaceTerraformResourceS3V1, NamespaceTerraformResourceASGV1, NamespaceTerraformResourceElastiCacheV1, NamespaceTerraformResourceSNSTopicV1, NamespaceTerraformResourceCloudWatchV1, NamespaceTerraformResourceServiceAccountV1, NamespaceTerraformResourceS3SQSV1, NamespaceTerraformResourceKMSV1, NamespaceTerraformResourceRosaAuthenticatorVPCEV1, NamespaceTerraformResourceMskV1, NamespaceTerraformResourceS3CloudFrontV1, NamespaceTerraformResourceElasticSearchV1, NamespaceTerraformResourceACMV1, NamespaceTerraformResourceKinesisV1, NamespaceTerraformResourceRoute53ZoneV1, NamespaceTerraformResourceSQSV1, NamespaceTerraformResourceDynamoDBV1, NamespaceTerraformResourceECRV1, NamespaceTerraformResourceS3CloudFrontPublicKeyV1, NamespaceTerraformResourceSecretsManagerV1, NamespaceTerraformResourceSecretsManagerServiceAccountV1, NamespaceTerraformResourceAWSV1]] = Field(..., alias="resources")
1103
+ resources: list[Union[NamespaceTerraformResourceRDSV1, NamespaceTerraformResourceALBV1, NamespaceTerraformResourceRosaAuthenticatorV1, NamespaceTerraformResourceRoleV1, NamespaceTerraformResourceS3V1, NamespaceTerraformResourceASGV1, NamespaceTerraformResourceRDSProxyV1, NamespaceTerraformResourceElastiCacheV1, NamespaceTerraformResourceSNSTopicV1, NamespaceTerraformResourceCloudWatchV1, NamespaceTerraformResourceServiceAccountV1, NamespaceTerraformResourceS3SQSV1, NamespaceTerraformResourceKMSV1, NamespaceTerraformResourceRosaAuthenticatorVPCEV1, NamespaceTerraformResourceMskV1, NamespaceTerraformResourceS3CloudFrontV1, NamespaceTerraformResourceElasticSearchV1, NamespaceTerraformResourceACMV1, NamespaceTerraformResourceKinesisV1, NamespaceTerraformResourceSecretsManagerV1, NamespaceTerraformResourceRoute53ZoneV1, NamespaceTerraformResourceSQSV1, NamespaceTerraformResourceDynamoDBV1, NamespaceTerraformResourceECRV1, NamespaceTerraformResourceS3CloudFrontPublicKeyV1, NamespaceTerraformResourceSecretsManagerServiceAccountV1, NamespaceTerraformResourceAWSV1]] = Field(..., alias="resources")
1061
1104
 
1062
1105
 
1063
1106
  class EnvironmentV1(ConfiguredBaseModel):
1064
1107
  name: str = Field(..., alias="name")
1108
+ service_phase: str = Field(..., alias="servicePhase")
1065
1109
 
1066
1110
 
1067
1111
  class AppV1(ConfiguredBaseModel):
1068
1112
  name: str = Field(..., alias="name")
1113
+ app_code: str = Field(..., alias="appCode")
1114
+ cost_center: str = Field(..., alias="costCenter")
1069
1115
 
1070
1116
 
1071
1117
  class ClusterSpecV1(ConfiguredBaseModel):