dbt-platform-helper 12.5.0__py3-none-any.whl → 12.5.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of dbt-platform-helper might be problematic. Click here for more details.

Files changed (28) hide show
  1. dbt_platform_helper/COMMANDS.md +1 -3
  2. dbt_platform_helper/commands/copilot.py +4 -2
  3. dbt_platform_helper/commands/environment.py +15 -13
  4. dbt_platform_helper/commands/pipeline.py +8 -170
  5. dbt_platform_helper/constants.py +1 -0
  6. dbt_platform_helper/domain/codebase.py +8 -4
  7. dbt_platform_helper/domain/copilot_environment.py +3 -3
  8. dbt_platform_helper/domain/database_copy.py +9 -7
  9. dbt_platform_helper/domain/maintenance_page.py +44 -20
  10. dbt_platform_helper/domain/pipelines.py +213 -0
  11. dbt_platform_helper/domain/terraform_environment.py +68 -35
  12. dbt_platform_helper/domain/test_platform_terraform_manifest_generator.py +100 -0
  13. dbt_platform_helper/providers/cache.py +1 -2
  14. dbt_platform_helper/providers/config.py +12 -2
  15. dbt_platform_helper/providers/copilot.py +2 -0
  16. dbt_platform_helper/providers/files.py +26 -0
  17. dbt_platform_helper/providers/vpc.py +57 -0
  18. dbt_platform_helper/providers/yaml_file.py +3 -14
  19. dbt_platform_helper/utils/application.py +32 -34
  20. dbt_platform_helper/utils/aws.py +0 -50
  21. dbt_platform_helper/utils/files.py +8 -23
  22. dbt_platform_helper/utils/platform_config.py +0 -7
  23. dbt_platform_helper/utils/versioning.py +12 -0
  24. {dbt_platform_helper-12.5.0.dist-info → dbt_platform_helper-12.5.1.dist-info}/METADATA +1 -1
  25. {dbt_platform_helper-12.5.0.dist-info → dbt_platform_helper-12.5.1.dist-info}/RECORD +28 -24
  26. {dbt_platform_helper-12.5.0.dist-info → dbt_platform_helper-12.5.1.dist-info}/WHEEL +1 -1
  27. {dbt_platform_helper-12.5.0.dist-info → dbt_platform_helper-12.5.1.dist-info}/LICENSE +0 -0
  28. {dbt_platform_helper-12.5.0.dist-info → dbt_platform_helper-12.5.1.dist-info}/entry_points.txt +0 -0
@@ -1,31 +1,28 @@
1
1
  import json
2
2
  import os
3
3
  import re
4
+ from dataclasses import dataclass
5
+ from dataclasses import field
4
6
  from pathlib import Path
5
7
  from typing import Dict
6
8
 
7
9
  import boto3
8
- import yaml
9
- from boto3 import Session
10
- from yaml.parser import ParserError
11
10
 
11
+ from dbt_platform_helper.constants import PLATFORM_CONFIG_FILE
12
12
  from dbt_platform_helper.platform_exception import PlatformException
13
13
  from dbt_platform_helper.utils.aws import get_aws_session_or_abort
14
14
  from dbt_platform_helper.utils.aws import get_profile_name_from_account_id
15
15
  from dbt_platform_helper.utils.aws import get_ssm_secrets
16
16
  from dbt_platform_helper.utils.messages import abort_with_error
17
+ from dbt_platform_helper.utils.platform_config import load_unvalidated_config_file
17
18
 
18
19
 
20
+ @dataclass
19
21
  class Environment:
20
22
  name: str
21
23
  account_id: str
22
24
  sessions: Dict[str, boto3.Session]
23
25
 
24
- def __init__(self, name: str, account_id: str, sessions: Dict[str, boto3.Session]):
25
- self.name = name
26
- self.account_id = account_id
27
- self.sessions = sessions
28
-
29
26
  @property
30
27
  def session(self):
31
28
  if self.account_id not in self.sessions:
@@ -36,24 +33,17 @@ class Environment:
36
33
  return self.sessions[self.account_id]
37
34
 
38
35
 
36
+ @dataclass
39
37
  class Service:
40
38
  name: str
41
39
  kind: str
42
40
 
43
- def __init__(self, name: str, kind: str):
44
- self.name = name
45
- self.kind = kind
46
-
47
41
 
42
+ @dataclass
48
43
  class Application:
49
44
  name: str
50
- environments: Dict[str, Environment]
51
- services: Dict[str, Service]
52
-
53
- def __init__(self, name: str):
54
- self.name = name
55
- self.environments = {}
56
- self.services = {}
45
+ environments: Dict[str, Environment] = field(default_factory=dict)
46
+ services: Dict[str, Service] = field(default_factory=dict)
57
47
 
58
48
  def __str__(self):
59
49
  output = f"Application {self.name} with"
@@ -69,7 +59,7 @@ class Application:
69
59
  return str(self) == str(other)
70
60
 
71
61
 
72
- def load_application(app: str = None, default_session: Session = None) -> Application:
62
+ def load_application(app=None, default_session=None) -> Application:
73
63
  application = Application(app if app else get_application_name())
74
64
  current_session = default_session if default_session else get_aws_session_or_abort()
75
65
 
@@ -81,7 +71,7 @@ def load_application(app: str = None, default_session: Session = None) -> Applic
81
71
  WithDecryption=False,
82
72
  )
83
73
  except ssm_client.exceptions.ParameterNotFound:
84
- raise ApplicationNotFoundException(app)
74
+ raise ApplicationNotFoundException(application.name)
85
75
 
86
76
  path = f"/copilot/applications/{application.name}/environments"
87
77
  secrets = get_ssm_secrets(app, None, current_session, path)
@@ -115,27 +105,35 @@ def load_application(app: str = None, default_session: Session = None) -> Applic
115
105
  Recursive=False,
116
106
  WithDecryption=False,
117
107
  )
108
+ results = response["Parameters"]
109
+ while "NextToken" in response:
110
+ response = ssm_client.get_parameters_by_path(
111
+ Path=f"/copilot/applications/{application.name}/components",
112
+ Recursive=False,
113
+ WithDecryption=False,
114
+ NextToken=response["NextToken"],
115
+ )
116
+ results.extend(response["Parameters"])
118
117
 
119
118
  application.services = {
120
119
  svc["name"]: Service(svc["name"], svc["type"])
121
- for svc in [json.loads(parameter["Value"]) for parameter in response["Parameters"]]
120
+ for svc in [json.loads(parameter["Value"]) for parameter in results]
122
121
  }
123
122
 
124
123
  return application
125
124
 
126
125
 
127
- def get_application_name():
128
- app_name = None
129
- try:
130
- app_config = yaml.safe_load(Path("copilot/.workspace").read_text())
131
- app_name = app_config["application"]
132
- except (FileNotFoundError, ParserError):
133
- pass
134
-
135
- if app_name is None:
136
- abort_with_error("Cannot get application name. No copilot/.workspace file found")
137
-
138
- return app_name
126
+ def get_application_name(abort=abort_with_error):
127
+ if Path(PLATFORM_CONFIG_FILE).exists():
128
+ try:
129
+ app_config = load_unvalidated_config_file()
130
+ return app_config["application"]
131
+ except KeyError:
132
+ abort(
133
+ f"Cannot get application name. No 'application' key can be found in {PLATFORM_CONFIG_FILE}"
134
+ )
135
+ else:
136
+ abort(f"Cannot get application name. {PLATFORM_CONFIG_FILE} is missing.")
139
137
 
140
138
 
141
139
  class ApplicationException(PlatformException):
@@ -15,7 +15,6 @@ from boto3 import Session
15
15
 
16
16
  from dbt_platform_helper.constants import REFRESH_TOKEN_MESSAGE
17
17
  from dbt_platform_helper.platform_exception import PlatformException
18
- from dbt_platform_helper.providers.aws import AWSException
19
18
  from dbt_platform_helper.providers.aws import CopilotCodebaseNotFoundException
20
19
  from dbt_platform_helper.providers.aws import ImageNotFoundException
21
20
  from dbt_platform_helper.providers.aws import LogGroupNotFoundException
@@ -377,55 +376,6 @@ def get_connection_string(
377
376
  return f"postgres://{conn['username']}:{conn['password']}@{conn['host']}:{conn['port']}/{conn['dbname']}"
378
377
 
379
378
 
380
- class Vpc:
381
- def __init__(self, subnets: list[str], security_groups: list[str]):
382
- self.subnets = subnets
383
- self.security_groups = security_groups
384
-
385
-
386
- def get_vpc_info_by_name(session: Session, app: str, env: str, vpc_name: str) -> Vpc:
387
- ec2_client = session.client("ec2")
388
- vpc_response = ec2_client.describe_vpcs(Filters=[{"Name": "tag:Name", "Values": [vpc_name]}])
389
-
390
- matching_vpcs = vpc_response.get("Vpcs", [])
391
-
392
- if not matching_vpcs:
393
- raise AWSException(f"VPC not found for name '{vpc_name}'")
394
-
395
- vpc_id = vpc_response["Vpcs"][0].get("VpcId")
396
-
397
- if not vpc_id:
398
- raise AWSException(f"VPC id not present in vpc '{vpc_name}'")
399
-
400
- ec2_resource = session.resource("ec2")
401
- vpc = ec2_resource.Vpc(vpc_id)
402
-
403
- route_tables = ec2_client.describe_route_tables(
404
- Filters=[{"Name": "vpc-id", "Values": [vpc_id]}]
405
- )["RouteTables"]
406
-
407
- subnets = []
408
- for route_table in route_tables:
409
- private_routes = [route for route in route_table["Routes"] if "NatGatewayId" in route]
410
- if not private_routes:
411
- continue
412
- for association in route_table["Associations"]:
413
- if "SubnetId" in association:
414
- subnet_id = association["SubnetId"]
415
- subnets.append(subnet_id)
416
-
417
- if not subnets:
418
- raise AWSException(f"No private subnets found in vpc '{vpc_name}'")
419
-
420
- tag_value = {"Key": "Name", "Value": f"copilot-{app}-{env}-env"}
421
- sec_groups = [sg.id for sg in vpc.security_groups.all() if sg.tags and tag_value in sg.tags]
422
-
423
- if not sec_groups:
424
- raise AWSException(f"No matching security groups found in vpc '{vpc_name}'")
425
-
426
- return Vpc(subnets, sec_groups)
427
-
428
-
429
379
  def start_build_extraction(codebuild_client, build_options):
430
380
  response = codebuild_client.start_build(**build_options)
431
381
  return response["build"]["arn"]
@@ -1,34 +1,17 @@
1
- from os import makedirs
2
- from pathlib import Path
3
-
4
1
  import click
5
2
  import yaml
6
3
  from jinja2 import Environment
7
4
  from jinja2 import FileSystemLoader
8
5
 
6
+ from dbt_platform_helper.providers.files import FileProvider
7
+
9
8
 
10
9
  def to_yaml(value):
11
10
  return yaml.dump(value, sort_keys=False)
12
11
 
13
12
 
14
- def mkfile(base_path, file_path, contents, overwrite=False):
15
- file_path = Path(file_path)
16
- file = Path(base_path).joinpath(file_path)
17
- file_exists = file.exists()
18
-
19
- if not file_path.parent.exists():
20
- makedirs(file_path.parent)
21
-
22
- if file_exists and not overwrite:
23
- return f"File {file_path} exists; doing nothing"
24
-
25
- action = "overwritten" if file_exists and overwrite else "created"
26
-
27
- file.write_text(contents)
28
-
29
- return f"File {file_path} {action}"
30
-
31
-
13
+ # TODO - extract file provider functionality from this - and figure out what it actually does!
14
+ # Move to the new file provider - or potentially copilot?
32
15
  def generate_override_files(base_path, file_path, output_dir):
33
16
  def generate_files_for_dir(pattern):
34
17
  for file in file_path.glob(pattern):
@@ -36,7 +19,7 @@ def generate_override_files(base_path, file_path, output_dir):
36
19
  contents = file.read_text()
37
20
  file_name = str(file).removeprefix(f"{file_path}/")
38
21
  click.echo(
39
- mkfile(
22
+ FileProvider.mkfile(
40
23
  base_path,
41
24
  output_dir / file_name,
42
25
  contents,
@@ -61,7 +44,9 @@ def generate_override_files_from_template(base_path, overrides_path, output_dir,
61
44
  if file.is_file():
62
45
  file_name = str(file).removeprefix(f"{overrides_path}/")
63
46
  contents = templates.get_template(str(file_name)).render(data)
64
- message = mkfile(base_path, output_dir / file_name, contents, overwrite=True)
47
+ message = FileProvider.mkfile(
48
+ base_path, output_dir / file_name, contents, overwrite=True
49
+ )
65
50
  click.echo(message)
66
51
 
67
52
  generate_files_for_dir("*")
@@ -18,10 +18,3 @@ def load_unvalidated_config_file():
18
18
  return yaml.safe_load(file_contents)
19
19
  except yaml.parser.ParserError:
20
20
  return {}
21
-
22
-
23
- def get_environment_pipeline_names():
24
- pipelines_config = load_unvalidated_config_file().get("environment_pipelines")
25
- if pipelines_config:
26
- return pipelines_config.keys()
27
- return {}
@@ -11,6 +11,7 @@ from typing import Union
11
11
  import click
12
12
  import requests
13
13
 
14
+ from dbt_platform_helper.constants import DEFAULT_TERRAFORM_PLATFORM_MODULES_VERSION
14
15
  from dbt_platform_helper.constants import PLATFORM_CONFIG_FILE
15
16
  from dbt_platform_helper.constants import PLATFORM_HELPER_VERSION_FILE
16
17
  from dbt_platform_helper.providers.validation import IncompatibleMajorVersionException
@@ -297,3 +298,14 @@ def get_required_platform_helper_version(
297
298
  raise SystemExit(1)
298
299
 
299
300
  return out
301
+
302
+
303
+ def get_required_terraform_platform_modules_version(
304
+ cli_terraform_platform_modules_version, platform_config_terraform_modules_default_version
305
+ ):
306
+ version_preference_order = [
307
+ cli_terraform_platform_modules_version,
308
+ platform_config_terraform_modules_default_version,
309
+ DEFAULT_TERRAFORM_PLATFORM_MODULES_VERSION,
310
+ ]
311
+ return [version for version in version_preference_order if version][0]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: dbt-platform-helper
3
- Version: 12.5.0
3
+ Version: 12.5.1
4
4
  Summary: Set of tools to help transfer applications/services from GOV.UK PaaS to DBT PaaS augmenting AWS Copilot.
5
5
  License: MIT
6
6
  Author: Department for Business and Trade Platform Team
@@ -1,4 +1,4 @@
1
- dbt_platform_helper/COMMANDS.md,sha256=zLOCEb31pbTRp9Q6QRsSDwdwH5imnCUw3Ey87igqoBQ,22028
1
+ dbt_platform_helper/COMMANDS.md,sha256=Sm_rxHiEtdoRjmEnWAYpaEgOyCddWbV_PVP8aXrH_3g,21981
2
2
  dbt_platform_helper/README.md,sha256=B0qN2_u_ASqqgkGDWY2iwNGZt_9tUgMb9XqtaTuzYjw,1530
3
3
  dbt_platform_helper/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  dbt_platform_helper/addon-plans.yml,sha256=O46a_ODsGG9KXmQY_1XbSGqrpSaHSLDe-SdROzHx8Go,4545
@@ -7,40 +7,44 @@ dbt_platform_helper/commands/application.py,sha256=eVwCaYuwBlk0zx0xfA6fW7b-S1pl8
7
7
  dbt_platform_helper/commands/codebase.py,sha256=KB8irKyFtb6pKn5cQ0MmTywGW7Vd8SSbWjT2mRnh3JA,2270
8
8
  dbt_platform_helper/commands/conduit.py,sha256=KqRWiirl5Xl7qcJXOAsirbTLlV1XquOjddsopuj0Kp4,2272
9
9
  dbt_platform_helper/commands/config.py,sha256=vIJh1piAqxRgxr4t68okPLfo-inkPiSoRNUFGPQBChg,12129
10
- dbt_platform_helper/commands/copilot.py,sha256=5UqY1LOCjfsBffpVRa2mHPs8Tc7SmnjcQHtS0XMn8-c,13562
10
+ dbt_platform_helper/commands/copilot.py,sha256=1CTyAkTQBF_i6zkqYzOIUo5wq9UYWfj-G1W8D2oRjmE,13623
11
11
  dbt_platform_helper/commands/database.py,sha256=aG3zcMHL5PE96b7LSAu0FGCbgcycQej3AGRcd-bpXUo,4115
12
- dbt_platform_helper/commands/environment.py,sha256=fSd0NmwKVndjtQ6EmV7f8YOSTNqMRQ6oQoLXnUVoRA0,3307
12
+ dbt_platform_helper/commands/environment.py,sha256=NyzvKnhPTklwg5ycC6KYc254avYvPiuVRYnaQ9doxgI,3356
13
13
  dbt_platform_helper/commands/generate.py,sha256=YLCPb-xcPapGcsLn-7d1Am7BpGp5l0iecIDTOdNGjHk,722
14
14
  dbt_platform_helper/commands/notify.py,sha256=kVJ0s78QMiaEWPVKu_bbMko4DW2uJy2fu8-HNJsglyk,3748
15
- dbt_platform_helper/commands/pipeline.py,sha256=nep2xgImnZ9CFzqnMIrsJACc7dzIrN8AoO0jR_bZWso,8437
15
+ dbt_platform_helper/commands/pipeline.py,sha256=tdLgcOOzPFbECKYN9UUHwK6tiwPvrMx3c4Q8ghRe1no,2685
16
16
  dbt_platform_helper/commands/secrets.py,sha256=QjF9xUChioIr_P0fzqwyEcqLvcN-RNZmNFFlaUPVU9o,3994
17
17
  dbt_platform_helper/commands/version.py,sha256=XVfSd53TDti4cceBqTmRfq_yZnvxs14RbrOjNJHW75U,1444
18
- dbt_platform_helper/constants.py,sha256=GD1pAFIpcKj1f4be-XueHei7_bqYjdW7cEQxz68XKV4,919
18
+ dbt_platform_helper/constants.py,sha256=f1zl5PJoauUxWOirXBJ8bdAGxOAQVLqNeCs6hldaq2I,971
19
19
  dbt_platform_helper/default-extensions.yml,sha256=SU1ZitskbuEBpvE7efc3s56eAUF11j70brhj_XrNMMo,493
20
20
  dbt_platform_helper/domain/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
- dbt_platform_helper/domain/codebase.py,sha256=vs25ytD0iKwfuX-EoYHwG6qiZAmfvKyQiYT9BeWZ_s4,9688
21
+ dbt_platform_helper/domain/codebase.py,sha256=oaRyztqIVy3-3t9ChP4DEWN7DOhZJrr0xMY_LLm4GzI,9797
22
22
  dbt_platform_helper/domain/conduit.py,sha256=mvjDzxh-SCUCY5qGL73kG8TT7YqeQR8XtNcHx26SW2w,4344
23
23
  dbt_platform_helper/domain/config_validator.py,sha256=7te6L6zJrb-soVB5TKm4UwJyhCdONmNvE0TbqXb5U60,10177
24
- dbt_platform_helper/domain/copilot_environment.py,sha256=m7m9AUiVwJfDREyh3F9Wv8slaF_EzOL2Lkmk1ZK0X7Q,8107
25
- dbt_platform_helper/domain/database_copy.py,sha256=26gIZyVqd7foHFETkn3LAfyEeMMXbX-wautzlh7aFF4,9157
26
- dbt_platform_helper/domain/maintenance_page.py,sha256=LN-1qnU9oprYvLbV_pHOWOG_QsIluGpYPIfU1E4La-A,15742
27
- dbt_platform_helper/domain/terraform_environment.py,sha256=bXCVL2C9iUxrzZKGQP_jW6S-iRIVUf-iEIABhN2BoTo,2048
24
+ dbt_platform_helper/domain/copilot_environment.py,sha256=UJw08KWIXspXMJEgbsO0f8RLlUWhmyAfVA6eUZa9X10,8143
25
+ dbt_platform_helper/domain/database_copy.py,sha256=OqxEARb2yIgoqu8LHp90IcW3gkNlNbPHUR5P9om5Sx4,9315
26
+ dbt_platform_helper/domain/maintenance_page.py,sha256=evj50GqmcgOtduQN20JJ6-M6zGubCW48DRa2V4yvy8o,16767
27
+ dbt_platform_helper/domain/pipelines.py,sha256=Woo1I_ceiNV53zOv1XdljfIsEAD65DgmEpr3_VyCRxI,8076
28
+ dbt_platform_helper/domain/terraform_environment.py,sha256=P1LlkMScIzzsoQFiLOTqidnagP9RCz-HRkd8z_JkvwQ,3056
29
+ dbt_platform_helper/domain/test_platform_terraform_manifest_generator.py,sha256=DvDlTeLGJfiAJKshBJKe9SZm4uMSOR7MMUPy37rUwKE,4325
28
30
  dbt_platform_helper/jinja2_tags.py,sha256=hKG6RS3zlxJHQ-Op9r2U2-MhWp4s3lZir4Ihe24ApJ0,540
29
31
  dbt_platform_helper/platform_exception.py,sha256=bheZV9lqGvrCVTNT92349dVntNDEDWTEwciZgC83WzE,187
30
32
  dbt_platform_helper/providers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
31
33
  dbt_platform_helper/providers/aws.py,sha256=KHgySe6cwEw1wePjw6DL7uSyZRk3DN_Aqqi8KnRoB3M,1208
32
- dbt_platform_helper/providers/cache.py,sha256=vXjOKtzDgcaGy2mtP9Rr2wQKuF7DmYTIGIQ1wsSzfH0,2624
34
+ dbt_platform_helper/providers/cache.py,sha256=GIFVdpfXVnVgf2POQvBvZDP6pvYeUFjEuAdAQLbhJXs,2563
33
35
  dbt_platform_helper/providers/cloudformation.py,sha256=AMUuhHqjjyYwraFKdkVLgcHs7XZShNHkQFZWHBOMeGg,4877
34
- dbt_platform_helper/providers/config.py,sha256=g9k7VMq3SZs0sxoM7fgMT_Jvv7r_ew8hLM7dnDwGNeU,3102
35
- dbt_platform_helper/providers/copilot.py,sha256=2BkQXn17GC1oGfCSCXXapTqT5OEhpEBeNkQ33g-U6wU,5245
36
+ dbt_platform_helper/providers/config.py,sha256=arJ01kcbBxkarE2bGO-VKraBkYOborZqGBklmt0ckTk,3663
37
+ dbt_platform_helper/providers/copilot.py,sha256=nBbt-PoGXVkmb9njJti6Et8dq1W9GytW3jGBydNNYYU,5317
36
38
  dbt_platform_helper/providers/ecs.py,sha256=XlQHYhZiLGrqR-1ZWMagGH2R2Hy7mCP6676eZL3YbNQ,3842
39
+ dbt_platform_helper/providers/files.py,sha256=E4PAHjGlAFEgbU9ntvHJguKKJf5gwrZF6H1LY054QG0,683
37
40
  dbt_platform_helper/providers/load_balancers.py,sha256=0tPkuQ_jWfan44HrBA5EMLqrZaYQl-Lw5PavZ1a1iag,1615
38
41
  dbt_platform_helper/providers/opensearch.py,sha256=tp64jTzHlutleqMpi2h_ZKH1iakZPJnUODebX6i2mfA,1335
39
42
  dbt_platform_helper/providers/platform_config_schema.py,sha256=vKyk32tMJU99RZMnpqV9phS5-8N4tduSPZJOJBObYss,26513
40
43
  dbt_platform_helper/providers/redis.py,sha256=aj8pitxG9IKrMkL3fIYayQhcHPPzApdaXq0Uq_0yblg,1217
41
44
  dbt_platform_helper/providers/secrets.py,sha256=6cYIR15dLdHmqxtWQpM6R71e0_Xgsg9V291HBG-0LV0,5272
42
45
  dbt_platform_helper/providers/validation.py,sha256=d_YzJZVjGNO65pXcPIcFc9I-FRCESeEC7GvUzP8n-As,596
43
- dbt_platform_helper/providers/yaml_file.py,sha256=ODu_MJxVz6Bta9MmS2IDfiSYxxQhmmwNM0u6B3Tsfd4,2436
46
+ dbt_platform_helper/providers/vpc.py,sha256=AtXW1qNQhmraeYAf7b04lLplcSvUG18EMrX_hPRIHiw,1905
47
+ dbt_platform_helper/providers/yaml_file.py,sha256=7jMLsDWetBBHWUvcaW652LaYUqICnf0n1H9eS6kNT5o,1990
44
48
  dbt_platform_helper/templates/.copilot/config.yml,sha256=J_bA9sCtBdCPBRImpCBRnYvhQd4vpLYIXIU-lq9vbkA,158
45
49
  dbt_platform_helper/templates/.copilot/image_build_run.sh,sha256=adYucYXEB-kAgZNjTQo0T6EIAY8sh_xCEvVhWKKQ8mw,164
46
50
  dbt_platform_helper/templates/.copilot/phases/build.sh,sha256=umKXePcRvx4XyrRY0fAWIyYFtNjqBI2L8vIJk-V7C60,121
@@ -80,22 +84,22 @@ dbt_platform_helper/templates/svc/manifest-backend.yml,sha256=aAD9ndkbXnF7JBAKS2
80
84
  dbt_platform_helper/templates/svc/manifest-public.yml,sha256=6NHVR_onBu5hbwynLrB6roDRce7JcylSc0qeYvzlPdI,3664
81
85
  dbt_platform_helper/templates/svc/overrides/cfn.patches.yml,sha256=W7-d017akuUq9kda64DQxazavcRcCPDjaAik6t1EZqM,742
82
86
  dbt_platform_helper/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
83
- dbt_platform_helper/utils/application.py,sha256=ugY3nbUHRNFvJgaD4446EdSvIyILEN6ouuuk7eoyXe8,4538
87
+ dbt_platform_helper/utils/application.py,sha256=53xGrG8VBKrM4jyBKjuZZdwaYBbJ3PiznCCwlLieTKw,4804
84
88
  dbt_platform_helper/utils/arn_parser.py,sha256=BaXzIxSOLdFmP_IfAxRq-0j-0Re1iCN7L4j2Zi5-CRQ,1304
85
- dbt_platform_helper/utils/aws.py,sha256=v85AlI-4rcI5OiRlmFtZfLdlH2iY-sL_9Vk62XSdDJQ,18096
89
+ dbt_platform_helper/utils/aws.py,sha256=4GRzsY9nJUWpZoG3zjkb4bj98ec3PMxZ3sFgmvGlw9w,16349
86
90
  dbt_platform_helper/utils/click.py,sha256=Fx4y4bbve1zypvog_sgK7tJtCocmzheoEFLBRv1lfdM,2943
87
91
  dbt_platform_helper/utils/cloudfoundry.py,sha256=GnQ4fVLnDfOdNSrsJjI6ElZHqpgwINeoPn77cUH2UFY,484
88
- dbt_platform_helper/utils/files.py,sha256=zvN4P8-M9C1lkxBmn-S9pfwPqsarAVhomZu8Jrf46Yg,2132
92
+ dbt_platform_helper/utils/files.py,sha256=adQtG2E1IQHDKfeX06l6j1B7UTYukwBuR_uhJHaoi5M,1873
89
93
  dbt_platform_helper/utils/git.py,sha256=7JGZMaI8-cU6-GjXIXjOlsYfKu_RppLOGyAicBd4n_8,704
90
94
  dbt_platform_helper/utils/manifests.py,sha256=ji3UYHCxq9tTpkm4MlRa2y0-JOYYqq1pWZ2h_zpj0UU,507
91
95
  dbt_platform_helper/utils/messages.py,sha256=aLx6s9utt__IqlDdeIYq4n82ERwludu2Zfqy0Q2t-x8,115
92
- dbt_platform_helper/utils/platform_config.py,sha256=2RfIxBAT5fv7WR4YuP3yomUK7sKZFL77xevuHnUALdg,676
96
+ dbt_platform_helper/utils/platform_config.py,sha256=hAQ7bX-Jqu4L9zPYpBq3EK73LRhOK5-fEP2r3MbT_iQ,475
93
97
  dbt_platform_helper/utils/template.py,sha256=g-Db-0I6a6diOHkgK1nYA0IxJSO4TRrjqOvlyeOR32o,950
94
98
  dbt_platform_helper/utils/validation.py,sha256=lmWVqRweswj-h7TPYP8lvluq8Qeu0htyKFbz2WUkPxI,1185
95
- dbt_platform_helper/utils/versioning.py,sha256=rLCofLHPXoyc3v9ArDKcjW902p-UX6GCn8n7cjg5I-U,10918
99
+ dbt_platform_helper/utils/versioning.py,sha256=XBZcyj8fW3xU6fzLTe1fMj2d3hKdQi8jUc-ZyPKJtwk,11428
96
100
  platform_helper.py,sha256=bly3JkwbfwnWTZSZziu40dbgzQItsK-DIMMvL6ArFDY,1893
97
- dbt_platform_helper-12.5.0.dist-info/LICENSE,sha256=dP79lN73--7LMApnankTGLqDbImXg8iYFqWgnExGkGk,1090
98
- dbt_platform_helper-12.5.0.dist-info/METADATA,sha256=QmnpEwvlPv34Mb5xPnTIy91UdvEmet4NeocJVMMAk2o,3212
99
- dbt_platform_helper-12.5.0.dist-info/WHEEL,sha256=RaoafKOydTQ7I_I3JTrPCg6kUmTgtm4BornzOqyEfJ8,88
100
- dbt_platform_helper-12.5.0.dist-info/entry_points.txt,sha256=QhbY8F434A-onsg0-FsdMd2U6HKh6Q7yCFFZrGUh5-M,67
101
- dbt_platform_helper-12.5.0.dist-info/RECORD,,
101
+ dbt_platform_helper-12.5.1.dist-info/LICENSE,sha256=dP79lN73--7LMApnankTGLqDbImXg8iYFqWgnExGkGk,1090
102
+ dbt_platform_helper-12.5.1.dist-info/METADATA,sha256=2b2IPTvC5b6F4jnyZjX_zuY7Wc2CzEeSACAtJN3QB3c,3212
103
+ dbt_platform_helper-12.5.1.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
104
+ dbt_platform_helper-12.5.1.dist-info/entry_points.txt,sha256=QhbY8F434A-onsg0-FsdMd2U6HKh6Q7yCFFZrGUh5-M,67
105
+ dbt_platform_helper-12.5.1.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 2.0.0
2
+ Generator: poetry-core 2.0.1
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any