# generated by datamodel-codegen:
#   filename:  <stdin>
#   timestamp: 2026-01-20T08:32:59+00:00

from __future__ import annotations

from pydantic import BaseModel


class Bucket(BaseModel):
    on: bool
    bucket_name: str
    bucket_name_for_release: str


class CloudBuild(BaseModel):
    on: bool
    trigger_name: str
    description: str
    repository: str
    repo_owner: str
    repo_name: str
    branch_pattern: str
    build_config: str
    substitutions: str


class PreVmImage(BaseModel):
    on: bool
    machine_type: str
    gpu_type: str
    gpu_count: int
    boot_disk_gb: int
    dlvm_family: str
    bake_vm: str
    custom_image_name: str
    bake_timeout_sec: int
    bake_poll_interval_sec: int


class CloudFunction(BaseModel):
    on: bool
    function_name: str


class Iam(BaseModel):
    on: bool
    account_name: str


class PubSub(BaseModel):
    on: bool
    topic_name: str


class Artifacts(BaseModel):
    on: bool
    repository_name: str


class Kubernetes(BaseModel):
    on: bool
    cluster_name: str
    num_nodes: int
    min_nodes: int
    max_nodes: int


class Gcp(BaseModel):
    gcp_project_id: str
    location: str
    bucket: Bucket
    cloud_build: CloudBuild
    pre_vm_image: PreVmImage
    cloud_function: CloudFunction
    iam: Iam
    pub_sub: PubSub
    artifacts: Artifacts
    kubernetes: Kubernetes
    logging: bool


class Config(BaseModel):
    gcp: Gcp
