qontract-reconcile 0.9.1rc298__py3-none-any.whl → 0.10.1.dev1203__py3-none-any.whl

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