29 lines
844 B
Python
29 lines
844 B
Python
from dataclasses import dataclass, field
|
|
from typing import Dict, Optional
|
|
import uuid
|
|
|
|
from frostfs_sdk.models.dto.owner_id import OwnerId
|
|
from frostfs_sdk.models.dto.version import Version
|
|
from frostfs_sdk.models.enums.basic_acl import BasicAcl
|
|
from frostfs_sdk.models.dto.placement_policy import PlacementPolicy
|
|
|
|
|
|
|
|
@dataclass
|
|
class Container:
|
|
# basicAcl: BasicAcl # TODO: will remove it?
|
|
placementPolicy: PlacementPolicy
|
|
nonce: uuid.UUID = field(default_factory=uuid.uuid4)
|
|
version: Optional[Version] = None
|
|
owner_id: Optional[OwnerId] = None
|
|
attributes: Dict[str, str] = field(default_factory=dict)
|
|
|
|
def __init__(self, placementPolicy: PlacementPolicy):
|
|
self.nonce = uuid.uuid4()
|
|
self.placementPolicy = placementPolicy
|
|
self.attributes = {}
|
|
|
|
|
|
@dataclass
|
|
class ContainerId:
|
|
value: str
|