mirror of
https://github.com/clearml/clearml-server
synced 2025-01-31 02:46:53 +00:00
61 lines
1.6 KiB
Python
61 lines
1.6 KiB
Python
from jsonmodels.fields import StringField, BoolField, ListField, EmbeddedField
|
|
from jsonmodels.models import Base
|
|
from jsonmodels.validators import Enum
|
|
|
|
|
|
class AWSBucketSettings(Base):
|
|
bucket = StringField()
|
|
subdir = StringField()
|
|
host = StringField()
|
|
key = StringField()
|
|
secret = StringField()
|
|
token = StringField()
|
|
multipart = BoolField(default=True)
|
|
acl = StringField()
|
|
secure = BoolField(default=True)
|
|
region = StringField()
|
|
verify = BoolField(default=True)
|
|
use_credentials_chain = BoolField(default=False)
|
|
|
|
|
|
class AWSSettings(Base):
|
|
key = StringField()
|
|
secret = StringField()
|
|
region = StringField()
|
|
token = StringField()
|
|
use_credentials_chain = BoolField(default=False)
|
|
buckets = ListField(items_types=[AWSBucketSettings])
|
|
|
|
|
|
class GoogleBucketSettings(Base):
|
|
bucket = StringField()
|
|
subdir = StringField()
|
|
project = StringField()
|
|
credentials_json = StringField()
|
|
|
|
|
|
class GoogleSettings(Base):
|
|
project = StringField()
|
|
credentials_json = StringField()
|
|
buckets = ListField(items_types=[GoogleBucketSettings])
|
|
|
|
|
|
class AzureContainerSettings(Base):
|
|
account_name = StringField()
|
|
account_key = StringField()
|
|
container_name = StringField()
|
|
|
|
|
|
class AzureSettings(Base):
|
|
containers = ListField(items_types=[AzureContainerSettings])
|
|
|
|
|
|
class SetSettingsRequest(Base):
|
|
aws = EmbeddedField(AWSSettings)
|
|
google = EmbeddedField(GoogleSettings)
|
|
azure = EmbeddedField(AzureSettings)
|
|
|
|
|
|
class ResetSettingsRequest(Base):
|
|
keys = ListField([str], item_validators=[Enum("aws", "google", "azure")])
|