qontract-reconcile 0.10.2.dev345__py3-none-any.whl → 0.10.2.dev408__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 (126) hide show
  1. {qontract_reconcile-0.10.2.dev345.dist-info → qontract_reconcile-0.10.2.dev408.dist-info}/METADATA +11 -10
  2. {qontract_reconcile-0.10.2.dev345.dist-info → qontract_reconcile-0.10.2.dev408.dist-info}/RECORD +126 -120
  3. reconcile/aus/base.py +17 -14
  4. reconcile/automated_actions/config/integration.py +12 -0
  5. reconcile/aws_account_manager/integration.py +2 -2
  6. reconcile/aws_ami_cleanup/integration.py +6 -7
  7. reconcile/aws_ami_share.py +69 -62
  8. reconcile/aws_cloudwatch_log_retention/integration.py +155 -126
  9. reconcile/aws_ecr_image_pull_secrets.py +2 -2
  10. reconcile/aws_iam_keys.py +1 -0
  11. reconcile/aws_saml_idp/integration.py +7 -1
  12. reconcile/aws_saml_roles/integration.py +9 -3
  13. reconcile/change_owners/change_owners.py +1 -1
  14. reconcile/change_owners/diff.py +2 -4
  15. reconcile/checkpoint.py +11 -3
  16. reconcile/cli.py +33 -8
  17. reconcile/dashdotdb_dora.py +4 -11
  18. reconcile/database_access_manager.py +118 -111
  19. reconcile/endpoints_discovery/integration.py +4 -1
  20. reconcile/endpoints_discovery/merge_request_manager.py +9 -11
  21. reconcile/external_resources/factories.py +5 -12
  22. reconcile/external_resources/integration.py +1 -1
  23. reconcile/external_resources/manager.py +5 -3
  24. reconcile/external_resources/meta.py +0 -1
  25. reconcile/external_resources/model.py +10 -10
  26. reconcile/external_resources/reconciler.py +5 -2
  27. reconcile/external_resources/secrets_sync.py +4 -6
  28. reconcile/external_resources/state.py +5 -4
  29. reconcile/gabi_authorized_users.py +8 -5
  30. reconcile/gitlab_housekeeping.py +13 -15
  31. reconcile/gitlab_mr_sqs_consumer.py +2 -2
  32. reconcile/gitlab_owners.py +15 -11
  33. reconcile/gql_definitions/automated_actions/instance.py +41 -2
  34. reconcile/gql_definitions/aws_ami_cleanup/aws_accounts.py +10 -0
  35. reconcile/gql_definitions/aws_cloudwatch_log_retention/aws_accounts.py +22 -61
  36. reconcile/gql_definitions/aws_saml_idp/aws_accounts.py +10 -0
  37. reconcile/gql_definitions/aws_saml_roles/aws_accounts.py +10 -0
  38. reconcile/gql_definitions/common/aws_vpc_requests.py +10 -0
  39. reconcile/gql_definitions/common/clusters.py +2 -0
  40. reconcile/gql_definitions/external_resources/external_resources_namespaces.py +84 -1
  41. reconcile/gql_definitions/external_resources/external_resources_settings.py +2 -0
  42. reconcile/gql_definitions/fragments/aws_account_common.py +2 -0
  43. reconcile/gql_definitions/fragments/aws_organization.py +33 -0
  44. reconcile/gql_definitions/fragments/aws_vpc_request.py +2 -0
  45. reconcile/gql_definitions/introspection.json +3474 -1986
  46. reconcile/gql_definitions/jira_permissions_validator/jira_boards_for_permissions_validator.py +4 -0
  47. reconcile/gql_definitions/terraform_init/aws_accounts.py +14 -0
  48. reconcile/gql_definitions/terraform_resources/terraform_resources_namespaces.py +33 -1
  49. reconcile/gql_definitions/terraform_tgw_attachments/aws_accounts.py +10 -0
  50. reconcile/jenkins_worker_fleets.py +1 -0
  51. reconcile/jira_permissions_validator.py +236 -121
  52. reconcile/ocm/types.py +6 -0
  53. reconcile/openshift_base.py +47 -1
  54. reconcile/openshift_cluster_bots.py +2 -1
  55. reconcile/openshift_resources_base.py +6 -2
  56. reconcile/openshift_saas_deploy.py +2 -2
  57. reconcile/openshift_saas_deploy_trigger_cleaner.py +3 -5
  58. reconcile/openshift_upgrade_watcher.py +3 -3
  59. reconcile/queries.py +131 -0
  60. reconcile/saas_auto_promotions_manager/subscriber.py +4 -3
  61. reconcile/slack_usergroups.py +4 -3
  62. reconcile/sql_query.py +1 -0
  63. reconcile/statuspage/integrations/maintenances.py +4 -3
  64. reconcile/statuspage/status.py +5 -8
  65. reconcile/templates/rosa-classic-cluster-creation.sh.j2 +4 -0
  66. reconcile/templates/rosa-hcp-cluster-creation.sh.j2 +3 -0
  67. reconcile/templating/renderer.py +2 -1
  68. reconcile/terraform_aws_route53.py +7 -1
  69. reconcile/terraform_init/integration.py +185 -21
  70. reconcile/terraform_resources.py +11 -1
  71. reconcile/terraform_tgw_attachments.py +7 -1
  72. reconcile/terraform_users.py +7 -0
  73. reconcile/terraform_vpc_peerings.py +14 -3
  74. reconcile/terraform_vpc_resources/integration.py +7 -0
  75. reconcile/typed_queries/aws_account_tags.py +41 -0
  76. reconcile/typed_queries/saas_files.py +2 -2
  77. reconcile/utils/aggregated_list.py +4 -3
  78. reconcile/utils/aws_api.py +51 -20
  79. reconcile/utils/aws_api_typed/api.py +38 -9
  80. reconcile/utils/aws_api_typed/cloudformation.py +149 -0
  81. reconcile/utils/aws_api_typed/logs.py +73 -0
  82. reconcile/utils/datetime_util.py +67 -0
  83. reconcile/utils/differ.py +2 -3
  84. reconcile/utils/early_exit_cache.py +3 -2
  85. reconcile/utils/expiration.py +7 -3
  86. reconcile/utils/external_resource_spec.py +24 -1
  87. reconcile/utils/filtering.py +1 -1
  88. reconcile/utils/helm.py +2 -1
  89. reconcile/utils/helpers.py +1 -1
  90. reconcile/utils/jinja2/utils.py +4 -96
  91. reconcile/utils/jira_client.py +82 -63
  92. reconcile/utils/jjb_client.py +9 -12
  93. reconcile/utils/jobcontroller/controller.py +1 -1
  94. reconcile/utils/jobcontroller/models.py +17 -1
  95. reconcile/utils/json.py +32 -0
  96. reconcile/utils/merge_request_manager/merge_request_manager.py +3 -3
  97. reconcile/utils/merge_request_manager/parser.py +2 -2
  98. reconcile/utils/mr/app_interface_reporter.py +2 -2
  99. reconcile/utils/mr/base.py +2 -2
  100. reconcile/utils/mr/notificator.py +2 -2
  101. reconcile/utils/mr/update_access_report_base.py +3 -4
  102. reconcile/utils/oc.py +113 -95
  103. reconcile/utils/oc_filters.py +3 -3
  104. reconcile/utils/ocm/products.py +6 -0
  105. reconcile/utils/ocm/search_filters.py +3 -6
  106. reconcile/utils/ocm/service_log.py +3 -5
  107. reconcile/utils/openshift_resource.py +10 -5
  108. reconcile/utils/output.py +3 -2
  109. reconcile/utils/pagerduty_api.py +5 -5
  110. reconcile/utils/runtime/integration.py +1 -2
  111. reconcile/utils/runtime/runner.py +2 -2
  112. reconcile/utils/saasherder/models.py +2 -1
  113. reconcile/utils/saasherder/saasherder.py +9 -7
  114. reconcile/utils/slack_api.py +24 -2
  115. reconcile/utils/sloth.py +171 -2
  116. reconcile/utils/sqs_gateway.py +2 -1
  117. reconcile/utils/state.py +2 -1
  118. reconcile/utils/terraform_client.py +4 -3
  119. reconcile/utils/terrascript_aws_client.py +165 -111
  120. reconcile/utils/vault.py +1 -1
  121. reconcile/vault_replication.py +107 -42
  122. tools/app_interface_reporter.py +4 -4
  123. tools/cli_commands/systems_and_tools.py +5 -1
  124. tools/qontract_cli.py +25 -13
  125. {qontract_reconcile-0.10.2.dev345.dist-info → qontract_reconcile-0.10.2.dev408.dist-info}/WHEEL +0 -0
  126. {qontract_reconcile-0.10.2.dev345.dist-info → qontract_reconcile-0.10.2.dev408.dist-info}/entry_points.txt +0 -0
@@ -143,6 +143,7 @@ query ExternalResourcesNamespaces {
143
143
  ...VaultSecret
144
144
  }
145
145
  annotations
146
+ tags
146
147
  event_notifications {
147
148
  destination
148
149
  source_type
@@ -157,6 +158,20 @@ query ExternalResourcesNamespaces {
157
158
  ...ExternalResourcesModuleOverrides
158
159
  }
159
160
  }
161
+ ... on NamespaceTerraformResourceRDSProxy_v1 {
162
+ region
163
+ identifier
164
+ defaults
165
+ overrides
166
+ output_resource_name
167
+ annotations
168
+ tags
169
+ managed_by_erv2
170
+ delete
171
+ module_overrides {
172
+ ...ExternalResourcesModuleOverrides
173
+ }
174
+ }
160
175
  ... on NamespaceTerraformResourceS3_v1 {
161
176
  region
162
177
  identifier
@@ -175,6 +190,7 @@ query ExternalResourcesNamespaces {
175
190
  output_resource_name
176
191
  storage_class
177
192
  annotations
193
+ tags
178
194
  }
179
195
  ... on NamespaceTerraformResourceElastiCache_v1 {
180
196
  identifier
@@ -184,6 +200,7 @@ query ExternalResourcesNamespaces {
184
200
  overrides
185
201
  output_resource_name
186
202
  annotations
203
+ tags
187
204
  managed_by_erv2
188
205
  delete
189
206
  module_overrides {
@@ -197,6 +214,7 @@ query ExternalResourcesNamespaces {
197
214
  user_policy
198
215
  output_resource_name
199
216
  annotations
217
+ tags
200
218
  aws_infrastructure_access {
201
219
  cluster {
202
220
  name
@@ -210,6 +228,7 @@ query ExternalResourcesNamespaces {
210
228
  secrets_prefix
211
229
  output_resource_name
212
230
  annotations
231
+ tags
213
232
  }
214
233
  ... on NamespaceTerraformResourceRole_v1 {
215
234
  identifier
@@ -223,6 +242,7 @@ query ExternalResourcesNamespaces {
223
242
  inline_policy
224
243
  output_resource_name
225
244
  annotations
245
+ tags
226
246
  managed_by_erv2
227
247
  max_session_duration
228
248
  }
@@ -231,6 +251,7 @@ query ExternalResourcesNamespaces {
231
251
  identifier
232
252
  output_resource_name
233
253
  annotations
254
+ tags
234
255
  specs {
235
256
  defaults
236
257
  queues {
@@ -247,6 +268,7 @@ query ExternalResourcesNamespaces {
247
268
  fifo_topic
248
269
  inline_policy
249
270
  annotations
271
+ tags
250
272
  subscriptions {
251
273
  protocol
252
274
  endpoint
@@ -257,6 +279,7 @@ query ExternalResourcesNamespaces {
257
279
  identifier
258
280
  output_resource_name
259
281
  annotations
282
+ tags
260
283
  specs {
261
284
  defaults
262
285
  tables {
@@ -271,6 +294,7 @@ query ExternalResourcesNamespaces {
271
294
  output_resource_name
272
295
  public
273
296
  annotations
297
+ tags
274
298
  }
275
299
  ... on NamespaceTerraformResourceS3CloudFront_v1 {
276
300
  region
@@ -279,6 +303,7 @@ query ExternalResourcesNamespaces {
279
303
  output_resource_name
280
304
  storage_class
281
305
  annotations
306
+ tags
282
307
  }
283
308
  ... on NamespaceTerraformResourceS3SQS_v1 {
284
309
  region
@@ -288,6 +313,7 @@ query ExternalResourcesNamespaces {
288
313
  output_resource_name
289
314
  storage_class
290
315
  annotations
316
+ tags
291
317
  }
292
318
  ... on NamespaceTerraformResourceCloudWatch_v1 {
293
319
  region
@@ -302,6 +328,7 @@ query ExternalResourcesNamespaces {
302
328
  }
303
329
  output_resource_name
304
330
  annotations
331
+ tags
305
332
  }
306
333
  ... on NamespaceTerraformResourceKMS_v1 {
307
334
  region
@@ -310,6 +337,7 @@ query ExternalResourcesNamespaces {
310
337
  overrides
311
338
  output_resource_name
312
339
  annotations
340
+ tags
313
341
  managed_by_erv2
314
342
  delete
315
343
  module_overrides {
@@ -322,6 +350,7 @@ query ExternalResourcesNamespaces {
322
350
  defaults
323
351
  output_resource_name
324
352
  annotations
353
+ tags
325
354
  publish_log_types
326
355
  }
327
356
  ... on NamespaceTerraformResourceACM_v1 {
@@ -336,6 +365,7 @@ query ExternalResourcesNamespaces {
336
365
  }
337
366
  output_resource_name
338
367
  annotations
368
+ tags
339
369
  }
340
370
  ... on NamespaceTerraformResourceKinesis_v1 {
341
371
  region
@@ -344,6 +374,7 @@ query ExternalResourcesNamespaces {
344
374
  es_identifier
345
375
  output_resource_name
346
376
  annotations
377
+ tags
347
378
  }
348
379
  ... on NamespaceTerraformResourceS3CloudFrontPublicKey_v1 {
349
380
  region
@@ -353,6 +384,7 @@ query ExternalResourcesNamespaces {
353
384
  }
354
385
  output_resource_name
355
386
  annotations
387
+ tags
356
388
  }
357
389
  ... on NamespaceTerraformResourceALB_v1 {
358
390
  region
@@ -411,6 +443,7 @@ query ExternalResourcesNamespaces {
411
443
  }
412
444
  output_resource_name
413
445
  annotations
446
+ tags
414
447
  }
415
448
  ... on NamespaceTerraformResourceSecretsManager_v1 {
416
449
  region
@@ -420,6 +453,7 @@ query ExternalResourcesNamespaces {
420
453
  }
421
454
  output_resource_name
422
455
  annotations
456
+ tags
423
457
  }
424
458
  ... on NamespaceTerraformResourceASG_v1 {
425
459
  region
@@ -456,6 +490,7 @@ query ExternalResourcesNamespaces {
456
490
  }
457
491
  output_resource_name
458
492
  annotations
493
+ tags
459
494
  }
460
495
  ... on NamespaceTerraformResourceRoute53Zone_v1 {
461
496
  region
@@ -463,6 +498,7 @@ query ExternalResourcesNamespaces {
463
498
  name
464
499
  output_resource_name
465
500
  annotations
501
+ tags
466
502
  records {
467
503
  name
468
504
  type
@@ -496,6 +532,7 @@ query ExternalResourcesNamespaces {
496
532
  insights_callback_urls
497
533
  output_resource_name
498
534
  annotations
535
+ tags
499
536
  vpc_id
500
537
  subnet_ids
501
538
  vpce_id
@@ -508,6 +545,7 @@ query ExternalResourcesNamespaces {
508
545
  vpc_id
509
546
  output_resource_name
510
547
  annotations
548
+ tags
511
549
  defaults
512
550
  }
513
551
  ... on NamespaceTerraformResourceMsk_v1 {
@@ -516,6 +554,7 @@ query ExternalResourcesNamespaces {
516
554
  output_resource_name
517
555
  defaults
518
556
  annotations
557
+ tags
519
558
  users {
520
559
  name
521
560
  secret {
@@ -534,10 +573,13 @@ query ExternalResourcesNamespaces {
534
573
  environment {
535
574
  name
536
575
  labels
576
+ servicePhase
537
577
  }
538
578
  app {
539
579
  path
540
580
  name
581
+ appCode
582
+ costCenter
541
583
  }
542
584
  cluster {
543
585
  name
@@ -643,6 +685,7 @@ class NamespaceTerraformResourceRDSV1(NamespaceTerraformResourceAWSV1):
643
685
  reset_password: Optional[str] = Field(..., alias="reset_password")
644
686
  ca_cert: Optional[VaultSecret] = Field(..., alias="ca_cert")
645
687
  annotations: Optional[str] = Field(..., alias="annotations")
688
+ tags: Optional[str] = Field(..., alias="tags")
646
689
  event_notifications: Optional[list[AWSRDSEventNotificationV1]] = Field(..., alias="event_notifications")
647
690
  data_classification: Optional[AWSRDSDataClassificationV1] = Field(..., alias="data_classification")
648
691
  managed_by_erv2: Optional[bool] = Field(..., alias="managed_by_erv2")
@@ -650,6 +693,19 @@ class NamespaceTerraformResourceRDSV1(NamespaceTerraformResourceAWSV1):
650
693
  module_overrides: Optional[ExternalResourcesModuleOverrides] = Field(..., alias="module_overrides")
651
694
 
652
695
 
696
+ class NamespaceTerraformResourceRDSProxyV1(NamespaceTerraformResourceAWSV1):
697
+ region: Optional[str] = Field(..., alias="region")
698
+ identifier: str = Field(..., alias="identifier")
699
+ defaults: str = Field(..., alias="defaults")
700
+ overrides: Optional[str] = Field(..., alias="overrides")
701
+ output_resource_name: Optional[str] = Field(..., alias="output_resource_name")
702
+ annotations: Optional[str] = Field(..., alias="annotations")
703
+ tags: Optional[str] = Field(..., alias="tags")
704
+ managed_by_erv2: Optional[bool] = Field(..., alias="managed_by_erv2")
705
+ delete: Optional[bool] = Field(..., alias="delete")
706
+ module_overrides: Optional[ExternalResourcesModuleOverrides] = Field(..., alias="module_overrides")
707
+
708
+
653
709
  class AWSS3EventNotificationV1(ConfiguredBaseModel):
654
710
  destination_type: str = Field(..., alias="destination_type")
655
711
  destination: str = Field(..., alias="destination")
@@ -670,6 +726,7 @@ class NamespaceTerraformResourceS3V1(NamespaceTerraformResourceAWSV1):
670
726
  output_resource_name: Optional[str] = Field(..., alias="output_resource_name")
671
727
  storage_class: Optional[str] = Field(..., alias="storage_class")
672
728
  annotations: Optional[str] = Field(..., alias="annotations")
729
+ tags: Optional[str] = Field(..., alias="tags")
673
730
 
674
731
 
675
732
  class NamespaceTerraformResourceElastiCacheV1(NamespaceTerraformResourceAWSV1):
@@ -680,6 +737,7 @@ class NamespaceTerraformResourceElastiCacheV1(NamespaceTerraformResourceAWSV1):
680
737
  overrides: Optional[str] = Field(..., alias="overrides")
681
738
  output_resource_name: Optional[str] = Field(..., alias="output_resource_name")
682
739
  annotations: Optional[str] = Field(..., alias="annotations")
740
+ tags: Optional[str] = Field(..., alias="tags")
683
741
  managed_by_erv2: Optional[bool] = Field(..., alias="managed_by_erv2")
684
742
  delete: Optional[bool] = Field(..., alias="delete")
685
743
  module_overrides: Optional[ExternalResourcesModuleOverrides] = Field(..., alias="module_overrides")
@@ -702,6 +760,7 @@ class NamespaceTerraformResourceServiceAccountV1(NamespaceTerraformResourceAWSV1
702
760
  user_policy: Optional[str] = Field(..., alias="user_policy")
703
761
  output_resource_name: Optional[str] = Field(..., alias="output_resource_name")
704
762
  annotations: Optional[str] = Field(..., alias="annotations")
763
+ tags: Optional[str] = Field(..., alias="tags")
705
764
  aws_infrastructure_access: Optional[NamespaceTerraformResourceServiceAccountAWSInfrastructureAccessV1] = Field(..., alias="aws_infrastructure_access")
706
765
 
707
766
 
@@ -710,6 +769,7 @@ class NamespaceTerraformResourceSecretsManagerServiceAccountV1(NamespaceTerrafor
710
769
  secrets_prefix: str = Field(..., alias="secrets_prefix")
711
770
  output_resource_name: Optional[str] = Field(..., alias="output_resource_name")
712
771
  annotations: Optional[str] = Field(..., alias="annotations")
772
+ tags: Optional[str] = Field(..., alias="tags")
713
773
 
714
774
 
715
775
  class AssumeRoleV1(ConfiguredBaseModel):
@@ -726,6 +786,7 @@ class NamespaceTerraformResourceRoleV1(NamespaceTerraformResourceAWSV1):
726
786
  inline_policy: Optional[str] = Field(..., alias="inline_policy")
727
787
  output_resource_name: Optional[str] = Field(..., alias="output_resource_name")
728
788
  annotations: Optional[str] = Field(..., alias="annotations")
789
+ tags: Optional[str] = Field(..., alias="tags")
729
790
  managed_by_erv2: Optional[bool] = Field(..., alias="managed_by_erv2")
730
791
  max_session_duration: Optional[int] = Field(..., alias="max_session_duration")
731
792
 
@@ -745,6 +806,7 @@ class NamespaceTerraformResourceSQSV1(NamespaceTerraformResourceAWSV1):
745
806
  identifier: str = Field(..., alias="identifier")
746
807
  output_resource_name: Optional[str] = Field(..., alias="output_resource_name")
747
808
  annotations: Optional[str] = Field(..., alias="annotations")
809
+ tags: Optional[str] = Field(..., alias="tags")
748
810
  specs: list[SQSQueuesSpecsV1] = Field(..., alias="specs")
749
811
 
750
812
 
@@ -761,6 +823,7 @@ class NamespaceTerraformResourceSNSTopicV1(NamespaceTerraformResourceAWSV1):
761
823
  fifo_topic: Optional[bool] = Field(..., alias="fifo_topic")
762
824
  inline_policy: Optional[str] = Field(..., alias="inline_policy")
763
825
  annotations: Optional[str] = Field(..., alias="annotations")
826
+ tags: Optional[str] = Field(..., alias="tags")
764
827
  subscriptions: Optional[list[NamespaceTerraformResourceSNSSubscriptionV1]] = Field(..., alias="subscriptions")
765
828
 
766
829
 
@@ -779,6 +842,7 @@ class NamespaceTerraformResourceDynamoDBV1(NamespaceTerraformResourceAWSV1):
779
842
  identifier: str = Field(..., alias="identifier")
780
843
  output_resource_name: Optional[str] = Field(..., alias="output_resource_name")
781
844
  annotations: Optional[str] = Field(..., alias="annotations")
845
+ tags: Optional[str] = Field(..., alias="tags")
782
846
  specs: list[DynamoDBTableSpecsV1] = Field(..., alias="specs")
783
847
 
784
848
 
@@ -788,6 +852,7 @@ class NamespaceTerraformResourceECRV1(NamespaceTerraformResourceAWSV1):
788
852
  output_resource_name: Optional[str] = Field(..., alias="output_resource_name")
789
853
  public: Optional[bool] = Field(..., alias="public")
790
854
  annotations: Optional[str] = Field(..., alias="annotations")
855
+ tags: Optional[str] = Field(..., alias="tags")
791
856
 
792
857
 
793
858
  class NamespaceTerraformResourceS3CloudFrontV1(NamespaceTerraformResourceAWSV1):
@@ -797,6 +862,7 @@ class NamespaceTerraformResourceS3CloudFrontV1(NamespaceTerraformResourceAWSV1):
797
862
  output_resource_name: Optional[str] = Field(..., alias="output_resource_name")
798
863
  storage_class: Optional[str] = Field(..., alias="storage_class")
799
864
  annotations: Optional[str] = Field(..., alias="annotations")
865
+ tags: Optional[str] = Field(..., alias="tags")
800
866
 
801
867
 
802
868
  class NamespaceTerraformResourceS3SQSV1(NamespaceTerraformResourceAWSV1):
@@ -807,6 +873,7 @@ class NamespaceTerraformResourceS3SQSV1(NamespaceTerraformResourceAWSV1):
807
873
  output_resource_name: Optional[str] = Field(..., alias="output_resource_name")
808
874
  storage_class: Optional[str] = Field(..., alias="storage_class")
809
875
  annotations: Optional[str] = Field(..., alias="annotations")
876
+ tags: Optional[str] = Field(..., alias="tags")
810
877
 
811
878
 
812
879
  class NamespaceTerraformResourceCloudWatchV1(NamespaceTerraformResourceAWSV1):
@@ -820,6 +887,7 @@ class NamespaceTerraformResourceCloudWatchV1(NamespaceTerraformResourceAWSV1):
820
887
  module_overrides: Optional[ExternalResourcesModuleOverrides] = Field(..., alias="module_overrides")
821
888
  output_resource_name: Optional[str] = Field(..., alias="output_resource_name")
822
889
  annotations: Optional[str] = Field(..., alias="annotations")
890
+ tags: Optional[str] = Field(..., alias="tags")
823
891
 
824
892
 
825
893
  class NamespaceTerraformResourceKMSV1(NamespaceTerraformResourceAWSV1):
@@ -829,6 +897,7 @@ class NamespaceTerraformResourceKMSV1(NamespaceTerraformResourceAWSV1):
829
897
  overrides: Optional[str] = Field(..., alias="overrides")
830
898
  output_resource_name: Optional[str] = Field(..., alias="output_resource_name")
831
899
  annotations: Optional[str] = Field(..., alias="annotations")
900
+ tags: Optional[str] = Field(..., alias="tags")
832
901
  managed_by_erv2: Optional[bool] = Field(..., alias="managed_by_erv2")
833
902
  delete: Optional[bool] = Field(..., alias="delete")
834
903
  module_overrides: Optional[ExternalResourcesModuleOverrides] = Field(..., alias="module_overrides")
@@ -840,6 +909,7 @@ class NamespaceTerraformResourceElasticSearchV1(NamespaceTerraformResourceAWSV1)
840
909
  defaults: str = Field(..., alias="defaults")
841
910
  output_resource_name: Optional[str] = Field(..., alias="output_resource_name")
842
911
  annotations: Optional[str] = Field(..., alias="annotations")
912
+ tags: Optional[str] = Field(..., alias="tags")
843
913
  publish_log_types: Optional[list[str]] = Field(..., alias="publish_log_types")
844
914
 
845
915
 
@@ -855,6 +925,7 @@ class NamespaceTerraformResourceACMV1(NamespaceTerraformResourceAWSV1):
855
925
  domain: Optional[ACMDomainV1] = Field(..., alias="domain")
856
926
  output_resource_name: Optional[str] = Field(..., alias="output_resource_name")
857
927
  annotations: Optional[str] = Field(..., alias="annotations")
928
+ tags: Optional[str] = Field(..., alias="tags")
858
929
 
859
930
 
860
931
  class NamespaceTerraformResourceKinesisV1(NamespaceTerraformResourceAWSV1):
@@ -864,6 +935,7 @@ class NamespaceTerraformResourceKinesisV1(NamespaceTerraformResourceAWSV1):
864
935
  es_identifier: Optional[str] = Field(..., alias="es_identifier")
865
936
  output_resource_name: Optional[str] = Field(..., alias="output_resource_name")
866
937
  annotations: Optional[str] = Field(..., alias="annotations")
938
+ tags: Optional[str] = Field(..., alias="tags")
867
939
 
868
940
 
869
941
  class NamespaceTerraformResourceS3CloudFrontPublicKeyV1(NamespaceTerraformResourceAWSV1):
@@ -872,6 +944,7 @@ class NamespaceTerraformResourceS3CloudFrontPublicKeyV1(NamespaceTerraformResour
872
944
  secret: Optional[VaultSecret] = Field(..., alias="secret")
873
945
  output_resource_name: Optional[str] = Field(..., alias="output_resource_name")
874
946
  annotations: Optional[str] = Field(..., alias="annotations")
947
+ tags: Optional[str] = Field(..., alias="tags")
875
948
 
876
949
 
877
950
  class NamespaceTerraformResourceALBTargetsV1(ConfiguredBaseModel):
@@ -949,6 +1022,7 @@ class NamespaceTerraformResourceALBV1(NamespaceTerraformResourceAWSV1):
949
1022
  rules: list[NamespaceTerraformResourceALBRulesV1] = Field(..., alias="rules")
950
1023
  output_resource_name: Optional[str] = Field(..., alias="output_resource_name")
951
1024
  annotations: Optional[str] = Field(..., alias="annotations")
1025
+ tags: Optional[str] = Field(..., alias="tags")
952
1026
 
953
1027
 
954
1028
  class NamespaceTerraformResourceSecretsManagerV1(NamespaceTerraformResourceAWSV1):
@@ -957,6 +1031,7 @@ class NamespaceTerraformResourceSecretsManagerV1(NamespaceTerraformResourceAWSV1
957
1031
  secret: Optional[VaultSecret] = Field(..., alias="secret")
958
1032
  output_resource_name: Optional[str] = Field(..., alias="output_resource_name")
959
1033
  annotations: Optional[str] = Field(..., alias="annotations")
1034
+ tags: Optional[str] = Field(..., alias="tags")
960
1035
 
961
1036
 
962
1037
  class CloudinitConfigV1(ConfiguredBaseModel):
@@ -1002,6 +1077,7 @@ class NamespaceTerraformResourceASGV1(NamespaceTerraformResourceAWSV1):
1002
1077
  image: list[Union[ASGImageGitV1, ASGImageStaticV1, ASGImageV1]] = Field(..., alias="image")
1003
1078
  output_resource_name: Optional[str] = Field(..., alias="output_resource_name")
1004
1079
  annotations: Optional[str] = Field(..., alias="annotations")
1080
+ tags: Optional[str] = Field(..., alias="tags")
1005
1081
 
1006
1082
 
1007
1083
  class DnsRecordAliasV1(ConfiguredBaseModel):
@@ -1037,6 +1113,7 @@ class NamespaceTerraformResourceRoute53ZoneV1(NamespaceTerraformResourceAWSV1):
1037
1113
  name: str = Field(..., alias="name")
1038
1114
  output_resource_name: Optional[str] = Field(..., alias="output_resource_name")
1039
1115
  annotations: Optional[str] = Field(..., alias="annotations")
1116
+ tags: Optional[str] = Field(..., alias="tags")
1040
1117
  records: Optional[list[DnsRecordV1]] = Field(..., alias="records")
1041
1118
 
1042
1119
 
@@ -1052,6 +1129,7 @@ class NamespaceTerraformResourceRosaAuthenticatorV1(NamespaceTerraformResourceAW
1052
1129
  insights_callback_urls: Optional[list[str]] = Field(..., alias="insights_callback_urls")
1053
1130
  output_resource_name: Optional[str] = Field(..., alias="output_resource_name")
1054
1131
  annotations: Optional[str] = Field(..., alias="annotations")
1132
+ tags: Optional[str] = Field(..., alias="tags")
1055
1133
  vpc_id: str = Field(..., alias="vpc_id")
1056
1134
  subnet_ids: list[str] = Field(..., alias="subnet_ids")
1057
1135
  vpce_id: Optional[str] = Field(..., alias="vpce_id")
@@ -1065,6 +1143,7 @@ class NamespaceTerraformResourceRosaAuthenticatorVPCEV1(NamespaceTerraformResour
1065
1143
  vpc_id: str = Field(..., alias="vpc_id")
1066
1144
  output_resource_name: Optional[str] = Field(..., alias="output_resource_name")
1067
1145
  annotations: Optional[str] = Field(..., alias="annotations")
1146
+ tags: Optional[str] = Field(..., alias="tags")
1068
1147
  defaults: str = Field(..., alias="defaults")
1069
1148
 
1070
1149
 
@@ -1079,6 +1158,7 @@ class NamespaceTerraformResourceMskV1(NamespaceTerraformResourceAWSV1):
1079
1158
  output_resource_name: Optional[str] = Field(..., alias="output_resource_name")
1080
1159
  defaults: str = Field(..., alias="defaults")
1081
1160
  annotations: Optional[str] = Field(..., alias="annotations")
1161
+ tags: Optional[str] = Field(..., alias="tags")
1082
1162
  users: Optional[list[MskSecretParametersV1]] = Field(..., alias="users")
1083
1163
  managed_by_erv2: Optional[bool] = Field(..., alias="managed_by_erv2")
1084
1164
  delete: Optional[bool] = Field(..., alias="delete")
@@ -1087,17 +1167,20 @@ class NamespaceTerraformResourceMskV1(NamespaceTerraformResourceAWSV1):
1087
1167
 
1088
1168
  class NamespaceTerraformProviderResourceAWSV1(NamespaceExternalResourceV1):
1089
1169
  provisioner: AWSAccountV1 = Field(..., alias="provisioner")
1090
- resources: list[Union[NamespaceTerraformResourceRDSV1, NamespaceTerraformResourceRosaAuthenticatorV1, NamespaceTerraformResourceALBV1, NamespaceTerraformResourceS3V1, NamespaceTerraformResourceElastiCacheV1, NamespaceTerraformResourceCloudWatchV1, NamespaceTerraformResourceASGV1, NamespaceTerraformResourceRoleV1, NamespaceTerraformResourceKMSV1, NamespaceTerraformResourceMskV1, NamespaceTerraformResourceSNSTopicV1, NamespaceTerraformResourceServiceAccountV1, NamespaceTerraformResourceS3SQSV1, NamespaceTerraformResourceRosaAuthenticatorVPCEV1, NamespaceTerraformResourceS3CloudFrontV1, NamespaceTerraformResourceElasticSearchV1, NamespaceTerraformResourceACMV1, NamespaceTerraformResourceKinesisV1, NamespaceTerraformResourceRoute53ZoneV1, NamespaceTerraformResourceSQSV1, NamespaceTerraformResourceDynamoDBV1, NamespaceTerraformResourceECRV1, NamespaceTerraformResourceS3CloudFrontPublicKeyV1, NamespaceTerraformResourceSecretsManagerV1, NamespaceTerraformResourceSecretsManagerServiceAccountV1, NamespaceTerraformResourceAWSV1]] = Field(..., alias="resources")
1170
+ resources: list[Union[NamespaceTerraformResourceRDSV1, NamespaceTerraformResourceRosaAuthenticatorV1, NamespaceTerraformResourceALBV1, NamespaceTerraformResourceS3V1, NamespaceTerraformResourceElastiCacheV1, NamespaceTerraformResourceCloudWatchV1, NamespaceTerraformResourceASGV1, NamespaceTerraformResourceRDSProxyV1, NamespaceTerraformResourceRoleV1, NamespaceTerraformResourceKMSV1, NamespaceTerraformResourceMskV1, NamespaceTerraformResourceSNSTopicV1, NamespaceTerraformResourceServiceAccountV1, NamespaceTerraformResourceS3SQSV1, NamespaceTerraformResourceRosaAuthenticatorVPCEV1, NamespaceTerraformResourceS3CloudFrontV1, NamespaceTerraformResourceElasticSearchV1, NamespaceTerraformResourceACMV1, NamespaceTerraformResourceKinesisV1, NamespaceTerraformResourceRoute53ZoneV1, NamespaceTerraformResourceSQSV1, NamespaceTerraformResourceDynamoDBV1, NamespaceTerraformResourceECRV1, NamespaceTerraformResourceS3CloudFrontPublicKeyV1, NamespaceTerraformResourceSecretsManagerV1, NamespaceTerraformResourceSecretsManagerServiceAccountV1, NamespaceTerraformResourceAWSV1]] = Field(..., alias="resources")
1091
1171
 
1092
1172
 
1093
1173
  class EnvironmentV1(ConfiguredBaseModel):
1094
1174
  name: str = Field(..., alias="name")
1095
1175
  labels: str = Field(..., alias="labels")
1176
+ service_phase: str = Field(..., alias="servicePhase")
1096
1177
 
1097
1178
 
1098
1179
  class AppV1(ConfiguredBaseModel):
1099
1180
  path: str = Field(..., alias="path")
1100
1181
  name: str = Field(..., alias="name")
1182
+ app_code: str = Field(..., alias="appCode")
1183
+ cost_center: str = Field(..., alias="costCenter")
1101
1184
 
1102
1185
 
1103
1186
  class ClusterSpecV1(ConfiguredBaseModel):
@@ -54,6 +54,7 @@ query ExternalResourcesSettings {
54
54
  module_default_resources {
55
55
  ...DeployResourcesFields
56
56
  }
57
+ default_tags
57
58
  }
58
59
  }
59
60
  """
@@ -90,6 +91,7 @@ class ExternalResourcesSettingsV1(ConfiguredBaseModel):
90
91
  outputs_secret_image: str = Field(..., alias="outputs_secret_image")
91
92
  outputs_secret_version: str = Field(..., alias="outputs_secret_version")
92
93
  module_default_resources: DeployResourcesFields = Field(..., alias="module_default_resources")
94
+ default_tags: Json = Field(..., alias="default_tags")
93
95
 
94
96
 
95
97
  class ExternalResourcesSettingsQueryData(ConfiguredBaseModel):
@@ -17,6 +17,7 @@ from pydantic import ( # noqa: F401 # pylint: disable=W0611
17
17
  Json,
18
18
  )
19
19
 
20
+ from reconcile.gql_definitions.fragments.aws_organization import AWSOrganization
20
21
  from reconcile.gql_definitions.fragments.vault_secret import VaultSecret
21
22
 
22
23
 
@@ -59,3 +60,4 @@ class AWSAccountCommon(ConfiguredBaseModel):
59
60
  delete_keys: Optional[list[str]] = Field(..., alias="deleteKeys")
60
61
  premium_support: bool = Field(..., alias="premiumSupport")
61
62
  partition: Optional[str] = Field(..., alias="partition")
63
+ organization: Optional[AWSOrganization] = Field(..., alias="organization")
@@ -0,0 +1,33 @@
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
+
21
+ class ConfiguredBaseModel(BaseModel):
22
+ class Config:
23
+ smart_union=True
24
+ extra=Extra.forbid
25
+
26
+
27
+ class AWSAccountV1(ConfiguredBaseModel):
28
+ organization_account_tags: Optional[Json] = Field(..., alias="organizationAccountTags")
29
+
30
+
31
+ class AWSOrganization(ConfiguredBaseModel):
32
+ payer_account: AWSAccountV1 = Field(..., alias="payerAccount")
33
+ tags: Json = Field(..., alias="tags")
@@ -17,6 +17,7 @@ from pydantic import ( # noqa: F401 # pylint: disable=W0611
17
17
  Json,
18
18
  )
19
19
 
20
+ from reconcile.gql_definitions.fragments.aws_organization import AWSOrganization
20
21
  from reconcile.gql_definitions.fragments.terraform_state import TerraformState
21
22
  from reconcile.gql_definitions.fragments.vault_secret import VaultSecret
22
23
 
@@ -44,6 +45,7 @@ class AWSAccountV1(ConfiguredBaseModel):
44
45
  terraform_state: Optional[TerraformState] = Field(..., alias="terraformState")
45
46
  enable_deletion: Optional[bool] = Field(..., alias="enableDeletion")
46
47
  deletion_approvals: Optional[list[DeletionApprovalV1]] = Field(..., alias="deletionApprovals")
48
+ organization: Optional[AWSOrganization] = Field(..., alias="organization")
47
49
 
48
50
 
49
51
  class NetworkV1(ConfiguredBaseModel):