Merge branch 'main' into ml-flow
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import re
|
||||
from enum import Enum
|
||||
from typing import Any, Literal, TypedDict
|
||||
|
||||
@@ -32,6 +33,33 @@ class AwsConfig(BaseModel):
|
||||
return {"profile_name": self.profile, "region_name": self.region}
|
||||
|
||||
|
||||
DEFAULT_BOOTSTRAP_QUALIFIER = "hnb659fds"
|
||||
GENERATED_STACK_PREFIX = "qc-cli-mlops-"
|
||||
|
||||
|
||||
class InfraConfig(BaseModel):
|
||||
stack_name: str
|
||||
|
||||
@property
|
||||
def effective_bootstrap_qualifier(self) -> str:
|
||||
sanitized = re.sub(r"[^a-z0-9]", "", self.stack_name.lower())
|
||||
if not sanitized:
|
||||
return DEFAULT_BOOTSTRAP_QUALIFIER
|
||||
if self.stack_name.startswith(GENERATED_STACK_PREFIX):
|
||||
suffix = re.sub(r"[^a-z0-9]", "", self.stack_name.removeprefix(GENERATED_STACK_PREFIX).lower())
|
||||
if suffix:
|
||||
return f"q{suffix}"[:10]
|
||||
return f"q{sanitized}"[:10]
|
||||
|
||||
@property
|
||||
def effective_toolkit_stack_name(self) -> str:
|
||||
if self.stack_name.startswith(GENERATED_STACK_PREFIX):
|
||||
suffix = re.sub(r"[^A-Za-z0-9-]", "", self.stack_name.removeprefix(GENERATED_STACK_PREFIX))
|
||||
if suffix:
|
||||
return f"{self.stack_name}-bootstrap"
|
||||
return f"{self.stack_name}-bootstrap"
|
||||
|
||||
|
||||
class S3Config(BaseModel):
|
||||
bucket: str = "my-qc-mlops-bucket"
|
||||
data_prefix: str = "data/"
|
||||
@@ -48,7 +76,7 @@ class TrainingConfig(BaseModel):
|
||||
|
||||
|
||||
class SageMakerConfig(BaseModel):
|
||||
role_name: str = "qc-cli-sagemaker-role"
|
||||
role_name: str = ""
|
||||
training: TrainingConfig = Field(default_factory=TrainingConfig)
|
||||
|
||||
|
||||
@@ -72,6 +100,7 @@ class MlflowConfig(BaseModel):
|
||||
|
||||
|
||||
class Config(BaseModel):
|
||||
infra: InfraConfig
|
||||
aws: AwsConfig = Field(default_factory=AwsConfig)
|
||||
s3: S3Config = Field(default_factory=S3Config)
|
||||
sagemaker: SageMakerConfig = Field(default_factory=SageMakerConfig)
|
||||
|
||||
Reference in New Issue
Block a user