Added create container grpc method
Signed-off-by: Ilyas Niyazov <i.niyazov@yadro.com>
This commit is contained in:
parent
9a1b5d778b
commit
f8465e5b99
34 changed files with 532 additions and 53 deletions
25
frostfs_sdk/models/dto/container.py
Normal file
25
frostfs_sdk/models/dto/container.py
Normal file
|
@ -0,0 +1,25 @@
|
|||
from dataclasses import dataclass, field
|
||||
from typing import Dict, Optional
|
||||
import uuid
|
||||
|
||||
from frostfs_sdk.models.enums.basic_acl import BasicAcl
|
||||
from frostfs_sdk.models.dto.placement_policy import PlacementPolicy
|
||||
|
||||
|
||||
|
||||
@dataclass
|
||||
class Container:
|
||||
basicAcl: BasicAcl
|
||||
placementPolicy: PlacementPolicy
|
||||
nonce: uuid.UUID = field(default_factory=uuid.uuid4)
|
||||
version: Optional[str] = None
|
||||
attributes: Dict[str, str] = field(default_factory=dict)
|
||||
|
||||
def __init__(self, basicAcl: BasicAcl, placementPolicy: PlacementPolicy):
|
||||
self.basicAcl = basicAcl
|
||||
self.placementPolicy = placementPolicy
|
||||
|
||||
|
||||
@dataclass
|
||||
class ContainerId:
|
||||
value: str
|
14
frostfs_sdk/models/dto/filter.py
Normal file
14
frostfs_sdk/models/dto/filter.py
Normal file
|
@ -0,0 +1,14 @@
|
|||
from dataclasses import dataclass
|
||||
|
||||
from frostfs_sdk.models.enums.filter_operation import FilterOperation
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class Filter:
|
||||
"""
|
||||
Data Transfer Object for Filter configuration
|
||||
"""
|
||||
name: str
|
||||
key: str
|
||||
operation: FilterOperation
|
||||
value: str
|
9
frostfs_sdk/models/dto/placement_policy.py
Normal file
9
frostfs_sdk/models/dto/placement_policy.py
Normal file
|
@ -0,0 +1,9 @@
|
|||
from dataclasses import dataclass
|
||||
from typing import List
|
||||
|
||||
from frostfs_sdk.models.dto.replica import Replica
|
||||
|
||||
@dataclass
|
||||
class PlacementPolicy:
|
||||
replicas: List[Replica]
|
||||
unique: bool
|
12
frostfs_sdk/models/dto/replica.py
Normal file
12
frostfs_sdk/models/dto/replica.py
Normal file
|
@ -0,0 +1,12 @@
|
|||
from dataclasses import dataclass, field
|
||||
|
||||
|
||||
EMPTY_STRING = ""
|
||||
|
||||
@dataclass
|
||||
class Replica:
|
||||
count: int
|
||||
selector: str = field(default=EMPTY_STRING)
|
||||
|
||||
def __post_init__(self):
|
||||
self.selector = self.selector if self.selector else EMPTY_STRING
|
15
frostfs_sdk/models/dto/selector.py
Normal file
15
frostfs_sdk/models/dto/selector.py
Normal file
|
@ -0,0 +1,15 @@
|
|||
from dataclasses import dataclass
|
||||
|
||||
from frostfs_sdk.models.enums.selector_clause import SelectorClause
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class Selector:
|
||||
"""
|
||||
Data Transfer Object for Selector configuration
|
||||
"""
|
||||
name: str
|
||||
count: int
|
||||
clause: SelectorClause
|
||||
attribute: str
|
||||
filter: str
|
5
frostfs_sdk/models/dto/session_token.py
Normal file
5
frostfs_sdk/models/dto/session_token.py
Normal file
|
@ -0,0 +1,5 @@
|
|||
from dataclasses import dataclass
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SessionToken:
|
||||
token: bytes
|
Loading…
Add table
Add a link
Reference in a new issue