mirror of
https://github.com/clearml/clearml
synced 2025-06-25 17:46:28 +00:00
Add Trains Server API v2.9 support
This commit is contained in:
parent
e4801542f5
commit
6d4e85de0a
0
trains/backend_api/services/v2_9/__init__.py
Normal file
0
trains/backend_api/services/v2_9/__init__.py
Normal file
598
trains/backend_api/services/v2_9/auth.py
Normal file
598
trains/backend_api/services/v2_9/auth.py
Normal file
@ -0,0 +1,598 @@
|
|||||||
|
"""
|
||||||
|
auth service
|
||||||
|
|
||||||
|
This service provides authentication management and authorization
|
||||||
|
validation for the entire system.
|
||||||
|
"""
|
||||||
|
from datetime import datetime
|
||||||
|
|
||||||
|
import six
|
||||||
|
from dateutil.parser import parse as parse_datetime
|
||||||
|
|
||||||
|
from ....backend_api.session import NonStrictDataModel, Request, Response, schema_property
|
||||||
|
|
||||||
|
|
||||||
|
class Credentials(NonStrictDataModel):
|
||||||
|
"""
|
||||||
|
:param access_key: Credentials access key
|
||||||
|
:type access_key: str
|
||||||
|
:param secret_key: Credentials secret key
|
||||||
|
:type secret_key: str
|
||||||
|
"""
|
||||||
|
_schema = {
|
||||||
|
'properties': {
|
||||||
|
'access_key': {
|
||||||
|
'description': 'Credentials access key',
|
||||||
|
'type': ['string', 'null'],
|
||||||
|
},
|
||||||
|
'secret_key': {
|
||||||
|
'description': 'Credentials secret key',
|
||||||
|
'type': ['string', 'null'],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
'type': 'object',
|
||||||
|
}
|
||||||
|
|
||||||
|
def __init__(
|
||||||
|
self, access_key=None, secret_key=None, **kwargs):
|
||||||
|
super(Credentials, self).__init__(**kwargs)
|
||||||
|
self.access_key = access_key
|
||||||
|
self.secret_key = secret_key
|
||||||
|
|
||||||
|
@schema_property('access_key')
|
||||||
|
def access_key(self):
|
||||||
|
return self._property_access_key
|
||||||
|
|
||||||
|
@access_key.setter
|
||||||
|
def access_key(self, value):
|
||||||
|
if value is None:
|
||||||
|
self._property_access_key = None
|
||||||
|
return
|
||||||
|
|
||||||
|
self.assert_isinstance(value, "access_key", six.string_types)
|
||||||
|
self._property_access_key = value
|
||||||
|
|
||||||
|
@schema_property('secret_key')
|
||||||
|
def secret_key(self):
|
||||||
|
return self._property_secret_key
|
||||||
|
|
||||||
|
@secret_key.setter
|
||||||
|
def secret_key(self, value):
|
||||||
|
if value is None:
|
||||||
|
self._property_secret_key = None
|
||||||
|
return
|
||||||
|
|
||||||
|
self.assert_isinstance(value, "secret_key", six.string_types)
|
||||||
|
self._property_secret_key = value
|
||||||
|
|
||||||
|
|
||||||
|
class CredentialKey(NonStrictDataModel):
|
||||||
|
"""
|
||||||
|
:param access_key:
|
||||||
|
:type access_key: str
|
||||||
|
:param last_used:
|
||||||
|
:type last_used: datetime.datetime
|
||||||
|
:param last_used_from:
|
||||||
|
:type last_used_from: str
|
||||||
|
"""
|
||||||
|
_schema = {
|
||||||
|
'properties': {
|
||||||
|
'access_key': {'description': '', 'type': ['string', 'null']},
|
||||||
|
'last_used': {
|
||||||
|
'description': '',
|
||||||
|
'format': 'date-time',
|
||||||
|
'type': ['string', 'null'],
|
||||||
|
},
|
||||||
|
'last_used_from': {'description': '', 'type': ['string', 'null']},
|
||||||
|
},
|
||||||
|
'type': 'object',
|
||||||
|
}
|
||||||
|
|
||||||
|
def __init__(
|
||||||
|
self, access_key=None, last_used=None, last_used_from=None, **kwargs):
|
||||||
|
super(CredentialKey, self).__init__(**kwargs)
|
||||||
|
self.access_key = access_key
|
||||||
|
self.last_used = last_used
|
||||||
|
self.last_used_from = last_used_from
|
||||||
|
|
||||||
|
@schema_property('access_key')
|
||||||
|
def access_key(self):
|
||||||
|
return self._property_access_key
|
||||||
|
|
||||||
|
@access_key.setter
|
||||||
|
def access_key(self, value):
|
||||||
|
if value is None:
|
||||||
|
self._property_access_key = None
|
||||||
|
return
|
||||||
|
|
||||||
|
self.assert_isinstance(value, "access_key", six.string_types)
|
||||||
|
self._property_access_key = value
|
||||||
|
|
||||||
|
@schema_property('last_used')
|
||||||
|
def last_used(self):
|
||||||
|
return self._property_last_used
|
||||||
|
|
||||||
|
@last_used.setter
|
||||||
|
def last_used(self, value):
|
||||||
|
if value is None:
|
||||||
|
self._property_last_used = None
|
||||||
|
return
|
||||||
|
|
||||||
|
self.assert_isinstance(value, "last_used", six.string_types + (datetime,))
|
||||||
|
if not isinstance(value, datetime):
|
||||||
|
value = parse_datetime(value)
|
||||||
|
self._property_last_used = value
|
||||||
|
|
||||||
|
@schema_property('last_used_from')
|
||||||
|
def last_used_from(self):
|
||||||
|
return self._property_last_used_from
|
||||||
|
|
||||||
|
@last_used_from.setter
|
||||||
|
def last_used_from(self, value):
|
||||||
|
if value is None:
|
||||||
|
self._property_last_used_from = None
|
||||||
|
return
|
||||||
|
|
||||||
|
self.assert_isinstance(value, "last_used_from", six.string_types)
|
||||||
|
self._property_last_used_from = value
|
||||||
|
|
||||||
|
|
||||||
|
class CreateCredentialsRequest(Request):
|
||||||
|
"""
|
||||||
|
Creates a new set of credentials for the authenticated user.
|
||||||
|
New key/secret is returned.
|
||||||
|
Note: Secret will never be returned in any other API call.
|
||||||
|
If a secret is lost or compromised, the key should be revoked
|
||||||
|
and a new set of credentials can be created.
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
|
_service = "auth"
|
||||||
|
_action = "create_credentials"
|
||||||
|
_version = "2.9"
|
||||||
|
_schema = {
|
||||||
|
'additionalProperties': False,
|
||||||
|
'definitions': {},
|
||||||
|
'properties': {},
|
||||||
|
'type': 'object',
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class CreateCredentialsResponse(Response):
|
||||||
|
"""
|
||||||
|
Response of auth.create_credentials endpoint.
|
||||||
|
|
||||||
|
:param credentials: Created credentials
|
||||||
|
:type credentials: Credentials
|
||||||
|
"""
|
||||||
|
_service = "auth"
|
||||||
|
_action = "create_credentials"
|
||||||
|
_version = "2.9"
|
||||||
|
|
||||||
|
_schema = {
|
||||||
|
'definitions': {
|
||||||
|
'credentials': {
|
||||||
|
'properties': {
|
||||||
|
'access_key': {
|
||||||
|
'description': 'Credentials access key',
|
||||||
|
'type': ['string', 'null'],
|
||||||
|
},
|
||||||
|
'secret_key': {
|
||||||
|
'description': 'Credentials secret key',
|
||||||
|
'type': ['string', 'null'],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
'type': 'object',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
'properties': {
|
||||||
|
'credentials': {
|
||||||
|
'description': 'Created credentials',
|
||||||
|
'oneOf': [{'$ref': '#/definitions/credentials'}, {'type': 'null'}],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
'type': 'object',
|
||||||
|
}
|
||||||
|
|
||||||
|
def __init__(
|
||||||
|
self, credentials=None, **kwargs):
|
||||||
|
super(CreateCredentialsResponse, self).__init__(**kwargs)
|
||||||
|
self.credentials = credentials
|
||||||
|
|
||||||
|
@schema_property('credentials')
|
||||||
|
def credentials(self):
|
||||||
|
return self._property_credentials
|
||||||
|
|
||||||
|
@credentials.setter
|
||||||
|
def credentials(self, value):
|
||||||
|
if value is None:
|
||||||
|
self._property_credentials = None
|
||||||
|
return
|
||||||
|
if isinstance(value, dict):
|
||||||
|
value = Credentials.from_dict(value)
|
||||||
|
else:
|
||||||
|
self.assert_isinstance(value, "credentials", Credentials)
|
||||||
|
self._property_credentials = value
|
||||||
|
|
||||||
|
|
||||||
|
class EditUserRequest(Request):
|
||||||
|
"""
|
||||||
|
Edit a users' auth data properties
|
||||||
|
|
||||||
|
:param user: User ID
|
||||||
|
:type user: str
|
||||||
|
:param role: The new user's role within the company
|
||||||
|
:type role: str
|
||||||
|
"""
|
||||||
|
|
||||||
|
_service = "auth"
|
||||||
|
_action = "edit_user"
|
||||||
|
_version = "2.9"
|
||||||
|
_schema = {
|
||||||
|
'definitions': {},
|
||||||
|
'properties': {
|
||||||
|
'role': {
|
||||||
|
'description': "The new user's role within the company",
|
||||||
|
'enum': ['admin', 'superuser', 'user', 'annotator'],
|
||||||
|
'type': ['string', 'null'],
|
||||||
|
},
|
||||||
|
'user': {'description': 'User ID', 'type': ['string', 'null']},
|
||||||
|
},
|
||||||
|
'type': 'object',
|
||||||
|
}
|
||||||
|
|
||||||
|
def __init__(
|
||||||
|
self, user=None, role=None, **kwargs):
|
||||||
|
super(EditUserRequest, self).__init__(**kwargs)
|
||||||
|
self.user = user
|
||||||
|
self.role = role
|
||||||
|
|
||||||
|
@schema_property('user')
|
||||||
|
def user(self):
|
||||||
|
return self._property_user
|
||||||
|
|
||||||
|
@user.setter
|
||||||
|
def user(self, value):
|
||||||
|
if value is None:
|
||||||
|
self._property_user = None
|
||||||
|
return
|
||||||
|
|
||||||
|
self.assert_isinstance(value, "user", six.string_types)
|
||||||
|
self._property_user = value
|
||||||
|
|
||||||
|
@schema_property('role')
|
||||||
|
def role(self):
|
||||||
|
return self._property_role
|
||||||
|
|
||||||
|
@role.setter
|
||||||
|
def role(self, value):
|
||||||
|
if value is None:
|
||||||
|
self._property_role = None
|
||||||
|
return
|
||||||
|
|
||||||
|
self.assert_isinstance(value, "role", six.string_types)
|
||||||
|
self._property_role = value
|
||||||
|
|
||||||
|
|
||||||
|
class EditUserResponse(Response):
|
||||||
|
"""
|
||||||
|
Response of auth.edit_user endpoint.
|
||||||
|
|
||||||
|
:param updated: Number of users updated (0 or 1)
|
||||||
|
:type updated: float
|
||||||
|
:param fields: Updated fields names and values
|
||||||
|
:type fields: dict
|
||||||
|
"""
|
||||||
|
_service = "auth"
|
||||||
|
_action = "edit_user"
|
||||||
|
_version = "2.9"
|
||||||
|
|
||||||
|
_schema = {
|
||||||
|
'definitions': {},
|
||||||
|
'properties': {
|
||||||
|
'fields': {
|
||||||
|
'additionalProperties': True,
|
||||||
|
'description': 'Updated fields names and values',
|
||||||
|
'type': ['object', 'null'],
|
||||||
|
},
|
||||||
|
'updated': {
|
||||||
|
'description': 'Number of users updated (0 or 1)',
|
||||||
|
'enum': [0, 1],
|
||||||
|
'type': ['number', 'null'],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
'type': 'object',
|
||||||
|
}
|
||||||
|
|
||||||
|
def __init__(
|
||||||
|
self, updated=None, fields=None, **kwargs):
|
||||||
|
super(EditUserResponse, self).__init__(**kwargs)
|
||||||
|
self.updated = updated
|
||||||
|
self.fields = fields
|
||||||
|
|
||||||
|
@schema_property('updated')
|
||||||
|
def updated(self):
|
||||||
|
return self._property_updated
|
||||||
|
|
||||||
|
@updated.setter
|
||||||
|
def updated(self, value):
|
||||||
|
if value is None:
|
||||||
|
self._property_updated = None
|
||||||
|
return
|
||||||
|
|
||||||
|
self.assert_isinstance(value, "updated", six.integer_types + (float,))
|
||||||
|
self._property_updated = value
|
||||||
|
|
||||||
|
@schema_property('fields')
|
||||||
|
def fields(self):
|
||||||
|
return self._property_fields
|
||||||
|
|
||||||
|
@fields.setter
|
||||||
|
def fields(self, value):
|
||||||
|
if value is None:
|
||||||
|
self._property_fields = None
|
||||||
|
return
|
||||||
|
|
||||||
|
self.assert_isinstance(value, "fields", (dict,))
|
||||||
|
self._property_fields = value
|
||||||
|
|
||||||
|
|
||||||
|
class GetCredentialsRequest(Request):
|
||||||
|
"""
|
||||||
|
Returns all existing credential keys for the authenticated user.
|
||||||
|
Note: Only credential keys are returned.
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
|
_service = "auth"
|
||||||
|
_action = "get_credentials"
|
||||||
|
_version = "2.9"
|
||||||
|
_schema = {
|
||||||
|
'additionalProperties': False,
|
||||||
|
'definitions': {},
|
||||||
|
'properties': {},
|
||||||
|
'type': 'object',
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class GetCredentialsResponse(Response):
|
||||||
|
"""
|
||||||
|
Response of auth.get_credentials endpoint.
|
||||||
|
|
||||||
|
:param credentials: List of credentials, each with an empty secret field.
|
||||||
|
:type credentials: Sequence[CredentialKey]
|
||||||
|
"""
|
||||||
|
_service = "auth"
|
||||||
|
_action = "get_credentials"
|
||||||
|
_version = "2.9"
|
||||||
|
|
||||||
|
_schema = {
|
||||||
|
'definitions': {
|
||||||
|
'credential_key': {
|
||||||
|
'properties': {
|
||||||
|
'access_key': {'description': '', 'type': ['string', 'null']},
|
||||||
|
'last_used': {
|
||||||
|
'description': '',
|
||||||
|
'format': 'date-time',
|
||||||
|
'type': ['string', 'null'],
|
||||||
|
},
|
||||||
|
'last_used_from': {
|
||||||
|
'description': '',
|
||||||
|
'type': ['string', 'null'],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
'type': 'object',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
'properties': {
|
||||||
|
'credentials': {
|
||||||
|
'description': 'List of credentials, each with an empty secret field.',
|
||||||
|
'items': {'$ref': '#/definitions/credential_key'},
|
||||||
|
'type': ['array', 'null'],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
'type': 'object',
|
||||||
|
}
|
||||||
|
|
||||||
|
def __init__(
|
||||||
|
self, credentials=None, **kwargs):
|
||||||
|
super(GetCredentialsResponse, self).__init__(**kwargs)
|
||||||
|
self.credentials = credentials
|
||||||
|
|
||||||
|
@schema_property('credentials')
|
||||||
|
def credentials(self):
|
||||||
|
return self._property_credentials
|
||||||
|
|
||||||
|
@credentials.setter
|
||||||
|
def credentials(self, value):
|
||||||
|
if value is None:
|
||||||
|
self._property_credentials = None
|
||||||
|
return
|
||||||
|
|
||||||
|
self.assert_isinstance(value, "credentials", (list, tuple))
|
||||||
|
if any(isinstance(v, dict) for v in value):
|
||||||
|
value = [CredentialKey.from_dict(v) if isinstance(v, dict) else v for v in value]
|
||||||
|
else:
|
||||||
|
self.assert_isinstance(value, "credentials", CredentialKey, is_array=True)
|
||||||
|
self._property_credentials = value
|
||||||
|
|
||||||
|
|
||||||
|
class LoginRequest(Request):
|
||||||
|
"""
|
||||||
|
Get a token based on supplied credentials (key/secret).
|
||||||
|
Intended for use by users with key/secret credentials that wish to obtain a token
|
||||||
|
for use with other services. Token will be limited by the same permissions that
|
||||||
|
exist for the credentials used in this call.
|
||||||
|
|
||||||
|
:param expiration_sec: Requested token expiration time in seconds. Not
|
||||||
|
guaranteed, might be overridden by the service
|
||||||
|
:type expiration_sec: int
|
||||||
|
"""
|
||||||
|
|
||||||
|
_service = "auth"
|
||||||
|
_action = "login"
|
||||||
|
_version = "2.9"
|
||||||
|
_schema = {
|
||||||
|
'definitions': {},
|
||||||
|
'properties': {
|
||||||
|
'expiration_sec': {
|
||||||
|
'description': 'Requested token expiration time in seconds. \n Not guaranteed, might be overridden by the service',
|
||||||
|
'type': ['integer', 'null'],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
'type': 'object',
|
||||||
|
}
|
||||||
|
|
||||||
|
def __init__(
|
||||||
|
self, expiration_sec=None, **kwargs):
|
||||||
|
super(LoginRequest, self).__init__(**kwargs)
|
||||||
|
self.expiration_sec = expiration_sec
|
||||||
|
|
||||||
|
@schema_property('expiration_sec')
|
||||||
|
def expiration_sec(self):
|
||||||
|
return self._property_expiration_sec
|
||||||
|
|
||||||
|
@expiration_sec.setter
|
||||||
|
def expiration_sec(self, value):
|
||||||
|
if value is None:
|
||||||
|
self._property_expiration_sec = None
|
||||||
|
return
|
||||||
|
if isinstance(value, float) and value.is_integer():
|
||||||
|
value = int(value)
|
||||||
|
|
||||||
|
self.assert_isinstance(value, "expiration_sec", six.integer_types)
|
||||||
|
self._property_expiration_sec = value
|
||||||
|
|
||||||
|
|
||||||
|
class LoginResponse(Response):
|
||||||
|
"""
|
||||||
|
Response of auth.login endpoint.
|
||||||
|
|
||||||
|
:param token: Token string
|
||||||
|
:type token: str
|
||||||
|
"""
|
||||||
|
_service = "auth"
|
||||||
|
_action = "login"
|
||||||
|
_version = "2.9"
|
||||||
|
|
||||||
|
_schema = {
|
||||||
|
'definitions': {},
|
||||||
|
'properties': {
|
||||||
|
'token': {'description': 'Token string', 'type': ['string', 'null']},
|
||||||
|
},
|
||||||
|
'type': 'object',
|
||||||
|
}
|
||||||
|
|
||||||
|
def __init__(
|
||||||
|
self, token=None, **kwargs):
|
||||||
|
super(LoginResponse, self).__init__(**kwargs)
|
||||||
|
self.token = token
|
||||||
|
|
||||||
|
@schema_property('token')
|
||||||
|
def token(self):
|
||||||
|
return self._property_token
|
||||||
|
|
||||||
|
@token.setter
|
||||||
|
def token(self, value):
|
||||||
|
if value is None:
|
||||||
|
self._property_token = None
|
||||||
|
return
|
||||||
|
|
||||||
|
self.assert_isinstance(value, "token", six.string_types)
|
||||||
|
self._property_token = value
|
||||||
|
|
||||||
|
|
||||||
|
class RevokeCredentialsRequest(Request):
|
||||||
|
"""
|
||||||
|
Revokes (and deletes) a set (key, secret) of credentials for
|
||||||
|
the authenticated user.
|
||||||
|
|
||||||
|
:param access_key: Credentials key
|
||||||
|
:type access_key: str
|
||||||
|
"""
|
||||||
|
|
||||||
|
_service = "auth"
|
||||||
|
_action = "revoke_credentials"
|
||||||
|
_version = "2.9"
|
||||||
|
_schema = {
|
||||||
|
'definitions': {},
|
||||||
|
'properties': {
|
||||||
|
'access_key': {
|
||||||
|
'description': 'Credentials key',
|
||||||
|
'type': ['string', 'null'],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
'required': ['key_id'],
|
||||||
|
'type': 'object',
|
||||||
|
}
|
||||||
|
|
||||||
|
def __init__(
|
||||||
|
self, access_key=None, **kwargs):
|
||||||
|
super(RevokeCredentialsRequest, self).__init__(**kwargs)
|
||||||
|
self.access_key = access_key
|
||||||
|
|
||||||
|
@schema_property('access_key')
|
||||||
|
def access_key(self):
|
||||||
|
return self._property_access_key
|
||||||
|
|
||||||
|
@access_key.setter
|
||||||
|
def access_key(self, value):
|
||||||
|
if value is None:
|
||||||
|
self._property_access_key = None
|
||||||
|
return
|
||||||
|
|
||||||
|
self.assert_isinstance(value, "access_key", six.string_types)
|
||||||
|
self._property_access_key = value
|
||||||
|
|
||||||
|
|
||||||
|
class RevokeCredentialsResponse(Response):
|
||||||
|
"""
|
||||||
|
Response of auth.revoke_credentials endpoint.
|
||||||
|
|
||||||
|
:param revoked: Number of credentials revoked
|
||||||
|
:type revoked: int
|
||||||
|
"""
|
||||||
|
_service = "auth"
|
||||||
|
_action = "revoke_credentials"
|
||||||
|
_version = "2.9"
|
||||||
|
|
||||||
|
_schema = {
|
||||||
|
'definitions': {},
|
||||||
|
'properties': {
|
||||||
|
'revoked': {
|
||||||
|
'description': 'Number of credentials revoked',
|
||||||
|
'enum': [0, 1],
|
||||||
|
'type': ['integer', 'null'],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
'type': 'object',
|
||||||
|
}
|
||||||
|
|
||||||
|
def __init__(
|
||||||
|
self, revoked=None, **kwargs):
|
||||||
|
super(RevokeCredentialsResponse, self).__init__(**kwargs)
|
||||||
|
self.revoked = revoked
|
||||||
|
|
||||||
|
@schema_property('revoked')
|
||||||
|
def revoked(self):
|
||||||
|
return self._property_revoked
|
||||||
|
|
||||||
|
@revoked.setter
|
||||||
|
def revoked(self, value):
|
||||||
|
if value is None:
|
||||||
|
self._property_revoked = None
|
||||||
|
return
|
||||||
|
if isinstance(value, float) and value.is_integer():
|
||||||
|
value = int(value)
|
||||||
|
|
||||||
|
self.assert_isinstance(value, "revoked", six.integer_types)
|
||||||
|
self._property_revoked = value
|
||||||
|
|
||||||
|
|
||||||
|
response_mapping = {
|
||||||
|
LoginRequest: LoginResponse,
|
||||||
|
CreateCredentialsRequest: CreateCredentialsResponse,
|
||||||
|
GetCredentialsRequest: GetCredentialsResponse,
|
||||||
|
RevokeCredentialsRequest: RevokeCredentialsResponse,
|
||||||
|
EditUserRequest: EditUserResponse,
|
||||||
|
}
|
3219
trains/backend_api/services/v2_9/events.py
Normal file
3219
trains/backend_api/services/v2_9/events.py
Normal file
File diff suppressed because it is too large
Load Diff
3073
trains/backend_api/services/v2_9/models.py
Normal file
3073
trains/backend_api/services/v2_9/models.py
Normal file
File diff suppressed because it is too large
Load Diff
156
trains/backend_api/services/v2_9/organization.py
Normal file
156
trains/backend_api/services/v2_9/organization.py
Normal file
@ -0,0 +1,156 @@
|
|||||||
|
"""
|
||||||
|
organization service
|
||||||
|
|
||||||
|
This service provides organization level operations
|
||||||
|
"""
|
||||||
|
import six
|
||||||
|
|
||||||
|
from ....backend_api.session import Request, Response, schema_property
|
||||||
|
|
||||||
|
|
||||||
|
class GetTagsRequest(Request):
|
||||||
|
"""
|
||||||
|
Get all the user and system tags used for the company tasks and models
|
||||||
|
|
||||||
|
:param include_system: If set to 'true' then the list of the system tags is
|
||||||
|
also returned. The default value is 'false'
|
||||||
|
:type include_system: bool
|
||||||
|
:param filter: Filter on entities to collect tags from
|
||||||
|
:type filter: dict
|
||||||
|
"""
|
||||||
|
|
||||||
|
_service = "organization"
|
||||||
|
_action = "get_tags"
|
||||||
|
_version = "2.9"
|
||||||
|
_schema = {
|
||||||
|
'definitions': {},
|
||||||
|
'properties': {
|
||||||
|
'filter': {
|
||||||
|
'description': 'Filter on entities to collect tags from',
|
||||||
|
'properties': {
|
||||||
|
'system_tags': {
|
||||||
|
'description': "The list of system tag values to filter by. Use 'null' value to specify empty system tags. Use '__Snot' value to specify that the following value should be excluded",
|
||||||
|
'items': {'type': 'string'},
|
||||||
|
'type': 'array',
|
||||||
|
},
|
||||||
|
'tags': {
|
||||||
|
'description': "The list of tag values to filter by. Use 'null' value to specify empty tags. Use '__Snot' value to specify that the following value should be excluded",
|
||||||
|
'items': {'type': 'string'},
|
||||||
|
'type': 'array',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
'type': ['object', 'null'],
|
||||||
|
},
|
||||||
|
'include_system': {
|
||||||
|
'default': False,
|
||||||
|
'description': "If set to 'true' then the list of the system tags is also returned. The default value is 'false'",
|
||||||
|
'type': ['boolean', 'null'],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
'type': 'object',
|
||||||
|
}
|
||||||
|
|
||||||
|
def __init__(
|
||||||
|
self, include_system=False, filter=None, **kwargs):
|
||||||
|
super(GetTagsRequest, self).__init__(**kwargs)
|
||||||
|
self.include_system = include_system
|
||||||
|
self.filter = filter
|
||||||
|
|
||||||
|
@schema_property('include_system')
|
||||||
|
def include_system(self):
|
||||||
|
return self._property_include_system
|
||||||
|
|
||||||
|
@include_system.setter
|
||||||
|
def include_system(self, value):
|
||||||
|
if value is None:
|
||||||
|
self._property_include_system = None
|
||||||
|
return
|
||||||
|
|
||||||
|
self.assert_isinstance(value, "include_system", (bool,))
|
||||||
|
self._property_include_system = value
|
||||||
|
|
||||||
|
@schema_property('filter')
|
||||||
|
def filter(self):
|
||||||
|
return self._property_filter
|
||||||
|
|
||||||
|
@filter.setter
|
||||||
|
def filter(self, value):
|
||||||
|
if value is None:
|
||||||
|
self._property_filter = None
|
||||||
|
return
|
||||||
|
|
||||||
|
self.assert_isinstance(value, "filter", (dict,))
|
||||||
|
self._property_filter = value
|
||||||
|
|
||||||
|
|
||||||
|
class GetTagsResponse(Response):
|
||||||
|
"""
|
||||||
|
Response of organization.get_tags endpoint.
|
||||||
|
|
||||||
|
:param tags: The list of unique tag values
|
||||||
|
:type tags: Sequence[str]
|
||||||
|
:param system_tags: The list of unique system tag values. Returned only if
|
||||||
|
'include_system' is set to 'true' in the request
|
||||||
|
:type system_tags: Sequence[str]
|
||||||
|
"""
|
||||||
|
_service = "organization"
|
||||||
|
_action = "get_tags"
|
||||||
|
_version = "2.9"
|
||||||
|
|
||||||
|
_schema = {
|
||||||
|
'definitions': {},
|
||||||
|
'properties': {
|
||||||
|
'system_tags': {
|
||||||
|
'description': "The list of unique system tag values. Returned only if 'include_system' is set to 'true' in the request",
|
||||||
|
'items': {'type': 'string'},
|
||||||
|
'type': ['array', 'null'],
|
||||||
|
},
|
||||||
|
'tags': {
|
||||||
|
'description': 'The list of unique tag values',
|
||||||
|
'items': {'type': 'string'},
|
||||||
|
'type': ['array', 'null'],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
'type': 'object',
|
||||||
|
}
|
||||||
|
|
||||||
|
def __init__(
|
||||||
|
self, tags=None, system_tags=None, **kwargs):
|
||||||
|
super(GetTagsResponse, self).__init__(**kwargs)
|
||||||
|
self.tags = tags
|
||||||
|
self.system_tags = system_tags
|
||||||
|
|
||||||
|
@schema_property('tags')
|
||||||
|
def tags(self):
|
||||||
|
return self._property_tags
|
||||||
|
|
||||||
|
@tags.setter
|
||||||
|
def tags(self, value):
|
||||||
|
if value is None:
|
||||||
|
self._property_tags = None
|
||||||
|
return
|
||||||
|
|
||||||
|
self.assert_isinstance(value, "tags", (list, tuple))
|
||||||
|
|
||||||
|
self.assert_isinstance(value, "tags", six.string_types, is_array=True)
|
||||||
|
self._property_tags = value
|
||||||
|
|
||||||
|
@schema_property('system_tags')
|
||||||
|
def system_tags(self):
|
||||||
|
return self._property_system_tags
|
||||||
|
|
||||||
|
@system_tags.setter
|
||||||
|
def system_tags(self, value):
|
||||||
|
if value is None:
|
||||||
|
self._property_system_tags = None
|
||||||
|
return
|
||||||
|
|
||||||
|
self.assert_isinstance(value, "system_tags", (list, tuple))
|
||||||
|
|
||||||
|
self.assert_isinstance(value, "system_tags", six.string_types, is_array=True)
|
||||||
|
self._property_system_tags = value
|
||||||
|
|
||||||
|
|
||||||
|
response_mapping = {
|
||||||
|
GetTagsRequest: GetTagsResponse,
|
||||||
|
}
|
2667
trains/backend_api/services/v2_9/projects.py
Normal file
2667
trains/backend_api/services/v2_9/projects.py
Normal file
File diff suppressed because it is too large
Load Diff
2226
trains/backend_api/services/v2_9/queues.py
Normal file
2226
trains/backend_api/services/v2_9/queues.py
Normal file
File diff suppressed because it is too large
Load Diff
9336
trains/backend_api/services/v2_9/tasks.py
Normal file
9336
trains/backend_api/services/v2_9/tasks.py
Normal file
File diff suppressed because it is too large
Load Diff
2486
trains/backend_api/services/v2_9/workers.py
Normal file
2486
trains/backend_api/services/v2_9/workers.py
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user