qontract-reconcile 0.10.2.dev310__py3-none-any.whl → 0.10.2.dev439__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.

Potentially problematic release.


This version of qontract-reconcile might be problematic. Click here for more details.

Files changed (400) hide show
  1. {qontract_reconcile-0.10.2.dev310.dist-info → qontract_reconcile-0.10.2.dev439.dist-info}/METADATA +13 -12
  2. {qontract_reconcile-0.10.2.dev310.dist-info → qontract_reconcile-0.10.2.dev439.dist-info}/RECORD +396 -391
  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 +5 -5
  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 +10 -14
  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 +22 -9
  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 +494 -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 +12 -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 +3510 -1865
  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 +450 -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 +3 -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 +5 -1
  270. reconcile/templates/rosa-hcp-cluster-creation.sh.j2 +4 -1
  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 +28 -20
  282. reconcile/terraform_users.py +27 -22
  283. reconcile/terraform_vpc_peerings.py +15 -3
  284. reconcile/terraform_vpc_resources/integration.py +23 -8
  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 +78 -46
  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 +18 -21
  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 +1 -1
  380. reconcile/utils/terraform_client.py +29 -26
  381. reconcile/utils/terrascript_aws_client.py +200 -116
  382. reconcile/utils/three_way_diff_strategy.py +1 -1
  383. reconcile/utils/unleash/server.py +2 -8
  384. reconcile/utils/vault.py +44 -41
  385. reconcile/utils/vcs.py +8 -8
  386. reconcile/vault_replication.py +119 -58
  387. tools/app_interface_reporter.py +4 -4
  388. tools/cli_commands/cost_report/cost_management_api.py +3 -3
  389. tools/cli_commands/cost_report/view.py +7 -6
  390. tools/cli_commands/erv2.py +1 -1
  391. tools/cli_commands/gpg_encrypt.py +4 -1
  392. tools/cli_commands/systems_and_tools.py +5 -1
  393. tools/qontract_cli.py +36 -21
  394. tools/template_validation.py +3 -1
  395. reconcile/gql_definitions/ocm_oidc_idp/__init__.py +0 -0
  396. reconcile/gql_definitions/ocm_subscription_labels/__init__.py +0 -0
  397. reconcile/jenkins/__init__.py +0 -0
  398. reconcile/jenkins/types.py +0 -77
  399. {qontract_reconcile-0.10.2.dev310.dist-info → qontract_reconcile-0.10.2.dev439.dist-info}/WHEEL +0 -0
  400. {qontract_reconcile-0.10.2.dev310.dist-info → qontract_reconcile-0.10.2.dev439.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,471 @@ 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
+ policy
303
+ output_resource_name
304
+ annotations
305
+ }
306
+ ... on NamespaceTerraformResourceS3CloudFrontPublicKey_v1 {
307
+ region
308
+ identifier
309
+ secret {
310
+ ...VaultSecret
245
311
  }
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
312
+ output_resource_name
313
+ annotations
314
+ }
315
+ ... on NamespaceTerraformResourceALB_v1 {
316
+ region
317
+ identifier
318
+ vpc {
319
+ ...AWSVPC
255
320
  }
256
- ... on NamespaceTerraformResourceKMS_v1 {
257
- region
258
- identifier
259
- defaults
260
- overrides
261
- output_resource_name
262
- annotations
263
- managed_by_erv2
321
+ certificate_arn
322
+ ingress_cidr_blocks
323
+ idle_timeout
324
+ enable_http2
325
+ ip_address_type
326
+ access_logs
327
+ ssl_policy
328
+ mutual_authentication {
329
+ mode
330
+ ca_cert_bundle_s3_bucket_name
331
+ ca_cert_bundle_s3_bucket_key
264
332
  }
265
- ... on NamespaceTerraformResourceElasticSearch_v1 {
266
- region
267
- identifier
268
- defaults
269
- output_resource_name
270
- annotations
271
- publish_log_types
333
+ targets {
334
+ name
335
+ default
336
+ ips
337
+ openshift_service
338
+ protocol
339
+ protocol_version
340
+ health_check {
341
+ unhealthy_threshold
342
+ timeout
343
+ interval
344
+ healthy_threshold
345
+ path
346
+ port
347
+ protocol
348
+ }
272
349
  }
273
- ... on NamespaceTerraformResourceACM_v1 {
274
- region
275
- identifier
276
- secret {
277
- ... VaultSecret
350
+ rules {
351
+ condition {
352
+ type
353
+ ... on NamespaceTerraformResourceALBConditionHostHeader_v1 {
354
+ host_header
278
355
  }
279
- domain {
280
- domain_name
281
- alternate_names
356
+ ... on NamespaceTerraformResourceALBConditionHTTPRequestMethod_v1 {
357
+ http_request_method
282
358
  }
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
359
+ ... on NamespaceTerraformResourceALBConditionPathPattern_v1 {
360
+ path_pattern
308
361
  }
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
362
+ ... on NamespaceTerraformResourceALBConditionSourceIP_v1 {
363
+ source_ip
320
364
  }
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
- }
365
+ ... on NamespaceTerraformResourceALBConditionQueryString_v1 {
366
+ query_string {
367
+ key
368
+ value
369
+ }
337
370
  }
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
- }
371
+ }
372
+ action {
373
+ type
374
+ ... on NamespaceTerraformResourceALBActionForward_v1 {
375
+ forward {
376
+ target_group {
377
+ target
378
+ weight
353
379
  }
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
380
+ }
391
381
  }
392
- output_resource_name
393
- annotations
394
- }
395
- ... on NamespaceTerraformResourceASG_v1 {
396
- region
397
- identifier
398
- defaults
399
- cloudinit_configs {
400
- filename
382
+ ... on NamespaceTerraformResourceALBActionFixedResponse_v1 {
383
+ fixed_response {
401
384
  content_type
402
- content
385
+ message_body
386
+ status_code
387
+ }
403
388
  }
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
- }
389
+ ... on NamespaceTerraformResourceALBActionRedirect_v1 {
390
+ redirect {
391
+ host
392
+ path
393
+ port
394
+ protocol
395
+ query
396
+ status_code
397
+ }
427
398
  }
428
- output_resource_name
429
- annotations
399
+ }
430
400
  }
431
- ... on NamespaceTerraformResourceRoute53Zone_v1 {
432
- region
433
- identifier
434
- name
435
- output_resource_name
436
- annotations
437
- records {
401
+ output_resource_name
402
+ annotations
403
+ }
404
+ ... on NamespaceTerraformResourceSecretsManager_v1 {
405
+ region
406
+ identifier
407
+ secret {
408
+ ...VaultSecret
409
+ }
410
+ output_resource_name
411
+ annotations
412
+ secret_format
413
+ }
414
+ ... on NamespaceTerraformResourceASG_v1 {
415
+ region
416
+ identifier
417
+ defaults
418
+ cloudinit_configs {
419
+ filename
420
+ content_type
421
+ content
422
+ }
423
+ variables
424
+ overrides
425
+ extra_tags
426
+ image {
427
+ provider
428
+ ... on ASGImageGit_v1 {
429
+ tag_name
430
+ url
431
+ ref
432
+ upstream {
433
+ instance {
438
434
  name
439
- type
440
- ttl
441
- alias {
442
- name
443
- zone_id
444
- evaluate_target_health
445
- }
446
- weighted_routing_policy {
447
- weight
435
+ token {
436
+ ...VaultSecret
448
437
  }
449
- geolocation_routing_policy {
450
- continent
451
- country
452
- subdivision
453
- }
454
- set_identifier
455
- records
438
+ }
439
+ name
456
440
  }
441
+ }
442
+ ... on ASGImageStatic_v1 {
443
+ tag_name
444
+ value
445
+ }
457
446
  }
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
447
+ output_resource_name
448
+ annotations
449
+ }
450
+ ... on NamespaceTerraformResourceRoute53Zone_v1 {
451
+ region
452
+ identifier
453
+ name
454
+ output_resource_name
455
+ annotations
456
+ records {
457
+ name
458
+ type
459
+ ttl
460
+ alias {
461
+ name
462
+ zone_id
463
+ evaluate_target_health
464
+ }
465
+ weighted_routing_policy {
466
+ weight
467
+ }
468
+ geolocation_routing_policy {
469
+ continent
470
+ country
471
+ subdivision
472
+ }
473
+ set_identifier
474
+ records
483
475
  }
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
476
+ }
477
+ ... on NamespaceTerraformResourceRosaAuthenticator_V1 {
478
+ region
479
+ identifier
480
+ api_proxy_uri
481
+ cognito_callback_bucket_name
482
+ certificate_arn
483
+ domain_name
484
+ network_interface_ids
485
+ openshift_ingress_load_balancer_arn
486
+ insights_callback_urls
487
+ output_resource_name
488
+ annotations
489
+ vpc_id
490
+ subnet_ids
491
+ vpce_id
492
+ defaults
493
+ }
494
+ ... on NamespaceTerraformResourceRosaAuthenticatorVPCE_V1 {
495
+ region
496
+ identifier
497
+ subnet_ids
498
+ vpc_id
499
+ output_resource_name
500
+ annotations
501
+ defaults
502
+ }
503
+ ... on NamespaceTerraformResourceMsk_v1 {
504
+ region
505
+ identifier
506
+ output_resource_name
507
+ defaults
508
+ annotations
509
+ users {
510
+ name
511
+ secret {
512
+ ...VaultSecret
513
+ }
497
514
  }
515
+ managed_by_erv2
516
+ }
498
517
  }
499
518
  }
500
519
  }
501
520
  environment {
502
521
  name
522
+ servicePhase
503
523
  }
504
524
  app {
505
525
  name
526
+ appCode
527
+ costCenter
506
528
  }
507
529
  cluster {
508
530
  name
509
531
  serverUrl
510
532
  insecureSkipTLSVerify
511
533
  jumpHost {
512
- ... CommonJumphostFields
534
+ ...CommonJumphostFields
513
535
  }
514
536
  automationToken {
515
- ... VaultSecret
537
+ ...VaultSecret
516
538
  }
517
539
  clusterAdminAutomationToken {
518
- ... VaultSecret
540
+ ...VaultSecret
519
541
  }
520
542
  spec {
521
543
  region
@@ -531,9 +553,9 @@ query TerraformResourcesNamespaces {
531
553
 
532
554
 
533
555
  class ConfiguredBaseModel(BaseModel):
534
- class Config:
535
- smart_union=True
536
- extra=Extra.forbid
556
+ model_config = ConfigDict(
557
+ extra='forbid'
558
+ )
537
559
 
538
560
 
539
561
  class ExternalResourcesProvisionerV1(ConfiguredBaseModel):
@@ -556,6 +578,7 @@ class NamespaceTerraformResourceGenericSecretOutputFormatV1(NamespaceTerraformRe
556
578
  class NamespaceTerraformResourceAWSV1(ConfiguredBaseModel):
557
579
  output_format: Optional[Union[NamespaceTerraformResourceGenericSecretOutputFormatV1, NamespaceTerraformResourceOutputFormatV1]] = Field(..., alias="output_format")
558
580
  provider: str = Field(..., alias="provider")
581
+ tags: Optional[str] = Field(..., alias="tags")
559
582
 
560
583
 
561
584
  class AWSRDSEventNotificationV1(ConfiguredBaseModel):
@@ -588,6 +611,17 @@ class NamespaceTerraformResourceRDSV1(NamespaceTerraformResourceAWSV1):
588
611
  managed_by_erv2: Optional[bool] = Field(..., alias="managed_by_erv2")
589
612
 
590
613
 
614
+ class NamespaceTerraformResourceRDSProxyV1(NamespaceTerraformResourceAWSV1):
615
+ region: Optional[str] = Field(..., alias="region")
616
+ identifier: str = Field(..., alias="identifier")
617
+ defaults: str = Field(..., alias="defaults")
618
+ overrides: Optional[str] = Field(..., alias="overrides")
619
+ output_resource_name: Optional[str] = Field(..., alias="output_resource_name")
620
+ annotations: Optional[str] = Field(..., alias="annotations")
621
+ tags: Optional[str] = Field(..., alias="tags")
622
+ managed_by_erv2: Optional[bool] = Field(..., alias="managed_by_erv2")
623
+
624
+
591
625
  class AWSS3EventNotificationV1(ConfiguredBaseModel):
592
626
  destination_type: str = Field(..., alias="destination_type")
593
627
  destination: str = Field(..., alias="destination")
@@ -803,6 +837,7 @@ class NamespaceTerraformResourceKinesisV1(NamespaceTerraformResourceAWSV1):
803
837
  identifier: str = Field(..., alias="identifier")
804
838
  defaults: str = Field(..., alias="defaults")
805
839
  es_identifier: Optional[str] = Field(..., alias="es_identifier")
840
+ policy: Optional[str] = Field(..., alias="policy")
806
841
  output_resource_name: Optional[str] = Field(..., alias="output_resource_name")
807
842
  annotations: Optional[str] = Field(..., alias="annotations")
808
843
 
@@ -861,6 +896,15 @@ class NamespaceTerraformResourceALBConditionSourceIPV1(NamespaceTerraformResourc
861
896
  source_ip: list[str] = Field(..., alias="source_ip")
862
897
 
863
898
 
899
+ class NamespaceTerraformResourceALBConditionQueryStringKeyValueV1(ConfiguredBaseModel):
900
+ key: Optional[str] = Field(..., alias="key")
901
+ value: str = Field(..., alias="value")
902
+
903
+
904
+ class NamespaceTerraformResourceALBConditionQueryStringV1(NamespaceTerraformResourceALBConditionV1):
905
+ query_string: list[NamespaceTerraformResourceALBConditionQueryStringKeyValueV1] = Field(..., alias="query_string")
906
+
907
+
864
908
  class NamespaceTerraformResourceALBActionV1(ConfiguredBaseModel):
865
909
  q_type: str = Field(..., alias="type")
866
910
 
@@ -902,7 +946,7 @@ class NamespaceTerraformResourceALBActionRedirectV1(NamespaceTerraformResourceAL
902
946
 
903
947
 
904
948
  class NamespaceTerraformResourceALBRulesV1(ConfiguredBaseModel):
905
- condition: list[Union[NamespaceTerraformResourceALBConditionHostHeaderV1, NamespaceTerraformResourceALBConditionHTTPRequestMethodV1, NamespaceTerraformResourceALBConditionPathPatternV1, NamespaceTerraformResourceALBConditionSourceIPV1, NamespaceTerraformResourceALBConditionV1]] = Field(..., alias="condition")
949
+ condition: list[Union[NamespaceTerraformResourceALBConditionHostHeaderV1, NamespaceTerraformResourceALBConditionHTTPRequestMethodV1, NamespaceTerraformResourceALBConditionPathPatternV1, NamespaceTerraformResourceALBConditionSourceIPV1, NamespaceTerraformResourceALBConditionQueryStringV1, NamespaceTerraformResourceALBConditionV1]] = Field(..., alias="condition")
906
950
  action: Union[NamespaceTerraformResourceALBActionForwardV1, NamespaceTerraformResourceALBActionFixedResponseV1, NamespaceTerraformResourceALBActionRedirectV1, NamespaceTerraformResourceALBActionV1] = Field(..., alias="action")
907
951
 
908
952
 
@@ -930,6 +974,7 @@ class NamespaceTerraformResourceSecretsManagerV1(NamespaceTerraformResourceAWSV1
930
974
  secret: Optional[VaultSecret] = Field(..., alias="secret")
931
975
  output_resource_name: Optional[str] = Field(..., alias="output_resource_name")
932
976
  annotations: Optional[str] = Field(..., alias="annotations")
977
+ secret_format: Optional[str] = Field(..., alias="secret_format")
933
978
 
934
979
 
935
980
  class CloudinitConfigV1(ConfiguredBaseModel):
@@ -1057,15 +1102,18 @@ class NamespaceTerraformResourceMskV1(NamespaceTerraformResourceAWSV1):
1057
1102
 
1058
1103
 
1059
1104
  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")
1105
+ resources: list[Union[NamespaceTerraformResourceRDSV1, NamespaceTerraformResourceALBV1, NamespaceTerraformResourceRosaAuthenticatorV1, NamespaceTerraformResourceRoleV1, NamespaceTerraformResourceS3V1, NamespaceTerraformResourceASGV1, NamespaceTerraformResourceRDSProxyV1, NamespaceTerraformResourceElastiCacheV1, NamespaceTerraformResourceSNSTopicV1, NamespaceTerraformResourceCloudWatchV1, NamespaceTerraformResourceServiceAccountV1, NamespaceTerraformResourceS3SQSV1, NamespaceTerraformResourceKMSV1, NamespaceTerraformResourceKinesisV1, NamespaceTerraformResourceRosaAuthenticatorVPCEV1, NamespaceTerraformResourceMskV1, NamespaceTerraformResourceS3CloudFrontV1, NamespaceTerraformResourceElasticSearchV1, NamespaceTerraformResourceACMV1, NamespaceTerraformResourceSecretsManagerV1, NamespaceTerraformResourceRoute53ZoneV1, NamespaceTerraformResourceSQSV1, NamespaceTerraformResourceDynamoDBV1, NamespaceTerraformResourceECRV1, NamespaceTerraformResourceS3CloudFrontPublicKeyV1, NamespaceTerraformResourceSecretsManagerServiceAccountV1, NamespaceTerraformResourceAWSV1]] = Field(..., alias="resources")
1061
1106
 
1062
1107
 
1063
1108
  class EnvironmentV1(ConfiguredBaseModel):
1064
1109
  name: str = Field(..., alias="name")
1110
+ service_phase: str = Field(..., alias="servicePhase")
1065
1111
 
1066
1112
 
1067
1113
  class AppV1(ConfiguredBaseModel):
1068
1114
  name: str = Field(..., alias="name")
1115
+ app_code: str = Field(..., alias="appCode")
1116
+ cost_center: str = Field(..., alias="costCenter")
1069
1117
 
1070
1118
 
1071
1119
  class ClusterSpecV1(ConfiguredBaseModel):