qontract-reconcile 0.10.2.dev334__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 (370) hide show
  1. {qontract_reconcile-0.10.2.dev334.dist-info → qontract_reconcile-0.10.2.dev439.dist-info}/METADATA +13 -12
  2. {qontract_reconcile-0.10.2.dev334.dist-info → qontract_reconcile-0.10.2.dev439.dist-info}/RECORD +366 -361
  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 +3 -3
  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 +6 -12
  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 +11 -3
  28. reconcile/cli.py +111 -18
  29. reconcile/dashdotdb_dora.py +5 -12
  30. reconcile/dashdotdb_slo.py +1 -1
  31. reconcile/database_access_manager.py +123 -117
  32. reconcile/dynatrace_token_provider/integration.py +1 -1
  33. reconcile/endpoints_discovery/integration.py +4 -1
  34. reconcile/endpoints_discovery/merge_request.py +1 -1
  35. reconcile/endpoints_discovery/merge_request_manager.py +9 -11
  36. reconcile/external_resources/factories.py +5 -12
  37. reconcile/external_resources/integration.py +1 -1
  38. reconcile/external_resources/manager.py +8 -5
  39. reconcile/external_resources/meta.py +0 -1
  40. reconcile/external_resources/metrics.py +1 -1
  41. reconcile/external_resources/model.py +20 -20
  42. reconcile/external_resources/reconciler.py +7 -4
  43. reconcile/external_resources/secrets_sync.py +8 -11
  44. reconcile/external_resources/state.py +26 -16
  45. reconcile/fleet_labeler/integration.py +1 -1
  46. reconcile/gabi_authorized_users.py +8 -5
  47. reconcile/gcp_image_mirror.py +2 -2
  48. reconcile/github_org.py +1 -1
  49. reconcile/github_owners.py +4 -0
  50. reconcile/gitlab_housekeeping.py +13 -15
  51. reconcile/gitlab_members.py +6 -12
  52. reconcile/gitlab_mr_sqs_consumer.py +2 -2
  53. reconcile/gitlab_owners.py +15 -11
  54. reconcile/gitlab_permissions.py +8 -12
  55. reconcile/glitchtip_project_alerts/integration.py +3 -1
  56. reconcile/gql_definitions/acs/acs_instances.py +10 -10
  57. reconcile/gql_definitions/acs/acs_policies.py +5 -5
  58. reconcile/gql_definitions/acs/acs_rbac.py +6 -6
  59. reconcile/gql_definitions/advanced_upgrade_service/aus_clusters.py +32 -32
  60. reconcile/gql_definitions/advanced_upgrade_service/aus_organization.py +26 -26
  61. reconcile/gql_definitions/app_interface_metrics_exporter/onboarding_status.py +6 -7
  62. reconcile/gql_definitions/app_sre_tekton_access_revalidation/roles.py +5 -5
  63. reconcile/gql_definitions/app_sre_tekton_access_revalidation/users.py +5 -5
  64. reconcile/gql_definitions/automated_actions/instance.py +51 -12
  65. reconcile/gql_definitions/aws_account_manager/aws_accounts.py +11 -11
  66. reconcile/gql_definitions/aws_ami_cleanup/aws_accounts.py +20 -10
  67. reconcile/gql_definitions/aws_cloudwatch_log_retention/aws_accounts.py +28 -68
  68. reconcile/gql_definitions/aws_saml_idp/aws_accounts.py +20 -10
  69. reconcile/gql_definitions/aws_saml_roles/aws_accounts.py +20 -10
  70. reconcile/gql_definitions/aws_saml_roles/roles.py +5 -5
  71. reconcile/gql_definitions/aws_version_sync/clusters.py +10 -10
  72. reconcile/gql_definitions/aws_version_sync/namespaces.py +5 -5
  73. reconcile/gql_definitions/change_owners/queries/change_types.py +5 -5
  74. reconcile/gql_definitions/change_owners/queries/self_service_roles.py +9 -9
  75. reconcile/gql_definitions/cluster_auth_rhidp/clusters.py +18 -18
  76. reconcile/gql_definitions/common/alerting_services_settings.py +9 -9
  77. reconcile/gql_definitions/common/app_code_component_repos.py +5 -5
  78. reconcile/gql_definitions/common/app_interface_custom_messages.py +5 -5
  79. reconcile/gql_definitions/common/app_interface_dms_settings.py +5 -5
  80. reconcile/gql_definitions/common/app_interface_repo_settings.py +5 -5
  81. reconcile/gql_definitions/common/app_interface_roles.py +120 -0
  82. reconcile/gql_definitions/common/app_interface_state_settings.py +10 -10
  83. reconcile/gql_definitions/common/app_interface_vault_settings.py +5 -5
  84. reconcile/gql_definitions/common/app_quay_repos_escalation_policies.py +5 -5
  85. reconcile/gql_definitions/common/apps.py +5 -5
  86. reconcile/gql_definitions/common/aws_vpc_requests.py +22 -9
  87. reconcile/gql_definitions/common/aws_vpcs.py +11 -11
  88. reconcile/gql_definitions/common/clusters.py +37 -35
  89. reconcile/gql_definitions/common/clusters_minimal.py +14 -14
  90. reconcile/gql_definitions/common/clusters_with_dms.py +6 -6
  91. reconcile/gql_definitions/common/clusters_with_peering.py +29 -30
  92. reconcile/gql_definitions/common/github_orgs.py +10 -10
  93. reconcile/gql_definitions/common/jira_settings.py +10 -10
  94. reconcile/gql_definitions/common/jiralert_settings.py +5 -5
  95. reconcile/gql_definitions/common/ldap_settings.py +5 -5
  96. reconcile/gql_definitions/common/namespaces.py +42 -44
  97. reconcile/gql_definitions/common/namespaces_minimal.py +15 -13
  98. reconcile/gql_definitions/common/ocm_env_telemeter.py +12 -12
  99. reconcile/gql_definitions/common/ocm_environments.py +19 -19
  100. reconcile/gql_definitions/common/pagerduty_instances.py +9 -9
  101. reconcile/gql_definitions/common/pgp_reencryption_settings.py +6 -6
  102. reconcile/gql_definitions/common/pipeline_providers.py +29 -29
  103. reconcile/gql_definitions/common/quay_instances.py +5 -5
  104. reconcile/gql_definitions/common/quay_orgs.py +5 -5
  105. reconcile/gql_definitions/common/reserved_networks.py +5 -5
  106. reconcile/gql_definitions/common/rhcs_provider_settings.py +5 -5
  107. reconcile/gql_definitions/common/saas_files.py +44 -44
  108. reconcile/gql_definitions/common/saas_target_namespaces.py +10 -10
  109. reconcile/gql_definitions/common/saasherder_settings.py +5 -5
  110. reconcile/gql_definitions/common/slack_workspaces.py +5 -5
  111. reconcile/gql_definitions/common/smtp_client_settings.py +19 -19
  112. reconcile/gql_definitions/common/state_aws_account.py +7 -8
  113. reconcile/gql_definitions/common/users.py +5 -5
  114. reconcile/gql_definitions/common/users_with_paths.py +5 -5
  115. reconcile/gql_definitions/cost_report/app_names.py +5 -5
  116. reconcile/gql_definitions/cost_report/cost_namespaces.py +5 -5
  117. reconcile/gql_definitions/cost_report/settings.py +9 -9
  118. reconcile/gql_definitions/dashdotdb_slo/slo_documents_query.py +43 -43
  119. reconcile/gql_definitions/dynatrace_token_provider/dynatrace_bootstrap_tokens.py +10 -10
  120. reconcile/gql_definitions/dynatrace_token_provider/token_specs.py +5 -5
  121. reconcile/gql_definitions/email_sender/apps.py +5 -5
  122. reconcile/gql_definitions/email_sender/emails.py +8 -8
  123. reconcile/gql_definitions/email_sender/users.py +6 -6
  124. reconcile/gql_definitions/endpoints_discovery/apps.py +10 -10
  125. reconcile/gql_definitions/external_resources/aws_accounts.py +9 -9
  126. reconcile/gql_definitions/external_resources/external_resources_modules.py +23 -23
  127. reconcile/gql_definitions/external_resources/external_resources_namespaces.py +494 -410
  128. reconcile/gql_definitions/external_resources/external_resources_settings.py +28 -26
  129. reconcile/gql_definitions/external_resources/fragments/external_resources_module_overrides.py +5 -5
  130. reconcile/gql_definitions/fleet_labeler/fleet_labels.py +40 -40
  131. reconcile/gql_definitions/fragments/aus_organization.py +5 -5
  132. reconcile/gql_definitions/fragments/aws_account_common.py +7 -5
  133. reconcile/gql_definitions/fragments/aws_account_managed.py +5 -5
  134. reconcile/gql_definitions/fragments/aws_account_sso.py +5 -5
  135. reconcile/gql_definitions/fragments/aws_infra_management_account.py +5 -5
  136. reconcile/gql_definitions/fragments/{aws_vpc_request_subnet.py → aws_organization.py} +12 -8
  137. reconcile/gql_definitions/fragments/aws_vpc.py +5 -5
  138. reconcile/gql_definitions/fragments/aws_vpc_request.py +12 -5
  139. reconcile/gql_definitions/fragments/container_image_mirror.py +5 -5
  140. reconcile/gql_definitions/fragments/deploy_resources.py +5 -5
  141. reconcile/gql_definitions/fragments/disable.py +5 -5
  142. reconcile/gql_definitions/fragments/email_service.py +5 -5
  143. reconcile/gql_definitions/fragments/email_user.py +5 -5
  144. reconcile/gql_definitions/fragments/jumphost_common_fields.py +5 -5
  145. reconcile/gql_definitions/fragments/membership_source.py +5 -5
  146. reconcile/gql_definitions/fragments/minimal_ocm_organization.py +5 -5
  147. reconcile/gql_definitions/fragments/oc_connection_cluster.py +5 -5
  148. reconcile/gql_definitions/fragments/ocm_environment.py +5 -5
  149. reconcile/gql_definitions/fragments/pipeline_provider_retention.py +5 -5
  150. reconcile/gql_definitions/fragments/prometheus_instance.py +5 -5
  151. reconcile/gql_definitions/fragments/resource_limits_requirements.py +5 -5
  152. reconcile/gql_definitions/fragments/resource_requests_requirements.py +5 -5
  153. reconcile/gql_definitions/fragments/resource_values.py +5 -5
  154. reconcile/gql_definitions/fragments/saas_slo_document.py +5 -5
  155. reconcile/gql_definitions/fragments/saas_target_namespace.py +5 -5
  156. reconcile/gql_definitions/fragments/serviceaccount_token.py +5 -5
  157. reconcile/gql_definitions/fragments/terraform_state.py +5 -5
  158. reconcile/gql_definitions/fragments/upgrade_policy.py +5 -5
  159. reconcile/gql_definitions/fragments/user.py +5 -5
  160. reconcile/gql_definitions/fragments/vault_secret.py +5 -5
  161. reconcile/gql_definitions/gcp/gcp_docker_repos.py +9 -9
  162. reconcile/gql_definitions/gcp/gcp_projects.py +9 -9
  163. reconcile/gql_definitions/gitlab_members/gitlab_instances.py +9 -9
  164. reconcile/gql_definitions/gitlab_members/permissions.py +9 -9
  165. reconcile/gql_definitions/glitchtip/glitchtip_instance.py +9 -9
  166. reconcile/gql_definitions/glitchtip/glitchtip_project.py +11 -11
  167. reconcile/gql_definitions/glitchtip_project_alerts/glitchtip_project.py +9 -9
  168. reconcile/gql_definitions/integrations/integrations.py +48 -51
  169. reconcile/gql_definitions/introspection.json +3207 -1683
  170. reconcile/gql_definitions/jenkins_configs/jenkins_configs.py +11 -11
  171. reconcile/gql_definitions/jenkins_configs/jenkins_instances.py +10 -10
  172. reconcile/gql_definitions/jira/jira_servers.py +5 -5
  173. reconcile/gql_definitions/jira_permissions_validator/jira_boards_for_permissions_validator.py +14 -10
  174. reconcile/gql_definitions/jumphosts/jumphosts.py +13 -13
  175. reconcile/gql_definitions/ldap_groups/roles.py +5 -5
  176. reconcile/gql_definitions/ldap_groups/settings.py +9 -9
  177. reconcile/gql_definitions/maintenance/maintenances.py +5 -5
  178. reconcile/gql_definitions/membershipsources/roles.py +5 -5
  179. reconcile/gql_definitions/ocm_labels/clusters.py +18 -19
  180. reconcile/gql_definitions/ocm_labels/organizations.py +5 -5
  181. reconcile/gql_definitions/openshift_cluster_bots/clusters.py +22 -22
  182. reconcile/gql_definitions/openshift_groups/managed_groups.py +5 -5
  183. reconcile/gql_definitions/openshift_groups/managed_roles.py +6 -6
  184. reconcile/gql_definitions/openshift_serviceaccount_tokens/tokens.py +10 -10
  185. reconcile/gql_definitions/quay_membership/quay_membership.py +6 -6
  186. reconcile/gql_definitions/rhcs/certs.py +33 -87
  187. reconcile/gql_definitions/rhcs/openshift_resource_rhcs_cert.py +43 -0
  188. reconcile/gql_definitions/rhidp/organizations.py +18 -18
  189. reconcile/gql_definitions/service_dependencies/jenkins_instance_fragment.py +5 -5
  190. reconcile/gql_definitions/service_dependencies/service_dependencies.py +8 -8
  191. reconcile/gql_definitions/sharding/aws_accounts.py +10 -10
  192. reconcile/gql_definitions/sharding/ocm_organization.py +8 -8
  193. reconcile/gql_definitions/skupper_network/site_controller_template.py +5 -5
  194. reconcile/gql_definitions/skupper_network/skupper_networks.py +10 -10
  195. reconcile/gql_definitions/slack_usergroups/clusters.py +5 -5
  196. reconcile/gql_definitions/slack_usergroups/permissions.py +9 -9
  197. reconcile/gql_definitions/slack_usergroups/users.py +5 -5
  198. reconcile/gql_definitions/slo_documents/slo_documents.py +5 -5
  199. reconcile/gql_definitions/status_board/status_board.py +6 -7
  200. reconcile/gql_definitions/statuspage/statuspages.py +9 -9
  201. reconcile/gql_definitions/templating/template_collection.py +5 -5
  202. reconcile/gql_definitions/templating/templates.py +5 -5
  203. reconcile/gql_definitions/terraform_cloudflare_dns/app_interface_cloudflare_dns_settings.py +6 -6
  204. reconcile/gql_definitions/terraform_cloudflare_dns/terraform_cloudflare_zones.py +11 -11
  205. reconcile/gql_definitions/terraform_cloudflare_resources/terraform_cloudflare_accounts.py +11 -11
  206. reconcile/gql_definitions/terraform_cloudflare_resources/terraform_cloudflare_resources.py +20 -25
  207. reconcile/gql_definitions/terraform_cloudflare_users/app_interface_setting_cloudflare_and_vault.py +6 -6
  208. reconcile/gql_definitions/terraform_cloudflare_users/terraform_cloudflare_roles.py +12 -12
  209. reconcile/gql_definitions/terraform_init/aws_accounts.py +23 -9
  210. reconcile/gql_definitions/terraform_repo/terraform_repo.py +9 -9
  211. reconcile/gql_definitions/terraform_resources/database_access_manager.py +5 -5
  212. reconcile/gql_definitions/terraform_resources/terraform_resources_namespaces.py +440 -407
  213. reconcile/gql_definitions/terraform_tgw_attachments/aws_accounts.py +23 -17
  214. reconcile/gql_definitions/unleash_feature_toggles/feature_toggles.py +9 -9
  215. reconcile/gql_definitions/vault_instances/vault_instances.py +61 -61
  216. reconcile/gql_definitions/vault_policies/vault_policies.py +11 -11
  217. reconcile/gql_definitions/vpc_peerings_validator/vpc_peerings_validator.py +8 -8
  218. reconcile/gql_definitions/vpc_peerings_validator/vpc_peerings_validator_peered_cluster_fragment.py +5 -5
  219. reconcile/integrations_manager.py +3 -3
  220. reconcile/jenkins_worker_fleets.py +10 -8
  221. reconcile/jira_permissions_validator.py +237 -122
  222. reconcile/ldap_groups/integration.py +1 -1
  223. reconcile/ocm/types.py +35 -56
  224. reconcile/ocm_aws_infrastructure_access.py +1 -1
  225. reconcile/ocm_clusters.py +4 -4
  226. reconcile/ocm_labels/integration.py +3 -2
  227. reconcile/ocm_machine_pools.py +33 -27
  228. reconcile/openshift_base.py +113 -5
  229. reconcile/openshift_cluster_bots.py +3 -2
  230. reconcile/openshift_namespace_labels.py +1 -1
  231. reconcile/openshift_namespaces.py +97 -101
  232. reconcile/openshift_resources_base.py +6 -2
  233. reconcile/openshift_rhcs_certs.py +74 -37
  234. reconcile/openshift_rolebindings.py +230 -130
  235. reconcile/openshift_saas_deploy.py +6 -7
  236. reconcile/openshift_saas_deploy_change_tester.py +9 -7
  237. reconcile/openshift_saas_deploy_trigger_cleaner.py +3 -5
  238. reconcile/openshift_serviceaccount_tokens.py +2 -2
  239. reconcile/openshift_upgrade_watcher.py +4 -4
  240. reconcile/openshift_users.py +5 -3
  241. reconcile/oum/labelset.py +5 -3
  242. reconcile/oum/models.py +1 -4
  243. reconcile/prometheus_rules_tester/integration.py +3 -3
  244. reconcile/quay_mirror.py +1 -1
  245. reconcile/queries.py +131 -0
  246. reconcile/rhidp/common.py +3 -5
  247. reconcile/rhidp/sso_client/base.py +16 -5
  248. reconcile/saas_auto_promotions_manager/merge_request_manager/renderer.py +1 -1
  249. reconcile/saas_auto_promotions_manager/subscriber.py +4 -3
  250. reconcile/skupper_network/integration.py +2 -2
  251. reconcile/slack_usergroups.py +35 -14
  252. reconcile/sql_query.py +1 -0
  253. reconcile/status_board.py +6 -6
  254. reconcile/statuspage/atlassian.py +7 -7
  255. reconcile/statuspage/integrations/maintenances.py +4 -3
  256. reconcile/statuspage/page.py +4 -9
  257. reconcile/statuspage/status.py +5 -8
  258. reconcile/templates/rosa-classic-cluster-creation.sh.j2 +5 -1
  259. reconcile/templates/rosa-hcp-cluster-creation.sh.j2 +4 -1
  260. reconcile/templating/lib/merge_request_manager.py +2 -2
  261. reconcile/templating/lib/rendering.py +3 -3
  262. reconcile/templating/renderer.py +12 -13
  263. reconcile/terraform_aws_route53.py +7 -1
  264. reconcile/terraform_cloudflare_dns.py +3 -3
  265. reconcile/terraform_cloudflare_resources.py +5 -5
  266. reconcile/terraform_cloudflare_users.py +3 -2
  267. reconcile/terraform_init/integration.py +187 -23
  268. reconcile/terraform_repo.py +16 -12
  269. reconcile/terraform_resources.py +17 -7
  270. reconcile/terraform_tgw_attachments.py +27 -19
  271. reconcile/terraform_users.py +7 -0
  272. reconcile/terraform_vpc_peerings.py +14 -3
  273. reconcile/terraform_vpc_resources/integration.py +20 -8
  274. reconcile/typed_queries/app_interface_roles.py +10 -0
  275. reconcile/typed_queries/aws_account_tags.py +41 -0
  276. reconcile/typed_queries/cost_report/app_names.py +1 -1
  277. reconcile/typed_queries/cost_report/cost_namespaces.py +2 -2
  278. reconcile/typed_queries/saas_files.py +13 -13
  279. reconcile/typed_queries/status_board.py +2 -2
  280. reconcile/unleash_feature_toggles/integration.py +4 -2
  281. reconcile/utils/acs/base.py +6 -3
  282. reconcile/utils/acs/policies.py +2 -2
  283. reconcile/utils/aggregated_list.py +4 -3
  284. reconcile/utils/aws_api.py +51 -20
  285. reconcile/utils/aws_api_typed/api.py +38 -9
  286. reconcile/utils/aws_api_typed/cloudformation.py +149 -0
  287. reconcile/utils/aws_api_typed/logs.py +73 -0
  288. reconcile/utils/aws_api_typed/organization.py +4 -2
  289. reconcile/utils/binary.py +7 -12
  290. reconcile/utils/datetime_util.py +67 -0
  291. reconcile/utils/deadmanssnitch_api.py +1 -1
  292. reconcile/utils/differ.py +2 -3
  293. reconcile/utils/early_exit_cache.py +11 -12
  294. reconcile/utils/expiration.py +7 -3
  295. reconcile/utils/external_resource_spec.py +24 -1
  296. reconcile/utils/filtering.py +1 -1
  297. reconcile/utils/gitlab_api.py +7 -5
  298. reconcile/utils/glitchtip/client.py +6 -2
  299. reconcile/utils/glitchtip/models.py +25 -28
  300. reconcile/utils/gql.py +4 -7
  301. reconcile/utils/helm.py +2 -1
  302. reconcile/utils/helpers.py +1 -1
  303. reconcile/utils/instrumented_wrappers.py +1 -1
  304. reconcile/utils/internal_groups/client.py +2 -2
  305. reconcile/utils/internal_groups/models.py +8 -17
  306. reconcile/utils/jinja2/utils.py +6 -8
  307. reconcile/utils/jira_client.py +82 -63
  308. reconcile/utils/jjb_client.py +28 -15
  309. reconcile/utils/jobcontroller/controller.py +2 -2
  310. reconcile/utils/jobcontroller/models.py +17 -1
  311. reconcile/utils/json.py +74 -0
  312. reconcile/utils/membershipsources/app_interface_resolver.py +4 -2
  313. reconcile/utils/membershipsources/models.py +16 -23
  314. reconcile/utils/membershipsources/resolver.py +4 -2
  315. reconcile/utils/merge_request_manager/merge_request_manager.py +4 -4
  316. reconcile/utils/merge_request_manager/parser.py +6 -6
  317. reconcile/utils/metrics.py +5 -5
  318. reconcile/utils/models.py +304 -82
  319. reconcile/utils/mr/app_interface_reporter.py +2 -2
  320. reconcile/utils/mr/base.py +2 -2
  321. reconcile/utils/mr/notificator.py +3 -3
  322. reconcile/utils/mr/update_access_report_base.py +3 -4
  323. reconcile/utils/mr/user_maintenance.py +3 -2
  324. reconcile/utils/oc.py +249 -203
  325. reconcile/utils/oc_filters.py +3 -3
  326. reconcile/utils/ocm/addons.py +0 -1
  327. reconcile/utils/ocm/base.py +18 -21
  328. reconcile/utils/ocm/cluster_groups.py +1 -1
  329. reconcile/utils/ocm/identity_providers.py +2 -2
  330. reconcile/utils/ocm/labels.py +1 -1
  331. reconcile/utils/ocm/products.py +9 -3
  332. reconcile/utils/ocm/search_filters.py +3 -6
  333. reconcile/utils/ocm/service_log.py +4 -6
  334. reconcile/utils/ocm/sre_capability_labels.py +20 -13
  335. reconcile/utils/openshift_resource.py +10 -5
  336. reconcile/utils/output.py +3 -2
  337. reconcile/utils/pagerduty_api.py +10 -7
  338. reconcile/utils/promotion_state.py +6 -11
  339. reconcile/utils/raw_github_api.py +1 -1
  340. reconcile/utils/rhcsv2_certs.py +138 -35
  341. reconcile/utils/rosa/session.py +16 -0
  342. reconcile/utils/runtime/integration.py +2 -3
  343. reconcile/utils/runtime/runner.py +2 -2
  344. reconcile/utils/saasherder/interfaces.py +13 -20
  345. reconcile/utils/saasherder/models.py +25 -21
  346. reconcile/utils/saasherder/saasherder.py +55 -31
  347. reconcile/utils/slack_api.py +26 -4
  348. reconcile/utils/sloth.py +224 -0
  349. reconcile/utils/sqs_gateway.py +2 -1
  350. reconcile/utils/state.py +2 -1
  351. reconcile/utils/structs.py +1 -1
  352. reconcile/utils/terraform_client.py +5 -4
  353. reconcile/utils/terrascript_aws_client.py +192 -114
  354. reconcile/utils/unleash/server.py +2 -8
  355. reconcile/utils/vault.py +5 -12
  356. reconcile/utils/vcs.py +8 -8
  357. reconcile/vault_replication.py +107 -42
  358. tools/app_interface_reporter.py +4 -4
  359. tools/cli_commands/cost_report/cost_management_api.py +3 -3
  360. tools/cli_commands/cost_report/view.py +7 -6
  361. tools/cli_commands/erv2.py +1 -1
  362. tools/cli_commands/systems_and_tools.py +5 -1
  363. tools/qontract_cli.py +31 -18
  364. tools/template_validation.py +3 -1
  365. reconcile/gql_definitions/cna/__init__.py +0 -0
  366. reconcile/gql_definitions/cna/queries/__init__.py +0 -0
  367. reconcile/gql_definitions/ocm_oidc_idp/__init__.py +0 -0
  368. reconcile/gql_definitions/ocm_subscription_labels/__init__.py +0 -0
  369. {qontract_reconcile-0.10.2.dev334.dist-info → qontract_reconcile-0.10.2.dev439.dist-info}/WHEEL +0 -0
  370. {qontract_reconcile-0.10.2.dev334.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,455 +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
359
+ ... on NamespaceTerraformResourceALBConditionPathPattern_v1 {
360
+ path_pattern
299
361
  }
300
- output_resource_name
301
- annotations
302
- }
303
- ... on NamespaceTerraformResourceALB_v1 {
304
- region
305
- identifier
306
- vpc {
307
- ... AWSVPC
308
- }
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
- }
353
- ... on NamespaceTerraformResourceALBConditionQueryString_v1 {
354
- query_string {
355
- key
356
- value
357
- }
358
- }
359
- }
360
- action {
361
- type
362
- ... on NamespaceTerraformResourceALBActionForward_v1 {
363
- forward {
364
- target_group {
365
- target
366
- weight
367
- }
368
- }
369
- }
370
- ... on NamespaceTerraformResourceALBActionFixedResponse_v1 {
371
- fixed_response {
372
- content_type
373
- message_body
374
- status_code
375
- }
376
- }
377
- ... on NamespaceTerraformResourceALBActionRedirect_v1 {
378
- redirect {
379
- host
380
- path
381
- port
382
- protocol
383
- query
384
- status_code
385
- }
386
- }
371
+ }
372
+ action {
373
+ type
374
+ ... on NamespaceTerraformResourceALBActionForward_v1 {
375
+ forward {
376
+ target_group {
377
+ target
378
+ weight
387
379
  }
380
+ }
388
381
  }
389
- output_resource_name
390
- annotations
391
- }
392
- ... on NamespaceTerraformResourceSecretsManager_v1 {
393
- region
394
- identifier
395
- secret {
396
- ... VaultSecret
397
- }
398
- output_resource_name
399
- annotations
400
- }
401
- ... on NamespaceTerraformResourceASG_v1 {
402
- region
403
- identifier
404
- defaults
405
- cloudinit_configs {
406
- filename
382
+ ... on NamespaceTerraformResourceALBActionFixedResponse_v1 {
383
+ fixed_response {
407
384
  content_type
408
- content
385
+ message_body
386
+ status_code
387
+ }
409
388
  }
410
- variables
411
- overrides
412
- extra_tags
413
- image {
414
- provider
415
- ... on ASGImageGit_v1 {
416
- tag_name
417
- url
418
- ref
419
- upstream {
420
- instance {
421
- name
422
- token {
423
- ... VaultSecret
424
- }
425
- }
426
- name
427
- }
428
- }
429
- ... on ASGImageStatic_v1 {
430
- tag_name
431
- value
432
- }
389
+ ... on NamespaceTerraformResourceALBActionRedirect_v1 {
390
+ redirect {
391
+ host
392
+ path
393
+ port
394
+ protocol
395
+ query
396
+ status_code
397
+ }
433
398
  }
434
- output_resource_name
435
- annotations
399
+ }
436
400
  }
437
- ... on NamespaceTerraformResourceRoute53Zone_v1 {
438
- region
439
- identifier
440
- name
441
- output_resource_name
442
- annotations
443
- 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 {
444
434
  name
445
- type
446
- ttl
447
- alias {
448
- name
449
- zone_id
450
- evaluate_target_health
451
- }
452
- weighted_routing_policy {
453
- weight
435
+ token {
436
+ ...VaultSecret
454
437
  }
455
- geolocation_routing_policy {
456
- continent
457
- country
458
- subdivision
459
- }
460
- set_identifier
461
- records
438
+ }
439
+ name
462
440
  }
441
+ }
442
+ ... on ASGImageStatic_v1 {
443
+ tag_name
444
+ value
445
+ }
463
446
  }
464
- ... on NamespaceTerraformResourceRosaAuthenticator_V1 {
465
- region
466
- identifier
467
- api_proxy_uri
468
- cognito_callback_bucket_name
469
- certificate_arn
470
- domain_name
471
- network_interface_ids
472
- openshift_ingress_load_balancer_arn
473
- insights_callback_urls
474
- output_resource_name
475
- annotations
476
- vpc_id
477
- subnet_ids
478
- vpce_id
479
- 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
480
475
  }
481
- ... on NamespaceTerraformResourceRosaAuthenticatorVPCE_V1 {
482
- region
483
- identifier
484
- subnet_ids,
485
- vpc_id,
486
- output_resource_name
487
- annotations
488
- defaults
489
- }
490
- ... on NamespaceTerraformResourceMsk_v1 {
491
- region
492
- identifier
493
- output_resource_name
494
- defaults
495
- annotations
496
- users {
497
- name
498
- secret {
499
- ...VaultSecret
500
- }
501
- }
502
- 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
+ }
503
514
  }
515
+ managed_by_erv2
516
+ }
504
517
  }
505
518
  }
506
519
  }
507
520
  environment {
508
521
  name
522
+ servicePhase
509
523
  }
510
524
  app {
511
525
  name
526
+ appCode
527
+ costCenter
512
528
  }
513
529
  cluster {
514
530
  name
515
531
  serverUrl
516
532
  insecureSkipTLSVerify
517
533
  jumpHost {
518
- ... CommonJumphostFields
534
+ ...CommonJumphostFields
519
535
  }
520
536
  automationToken {
521
- ... VaultSecret
537
+ ...VaultSecret
522
538
  }
523
539
  clusterAdminAutomationToken {
524
- ... VaultSecret
540
+ ...VaultSecret
525
541
  }
526
542
  spec {
527
543
  region
@@ -537,9 +553,9 @@ query TerraformResourcesNamespaces {
537
553
 
538
554
 
539
555
  class ConfiguredBaseModel(BaseModel):
540
- class Config:
541
- smart_union=True
542
- extra=Extra.forbid
556
+ model_config = ConfigDict(
557
+ extra='forbid'
558
+ )
543
559
 
544
560
 
545
561
  class ExternalResourcesProvisionerV1(ConfiguredBaseModel):
@@ -562,6 +578,7 @@ class NamespaceTerraformResourceGenericSecretOutputFormatV1(NamespaceTerraformRe
562
578
  class NamespaceTerraformResourceAWSV1(ConfiguredBaseModel):
563
579
  output_format: Optional[Union[NamespaceTerraformResourceGenericSecretOutputFormatV1, NamespaceTerraformResourceOutputFormatV1]] = Field(..., alias="output_format")
564
580
  provider: str = Field(..., alias="provider")
581
+ tags: Optional[str] = Field(..., alias="tags")
565
582
 
566
583
 
567
584
  class AWSRDSEventNotificationV1(ConfiguredBaseModel):
@@ -594,6 +611,17 @@ class NamespaceTerraformResourceRDSV1(NamespaceTerraformResourceAWSV1):
594
611
  managed_by_erv2: Optional[bool] = Field(..., alias="managed_by_erv2")
595
612
 
596
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
+
597
625
  class AWSS3EventNotificationV1(ConfiguredBaseModel):
598
626
  destination_type: str = Field(..., alias="destination_type")
599
627
  destination: str = Field(..., alias="destination")
@@ -809,6 +837,7 @@ class NamespaceTerraformResourceKinesisV1(NamespaceTerraformResourceAWSV1):
809
837
  identifier: str = Field(..., alias="identifier")
810
838
  defaults: str = Field(..., alias="defaults")
811
839
  es_identifier: Optional[str] = Field(..., alias="es_identifier")
840
+ policy: Optional[str] = Field(..., alias="policy")
812
841
  output_resource_name: Optional[str] = Field(..., alias="output_resource_name")
813
842
  annotations: Optional[str] = Field(..., alias="annotations")
814
843
 
@@ -945,6 +974,7 @@ class NamespaceTerraformResourceSecretsManagerV1(NamespaceTerraformResourceAWSV1
945
974
  secret: Optional[VaultSecret] = Field(..., alias="secret")
946
975
  output_resource_name: Optional[str] = Field(..., alias="output_resource_name")
947
976
  annotations: Optional[str] = Field(..., alias="annotations")
977
+ secret_format: Optional[str] = Field(..., alias="secret_format")
948
978
 
949
979
 
950
980
  class CloudinitConfigV1(ConfiguredBaseModel):
@@ -1072,15 +1102,18 @@ class NamespaceTerraformResourceMskV1(NamespaceTerraformResourceAWSV1):
1072
1102
 
1073
1103
 
1074
1104
  class NamespaceTerraformProviderResourceAWSV1(NamespaceExternalResourceV1):
1075
- 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")
1076
1106
 
1077
1107
 
1078
1108
  class EnvironmentV1(ConfiguredBaseModel):
1079
1109
  name: str = Field(..., alias="name")
1110
+ service_phase: str = Field(..., alias="servicePhase")
1080
1111
 
1081
1112
 
1082
1113
  class AppV1(ConfiguredBaseModel):
1083
1114
  name: str = Field(..., alias="name")
1115
+ app_code: str = Field(..., alias="appCode")
1116
+ cost_center: str = Field(..., alias="costCenter")
1084
1117
 
1085
1118
 
1086
1119
  class ClusterSpecV1(ConfiguredBaseModel):