qontract-reconcile 0.10.2.dev113__py3-none-any.whl → 0.10.2.dev115__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: qontract-reconcile
3
- Version: 0.10.2.dev113
3
+ Version: 0.10.2.dev115
4
4
  Summary: Collection of tools to reconcile services with their desired state as defined in the app-interface DB.
5
5
  Project-URL: homepage, https://github.com/app-sre/qontract-reconcile
6
6
  Project-URL: repository, https://github.com/app-sre/qontract-reconcile
@@ -144,7 +144,7 @@ reconcile/automated_actions/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQe
144
144
  reconcile/automated_actions/config/integration.py,sha256=cf1VxolcjlGP-xO7IIH5A00Qr4znNJTT7a_sU18ABig,10755
145
145
  reconcile/aws_account_manager/README.md,sha256=_XFM3GZNHUzv--e_navqJuaUWpjC6QrHfulreHynFf0,262
146
146
  reconcile/aws_account_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
147
- reconcile/aws_account_manager/integration.py,sha256=WOE_mi45pvJW4TNKh4mCGSViJiElH--T4Wg0CLMYxpY,14988
147
+ reconcile/aws_account_manager/integration.py,sha256=v-l4fdWTgX_vSYiBKAfDvT_g0_ZKNPDQnDKUyhrSzIs,15143
148
148
  reconcile/aws_account_manager/merge_request_manager.py,sha256=q8t-YwD4y_4UpxdoG9TQrEbDpjlzasOQIynFoCjP2OE,3947
149
149
  reconcile/aws_account_manager/metrics.py,sha256=YB10ea4kIGwJfs5N14RF-RoXPb-QQWaDBz1jLZ3YWE0,917
150
150
  reconcile/aws_account_manager/reconciler.py,sha256=8mwwcWVVNoUzmttzxgnLyePqN823v1t_dQCNCrx1mG0,15035
@@ -227,7 +227,7 @@ reconcile/glitchtip_project_alerts/integration.py,sha256=BgMx-NyV9mTuv7Sotb2OioC
227
227
  reconcile/glitchtip_project_dsn/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
228
228
  reconcile/glitchtip_project_dsn/integration.py,sha256=2iugub-kHYkHNK33n0v9_TeWonuxCPah_VkoTPvaajE,8077
229
229
  reconcile/gql_definitions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
230
- reconcile/gql_definitions/introspection.json,sha256=a8ZQ44bbv2CYbpxq63auErFnpDKmnzIpjhmt3FoGX2I,2280534
230
+ reconcile/gql_definitions/introspection.json,sha256=_jq9M-0AjHkgGDguglV1mi29Ajk7yfpSKh28LOouPb4,2281058
231
231
  reconcile/gql_definitions/acs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
232
232
  reconcile/gql_definitions/acs/acs_instances.py,sha256=L91WW9LbhJbBSrECqShQpFtjoBOsmNIYLRpMbx1io5o,2181
233
233
  reconcile/gql_definitions/acs/acs_policies.py,sha256=bN5i4mks10Z23KJSj7jqp966Osq2dps4d-sPH9gjxEA,7008
@@ -243,7 +243,7 @@ reconcile/gql_definitions/app_sre_tekton_access_revalidation/users.py,sha256=XdV
243
243
  reconcile/gql_definitions/automated_actions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
244
244
  reconcile/gql_definitions/automated_actions/instance.py,sha256=D50v0exLeK5hvjQKvxQ5V-6DnYZo_L6cX_Gaf3PGREs,5491
245
245
  reconcile/gql_definitions/aws_account_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
246
- reconcile/gql_definitions/aws_account_manager/aws_accounts.py,sha256=ITfT4nkGw0BBpjU3oXoBwW1NtEweCFhkdrN5zDkGmfs,4999
246
+ reconcile/gql_definitions/aws_account_manager/aws_accounts.py,sha256=YnS_CDwKMNCxE5ySaKC_72pG9_WmW3nz8ZyyCzX1yV4,5119
247
247
  reconcile/gql_definitions/aws_ami_cleanup/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
248
248
  reconcile/gql_definitions/aws_ami_cleanup/aws_accounts.py,sha256=jIgOa888MYLLvVsn1ir3nbkhWLG5T6dBg7oDnp1q8BI,4108
249
249
  reconcile/gql_definitions/aws_saml_idp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -769,7 +769,7 @@ tools/sd_app_sre_alert_report.py,sha256=jQpJdXVID68bSNtJNOGDh0-ei1CfEUS4Itr4MAaB
769
769
  tools/template_validation.py,sha256=qpKYaTgk0GOPGa2Ct5_5sKdwIHtCAKIBGzsMPuJU5fw,3371
770
770
  tools/cli_commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
771
771
  tools/cli_commands/container_images_report.py,sha256=SXh6sZ1dXXzd-2R5eeBufCtW3J4-Y55--0MZLdo4lr8,5409
772
- tools/cli_commands/erv2.py,sha256=VxUlNXllo947UwmtvS-42IeI9x_t_X3MHrrSI3K_GRo,23274
772
+ tools/cli_commands/erv2.py,sha256=qojYCTope8ao-NBQVITs5Kd4mJBjRLNZwfvrV-Eov9w,23770
773
773
  tools/cli_commands/gpg_encrypt.py,sha256=JWwds_Qg7KhSJMIGUh8TfI5-Jf17iUtmaEi4kWJxfVE,4907
774
774
  tools/cli_commands/systems_and_tools.py,sha256=EMHOF1AtUDaoSk0bbjl6oUKYAz4rTZjIBaF-6E6GspM,16816
775
775
  tools/cli_commands/cost_report/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -791,7 +791,7 @@ tools/saas_promotion_state/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJ
791
791
  tools/saas_promotion_state/saas_promotion_state.py,sha256=UfwwRLS5Ya4_Nh1w5n1dvoYtchQvYE9yj1VANt2IKqI,3925
792
792
  tools/sre_checkpoints/__init__.py,sha256=CDaDaywJnmRCLyl_NCcvxi-Zc0hTi_3OdwKiFOyS39I,145
793
793
  tools/sre_checkpoints/util.py,sha256=zEDbGr18ZeHNQwW8pUsr2JRjuXIPz--WAGJxZo9sv_Y,894
794
- qontract_reconcile-0.10.2.dev113.dist-info/METADATA,sha256=1C-m50EQHQv6A3pL8UsxfNmDCQLCfiktS9YVq-MIWTg,24566
795
- qontract_reconcile-0.10.2.dev113.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
796
- qontract_reconcile-0.10.2.dev113.dist-info/entry_points.txt,sha256=5i9l54La3vQrDLAdwDKQWC0iG4sV9RRfOb1BpvzOWLc,698
797
- qontract_reconcile-0.10.2.dev113.dist-info/RECORD,,
794
+ qontract_reconcile-0.10.2.dev115.dist-info/METADATA,sha256=YKV1Wo4fbur-7QWCeOLn4XS55-_TQDaI8Czl697u84c,24566
795
+ qontract_reconcile-0.10.2.dev115.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
796
+ qontract_reconcile-0.10.2.dev115.dist-info/entry_points.txt,sha256=5i9l54La3vQrDLAdwDKQWC0iG4sV9RRfOb1BpvzOWLc,698
797
+ qontract_reconcile-0.10.2.dev115.dist-info/RECORD,,
@@ -195,6 +195,7 @@ class AwsAccountMgmtIntegration(
195
195
  aws_api: AWSApi,
196
196
  reconciler: AWSReconciler,
197
197
  organization_accounts: Iterable[AWSAccountManaged],
198
+ default_tags: dict[str, str],
198
199
  ) -> None:
199
200
  """Reconcile organization accounts."""
200
201
  for account in organization_accounts:
@@ -204,7 +205,7 @@ class AwsAccountMgmtIntegration(
204
205
  name=account.name,
205
206
  uid=account.uid,
206
207
  ou=account.organization.ou,
207
- tags=self.params.default_tags
208
+ tags=default_tags
208
209
  | account.organization.tags
209
210
  | {"app-interface-name": account.name},
210
211
  enterprise_support=account.premium_support,
@@ -276,6 +277,8 @@ class AwsAccountMgmtIntegration(
276
277
  acct_manager_role_aws_api,
277
278
  reconciler,
278
279
  payer_account.organization_accounts or [],
280
+ default_tags=self.params.default_tags
281
+ | (payer_account.organization_account_tags or {}),
279
282
  )
280
283
 
281
284
  def reconcile_non_organization_accounts(
@@ -95,6 +95,7 @@ query AWSAccountManagerAccounts {
95
95
  organization_accounts {
96
96
  ... AWSAccountManaged
97
97
  }
98
+ organizationAccountTags
98
99
  }
99
100
  }
100
101
  """
@@ -154,6 +155,7 @@ class AWSAccountV1(AWSAccountManaged):
154
155
  automation_role: Optional[AWSAutomationRoleV1] = Field(..., alias="automationRole")
155
156
  account_requests: Optional[list[AWSAccountRequestV1]] = Field(..., alias="account_requests")
156
157
  organization_accounts: Optional[list[AWSAccountManaged]] = Field(..., alias="organization_accounts")
158
+ organization_account_tags: Optional[Json] = Field(..., alias="organizationAccountTags")
157
159
 
158
160
 
159
161
  class AWSAccountManagerAccountsQueryData(ConfiguredBaseModel):
@@ -10408,6 +10408,18 @@
10408
10408
  "isDeprecated": false,
10409
10409
  "deprecationReason": null
10410
10410
  },
10411
+ {
10412
+ "name": "organizationAccountTags",
10413
+ "description": null,
10414
+ "args": [],
10415
+ "type": {
10416
+ "kind": "SCALAR",
10417
+ "name": "JSON",
10418
+ "ofType": null
10419
+ },
10420
+ "isDeprecated": false,
10421
+ "deprecationReason": null
10422
+ },
10411
10423
  {
10412
10424
  "name": "account_requests",
10413
10425
  "description": null,
@@ -266,6 +266,12 @@ class Erv2Cli:
266
266
  [
267
267
  "docker",
268
268
  "run",
269
+ "-e",
270
+ "TERRAFORM_MODULE_WORK_DIR=/tmp/migration",
271
+ "-e",
272
+ "BACKEND_TF_FILE=/tmp/migration/backend.tf",
273
+ "-e",
274
+ "TF_VARS_FILE=/tmp/migration/terraform.tfvars.json",
269
275
  "--name",
270
276
  "erv2-unlock",
271
277
  "--rm",
@@ -279,7 +285,11 @@ class Erv2Cli:
279
285
  "/bin/bash",
280
286
  self.image,
281
287
  "-c",
282
- f"cdktf synth && cd cdktf.out/stacks/CDKTF/ && terraform init && terraform force-unlock -force '{lock_id}'",
288
+ "mkdir -p $TERRAFORM_MODULE_WORK_DIR;"
289
+ "cp -rf module/* $TERRAFORM_MODULE_WORK_DIR;"
290
+ "generate-tf-config && "
291
+ "terraform -chdir=$TERRAFORM_MODULE_WORK_DIR init && "
292
+ f"terraform -chdir=$TERRAFORM_MODULE_WORK_DIR force-unlock -force '{lock_id}'",
283
293
  ],
284
294
  check=True,
285
295
  )