Source code for modelz.openapi.sdk.models.types_build_target

from typing import Any, Dict, List, Type, TypeVar, Union

from attrs import define as _attrs_define
from attrs import field as _attrs_field

from ..models.types_builder_type import TypesBuilderType
from ..types import UNSET, Unset

T = TypeVar("T", bound="TypesBuildTarget")


[docs]@_attrs_define class TypesBuildTarget: """ Attributes: builder (Union[Unset, TypesBuilderType]): digest (Union[Unset, str]): directory (Union[Unset, str]): directory is the target directory name. Must not contain or start with '..'. If '.' is supplied, the volume directory will be the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name. +optional duration (Union[Unset, str]): image (Union[Unset, str]): image_tag (Union[Unset, str]): registry (Union[Unset, str]): registry_token (Union[Unset, str]): """ builder: Union[Unset, TypesBuilderType] = UNSET digest: Union[Unset, str] = UNSET directory: Union[Unset, str] = UNSET duration: Union[Unset, str] = UNSET image: Union[Unset, str] = UNSET image_tag: Union[Unset, str] = UNSET registry: Union[Unset, str] = UNSET registry_token: Union[Unset, str] = UNSET additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict) def to_dict(self) -> Dict[str, Any]: builder: Union[Unset, str] = UNSET if not isinstance(self.builder, Unset): builder = self.builder.value digest = self.digest directory = self.directory duration = self.duration image = self.image image_tag = self.image_tag registry = self.registry registry_token = self.registry_token field_dict: Dict[str, Any] = {} field_dict.update(self.additional_properties) field_dict.update({}) if builder is not UNSET: field_dict["builder"] = builder if digest is not UNSET: field_dict["digest"] = digest if directory is not UNSET: field_dict["directory"] = directory if duration is not UNSET: field_dict["duration"] = duration if image is not UNSET: field_dict["image"] = image if image_tag is not UNSET: field_dict["image_tag"] = image_tag if registry is not UNSET: field_dict["registry"] = registry if registry_token is not UNSET: field_dict["registry_token"] = registry_token return field_dict @classmethod def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T: d = src_dict.copy() _builder = d.pop("builder", UNSET) builder: Union[Unset, TypesBuilderType] if isinstance(_builder, Unset): builder = UNSET else: builder = TypesBuilderType(_builder) digest = d.pop("digest", UNSET) directory = d.pop("directory", UNSET) duration = d.pop("duration", UNSET) image = d.pop("image", UNSET) image_tag = d.pop("image_tag", UNSET) registry = d.pop("registry", UNSET) registry_token = d.pop("registry_token", UNSET) types_build_target = cls( builder=builder, digest=digest, directory=directory, duration=duration, image=image, image_tag=image_tag, registry=registry, registry_token=registry_token, ) types_build_target.additional_properties = d return types_build_target @property def additional_keys(self) -> List[str]: return list(self.additional_properties.keys()) def __getitem__(self, key: str) -> Any: return self.additional_properties[key] def __setitem__(self, key: str, value: Any) -> None: self.additional_properties[key] = value def __delitem__(self, key: str) -> None: del self.additional_properties[key] def __contains__(self, key: str) -> bool: return key in self.additional_properties