feat(appliance): initial release of MERICA standalone appliance v1.0.0
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
from pydantic import BaseModel, Field
|
||||
from typing import Dict, Any, Optional, List
|
||||
|
||||
class BundleItem(BaseModel):
|
||||
name: str
|
||||
tracking_ref: str
|
||||
repo_url: str
|
||||
subdir: str
|
||||
type: str = "git"
|
||||
|
||||
class BundleListResponse(BaseModel):
|
||||
bundles: List[BundleItem]
|
||||
|
||||
class SitomatProvisionRequest(BaseModel):
|
||||
dataset_id: str
|
||||
bundle_name: Optional[str] = "dlh-core-ingestion"
|
||||
source_type: str = Field(..., description="database | gws | api")
|
||||
connection_id: str
|
||||
source_config: Dict[str, Any] = Field(default_factory=dict)
|
||||
bronze_target: Optional[Dict[str, Any]] = Field(default_factory=lambda: {
|
||||
"s3_bucket": "dlh-landing",
|
||||
"s3_prefix": "bronze/raw/"
|
||||
})
|
||||
dbt_models: Optional[Dict[str, str]] = Field(default_factory=dict)
|
||||
schedule: Optional[str] = "0 2 * * *"
|
||||
|
||||
class SitomatProvisionResponse(BaseModel):
|
||||
status: str = "provisioned"
|
||||
dataset_id: str
|
||||
bundle_name: str
|
||||
bronze_dag_id: str
|
||||
transform_dag_id: str
|
||||
initial_version: str
|
||||
git_commit_hash: Optional[str] = None
|
||||
yaml_config_path: Optional[str] = None
|
||||
|
||||
class SitomatTriggerRequest(BaseModel):
|
||||
correlation_id: str
|
||||
dataset_id: str
|
||||
target_dag_version: Optional[str] = "latest"
|
||||
conf: Optional[Dict[str, Any]] = Field(default_factory=dict)
|
||||
|
||||
class SitomatTriggerResponse(BaseModel):
|
||||
status: str = "triggered"
|
||||
correlation_id: str
|
||||
dag_id: str
|
||||
dag_run_id: str
|
||||
pinned_version: str
|
||||
|
||||
class SitomatLedgerCallback(BaseModel):
|
||||
correlation_id: str
|
||||
dataset_id: str
|
||||
dag_id: str
|
||||
dag_run_id: str
|
||||
status: str
|
||||
bronze_ref: Optional[str] = None
|
||||
record_count: Optional[int] = 0
|
||||
byte_size: Optional[int] = 0
|
||||
Reference in New Issue
Block a user