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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (844) hide show
  1. qontract_reconcile-0.10.1.dev1203.dist-info/METADATA +500 -0
  2. qontract_reconcile-0.10.1.dev1203.dist-info/RECORD +771 -0
  3. {qontract_reconcile-0.10.0.dist-info → qontract_reconcile-0.10.1.dev1203.dist-info}/WHEEL +1 -2
  4. {qontract_reconcile-0.10.0.dist-info → qontract_reconcile-0.10.1.dev1203.dist-info}/entry_points.txt +4 -2
  5. reconcile/acs_notifiers.py +126 -0
  6. reconcile/acs_policies.py +243 -0
  7. reconcile/acs_rbac.py +596 -0
  8. reconcile/aus/advanced_upgrade_service.py +621 -8
  9. reconcile/aus/aus_label_source.py +115 -0
  10. reconcile/aus/base.py +1053 -353
  11. reconcile/{utils → aus}/cluster_version_data.py +27 -12
  12. reconcile/aus/healthchecks.py +77 -0
  13. reconcile/aus/metrics.py +158 -0
  14. reconcile/aus/models.py +245 -5
  15. reconcile/aus/node_pool_spec.py +35 -0
  16. reconcile/aus/ocm_addons_upgrade_scheduler_org.py +225 -110
  17. reconcile/aus/ocm_upgrade_scheduler.py +76 -71
  18. reconcile/aus/ocm_upgrade_scheduler_org.py +81 -23
  19. reconcile/aus/version_gate_approver.py +204 -0
  20. reconcile/aus/version_gates/__init__.py +12 -0
  21. reconcile/aus/version_gates/handler.py +33 -0
  22. reconcile/aus/version_gates/ingress_gate_handler.py +32 -0
  23. reconcile/aus/version_gates/ocp_gate_handler.py +26 -0
  24. reconcile/aus/version_gates/sts_version_gate_handler.py +100 -0
  25. reconcile/aws_account_manager/README.md +5 -0
  26. reconcile/aws_account_manager/integration.py +373 -0
  27. reconcile/aws_account_manager/merge_request_manager.py +114 -0
  28. reconcile/aws_account_manager/metrics.py +39 -0
  29. reconcile/aws_account_manager/reconciler.py +403 -0
  30. reconcile/aws_account_manager/utils.py +41 -0
  31. reconcile/aws_ami_cleanup/integration.py +273 -0
  32. reconcile/aws_ami_share.py +18 -14
  33. reconcile/aws_cloudwatch_log_retention/integration.py +253 -0
  34. reconcile/aws_iam_keys.py +1 -1
  35. reconcile/aws_iam_password_reset.py +56 -20
  36. reconcile/aws_saml_idp/integration.py +204 -0
  37. reconcile/aws_saml_roles/integration.py +322 -0
  38. reconcile/aws_support_cases_sos.py +2 -2
  39. reconcile/aws_version_sync/integration.py +430 -0
  40. reconcile/aws_version_sync/merge_request_manager/merge_request.py +156 -0
  41. reconcile/aws_version_sync/merge_request_manager/merge_request_manager.py +160 -0
  42. reconcile/aws_version_sync/utils.py +64 -0
  43. reconcile/blackbox_exporter_endpoint_monitoring.py +2 -5
  44. reconcile/change_owners/README.md +34 -0
  45. reconcile/change_owners/approver.py +7 -9
  46. reconcile/change_owners/bundle.py +134 -9
  47. reconcile/change_owners/change_log_tracking.py +236 -0
  48. reconcile/change_owners/change_owners.py +204 -194
  49. reconcile/change_owners/change_types.py +183 -265
  50. reconcile/change_owners/changes.py +488 -0
  51. reconcile/change_owners/decision.py +120 -41
  52. reconcile/change_owners/diff.py +63 -92
  53. reconcile/change_owners/implicit_ownership.py +19 -16
  54. reconcile/change_owners/self_service_roles.py +158 -35
  55. reconcile/change_owners/tester.py +20 -18
  56. reconcile/checkpoint.py +4 -6
  57. reconcile/cli.py +1523 -242
  58. reconcile/closedbox_endpoint_monitoring_base.py +10 -17
  59. reconcile/cluster_auth_rhidp/integration.py +257 -0
  60. reconcile/cluster_deployment_mapper.py +2 -5
  61. reconcile/cna/assets/asset.py +4 -7
  62. reconcile/cna/assets/null.py +2 -5
  63. reconcile/cna/integration.py +2 -3
  64. reconcile/cna/state.py +6 -9
  65. reconcile/dashdotdb_base.py +31 -10
  66. reconcile/dashdotdb_cso.py +3 -6
  67. reconcile/dashdotdb_dora.py +530 -0
  68. reconcile/dashdotdb_dvo.py +10 -13
  69. reconcile/dashdotdb_slo.py +75 -19
  70. reconcile/database_access_manager.py +753 -0
  71. reconcile/deadmanssnitch.py +207 -0
  72. reconcile/dynatrace_token_provider/dependencies.py +69 -0
  73. reconcile/dynatrace_token_provider/integration.py +656 -0
  74. reconcile/dynatrace_token_provider/metrics.py +62 -0
  75. reconcile/dynatrace_token_provider/model.py +14 -0
  76. reconcile/dynatrace_token_provider/ocm.py +140 -0
  77. reconcile/dynatrace_token_provider/validate.py +48 -0
  78. reconcile/endpoints_discovery/integration.py +348 -0
  79. reconcile/endpoints_discovery/merge_request.py +96 -0
  80. reconcile/endpoints_discovery/merge_request_manager.py +178 -0
  81. reconcile/external_resources/aws.py +204 -0
  82. reconcile/external_resources/factories.py +163 -0
  83. reconcile/external_resources/integration.py +194 -0
  84. reconcile/external_resources/integration_secrets_sync.py +47 -0
  85. reconcile/external_resources/manager.py +405 -0
  86. reconcile/external_resources/meta.py +17 -0
  87. reconcile/external_resources/metrics.py +95 -0
  88. reconcile/external_resources/model.py +350 -0
  89. reconcile/external_resources/reconciler.py +265 -0
  90. reconcile/external_resources/secrets_sync.py +465 -0
  91. reconcile/external_resources/state.py +258 -0
  92. reconcile/gabi_authorized_users.py +19 -11
  93. reconcile/gcr_mirror.py +43 -34
  94. reconcile/github_org.py +4 -6
  95. reconcile/github_owners.py +1 -1
  96. reconcile/github_repo_invites.py +2 -5
  97. reconcile/gitlab_fork_compliance.py +14 -13
  98. reconcile/gitlab_housekeeping.py +185 -91
  99. reconcile/gitlab_labeler.py +15 -14
  100. reconcile/gitlab_members.py +126 -120
  101. reconcile/gitlab_owners.py +53 -66
  102. reconcile/gitlab_permissions.py +167 -6
  103. reconcile/glitchtip/README.md +150 -0
  104. reconcile/glitchtip/integration.py +99 -51
  105. reconcile/glitchtip/reconciler.py +99 -70
  106. reconcile/glitchtip_project_alerts/__init__.py +0 -0
  107. reconcile/glitchtip_project_alerts/integration.py +333 -0
  108. reconcile/glitchtip_project_dsn/integration.py +43 -43
  109. reconcile/gql_definitions/acs/__init__.py +0 -0
  110. reconcile/gql_definitions/acs/acs_instances.py +83 -0
  111. reconcile/gql_definitions/acs/acs_policies.py +239 -0
  112. reconcile/gql_definitions/acs/acs_rbac.py +111 -0
  113. reconcile/gql_definitions/advanced_upgrade_service/aus_clusters.py +46 -8
  114. reconcile/gql_definitions/advanced_upgrade_service/aus_organization.py +38 -8
  115. reconcile/gql_definitions/app_interface_metrics_exporter/__init__.py +0 -0
  116. reconcile/gql_definitions/app_interface_metrics_exporter/onboarding_status.py +61 -0
  117. reconcile/gql_definitions/aws_account_manager/__init__.py +0 -0
  118. reconcile/gql_definitions/aws_account_manager/aws_accounts.py +177 -0
  119. reconcile/gql_definitions/aws_ami_cleanup/__init__.py +0 -0
  120. reconcile/gql_definitions/aws_ami_cleanup/aws_accounts.py +161 -0
  121. reconcile/gql_definitions/aws_saml_idp/__init__.py +0 -0
  122. reconcile/gql_definitions/aws_saml_idp/aws_accounts.py +117 -0
  123. reconcile/gql_definitions/aws_saml_roles/__init__.py +0 -0
  124. reconcile/gql_definitions/aws_saml_roles/aws_accounts.py +117 -0
  125. reconcile/gql_definitions/aws_saml_roles/roles.py +97 -0
  126. reconcile/gql_definitions/aws_version_sync/__init__.py +0 -0
  127. reconcile/gql_definitions/aws_version_sync/clusters.py +83 -0
  128. reconcile/gql_definitions/aws_version_sync/namespaces.py +143 -0
  129. reconcile/gql_definitions/change_owners/queries/change_types.py +16 -29
  130. reconcile/gql_definitions/change_owners/queries/self_service_roles.py +45 -11
  131. reconcile/gql_definitions/cluster_auth_rhidp/__init__.py +0 -0
  132. reconcile/gql_definitions/cluster_auth_rhidp/clusters.py +128 -0
  133. reconcile/gql_definitions/cna/queries/cna_provisioners.py +6 -8
  134. reconcile/gql_definitions/cna/queries/cna_resources.py +3 -5
  135. reconcile/gql_definitions/common/alerting_services_settings.py +2 -2
  136. reconcile/gql_definitions/common/app_code_component_repos.py +9 -5
  137. reconcile/gql_definitions/{glitchtip/glitchtip_settings.py → common/app_interface_custom_messages.py} +14 -16
  138. reconcile/gql_definitions/common/app_interface_dms_settings.py +86 -0
  139. reconcile/gql_definitions/common/app_interface_repo_settings.py +2 -2
  140. reconcile/gql_definitions/common/app_interface_state_settings.py +3 -5
  141. reconcile/gql_definitions/common/app_interface_vault_settings.py +3 -5
  142. reconcile/gql_definitions/common/app_quay_repos_escalation_policies.py +120 -0
  143. reconcile/gql_definitions/common/apps.py +72 -0
  144. reconcile/gql_definitions/common/aws_vpc_requests.py +109 -0
  145. reconcile/gql_definitions/common/aws_vpcs.py +84 -0
  146. reconcile/gql_definitions/common/clusters.py +120 -254
  147. reconcile/gql_definitions/common/clusters_minimal.py +11 -35
  148. reconcile/gql_definitions/common/clusters_with_dms.py +72 -0
  149. reconcile/gql_definitions/common/clusters_with_peering.py +70 -98
  150. reconcile/gql_definitions/common/github_orgs.py +2 -2
  151. reconcile/gql_definitions/common/jira_settings.py +68 -0
  152. reconcile/gql_definitions/common/jiralert_settings.py +68 -0
  153. reconcile/gql_definitions/common/namespaces.py +74 -32
  154. reconcile/gql_definitions/common/namespaces_minimal.py +4 -10
  155. reconcile/gql_definitions/common/ocm_env_telemeter.py +95 -0
  156. reconcile/gql_definitions/common/ocm_environments.py +4 -2
  157. reconcile/gql_definitions/common/pagerduty_instances.py +5 -5
  158. reconcile/gql_definitions/common/pgp_reencryption_settings.py +5 -11
  159. reconcile/gql_definitions/common/pipeline_providers.py +45 -90
  160. reconcile/gql_definitions/common/quay_instances.py +64 -0
  161. reconcile/gql_definitions/common/quay_orgs.py +68 -0
  162. reconcile/gql_definitions/common/reserved_networks.py +94 -0
  163. reconcile/gql_definitions/common/saas_files.py +133 -95
  164. reconcile/gql_definitions/common/saas_target_namespaces.py +41 -26
  165. reconcile/gql_definitions/common/saasherder_settings.py +2 -2
  166. reconcile/gql_definitions/common/slack_workspaces.py +62 -0
  167. reconcile/gql_definitions/common/smtp_client_settings.py +2 -2
  168. reconcile/gql_definitions/common/state_aws_account.py +77 -0
  169. reconcile/gql_definitions/common/users.py +3 -2
  170. reconcile/gql_definitions/cost_report/__init__.py +0 -0
  171. reconcile/gql_definitions/cost_report/app_names.py +68 -0
  172. reconcile/gql_definitions/cost_report/cost_namespaces.py +86 -0
  173. reconcile/gql_definitions/cost_report/settings.py +77 -0
  174. reconcile/gql_definitions/dashdotdb_slo/slo_documents_query.py +42 -12
  175. reconcile/gql_definitions/dynatrace_token_provider/__init__.py +0 -0
  176. reconcile/gql_definitions/dynatrace_token_provider/dynatrace_bootstrap_tokens.py +79 -0
  177. reconcile/gql_definitions/dynatrace_token_provider/token_specs.py +84 -0
  178. reconcile/gql_definitions/endpoints_discovery/__init__.py +0 -0
  179. reconcile/gql_definitions/endpoints_discovery/namespaces.py +127 -0
  180. reconcile/gql_definitions/external_resources/__init__.py +0 -0
  181. reconcile/gql_definitions/external_resources/aws_accounts.py +73 -0
  182. reconcile/gql_definitions/external_resources/external_resources_modules.py +78 -0
  183. reconcile/gql_definitions/external_resources/external_resources_namespaces.py +1111 -0
  184. reconcile/gql_definitions/external_resources/external_resources_settings.py +98 -0
  185. reconcile/gql_definitions/fragments/aus_organization.py +34 -39
  186. reconcile/gql_definitions/fragments/aws_account_common.py +62 -0
  187. reconcile/gql_definitions/fragments/aws_account_managed.py +57 -0
  188. reconcile/gql_definitions/fragments/aws_account_sso.py +35 -0
  189. reconcile/gql_definitions/fragments/aws_infra_management_account.py +2 -2
  190. reconcile/gql_definitions/fragments/aws_vpc.py +47 -0
  191. reconcile/gql_definitions/fragments/aws_vpc_request.py +65 -0
  192. reconcile/gql_definitions/fragments/aws_vpc_request_subnet.py +29 -0
  193. reconcile/gql_definitions/fragments/deplopy_resources.py +7 -7
  194. reconcile/gql_definitions/fragments/disable.py +28 -0
  195. reconcile/gql_definitions/fragments/jumphost_common_fields.py +2 -2
  196. reconcile/gql_definitions/fragments/membership_source.py +47 -0
  197. reconcile/gql_definitions/fragments/minimal_ocm_organization.py +29 -0
  198. reconcile/gql_definitions/fragments/oc_connection_cluster.py +4 -9
  199. reconcile/gql_definitions/fragments/ocm_environment.py +5 -5
  200. reconcile/gql_definitions/fragments/pipeline_provider_retention.py +30 -0
  201. reconcile/gql_definitions/fragments/prometheus_instance.py +48 -0
  202. reconcile/gql_definitions/fragments/resource_limits_requirements.py +29 -0
  203. reconcile/gql_definitions/fragments/{resource_requirements.py → resource_requests_requirements.py} +3 -3
  204. reconcile/gql_definitions/fragments/resource_values.py +2 -2
  205. reconcile/gql_definitions/fragments/saas_target_namespace.py +55 -12
  206. reconcile/gql_definitions/fragments/serviceaccount_token.py +38 -0
  207. reconcile/gql_definitions/fragments/terraform_state.py +36 -0
  208. reconcile/gql_definitions/fragments/upgrade_policy.py +5 -3
  209. reconcile/gql_definitions/fragments/user.py +3 -2
  210. reconcile/gql_definitions/fragments/vault_secret.py +2 -2
  211. reconcile/gql_definitions/gitlab_members/gitlab_instances.py +6 -2
  212. reconcile/gql_definitions/gitlab_members/permissions.py +3 -5
  213. reconcile/gql_definitions/glitchtip/glitchtip_instance.py +16 -2
  214. reconcile/gql_definitions/glitchtip/glitchtip_project.py +22 -23
  215. reconcile/gql_definitions/glitchtip_project_alerts/__init__.py +0 -0
  216. reconcile/gql_definitions/glitchtip_project_alerts/glitchtip_project.py +173 -0
  217. reconcile/gql_definitions/integrations/integrations.py +62 -45
  218. reconcile/gql_definitions/introspection.json +51176 -0
  219. reconcile/gql_definitions/jenkins_configs/jenkins_configs.py +13 -5
  220. reconcile/gql_definitions/jenkins_configs/jenkins_instances.py +79 -0
  221. reconcile/gql_definitions/jira/__init__.py +0 -0
  222. reconcile/gql_definitions/jira/jira_servers.py +80 -0
  223. reconcile/gql_definitions/jira_permissions_validator/__init__.py +0 -0
  224. reconcile/gql_definitions/jira_permissions_validator/jira_boards_for_permissions_validator.py +131 -0
  225. reconcile/gql_definitions/jumphosts/jumphosts.py +3 -5
  226. reconcile/gql_definitions/ldap_groups/__init__.py +0 -0
  227. reconcile/gql_definitions/ldap_groups/roles.py +111 -0
  228. reconcile/gql_definitions/ldap_groups/settings.py +79 -0
  229. reconcile/gql_definitions/maintenance/__init__.py +0 -0
  230. reconcile/gql_definitions/maintenance/maintenances.py +101 -0
  231. reconcile/gql_definitions/membershipsources/__init__.py +0 -0
  232. reconcile/gql_definitions/membershipsources/roles.py +112 -0
  233. reconcile/gql_definitions/ocm_labels/__init__.py +0 -0
  234. reconcile/gql_definitions/ocm_labels/clusters.py +112 -0
  235. reconcile/gql_definitions/ocm_labels/organizations.py +78 -0
  236. reconcile/gql_definitions/ocm_subscription_labels/__init__.py +0 -0
  237. reconcile/gql_definitions/openshift_cluster_bots/__init__.py +0 -0
  238. reconcile/gql_definitions/openshift_cluster_bots/clusters.py +126 -0
  239. reconcile/gql_definitions/openshift_groups/managed_groups.py +2 -2
  240. reconcile/gql_definitions/openshift_groups/managed_roles.py +3 -2
  241. reconcile/gql_definitions/openshift_serviceaccount_tokens/__init__.py +0 -0
  242. reconcile/gql_definitions/openshift_serviceaccount_tokens/tokens.py +132 -0
  243. reconcile/gql_definitions/quay_membership/quay_membership.py +3 -5
  244. reconcile/gql_definitions/rhidp/__init__.py +0 -0
  245. reconcile/gql_definitions/rhidp/organizations.py +96 -0
  246. reconcile/gql_definitions/service_dependencies/jenkins_instance_fragment.py +2 -2
  247. reconcile/gql_definitions/service_dependencies/service_dependencies.py +9 -31
  248. reconcile/gql_definitions/sharding/aws_accounts.py +2 -2
  249. reconcile/gql_definitions/sharding/ocm_organization.py +63 -0
  250. reconcile/gql_definitions/skupper_network/site_controller_template.py +2 -2
  251. reconcile/gql_definitions/skupper_network/skupper_networks.py +12 -38
  252. reconcile/gql_definitions/slack_usergroups/clusters.py +2 -2
  253. reconcile/gql_definitions/slack_usergroups/permissions.py +8 -15
  254. reconcile/gql_definitions/slack_usergroups/users.py +3 -2
  255. reconcile/gql_definitions/slo_documents/__init__.py +0 -0
  256. reconcile/gql_definitions/slo_documents/slo_documents.py +142 -0
  257. reconcile/gql_definitions/status_board/__init__.py +0 -0
  258. reconcile/gql_definitions/status_board/status_board.py +163 -0
  259. reconcile/gql_definitions/statuspage/statuspages.py +56 -7
  260. reconcile/gql_definitions/templating/__init__.py +0 -0
  261. reconcile/gql_definitions/templating/template_collection.py +130 -0
  262. reconcile/gql_definitions/templating/templates.py +108 -0
  263. reconcile/gql_definitions/terraform_cloudflare_dns/app_interface_cloudflare_dns_settings.py +4 -8
  264. reconcile/gql_definitions/terraform_cloudflare_dns/terraform_cloudflare_zones.py +8 -8
  265. reconcile/gql_definitions/terraform_cloudflare_resources/terraform_cloudflare_accounts.py +6 -8
  266. reconcile/gql_definitions/terraform_cloudflare_resources/terraform_cloudflare_resources.py +45 -56
  267. reconcile/gql_definitions/terraform_cloudflare_users/app_interface_setting_cloudflare_and_vault.py +4 -8
  268. reconcile/gql_definitions/terraform_cloudflare_users/terraform_cloudflare_roles.py +4 -8
  269. reconcile/gql_definitions/terraform_init/__init__.py +0 -0
  270. reconcile/gql_definitions/terraform_init/aws_accounts.py +93 -0
  271. reconcile/gql_definitions/terraform_repo/__init__.py +0 -0
  272. reconcile/gql_definitions/terraform_repo/terraform_repo.py +141 -0
  273. reconcile/gql_definitions/terraform_resources/database_access_manager.py +158 -0
  274. reconcile/gql_definitions/terraform_resources/terraform_resources_namespaces.py +153 -162
  275. reconcile/gql_definitions/terraform_tgw_attachments/__init__.py +0 -0
  276. reconcile/gql_definitions/terraform_tgw_attachments/aws_accounts.py +119 -0
  277. reconcile/gql_definitions/unleash_feature_toggles/__init__.py +0 -0
  278. reconcile/gql_definitions/unleash_feature_toggles/feature_toggles.py +113 -0
  279. reconcile/gql_definitions/vault_instances/vault_instances.py +17 -50
  280. reconcile/gql_definitions/vault_policies/vault_policies.py +2 -2
  281. reconcile/gql_definitions/vpc_peerings_validator/vpc_peerings_validator.py +49 -12
  282. reconcile/gql_definitions/vpc_peerings_validator/vpc_peerings_validator_peered_cluster_fragment.py +7 -2
  283. reconcile/integrations_manager.py +25 -13
  284. reconcile/jenkins/types.py +5 -1
  285. reconcile/jenkins_base.py +36 -0
  286. reconcile/jenkins_job_builder.py +10 -48
  287. reconcile/jenkins_job_builds_cleaner.py +40 -25
  288. reconcile/jenkins_job_cleaner.py +1 -3
  289. reconcile/jenkins_roles.py +22 -26
  290. reconcile/jenkins_webhooks.py +9 -6
  291. reconcile/jenkins_worker_fleets.py +11 -6
  292. reconcile/jira_permissions_validator.py +340 -0
  293. reconcile/jira_watcher.py +3 -5
  294. reconcile/ldap_groups/__init__.py +0 -0
  295. reconcile/ldap_groups/integration.py +279 -0
  296. reconcile/ldap_users.py +3 -0
  297. reconcile/ocm/types.py +39 -59
  298. reconcile/ocm_additional_routers.py +0 -1
  299. reconcile/ocm_addons_upgrade_tests_trigger.py +10 -15
  300. reconcile/ocm_aws_infrastructure_access.py +30 -32
  301. reconcile/ocm_clusters.py +217 -130
  302. reconcile/ocm_external_configuration_labels.py +15 -0
  303. reconcile/ocm_github_idp.py +1 -1
  304. reconcile/ocm_groups.py +25 -5
  305. reconcile/ocm_internal_notifications/__init__.py +0 -0
  306. reconcile/ocm_internal_notifications/integration.py +119 -0
  307. reconcile/ocm_labels/__init__.py +0 -0
  308. reconcile/ocm_labels/integration.py +409 -0
  309. reconcile/ocm_machine_pools.py +517 -108
  310. reconcile/ocm_upgrade_scheduler_org_updater.py +15 -11
  311. reconcile/openshift_base.py +609 -207
  312. reconcile/openshift_cluster_bots.py +344 -0
  313. reconcile/openshift_clusterrolebindings.py +15 -15
  314. reconcile/openshift_groups.py +42 -45
  315. reconcile/openshift_limitranges.py +1 -0
  316. reconcile/openshift_namespace_labels.py +22 -28
  317. reconcile/openshift_namespaces.py +22 -22
  318. reconcile/openshift_network_policies.py +4 -8
  319. reconcile/openshift_prometheus_rules.py +43 -0
  320. reconcile/openshift_resourcequotas.py +2 -16
  321. reconcile/openshift_resources.py +12 -10
  322. reconcile/openshift_resources_base.py +304 -328
  323. reconcile/openshift_rolebindings.py +18 -20
  324. reconcile/openshift_saas_deploy.py +105 -21
  325. reconcile/openshift_saas_deploy_change_tester.py +30 -35
  326. reconcile/openshift_saas_deploy_trigger_base.py +39 -36
  327. reconcile/openshift_saas_deploy_trigger_cleaner.py +41 -27
  328. reconcile/openshift_saas_deploy_trigger_configs.py +1 -2
  329. reconcile/openshift_saas_deploy_trigger_images.py +1 -2
  330. reconcile/openshift_saas_deploy_trigger_moving_commits.py +1 -2
  331. reconcile/openshift_saas_deploy_trigger_upstream_jobs.py +1 -2
  332. reconcile/openshift_serviceaccount_tokens.py +138 -74
  333. reconcile/openshift_tekton_resources.py +89 -24
  334. reconcile/openshift_upgrade_watcher.py +110 -62
  335. reconcile/openshift_users.py +16 -15
  336. reconcile/openshift_vault_secrets.py +11 -6
  337. reconcile/oum/__init__.py +0 -0
  338. reconcile/oum/base.py +387 -0
  339. reconcile/oum/labelset.py +55 -0
  340. reconcile/oum/metrics.py +71 -0
  341. reconcile/oum/models.py +69 -0
  342. reconcile/oum/providers.py +59 -0
  343. reconcile/oum/standalone.py +196 -0
  344. reconcile/prometheus_rules_tester/integration.py +31 -23
  345. reconcile/quay_base.py +4 -1
  346. reconcile/quay_membership.py +1 -2
  347. reconcile/quay_mirror.py +111 -61
  348. reconcile/quay_mirror_org.py +34 -21
  349. reconcile/quay_permissions.py +7 -3
  350. reconcile/quay_repos.py +24 -32
  351. reconcile/queries.py +263 -198
  352. reconcile/query_validator.py +3 -5
  353. reconcile/resource_scraper.py +3 -4
  354. reconcile/{template_tester.py → resource_template_tester.py} +3 -3
  355. reconcile/rhidp/__init__.py +0 -0
  356. reconcile/rhidp/common.py +214 -0
  357. reconcile/rhidp/metrics.py +20 -0
  358. reconcile/rhidp/ocm_oidc_idp/__init__.py +0 -0
  359. reconcile/rhidp/ocm_oidc_idp/base.py +221 -0
  360. reconcile/rhidp/ocm_oidc_idp/integration.py +56 -0
  361. reconcile/rhidp/ocm_oidc_idp/metrics.py +22 -0
  362. reconcile/rhidp/sso_client/__init__.py +0 -0
  363. reconcile/rhidp/sso_client/base.py +266 -0
  364. reconcile/rhidp/sso_client/integration.py +60 -0
  365. reconcile/rhidp/sso_client/metrics.py +39 -0
  366. reconcile/run_integration.py +293 -0
  367. reconcile/saas_auto_promotions_manager/integration.py +69 -24
  368. reconcile/saas_auto_promotions_manager/merge_request_manager/batcher.py +208 -0
  369. reconcile/saas_auto_promotions_manager/merge_request_manager/desired_state.py +28 -0
  370. reconcile/saas_auto_promotions_manager/merge_request_manager/merge_request.py +3 -4
  371. reconcile/saas_auto_promotions_manager/merge_request_manager/merge_request_manager_v2.py +172 -0
  372. reconcile/saas_auto_promotions_manager/merge_request_manager/metrics.py +42 -0
  373. reconcile/saas_auto_promotions_manager/merge_request_manager/mr_parser.py +226 -0
  374. reconcile/saas_auto_promotions_manager/merge_request_manager/open_merge_requests.py +23 -0
  375. reconcile/saas_auto_promotions_manager/merge_request_manager/renderer.py +108 -32
  376. reconcile/saas_auto_promotions_manager/meta.py +4 -0
  377. reconcile/saas_auto_promotions_manager/publisher.py +32 -4
  378. reconcile/saas_auto_promotions_manager/s3_exporter.py +77 -0
  379. reconcile/saas_auto_promotions_manager/subscriber.py +110 -23
  380. reconcile/saas_auto_promotions_manager/utils/saas_files_inventory.py +48 -41
  381. reconcile/saas_file_validator.py +16 -6
  382. reconcile/sendgrid_teammates.py +27 -12
  383. reconcile/service_dependencies.py +0 -3
  384. reconcile/signalfx_endpoint_monitoring.py +2 -5
  385. reconcile/skupper_network/integration.py +10 -11
  386. reconcile/skupper_network/models.py +3 -5
  387. reconcile/skupper_network/reconciler.py +28 -35
  388. reconcile/skupper_network/site_controller.py +8 -8
  389. reconcile/slack_base.py +4 -7
  390. reconcile/slack_usergroups.py +249 -171
  391. reconcile/sql_query.py +324 -171
  392. reconcile/status.py +0 -1
  393. reconcile/status_board.py +275 -0
  394. reconcile/statuspage/__init__.py +0 -5
  395. reconcile/statuspage/atlassian.py +219 -80
  396. reconcile/statuspage/integration.py +9 -97
  397. reconcile/statuspage/integrations/__init__.py +0 -0
  398. reconcile/statuspage/integrations/components.py +77 -0
  399. reconcile/statuspage/integrations/maintenances.py +111 -0
  400. reconcile/statuspage/page.py +107 -72
  401. reconcile/statuspage/state.py +6 -11
  402. reconcile/statuspage/status.py +8 -12
  403. reconcile/templates/rosa-classic-cluster-creation.sh.j2 +60 -0
  404. reconcile/templates/rosa-hcp-cluster-creation.sh.j2 +61 -0
  405. reconcile/templating/__init__.py +0 -0
  406. reconcile/templating/lib/__init__.py +0 -0
  407. reconcile/templating/lib/merge_request_manager.py +180 -0
  408. reconcile/templating/lib/model.py +20 -0
  409. reconcile/templating/lib/rendering.py +191 -0
  410. reconcile/templating/renderer.py +410 -0
  411. reconcile/templating/validator.py +153 -0
  412. reconcile/terraform_aws_route53.py +13 -10
  413. reconcile/terraform_cloudflare_dns.py +92 -122
  414. reconcile/terraform_cloudflare_resources.py +15 -13
  415. reconcile/terraform_cloudflare_users.py +27 -27
  416. reconcile/terraform_init/__init__.py +0 -0
  417. reconcile/terraform_init/integration.py +165 -0
  418. reconcile/terraform_init/merge_request.py +57 -0
  419. reconcile/terraform_init/merge_request_manager.py +102 -0
  420. reconcile/terraform_repo.py +403 -0
  421. reconcile/terraform_resources.py +266 -168
  422. reconcile/terraform_tgw_attachments.py +417 -167
  423. reconcile/terraform_users.py +40 -17
  424. reconcile/terraform_vpc_peerings.py +310 -142
  425. reconcile/terraform_vpc_resources/__init__.py +0 -0
  426. reconcile/terraform_vpc_resources/integration.py +220 -0
  427. reconcile/terraform_vpc_resources/merge_request.py +57 -0
  428. reconcile/terraform_vpc_resources/merge_request_manager.py +107 -0
  429. reconcile/typed_queries/alerting_services_settings.py +1 -2
  430. reconcile/typed_queries/app_interface_custom_messages.py +24 -0
  431. reconcile/typed_queries/app_interface_deadmanssnitch_settings.py +17 -0
  432. reconcile/typed_queries/app_interface_metrics_exporter/__init__.py +0 -0
  433. reconcile/typed_queries/app_interface_metrics_exporter/onboarding_status.py +13 -0
  434. reconcile/typed_queries/app_interface_repo_url.py +1 -2
  435. reconcile/typed_queries/app_interface_state_settings.py +1 -3
  436. reconcile/typed_queries/app_interface_vault_settings.py +1 -2
  437. reconcile/typed_queries/app_quay_repos_escalation_policies.py +14 -0
  438. reconcile/typed_queries/apps.py +11 -0
  439. reconcile/typed_queries/aws_vpc_requests.py +9 -0
  440. reconcile/typed_queries/aws_vpcs.py +12 -0
  441. reconcile/typed_queries/cloudflare.py +10 -0
  442. reconcile/typed_queries/clusters.py +7 -5
  443. reconcile/typed_queries/clusters_minimal.py +6 -5
  444. reconcile/typed_queries/clusters_with_dms.py +16 -0
  445. reconcile/typed_queries/cost_report/__init__.py +0 -0
  446. reconcile/typed_queries/cost_report/app_names.py +22 -0
  447. reconcile/typed_queries/cost_report/cost_namespaces.py +43 -0
  448. reconcile/typed_queries/cost_report/settings.py +15 -0
  449. reconcile/typed_queries/dynatrace.py +10 -0
  450. reconcile/typed_queries/dynatrace_environments.py +14 -0
  451. reconcile/typed_queries/dynatrace_token_provider_token_specs.py +14 -0
  452. reconcile/typed_queries/external_resources.py +46 -0
  453. reconcile/typed_queries/get_state_aws_account.py +20 -0
  454. reconcile/typed_queries/glitchtip.py +10 -0
  455. reconcile/typed_queries/jenkins.py +25 -0
  456. reconcile/typed_queries/jira.py +7 -0
  457. reconcile/typed_queries/jira_settings.py +16 -0
  458. reconcile/typed_queries/jiralert_settings.py +22 -0
  459. reconcile/typed_queries/ocm.py +8 -0
  460. reconcile/typed_queries/pagerduty_instances.py +2 -7
  461. reconcile/typed_queries/quay.py +23 -0
  462. reconcile/typed_queries/repos.py +20 -8
  463. reconcile/typed_queries/reserved_networks.py +12 -0
  464. reconcile/typed_queries/saas_files.py +221 -167
  465. reconcile/typed_queries/slack.py +7 -0
  466. reconcile/typed_queries/slo_documents.py +12 -0
  467. reconcile/typed_queries/status_board.py +58 -0
  468. reconcile/typed_queries/tekton_pipeline_providers.py +1 -2
  469. reconcile/typed_queries/terraform_namespaces.py +1 -2
  470. reconcile/typed_queries/terraform_tgw_attachments/__init__.py +0 -0
  471. reconcile/typed_queries/terraform_tgw_attachments/aws_accounts.py +16 -0
  472. reconcile/typed_queries/unleash.py +10 -0
  473. reconcile/typed_queries/users.py +11 -0
  474. reconcile/typed_queries/vault.py +10 -0
  475. reconcile/unleash_feature_toggles/__init__.py +0 -0
  476. reconcile/unleash_feature_toggles/integration.py +287 -0
  477. reconcile/utils/acs/__init__.py +0 -0
  478. reconcile/utils/acs/base.py +81 -0
  479. reconcile/utils/acs/notifiers.py +143 -0
  480. reconcile/utils/acs/policies.py +163 -0
  481. reconcile/utils/acs/rbac.py +277 -0
  482. reconcile/utils/aggregated_list.py +11 -9
  483. reconcile/utils/amtool.py +6 -4
  484. reconcile/utils/aws_api.py +279 -66
  485. reconcile/utils/aws_api_typed/__init__.py +0 -0
  486. reconcile/utils/aws_api_typed/account.py +23 -0
  487. reconcile/utils/aws_api_typed/api.py +273 -0
  488. reconcile/utils/aws_api_typed/dynamodb.py +16 -0
  489. reconcile/utils/aws_api_typed/iam.py +67 -0
  490. reconcile/utils/aws_api_typed/organization.py +152 -0
  491. reconcile/utils/aws_api_typed/s3.py +26 -0
  492. reconcile/utils/aws_api_typed/service_quotas.py +79 -0
  493. reconcile/utils/aws_api_typed/sts.py +36 -0
  494. reconcile/utils/aws_api_typed/support.py +79 -0
  495. reconcile/utils/aws_helper.py +42 -3
  496. reconcile/utils/batches.py +11 -0
  497. reconcile/utils/binary.py +7 -9
  498. reconcile/utils/cloud_resource_best_practice/__init__.py +0 -0
  499. reconcile/utils/cloud_resource_best_practice/aws_rds.py +66 -0
  500. reconcile/utils/clusterhealth/__init__.py +0 -0
  501. reconcile/utils/clusterhealth/providerbase.py +39 -0
  502. reconcile/utils/clusterhealth/telemeter.py +39 -0
  503. reconcile/utils/config.py +3 -4
  504. reconcile/utils/deadmanssnitch_api.py +86 -0
  505. reconcile/utils/differ.py +205 -0
  506. reconcile/utils/disabled_integrations.py +4 -6
  507. reconcile/utils/dynatrace/__init__.py +0 -0
  508. reconcile/utils/dynatrace/client.py +93 -0
  509. reconcile/utils/early_exit_cache.py +289 -0
  510. reconcile/utils/elasticsearch_exceptions.py +5 -0
  511. reconcile/utils/environ.py +2 -2
  512. reconcile/utils/exceptions.py +4 -0
  513. reconcile/utils/expiration.py +4 -8
  514. reconcile/utils/extended_early_exit.py +210 -0
  515. reconcile/utils/external_resource_spec.py +34 -12
  516. reconcile/utils/external_resources.py +48 -20
  517. reconcile/utils/filtering.py +16 -0
  518. reconcile/utils/git.py +49 -16
  519. reconcile/utils/github_api.py +10 -9
  520. reconcile/utils/gitlab_api.py +333 -190
  521. reconcile/utils/glitchtip/client.py +97 -100
  522. reconcile/utils/glitchtip/models.py +89 -11
  523. reconcile/utils/gql.py +157 -58
  524. reconcile/utils/grouping.py +17 -0
  525. reconcile/utils/helm.py +89 -18
  526. reconcile/utils/helpers.py +51 -0
  527. reconcile/utils/imap_client.py +5 -6
  528. reconcile/utils/internal_groups/__init__.py +0 -0
  529. reconcile/utils/internal_groups/client.py +160 -0
  530. reconcile/utils/internal_groups/models.py +71 -0
  531. reconcile/utils/jenkins_api.py +10 -34
  532. reconcile/utils/jinja2/__init__.py +0 -0
  533. reconcile/utils/{jinja2_ext.py → jinja2/extensions.py} +6 -4
  534. reconcile/utils/jinja2/filters.py +142 -0
  535. reconcile/utils/jinja2/utils.py +278 -0
  536. reconcile/utils/jira_client.py +165 -8
  537. reconcile/utils/jjb_client.py +47 -35
  538. reconcile/utils/jobcontroller/__init__.py +0 -0
  539. reconcile/utils/jobcontroller/controller.py +413 -0
  540. reconcile/utils/jobcontroller/models.py +195 -0
  541. reconcile/utils/jsonpath.py +4 -5
  542. reconcile/utils/jump_host.py +13 -12
  543. reconcile/utils/keycloak.py +106 -0
  544. reconcile/utils/ldap_client.py +35 -6
  545. reconcile/utils/lean_terraform_client.py +115 -6
  546. reconcile/utils/membershipsources/__init__.py +0 -0
  547. reconcile/utils/membershipsources/app_interface_resolver.py +60 -0
  548. reconcile/utils/membershipsources/models.py +91 -0
  549. reconcile/utils/membershipsources/resolver.py +110 -0
  550. reconcile/utils/merge_request_manager/__init__.py +0 -0
  551. reconcile/utils/merge_request_manager/merge_request_manager.py +99 -0
  552. reconcile/utils/merge_request_manager/parser.py +67 -0
  553. reconcile/utils/metrics.py +511 -1
  554. reconcile/utils/models.py +123 -0
  555. reconcile/utils/mr/README.md +198 -0
  556. reconcile/utils/mr/__init__.py +14 -10
  557. reconcile/utils/mr/app_interface_reporter.py +2 -2
  558. reconcile/utils/mr/aws_access.py +4 -4
  559. reconcile/utils/mr/base.py +51 -31
  560. reconcile/utils/mr/clusters_updates.py +10 -7
  561. reconcile/utils/mr/glitchtip_access_reporter.py +2 -4
  562. reconcile/utils/mr/labels.py +14 -1
  563. reconcile/utils/mr/notificator.py +1 -3
  564. reconcile/utils/mr/ocm_update_recommended_version.py +1 -2
  565. reconcile/utils/mr/ocm_upgrade_scheduler_org_updates.py +7 -3
  566. reconcile/utils/mr/promote_qontract.py +203 -0
  567. reconcile/utils/mr/user_maintenance.py +24 -4
  568. reconcile/utils/oauth2_backend_application_session.py +132 -0
  569. reconcile/utils/oc.py +194 -170
  570. reconcile/utils/oc_connection_parameters.py +40 -51
  571. reconcile/utils/oc_filters.py +11 -13
  572. reconcile/utils/oc_map.py +14 -35
  573. reconcile/utils/ocm/__init__.py +30 -1
  574. reconcile/utils/ocm/addons.py +228 -0
  575. reconcile/utils/ocm/base.py +618 -5
  576. reconcile/utils/ocm/cluster_groups.py +5 -56
  577. reconcile/utils/ocm/clusters.py +111 -99
  578. reconcile/utils/ocm/identity_providers.py +66 -0
  579. reconcile/utils/ocm/label_sources.py +75 -0
  580. reconcile/utils/ocm/labels.py +139 -54
  581. reconcile/utils/ocm/manifests.py +39 -0
  582. reconcile/utils/ocm/ocm.py +182 -928
  583. reconcile/utils/ocm/products.py +758 -0
  584. reconcile/utils/ocm/search_filters.py +20 -28
  585. reconcile/utils/ocm/service_log.py +32 -79
  586. reconcile/utils/ocm/sre_capability_labels.py +51 -0
  587. reconcile/utils/ocm/status_board.py +66 -0
  588. reconcile/utils/ocm/subscriptions.py +49 -59
  589. reconcile/utils/ocm/syncsets.py +39 -0
  590. reconcile/utils/ocm/upgrades.py +181 -0
  591. reconcile/utils/ocm_base_client.py +71 -36
  592. reconcile/utils/openshift_resource.py +113 -67
  593. reconcile/utils/output.py +18 -11
  594. reconcile/utils/pagerduty_api.py +16 -10
  595. reconcile/utils/parse_dhms_duration.py +13 -1
  596. reconcile/utils/prometheus.py +123 -0
  597. reconcile/utils/promotion_state.py +56 -19
  598. reconcile/utils/promtool.py +5 -8
  599. reconcile/utils/quay_api.py +13 -25
  600. reconcile/utils/raw_github_api.py +3 -5
  601. reconcile/utils/repo_owners.py +2 -8
  602. reconcile/utils/rest_api_base.py +126 -0
  603. reconcile/utils/rosa/__init__.py +0 -0
  604. reconcile/utils/rosa/rosa_cli.py +310 -0
  605. reconcile/utils/rosa/session.py +201 -0
  606. reconcile/utils/ruamel.py +16 -0
  607. reconcile/utils/runtime/__init__.py +0 -1
  608. reconcile/utils/runtime/desired_state_diff.py +9 -20
  609. reconcile/utils/runtime/environment.py +33 -8
  610. reconcile/utils/runtime/integration.py +28 -12
  611. reconcile/utils/runtime/meta.py +1 -3
  612. reconcile/utils/runtime/runner.py +8 -11
  613. reconcile/utils/runtime/sharding.py +93 -36
  614. reconcile/utils/saasherder/__init__.py +1 -1
  615. reconcile/utils/saasherder/interfaces.py +143 -138
  616. reconcile/utils/saasherder/models.py +201 -43
  617. reconcile/utils/saasherder/saasherder.py +508 -378
  618. reconcile/utils/secret_reader.py +22 -27
  619. reconcile/utils/semver_helper.py +15 -1
  620. reconcile/utils/slack_api.py +124 -36
  621. reconcile/utils/smtp_client.py +1 -2
  622. reconcile/utils/sqs_gateway.py +10 -6
  623. reconcile/utils/state.py +276 -127
  624. reconcile/utils/terraform/config_client.py +6 -7
  625. reconcile/utils/terraform_client.py +284 -125
  626. reconcile/utils/terrascript/cloudflare_client.py +38 -17
  627. reconcile/utils/terrascript/cloudflare_resources.py +67 -18
  628. reconcile/utils/terrascript/models.py +2 -3
  629. reconcile/utils/terrascript/resources.py +1 -2
  630. reconcile/utils/terrascript_aws_client.py +1292 -540
  631. reconcile/utils/three_way_diff_strategy.py +157 -0
  632. reconcile/utils/unleash/__init__.py +11 -0
  633. reconcile/utils/{unleash.py → unleash/client.py} +35 -29
  634. reconcile/utils/unleash/server.py +145 -0
  635. reconcile/utils/vault.py +42 -32
  636. reconcile/utils/vaultsecretref.py +2 -4
  637. reconcile/utils/vcs.py +250 -0
  638. reconcile/vault_replication.py +38 -31
  639. reconcile/vpc_peerings_validator.py +82 -13
  640. tools/app_interface_metrics_exporter.py +70 -0
  641. tools/app_interface_reporter.py +44 -157
  642. tools/cli_commands/container_images_report.py +154 -0
  643. tools/cli_commands/cost_report/__init__.py +0 -0
  644. tools/cli_commands/cost_report/aws.py +137 -0
  645. tools/cli_commands/cost_report/cost_management_api.py +155 -0
  646. tools/cli_commands/cost_report/model.py +49 -0
  647. tools/cli_commands/cost_report/openshift.py +166 -0
  648. tools/cli_commands/cost_report/openshift_cost_optimization.py +187 -0
  649. tools/cli_commands/cost_report/response.py +124 -0
  650. tools/cli_commands/cost_report/util.py +72 -0
  651. tools/cli_commands/cost_report/view.py +524 -0
  652. tools/cli_commands/erv2.py +620 -0
  653. tools/cli_commands/gpg_encrypt.py +5 -8
  654. tools/cli_commands/systems_and_tools.py +489 -0
  655. tools/glitchtip_access_revalidation.py +1 -1
  656. tools/qontract_cli.py +2301 -673
  657. tools/saas_metrics_exporter/__init__.py +0 -0
  658. tools/saas_metrics_exporter/commit_distance/__init__.py +0 -0
  659. tools/saas_metrics_exporter/commit_distance/channel.py +63 -0
  660. tools/saas_metrics_exporter/commit_distance/commit_distance.py +103 -0
  661. tools/saas_metrics_exporter/commit_distance/metrics.py +19 -0
  662. tools/saas_metrics_exporter/main.py +99 -0
  663. tools/saas_promotion_state/__init__.py +0 -0
  664. tools/saas_promotion_state/saas_promotion_state.py +105 -0
  665. tools/sd_app_sre_alert_report.py +145 -0
  666. tools/template_validation.py +107 -0
  667. e2e_tests/cli.py +0 -83
  668. e2e_tests/create_namespace.py +0 -43
  669. e2e_tests/dedicated_admin_rolebindings.py +0 -44
  670. e2e_tests/dedicated_admin_test_base.py +0 -39
  671. e2e_tests/default_network_policies.py +0 -47
  672. e2e_tests/default_project_labels.py +0 -52
  673. e2e_tests/network_policy_test_base.py +0 -17
  674. e2e_tests/test_base.py +0 -56
  675. qontract_reconcile-0.10.0.dist-info/LICENSE +0 -201
  676. qontract_reconcile-0.10.0.dist-info/METADATA +0 -63
  677. qontract_reconcile-0.10.0.dist-info/RECORD +0 -586
  678. qontract_reconcile-0.10.0.dist-info/top_level.txt +0 -4
  679. reconcile/ecr_mirror.py +0 -152
  680. reconcile/github_scanner.py +0 -74
  681. reconcile/gitlab_integrations.py +0 -63
  682. reconcile/gql_definitions/ocm_oidc_idp/clusters.py +0 -195
  683. reconcile/gql_definitions/ocp_release_mirror/ocp_release_mirror.py +0 -287
  684. reconcile/integrations_validator.py +0 -18
  685. reconcile/jenkins_plugins.py +0 -129
  686. reconcile/kafka_clusters.py +0 -208
  687. reconcile/ocm_cluster_admin.py +0 -42
  688. reconcile/ocm_oidc_idp.py +0 -198
  689. reconcile/ocp_release_mirror.py +0 -373
  690. reconcile/prometheus_rules_tester_old.py +0 -436
  691. reconcile/saas_auto_promotions_manager/merge_request_manager/merge_request_manager.py +0 -279
  692. reconcile/saas_auto_promotions_manager/utils/vcs.py +0 -141
  693. reconcile/sentry_config.py +0 -613
  694. reconcile/sentry_helper.py +0 -69
  695. reconcile/test/conftest.py +0 -187
  696. reconcile/test/fixtures.py +0 -24
  697. reconcile/test/saas_auto_promotions_manager/conftest.py +0 -69
  698. reconcile/test/saas_auto_promotions_manager/merge_request_manager/merge_request_manager/conftest.py +0 -110
  699. reconcile/test/saas_auto_promotions_manager/merge_request_manager/merge_request_manager/data_keys.py +0 -10
  700. reconcile/test/saas_auto_promotions_manager/merge_request_manager/merge_request_manager/test_housekeeping.py +0 -200
  701. reconcile/test/saas_auto_promotions_manager/merge_request_manager/merge_request_manager/test_merge_request_manager.py +0 -151
  702. reconcile/test/saas_auto_promotions_manager/merge_request_manager/renderer/conftest.py +0 -63
  703. reconcile/test/saas_auto_promotions_manager/merge_request_manager/renderer/data_keys.py +0 -4
  704. reconcile/test/saas_auto_promotions_manager/merge_request_manager/renderer/test_content_multiple_namespaces.py +0 -46
  705. reconcile/test/saas_auto_promotions_manager/merge_request_manager/renderer/test_content_single_namespace.py +0 -94
  706. reconcile/test/saas_auto_promotions_manager/merge_request_manager/renderer/test_content_single_target.py +0 -44
  707. reconcile/test/saas_auto_promotions_manager/subscriber/conftest.py +0 -74
  708. reconcile/test/saas_auto_promotions_manager/subscriber/data_keys.py +0 -11
  709. reconcile/test/saas_auto_promotions_manager/subscriber/test_content_hash.py +0 -155
  710. reconcile/test/saas_auto_promotions_manager/subscriber/test_diff.py +0 -173
  711. reconcile/test/saas_auto_promotions_manager/subscriber/test_multiple_channels_config_hash.py +0 -226
  712. reconcile/test/saas_auto_promotions_manager/subscriber/test_multiple_channels_moving_ref.py +0 -224
  713. reconcile/test/saas_auto_promotions_manager/subscriber/test_single_channel_with_single_publisher.py +0 -350
  714. reconcile/test/saas_auto_promotions_manager/test_integration_test.py +0 -129
  715. reconcile/test/saas_auto_promotions_manager/utils/saas_files_inventory/test_multiple_publishers_for_single_channel.py +0 -70
  716. reconcile/test/saas_auto_promotions_manager/utils/saas_files_inventory/test_saas_files_use_target_config_hash.py +0 -63
  717. reconcile/test/saas_auto_promotions_manager/utils/saas_files_inventory/test_saas_files_with_auto_promote.py +0 -74
  718. reconcile/test/saas_auto_promotions_manager/utils/saas_files_inventory/test_saas_files_without_auto_promote.py +0 -65
  719. reconcile/test/test_aggregated_list.py +0 -237
  720. reconcile/test/test_amtool.py +0 -37
  721. reconcile/test/test_auto_promoter.py +0 -295
  722. reconcile/test/test_aws_ami_share.py +0 -68
  723. reconcile/test/test_aws_iam_keys.py +0 -70
  724. reconcile/test/test_aws_iam_password_reset.py +0 -35
  725. reconcile/test/test_aws_support_cases_sos.py +0 -23
  726. reconcile/test/test_checkpoint.py +0 -178
  727. reconcile/test/test_cli.py +0 -41
  728. reconcile/test/test_closedbox_endpoint_monitoring.py +0 -207
  729. reconcile/test/test_gabi_authorized_users.py +0 -72
  730. reconcile/test/test_github_org.py +0 -154
  731. reconcile/test/test_github_repo_invites.py +0 -123
  732. reconcile/test/test_gitlab_housekeeping.py +0 -88
  733. reconcile/test/test_gitlab_labeler.py +0 -129
  734. reconcile/test/test_gitlab_members.py +0 -283
  735. reconcile/test/test_instrumented_wrappers.py +0 -18
  736. reconcile/test/test_integrations_manager.py +0 -995
  737. reconcile/test/test_jenkins_worker_fleets.py +0 -55
  738. reconcile/test/test_jump_host.py +0 -117
  739. reconcile/test/test_ldap_users.py +0 -123
  740. reconcile/test/test_make.py +0 -28
  741. reconcile/test/test_ocm_additional_routers.py +0 -134
  742. reconcile/test/test_ocm_addons_upgrade_scheduler_org.py +0 -149
  743. reconcile/test/test_ocm_clusters.py +0 -598
  744. reconcile/test/test_ocm_clusters_manifest_updates.py +0 -89
  745. reconcile/test/test_ocm_oidc_idp.py +0 -315
  746. reconcile/test/test_ocm_update_recommended_version.py +0 -145
  747. reconcile/test/test_ocm_upgrade_scheduler.py +0 -614
  748. reconcile/test/test_ocm_upgrade_scheduler_org_updater.py +0 -129
  749. reconcile/test/test_openshift_base.py +0 -730
  750. reconcile/test/test_openshift_namespace_labels.py +0 -345
  751. reconcile/test/test_openshift_namespaces.py +0 -256
  752. reconcile/test/test_openshift_resource.py +0 -415
  753. reconcile/test/test_openshift_resources_base.py +0 -440
  754. reconcile/test/test_openshift_saas_deploy_change_tester.py +0 -310
  755. reconcile/test/test_openshift_tekton_resources.py +0 -253
  756. reconcile/test/test_openshift_upgrade_watcher.py +0 -146
  757. reconcile/test/test_prometheus_rules_tester.py +0 -151
  758. reconcile/test/test_prometheus_rules_tester_old.py +0 -77
  759. reconcile/test/test_quay_membership.py +0 -86
  760. reconcile/test/test_quay_mirror.py +0 -109
  761. reconcile/test/test_quay_mirror_org.py +0 -70
  762. reconcile/test/test_quay_repos.py +0 -59
  763. reconcile/test/test_queries.py +0 -53
  764. reconcile/test/test_repo_owners.py +0 -47
  765. reconcile/test/test_requests_sender.py +0 -139
  766. reconcile/test/test_saasherder.py +0 -1074
  767. reconcile/test/test_saasherder_allowed_secret_paths.py +0 -127
  768. reconcile/test/test_secret_reader.py +0 -153
  769. reconcile/test/test_slack_base.py +0 -185
  770. reconcile/test/test_slack_usergroups.py +0 -744
  771. reconcile/test/test_sql_query.py +0 -19
  772. reconcile/test/test_terraform_cloudflare_dns.py +0 -117
  773. reconcile/test/test_terraform_cloudflare_resources.py +0 -106
  774. reconcile/test/test_terraform_cloudflare_users.py +0 -749
  775. reconcile/test/test_terraform_resources.py +0 -257
  776. reconcile/test/test_terraform_tgw_attachments.py +0 -631
  777. reconcile/test/test_terraform_users.py +0 -57
  778. reconcile/test/test_terraform_vpc_peerings.py +0 -499
  779. reconcile/test/test_terraform_vpc_peerings_build_desired_state.py +0 -1061
  780. reconcile/test/test_unleash.py +0 -138
  781. reconcile/test/test_utils_aws_api.py +0 -240
  782. reconcile/test/test_utils_aws_helper.py +0 -80
  783. reconcile/test/test_utils_cluster_version_data.py +0 -177
  784. reconcile/test/test_utils_data_structures.py +0 -13
  785. reconcile/test/test_utils_disabled_integrations.py +0 -86
  786. reconcile/test/test_utils_expiration.py +0 -109
  787. reconcile/test/test_utils_external_resource_spec.py +0 -383
  788. reconcile/test/test_utils_external_resources.py +0 -247
  789. reconcile/test/test_utils_github_api.py +0 -73
  790. reconcile/test/test_utils_gitlab_api.py +0 -20
  791. reconcile/test/test_utils_gpg.py +0 -69
  792. reconcile/test/test_utils_gql.py +0 -81
  793. reconcile/test/test_utils_helm.py +0 -306
  794. reconcile/test/test_utils_helpers.py +0 -55
  795. reconcile/test/test_utils_imap_client.py +0 -65
  796. reconcile/test/test_utils_jjb_client.py +0 -52
  797. reconcile/test/test_utils_jsonpath.py +0 -286
  798. reconcile/test/test_utils_ldap_client.py +0 -51
  799. reconcile/test/test_utils_mr.py +0 -226
  800. reconcile/test/test_utils_mr_clusters_updates.py +0 -77
  801. reconcile/test/test_utils_oc.py +0 -984
  802. reconcile/test/test_utils_ocm.py +0 -110
  803. reconcile/test/test_utils_pagerduty_api.py +0 -251
  804. reconcile/test/test_utils_parse_dhms_duration.py +0 -34
  805. reconcile/test/test_utils_password_validator.py +0 -155
  806. reconcile/test/test_utils_quay_api.py +0 -86
  807. reconcile/test/test_utils_semver_helper.py +0 -19
  808. reconcile/test/test_utils_sharding.py +0 -56
  809. reconcile/test/test_utils_slack_api.py +0 -439
  810. reconcile/test/test_utils_smtp_client.py +0 -73
  811. reconcile/test/test_utils_state.py +0 -256
  812. reconcile/test/test_utils_terraform.py +0 -13
  813. reconcile/test/test_utils_terraform_client.py +0 -585
  814. reconcile/test/test_utils_terraform_config_client.py +0 -219
  815. reconcile/test/test_utils_terrascript_aws_client.py +0 -277
  816. reconcile/test/test_utils_terrascript_cloudflare_client.py +0 -597
  817. reconcile/test/test_utils_terrascript_cloudflare_resources.py +0 -26
  818. reconcile/test/test_vault_replication.py +0 -515
  819. reconcile/test/test_vault_utils.py +0 -47
  820. reconcile/test/test_version_bump.py +0 -18
  821. reconcile/test/test_vpc_peerings_validator.py +0 -103
  822. reconcile/test/test_wrong_region.py +0 -78
  823. reconcile/typed_queries/glitchtip_settings.py +0 -18
  824. reconcile/typed_queries/ocp_release_mirror.py +0 -11
  825. reconcile/unleash_watcher.py +0 -120
  826. reconcile/utils/git_secrets.py +0 -63
  827. reconcile/utils/mr/auto_promoter.py +0 -218
  828. reconcile/utils/sentry_client.py +0 -383
  829. release/test_version.py +0 -50
  830. release/version.py +0 -100
  831. tools/test/test_qontract_cli.py +0 -60
  832. tools/test/test_sre_checkpoints.py +0 -79
  833. /e2e_tests/__init__.py → /reconcile/aus/upgrades.py +0 -0
  834. /reconcile/{gql_definitions/ocp_release_mirror → aws_account_manager}/__init__.py +0 -0
  835. /reconcile/{test → aws_ami_cleanup}/__init__.py +0 -0
  836. /reconcile/{test/saas_auto_promotions_manager → aws_cloudwatch_log_retention}/__init__.py +0 -0
  837. /reconcile/{test/saas_auto_promotions_manager/merge_request_manager → aws_saml_idp}/__init__.py +0 -0
  838. /reconcile/{test/saas_auto_promotions_manager/merge_request_manager/merge_request_manager → aws_saml_roles}/__init__.py +0 -0
  839. /reconcile/{test/saas_auto_promotions_manager/merge_request_manager/renderer → aws_version_sync}/__init__.py +0 -0
  840. /reconcile/{test/saas_auto_promotions_manager/subscriber → aws_version_sync/merge_request_manager}/__init__.py +0 -0
  841. /reconcile/{test/saas_auto_promotions_manager/utils → cluster_auth_rhidp}/__init__.py +0 -0
  842. /reconcile/{test/saas_auto_promotions_manager/utils/saas_files_inventory → dynatrace_token_provider}/__init__.py +0 -0
  843. {release → reconcile/endpoints_discovery}/__init__.py +0 -0
  844. {tools/test → reconcile/external_resources}/__init__.py +0 -0
@@ -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)