[#3] Added generate proto script create container method
Signed-off-by: Ilyas Niyazov <i.niyazov@yadro.com>
This commit is contained in:
parent
19282f13cc
commit
297e107b10
52 changed files with 1380 additions and 74 deletions
47
frostfs_sdk/models/dto/meta_header.py
Normal file
47
frostfs_sdk/models/dto/meta_header.py
Normal file
|
@ -0,0 +1,47 @@
|
|||
from dataclasses import dataclass
|
||||
from typing import Optional
|
||||
|
||||
from frostfs_sdk.models.dto.version import Version, DEFAULT_MAJOR_VERSION, DEFAULT_MINOR_VERSION
|
||||
|
||||
|
||||
class MetaHeader:
|
||||
def __init__(self, version=None, epoch: int = 0, ttl: int = 2):
|
||||
"""
|
||||
Initializes a MetaHeader object.
|
||||
|
||||
:param version: A Version object representing the version.
|
||||
:param epoch: An integer representing the epoch (default: 0).
|
||||
:param ttl: An integer representing the time-to-live (default: 2).
|
||||
"""
|
||||
self._version = None
|
||||
self._epoch = None
|
||||
self._ttl = None
|
||||
|
||||
# Set default values if not provided
|
||||
self.set_version(version or Version(DEFAULT_MAJOR_VERSION, DEFAULT_MINOR_VERSION))
|
||||
self.set_epoch(epoch)
|
||||
self.set_ttl(ttl)
|
||||
|
||||
def get_version(self):
|
||||
return self._version
|
||||
|
||||
def get_epoch(self):
|
||||
return self._epoch
|
||||
|
||||
def get_ttl(self):
|
||||
return self._ttl
|
||||
|
||||
def set_version(self, version):
|
||||
if version is None:
|
||||
raise ValueError(f"Input parameter is missing: {Version.__name__}")
|
||||
self._version = version
|
||||
|
||||
def set_epoch(self, epoch: int):
|
||||
if epoch < 0:
|
||||
raise ValueError("Epoch must be greater than or equal to zero")
|
||||
self._epoch = epoch
|
||||
|
||||
def set_ttl(self, ttl: int):
|
||||
if ttl <= 0:
|
||||
raise ValueError("TTL must be greater than zero")
|
||||
self._ttl = ttl
|
Loading…
Add table
Add a link
Reference in a new issue