cirro_api_client.v1.models

Contains all the data models used in inputs/outputs

  1""" Contains all the data models used in inputs/outputs """
  2
  3from .access_type import AccessType
  4from .allowed_data_type import AllowedDataType
  5from .audit_event import AuditEvent
  6from .audit_event_changes_type_0 import AuditEventChangesType0
  7from .audit_event_event_detail_type_0 import AuditEventEventDetailType0
  8from .auth_info import AuthInfo
  9from .aws_credentials import AWSCredentials
 10from .billing_account import BillingAccount
 11from .billing_account_request import BillingAccountRequest
 12from .billing_method import BillingMethod
 13from .budget_period import BudgetPeriod
 14from .cloud_account import CloudAccount
 15from .cloud_account_type import CloudAccountType
 16from .column_definition import ColumnDefinition
 17from .contact import Contact
 18from .create_notebook_instance_request import CreateNotebookInstanceRequest
 19from .create_reference_request import CreateReferenceRequest
 20from .create_response import CreateResponse
 21from .custom_pipeline_settings import CustomPipelineSettings
 22from .customer_type import CustomerType
 23from .dashboard import Dashboard
 24from .dashboard_dashboard_data import DashboardDashboardData
 25from .dashboard_info import DashboardInfo
 26from .dashboard_request import DashboardRequest
 27from .dashboard_request_dashboard_data import DashboardRequestDashboardData
 28from .dashboard_request_info import DashboardRequestInfo
 29from .dataset import Dataset
 30from .dataset_assets_manifest import DatasetAssetsManifest
 31from .dataset_detail import DatasetDetail
 32from .dataset_detail_info import DatasetDetailInfo
 33from .dataset_detail_params import DatasetDetailParams
 34from .dataset_viz import DatasetViz
 35from .error_message import ErrorMessage
 36from .executor import Executor
 37from .file_access_request import FileAccessRequest
 38from .file_entry import FileEntry
 39from .file_entry_metadata import FileEntryMetadata
 40from .file_name_pattern import FileNamePattern
 41from .file_requirements import FileRequirements
 42from .form_schema import FormSchema
 43from .form_schema_form import FormSchemaForm
 44from .form_schema_ui import FormSchemaUi
 45from .generate_sftp_credentials_request import GenerateSftpCredentialsRequest
 46from .get_execution_logs_response import GetExecutionLogsResponse
 47from .get_project_summary_response_200 import GetProjectSummaryResponse200
 48from .import_data_request import ImportDataRequest
 49from .invite_user_request import InviteUserRequest
 50from .invite_user_response import InviteUserResponse
 51from .log_entry import LogEntry
 52from .login_provider import LoginProvider
 53from .metric_record import MetricRecord
 54from .metric_record_services import MetricRecordServices
 55from .notebook_instance import NotebookInstance
 56from .notebook_instance_status_response import NotebookInstanceStatusResponse
 57from .open_notebook_instance_response import OpenNotebookInstanceResponse
 58from .paginated_response_dataset_list_dto import PaginatedResponseDatasetListDto
 59from .paginated_response_sample_dto import PaginatedResponseSampleDto
 60from .pipeline_code import PipelineCode
 61from .portal_error_response import PortalErrorResponse
 62from .process import Process
 63from .process_detail import ProcessDetail
 64from .project import Project
 65from .project_detail import ProjectDetail
 66from .project_metrics import ProjectMetrics
 67from .project_request import ProjectRequest
 68from .project_role import ProjectRole
 69from .project_settings import ProjectSettings
 70from .project_user import ProjectUser
 71from .reference import Reference
 72from .reference_type import ReferenceType
 73from .reference_type_validation_item import ReferenceTypeValidationItem
 74from .repository_type import RepositoryType
 75from .resources_info import ResourcesInfo
 76from .run_analysis_request import RunAnalysisRequest
 77from .run_analysis_request_params import RunAnalysisRequestParams
 78from .sample import Sample
 79from .sample_metadata import SampleMetadata
 80from .sample_request import SampleRequest
 81from .sample_request_metadata import SampleRequestMetadata
 82from .service_connection import ServiceConnection
 83from .set_user_project_role_request import SetUserProjectRoleRequest
 84from .sftp_credentials import SftpCredentials
 85from .status import Status
 86from .stop_execution_response import StopExecutionResponse
 87from .sync_status import SyncStatus
 88from .system_info_response import SystemInfoResponse
 89from .table import Table
 90from .tag import Tag
 91from .task import Task
 92from .tenant_info import TenantInfo
 93from .update_dataset_request import UpdateDatasetRequest
 94from .update_user_request import UpdateUserRequest
 95from .update_user_request_settings import UpdateUserRequestSettings
 96from .upload_dataset_create_response import UploadDatasetCreateResponse
 97from .upload_dataset_request import UploadDatasetRequest
 98from .user import User
 99from .validate_file_requirements_request import ValidateFileRequirementsRequest
100
101__all__ = (
102    "AccessType",
103    "AllowedDataType",
104    "AuditEvent",
105    "AuditEventChangesType0",
106    "AuditEventEventDetailType0",
107    "AuthInfo",
108    "AWSCredentials",
109    "BillingAccount",
110    "BillingAccountRequest",
111    "BillingMethod",
112    "BudgetPeriod",
113    "CloudAccount",
114    "CloudAccountType",
115    "ColumnDefinition",
116    "Contact",
117    "CreateNotebookInstanceRequest",
118    "CreateReferenceRequest",
119    "CreateResponse",
120    "CustomerType",
121    "CustomPipelineSettings",
122    "Dashboard",
123    "DashboardDashboardData",
124    "DashboardInfo",
125    "DashboardRequest",
126    "DashboardRequestDashboardData",
127    "DashboardRequestInfo",
128    "Dataset",
129    "DatasetAssetsManifest",
130    "DatasetDetail",
131    "DatasetDetailInfo",
132    "DatasetDetailParams",
133    "DatasetViz",
134    "ErrorMessage",
135    "Executor",
136    "FileAccessRequest",
137    "FileEntry",
138    "FileEntryMetadata",
139    "FileNamePattern",
140    "FileRequirements",
141    "FormSchema",
142    "FormSchemaForm",
143    "FormSchemaUi",
144    "GenerateSftpCredentialsRequest",
145    "GetExecutionLogsResponse",
146    "GetProjectSummaryResponse200",
147    "ImportDataRequest",
148    "InviteUserRequest",
149    "InviteUserResponse",
150    "LogEntry",
151    "LoginProvider",
152    "MetricRecord",
153    "MetricRecordServices",
154    "NotebookInstance",
155    "NotebookInstanceStatusResponse",
156    "OpenNotebookInstanceResponse",
157    "PaginatedResponseDatasetListDto",
158    "PaginatedResponseSampleDto",
159    "PipelineCode",
160    "PortalErrorResponse",
161    "Process",
162    "ProcessDetail",
163    "Project",
164    "ProjectDetail",
165    "ProjectMetrics",
166    "ProjectRequest",
167    "ProjectRole",
168    "ProjectSettings",
169    "ProjectUser",
170    "Reference",
171    "ReferenceType",
172    "ReferenceTypeValidationItem",
173    "RepositoryType",
174    "ResourcesInfo",
175    "RunAnalysisRequest",
176    "RunAnalysisRequestParams",
177    "Sample",
178    "SampleMetadata",
179    "SampleRequest",
180    "SampleRequestMetadata",
181    "ServiceConnection",
182    "SetUserProjectRoleRequest",
183    "SftpCredentials",
184    "Status",
185    "StopExecutionResponse",
186    "SyncStatus",
187    "SystemInfoResponse",
188    "Table",
189    "Tag",
190    "Task",
191    "TenantInfo",
192    "UpdateDatasetRequest",
193    "UpdateUserRequest",
194    "UpdateUserRequestSettings",
195    "UploadDatasetCreateResponse",
196    "UploadDatasetRequest",
197    "User",
198    "ValidateFileRequirementsRequest",
199)
class AccessType(builtins.str, enum.Enum):
 5class AccessType(str, Enum):
 6    DATASET_UPLOAD = "DATASET_UPLOAD"
 7    PROJECT_DOWNLOAD = "PROJECT_DOWNLOAD"
 8    REFERENCE_UPLOAD = "REFERENCE_UPLOAD"
 9    SAMPLESHEET_UPLOAD = "SAMPLESHEET_UPLOAD"
10
11    def __str__(self) -> str:
12        return str(self.value)

str(object='') -> str str(bytes_or_buffer[, encoding[, errors]]) -> str

Create a new string object from the given object. If encoding or errors is specified, then the object must expose a data buffer that will be decoded using the given encoding and error handler. Otherwise, returns the result of object.__str__() (if defined) or repr(object). encoding defaults to sys.getdefaultencoding(). errors defaults to 'strict'.

DATASET_UPLOAD = <AccessType.DATASET_UPLOAD: 'DATASET_UPLOAD'>
PROJECT_DOWNLOAD = <AccessType.PROJECT_DOWNLOAD: 'PROJECT_DOWNLOAD'>
REFERENCE_UPLOAD = <AccessType.REFERENCE_UPLOAD: 'REFERENCE_UPLOAD'>
SAMPLESHEET_UPLOAD = <AccessType.SAMPLESHEET_UPLOAD: 'SAMPLESHEET_UPLOAD'>
Inherited Members
enum.Enum
name
value
builtins.str
encode
replace
split
rsplit
join
capitalize
casefold
title
center
count
expandtabs
find
partition
index
ljust
lower
lstrip
rfind
rindex
rjust
rstrip
rpartition
splitlines
strip
swapcase
translate
upper
startswith
endswith
removeprefix
removesuffix
isascii
islower
isupper
istitle
isspace
isdecimal
isdigit
isnumeric
isalpha
isalnum
isidentifier
isprintable
zfill
format
format_map
maketrans
class AllowedDataType:
14@_attrs_define
15class AllowedDataType:
16    """
17    Attributes:
18        description (str):
19        error_msg (str):
20        allowed_patterns (List['FileNamePattern']):
21    """
22
23    description: str
24    error_msg: str
25    allowed_patterns: List["FileNamePattern"]
26    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
27
28    def to_dict(self) -> Dict[str, Any]:
29        description = self.description
30
31        error_msg = self.error_msg
32
33        allowed_patterns = []
34        for allowed_patterns_item_data in self.allowed_patterns:
35            allowed_patterns_item = allowed_patterns_item_data.to_dict()
36            allowed_patterns.append(allowed_patterns_item)
37
38        field_dict: Dict[str, Any] = {}
39        field_dict.update(self.additional_properties)
40        field_dict.update(
41            {
42                "description": description,
43                "errorMsg": error_msg,
44                "allowedPatterns": allowed_patterns,
45            }
46        )
47
48        return field_dict
49
50    @classmethod
51    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
52        from ..models.file_name_pattern import FileNamePattern
53
54        d = src_dict.copy()
55        description = d.pop("description")
56
57        error_msg = d.pop("errorMsg")
58
59        allowed_patterns = []
60        _allowed_patterns = d.pop("allowedPatterns")
61        for allowed_patterns_item_data in _allowed_patterns:
62            allowed_patterns_item = FileNamePattern.from_dict(allowed_patterns_item_data)
63
64            allowed_patterns.append(allowed_patterns_item)
65
66        allowed_data_type = cls(
67            description=description,
68            error_msg=error_msg,
69            allowed_patterns=allowed_patterns,
70        )
71
72        allowed_data_type.additional_properties = d
73        return allowed_data_type
74
75    @property
76    def additional_keys(self) -> List[str]:
77        return list(self.additional_properties.keys())
Attributes:
  • description (str):
  • error_msg (str):
  • allowed_patterns (List['FileNamePattern']):
AllowedDataType( description: str, error_msg: str, allowed_patterns: List[FileNamePattern])
2def __init__(self, description, error_msg, allowed_patterns):
3    self.description = description
4    self.error_msg = error_msg
5    self.allowed_patterns = allowed_patterns
6    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class AllowedDataType.

description: str
error_msg: str
allowed_patterns: List[FileNamePattern]
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
28    def to_dict(self) -> Dict[str, Any]:
29        description = self.description
30
31        error_msg = self.error_msg
32
33        allowed_patterns = []
34        for allowed_patterns_item_data in self.allowed_patterns:
35            allowed_patterns_item = allowed_patterns_item_data.to_dict()
36            allowed_patterns.append(allowed_patterns_item)
37
38        field_dict: Dict[str, Any] = {}
39        field_dict.update(self.additional_properties)
40        field_dict.update(
41            {
42                "description": description,
43                "errorMsg": error_msg,
44                "allowedPatterns": allowed_patterns,
45            }
46        )
47
48        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
50    @classmethod
51    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
52        from ..models.file_name_pattern import FileNamePattern
53
54        d = src_dict.copy()
55        description = d.pop("description")
56
57        error_msg = d.pop("errorMsg")
58
59        allowed_patterns = []
60        _allowed_patterns = d.pop("allowedPatterns")
61        for allowed_patterns_item_data in _allowed_patterns:
62            allowed_patterns_item = FileNamePattern.from_dict(allowed_patterns_item_data)
63
64            allowed_patterns.append(allowed_patterns_item)
65
66        allowed_data_type = cls(
67            description=description,
68            error_msg=error_msg,
69            allowed_patterns=allowed_patterns,
70        )
71
72        allowed_data_type.additional_properties = d
73        return allowed_data_type
additional_keys: List[str]
75    @property
76    def additional_keys(self) -> List[str]:
77        return list(self.additional_properties.keys())
class AuditEvent:
 19@_attrs_define
 20class AuditEvent:
 21    """
 22    Attributes:
 23        id (Union[Unset, str]): The unique identifier for the audit event
 24        event_type (Union[Unset, str]): The type of event Example: CREATE.
 25        project_id (Union[Unset, str]): The project ID associated with the event (if applicable)
 26        entity_id (Union[Unset, str]): The entity ID associated with the event
 27        entity_type (Union[Unset, str]): The entity type associated with the event Example: ProjectRecord.
 28        event_detail (Union['AuditEventEventDetailType0', None, Unset]): The details of the event, such as the request
 29            details sent from the client
 30        changes (Union['AuditEventChangesType0', None, Unset]): The changes made to the entity (if applicable) Example:
 31            {'.settings.retentionPolicyDays': '1 -> 2'}.
 32        username (Union[Unset, str]): The username of the user who performed the action Example: admin@cirro.bio.
 33        ip_address (Union[Unset, str]): The IP address of the user who performed the action Example: 0.0.0.0.
 34        created_at (Union[Unset, datetime.datetime]): The date and time the event was created
 35    """
 36
 37    id: Union[Unset, str] = UNSET
 38    event_type: Union[Unset, str] = UNSET
 39    project_id: Union[Unset, str] = UNSET
 40    entity_id: Union[Unset, str] = UNSET
 41    entity_type: Union[Unset, str] = UNSET
 42    event_detail: Union["AuditEventEventDetailType0", None, Unset] = UNSET
 43    changes: Union["AuditEventChangesType0", None, Unset] = UNSET
 44    username: Union[Unset, str] = UNSET
 45    ip_address: Union[Unset, str] = UNSET
 46    created_at: Union[Unset, datetime.datetime] = UNSET
 47    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
 48
 49    def to_dict(self) -> Dict[str, Any]:
 50        from ..models.audit_event_changes_type_0 import AuditEventChangesType0
 51        from ..models.audit_event_event_detail_type_0 import AuditEventEventDetailType0
 52
 53        id = self.id
 54
 55        event_type = self.event_type
 56
 57        project_id = self.project_id
 58
 59        entity_id = self.entity_id
 60
 61        entity_type = self.entity_type
 62
 63        event_detail: Union[Dict[str, Any], None, Unset]
 64        if isinstance(self.event_detail, Unset):
 65            event_detail = UNSET
 66        elif isinstance(self.event_detail, AuditEventEventDetailType0):
 67            event_detail = self.event_detail.to_dict()
 68        else:
 69            event_detail = self.event_detail
 70
 71        changes: Union[Dict[str, Any], None, Unset]
 72        if isinstance(self.changes, Unset):
 73            changes = UNSET
 74        elif isinstance(self.changes, AuditEventChangesType0):
 75            changes = self.changes.to_dict()
 76        else:
 77            changes = self.changes
 78
 79        username = self.username
 80
 81        ip_address = self.ip_address
 82
 83        created_at: Union[Unset, str] = UNSET
 84        if not isinstance(self.created_at, Unset):
 85            created_at = self.created_at.isoformat()
 86
 87        field_dict: Dict[str, Any] = {}
 88        field_dict.update(self.additional_properties)
 89        field_dict.update({})
 90        if id is not UNSET:
 91            field_dict["id"] = id
 92        if event_type is not UNSET:
 93            field_dict["eventType"] = event_type
 94        if project_id is not UNSET:
 95            field_dict["projectId"] = project_id
 96        if entity_id is not UNSET:
 97            field_dict["entityId"] = entity_id
 98        if entity_type is not UNSET:
 99            field_dict["entityType"] = entity_type
100        if event_detail is not UNSET:
101            field_dict["eventDetail"] = event_detail
102        if changes is not UNSET:
103            field_dict["changes"] = changes
104        if username is not UNSET:
105            field_dict["username"] = username
106        if ip_address is not UNSET:
107            field_dict["ipAddress"] = ip_address
108        if created_at is not UNSET:
109            field_dict["createdAt"] = created_at
110
111        return field_dict
112
113    @classmethod
114    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
115        from ..models.audit_event_changes_type_0 import AuditEventChangesType0
116        from ..models.audit_event_event_detail_type_0 import AuditEventEventDetailType0
117
118        d = src_dict.copy()
119        id = d.pop("id", UNSET)
120
121        event_type = d.pop("eventType", UNSET)
122
123        project_id = d.pop("projectId", UNSET)
124
125        entity_id = d.pop("entityId", UNSET)
126
127        entity_type = d.pop("entityType", UNSET)
128
129        def _parse_event_detail(data: object) -> Union["AuditEventEventDetailType0", None, Unset]:
130            if data is None:
131                return data
132            if isinstance(data, Unset):
133                return data
134            try:
135                if not isinstance(data, dict):
136                    raise TypeError()
137                event_detail_type_0 = AuditEventEventDetailType0.from_dict(data)
138
139                return event_detail_type_0
140            except:  # noqa: E722
141                pass
142            return cast(Union["AuditEventEventDetailType0", None, Unset], data)
143
144        event_detail = _parse_event_detail(d.pop("eventDetail", UNSET))
145
146        def _parse_changes(data: object) -> Union["AuditEventChangesType0", None, Unset]:
147            if data is None:
148                return data
149            if isinstance(data, Unset):
150                return data
151            try:
152                if not isinstance(data, dict):
153                    raise TypeError()
154                changes_type_0 = AuditEventChangesType0.from_dict(data)
155
156                return changes_type_0
157            except:  # noqa: E722
158                pass
159            return cast(Union["AuditEventChangesType0", None, Unset], data)
160
161        changes = _parse_changes(d.pop("changes", UNSET))
162
163        username = d.pop("username", UNSET)
164
165        ip_address = d.pop("ipAddress", UNSET)
166
167        _created_at = d.pop("createdAt", UNSET)
168        created_at: Union[Unset, datetime.datetime]
169        if isinstance(_created_at, Unset):
170            created_at = UNSET
171        else:
172            created_at = isoparse(_created_at)
173
174        audit_event = cls(
175            id=id,
176            event_type=event_type,
177            project_id=project_id,
178            entity_id=entity_id,
179            entity_type=entity_type,
180            event_detail=event_detail,
181            changes=changes,
182            username=username,
183            ip_address=ip_address,
184            created_at=created_at,
185        )
186
187        audit_event.additional_properties = d
188        return audit_event
189
190    @property
191    def additional_keys(self) -> List[str]:
192        return list(self.additional_properties.keys())
Attributes:
  • id (Union[Unset, str]): The unique identifier for the audit event
  • event_type (Union[Unset, str]): The type of event Example: CREATE.
  • project_id (Union[Unset, str]): The project ID associated with the event (if applicable)
  • entity_id (Union[Unset, str]): The entity ID associated with the event
  • entity_type (Union[Unset, str]): The entity type associated with the event Example: ProjectRecord.
  • event_detail (Union['AuditEventEventDetailType0', None, Unset]): The details of the event, such as the request details sent from the client
  • changes (Union['AuditEventChangesType0', None, Unset]): The changes made to the entity (if applicable) Example: {'.settings.retentionPolicyDays': '1 -> 2'}.
  • username (Union[Unset, str]): The username of the user who performed the action Example: admin@cirro.bio.
  • ip_address (Union[Unset, str]): The IP address of the user who performed the action Example: 0.0.0.0.
  • created_at (Union[Unset, datetime.datetime]): The date and time the event was created
AuditEvent( id: Union[cirro_api_client.v1.types.Unset, str] = <cirro_api_client.v1.types.Unset object>, event_type: Union[cirro_api_client.v1.types.Unset, str] = <cirro_api_client.v1.types.Unset object>, project_id: Union[cirro_api_client.v1.types.Unset, str] = <cirro_api_client.v1.types.Unset object>, entity_id: Union[cirro_api_client.v1.types.Unset, str] = <cirro_api_client.v1.types.Unset object>, entity_type: Union[cirro_api_client.v1.types.Unset, str] = <cirro_api_client.v1.types.Unset object>, event_detail: Union[AuditEventEventDetailType0, NoneType, cirro_api_client.v1.types.Unset] = <cirro_api_client.v1.types.Unset object>, changes: Union[AuditEventChangesType0, NoneType, cirro_api_client.v1.types.Unset] = <cirro_api_client.v1.types.Unset object>, username: Union[cirro_api_client.v1.types.Unset, str] = <cirro_api_client.v1.types.Unset object>, ip_address: Union[cirro_api_client.v1.types.Unset, str] = <cirro_api_client.v1.types.Unset object>, created_at: Union[cirro_api_client.v1.types.Unset, datetime.datetime] = <cirro_api_client.v1.types.Unset object>)
 2def __init__(self, id=attr_dict['id'].default, event_type=attr_dict['event_type'].default, project_id=attr_dict['project_id'].default, entity_id=attr_dict['entity_id'].default, entity_type=attr_dict['entity_type'].default, event_detail=attr_dict['event_detail'].default, changes=attr_dict['changes'].default, username=attr_dict['username'].default, ip_address=attr_dict['ip_address'].default, created_at=attr_dict['created_at'].default):
 3    self.id = id
 4    self.event_type = event_type
 5    self.project_id = project_id
 6    self.entity_id = entity_id
 7    self.entity_type = entity_type
 8    self.event_detail = event_detail
 9    self.changes = changes
10    self.username = username
11    self.ip_address = ip_address
12    self.created_at = created_at
13    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class AuditEvent.

id: Union[cirro_api_client.v1.types.Unset, str]
event_type: Union[cirro_api_client.v1.types.Unset, str]
project_id: Union[cirro_api_client.v1.types.Unset, str]
entity_id: Union[cirro_api_client.v1.types.Unset, str]
entity_type: Union[cirro_api_client.v1.types.Unset, str]
event_detail: Union[AuditEventEventDetailType0, NoneType, cirro_api_client.v1.types.Unset]
changes: Union[AuditEventChangesType0, NoneType, cirro_api_client.v1.types.Unset]
username: Union[cirro_api_client.v1.types.Unset, str]
ip_address: Union[cirro_api_client.v1.types.Unset, str]
created_at: Union[cirro_api_client.v1.types.Unset, datetime.datetime]
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
 49    def to_dict(self) -> Dict[str, Any]:
 50        from ..models.audit_event_changes_type_0 import AuditEventChangesType0
 51        from ..models.audit_event_event_detail_type_0 import AuditEventEventDetailType0
 52
 53        id = self.id
 54
 55        event_type = self.event_type
 56
 57        project_id = self.project_id
 58
 59        entity_id = self.entity_id
 60
 61        entity_type = self.entity_type
 62
 63        event_detail: Union[Dict[str, Any], None, Unset]
 64        if isinstance(self.event_detail, Unset):
 65            event_detail = UNSET
 66        elif isinstance(self.event_detail, AuditEventEventDetailType0):
 67            event_detail = self.event_detail.to_dict()
 68        else:
 69            event_detail = self.event_detail
 70
 71        changes: Union[Dict[str, Any], None, Unset]
 72        if isinstance(self.changes, Unset):
 73            changes = UNSET
 74        elif isinstance(self.changes, AuditEventChangesType0):
 75            changes = self.changes.to_dict()
 76        else:
 77            changes = self.changes
 78
 79        username = self.username
 80
 81        ip_address = self.ip_address
 82
 83        created_at: Union[Unset, str] = UNSET
 84        if not isinstance(self.created_at, Unset):
 85            created_at = self.created_at.isoformat()
 86
 87        field_dict: Dict[str, Any] = {}
 88        field_dict.update(self.additional_properties)
 89        field_dict.update({})
 90        if id is not UNSET:
 91            field_dict["id"] = id
 92        if event_type is not UNSET:
 93            field_dict["eventType"] = event_type
 94        if project_id is not UNSET:
 95            field_dict["projectId"] = project_id
 96        if entity_id is not UNSET:
 97            field_dict["entityId"] = entity_id
 98        if entity_type is not UNSET:
 99            field_dict["entityType"] = entity_type
100        if event_detail is not UNSET:
101            field_dict["eventDetail"] = event_detail
102        if changes is not UNSET:
103            field_dict["changes"] = changes
104        if username is not UNSET:
105            field_dict["username"] = username
106        if ip_address is not UNSET:
107            field_dict["ipAddress"] = ip_address
108        if created_at is not UNSET:
109            field_dict["createdAt"] = created_at
110
111        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
113    @classmethod
114    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
115        from ..models.audit_event_changes_type_0 import AuditEventChangesType0
116        from ..models.audit_event_event_detail_type_0 import AuditEventEventDetailType0
117
118        d = src_dict.copy()
119        id = d.pop("id", UNSET)
120
121        event_type = d.pop("eventType", UNSET)
122
123        project_id = d.pop("projectId", UNSET)
124
125        entity_id = d.pop("entityId", UNSET)
126
127        entity_type = d.pop("entityType", UNSET)
128
129        def _parse_event_detail(data: object) -> Union["AuditEventEventDetailType0", None, Unset]:
130            if data is None:
131                return data
132            if isinstance(data, Unset):
133                return data
134            try:
135                if not isinstance(data, dict):
136                    raise TypeError()
137                event_detail_type_0 = AuditEventEventDetailType0.from_dict(data)
138
139                return event_detail_type_0
140            except:  # noqa: E722
141                pass
142            return cast(Union["AuditEventEventDetailType0", None, Unset], data)
143
144        event_detail = _parse_event_detail(d.pop("eventDetail", UNSET))
145
146        def _parse_changes(data: object) -> Union["AuditEventChangesType0", None, Unset]:
147            if data is None:
148                return data
149            if isinstance(data, Unset):
150                return data
151            try:
152                if not isinstance(data, dict):
153                    raise TypeError()
154                changes_type_0 = AuditEventChangesType0.from_dict(data)
155
156                return changes_type_0
157            except:  # noqa: E722
158                pass
159            return cast(Union["AuditEventChangesType0", None, Unset], data)
160
161        changes = _parse_changes(d.pop("changes", UNSET))
162
163        username = d.pop("username", UNSET)
164
165        ip_address = d.pop("ipAddress", UNSET)
166
167        _created_at = d.pop("createdAt", UNSET)
168        created_at: Union[Unset, datetime.datetime]
169        if isinstance(_created_at, Unset):
170            created_at = UNSET
171        else:
172            created_at = isoparse(_created_at)
173
174        audit_event = cls(
175            id=id,
176            event_type=event_type,
177            project_id=project_id,
178            entity_id=entity_id,
179            entity_type=entity_type,
180            event_detail=event_detail,
181            changes=changes,
182            username=username,
183            ip_address=ip_address,
184            created_at=created_at,
185        )
186
187        audit_event.additional_properties = d
188        return audit_event
additional_keys: List[str]
190    @property
191    def additional_keys(self) -> List[str]:
192        return list(self.additional_properties.keys())
class AuditEventChangesType0:
10@_attrs_define
11class AuditEventChangesType0:
12    """The changes made to the entity (if applicable)
13
14    Example:
15        {'.settings.retentionPolicyDays': '1 -> 2'}
16
17    """
18
19    additional_properties: Dict[str, str] = _attrs_field(init=False, factory=dict)
20
21    def to_dict(self) -> Dict[str, Any]:
22        field_dict: Dict[str, Any] = {}
23        field_dict.update(self.additional_properties)
24        field_dict.update({})
25
26        return field_dict
27
28    @classmethod
29    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
30        d = src_dict.copy()
31        audit_event_changes_type_0 = cls()
32
33        audit_event_changes_type_0.additional_properties = d
34        return audit_event_changes_type_0
35
36    @property
37    def additional_keys(self) -> List[str]:
38        return list(self.additional_properties.keys())

The changes made to the entity (if applicable)

Example:

{'.settings.retentionPolicyDays': '1 -> 2'}

AuditEventChangesType0()
2def __init__(self, ):
3    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class AuditEventChangesType0.

additional_properties: Dict[str, str]
def to_dict(self) -> Dict[str, Any]:
21    def to_dict(self) -> Dict[str, Any]:
22        field_dict: Dict[str, Any] = {}
23        field_dict.update(self.additional_properties)
24        field_dict.update({})
25
26        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
28    @classmethod
29    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
30        d = src_dict.copy()
31        audit_event_changes_type_0 = cls()
32
33        audit_event_changes_type_0.additional_properties = d
34        return audit_event_changes_type_0
additional_keys: List[str]
36    @property
37    def additional_keys(self) -> List[str]:
38        return list(self.additional_properties.keys())
class AuditEventEventDetailType0:
10@_attrs_define
11class AuditEventEventDetailType0:
12    """The details of the event, such as the request details sent from the client"""
13
14    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
15
16    def to_dict(self) -> Dict[str, Any]:
17        field_dict: Dict[str, Any] = {}
18        field_dict.update(self.additional_properties)
19        field_dict.update({})
20
21        return field_dict
22
23    @classmethod
24    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
25        d = src_dict.copy()
26        audit_event_event_detail_type_0 = cls()
27
28        audit_event_event_detail_type_0.additional_properties = d
29        return audit_event_event_detail_type_0
30
31    @property
32    def additional_keys(self) -> List[str]:
33        return list(self.additional_properties.keys())

The details of the event, such as the request details sent from the client

AuditEventEventDetailType0()
2def __init__(self, ):
3    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class AuditEventEventDetailType0.

additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
16    def to_dict(self) -> Dict[str, Any]:
17        field_dict: Dict[str, Any] = {}
18        field_dict.update(self.additional_properties)
19        field_dict.update({})
20
21        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
23    @classmethod
24    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
25        d = src_dict.copy()
26        audit_event_event_detail_type_0 = cls()
27
28        audit_event_event_detail_type_0.additional_properties = d
29        return audit_event_event_detail_type_0
additional_keys: List[str]
31    @property
32    def additional_keys(self) -> List[str]:
33        return list(self.additional_properties.keys())
class AuthInfo:
10@_attrs_define
11class AuthInfo:
12    """
13    Attributes:
14        user_pool_id (str):
15        sdk_app_id (str):
16        ui_app_id (str):
17        endpoint (str):
18    """
19
20    user_pool_id: str
21    sdk_app_id: str
22    ui_app_id: str
23    endpoint: str
24    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
25
26    def to_dict(self) -> Dict[str, Any]:
27        user_pool_id = self.user_pool_id
28
29        sdk_app_id = self.sdk_app_id
30
31        ui_app_id = self.ui_app_id
32
33        endpoint = self.endpoint
34
35        field_dict: Dict[str, Any] = {}
36        field_dict.update(self.additional_properties)
37        field_dict.update(
38            {
39                "userPoolId": user_pool_id,
40                "sdkAppId": sdk_app_id,
41                "uiAppId": ui_app_id,
42                "endpoint": endpoint,
43            }
44        )
45
46        return field_dict
47
48    @classmethod
49    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
50        d = src_dict.copy()
51        user_pool_id = d.pop("userPoolId")
52
53        sdk_app_id = d.pop("sdkAppId")
54
55        ui_app_id = d.pop("uiAppId")
56
57        endpoint = d.pop("endpoint")
58
59        auth_info = cls(
60            user_pool_id=user_pool_id,
61            sdk_app_id=sdk_app_id,
62            ui_app_id=ui_app_id,
63            endpoint=endpoint,
64        )
65
66        auth_info.additional_properties = d
67        return auth_info
68
69    @property
70    def additional_keys(self) -> List[str]:
71        return list(self.additional_properties.keys())
Attributes:
  • user_pool_id (str):
  • sdk_app_id (str):
  • ui_app_id (str):
  • endpoint (str):
AuthInfo(user_pool_id: str, sdk_app_id: str, ui_app_id: str, endpoint: str)
2def __init__(self, user_pool_id, sdk_app_id, ui_app_id, endpoint):
3    self.user_pool_id = user_pool_id
4    self.sdk_app_id = sdk_app_id
5    self.ui_app_id = ui_app_id
6    self.endpoint = endpoint
7    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class AuthInfo.

user_pool_id: str
sdk_app_id: str
ui_app_id: str
endpoint: str
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
26    def to_dict(self) -> Dict[str, Any]:
27        user_pool_id = self.user_pool_id
28
29        sdk_app_id = self.sdk_app_id
30
31        ui_app_id = self.ui_app_id
32
33        endpoint = self.endpoint
34
35        field_dict: Dict[str, Any] = {}
36        field_dict.update(self.additional_properties)
37        field_dict.update(
38            {
39                "userPoolId": user_pool_id,
40                "sdkAppId": sdk_app_id,
41                "uiAppId": ui_app_id,
42                "endpoint": endpoint,
43            }
44        )
45
46        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
48    @classmethod
49    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
50        d = src_dict.copy()
51        user_pool_id = d.pop("userPoolId")
52
53        sdk_app_id = d.pop("sdkAppId")
54
55        ui_app_id = d.pop("uiAppId")
56
57        endpoint = d.pop("endpoint")
58
59        auth_info = cls(
60            user_pool_id=user_pool_id,
61            sdk_app_id=sdk_app_id,
62            ui_app_id=ui_app_id,
63            endpoint=endpoint,
64        )
65
66        auth_info.additional_properties = d
67        return auth_info
additional_keys: List[str]
69    @property
70    def additional_keys(self) -> List[str]:
71        return list(self.additional_properties.keys())
class AWSCredentials:
14@_attrs_define
15class AWSCredentials:
16    """
17    Attributes:
18        access_key_id (str):
19        secret_access_key (str):
20        session_token (str):
21        expiration (datetime.datetime):
22        region (Union[Unset, str]): Region of requested resource (i.e., S3 Bucket)
23    """
24
25    access_key_id: str
26    secret_access_key: str
27    session_token: str
28    expiration: datetime.datetime
29    region: Union[Unset, str] = UNSET
30    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
31
32    def to_dict(self) -> Dict[str, Any]:
33        access_key_id = self.access_key_id
34
35        secret_access_key = self.secret_access_key
36
37        session_token = self.session_token
38
39        expiration = self.expiration.isoformat()
40
41        region = self.region
42
43        field_dict: Dict[str, Any] = {}
44        field_dict.update(self.additional_properties)
45        field_dict.update(
46            {
47                "accessKeyId": access_key_id,
48                "secretAccessKey": secret_access_key,
49                "sessionToken": session_token,
50                "expiration": expiration,
51            }
52        )
53        if region is not UNSET:
54            field_dict["region"] = region
55
56        return field_dict
57
58    @classmethod
59    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
60        d = src_dict.copy()
61        access_key_id = d.pop("accessKeyId")
62
63        secret_access_key = d.pop("secretAccessKey")
64
65        session_token = d.pop("sessionToken")
66
67        expiration = isoparse(d.pop("expiration"))
68
69        region = d.pop("region", UNSET)
70
71        aws_credentials = cls(
72            access_key_id=access_key_id,
73            secret_access_key=secret_access_key,
74            session_token=session_token,
75            expiration=expiration,
76            region=region,
77        )
78
79        aws_credentials.additional_properties = d
80        return aws_credentials
81
82    @property
83    def additional_keys(self) -> List[str]:
84        return list(self.additional_properties.keys())
Attributes:
  • access_key_id (str):
  • secret_access_key (str):
  • session_token (str):
  • expiration (datetime.datetime):
  • region (Union[Unset, str]): Region of requested resource (i.e., S3 Bucket)
AWSCredentials( access_key_id: str, secret_access_key: str, session_token: str, expiration: datetime.datetime, region: Union[cirro_api_client.v1.types.Unset, str] = <cirro_api_client.v1.types.Unset object>)
2def __init__(self, access_key_id, secret_access_key, session_token, expiration, region=attr_dict['region'].default):
3    self.access_key_id = access_key_id
4    self.secret_access_key = secret_access_key
5    self.session_token = session_token
6    self.expiration = expiration
7    self.region = region
8    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class AWSCredentials.

access_key_id: str
secret_access_key: str
session_token: str
expiration: datetime.datetime
region: Union[cirro_api_client.v1.types.Unset, str]
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
32    def to_dict(self) -> Dict[str, Any]:
33        access_key_id = self.access_key_id
34
35        secret_access_key = self.secret_access_key
36
37        session_token = self.session_token
38
39        expiration = self.expiration.isoformat()
40
41        region = self.region
42
43        field_dict: Dict[str, Any] = {}
44        field_dict.update(self.additional_properties)
45        field_dict.update(
46            {
47                "accessKeyId": access_key_id,
48                "secretAccessKey": secret_access_key,
49                "sessionToken": session_token,
50                "expiration": expiration,
51            }
52        )
53        if region is not UNSET:
54            field_dict["region"] = region
55
56        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
58    @classmethod
59    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
60        d = src_dict.copy()
61        access_key_id = d.pop("accessKeyId")
62
63        secret_access_key = d.pop("secretAccessKey")
64
65        session_token = d.pop("sessionToken")
66
67        expiration = isoparse(d.pop("expiration"))
68
69        region = d.pop("region", UNSET)
70
71        aws_credentials = cls(
72            access_key_id=access_key_id,
73            secret_access_key=secret_access_key,
74            session_token=session_token,
75            expiration=expiration,
76            region=region,
77        )
78
79        aws_credentials.additional_properties = d
80        return aws_credentials
additional_keys: List[str]
82    @property
83    def additional_keys(self) -> List[str]:
84        return list(self.additional_properties.keys())
class BillingAccount:
 17@_attrs_define
 18class BillingAccount:
 19    """
 20    Attributes:
 21        id (str):
 22        name (str):
 23        organization (str):
 24        contacts (List['Contact']):
 25        customer_type (CustomerType):
 26        billing_method (BillingMethod):
 27        primary_budget_number (str):
 28        owner (str):
 29        shared_with (List[str]):
 30        is_archived (bool):
 31    """
 32
 33    id: str
 34    name: str
 35    organization: str
 36    contacts: List["Contact"]
 37    customer_type: CustomerType
 38    billing_method: BillingMethod
 39    primary_budget_number: str
 40    owner: str
 41    shared_with: List[str]
 42    is_archived: bool
 43    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
 44
 45    def to_dict(self) -> Dict[str, Any]:
 46        id = self.id
 47
 48        name = self.name
 49
 50        organization = self.organization
 51
 52        contacts = []
 53        for contacts_item_data in self.contacts:
 54            contacts_item = contacts_item_data.to_dict()
 55            contacts.append(contacts_item)
 56
 57        customer_type = self.customer_type.value
 58
 59        billing_method = self.billing_method.value
 60
 61        primary_budget_number = self.primary_budget_number
 62
 63        owner = self.owner
 64
 65        shared_with = self.shared_with
 66
 67        is_archived = self.is_archived
 68
 69        field_dict: Dict[str, Any] = {}
 70        field_dict.update(self.additional_properties)
 71        field_dict.update(
 72            {
 73                "id": id,
 74                "name": name,
 75                "organization": organization,
 76                "contacts": contacts,
 77                "customerType": customer_type,
 78                "billingMethod": billing_method,
 79                "primaryBudgetNumber": primary_budget_number,
 80                "owner": owner,
 81                "sharedWith": shared_with,
 82                "isArchived": is_archived,
 83            }
 84        )
 85
 86        return field_dict
 87
 88    @classmethod
 89    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 90        from ..models.contact import Contact
 91
 92        d = src_dict.copy()
 93        id = d.pop("id")
 94
 95        name = d.pop("name")
 96
 97        organization = d.pop("organization")
 98
 99        contacts = []
100        _contacts = d.pop("contacts")
101        for contacts_item_data in _contacts:
102            contacts_item = Contact.from_dict(contacts_item_data)
103
104            contacts.append(contacts_item)
105
106        customer_type = CustomerType(d.pop("customerType"))
107
108        billing_method = BillingMethod(d.pop("billingMethod"))
109
110        primary_budget_number = d.pop("primaryBudgetNumber")
111
112        owner = d.pop("owner")
113
114        shared_with = cast(List[str], d.pop("sharedWith"))
115
116        is_archived = d.pop("isArchived")
117
118        billing_account = cls(
119            id=id,
120            name=name,
121            organization=organization,
122            contacts=contacts,
123            customer_type=customer_type,
124            billing_method=billing_method,
125            primary_budget_number=primary_budget_number,
126            owner=owner,
127            shared_with=shared_with,
128            is_archived=is_archived,
129        )
130
131        billing_account.additional_properties = d
132        return billing_account
133
134    @property
135    def additional_keys(self) -> List[str]:
136        return list(self.additional_properties.keys())
Attributes:
  • id (str):
  • name (str):
  • organization (str):
  • contacts (List['Contact']):
  • customer_type (CustomerType):
  • billing_method (BillingMethod):
  • primary_budget_number (str):
  • owner (str):
  • shared_with (List[str]):
  • is_archived (bool):
BillingAccount( id: str, name: str, organization: str, contacts: List[Contact], customer_type: CustomerType, billing_method: BillingMethod, primary_budget_number: str, owner: str, shared_with: List[str], is_archived: bool)
 2def __init__(self, id, name, organization, contacts, customer_type, billing_method, primary_budget_number, owner, shared_with, is_archived):
 3    self.id = id
 4    self.name = name
 5    self.organization = organization
 6    self.contacts = contacts
 7    self.customer_type = customer_type
 8    self.billing_method = billing_method
 9    self.primary_budget_number = primary_budget_number
10    self.owner = owner
11    self.shared_with = shared_with
12    self.is_archived = is_archived
13    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class BillingAccount.

id: str
name: str
organization: str
contacts: List[Contact]
customer_type: CustomerType
billing_method: BillingMethod
primary_budget_number: str
owner: str
shared_with: List[str]
is_archived: bool
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
45    def to_dict(self) -> Dict[str, Any]:
46        id = self.id
47
48        name = self.name
49
50        organization = self.organization
51
52        contacts = []
53        for contacts_item_data in self.contacts:
54            contacts_item = contacts_item_data.to_dict()
55            contacts.append(contacts_item)
56
57        customer_type = self.customer_type.value
58
59        billing_method = self.billing_method.value
60
61        primary_budget_number = self.primary_budget_number
62
63        owner = self.owner
64
65        shared_with = self.shared_with
66
67        is_archived = self.is_archived
68
69        field_dict: Dict[str, Any] = {}
70        field_dict.update(self.additional_properties)
71        field_dict.update(
72            {
73                "id": id,
74                "name": name,
75                "organization": organization,
76                "contacts": contacts,
77                "customerType": customer_type,
78                "billingMethod": billing_method,
79                "primaryBudgetNumber": primary_budget_number,
80                "owner": owner,
81                "sharedWith": shared_with,
82                "isArchived": is_archived,
83            }
84        )
85
86        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
 88    @classmethod
 89    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 90        from ..models.contact import Contact
 91
 92        d = src_dict.copy()
 93        id = d.pop("id")
 94
 95        name = d.pop("name")
 96
 97        organization = d.pop("organization")
 98
 99        contacts = []
100        _contacts = d.pop("contacts")
101        for contacts_item_data in _contacts:
102            contacts_item = Contact.from_dict(contacts_item_data)
103
104            contacts.append(contacts_item)
105
106        customer_type = CustomerType(d.pop("customerType"))
107
108        billing_method = BillingMethod(d.pop("billingMethod"))
109
110        primary_budget_number = d.pop("primaryBudgetNumber")
111
112        owner = d.pop("owner")
113
114        shared_with = cast(List[str], d.pop("sharedWith"))
115
116        is_archived = d.pop("isArchived")
117
118        billing_account = cls(
119            id=id,
120            name=name,
121            organization=organization,
122            contacts=contacts,
123            customer_type=customer_type,
124            billing_method=billing_method,
125            primary_budget_number=primary_budget_number,
126            owner=owner,
127            shared_with=shared_with,
128            is_archived=is_archived,
129        )
130
131        billing_account.additional_properties = d
132        return billing_account
additional_keys: List[str]
134    @property
135    def additional_keys(self) -> List[str]:
136        return list(self.additional_properties.keys())
class BillingAccountRequest:
 17@_attrs_define
 18class BillingAccountRequest:
 19    """
 20    Attributes:
 21        name (str):
 22        contacts (List['Contact']):
 23        customer_type (CustomerType):
 24        billing_method (BillingMethod):
 25        primary_budget_number (str):
 26        owner (str):
 27        shared_with (List[str]):
 28    """
 29
 30    name: str
 31    contacts: List["Contact"]
 32    customer_type: CustomerType
 33    billing_method: BillingMethod
 34    primary_budget_number: str
 35    owner: str
 36    shared_with: List[str]
 37    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
 38
 39    def to_dict(self) -> Dict[str, Any]:
 40        name = self.name
 41
 42        contacts = []
 43        for contacts_item_data in self.contacts:
 44            contacts_item = contacts_item_data.to_dict()
 45            contacts.append(contacts_item)
 46
 47        customer_type = self.customer_type.value
 48
 49        billing_method = self.billing_method.value
 50
 51        primary_budget_number = self.primary_budget_number
 52
 53        owner = self.owner
 54
 55        shared_with = self.shared_with
 56
 57        field_dict: Dict[str, Any] = {}
 58        field_dict.update(self.additional_properties)
 59        field_dict.update(
 60            {
 61                "name": name,
 62                "contacts": contacts,
 63                "customerType": customer_type,
 64                "billingMethod": billing_method,
 65                "primaryBudgetNumber": primary_budget_number,
 66                "owner": owner,
 67                "sharedWith": shared_with,
 68            }
 69        )
 70
 71        return field_dict
 72
 73    @classmethod
 74    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 75        from ..models.contact import Contact
 76
 77        d = src_dict.copy()
 78        name = d.pop("name")
 79
 80        contacts = []
 81        _contacts = d.pop("contacts")
 82        for contacts_item_data in _contacts:
 83            contacts_item = Contact.from_dict(contacts_item_data)
 84
 85            contacts.append(contacts_item)
 86
 87        customer_type = CustomerType(d.pop("customerType"))
 88
 89        billing_method = BillingMethod(d.pop("billingMethod"))
 90
 91        primary_budget_number = d.pop("primaryBudgetNumber")
 92
 93        owner = d.pop("owner")
 94
 95        shared_with = cast(List[str], d.pop("sharedWith"))
 96
 97        billing_account_request = cls(
 98            name=name,
 99            contacts=contacts,
100            customer_type=customer_type,
101            billing_method=billing_method,
102            primary_budget_number=primary_budget_number,
103            owner=owner,
104            shared_with=shared_with,
105        )
106
107        billing_account_request.additional_properties = d
108        return billing_account_request
109
110    @property
111    def additional_keys(self) -> List[str]:
112        return list(self.additional_properties.keys())
Attributes:
  • name (str):
  • contacts (List['Contact']):
  • customer_type (CustomerType):
  • billing_method (BillingMethod):
  • primary_budget_number (str):
  • owner (str):
  • shared_with (List[str]):
BillingAccountRequest( name: str, contacts: List[Contact], customer_type: CustomerType, billing_method: BillingMethod, primary_budget_number: str, owner: str, shared_with: List[str])
 2def __init__(self, name, contacts, customer_type, billing_method, primary_budget_number, owner, shared_with):
 3    self.name = name
 4    self.contacts = contacts
 5    self.customer_type = customer_type
 6    self.billing_method = billing_method
 7    self.primary_budget_number = primary_budget_number
 8    self.owner = owner
 9    self.shared_with = shared_with
10    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class BillingAccountRequest.

name: str
contacts: List[Contact]
customer_type: CustomerType
billing_method: BillingMethod
primary_budget_number: str
owner: str
shared_with: List[str]
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
39    def to_dict(self) -> Dict[str, Any]:
40        name = self.name
41
42        contacts = []
43        for contacts_item_data in self.contacts:
44            contacts_item = contacts_item_data.to_dict()
45            contacts.append(contacts_item)
46
47        customer_type = self.customer_type.value
48
49        billing_method = self.billing_method.value
50
51        primary_budget_number = self.primary_budget_number
52
53        owner = self.owner
54
55        shared_with = self.shared_with
56
57        field_dict: Dict[str, Any] = {}
58        field_dict.update(self.additional_properties)
59        field_dict.update(
60            {
61                "name": name,
62                "contacts": contacts,
63                "customerType": customer_type,
64                "billingMethod": billing_method,
65                "primaryBudgetNumber": primary_budget_number,
66                "owner": owner,
67                "sharedWith": shared_with,
68            }
69        )
70
71        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
 73    @classmethod
 74    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 75        from ..models.contact import Contact
 76
 77        d = src_dict.copy()
 78        name = d.pop("name")
 79
 80        contacts = []
 81        _contacts = d.pop("contacts")
 82        for contacts_item_data in _contacts:
 83            contacts_item = Contact.from_dict(contacts_item_data)
 84
 85            contacts.append(contacts_item)
 86
 87        customer_type = CustomerType(d.pop("customerType"))
 88
 89        billing_method = BillingMethod(d.pop("billingMethod"))
 90
 91        primary_budget_number = d.pop("primaryBudgetNumber")
 92
 93        owner = d.pop("owner")
 94
 95        shared_with = cast(List[str], d.pop("sharedWith"))
 96
 97        billing_account_request = cls(
 98            name=name,
 99            contacts=contacts,
100            customer_type=customer_type,
101            billing_method=billing_method,
102            primary_budget_number=primary_budget_number,
103            owner=owner,
104            shared_with=shared_with,
105        )
106
107        billing_account_request.additional_properties = d
108        return billing_account_request
additional_keys: List[str]
110    @property
111    def additional_keys(self) -> List[str]:
112        return list(self.additional_properties.keys())
class BillingMethod(builtins.str, enum.Enum):
 5class BillingMethod(str, Enum):
 6    BUDGET_NUMBER = "BUDGET_NUMBER"
 7    CREDIT = "CREDIT"
 8    PURCHASE_ORDER = "PURCHASE_ORDER"
 9
10    def __str__(self) -> str:
11        return str(self.value)

str(object='') -> str str(bytes_or_buffer[, encoding[, errors]]) -> str

Create a new string object from the given object. If encoding or errors is specified, then the object must expose a data buffer that will be decoded using the given encoding and error handler. Otherwise, returns the result of object.__str__() (if defined) or repr(object). encoding defaults to sys.getdefaultencoding(). errors defaults to 'strict'.

BUDGET_NUMBER = <BillingMethod.BUDGET_NUMBER: 'BUDGET_NUMBER'>
CREDIT = <BillingMethod.CREDIT: 'CREDIT'>
PURCHASE_ORDER = <BillingMethod.PURCHASE_ORDER: 'PURCHASE_ORDER'>
Inherited Members
enum.Enum
name
value
builtins.str
encode
replace
split
rsplit
join
capitalize
casefold
title
center
count
expandtabs
find
partition
index
ljust
lower
lstrip
rfind
rindex
rjust
rstrip
rpartition
splitlines
strip
swapcase
translate
upper
startswith
endswith
removeprefix
removesuffix
isascii
islower
isupper
istitle
isspace
isdecimal
isdigit
isnumeric
isalpha
isalnum
isidentifier
isprintable
zfill
format
format_map
maketrans
class BudgetPeriod(builtins.str, enum.Enum):
 5class BudgetPeriod(str, Enum):
 6    ANNUALLY = "ANNUALLY"
 7    MONTHLY = "MONTHLY"
 8    QUARTERLY = "QUARTERLY"
 9
10    def __str__(self) -> str:
11        return str(self.value)

str(object='') -> str str(bytes_or_buffer[, encoding[, errors]]) -> str

Create a new string object from the given object. If encoding or errors is specified, then the object must expose a data buffer that will be decoded using the given encoding and error handler. Otherwise, returns the result of object.__str__() (if defined) or repr(object). encoding defaults to sys.getdefaultencoding(). errors defaults to 'strict'.

ANNUALLY = <BudgetPeriod.ANNUALLY: 'ANNUALLY'>
MONTHLY = <BudgetPeriod.MONTHLY: 'MONTHLY'>
QUARTERLY = <BudgetPeriod.QUARTERLY: 'QUARTERLY'>
Inherited Members
enum.Enum
name
value
builtins.str
encode
replace
split
rsplit
join
capitalize
casefold
title
center
count
expandtabs
find
partition
index
ljust
lower
lstrip
rfind
rindex
rjust
rstrip
rpartition
splitlines
strip
swapcase
translate
upper
startswith
endswith
removeprefix
removesuffix
isascii
islower
isupper
istitle
isspace
isdecimal
isdigit
isnumeric
isalpha
isalnum
isidentifier
isprintable
zfill
format
format_map
maketrans
class CloudAccount:
13@_attrs_define
14class CloudAccount:
15    """
16    Attributes:
17        account_type (CloudAccountType): Type of cloud account (Hosted by Cirro, or Bring your own account)
18        account_id (Union[Unset, str]): AWS Account ID
19        account_name (Union[Unset, str]): Name used to describe the account, useful when the account hosts multiple
20            projects
21        region_name (Union[Unset, str]): AWS Region Code (defaults to region of Cirro app) Example: us-west-2.
22    """
23
24    account_type: CloudAccountType
25    account_id: Union[Unset, str] = UNSET
26    account_name: Union[Unset, str] = UNSET
27    region_name: Union[Unset, str] = UNSET
28    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
29
30    def to_dict(self) -> Dict[str, Any]:
31        account_type = self.account_type.value
32
33        account_id = self.account_id
34
35        account_name = self.account_name
36
37        region_name = self.region_name
38
39        field_dict: Dict[str, Any] = {}
40        field_dict.update(self.additional_properties)
41        field_dict.update(
42            {
43                "accountType": account_type,
44            }
45        )
46        if account_id is not UNSET:
47            field_dict["accountId"] = account_id
48        if account_name is not UNSET:
49            field_dict["accountName"] = account_name
50        if region_name is not UNSET:
51            field_dict["regionName"] = region_name
52
53        return field_dict
54
55    @classmethod
56    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
57        d = src_dict.copy()
58        account_type = CloudAccountType(d.pop("accountType"))
59
60        account_id = d.pop("accountId", UNSET)
61
62        account_name = d.pop("accountName", UNSET)
63
64        region_name = d.pop("regionName", UNSET)
65
66        cloud_account = cls(
67            account_type=account_type,
68            account_id=account_id,
69            account_name=account_name,
70            region_name=region_name,
71        )
72
73        cloud_account.additional_properties = d
74        return cloud_account
75
76    @property
77    def additional_keys(self) -> List[str]:
78        return list(self.additional_properties.keys())
Attributes:
  • account_type (CloudAccountType): Type of cloud account (Hosted by Cirro, or Bring your own account)
  • account_id (Union[Unset, str]): AWS Account ID
  • account_name (Union[Unset, str]): Name used to describe the account, useful when the account hosts multiple projects
  • region_name (Union[Unset, str]): AWS Region Code (defaults to region of Cirro app) Example: us-west-2.
CloudAccount( account_type: CloudAccountType, account_id: Union[cirro_api_client.v1.types.Unset, str] = <cirro_api_client.v1.types.Unset object>, account_name: Union[cirro_api_client.v1.types.Unset, str] = <cirro_api_client.v1.types.Unset object>, region_name: Union[cirro_api_client.v1.types.Unset, str] = <cirro_api_client.v1.types.Unset object>)
2def __init__(self, account_type, account_id=attr_dict['account_id'].default, account_name=attr_dict['account_name'].default, region_name=attr_dict['region_name'].default):
3    self.account_type = account_type
4    self.account_id = account_id
5    self.account_name = account_name
6    self.region_name = region_name
7    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class CloudAccount.

account_type: CloudAccountType
account_id: Union[cirro_api_client.v1.types.Unset, str]
account_name: Union[cirro_api_client.v1.types.Unset, str]
region_name: Union[cirro_api_client.v1.types.Unset, str]
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
30    def to_dict(self) -> Dict[str, Any]:
31        account_type = self.account_type.value
32
33        account_id = self.account_id
34
35        account_name = self.account_name
36
37        region_name = self.region_name
38
39        field_dict: Dict[str, Any] = {}
40        field_dict.update(self.additional_properties)
41        field_dict.update(
42            {
43                "accountType": account_type,
44            }
45        )
46        if account_id is not UNSET:
47            field_dict["accountId"] = account_id
48        if account_name is not UNSET:
49            field_dict["accountName"] = account_name
50        if region_name is not UNSET:
51            field_dict["regionName"] = region_name
52
53        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
55    @classmethod
56    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
57        d = src_dict.copy()
58        account_type = CloudAccountType(d.pop("accountType"))
59
60        account_id = d.pop("accountId", UNSET)
61
62        account_name = d.pop("accountName", UNSET)
63
64        region_name = d.pop("regionName", UNSET)
65
66        cloud_account = cls(
67            account_type=account_type,
68            account_id=account_id,
69            account_name=account_name,
70            region_name=region_name,
71        )
72
73        cloud_account.additional_properties = d
74        return cloud_account
additional_keys: List[str]
76    @property
77    def additional_keys(self) -> List[str]:
78        return list(self.additional_properties.keys())
class CloudAccountType(builtins.str, enum.Enum):
 5class CloudAccountType(str, Enum):
 6    BYOA = "BYOA"
 7    HOSTED = "HOSTED"
 8
 9    def __str__(self) -> str:
10        return str(self.value)

str(object='') -> str str(bytes_or_buffer[, encoding[, errors]]) -> str

Create a new string object from the given object. If encoding or errors is specified, then the object must expose a data buffer that will be decoded using the given encoding and error handler. Otherwise, returns the result of object.__str__() (if defined) or repr(object). encoding defaults to sys.getdefaultencoding(). errors defaults to 'strict'.

BYOA = <CloudAccountType.BYOA: 'BYOA'>
HOSTED = <CloudAccountType.HOSTED: 'HOSTED'>
Inherited Members
enum.Enum
name
value
builtins.str
encode
replace
split
rsplit
join
capitalize
casefold
title
center
count
expandtabs
find
partition
index
ljust
lower
lstrip
rfind
rindex
rjust
rstrip
rpartition
splitlines
strip
swapcase
translate
upper
startswith
endswith
removeprefix
removesuffix
isascii
islower
isupper
istitle
isspace
isdecimal
isdigit
isnumeric
isalpha
isalnum
isidentifier
isprintable
zfill
format
format_map
maketrans
class ColumnDefinition:
12@_attrs_define
13class ColumnDefinition:
14    """
15    Attributes:
16        col (Union[Unset, str]): Column name in asset file
17        name (Union[Unset, str]): User-friendly column name
18        desc (Union[Unset, str]): Description of the column
19    """
20
21    col: Union[Unset, str] = UNSET
22    name: Union[Unset, str] = UNSET
23    desc: Union[Unset, str] = UNSET
24    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
25
26    def to_dict(self) -> Dict[str, Any]:
27        col = self.col
28
29        name = self.name
30
31        desc = self.desc
32
33        field_dict: Dict[str, Any] = {}
34        field_dict.update(self.additional_properties)
35        field_dict.update({})
36        if col is not UNSET:
37            field_dict["col"] = col
38        if name is not UNSET:
39            field_dict["name"] = name
40        if desc is not UNSET:
41            field_dict["desc"] = desc
42
43        return field_dict
44
45    @classmethod
46    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
47        d = src_dict.copy()
48        col = d.pop("col", UNSET)
49
50        name = d.pop("name", UNSET)
51
52        desc = d.pop("desc", UNSET)
53
54        column_definition = cls(
55            col=col,
56            name=name,
57            desc=desc,
58        )
59
60        column_definition.additional_properties = d
61        return column_definition
62
63    @property
64    def additional_keys(self) -> List[str]:
65        return list(self.additional_properties.keys())
Attributes:
  • col (Union[Unset, str]): Column name in asset file
  • name (Union[Unset, str]): User-friendly column name
  • desc (Union[Unset, str]): Description of the column
ColumnDefinition( col: Union[cirro_api_client.v1.types.Unset, str] = <cirro_api_client.v1.types.Unset object>, name: Union[cirro_api_client.v1.types.Unset, str] = <cirro_api_client.v1.types.Unset object>, desc: Union[cirro_api_client.v1.types.Unset, str] = <cirro_api_client.v1.types.Unset object>)
2def __init__(self, col=attr_dict['col'].default, name=attr_dict['name'].default, desc=attr_dict['desc'].default):
3    self.col = col
4    self.name = name
5    self.desc = desc
6    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class ColumnDefinition.

col: Union[cirro_api_client.v1.types.Unset, str]
name: Union[cirro_api_client.v1.types.Unset, str]
desc: Union[cirro_api_client.v1.types.Unset, str]
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
26    def to_dict(self) -> Dict[str, Any]:
27        col = self.col
28
29        name = self.name
30
31        desc = self.desc
32
33        field_dict: Dict[str, Any] = {}
34        field_dict.update(self.additional_properties)
35        field_dict.update({})
36        if col is not UNSET:
37            field_dict["col"] = col
38        if name is not UNSET:
39            field_dict["name"] = name
40        if desc is not UNSET:
41            field_dict["desc"] = desc
42
43        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
45    @classmethod
46    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
47        d = src_dict.copy()
48        col = d.pop("col", UNSET)
49
50        name = d.pop("name", UNSET)
51
52        desc = d.pop("desc", UNSET)
53
54        column_definition = cls(
55            col=col,
56            name=name,
57            desc=desc,
58        )
59
60        column_definition.additional_properties = d
61        return column_definition
additional_keys: List[str]
63    @property
64    def additional_keys(self) -> List[str]:
65        return list(self.additional_properties.keys())
class Contact:
10@_attrs_define
11class Contact:
12    """
13    Attributes:
14        name (str):
15        organization (str):
16        email (str):
17        phone (str):
18    """
19
20    name: str
21    organization: str
22    email: str
23    phone: str
24    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
25
26    def to_dict(self) -> Dict[str, Any]:
27        name = self.name
28
29        organization = self.organization
30
31        email = self.email
32
33        phone = self.phone
34
35        field_dict: Dict[str, Any] = {}
36        field_dict.update(self.additional_properties)
37        field_dict.update(
38            {
39                "name": name,
40                "organization": organization,
41                "email": email,
42                "phone": phone,
43            }
44        )
45
46        return field_dict
47
48    @classmethod
49    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
50        d = src_dict.copy()
51        name = d.pop("name")
52
53        organization = d.pop("organization")
54
55        email = d.pop("email")
56
57        phone = d.pop("phone")
58
59        contact = cls(
60            name=name,
61            organization=organization,
62            email=email,
63            phone=phone,
64        )
65
66        contact.additional_properties = d
67        return contact
68
69    @property
70    def additional_keys(self) -> List[str]:
71        return list(self.additional_properties.keys())
Attributes:
  • name (str):
  • organization (str):
  • email (str):
  • phone (str):
Contact(name: str, organization: str, email: str, phone: str)
2def __init__(self, name, organization, email, phone):
3    self.name = name
4    self.organization = organization
5    self.email = email
6    self.phone = phone
7    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class Contact.

name: str
organization: str
email: str
phone: str
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
26    def to_dict(self) -> Dict[str, Any]:
27        name = self.name
28
29        organization = self.organization
30
31        email = self.email
32
33        phone = self.phone
34
35        field_dict: Dict[str, Any] = {}
36        field_dict.update(self.additional_properties)
37        field_dict.update(
38            {
39                "name": name,
40                "organization": organization,
41                "email": email,
42                "phone": phone,
43            }
44        )
45
46        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
48    @classmethod
49    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
50        d = src_dict.copy()
51        name = d.pop("name")
52
53        organization = d.pop("organization")
54
55        email = d.pop("email")
56
57        phone = d.pop("phone")
58
59        contact = cls(
60            name=name,
61            organization=organization,
62            email=email,
63            phone=phone,
64        )
65
66        contact.additional_properties = d
67        return contact
additional_keys: List[str]
69    @property
70    def additional_keys(self) -> List[str]:
71        return list(self.additional_properties.keys())
class CreateNotebookInstanceRequest:
10@_attrs_define
11class CreateNotebookInstanceRequest:
12    """
13    Attributes:
14        name (str):
15        instance_type (str): AWS EC2 Instance Type (see list of available options) Example: ml.t3.medium.
16        accelerator_types (List[str]):
17        volume_size_gb (int):
18    """
19
20    name: str
21    instance_type: str
22    accelerator_types: List[str]
23    volume_size_gb: int
24    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
25
26    def to_dict(self) -> Dict[str, Any]:
27        name = self.name
28
29        instance_type = self.instance_type
30
31        accelerator_types = self.accelerator_types
32
33        volume_size_gb = self.volume_size_gb
34
35        field_dict: Dict[str, Any] = {}
36        field_dict.update(self.additional_properties)
37        field_dict.update(
38            {
39                "name": name,
40                "instanceType": instance_type,
41                "acceleratorTypes": accelerator_types,
42                "volumeSizeGB": volume_size_gb,
43            }
44        )
45
46        return field_dict
47
48    @classmethod
49    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
50        d = src_dict.copy()
51        name = d.pop("name")
52
53        instance_type = d.pop("instanceType")
54
55        accelerator_types = cast(List[str], d.pop("acceleratorTypes"))
56
57        volume_size_gb = d.pop("volumeSizeGB")
58
59        create_notebook_instance_request = cls(
60            name=name,
61            instance_type=instance_type,
62            accelerator_types=accelerator_types,
63            volume_size_gb=volume_size_gb,
64        )
65
66        create_notebook_instance_request.additional_properties = d
67        return create_notebook_instance_request
68
69    @property
70    def additional_keys(self) -> List[str]:
71        return list(self.additional_properties.keys())
Attributes:
  • name (str):
  • instance_type (str): AWS EC2 Instance Type (see list of available options) Example: ml.t3.medium.
  • accelerator_types (List[str]):
  • volume_size_gb (int):
CreateNotebookInstanceRequest( name: str, instance_type: str, accelerator_types: List[str], volume_size_gb: int)
2def __init__(self, name, instance_type, accelerator_types, volume_size_gb):
3    self.name = name
4    self.instance_type = instance_type
5    self.accelerator_types = accelerator_types
6    self.volume_size_gb = volume_size_gb
7    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class CreateNotebookInstanceRequest.

name: str
instance_type: str
accelerator_types: List[str]
volume_size_gb: int
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
26    def to_dict(self) -> Dict[str, Any]:
27        name = self.name
28
29        instance_type = self.instance_type
30
31        accelerator_types = self.accelerator_types
32
33        volume_size_gb = self.volume_size_gb
34
35        field_dict: Dict[str, Any] = {}
36        field_dict.update(self.additional_properties)
37        field_dict.update(
38            {
39                "name": name,
40                "instanceType": instance_type,
41                "acceleratorTypes": accelerator_types,
42                "volumeSizeGB": volume_size_gb,
43            }
44        )
45
46        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
48    @classmethod
49    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
50        d = src_dict.copy()
51        name = d.pop("name")
52
53        instance_type = d.pop("instanceType")
54
55        accelerator_types = cast(List[str], d.pop("acceleratorTypes"))
56
57        volume_size_gb = d.pop("volumeSizeGB")
58
59        create_notebook_instance_request = cls(
60            name=name,
61            instance_type=instance_type,
62            accelerator_types=accelerator_types,
63            volume_size_gb=volume_size_gb,
64        )
65
66        create_notebook_instance_request.additional_properties = d
67        return create_notebook_instance_request
additional_keys: List[str]
69    @property
70    def additional_keys(self) -> List[str]:
71        return list(self.additional_properties.keys())
class CreateReferenceRequest:
10@_attrs_define
11class CreateReferenceRequest:
12    """
13    Attributes:
14        name (str):
15        description (str):
16        type (str):
17        expected_files (List[str]):
18    """
19
20    name: str
21    description: str
22    type: str
23    expected_files: List[str]
24    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
25
26    def to_dict(self) -> Dict[str, Any]:
27        name = self.name
28
29        description = self.description
30
31        type = self.type
32
33        expected_files = self.expected_files
34
35        field_dict: Dict[str, Any] = {}
36        field_dict.update(self.additional_properties)
37        field_dict.update(
38            {
39                "name": name,
40                "description": description,
41                "type": type,
42                "expectedFiles": expected_files,
43            }
44        )
45
46        return field_dict
47
48    @classmethod
49    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
50        d = src_dict.copy()
51        name = d.pop("name")
52
53        description = d.pop("description")
54
55        type = d.pop("type")
56
57        expected_files = cast(List[str], d.pop("expectedFiles"))
58
59        create_reference_request = cls(
60            name=name,
61            description=description,
62            type=type,
63            expected_files=expected_files,
64        )
65
66        create_reference_request.additional_properties = d
67        return create_reference_request
68
69    @property
70    def additional_keys(self) -> List[str]:
71        return list(self.additional_properties.keys())
Attributes:
  • name (str):
  • description (str):
  • type (str):
  • expected_files (List[str]):
CreateReferenceRequest(name: str, description: str, type: str, expected_files: List[str])
2def __init__(self, name, description, type, expected_files):
3    self.name = name
4    self.description = description
5    self.type = type
6    self.expected_files = expected_files
7    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class CreateReferenceRequest.

name: str
description: str
type: str
expected_files: List[str]
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
26    def to_dict(self) -> Dict[str, Any]:
27        name = self.name
28
29        description = self.description
30
31        type = self.type
32
33        expected_files = self.expected_files
34
35        field_dict: Dict[str, Any] = {}
36        field_dict.update(self.additional_properties)
37        field_dict.update(
38            {
39                "name": name,
40                "description": description,
41                "type": type,
42                "expectedFiles": expected_files,
43            }
44        )
45
46        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
48    @classmethod
49    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
50        d = src_dict.copy()
51        name = d.pop("name")
52
53        description = d.pop("description")
54
55        type = d.pop("type")
56
57        expected_files = cast(List[str], d.pop("expectedFiles"))
58
59        create_reference_request = cls(
60            name=name,
61            description=description,
62            type=type,
63            expected_files=expected_files,
64        )
65
66        create_reference_request.additional_properties = d
67        return create_reference_request
additional_keys: List[str]
69    @property
70    def additional_keys(self) -> List[str]:
71        return list(self.additional_properties.keys())
class CreateResponse:
10@_attrs_define
11class CreateResponse:
12    """
13    Attributes:
14        id (str):
15        message (str):
16    """
17
18    id: str
19    message: str
20    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
21
22    def to_dict(self) -> Dict[str, Any]:
23        id = self.id
24
25        message = self.message
26
27        field_dict: Dict[str, Any] = {}
28        field_dict.update(self.additional_properties)
29        field_dict.update(
30            {
31                "id": id,
32                "message": message,
33            }
34        )
35
36        return field_dict
37
38    @classmethod
39    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
40        d = src_dict.copy()
41        id = d.pop("id")
42
43        message = d.pop("message")
44
45        create_response = cls(
46            id=id,
47            message=message,
48        )
49
50        create_response.additional_properties = d
51        return create_response
52
53    @property
54    def additional_keys(self) -> List[str]:
55        return list(self.additional_properties.keys())
Attributes:
  • id (str):
  • message (str):
CreateResponse(id: str, message: str)
2def __init__(self, id, message):
3    self.id = id
4    self.message = message
5    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class CreateResponse.

id: str
message: str
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
22    def to_dict(self) -> Dict[str, Any]:
23        id = self.id
24
25        message = self.message
26
27        field_dict: Dict[str, Any] = {}
28        field_dict.update(self.additional_properties)
29        field_dict.update(
30            {
31                "id": id,
32                "message": message,
33            }
34        )
35
36        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
38    @classmethod
39    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
40        d = src_dict.copy()
41        id = d.pop("id")
42
43        message = d.pop("message")
44
45        create_response = cls(
46            id=id,
47            message=message,
48        )
49
50        create_response.additional_properties = d
51        return create_response
additional_keys: List[str]
53    @property
54    def additional_keys(self) -> List[str]:
55        return list(self.additional_properties.keys())
class CustomerType(builtins.str, enum.Enum):
 5class CustomerType(str, Enum):
 6    CONSORTIUM = "CONSORTIUM"
 7    EXTERNAL = "EXTERNAL"
 8    INTERNAL = "INTERNAL"
 9
10    def __str__(self) -> str:
11        return str(self.value)

str(object='') -> str str(bytes_or_buffer[, encoding[, errors]]) -> str

Create a new string object from the given object. If encoding or errors is specified, then the object must expose a data buffer that will be decoded using the given encoding and error handler. Otherwise, returns the result of object.__str__() (if defined) or repr(object). encoding defaults to sys.getdefaultencoding(). errors defaults to 'strict'.

CONSORTIUM = <CustomerType.CONSORTIUM: 'CONSORTIUM'>
EXTERNAL = <CustomerType.EXTERNAL: 'EXTERNAL'>
INTERNAL = <CustomerType.INTERNAL: 'INTERNAL'>
Inherited Members
enum.Enum
name
value
builtins.str
encode
replace
split
rsplit
join
capitalize
casefold
title
center
count
expandtabs
find
partition
index
ljust
lower
lstrip
rfind
rindex
rjust
rstrip
rpartition
splitlines
strip
swapcase
translate
upper
startswith
endswith
removeprefix
removesuffix
isascii
islower
isupper
istitle
isspace
isdecimal
isdigit
isnumeric
isalpha
isalnum
isidentifier
isprintable
zfill
format
format_map
maketrans
class CustomPipelineSettings:
 15@_attrs_define
 16class CustomPipelineSettings:
 17    """Used to describe the location of the process definition dependencies
 18
 19    Attributes:
 20        repository (str): GitHub repository that contains the process definition Example: CirroBio/my-pipeline.
 21        branch (Union[Unset, str]): Branch, tag, or commit hash of the repo that contains the process definition
 22            Default: 'main'.
 23        folder (Union[Unset, str]): Folder within the repo that contains the process definition Default: '.cirro'.
 24        last_sync (Union[None, Unset, datetime.datetime]): Time of last sync
 25        sync_status (Union[None, SyncStatus, Unset]):
 26        commit_hash (Union[None, Unset, str]): Commit hash of the last successful sync
 27    """
 28
 29    repository: str
 30    branch: Union[Unset, str] = "main"
 31    folder: Union[Unset, str] = ".cirro"
 32    last_sync: Union[None, Unset, datetime.datetime] = UNSET
 33    sync_status: Union[None, SyncStatus, Unset] = UNSET
 34    commit_hash: Union[None, Unset, str] = UNSET
 35    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
 36
 37    def to_dict(self) -> Dict[str, Any]:
 38        repository = self.repository
 39
 40        branch = self.branch
 41
 42        folder = self.folder
 43
 44        last_sync: Union[None, Unset, str]
 45        if isinstance(self.last_sync, Unset):
 46            last_sync = UNSET
 47        elif isinstance(self.last_sync, datetime.datetime):
 48            last_sync = self.last_sync.isoformat()
 49        else:
 50            last_sync = self.last_sync
 51
 52        sync_status: Union[None, Unset, str]
 53        if isinstance(self.sync_status, Unset):
 54            sync_status = UNSET
 55        elif isinstance(self.sync_status, SyncStatus):
 56            sync_status = self.sync_status.value
 57        else:
 58            sync_status = self.sync_status
 59
 60        commit_hash: Union[None, Unset, str]
 61        if isinstance(self.commit_hash, Unset):
 62            commit_hash = UNSET
 63        else:
 64            commit_hash = self.commit_hash
 65
 66        field_dict: Dict[str, Any] = {}
 67        field_dict.update(self.additional_properties)
 68        field_dict.update(
 69            {
 70                "repository": repository,
 71            }
 72        )
 73        if branch is not UNSET:
 74            field_dict["branch"] = branch
 75        if folder is not UNSET:
 76            field_dict["folder"] = folder
 77        if last_sync is not UNSET:
 78            field_dict["lastSync"] = last_sync
 79        if sync_status is not UNSET:
 80            field_dict["syncStatus"] = sync_status
 81        if commit_hash is not UNSET:
 82            field_dict["commitHash"] = commit_hash
 83
 84        return field_dict
 85
 86    @classmethod
 87    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 88        d = src_dict.copy()
 89        repository = d.pop("repository")
 90
 91        branch = d.pop("branch", UNSET)
 92
 93        folder = d.pop("folder", UNSET)
 94
 95        def _parse_last_sync(data: object) -> Union[None, Unset, datetime.datetime]:
 96            if data is None:
 97                return data
 98            if isinstance(data, Unset):
 99                return data
100            try:
101                if not isinstance(data, str):
102                    raise TypeError()
103                last_sync_type_0 = isoparse(data)
104
105                return last_sync_type_0
106            except:  # noqa: E722
107                pass
108            return cast(Union[None, Unset, datetime.datetime], data)
109
110        last_sync = _parse_last_sync(d.pop("lastSync", UNSET))
111
112        def _parse_sync_status(data: object) -> Union[None, SyncStatus, Unset]:
113            if data is None:
114                return data
115            if isinstance(data, Unset):
116                return data
117            try:
118                if not isinstance(data, str):
119                    raise TypeError()
120                sync_status_type_1 = SyncStatus(data)
121
122                return sync_status_type_1
123            except:  # noqa: E722
124                pass
125            return cast(Union[None, SyncStatus, Unset], data)
126
127        sync_status = _parse_sync_status(d.pop("syncStatus", UNSET))
128
129        def _parse_commit_hash(data: object) -> Union[None, Unset, str]:
130            if data is None:
131                return data
132            if isinstance(data, Unset):
133                return data
134            return cast(Union[None, Unset, str], data)
135
136        commit_hash = _parse_commit_hash(d.pop("commitHash", UNSET))
137
138        custom_pipeline_settings = cls(
139            repository=repository,
140            branch=branch,
141            folder=folder,
142            last_sync=last_sync,
143            sync_status=sync_status,
144            commit_hash=commit_hash,
145        )
146
147        custom_pipeline_settings.additional_properties = d
148        return custom_pipeline_settings
149
150    @property
151    def additional_keys(self) -> List[str]:
152        return list(self.additional_properties.keys())

Used to describe the location of the process definition dependencies

Attributes:
  • repository (str): GitHub repository that contains the process definition Example: CirroBio/my-pipeline.
  • branch (Union[Unset, str]): Branch, tag, or commit hash of the repo that contains the process definition Default: 'main'.
  • folder (Union[Unset, str]): Folder within the repo that contains the process definition Default: '.cirro'.
  • last_sync (Union[None, Unset, datetime.datetime]): Time of last sync
  • sync_status (Union[None, SyncStatus, Unset]):
  • commit_hash (Union[None, Unset, str]): Commit hash of the last successful sync
CustomPipelineSettings( repository: str, branch: Union[cirro_api_client.v1.types.Unset, str] = 'main', folder: Union[cirro_api_client.v1.types.Unset, str] = '.cirro', last_sync: Union[NoneType, cirro_api_client.v1.types.Unset, datetime.datetime] = <cirro_api_client.v1.types.Unset object>, sync_status: Union[NoneType, SyncStatus, cirro_api_client.v1.types.Unset] = <cirro_api_client.v1.types.Unset object>, commit_hash: Union[NoneType, cirro_api_client.v1.types.Unset, str] = <cirro_api_client.v1.types.Unset object>)
2def __init__(self, repository, branch=attr_dict['branch'].default, folder=attr_dict['folder'].default, last_sync=attr_dict['last_sync'].default, sync_status=attr_dict['sync_status'].default, commit_hash=attr_dict['commit_hash'].default):
3    self.repository = repository
4    self.branch = branch
5    self.folder = folder
6    self.last_sync = last_sync
7    self.sync_status = sync_status
8    self.commit_hash = commit_hash
9    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class CustomPipelineSettings.

repository: str
branch: Union[cirro_api_client.v1.types.Unset, str]
folder: Union[cirro_api_client.v1.types.Unset, str]
last_sync: Union[NoneType, cirro_api_client.v1.types.Unset, datetime.datetime]
sync_status: Union[NoneType, SyncStatus, cirro_api_client.v1.types.Unset]
commit_hash: Union[NoneType, cirro_api_client.v1.types.Unset, str]
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
37    def to_dict(self) -> Dict[str, Any]:
38        repository = self.repository
39
40        branch = self.branch
41
42        folder = self.folder
43
44        last_sync: Union[None, Unset, str]
45        if isinstance(self.last_sync, Unset):
46            last_sync = UNSET
47        elif isinstance(self.last_sync, datetime.datetime):
48            last_sync = self.last_sync.isoformat()
49        else:
50            last_sync = self.last_sync
51
52        sync_status: Union[None, Unset, str]
53        if isinstance(self.sync_status, Unset):
54            sync_status = UNSET
55        elif isinstance(self.sync_status, SyncStatus):
56            sync_status = self.sync_status.value
57        else:
58            sync_status = self.sync_status
59
60        commit_hash: Union[None, Unset, str]
61        if isinstance(self.commit_hash, Unset):
62            commit_hash = UNSET
63        else:
64            commit_hash = self.commit_hash
65
66        field_dict: Dict[str, Any] = {}
67        field_dict.update(self.additional_properties)
68        field_dict.update(
69            {
70                "repository": repository,
71            }
72        )
73        if branch is not UNSET:
74            field_dict["branch"] = branch
75        if folder is not UNSET:
76            field_dict["folder"] = folder
77        if last_sync is not UNSET:
78            field_dict["lastSync"] = last_sync
79        if sync_status is not UNSET:
80            field_dict["syncStatus"] = sync_status
81        if commit_hash is not UNSET:
82            field_dict["commitHash"] = commit_hash
83
84        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
 86    @classmethod
 87    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 88        d = src_dict.copy()
 89        repository = d.pop("repository")
 90
 91        branch = d.pop("branch", UNSET)
 92
 93        folder = d.pop("folder", UNSET)
 94
 95        def _parse_last_sync(data: object) -> Union[None, Unset, datetime.datetime]:
 96            if data is None:
 97                return data
 98            if isinstance(data, Unset):
 99                return data
100            try:
101                if not isinstance(data, str):
102                    raise TypeError()
103                last_sync_type_0 = isoparse(data)
104
105                return last_sync_type_0
106            except:  # noqa: E722
107                pass
108            return cast(Union[None, Unset, datetime.datetime], data)
109
110        last_sync = _parse_last_sync(d.pop("lastSync", UNSET))
111
112        def _parse_sync_status(data: object) -> Union[None, SyncStatus, Unset]:
113            if data is None:
114                return data
115            if isinstance(data, Unset):
116                return data
117            try:
118                if not isinstance(data, str):
119                    raise TypeError()
120                sync_status_type_1 = SyncStatus(data)
121
122                return sync_status_type_1
123            except:  # noqa: E722
124                pass
125            return cast(Union[None, SyncStatus, Unset], data)
126
127        sync_status = _parse_sync_status(d.pop("syncStatus", UNSET))
128
129        def _parse_commit_hash(data: object) -> Union[None, Unset, str]:
130            if data is None:
131                return data
132            if isinstance(data, Unset):
133                return data
134            return cast(Union[None, Unset, str], data)
135
136        commit_hash = _parse_commit_hash(d.pop("commitHash", UNSET))
137
138        custom_pipeline_settings = cls(
139            repository=repository,
140            branch=branch,
141            folder=folder,
142            last_sync=last_sync,
143            sync_status=sync_status,
144            commit_hash=commit_hash,
145        )
146
147        custom_pipeline_settings.additional_properties = d
148        return custom_pipeline_settings
additional_keys: List[str]
150    @property
151    def additional_keys(self) -> List[str]:
152        return list(self.additional_properties.keys())
class Dashboard:
 17@_attrs_define
 18class Dashboard:
 19    """
 20    Attributes:
 21        id (str):
 22        name (str):
 23        description (str):
 24        process_ids (List[str]):
 25        dashboard_data (DashboardDashboardData):
 26        info (DashboardInfo):
 27        created_by (str):
 28        created_at (datetime.datetime):
 29        updated_at (datetime.datetime):
 30    """
 31
 32    id: str
 33    name: str
 34    description: str
 35    process_ids: List[str]
 36    dashboard_data: "DashboardDashboardData"
 37    info: "DashboardInfo"
 38    created_by: str
 39    created_at: datetime.datetime
 40    updated_at: datetime.datetime
 41    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
 42
 43    def to_dict(self) -> Dict[str, Any]:
 44        id = self.id
 45
 46        name = self.name
 47
 48        description = self.description
 49
 50        process_ids = self.process_ids
 51
 52        dashboard_data = self.dashboard_data.to_dict()
 53
 54        info = self.info.to_dict()
 55
 56        created_by = self.created_by
 57
 58        created_at = self.created_at.isoformat()
 59
 60        updated_at = self.updated_at.isoformat()
 61
 62        field_dict: Dict[str, Any] = {}
 63        field_dict.update(self.additional_properties)
 64        field_dict.update(
 65            {
 66                "id": id,
 67                "name": name,
 68                "description": description,
 69                "processIds": process_ids,
 70                "dashboardData": dashboard_data,
 71                "info": info,
 72                "createdBy": created_by,
 73                "createdAt": created_at,
 74                "updatedAt": updated_at,
 75            }
 76        )
 77
 78        return field_dict
 79
 80    @classmethod
 81    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 82        from ..models.dashboard_dashboard_data import DashboardDashboardData
 83        from ..models.dashboard_info import DashboardInfo
 84
 85        d = src_dict.copy()
 86        id = d.pop("id")
 87
 88        name = d.pop("name")
 89
 90        description = d.pop("description")
 91
 92        process_ids = cast(List[str], d.pop("processIds"))
 93
 94        dashboard_data = DashboardDashboardData.from_dict(d.pop("dashboardData"))
 95
 96        info = DashboardInfo.from_dict(d.pop("info"))
 97
 98        created_by = d.pop("createdBy")
 99
100        created_at = isoparse(d.pop("createdAt"))
101
102        updated_at = isoparse(d.pop("updatedAt"))
103
104        dashboard = cls(
105            id=id,
106            name=name,
107            description=description,
108            process_ids=process_ids,
109            dashboard_data=dashboard_data,
110            info=info,
111            created_by=created_by,
112            created_at=created_at,
113            updated_at=updated_at,
114        )
115
116        dashboard.additional_properties = d
117        return dashboard
118
119    @property
120    def additional_keys(self) -> List[str]:
121        return list(self.additional_properties.keys())
Attributes:
  • id (str):
  • name (str):
  • description (str):
  • process_ids (List[str]):
  • dashboard_data (DashboardDashboardData):
  • info (DashboardInfo):
  • created_by (str):
  • created_at (datetime.datetime):
  • updated_at (datetime.datetime):
Dashboard( id: str, name: str, description: str, process_ids: List[str], dashboard_data: DashboardDashboardData, info: DashboardInfo, created_by: str, created_at: datetime.datetime, updated_at: datetime.datetime)
 2def __init__(self, id, name, description, process_ids, dashboard_data, info, created_by, created_at, updated_at):
 3    self.id = id
 4    self.name = name
 5    self.description = description
 6    self.process_ids = process_ids
 7    self.dashboard_data = dashboard_data
 8    self.info = info
 9    self.created_by = created_by
10    self.created_at = created_at
11    self.updated_at = updated_at
12    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class Dashboard.

id: str
name: str
description: str
process_ids: List[str]
dashboard_data: DashboardDashboardData
created_by: str
created_at: datetime.datetime
updated_at: datetime.datetime
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
43    def to_dict(self) -> Dict[str, Any]:
44        id = self.id
45
46        name = self.name
47
48        description = self.description
49
50        process_ids = self.process_ids
51
52        dashboard_data = self.dashboard_data.to_dict()
53
54        info = self.info.to_dict()
55
56        created_by = self.created_by
57
58        created_at = self.created_at.isoformat()
59
60        updated_at = self.updated_at.isoformat()
61
62        field_dict: Dict[str, Any] = {}
63        field_dict.update(self.additional_properties)
64        field_dict.update(
65            {
66                "id": id,
67                "name": name,
68                "description": description,
69                "processIds": process_ids,
70                "dashboardData": dashboard_data,
71                "info": info,
72                "createdBy": created_by,
73                "createdAt": created_at,
74                "updatedAt": updated_at,
75            }
76        )
77
78        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
 80    @classmethod
 81    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 82        from ..models.dashboard_dashboard_data import DashboardDashboardData
 83        from ..models.dashboard_info import DashboardInfo
 84
 85        d = src_dict.copy()
 86        id = d.pop("id")
 87
 88        name = d.pop("name")
 89
 90        description = d.pop("description")
 91
 92        process_ids = cast(List[str], d.pop("processIds"))
 93
 94        dashboard_data = DashboardDashboardData.from_dict(d.pop("dashboardData"))
 95
 96        info = DashboardInfo.from_dict(d.pop("info"))
 97
 98        created_by = d.pop("createdBy")
 99
100        created_at = isoparse(d.pop("createdAt"))
101
102        updated_at = isoparse(d.pop("updatedAt"))
103
104        dashboard = cls(
105            id=id,
106            name=name,
107            description=description,
108            process_ids=process_ids,
109            dashboard_data=dashboard_data,
110            info=info,
111            created_by=created_by,
112            created_at=created_at,
113            updated_at=updated_at,
114        )
115
116        dashboard.additional_properties = d
117        return dashboard
additional_keys: List[str]
119    @property
120    def additional_keys(self) -> List[str]:
121        return list(self.additional_properties.keys())
class DashboardDashboardData:
10@_attrs_define
11class DashboardDashboardData:
12    """ """
13
14    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
15
16    def to_dict(self) -> Dict[str, Any]:
17        field_dict: Dict[str, Any] = {}
18        field_dict.update(self.additional_properties)
19        field_dict.update({})
20
21        return field_dict
22
23    @classmethod
24    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
25        d = src_dict.copy()
26        dashboard_dashboard_data = cls()
27
28        dashboard_dashboard_data.additional_properties = d
29        return dashboard_dashboard_data
30
31    @property
32    def additional_keys(self) -> List[str]:
33        return list(self.additional_properties.keys())
DashboardDashboardData()
2def __init__(self, ):
3    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class DashboardDashboardData.

additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
16    def to_dict(self) -> Dict[str, Any]:
17        field_dict: Dict[str, Any] = {}
18        field_dict.update(self.additional_properties)
19        field_dict.update({})
20
21        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
23    @classmethod
24    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
25        d = src_dict.copy()
26        dashboard_dashboard_data = cls()
27
28        dashboard_dashboard_data.additional_properties = d
29        return dashboard_dashboard_data
additional_keys: List[str]
31    @property
32    def additional_keys(self) -> List[str]:
33        return list(self.additional_properties.keys())
class DashboardInfo:
10@_attrs_define
11class DashboardInfo:
12    """ """
13
14    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
15
16    def to_dict(self) -> Dict[str, Any]:
17        field_dict: Dict[str, Any] = {}
18        field_dict.update(self.additional_properties)
19        field_dict.update({})
20
21        return field_dict
22
23    @classmethod
24    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
25        d = src_dict.copy()
26        dashboard_info = cls()
27
28        dashboard_info.additional_properties = d
29        return dashboard_info
30
31    @property
32    def additional_keys(self) -> List[str]:
33        return list(self.additional_properties.keys())
DashboardInfo()
2def __init__(self, ):
3    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class DashboardInfo.

additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
16    def to_dict(self) -> Dict[str, Any]:
17        field_dict: Dict[str, Any] = {}
18        field_dict.update(self.additional_properties)
19        field_dict.update({})
20
21        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
23    @classmethod
24    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
25        d = src_dict.copy()
26        dashboard_info = cls()
27
28        dashboard_info.additional_properties = d
29        return dashboard_info
additional_keys: List[str]
31    @property
32    def additional_keys(self) -> List[str]:
33        return list(self.additional_properties.keys())
class DashboardRequest:
15@_attrs_define
16class DashboardRequest:
17    """
18    Attributes:
19        name (str):
20        description (str):
21        process_ids (List[str]):
22        dashboard_data (DashboardRequestDashboardData):
23        info (DashboardRequestInfo):
24    """
25
26    name: str
27    description: str
28    process_ids: List[str]
29    dashboard_data: "DashboardRequestDashboardData"
30    info: "DashboardRequestInfo"
31    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
32
33    def to_dict(self) -> Dict[str, Any]:
34        name = self.name
35
36        description = self.description
37
38        process_ids = self.process_ids
39
40        dashboard_data = self.dashboard_data.to_dict()
41
42        info = self.info.to_dict()
43
44        field_dict: Dict[str, Any] = {}
45        field_dict.update(self.additional_properties)
46        field_dict.update(
47            {
48                "name": name,
49                "description": description,
50                "processIds": process_ids,
51                "dashboardData": dashboard_data,
52                "info": info,
53            }
54        )
55
56        return field_dict
57
58    @classmethod
59    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
60        from ..models.dashboard_request_dashboard_data import DashboardRequestDashboardData
61        from ..models.dashboard_request_info import DashboardRequestInfo
62
63        d = src_dict.copy()
64        name = d.pop("name")
65
66        description = d.pop("description")
67
68        process_ids = cast(List[str], d.pop("processIds"))
69
70        dashboard_data = DashboardRequestDashboardData.from_dict(d.pop("dashboardData"))
71
72        info = DashboardRequestInfo.from_dict(d.pop("info"))
73
74        dashboard_request = cls(
75            name=name,
76            description=description,
77            process_ids=process_ids,
78            dashboard_data=dashboard_data,
79            info=info,
80        )
81
82        dashboard_request.additional_properties = d
83        return dashboard_request
84
85    @property
86    def additional_keys(self) -> List[str]:
87        return list(self.additional_properties.keys())
Attributes:
  • name (str):
  • description (str):
  • process_ids (List[str]):
  • dashboard_data (DashboardRequestDashboardData):
  • info (DashboardRequestInfo):
DashboardRequest( name: str, description: str, process_ids: List[str], dashboard_data: DashboardRequestDashboardData, info: DashboardRequestInfo)
2def __init__(self, name, description, process_ids, dashboard_data, info):
3    self.name = name
4    self.description = description
5    self.process_ids = process_ids
6    self.dashboard_data = dashboard_data
7    self.info = info
8    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class DashboardRequest.

name: str
description: str
process_ids: List[str]
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
33    def to_dict(self) -> Dict[str, Any]:
34        name = self.name
35
36        description = self.description
37
38        process_ids = self.process_ids
39
40        dashboard_data = self.dashboard_data.to_dict()
41
42        info = self.info.to_dict()
43
44        field_dict: Dict[str, Any] = {}
45        field_dict.update(self.additional_properties)
46        field_dict.update(
47            {
48                "name": name,
49                "description": description,
50                "processIds": process_ids,
51                "dashboardData": dashboard_data,
52                "info": info,
53            }
54        )
55
56        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
58    @classmethod
59    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
60        from ..models.dashboard_request_dashboard_data import DashboardRequestDashboardData
61        from ..models.dashboard_request_info import DashboardRequestInfo
62
63        d = src_dict.copy()
64        name = d.pop("name")
65
66        description = d.pop("description")
67
68        process_ids = cast(List[str], d.pop("processIds"))
69
70        dashboard_data = DashboardRequestDashboardData.from_dict(d.pop("dashboardData"))
71
72        info = DashboardRequestInfo.from_dict(d.pop("info"))
73
74        dashboard_request = cls(
75            name=name,
76            description=description,
77            process_ids=process_ids,
78            dashboard_data=dashboard_data,
79            info=info,
80        )
81
82        dashboard_request.additional_properties = d
83        return dashboard_request
additional_keys: List[str]
85    @property
86    def additional_keys(self) -> List[str]:
87        return list(self.additional_properties.keys())
class DashboardRequestDashboardData:
10@_attrs_define
11class DashboardRequestDashboardData:
12    """ """
13
14    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
15
16    def to_dict(self) -> Dict[str, Any]:
17        field_dict: Dict[str, Any] = {}
18        field_dict.update(self.additional_properties)
19        field_dict.update({})
20
21        return field_dict
22
23    @classmethod
24    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
25        d = src_dict.copy()
26        dashboard_request_dashboard_data = cls()
27
28        dashboard_request_dashboard_data.additional_properties = d
29        return dashboard_request_dashboard_data
30
31    @property
32    def additional_keys(self) -> List[str]:
33        return list(self.additional_properties.keys())
DashboardRequestDashboardData()
2def __init__(self, ):
3    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class DashboardRequestDashboardData.

additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
16    def to_dict(self) -> Dict[str, Any]:
17        field_dict: Dict[str, Any] = {}
18        field_dict.update(self.additional_properties)
19        field_dict.update({})
20
21        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
23    @classmethod
24    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
25        d = src_dict.copy()
26        dashboard_request_dashboard_data = cls()
27
28        dashboard_request_dashboard_data.additional_properties = d
29        return dashboard_request_dashboard_data
additional_keys: List[str]
31    @property
32    def additional_keys(self) -> List[str]:
33        return list(self.additional_properties.keys())
class DashboardRequestInfo:
10@_attrs_define
11class DashboardRequestInfo:
12    """ """
13
14    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
15
16    def to_dict(self) -> Dict[str, Any]:
17        field_dict: Dict[str, Any] = {}
18        field_dict.update(self.additional_properties)
19        field_dict.update({})
20
21        return field_dict
22
23    @classmethod
24    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
25        d = src_dict.copy()
26        dashboard_request_info = cls()
27
28        dashboard_request_info.additional_properties = d
29        return dashboard_request_info
30
31    @property
32    def additional_keys(self) -> List[str]:
33        return list(self.additional_properties.keys())
DashboardRequestInfo()
2def __init__(self, ):
3    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class DashboardRequestInfo.

additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
16    def to_dict(self) -> Dict[str, Any]:
17        field_dict: Dict[str, Any] = {}
18        field_dict.update(self.additional_properties)
19        field_dict.update({})
20
21        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
23    @classmethod
24    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
25        d = src_dict.copy()
26        dashboard_request_info = cls()
27
28        dashboard_request_info.additional_properties = d
29        return dashboard_request_info
additional_keys: List[str]
31    @property
32    def additional_keys(self) -> List[str]:
33        return list(self.additional_properties.keys())
class Dataset:
 18@_attrs_define
 19class Dataset:
 20    """
 21    Attributes:
 22        id (str):
 23        name (str):
 24        description (str):
 25        project_id (str):
 26        process_id (str):
 27        source_dataset_ids (List[str]):
 28        status (Status):
 29        tags (List['Tag']):
 30        created_by (str):
 31        created_at (datetime.datetime):
 32        updated_at (datetime.datetime):
 33    """
 34
 35    id: str
 36    name: str
 37    description: str
 38    project_id: str
 39    process_id: str
 40    source_dataset_ids: List[str]
 41    status: Status
 42    tags: List["Tag"]
 43    created_by: str
 44    created_at: datetime.datetime
 45    updated_at: datetime.datetime
 46    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
 47
 48    def to_dict(self) -> Dict[str, Any]:
 49        id = self.id
 50
 51        name = self.name
 52
 53        description = self.description
 54
 55        project_id = self.project_id
 56
 57        process_id = self.process_id
 58
 59        source_dataset_ids = self.source_dataset_ids
 60
 61        status = self.status.value
 62
 63        tags = []
 64        for tags_item_data in self.tags:
 65            tags_item = tags_item_data.to_dict()
 66            tags.append(tags_item)
 67
 68        created_by = self.created_by
 69
 70        created_at = self.created_at.isoformat()
 71
 72        updated_at = self.updated_at.isoformat()
 73
 74        field_dict: Dict[str, Any] = {}
 75        field_dict.update(self.additional_properties)
 76        field_dict.update(
 77            {
 78                "id": id,
 79                "name": name,
 80                "description": description,
 81                "projectId": project_id,
 82                "processId": process_id,
 83                "sourceDatasetIds": source_dataset_ids,
 84                "status": status,
 85                "tags": tags,
 86                "createdBy": created_by,
 87                "createdAt": created_at,
 88                "updatedAt": updated_at,
 89            }
 90        )
 91
 92        return field_dict
 93
 94    @classmethod
 95    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 96        from ..models.tag import Tag
 97
 98        d = src_dict.copy()
 99        id = d.pop("id")
100
101        name = d.pop("name")
102
103        description = d.pop("description")
104
105        project_id = d.pop("projectId")
106
107        process_id = d.pop("processId")
108
109        source_dataset_ids = cast(List[str], d.pop("sourceDatasetIds"))
110
111        status = Status(d.pop("status"))
112
113        tags = []
114        _tags = d.pop("tags")
115        for tags_item_data in _tags:
116            tags_item = Tag.from_dict(tags_item_data)
117
118            tags.append(tags_item)
119
120        created_by = d.pop("createdBy")
121
122        created_at = isoparse(d.pop("createdAt"))
123
124        updated_at = isoparse(d.pop("updatedAt"))
125
126        dataset = cls(
127            id=id,
128            name=name,
129            description=description,
130            project_id=project_id,
131            process_id=process_id,
132            source_dataset_ids=source_dataset_ids,
133            status=status,
134            tags=tags,
135            created_by=created_by,
136            created_at=created_at,
137            updated_at=updated_at,
138        )
139
140        dataset.additional_properties = d
141        return dataset
142
143    @property
144    def additional_keys(self) -> List[str]:
145        return list(self.additional_properties.keys())
Attributes:
  • id (str):
  • name (str):
  • description (str):
  • project_id (str):
  • process_id (str):
  • source_dataset_ids (List[str]):
  • status (Status):
  • tags (List['Tag']):
  • created_by (str):
  • created_at (datetime.datetime):
  • updated_at (datetime.datetime):
Dataset( id: str, name: str, description: str, project_id: str, process_id: str, source_dataset_ids: List[str], status: Status, tags: List[Tag], created_by: str, created_at: datetime.datetime, updated_at: datetime.datetime)
 2def __init__(self, id, name, description, project_id, process_id, source_dataset_ids, status, tags, created_by, created_at, updated_at):
 3    self.id = id
 4    self.name = name
 5    self.description = description
 6    self.project_id = project_id
 7    self.process_id = process_id
 8    self.source_dataset_ids = source_dataset_ids
 9    self.status = status
10    self.tags = tags
11    self.created_by = created_by
12    self.created_at = created_at
13    self.updated_at = updated_at
14    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class Dataset.

id: str
name: str
description: str
project_id: str
process_id: str
source_dataset_ids: List[str]
status: Status
tags: List[Tag]
created_by: str
created_at: datetime.datetime
updated_at: datetime.datetime
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
48    def to_dict(self) -> Dict[str, Any]:
49        id = self.id
50
51        name = self.name
52
53        description = self.description
54
55        project_id = self.project_id
56
57        process_id = self.process_id
58
59        source_dataset_ids = self.source_dataset_ids
60
61        status = self.status.value
62
63        tags = []
64        for tags_item_data in self.tags:
65            tags_item = tags_item_data.to_dict()
66            tags.append(tags_item)
67
68        created_by = self.created_by
69
70        created_at = self.created_at.isoformat()
71
72        updated_at = self.updated_at.isoformat()
73
74        field_dict: Dict[str, Any] = {}
75        field_dict.update(self.additional_properties)
76        field_dict.update(
77            {
78                "id": id,
79                "name": name,
80                "description": description,
81                "projectId": project_id,
82                "processId": process_id,
83                "sourceDatasetIds": source_dataset_ids,
84                "status": status,
85                "tags": tags,
86                "createdBy": created_by,
87                "createdAt": created_at,
88                "updatedAt": updated_at,
89            }
90        )
91
92        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
 94    @classmethod
 95    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 96        from ..models.tag import Tag
 97
 98        d = src_dict.copy()
 99        id = d.pop("id")
100
101        name = d.pop("name")
102
103        description = d.pop("description")
104
105        project_id = d.pop("projectId")
106
107        process_id = d.pop("processId")
108
109        source_dataset_ids = cast(List[str], d.pop("sourceDatasetIds"))
110
111        status = Status(d.pop("status"))
112
113        tags = []
114        _tags = d.pop("tags")
115        for tags_item_data in _tags:
116            tags_item = Tag.from_dict(tags_item_data)
117
118            tags.append(tags_item)
119
120        created_by = d.pop("createdBy")
121
122        created_at = isoparse(d.pop("createdAt"))
123
124        updated_at = isoparse(d.pop("updatedAt"))
125
126        dataset = cls(
127            id=id,
128            name=name,
129            description=description,
130            project_id=project_id,
131            process_id=process_id,
132            source_dataset_ids=source_dataset_ids,
133            status=status,
134            tags=tags,
135            created_by=created_by,
136            created_at=created_at,
137            updated_at=updated_at,
138        )
139
140        dataset.additional_properties = d
141        return dataset
additional_keys: List[str]
143    @property
144    def additional_keys(self) -> List[str]:
145        return list(self.additional_properties.keys())
class DatasetAssetsManifest:
 18@_attrs_define
 19class DatasetAssetsManifest:
 20    """
 21    Attributes:
 22        domain (Union[Unset, str]): Base URL for files Example: s3://project-1a1a/datasets/1a1a.
 23        files (Union[Unset, List['FileEntry']]): List of files in the dataset, including metadata
 24        viz (Union[Unset, List['DatasetViz']]): List of viz to render for the dataset
 25        tables (Union[Unset, List['Table']]): List of web optimized tables for the dataset
 26    """
 27
 28    domain: Union[Unset, str] = UNSET
 29    files: Union[Unset, List["FileEntry"]] = UNSET
 30    viz: Union[Unset, List["DatasetViz"]] = UNSET
 31    tables: Union[Unset, List["Table"]] = UNSET
 32    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
 33
 34    def to_dict(self) -> Dict[str, Any]:
 35        domain = self.domain
 36
 37        files: Union[Unset, List[Dict[str, Any]]] = UNSET
 38        if not isinstance(self.files, Unset):
 39            files = []
 40            for files_item_data in self.files:
 41                files_item = files_item_data.to_dict()
 42                files.append(files_item)
 43
 44        viz: Union[Unset, List[Dict[str, Any]]] = UNSET
 45        if not isinstance(self.viz, Unset):
 46            viz = []
 47            for viz_item_data in self.viz:
 48                viz_item = viz_item_data.to_dict()
 49                viz.append(viz_item)
 50
 51        tables: Union[Unset, List[Dict[str, Any]]] = UNSET
 52        if not isinstance(self.tables, Unset):
 53            tables = []
 54            for tables_item_data in self.tables:
 55                tables_item = tables_item_data.to_dict()
 56                tables.append(tables_item)
 57
 58        field_dict: Dict[str, Any] = {}
 59        field_dict.update(self.additional_properties)
 60        field_dict.update({})
 61        if domain is not UNSET:
 62            field_dict["domain"] = domain
 63        if files is not UNSET:
 64            field_dict["files"] = files
 65        if viz is not UNSET:
 66            field_dict["viz"] = viz
 67        if tables is not UNSET:
 68            field_dict["tables"] = tables
 69
 70        return field_dict
 71
 72    @classmethod
 73    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 74        from ..models.dataset_viz import DatasetViz
 75        from ..models.file_entry import FileEntry
 76        from ..models.table import Table
 77
 78        d = src_dict.copy()
 79        domain = d.pop("domain", UNSET)
 80
 81        files = []
 82        _files = d.pop("files", UNSET)
 83        for files_item_data in _files or []:
 84            files_item = FileEntry.from_dict(files_item_data)
 85
 86            files.append(files_item)
 87
 88        viz = []
 89        _viz = d.pop("viz", UNSET)
 90        for viz_item_data in _viz or []:
 91            viz_item = DatasetViz.from_dict(viz_item_data)
 92
 93            viz.append(viz_item)
 94
 95        tables = []
 96        _tables = d.pop("tables", UNSET)
 97        for tables_item_data in _tables or []:
 98            tables_item = Table.from_dict(tables_item_data)
 99
100            tables.append(tables_item)
101
102        dataset_assets_manifest = cls(
103            domain=domain,
104            files=files,
105            viz=viz,
106            tables=tables,
107        )
108
109        dataset_assets_manifest.additional_properties = d
110        return dataset_assets_manifest
111
112    @property
113    def additional_keys(self) -> List[str]:
114        return list(self.additional_properties.keys())
Attributes:
  • domain (Union[Unset, str]): Base URL for files Example: s3://project-1a1a/datasets/1a1a.
  • files (Union[Unset, List['FileEntry']]): List of files in the dataset, including metadata
  • viz (Union[Unset, List['DatasetViz']]): List of viz to render for the dataset
  • tables (Union[Unset, List['Table']]): List of web optimized tables for the dataset
DatasetAssetsManifest( domain: Union[cirro_api_client.v1.types.Unset, str] = <cirro_api_client.v1.types.Unset object>, files: Union[cirro_api_client.v1.types.Unset, List[FileEntry]] = <cirro_api_client.v1.types.Unset object>, viz: Union[cirro_api_client.v1.types.Unset, List[DatasetViz]] = <cirro_api_client.v1.types.Unset object>, tables: Union[cirro_api_client.v1.types.Unset, List[Table]] = <cirro_api_client.v1.types.Unset object>)
2def __init__(self, domain=attr_dict['domain'].default, files=attr_dict['files'].default, viz=attr_dict['viz'].default, tables=attr_dict['tables'].default):
3    self.domain = domain
4    self.files = files
5    self.viz = viz
6    self.tables = tables
7    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class DatasetAssetsManifest.

domain: Union[cirro_api_client.v1.types.Unset, str]
files: Union[cirro_api_client.v1.types.Unset, List[FileEntry]]
viz: Union[cirro_api_client.v1.types.Unset, List[DatasetViz]]
tables: Union[cirro_api_client.v1.types.Unset, List[Table]]
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
34    def to_dict(self) -> Dict[str, Any]:
35        domain = self.domain
36
37        files: Union[Unset, List[Dict[str, Any]]] = UNSET
38        if not isinstance(self.files, Unset):
39            files = []
40            for files_item_data in self.files:
41                files_item = files_item_data.to_dict()
42                files.append(files_item)
43
44        viz: Union[Unset, List[Dict[str, Any]]] = UNSET
45        if not isinstance(self.viz, Unset):
46            viz = []
47            for viz_item_data in self.viz:
48                viz_item = viz_item_data.to_dict()
49                viz.append(viz_item)
50
51        tables: Union[Unset, List[Dict[str, Any]]] = UNSET
52        if not isinstance(self.tables, Unset):
53            tables = []
54            for tables_item_data in self.tables:
55                tables_item = tables_item_data.to_dict()
56                tables.append(tables_item)
57
58        field_dict: Dict[str, Any] = {}
59        field_dict.update(self.additional_properties)
60        field_dict.update({})
61        if domain is not UNSET:
62            field_dict["domain"] = domain
63        if files is not UNSET:
64            field_dict["files"] = files
65        if viz is not UNSET:
66            field_dict["viz"] = viz
67        if tables is not UNSET:
68            field_dict["tables"] = tables
69
70        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
 72    @classmethod
 73    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 74        from ..models.dataset_viz import DatasetViz
 75        from ..models.file_entry import FileEntry
 76        from ..models.table import Table
 77
 78        d = src_dict.copy()
 79        domain = d.pop("domain", UNSET)
 80
 81        files = []
 82        _files = d.pop("files", UNSET)
 83        for files_item_data in _files or []:
 84            files_item = FileEntry.from_dict(files_item_data)
 85
 86            files.append(files_item)
 87
 88        viz = []
 89        _viz = d.pop("viz", UNSET)
 90        for viz_item_data in _viz or []:
 91            viz_item = DatasetViz.from_dict(viz_item_data)
 92
 93            viz.append(viz_item)
 94
 95        tables = []
 96        _tables = d.pop("tables", UNSET)
 97        for tables_item_data in _tables or []:
 98            tables_item = Table.from_dict(tables_item_data)
 99
100            tables.append(tables_item)
101
102        dataset_assets_manifest = cls(
103            domain=domain,
104            files=files,
105            viz=viz,
106            tables=tables,
107        )
108
109        dataset_assets_manifest.additional_properties = d
110        return dataset_assets_manifest
additional_keys: List[str]
112    @property
113    def additional_keys(self) -> List[str]:
114        return list(self.additional_properties.keys())
class DatasetDetail:
 20@_attrs_define
 21class DatasetDetail:
 22    """
 23    Attributes:
 24        id (str):
 25        name (str):
 26        description (str):
 27        s3 (str):
 28        process_id (str):
 29        project_id (str):
 30        source_dataset_ids (List[str]):
 31        status (Status):
 32        status_message (str):
 33        tags (List['Tag']):
 34        params (DatasetDetailParams):
 35        info (DatasetDetailInfo):
 36        created_by (str):
 37        created_at (datetime.datetime):
 38        updated_at (datetime.datetime):
 39    """
 40
 41    id: str
 42    name: str
 43    description: str
 44    s3: str
 45    process_id: str
 46    project_id: str
 47    source_dataset_ids: List[str]
 48    status: Status
 49    status_message: str
 50    tags: List["Tag"]
 51    params: "DatasetDetailParams"
 52    info: "DatasetDetailInfo"
 53    created_by: str
 54    created_at: datetime.datetime
 55    updated_at: datetime.datetime
 56    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
 57
 58    def to_dict(self) -> Dict[str, Any]:
 59        id = self.id
 60
 61        name = self.name
 62
 63        description = self.description
 64
 65        s3 = self.s3
 66
 67        process_id = self.process_id
 68
 69        project_id = self.project_id
 70
 71        source_dataset_ids = self.source_dataset_ids
 72
 73        status = self.status.value
 74
 75        status_message = self.status_message
 76
 77        tags = []
 78        for tags_item_data in self.tags:
 79            tags_item = tags_item_data.to_dict()
 80            tags.append(tags_item)
 81
 82        params = self.params.to_dict()
 83
 84        info = self.info.to_dict()
 85
 86        created_by = self.created_by
 87
 88        created_at = self.created_at.isoformat()
 89
 90        updated_at = self.updated_at.isoformat()
 91
 92        field_dict: Dict[str, Any] = {}
 93        field_dict.update(self.additional_properties)
 94        field_dict.update(
 95            {
 96                "id": id,
 97                "name": name,
 98                "description": description,
 99                "s3": s3,
100                "processId": process_id,
101                "projectId": project_id,
102                "sourceDatasetIds": source_dataset_ids,
103                "status": status,
104                "statusMessage": status_message,
105                "tags": tags,
106                "params": params,
107                "info": info,
108                "createdBy": created_by,
109                "createdAt": created_at,
110                "updatedAt": updated_at,
111            }
112        )
113
114        return field_dict
115
116    @classmethod
117    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
118        from ..models.dataset_detail_info import DatasetDetailInfo
119        from ..models.dataset_detail_params import DatasetDetailParams
120        from ..models.tag import Tag
121
122        d = src_dict.copy()
123        id = d.pop("id")
124
125        name = d.pop("name")
126
127        description = d.pop("description")
128
129        s3 = d.pop("s3")
130
131        process_id = d.pop("processId")
132
133        project_id = d.pop("projectId")
134
135        source_dataset_ids = cast(List[str], d.pop("sourceDatasetIds"))
136
137        status = Status(d.pop("status"))
138
139        status_message = d.pop("statusMessage")
140
141        tags = []
142        _tags = d.pop("tags")
143        for tags_item_data in _tags:
144            tags_item = Tag.from_dict(tags_item_data)
145
146            tags.append(tags_item)
147
148        params = DatasetDetailParams.from_dict(d.pop("params"))
149
150        info = DatasetDetailInfo.from_dict(d.pop("info"))
151
152        created_by = d.pop("createdBy")
153
154        created_at = isoparse(d.pop("createdAt"))
155
156        updated_at = isoparse(d.pop("updatedAt"))
157
158        dataset_detail = cls(
159            id=id,
160            name=name,
161            description=description,
162            s3=s3,
163            process_id=process_id,
164            project_id=project_id,
165            source_dataset_ids=source_dataset_ids,
166            status=status,
167            status_message=status_message,
168            tags=tags,
169            params=params,
170            info=info,
171            created_by=created_by,
172            created_at=created_at,
173            updated_at=updated_at,
174        )
175
176        dataset_detail.additional_properties = d
177        return dataset_detail
178
179    @property
180    def additional_keys(self) -> List[str]:
181        return list(self.additional_properties.keys())
Attributes:
  • id (str):
  • name (str):
  • description (str):
  • s3 (str):
  • process_id (str):
  • project_id (str):
  • source_dataset_ids (List[str]):
  • status (Status):
  • status_message (str):
  • tags (List['Tag']):
  • params (DatasetDetailParams):
  • info (DatasetDetailInfo):
  • created_by (str):
  • created_at (datetime.datetime):
  • updated_at (datetime.datetime):
DatasetDetail( id: str, name: str, description: str, s3: str, process_id: str, project_id: str, source_dataset_ids: List[str], status: Status, status_message: str, tags: List[Tag], params: DatasetDetailParams, info: DatasetDetailInfo, created_by: str, created_at: datetime.datetime, updated_at: datetime.datetime)
 2def __init__(self, id, name, description, s3, process_id, project_id, source_dataset_ids, status, status_message, tags, params, info, created_by, created_at, updated_at):
 3    self.id = id
 4    self.name = name
 5    self.description = description
 6    self.s3 = s3
 7    self.process_id = process_id
 8    self.project_id = project_id
 9    self.source_dataset_ids = source_dataset_ids
10    self.status = status
11    self.status_message = status_message
12    self.tags = tags
13    self.params = params
14    self.info = info
15    self.created_by = created_by
16    self.created_at = created_at
17    self.updated_at = updated_at
18    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class DatasetDetail.

id: str
name: str
description: str
s3: str
process_id: str
project_id: str
source_dataset_ids: List[str]
status: Status
status_message: str
tags: List[Tag]
created_by: str
created_at: datetime.datetime
updated_at: datetime.datetime
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
 58    def to_dict(self) -> Dict[str, Any]:
 59        id = self.id
 60
 61        name = self.name
 62
 63        description = self.description
 64
 65        s3 = self.s3
 66
 67        process_id = self.process_id
 68
 69        project_id = self.project_id
 70
 71        source_dataset_ids = self.source_dataset_ids
 72
 73        status = self.status.value
 74
 75        status_message = self.status_message
 76
 77        tags = []
 78        for tags_item_data in self.tags:
 79            tags_item = tags_item_data.to_dict()
 80            tags.append(tags_item)
 81
 82        params = self.params.to_dict()
 83
 84        info = self.info.to_dict()
 85
 86        created_by = self.created_by
 87
 88        created_at = self.created_at.isoformat()
 89
 90        updated_at = self.updated_at.isoformat()
 91
 92        field_dict: Dict[str, Any] = {}
 93        field_dict.update(self.additional_properties)
 94        field_dict.update(
 95            {
 96                "id": id,
 97                "name": name,
 98                "description": description,
 99                "s3": s3,
100                "processId": process_id,
101                "projectId": project_id,
102                "sourceDatasetIds": source_dataset_ids,
103                "status": status,
104                "statusMessage": status_message,
105                "tags": tags,
106                "params": params,
107                "info": info,
108                "createdBy": created_by,
109                "createdAt": created_at,
110                "updatedAt": updated_at,
111            }
112        )
113
114        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
116    @classmethod
117    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
118        from ..models.dataset_detail_info import DatasetDetailInfo
119        from ..models.dataset_detail_params import DatasetDetailParams
120        from ..models.tag import Tag
121
122        d = src_dict.copy()
123        id = d.pop("id")
124
125        name = d.pop("name")
126
127        description = d.pop("description")
128
129        s3 = d.pop("s3")
130
131        process_id = d.pop("processId")
132
133        project_id = d.pop("projectId")
134
135        source_dataset_ids = cast(List[str], d.pop("sourceDatasetIds"))
136
137        status = Status(d.pop("status"))
138
139        status_message = d.pop("statusMessage")
140
141        tags = []
142        _tags = d.pop("tags")
143        for tags_item_data in _tags:
144            tags_item = Tag.from_dict(tags_item_data)
145
146            tags.append(tags_item)
147
148        params = DatasetDetailParams.from_dict(d.pop("params"))
149
150        info = DatasetDetailInfo.from_dict(d.pop("info"))
151
152        created_by = d.pop("createdBy")
153
154        created_at = isoparse(d.pop("createdAt"))
155
156        updated_at = isoparse(d.pop("updatedAt"))
157
158        dataset_detail = cls(
159            id=id,
160            name=name,
161            description=description,
162            s3=s3,
163            process_id=process_id,
164            project_id=project_id,
165            source_dataset_ids=source_dataset_ids,
166            status=status,
167            status_message=status_message,
168            tags=tags,
169            params=params,
170            info=info,
171            created_by=created_by,
172            created_at=created_at,
173            updated_at=updated_at,
174        )
175
176        dataset_detail.additional_properties = d
177        return dataset_detail
additional_keys: List[str]
179    @property
180    def additional_keys(self) -> List[str]:
181        return list(self.additional_properties.keys())
class DatasetDetailInfo:
10@_attrs_define
11class DatasetDetailInfo:
12    """ """
13
14    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
15
16    def to_dict(self) -> Dict[str, Any]:
17        field_dict: Dict[str, Any] = {}
18        field_dict.update(self.additional_properties)
19        field_dict.update({})
20
21        return field_dict
22
23    @classmethod
24    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
25        d = src_dict.copy()
26        dataset_detail_info = cls()
27
28        dataset_detail_info.additional_properties = d
29        return dataset_detail_info
30
31    @property
32    def additional_keys(self) -> List[str]:
33        return list(self.additional_properties.keys())
DatasetDetailInfo()
2def __init__(self, ):
3    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class DatasetDetailInfo.

additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
16    def to_dict(self) -> Dict[str, Any]:
17        field_dict: Dict[str, Any] = {}
18        field_dict.update(self.additional_properties)
19        field_dict.update({})
20
21        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
23    @classmethod
24    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
25        d = src_dict.copy()
26        dataset_detail_info = cls()
27
28        dataset_detail_info.additional_properties = d
29        return dataset_detail_info
additional_keys: List[str]
31    @property
32    def additional_keys(self) -> List[str]:
33        return list(self.additional_properties.keys())
class DatasetDetailParams:
10@_attrs_define
11class DatasetDetailParams:
12    """ """
13
14    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
15
16    def to_dict(self) -> Dict[str, Any]:
17        field_dict: Dict[str, Any] = {}
18        field_dict.update(self.additional_properties)
19        field_dict.update({})
20
21        return field_dict
22
23    @classmethod
24    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
25        d = src_dict.copy()
26        dataset_detail_params = cls()
27
28        dataset_detail_params.additional_properties = d
29        return dataset_detail_params
30
31    @property
32    def additional_keys(self) -> List[str]:
33        return list(self.additional_properties.keys())
DatasetDetailParams()
2def __init__(self, ):
3    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class DatasetDetailParams.

additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
16    def to_dict(self) -> Dict[str, Any]:
17        field_dict: Dict[str, Any] = {}
18        field_dict.update(self.additional_properties)
19        field_dict.update({})
20
21        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
23    @classmethod
24    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
25        d = src_dict.copy()
26        dataset_detail_params = cls()
27
28        dataset_detail_params.additional_properties = d
29        return dataset_detail_params
additional_keys: List[str]
31    @property
32    def additional_keys(self) -> List[str]:
33        return list(self.additional_properties.keys())
class DatasetViz:
12@_attrs_define
13class DatasetViz:
14    """
15    Attributes:
16        name (Union[Unset, str]): Name of viz
17        desc (Union[Unset, str]): Description of viz
18        type (Union[Unset, str]): Type of viz Example: vitescce.
19        config (Union[Unset, str]): Path to config file used to render viz
20    """
21
22    name: Union[Unset, str] = UNSET
23    desc: Union[Unset, str] = UNSET
24    type: Union[Unset, str] = UNSET
25    config: Union[Unset, str] = UNSET
26    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
27
28    def to_dict(self) -> Dict[str, Any]:
29        name = self.name
30
31        desc = self.desc
32
33        type = self.type
34
35        config = self.config
36
37        field_dict: Dict[str, Any] = {}
38        field_dict.update(self.additional_properties)
39        field_dict.update({})
40        if name is not UNSET:
41            field_dict["name"] = name
42        if desc is not UNSET:
43            field_dict["desc"] = desc
44        if type is not UNSET:
45            field_dict["type"] = type
46        if config is not UNSET:
47            field_dict["config"] = config
48
49        return field_dict
50
51    @classmethod
52    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
53        d = src_dict.copy()
54        name = d.pop("name", UNSET)
55
56        desc = d.pop("desc", UNSET)
57
58        type = d.pop("type", UNSET)
59
60        config = d.pop("config", UNSET)
61
62        dataset_viz = cls(
63            name=name,
64            desc=desc,
65            type=type,
66            config=config,
67        )
68
69        dataset_viz.additional_properties = d
70        return dataset_viz
71
72    @property
73    def additional_keys(self) -> List[str]:
74        return list(self.additional_properties.keys())
Attributes:
  • name (Union[Unset, str]): Name of viz
  • desc (Union[Unset, str]): Description of viz
  • type (Union[Unset, str]): Type of viz Example: vitescce.
  • config (Union[Unset, str]): Path to config file used to render viz
DatasetViz( name: Union[cirro_api_client.v1.types.Unset, str] = <cirro_api_client.v1.types.Unset object>, desc: Union[cirro_api_client.v1.types.Unset, str] = <cirro_api_client.v1.types.Unset object>, type: Union[cirro_api_client.v1.types.Unset, str] = <cirro_api_client.v1.types.Unset object>, config: Union[cirro_api_client.v1.types.Unset, str] = <cirro_api_client.v1.types.Unset object>)
2def __init__(self, name=attr_dict['name'].default, desc=attr_dict['desc'].default, type=attr_dict['type'].default, config=attr_dict['config'].default):
3    self.name = name
4    self.desc = desc
5    self.type = type
6    self.config = config
7    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class DatasetViz.

name: Union[cirro_api_client.v1.types.Unset, str]
desc: Union[cirro_api_client.v1.types.Unset, str]
type: Union[cirro_api_client.v1.types.Unset, str]
config: Union[cirro_api_client.v1.types.Unset, str]
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
28    def to_dict(self) -> Dict[str, Any]:
29        name = self.name
30
31        desc = self.desc
32
33        type = self.type
34
35        config = self.config
36
37        field_dict: Dict[str, Any] = {}
38        field_dict.update(self.additional_properties)
39        field_dict.update({})
40        if name is not UNSET:
41            field_dict["name"] = name
42        if desc is not UNSET:
43            field_dict["desc"] = desc
44        if type is not UNSET:
45            field_dict["type"] = type
46        if config is not UNSET:
47            field_dict["config"] = config
48
49        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
51    @classmethod
52    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
53        d = src_dict.copy()
54        name = d.pop("name", UNSET)
55
56        desc = d.pop("desc", UNSET)
57
58        type = d.pop("type", UNSET)
59
60        config = d.pop("config", UNSET)
61
62        dataset_viz = cls(
63            name=name,
64            desc=desc,
65            type=type,
66            config=config,
67        )
68
69        dataset_viz.additional_properties = d
70        return dataset_viz
additional_keys: List[str]
72    @property
73    def additional_keys(self) -> List[str]:
74        return list(self.additional_properties.keys())
class ErrorMessage:
10@_attrs_define
11class ErrorMessage:
12    """
13    Attributes:
14        message (str):
15    """
16
17    message: str
18    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
19
20    def to_dict(self) -> Dict[str, Any]:
21        message = self.message
22
23        field_dict: Dict[str, Any] = {}
24        field_dict.update(self.additional_properties)
25        field_dict.update(
26            {
27                "message": message,
28            }
29        )
30
31        return field_dict
32
33    @classmethod
34    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
35        d = src_dict.copy()
36        message = d.pop("message")
37
38        error_message = cls(
39            message=message,
40        )
41
42        error_message.additional_properties = d
43        return error_message
44
45    @property
46    def additional_keys(self) -> List[str]:
47        return list(self.additional_properties.keys())
Attributes:
  • message (str):
ErrorMessage(message: str)
2def __init__(self, message):
3    self.message = message
4    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class ErrorMessage.

message: str
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
20    def to_dict(self) -> Dict[str, Any]:
21        message = self.message
22
23        field_dict: Dict[str, Any] = {}
24        field_dict.update(self.additional_properties)
25        field_dict.update(
26            {
27                "message": message,
28            }
29        )
30
31        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
33    @classmethod
34    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
35        d = src_dict.copy()
36        message = d.pop("message")
37
38        error_message = cls(
39            message=message,
40        )
41
42        error_message.additional_properties = d
43        return error_message
additional_keys: List[str]
45    @property
46    def additional_keys(self) -> List[str]:
47        return list(self.additional_properties.keys())
class Executor(builtins.str, enum.Enum):
 5class Executor(str, Enum):
 6    CROMWELL = "CROMWELL"
 7    INGEST = "INGEST"
 8    NEXTFLOW = "NEXTFLOW"
 9
10    def __str__(self) -> str:
11        return str(self.value)

str(object='') -> str str(bytes_or_buffer[, encoding[, errors]]) -> str

Create a new string object from the given object. If encoding or errors is specified, then the object must expose a data buffer that will be decoded using the given encoding and error handler. Otherwise, returns the result of object.__str__() (if defined) or repr(object). encoding defaults to sys.getdefaultencoding(). errors defaults to 'strict'.

CROMWELL = <Executor.CROMWELL: 'CROMWELL'>
INGEST = <Executor.INGEST: 'INGEST'>
NEXTFLOW = <Executor.NEXTFLOW: 'NEXTFLOW'>
Inherited Members
enum.Enum
name
value
builtins.str
encode
replace
split
rsplit
join
capitalize
casefold
title
center
count
expandtabs
find
partition
index
ljust
lower
lstrip
rfind
rindex
rjust
rstrip
rpartition
splitlines
strip
swapcase
translate
upper
startswith
endswith
removeprefix
removesuffix
isascii
islower
isupper
istitle
isspace
isdecimal
isdigit
isnumeric
isalpha
isalnum
isidentifier
isprintable
zfill
format
format_map
maketrans
class FileAccessRequest:
13@_attrs_define
14class FileAccessRequest:
15    """
16    Attributes:
17        access_type (AccessType):
18        dataset_id (Union[None, Unset, str]):
19        token_lifetime_hours (Union[None, Unset, int]):
20    """
21
22    access_type: AccessType
23    dataset_id: Union[None, Unset, str] = UNSET
24    token_lifetime_hours: Union[None, Unset, int] = UNSET
25    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
26
27    def to_dict(self) -> Dict[str, Any]:
28        access_type = self.access_type.value
29
30        dataset_id: Union[None, Unset, str]
31        if isinstance(self.dataset_id, Unset):
32            dataset_id = UNSET
33        else:
34            dataset_id = self.dataset_id
35
36        token_lifetime_hours: Union[None, Unset, int]
37        if isinstance(self.token_lifetime_hours, Unset):
38            token_lifetime_hours = UNSET
39        else:
40            token_lifetime_hours = self.token_lifetime_hours
41
42        field_dict: Dict[str, Any] = {}
43        field_dict.update(self.additional_properties)
44        field_dict.update(
45            {
46                "accessType": access_type,
47            }
48        )
49        if dataset_id is not UNSET:
50            field_dict["datasetId"] = dataset_id
51        if token_lifetime_hours is not UNSET:
52            field_dict["tokenLifetimeHours"] = token_lifetime_hours
53
54        return field_dict
55
56    @classmethod
57    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
58        d = src_dict.copy()
59        access_type = AccessType(d.pop("accessType"))
60
61        def _parse_dataset_id(data: object) -> Union[None, Unset, str]:
62            if data is None:
63                return data
64            if isinstance(data, Unset):
65                return data
66            return cast(Union[None, Unset, str], data)
67
68        dataset_id = _parse_dataset_id(d.pop("datasetId", UNSET))
69
70        def _parse_token_lifetime_hours(data: object) -> Union[None, Unset, int]:
71            if data is None:
72                return data
73            if isinstance(data, Unset):
74                return data
75            return cast(Union[None, Unset, int], data)
76
77        token_lifetime_hours = _parse_token_lifetime_hours(d.pop("tokenLifetimeHours", UNSET))
78
79        file_access_request = cls(
80            access_type=access_type,
81            dataset_id=dataset_id,
82            token_lifetime_hours=token_lifetime_hours,
83        )
84
85        file_access_request.additional_properties = d
86        return file_access_request
87
88    @property
89    def additional_keys(self) -> List[str]:
90        return list(self.additional_properties.keys())
Attributes:
  • access_type (AccessType):
  • dataset_id (Union[None, Unset, str]):
  • token_lifetime_hours (Union[None, Unset, int]):
FileAccessRequest( access_type: AccessType, dataset_id: Union[NoneType, cirro_api_client.v1.types.Unset, str] = <cirro_api_client.v1.types.Unset object>, token_lifetime_hours: Union[NoneType, cirro_api_client.v1.types.Unset, int] = <cirro_api_client.v1.types.Unset object>)
2def __init__(self, access_type, dataset_id=attr_dict['dataset_id'].default, token_lifetime_hours=attr_dict['token_lifetime_hours'].default):
3    self.access_type = access_type
4    self.dataset_id = dataset_id
5    self.token_lifetime_hours = token_lifetime_hours
6    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class FileAccessRequest.

access_type: AccessType
dataset_id: Union[NoneType, cirro_api_client.v1.types.Unset, str]
token_lifetime_hours: Union[NoneType, cirro_api_client.v1.types.Unset, int]
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
27    def to_dict(self) -> Dict[str, Any]:
28        access_type = self.access_type.value
29
30        dataset_id: Union[None, Unset, str]
31        if isinstance(self.dataset_id, Unset):
32            dataset_id = UNSET
33        else:
34            dataset_id = self.dataset_id
35
36        token_lifetime_hours: Union[None, Unset, int]
37        if isinstance(self.token_lifetime_hours, Unset):
38            token_lifetime_hours = UNSET
39        else:
40            token_lifetime_hours = self.token_lifetime_hours
41
42        field_dict: Dict[str, Any] = {}
43        field_dict.update(self.additional_properties)
44        field_dict.update(
45            {
46                "accessType": access_type,
47            }
48        )
49        if dataset_id is not UNSET:
50            field_dict["datasetId"] = dataset_id
51        if token_lifetime_hours is not UNSET:
52            field_dict["tokenLifetimeHours"] = token_lifetime_hours
53
54        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
56    @classmethod
57    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
58        d = src_dict.copy()
59        access_type = AccessType(d.pop("accessType"))
60
61        def _parse_dataset_id(data: object) -> Union[None, Unset, str]:
62            if data is None:
63                return data
64            if isinstance(data, Unset):
65                return data
66            return cast(Union[None, Unset, str], data)
67
68        dataset_id = _parse_dataset_id(d.pop("datasetId", UNSET))
69
70        def _parse_token_lifetime_hours(data: object) -> Union[None, Unset, int]:
71            if data is None:
72                return data
73            if isinstance(data, Unset):
74                return data
75            return cast(Union[None, Unset, int], data)
76
77        token_lifetime_hours = _parse_token_lifetime_hours(d.pop("tokenLifetimeHours", UNSET))
78
79        file_access_request = cls(
80            access_type=access_type,
81            dataset_id=dataset_id,
82            token_lifetime_hours=token_lifetime_hours,
83        )
84
85        file_access_request.additional_properties = d
86        return file_access_request
additional_keys: List[str]
88    @property
89    def additional_keys(self) -> List[str]:
90        return list(self.additional_properties.keys())
class FileEntry:
16@_attrs_define
17class FileEntry:
18    """
19    Attributes:
20        path (Union[Unset, str]): Relative path to file Example: data/fastq/SRX12875516_SRR16674827_1.fastq.gz.
21        size (Union[Unset, int]): File size (in bytes) Example: 1435658507.
22        metadata (Union[Unset, FileEntryMetadata]): Metadata associated with the file Example: {'read': 1}.
23    """
24
25    path: Union[Unset, str] = UNSET
26    size: Union[Unset, int] = UNSET
27    metadata: Union[Unset, "FileEntryMetadata"] = UNSET
28    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
29
30    def to_dict(self) -> Dict[str, Any]:
31        path = self.path
32
33        size = self.size
34
35        metadata: Union[Unset, Dict[str, Any]] = UNSET
36        if not isinstance(self.metadata, Unset):
37            metadata = self.metadata.to_dict()
38
39        field_dict: Dict[str, Any] = {}
40        field_dict.update(self.additional_properties)
41        field_dict.update({})
42        if path is not UNSET:
43            field_dict["path"] = path
44        if size is not UNSET:
45            field_dict["size"] = size
46        if metadata is not UNSET:
47            field_dict["metadata"] = metadata
48
49        return field_dict
50
51    @classmethod
52    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
53        from ..models.file_entry_metadata import FileEntryMetadata
54
55        d = src_dict.copy()
56        path = d.pop("path", UNSET)
57
58        size = d.pop("size", UNSET)
59
60        _metadata = d.pop("metadata", UNSET)
61        metadata: Union[Unset, FileEntryMetadata]
62        if isinstance(_metadata, Unset):
63            metadata = UNSET
64        else:
65            metadata = FileEntryMetadata.from_dict(_metadata)
66
67        file_entry = cls(
68            path=path,
69            size=size,
70            metadata=metadata,
71        )
72
73        file_entry.additional_properties = d
74        return file_entry
75
76    @property
77    def additional_keys(self) -> List[str]:
78        return list(self.additional_properties.keys())
Attributes:
  • path (Union[Unset, str]): Relative path to file Example: data/fastq/SRX12875516_SRR16674827_1.fastq.gz.
  • size (Union[Unset, int]): File size (in bytes) Example: 1435658507.
  • metadata (Union[Unset, FileEntryMetadata]): Metadata associated with the file Example: {'read': 1}.
FileEntry( path: Union[cirro_api_client.v1.types.Unset, str] = <cirro_api_client.v1.types.Unset object>, size: Union[cirro_api_client.v1.types.Unset, int] = <cirro_api_client.v1.types.Unset object>, metadata: Union[cirro_api_client.v1.types.Unset, FileEntryMetadata] = <cirro_api_client.v1.types.Unset object>)
2def __init__(self, path=attr_dict['path'].default, size=attr_dict['size'].default, metadata=attr_dict['metadata'].default):
3    self.path = path
4    self.size = size
5    self.metadata = metadata
6    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class FileEntry.

path: Union[cirro_api_client.v1.types.Unset, str]
size: Union[cirro_api_client.v1.types.Unset, int]
metadata: Union[cirro_api_client.v1.types.Unset, FileEntryMetadata]
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
30    def to_dict(self) -> Dict[str, Any]:
31        path = self.path
32
33        size = self.size
34
35        metadata: Union[Unset, Dict[str, Any]] = UNSET
36        if not isinstance(self.metadata, Unset):
37            metadata = self.metadata.to_dict()
38
39        field_dict: Dict[str, Any] = {}
40        field_dict.update(self.additional_properties)
41        field_dict.update({})
42        if path is not UNSET:
43            field_dict["path"] = path
44        if size is not UNSET:
45            field_dict["size"] = size
46        if metadata is not UNSET:
47            field_dict["metadata"] = metadata
48
49        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
51    @classmethod
52    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
53        from ..models.file_entry_metadata import FileEntryMetadata
54
55        d = src_dict.copy()
56        path = d.pop("path", UNSET)
57
58        size = d.pop("size", UNSET)
59
60        _metadata = d.pop("metadata", UNSET)
61        metadata: Union[Unset, FileEntryMetadata]
62        if isinstance(_metadata, Unset):
63            metadata = UNSET
64        else:
65            metadata = FileEntryMetadata.from_dict(_metadata)
66
67        file_entry = cls(
68            path=path,
69            size=size,
70            metadata=metadata,
71        )
72
73        file_entry.additional_properties = d
74        return file_entry
additional_keys: List[str]
76    @property
77    def additional_keys(self) -> List[str]:
78        return list(self.additional_properties.keys())
class FileEntryMetadata:
10@_attrs_define
11class FileEntryMetadata:
12    """Metadata associated with the file
13
14    Example:
15        {'read': 1}
16
17    """
18
19    additional_properties: Dict[str, str] = _attrs_field(init=False, factory=dict)
20
21    def to_dict(self) -> Dict[str, Any]:
22        field_dict: Dict[str, Any] = {}
23        field_dict.update(self.additional_properties)
24        field_dict.update({})
25
26        return field_dict
27
28    @classmethod
29    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
30        d = src_dict.copy()
31        file_entry_metadata = cls()
32
33        file_entry_metadata.additional_properties = d
34        return file_entry_metadata
35
36    @property
37    def additional_keys(self) -> List[str]:
38        return list(self.additional_properties.keys())

Metadata associated with the file

Example:

{'read': 1}

FileEntryMetadata()
2def __init__(self, ):
3    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class FileEntryMetadata.

additional_properties: Dict[str, str]
def to_dict(self) -> Dict[str, Any]:
21    def to_dict(self) -> Dict[str, Any]:
22        field_dict: Dict[str, Any] = {}
23        field_dict.update(self.additional_properties)
24        field_dict.update({})
25
26        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
28    @classmethod
29    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
30        d = src_dict.copy()
31        file_entry_metadata = cls()
32
33        file_entry_metadata.additional_properties = d
34        return file_entry_metadata
additional_keys: List[str]
36    @property
37    def additional_keys(self) -> List[str]:
38        return list(self.additional_properties.keys())
class FileNamePattern:
10@_attrs_define
11class FileNamePattern:
12    """
13    Attributes:
14        example_name (str):
15        description (str):
16    """
17
18    example_name: str
19    description: str
20    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
21
22    def to_dict(self) -> Dict[str, Any]:
23        example_name = self.example_name
24
25        description = self.description
26
27        field_dict: Dict[str, Any] = {}
28        field_dict.update(self.additional_properties)
29        field_dict.update(
30            {
31                "exampleName": example_name,
32                "description": description,
33            }
34        )
35
36        return field_dict
37
38    @classmethod
39    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
40        d = src_dict.copy()
41        example_name = d.pop("exampleName")
42
43        description = d.pop("description")
44
45        file_name_pattern = cls(
46            example_name=example_name,
47            description=description,
48        )
49
50        file_name_pattern.additional_properties = d
51        return file_name_pattern
52
53    @property
54    def additional_keys(self) -> List[str]:
55        return list(self.additional_properties.keys())
Attributes:
  • example_name (str):
  • description (str):
FileNamePattern(example_name: str, description: str)
2def __init__(self, example_name, description):
3    self.example_name = example_name
4    self.description = description
5    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class FileNamePattern.

example_name: str
description: str
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
22    def to_dict(self) -> Dict[str, Any]:
23        example_name = self.example_name
24
25        description = self.description
26
27        field_dict: Dict[str, Any] = {}
28        field_dict.update(self.additional_properties)
29        field_dict.update(
30            {
31                "exampleName": example_name,
32                "description": description,
33            }
34        )
35
36        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
38    @classmethod
39    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
40        d = src_dict.copy()
41        example_name = d.pop("exampleName")
42
43        description = d.pop("description")
44
45        file_name_pattern = cls(
46            example_name=example_name,
47            description=description,
48        )
49
50        file_name_pattern.additional_properties = d
51        return file_name_pattern
additional_keys: List[str]
53    @property
54    def additional_keys(self) -> List[str]:
55        return list(self.additional_properties.keys())
class FileRequirements:
14@_attrs_define
15class FileRequirements:
16    """
17    Attributes:
18        files (List[str]):
19        error_msg (str):
20        allowed_data_types (List['AllowedDataType']):
21    """
22
23    files: List[str]
24    error_msg: str
25    allowed_data_types: List["AllowedDataType"]
26    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
27
28    def to_dict(self) -> Dict[str, Any]:
29        files = self.files
30
31        error_msg = self.error_msg
32
33        allowed_data_types = []
34        for allowed_data_types_item_data in self.allowed_data_types:
35            allowed_data_types_item = allowed_data_types_item_data.to_dict()
36            allowed_data_types.append(allowed_data_types_item)
37
38        field_dict: Dict[str, Any] = {}
39        field_dict.update(self.additional_properties)
40        field_dict.update(
41            {
42                "files": files,
43                "errorMsg": error_msg,
44                "allowedDataTypes": allowed_data_types,
45            }
46        )
47
48        return field_dict
49
50    @classmethod
51    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
52        from ..models.allowed_data_type import AllowedDataType
53
54        d = src_dict.copy()
55        files = cast(List[str], d.pop("files"))
56
57        error_msg = d.pop("errorMsg")
58
59        allowed_data_types = []
60        _allowed_data_types = d.pop("allowedDataTypes")
61        for allowed_data_types_item_data in _allowed_data_types:
62            allowed_data_types_item = AllowedDataType.from_dict(allowed_data_types_item_data)
63
64            allowed_data_types.append(allowed_data_types_item)
65
66        file_requirements = cls(
67            files=files,
68            error_msg=error_msg,
69            allowed_data_types=allowed_data_types,
70        )
71
72        file_requirements.additional_properties = d
73        return file_requirements
74
75    @property
76    def additional_keys(self) -> List[str]:
77        return list(self.additional_properties.keys())
Attributes:
  • files (List[str]):
  • error_msg (str):
  • allowed_data_types (List['AllowedDataType']):
FileRequirements( files: List[str], error_msg: str, allowed_data_types: List[AllowedDataType])
2def __init__(self, files, error_msg, allowed_data_types):
3    self.files = files
4    self.error_msg = error_msg
5    self.allowed_data_types = allowed_data_types
6    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class FileRequirements.

files: List[str]
error_msg: str
allowed_data_types: List[AllowedDataType]
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
28    def to_dict(self) -> Dict[str, Any]:
29        files = self.files
30
31        error_msg = self.error_msg
32
33        allowed_data_types = []
34        for allowed_data_types_item_data in self.allowed_data_types:
35            allowed_data_types_item = allowed_data_types_item_data.to_dict()
36            allowed_data_types.append(allowed_data_types_item)
37
38        field_dict: Dict[str, Any] = {}
39        field_dict.update(self.additional_properties)
40        field_dict.update(
41            {
42                "files": files,
43                "errorMsg": error_msg,
44                "allowedDataTypes": allowed_data_types,
45            }
46        )
47
48        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
50    @classmethod
51    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
52        from ..models.allowed_data_type import AllowedDataType
53
54        d = src_dict.copy()
55        files = cast(List[str], d.pop("files"))
56
57        error_msg = d.pop("errorMsg")
58
59        allowed_data_types = []
60        _allowed_data_types = d.pop("allowedDataTypes")
61        for allowed_data_types_item_data in _allowed_data_types:
62            allowed_data_types_item = AllowedDataType.from_dict(allowed_data_types_item_data)
63
64            allowed_data_types.append(allowed_data_types_item)
65
66        file_requirements = cls(
67            files=files,
68            error_msg=error_msg,
69            allowed_data_types=allowed_data_types,
70        )
71
72        file_requirements.additional_properties = d
73        return file_requirements
additional_keys: List[str]
75    @property
76    def additional_keys(self) -> List[str]:
77        return list(self.additional_properties.keys())
class FormSchema:
17@_attrs_define
18class FormSchema:
19    """
20    Attributes:
21        form (Union[Unset, FormSchemaForm]): JSONSchema representation of the parameters
22        ui (Union[Unset, FormSchemaUi]): Describes how the form should be rendered, see rjsf
23    """
24
25    form: Union[Unset, "FormSchemaForm"] = UNSET
26    ui: Union[Unset, "FormSchemaUi"] = UNSET
27    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
28
29    def to_dict(self) -> Dict[str, Any]:
30        form: Union[Unset, Dict[str, Any]] = UNSET
31        if not isinstance(self.form, Unset):
32            form = self.form.to_dict()
33
34        ui: Union[Unset, Dict[str, Any]] = UNSET
35        if not isinstance(self.ui, Unset):
36            ui = self.ui.to_dict()
37
38        field_dict: Dict[str, Any] = {}
39        field_dict.update(self.additional_properties)
40        field_dict.update({})
41        if form is not UNSET:
42            field_dict["form"] = form
43        if ui is not UNSET:
44            field_dict["ui"] = ui
45
46        return field_dict
47
48    @classmethod
49    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
50        from ..models.form_schema_form import FormSchemaForm
51        from ..models.form_schema_ui import FormSchemaUi
52
53        d = src_dict.copy()
54        _form = d.pop("form", UNSET)
55        form: Union[Unset, FormSchemaForm]
56        if isinstance(_form, Unset):
57            form = UNSET
58        else:
59            form = FormSchemaForm.from_dict(_form)
60
61        _ui = d.pop("ui", UNSET)
62        ui: Union[Unset, FormSchemaUi]
63        if isinstance(_ui, Unset):
64            ui = UNSET
65        else:
66            ui = FormSchemaUi.from_dict(_ui)
67
68        form_schema = cls(
69            form=form,
70            ui=ui,
71        )
72
73        form_schema.additional_properties = d
74        return form_schema
75
76    @property
77    def additional_keys(self) -> List[str]:
78        return list(self.additional_properties.keys())
Attributes:
  • form (Union[Unset, FormSchemaForm]): JSONSchema representation of the parameters
  • ui (Union[Unset, FormSchemaUi]): Describes how the form should be rendered, see rjsf
FormSchema( form: Union[cirro_api_client.v1.types.Unset, FormSchemaForm] = <cirro_api_client.v1.types.Unset object>, ui: Union[cirro_api_client.v1.types.Unset, FormSchemaUi] = <cirro_api_client.v1.types.Unset object>)
2def __init__(self, form=attr_dict['form'].default, ui=attr_dict['ui'].default):
3    self.form = form
4    self.ui = ui
5    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class FormSchema.

form: Union[cirro_api_client.v1.types.Unset, FormSchemaForm]
ui: Union[cirro_api_client.v1.types.Unset, FormSchemaUi]
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
29    def to_dict(self) -> Dict[str, Any]:
30        form: Union[Unset, Dict[str, Any]] = UNSET
31        if not isinstance(self.form, Unset):
32            form = self.form.to_dict()
33
34        ui: Union[Unset, Dict[str, Any]] = UNSET
35        if not isinstance(self.ui, Unset):
36            ui = self.ui.to_dict()
37
38        field_dict: Dict[str, Any] = {}
39        field_dict.update(self.additional_properties)
40        field_dict.update({})
41        if form is not UNSET:
42            field_dict["form"] = form
43        if ui is not UNSET:
44            field_dict["ui"] = ui
45
46        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
48    @classmethod
49    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
50        from ..models.form_schema_form import FormSchemaForm
51        from ..models.form_schema_ui import FormSchemaUi
52
53        d = src_dict.copy()
54        _form = d.pop("form", UNSET)
55        form: Union[Unset, FormSchemaForm]
56        if isinstance(_form, Unset):
57            form = UNSET
58        else:
59            form = FormSchemaForm.from_dict(_form)
60
61        _ui = d.pop("ui", UNSET)
62        ui: Union[Unset, FormSchemaUi]
63        if isinstance(_ui, Unset):
64            ui = UNSET
65        else:
66            ui = FormSchemaUi.from_dict(_ui)
67
68        form_schema = cls(
69            form=form,
70            ui=ui,
71        )
72
73        form_schema.additional_properties = d
74        return form_schema
additional_keys: List[str]
76    @property
77    def additional_keys(self) -> List[str]:
78        return list(self.additional_properties.keys())
class FormSchemaForm:
10@_attrs_define
11class FormSchemaForm:
12    """JSONSchema representation of the parameters"""
13
14    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
15
16    def to_dict(self) -> Dict[str, Any]:
17        field_dict: Dict[str, Any] = {}
18        field_dict.update(self.additional_properties)
19        field_dict.update({})
20
21        return field_dict
22
23    @classmethod
24    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
25        d = src_dict.copy()
26        form_schema_form = cls()
27
28        form_schema_form.additional_properties = d
29        return form_schema_form
30
31    @property
32    def additional_keys(self) -> List[str]:
33        return list(self.additional_properties.keys())

JSONSchema representation of the parameters

FormSchemaForm()
2def __init__(self, ):
3    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class FormSchemaForm.

additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
16    def to_dict(self) -> Dict[str, Any]:
17        field_dict: Dict[str, Any] = {}
18        field_dict.update(self.additional_properties)
19        field_dict.update({})
20
21        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
23    @classmethod
24    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
25        d = src_dict.copy()
26        form_schema_form = cls()
27
28        form_schema_form.additional_properties = d
29        return form_schema_form
additional_keys: List[str]
31    @property
32    def additional_keys(self) -> List[str]:
33        return list(self.additional_properties.keys())
class FormSchemaUi:
10@_attrs_define
11class FormSchemaUi:
12    """Describes how the form should be rendered, see rjsf"""
13
14    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
15
16    def to_dict(self) -> Dict[str, Any]:
17        field_dict: Dict[str, Any] = {}
18        field_dict.update(self.additional_properties)
19        field_dict.update({})
20
21        return field_dict
22
23    @classmethod
24    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
25        d = src_dict.copy()
26        form_schema_ui = cls()
27
28        form_schema_ui.additional_properties = d
29        return form_schema_ui
30
31    @property
32    def additional_keys(self) -> List[str]:
33        return list(self.additional_properties.keys())

Describes how the form should be rendered, see rjsf

FormSchemaUi()
2def __init__(self, ):
3    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class FormSchemaUi.

additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
16    def to_dict(self) -> Dict[str, Any]:
17        field_dict: Dict[str, Any] = {}
18        field_dict.update(self.additional_properties)
19        field_dict.update({})
20
21        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
23    @classmethod
24    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
25        d = src_dict.copy()
26        form_schema_ui = cls()
27
28        form_schema_ui.additional_properties = d
29        return form_schema_ui
additional_keys: List[str]
31    @property
32    def additional_keys(self) -> List[str]:
33        return list(self.additional_properties.keys())
class GenerateSftpCredentialsRequest:
12@_attrs_define
13class GenerateSftpCredentialsRequest:
14    """
15    Attributes:
16        lifetime_days (Union[Unset, int]): Number of days the credentials are valid for Default: 1.
17    """
18
19    lifetime_days: Union[Unset, int] = 1
20    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
21
22    def to_dict(self) -> Dict[str, Any]:
23        lifetime_days = self.lifetime_days
24
25        field_dict: Dict[str, Any] = {}
26        field_dict.update(self.additional_properties)
27        field_dict.update({})
28        if lifetime_days is not UNSET:
29            field_dict["lifetimeDays"] = lifetime_days
30
31        return field_dict
32
33    @classmethod
34    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
35        d = src_dict.copy()
36        lifetime_days = d.pop("lifetimeDays", UNSET)
37
38        generate_sftp_credentials_request = cls(
39            lifetime_days=lifetime_days,
40        )
41
42        generate_sftp_credentials_request.additional_properties = d
43        return generate_sftp_credentials_request
44
45    @property
46    def additional_keys(self) -> List[str]:
47        return list(self.additional_properties.keys())
Attributes:
  • lifetime_days (Union[Unset, int]): Number of days the credentials are valid for Default: 1.
GenerateSftpCredentialsRequest(lifetime_days: Union[cirro_api_client.v1.types.Unset, int] = 1)
2def __init__(self, lifetime_days=attr_dict['lifetime_days'].default):
3    self.lifetime_days = lifetime_days
4    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class GenerateSftpCredentialsRequest.

lifetime_days: Union[cirro_api_client.v1.types.Unset, int]
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
22    def to_dict(self) -> Dict[str, Any]:
23        lifetime_days = self.lifetime_days
24
25        field_dict: Dict[str, Any] = {}
26        field_dict.update(self.additional_properties)
27        field_dict.update({})
28        if lifetime_days is not UNSET:
29            field_dict["lifetimeDays"] = lifetime_days
30
31        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
33    @classmethod
34    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
35        d = src_dict.copy()
36        lifetime_days = d.pop("lifetimeDays", UNSET)
37
38        generate_sftp_credentials_request = cls(
39            lifetime_days=lifetime_days,
40        )
41
42        generate_sftp_credentials_request.additional_properties = d
43        return generate_sftp_credentials_request
additional_keys: List[str]
45    @property
46    def additional_keys(self) -> List[str]:
47        return list(self.additional_properties.keys())
class GetExecutionLogsResponse:
14@_attrs_define
15class GetExecutionLogsResponse:
16    """
17    Attributes:
18        events (List['LogEntry']):
19    """
20
21    events: List["LogEntry"]
22    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
23
24    def to_dict(self) -> Dict[str, Any]:
25        events = []
26        for events_item_data in self.events:
27            events_item = events_item_data.to_dict()
28            events.append(events_item)
29
30        field_dict: Dict[str, Any] = {}
31        field_dict.update(self.additional_properties)
32        field_dict.update(
33            {
34                "events": events,
35            }
36        )
37
38        return field_dict
39
40    @classmethod
41    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
42        from ..models.log_entry import LogEntry
43
44        d = src_dict.copy()
45        events = []
46        _events = d.pop("events")
47        for events_item_data in _events:
48            events_item = LogEntry.from_dict(events_item_data)
49
50            events.append(events_item)
51
52        get_execution_logs_response = cls(
53            events=events,
54        )
55
56        get_execution_logs_response.additional_properties = d
57        return get_execution_logs_response
58
59    @property
60    def additional_keys(self) -> List[str]:
61        return list(self.additional_properties.keys())
Attributes:
  • events (List['LogEntry']):
GetExecutionLogsResponse(events: List[LogEntry])
2def __init__(self, events):
3    self.events = events
4    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class GetExecutionLogsResponse.

events: List[LogEntry]
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
24    def to_dict(self) -> Dict[str, Any]:
25        events = []
26        for events_item_data in self.events:
27            events_item = events_item_data.to_dict()
28            events.append(events_item)
29
30        field_dict: Dict[str, Any] = {}
31        field_dict.update(self.additional_properties)
32        field_dict.update(
33            {
34                "events": events,
35            }
36        )
37
38        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
40    @classmethod
41    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
42        from ..models.log_entry import LogEntry
43
44        d = src_dict.copy()
45        events = []
46        _events = d.pop("events")
47        for events_item_data in _events:
48            events_item = LogEntry.from_dict(events_item_data)
49
50            events.append(events_item)
51
52        get_execution_logs_response = cls(
53            events=events,
54        )
55
56        get_execution_logs_response.additional_properties = d
57        return get_execution_logs_response
additional_keys: List[str]
59    @property
60    def additional_keys(self) -> List[str]:
61        return list(self.additional_properties.keys())
class GetProjectSummaryResponse200:
14@_attrs_define
15class GetProjectSummaryResponse200:
16    """ """
17
18    additional_properties: Dict[str, List["Task"]] = _attrs_field(init=False, factory=dict)
19
20    def to_dict(self) -> Dict[str, Any]:
21        field_dict: Dict[str, Any] = {}
22        for prop_name, prop in self.additional_properties.items():
23            field_dict[prop_name] = []
24            for additional_property_item_data in prop:
25                additional_property_item = additional_property_item_data.to_dict()
26                field_dict[prop_name].append(additional_property_item)
27
28        field_dict.update({})
29
30        return field_dict
31
32    @classmethod
33    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
34        from ..models.task import Task
35
36        d = src_dict.copy()
37        get_project_summary_response_200 = cls()
38
39        additional_properties = {}
40        for prop_name, prop_dict in d.items():
41            additional_property = []
42            _additional_property = prop_dict
43            for additional_property_item_data in _additional_property:
44                additional_property_item = Task.from_dict(additional_property_item_data)
45
46                additional_property.append(additional_property_item)
47
48            additional_properties[prop_name] = additional_property
49
50        get_project_summary_response_200.additional_properties = additional_properties
51        return get_project_summary_response_200
52
53    @property
54    def additional_keys(self) -> List[str]:
55        return list(self.additional_properties.keys())
GetProjectSummaryResponse200()
2def __init__(self, ):
3    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class GetProjectSummaryResponse200.

additional_properties: Dict[str, List[Task]]
def to_dict(self) -> Dict[str, Any]:
20    def to_dict(self) -> Dict[str, Any]:
21        field_dict: Dict[str, Any] = {}
22        for prop_name, prop in self.additional_properties.items():
23            field_dict[prop_name] = []
24            for additional_property_item_data in prop:
25                additional_property_item = additional_property_item_data.to_dict()
26                field_dict[prop_name].append(additional_property_item)
27
28        field_dict.update({})
29
30        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
32    @classmethod
33    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
34        from ..models.task import Task
35
36        d = src_dict.copy()
37        get_project_summary_response_200 = cls()
38
39        additional_properties = {}
40        for prop_name, prop_dict in d.items():
41            additional_property = []
42            _additional_property = prop_dict
43            for additional_property_item_data in _additional_property:
44                additional_property_item = Task.from_dict(additional_property_item_data)
45
46                additional_property.append(additional_property_item)
47
48            additional_properties[prop_name] = additional_property
49
50        get_project_summary_response_200.additional_properties = additional_properties
51        return get_project_summary_response_200
additional_keys: List[str]
53    @property
54    def additional_keys(self) -> List[str]:
55        return list(self.additional_properties.keys())
class ImportDataRequest:
12@_attrs_define
13class ImportDataRequest:
14    """
15    Attributes:
16        name (str): Name of the dataset
17        public_ids (List[str]):
18        description (Union[Unset, str]): Description of the dataset
19    """
20
21    name: str
22    public_ids: List[str]
23    description: Union[Unset, str] = UNSET
24    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
25
26    def to_dict(self) -> Dict[str, Any]:
27        name = self.name
28
29        public_ids = self.public_ids
30
31        description = self.description
32
33        field_dict: Dict[str, Any] = {}
34        field_dict.update(self.additional_properties)
35        field_dict.update(
36            {
37                "name": name,
38                "publicIds": public_ids,
39            }
40        )
41        if description is not UNSET:
42            field_dict["description"] = description
43
44        return field_dict
45
46    @classmethod
47    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
48        d = src_dict.copy()
49        name = d.pop("name")
50
51        public_ids = cast(List[str], d.pop("publicIds"))
52
53        description = d.pop("description", UNSET)
54
55        import_data_request = cls(
56            name=name,
57            public_ids=public_ids,
58            description=description,
59        )
60
61        import_data_request.additional_properties = d
62        return import_data_request
63
64    @property
65    def additional_keys(self) -> List[str]:
66        return list(self.additional_properties.keys())
Attributes:
  • name (str): Name of the dataset
  • public_ids (List[str]):
  • description (Union[Unset, str]): Description of the dataset
ImportDataRequest( name: str, public_ids: List[str], description: Union[cirro_api_client.v1.types.Unset, str] = <cirro_api_client.v1.types.Unset object>)
2def __init__(self, name, public_ids, description=attr_dict['description'].default):
3    self.name = name
4    self.public_ids = public_ids
5    self.description = description
6    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class ImportDataRequest.

name: str
public_ids: List[str]
description: Union[cirro_api_client.v1.types.Unset, str]
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
26    def to_dict(self) -> Dict[str, Any]:
27        name = self.name
28
29        public_ids = self.public_ids
30
31        description = self.description
32
33        field_dict: Dict[str, Any] = {}
34        field_dict.update(self.additional_properties)
35        field_dict.update(
36            {
37                "name": name,
38                "publicIds": public_ids,
39            }
40        )
41        if description is not UNSET:
42            field_dict["description"] = description
43
44        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
46    @classmethod
47    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
48        d = src_dict.copy()
49        name = d.pop("name")
50
51        public_ids = cast(List[str], d.pop("publicIds"))
52
53        description = d.pop("description", UNSET)
54
55        import_data_request = cls(
56            name=name,
57            public_ids=public_ids,
58            description=description,
59        )
60
61        import_data_request.additional_properties = d
62        return import_data_request
additional_keys: List[str]
64    @property
65    def additional_keys(self) -> List[str]:
66        return list(self.additional_properties.keys())
class InviteUserRequest:
10@_attrs_define
11class InviteUserRequest:
12    """
13    Attributes:
14        name (str):
15        organization (str):
16        email (str):
17    """
18
19    name: str
20    organization: str
21    email: str
22    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
23
24    def to_dict(self) -> Dict[str, Any]:
25        name = self.name
26
27        organization = self.organization
28
29        email = self.email
30
31        field_dict: Dict[str, Any] = {}
32        field_dict.update(self.additional_properties)
33        field_dict.update(
34            {
35                "name": name,
36                "organization": organization,
37                "email": email,
38            }
39        )
40
41        return field_dict
42
43    @classmethod
44    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
45        d = src_dict.copy()
46        name = d.pop("name")
47
48        organization = d.pop("organization")
49
50        email = d.pop("email")
51
52        invite_user_request = cls(
53            name=name,
54            organization=organization,
55            email=email,
56        )
57
58        invite_user_request.additional_properties = d
59        return invite_user_request
60
61    @property
62    def additional_keys(self) -> List[str]:
63        return list(self.additional_properties.keys())
Attributes:
  • name (str):
  • organization (str):
  • email (str):
InviteUserRequest(name: str, organization: str, email: str)
2def __init__(self, name, organization, email):
3    self.name = name
4    self.organization = organization
5    self.email = email
6    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class InviteUserRequest.

name: str
organization: str
email: str
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
24    def to_dict(self) -> Dict[str, Any]:
25        name = self.name
26
27        organization = self.organization
28
29        email = self.email
30
31        field_dict: Dict[str, Any] = {}
32        field_dict.update(self.additional_properties)
33        field_dict.update(
34            {
35                "name": name,
36                "organization": organization,
37                "email": email,
38            }
39        )
40
41        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
43    @classmethod
44    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
45        d = src_dict.copy()
46        name = d.pop("name")
47
48        organization = d.pop("organization")
49
50        email = d.pop("email")
51
52        invite_user_request = cls(
53            name=name,
54            organization=organization,
55            email=email,
56        )
57
58        invite_user_request.additional_properties = d
59        return invite_user_request
additional_keys: List[str]
61    @property
62    def additional_keys(self) -> List[str]:
63        return list(self.additional_properties.keys())
class InviteUserResponse:
10@_attrs_define
11class InviteUserResponse:
12    """
13    Attributes:
14        message (str):
15    """
16
17    message: str
18    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
19
20    def to_dict(self) -> Dict[str, Any]:
21        message = self.message
22
23        field_dict: Dict[str, Any] = {}
24        field_dict.update(self.additional_properties)
25        field_dict.update(
26            {
27                "message": message,
28            }
29        )
30
31        return field_dict
32
33    @classmethod
34    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
35        d = src_dict.copy()
36        message = d.pop("message")
37
38        invite_user_response = cls(
39            message=message,
40        )
41
42        invite_user_response.additional_properties = d
43        return invite_user_response
44
45    @property
46    def additional_keys(self) -> List[str]:
47        return list(self.additional_properties.keys())
Attributes:
  • message (str):
InviteUserResponse(message: str)
2def __init__(self, message):
3    self.message = message
4    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class InviteUserResponse.

message: str
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
20    def to_dict(self) -> Dict[str, Any]:
21        message = self.message
22
23        field_dict: Dict[str, Any] = {}
24        field_dict.update(self.additional_properties)
25        field_dict.update(
26            {
27                "message": message,
28            }
29        )
30
31        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
33    @classmethod
34    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
35        d = src_dict.copy()
36        message = d.pop("message")
37
38        invite_user_response = cls(
39            message=message,
40        )
41
42        invite_user_response.additional_properties = d
43        return invite_user_response
additional_keys: List[str]
45    @property
46    def additional_keys(self) -> List[str]:
47        return list(self.additional_properties.keys())
class LogEntry:
12@_attrs_define
13class LogEntry:
14    """
15    Attributes:
16        message (str):
17        timestamp (Union[Unset, int]): UNIX timestamp in milliseconds, might be blank if we don't have this info
18    """
19
20    message: str
21    timestamp: Union[Unset, int] = UNSET
22    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
23
24    def to_dict(self) -> Dict[str, Any]:
25        message = self.message
26
27        timestamp = self.timestamp
28
29        field_dict: Dict[str, Any] = {}
30        field_dict.update(self.additional_properties)
31        field_dict.update(
32            {
33                "message": message,
34            }
35        )
36        if timestamp is not UNSET:
37            field_dict["timestamp"] = timestamp
38
39        return field_dict
40
41    @classmethod
42    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
43        d = src_dict.copy()
44        message = d.pop("message")
45
46        timestamp = d.pop("timestamp", UNSET)
47
48        log_entry = cls(
49            message=message,
50            timestamp=timestamp,
51        )
52
53        log_entry.additional_properties = d
54        return log_entry
55
56    @property
57    def additional_keys(self) -> List[str]:
58        return list(self.additional_properties.keys())
Attributes:
  • message (str):
  • timestamp (Union[Unset, int]): UNIX timestamp in milliseconds, might be blank if we don't have this info
LogEntry( message: str, timestamp: Union[cirro_api_client.v1.types.Unset, int] = <cirro_api_client.v1.types.Unset object>)
2def __init__(self, message, timestamp=attr_dict['timestamp'].default):
3    self.message = message
4    self.timestamp = timestamp
5    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class LogEntry.

message: str
timestamp: Union[cirro_api_client.v1.types.Unset, int]
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
24    def to_dict(self) -> Dict[str, Any]:
25        message = self.message
26
27        timestamp = self.timestamp
28
29        field_dict: Dict[str, Any] = {}
30        field_dict.update(self.additional_properties)
31        field_dict.update(
32            {
33                "message": message,
34            }
35        )
36        if timestamp is not UNSET:
37            field_dict["timestamp"] = timestamp
38
39        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
41    @classmethod
42    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
43        d = src_dict.copy()
44        message = d.pop("message")
45
46        timestamp = d.pop("timestamp", UNSET)
47
48        log_entry = cls(
49            message=message,
50            timestamp=timestamp,
51        )
52
53        log_entry.additional_properties = d
54        return log_entry
additional_keys: List[str]
56    @property
57    def additional_keys(self) -> List[str]:
58        return list(self.additional_properties.keys())
class LoginProvider:
10@_attrs_define
11class LoginProvider:
12    """
13    Attributes:
14        id (str):
15        name (str):
16        description (str):
17        logo_url (str):
18    """
19
20    id: str
21    name: str
22    description: str
23    logo_url: str
24    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
25
26    def to_dict(self) -> Dict[str, Any]:
27        id = self.id
28
29        name = self.name
30
31        description = self.description
32
33        logo_url = self.logo_url
34
35        field_dict: Dict[str, Any] = {}
36        field_dict.update(self.additional_properties)
37        field_dict.update(
38            {
39                "id": id,
40                "name": name,
41                "description": description,
42                "logoUrl": logo_url,
43            }
44        )
45
46        return field_dict
47
48    @classmethod
49    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
50        d = src_dict.copy()
51        id = d.pop("id")
52
53        name = d.pop("name")
54
55        description = d.pop("description")
56
57        logo_url = d.pop("logoUrl")
58
59        login_provider = cls(
60            id=id,
61            name=name,
62            description=description,
63            logo_url=logo_url,
64        )
65
66        login_provider.additional_properties = d
67        return login_provider
68
69    @property
70    def additional_keys(self) -> List[str]:
71        return list(self.additional_properties.keys())
Attributes:
  • id (str):
  • name (str):
  • description (str):
  • logo_url (str):
LoginProvider(id: str, name: str, description: str, logo_url: str)
2def __init__(self, id, name, description, logo_url):
3    self.id = id
4    self.name = name
5    self.description = description
6    self.logo_url = logo_url
7    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class LoginProvider.

id: str
name: str
description: str
logo_url: str
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
26    def to_dict(self) -> Dict[str, Any]:
27        id = self.id
28
29        name = self.name
30
31        description = self.description
32
33        logo_url = self.logo_url
34
35        field_dict: Dict[str, Any] = {}
36        field_dict.update(self.additional_properties)
37        field_dict.update(
38            {
39                "id": id,
40                "name": name,
41                "description": description,
42                "logoUrl": logo_url,
43            }
44        )
45
46        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
48    @classmethod
49    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
50        d = src_dict.copy()
51        id = d.pop("id")
52
53        name = d.pop("name")
54
55        description = d.pop("description")
56
57        logo_url = d.pop("logoUrl")
58
59        login_provider = cls(
60            id=id,
61            name=name,
62            description=description,
63            logo_url=logo_url,
64        )
65
66        login_provider.additional_properties = d
67        return login_provider
additional_keys: List[str]
69    @property
70    def additional_keys(self) -> List[str]:
71        return list(self.additional_properties.keys())
class MetricRecord:
18@_attrs_define
19class MetricRecord:
20    """
21    Attributes:
22        unit (str):
23        date (Union[Unset, datetime.date]): Date in ISO 8601 format
24        services (Union[Unset, MetricRecordServices]): Map of service names to metric value Example: {'Amazon Simple
25            Storage Service': 24.91}.
26    """
27
28    unit: str
29    date: Union[Unset, datetime.date] = UNSET
30    services: Union[Unset, "MetricRecordServices"] = UNSET
31    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
32
33    def to_dict(self) -> Dict[str, Any]:
34        unit = self.unit
35
36        date: Union[Unset, str] = UNSET
37        if not isinstance(self.date, Unset):
38            date = self.date.isoformat()
39
40        services: Union[Unset, Dict[str, Any]] = UNSET
41        if not isinstance(self.services, Unset):
42            services = self.services.to_dict()
43
44        field_dict: Dict[str, Any] = {}
45        field_dict.update(self.additional_properties)
46        field_dict.update(
47            {
48                "unit": unit,
49            }
50        )
51        if date is not UNSET:
52            field_dict["date"] = date
53        if services is not UNSET:
54            field_dict["services"] = services
55
56        return field_dict
57
58    @classmethod
59    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
60        from ..models.metric_record_services import MetricRecordServices
61
62        d = src_dict.copy()
63        unit = d.pop("unit")
64
65        _date = d.pop("date", UNSET)
66        date: Union[Unset, datetime.date]
67        if isinstance(_date, Unset):
68            date = UNSET
69        else:
70            date = isoparse(_date).date()
71
72        _services = d.pop("services", UNSET)
73        services: Union[Unset, MetricRecordServices]
74        if isinstance(_services, Unset):
75            services = UNSET
76        else:
77            services = MetricRecordServices.from_dict(_services)
78
79        metric_record = cls(
80            unit=unit,
81            date=date,
82            services=services,
83        )
84
85        metric_record.additional_properties = d
86        return metric_record
87
88    @property
89    def additional_keys(self) -> List[str]:
90        return list(self.additional_properties.keys())
Attributes:
  • unit (str):
  • date (Union[Unset, datetime.date]): Date in ISO 8601 format
  • services (Union[Unset, MetricRecordServices]): Map of service names to metric value Example: {'Amazon Simple Storage Service': 24.91}.
MetricRecord( unit: str, date: Union[cirro_api_client.v1.types.Unset, datetime.date] = <cirro_api_client.v1.types.Unset object>, services: Union[cirro_api_client.v1.types.Unset, MetricRecordServices] = <cirro_api_client.v1.types.Unset object>)
2def __init__(self, unit, date=attr_dict['date'].default, services=attr_dict['services'].default):
3    self.unit = unit
4    self.date = date
5    self.services = services
6    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class MetricRecord.

unit: str
date: Union[cirro_api_client.v1.types.Unset, datetime.date]
services: Union[cirro_api_client.v1.types.Unset, MetricRecordServices]
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
33    def to_dict(self) -> Dict[str, Any]:
34        unit = self.unit
35
36        date: Union[Unset, str] = UNSET
37        if not isinstance(self.date, Unset):
38            date = self.date.isoformat()
39
40        services: Union[Unset, Dict[str, Any]] = UNSET
41        if not isinstance(self.services, Unset):
42            services = self.services.to_dict()
43
44        field_dict: Dict[str, Any] = {}
45        field_dict.update(self.additional_properties)
46        field_dict.update(
47            {
48                "unit": unit,
49            }
50        )
51        if date is not UNSET:
52            field_dict["date"] = date
53        if services is not UNSET:
54            field_dict["services"] = services
55
56        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
58    @classmethod
59    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
60        from ..models.metric_record_services import MetricRecordServices
61
62        d = src_dict.copy()
63        unit = d.pop("unit")
64
65        _date = d.pop("date", UNSET)
66        date: Union[Unset, datetime.date]
67        if isinstance(_date, Unset):
68            date = UNSET
69        else:
70            date = isoparse(_date).date()
71
72        _services = d.pop("services", UNSET)
73        services: Union[Unset, MetricRecordServices]
74        if isinstance(_services, Unset):
75            services = UNSET
76        else:
77            services = MetricRecordServices.from_dict(_services)
78
79        metric_record = cls(
80            unit=unit,
81            date=date,
82            services=services,
83        )
84
85        metric_record.additional_properties = d
86        return metric_record
additional_keys: List[str]
88    @property
89    def additional_keys(self) -> List[str]:
90        return list(self.additional_properties.keys())
class MetricRecordServices:
10@_attrs_define
11class MetricRecordServices:
12    """Map of service names to metric value
13
14    Example:
15        {'Amazon Simple Storage Service': 24.91}
16
17    """
18
19    additional_properties: Dict[str, float] = _attrs_field(init=False, factory=dict)
20
21    def to_dict(self) -> Dict[str, Any]:
22        field_dict: Dict[str, Any] = {}
23        field_dict.update(self.additional_properties)
24        field_dict.update({})
25
26        return field_dict
27
28    @classmethod
29    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
30        d = src_dict.copy()
31        metric_record_services = cls()
32
33        metric_record_services.additional_properties = d
34        return metric_record_services
35
36    @property
37    def additional_keys(self) -> List[str]:
38        return list(self.additional_properties.keys())

Map of service names to metric value

Example:

{'Amazon Simple Storage Service': 24.91}

MetricRecordServices()
2def __init__(self, ):
3    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class MetricRecordServices.

additional_properties: Dict[str, float]
def to_dict(self) -> Dict[str, Any]:
21    def to_dict(self) -> Dict[str, Any]:
22        field_dict: Dict[str, Any] = {}
23        field_dict.update(self.additional_properties)
24        field_dict.update({})
25
26        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
28    @classmethod
29    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
30        d = src_dict.copy()
31        metric_record_services = cls()
32
33        metric_record_services.additional_properties = d
34        return metric_record_services
additional_keys: List[str]
36    @property
37    def additional_keys(self) -> List[str]:
38        return list(self.additional_properties.keys())
class NotebookInstance:
 14@_attrs_define
 15class NotebookInstance:
 16    """
 17    Attributes:
 18        id (str):
 19        name (str):
 20        status (Status):
 21        status_message (str):
 22        instance_type (str):
 23        accelerator_types (List[str]):
 24        volume_size_gb (int):
 25        created_by (str):
 26        created_at (datetime.datetime):
 27        updated_at (datetime.datetime):
 28    """
 29
 30    id: str
 31    name: str
 32    status: Status
 33    status_message: str
 34    instance_type: str
 35    accelerator_types: List[str]
 36    volume_size_gb: int
 37    created_by: str
 38    created_at: datetime.datetime
 39    updated_at: datetime.datetime
 40    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
 41
 42    def to_dict(self) -> Dict[str, Any]:
 43        id = self.id
 44
 45        name = self.name
 46
 47        status = self.status.value
 48
 49        status_message = self.status_message
 50
 51        instance_type = self.instance_type
 52
 53        accelerator_types = self.accelerator_types
 54
 55        volume_size_gb = self.volume_size_gb
 56
 57        created_by = self.created_by
 58
 59        created_at = self.created_at.isoformat()
 60
 61        updated_at = self.updated_at.isoformat()
 62
 63        field_dict: Dict[str, Any] = {}
 64        field_dict.update(self.additional_properties)
 65        field_dict.update(
 66            {
 67                "id": id,
 68                "name": name,
 69                "status": status,
 70                "statusMessage": status_message,
 71                "instanceType": instance_type,
 72                "acceleratorTypes": accelerator_types,
 73                "volumeSizeGB": volume_size_gb,
 74                "createdBy": created_by,
 75                "createdAt": created_at,
 76                "updatedAt": updated_at,
 77            }
 78        )
 79
 80        return field_dict
 81
 82    @classmethod
 83    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 84        d = src_dict.copy()
 85        id = d.pop("id")
 86
 87        name = d.pop("name")
 88
 89        status = Status(d.pop("status"))
 90
 91        status_message = d.pop("statusMessage")
 92
 93        instance_type = d.pop("instanceType")
 94
 95        accelerator_types = cast(List[str], d.pop("acceleratorTypes"))
 96
 97        volume_size_gb = d.pop("volumeSizeGB")
 98
 99        created_by = d.pop("createdBy")
100
101        created_at = isoparse(d.pop("createdAt"))
102
103        updated_at = isoparse(d.pop("updatedAt"))
104
105        notebook_instance = cls(
106            id=id,
107            name=name,
108            status=status,
109            status_message=status_message,
110            instance_type=instance_type,
111            accelerator_types=accelerator_types,
112            volume_size_gb=volume_size_gb,
113            created_by=created_by,
114            created_at=created_at,
115            updated_at=updated_at,
116        )
117
118        notebook_instance.additional_properties = d
119        return notebook_instance
120
121    @property
122    def additional_keys(self) -> List[str]:
123        return list(self.additional_properties.keys())
Attributes:
  • id (str):
  • name (str):
  • status (Status):
  • status_message (str):
  • instance_type (str):
  • accelerator_types (List[str]):
  • volume_size_gb (int):
  • created_by (str):
  • created_at (datetime.datetime):
  • updated_at (datetime.datetime):
NotebookInstance( id: str, name: str, status: Status, status_message: str, instance_type: str, accelerator_types: List[str], volume_size_gb: int, created_by: str, created_at: datetime.datetime, updated_at: datetime.datetime)
 2def __init__(self, id, name, status, status_message, instance_type, accelerator_types, volume_size_gb, created_by, created_at, updated_at):
 3    self.id = id
 4    self.name = name
 5    self.status = status
 6    self.status_message = status_message
 7    self.instance_type = instance_type
 8    self.accelerator_types = accelerator_types
 9    self.volume_size_gb = volume_size_gb
10    self.created_by = created_by
11    self.created_at = created_at
12    self.updated_at = updated_at
13    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class NotebookInstance.

id: str
name: str
status: Status
status_message: str
instance_type: str
accelerator_types: List[str]
volume_size_gb: int
created_by: str
created_at: datetime.datetime
updated_at: datetime.datetime
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
42    def to_dict(self) -> Dict[str, Any]:
43        id = self.id
44
45        name = self.name
46
47        status = self.status.value
48
49        status_message = self.status_message
50
51        instance_type = self.instance_type
52
53        accelerator_types = self.accelerator_types
54
55        volume_size_gb = self.volume_size_gb
56
57        created_by = self.created_by
58
59        created_at = self.created_at.isoformat()
60
61        updated_at = self.updated_at.isoformat()
62
63        field_dict: Dict[str, Any] = {}
64        field_dict.update(self.additional_properties)
65        field_dict.update(
66            {
67                "id": id,
68                "name": name,
69                "status": status,
70                "statusMessage": status_message,
71                "instanceType": instance_type,
72                "acceleratorTypes": accelerator_types,
73                "volumeSizeGB": volume_size_gb,
74                "createdBy": created_by,
75                "createdAt": created_at,
76                "updatedAt": updated_at,
77            }
78        )
79
80        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
 82    @classmethod
 83    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 84        d = src_dict.copy()
 85        id = d.pop("id")
 86
 87        name = d.pop("name")
 88
 89        status = Status(d.pop("status"))
 90
 91        status_message = d.pop("statusMessage")
 92
 93        instance_type = d.pop("instanceType")
 94
 95        accelerator_types = cast(List[str], d.pop("acceleratorTypes"))
 96
 97        volume_size_gb = d.pop("volumeSizeGB")
 98
 99        created_by = d.pop("createdBy")
100
101        created_at = isoparse(d.pop("createdAt"))
102
103        updated_at = isoparse(d.pop("updatedAt"))
104
105        notebook_instance = cls(
106            id=id,
107            name=name,
108            status=status,
109            status_message=status_message,
110            instance_type=instance_type,
111            accelerator_types=accelerator_types,
112            volume_size_gb=volume_size_gb,
113            created_by=created_by,
114            created_at=created_at,
115            updated_at=updated_at,
116        )
117
118        notebook_instance.additional_properties = d
119        return notebook_instance
additional_keys: List[str]
121    @property
122    def additional_keys(self) -> List[str]:
123        return list(self.additional_properties.keys())
class NotebookInstanceStatusResponse:
10@_attrs_define
11class NotebookInstanceStatusResponse:
12    """
13    Attributes:
14        status (str):
15        status_message (str):
16    """
17
18    status: str
19    status_message: str
20    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
21
22    def to_dict(self) -> Dict[str, Any]:
23        status = self.status
24
25        status_message = self.status_message
26
27        field_dict: Dict[str, Any] = {}
28        field_dict.update(self.additional_properties)
29        field_dict.update(
30            {
31                "status": status,
32                "statusMessage": status_message,
33            }
34        )
35
36        return field_dict
37
38    @classmethod
39    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
40        d = src_dict.copy()
41        status = d.pop("status")
42
43        status_message = d.pop("statusMessage")
44
45        notebook_instance_status_response = cls(
46            status=status,
47            status_message=status_message,
48        )
49
50        notebook_instance_status_response.additional_properties = d
51        return notebook_instance_status_response
52
53    @property
54    def additional_keys(self) -> List[str]:
55        return list(self.additional_properties.keys())
Attributes:
  • status (str):
  • status_message (str):
NotebookInstanceStatusResponse(status: str, status_message: str)
2def __init__(self, status, status_message):
3    self.status = status
4    self.status_message = status_message
5    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class NotebookInstanceStatusResponse.

status: str
status_message: str
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
22    def to_dict(self) -> Dict[str, Any]:
23        status = self.status
24
25        status_message = self.status_message
26
27        field_dict: Dict[str, Any] = {}
28        field_dict.update(self.additional_properties)
29        field_dict.update(
30            {
31                "status": status,
32                "statusMessage": status_message,
33            }
34        )
35
36        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
38    @classmethod
39    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
40        d = src_dict.copy()
41        status = d.pop("status")
42
43        status_message = d.pop("statusMessage")
44
45        notebook_instance_status_response = cls(
46            status=status,
47            status_message=status_message,
48        )
49
50        notebook_instance_status_response.additional_properties = d
51        return notebook_instance_status_response
additional_keys: List[str]
53    @property
54    def additional_keys(self) -> List[str]:
55        return list(self.additional_properties.keys())
class OpenNotebookInstanceResponse:
10@_attrs_define
11class OpenNotebookInstanceResponse:
12    """
13    Attributes:
14        url (str):
15        message (str):
16    """
17
18    url: str
19    message: str
20    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
21
22    def to_dict(self) -> Dict[str, Any]:
23        url = self.url
24
25        message = self.message
26
27        field_dict: Dict[str, Any] = {}
28        field_dict.update(self.additional_properties)
29        field_dict.update(
30            {
31                "url": url,
32                "message": message,
33            }
34        )
35
36        return field_dict
37
38    @classmethod
39    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
40        d = src_dict.copy()
41        url = d.pop("url")
42
43        message = d.pop("message")
44
45        open_notebook_instance_response = cls(
46            url=url,
47            message=message,
48        )
49
50        open_notebook_instance_response.additional_properties = d
51        return open_notebook_instance_response
52
53    @property
54    def additional_keys(self) -> List[str]:
55        return list(self.additional_properties.keys())
Attributes:
  • url (str):
  • message (str):
OpenNotebookInstanceResponse(url: str, message: str)
2def __init__(self, url, message):
3    self.url = url
4    self.message = message
5    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class OpenNotebookInstanceResponse.

url: str
message: str
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
22    def to_dict(self) -> Dict[str, Any]:
23        url = self.url
24
25        message = self.message
26
27        field_dict: Dict[str, Any] = {}
28        field_dict.update(self.additional_properties)
29        field_dict.update(
30            {
31                "url": url,
32                "message": message,
33            }
34        )
35
36        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
38    @classmethod
39    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
40        d = src_dict.copy()
41        url = d.pop("url")
42
43        message = d.pop("message")
44
45        open_notebook_instance_response = cls(
46            url=url,
47            message=message,
48        )
49
50        open_notebook_instance_response.additional_properties = d
51        return open_notebook_instance_response
additional_keys: List[str]
53    @property
54    def additional_keys(self) -> List[str]:
55        return list(self.additional_properties.keys())
class PaginatedResponseDatasetListDto:
14@_attrs_define
15class PaginatedResponseDatasetListDto:
16    """
17    Attributes:
18        data (List['Dataset']):
19        next_token (str):
20    """
21
22    data: List["Dataset"]
23    next_token: str
24    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
25
26    def to_dict(self) -> Dict[str, Any]:
27        data = []
28        for data_item_data in self.data:
29            data_item = data_item_data.to_dict()
30            data.append(data_item)
31
32        next_token = self.next_token
33
34        field_dict: Dict[str, Any] = {}
35        field_dict.update(self.additional_properties)
36        field_dict.update(
37            {
38                "data": data,
39                "nextToken": next_token,
40            }
41        )
42
43        return field_dict
44
45    @classmethod
46    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
47        from ..models.dataset import Dataset
48
49        d = src_dict.copy()
50        data = []
51        _data = d.pop("data")
52        for data_item_data in _data:
53            data_item = Dataset.from_dict(data_item_data)
54
55            data.append(data_item)
56
57        next_token = d.pop("nextToken")
58
59        paginated_response_dataset_list_dto = cls(
60            data=data,
61            next_token=next_token,
62        )
63
64        paginated_response_dataset_list_dto.additional_properties = d
65        return paginated_response_dataset_list_dto
66
67    @property
68    def additional_keys(self) -> List[str]:
69        return list(self.additional_properties.keys())
Attributes:
  • data (List['Dataset']):
  • next_token (str):
PaginatedResponseDatasetListDto( data: List[Dataset], next_token: str)
2def __init__(self, data, next_token):
3    self.data = data
4    self.next_token = next_token
5    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class PaginatedResponseDatasetListDto.

data: List[Dataset]
next_token: str
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
26    def to_dict(self) -> Dict[str, Any]:
27        data = []
28        for data_item_data in self.data:
29            data_item = data_item_data.to_dict()
30            data.append(data_item)
31
32        next_token = self.next_token
33
34        field_dict: Dict[str, Any] = {}
35        field_dict.update(self.additional_properties)
36        field_dict.update(
37            {
38                "data": data,
39                "nextToken": next_token,
40            }
41        )
42
43        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
45    @classmethod
46    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
47        from ..models.dataset import Dataset
48
49        d = src_dict.copy()
50        data = []
51        _data = d.pop("data")
52        for data_item_data in _data:
53            data_item = Dataset.from_dict(data_item_data)
54
55            data.append(data_item)
56
57        next_token = d.pop("nextToken")
58
59        paginated_response_dataset_list_dto = cls(
60            data=data,
61            next_token=next_token,
62        )
63
64        paginated_response_dataset_list_dto.additional_properties = d
65        return paginated_response_dataset_list_dto
additional_keys: List[str]
67    @property
68    def additional_keys(self) -> List[str]:
69        return list(self.additional_properties.keys())
class PaginatedResponseSampleDto:
14@_attrs_define
15class PaginatedResponseSampleDto:
16    """
17    Attributes:
18        data (List['Sample']):
19        next_token (str):
20    """
21
22    data: List["Sample"]
23    next_token: str
24    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
25
26    def to_dict(self) -> Dict[str, Any]:
27        data = []
28        for data_item_data in self.data:
29            data_item = data_item_data.to_dict()
30            data.append(data_item)
31
32        next_token = self.next_token
33
34        field_dict: Dict[str, Any] = {}
35        field_dict.update(self.additional_properties)
36        field_dict.update(
37            {
38                "data": data,
39                "nextToken": next_token,
40            }
41        )
42
43        return field_dict
44
45    @classmethod
46    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
47        from ..models.sample import Sample
48
49        d = src_dict.copy()
50        data = []
51        _data = d.pop("data")
52        for data_item_data in _data:
53            data_item = Sample.from_dict(data_item_data)
54
55            data.append(data_item)
56
57        next_token = d.pop("nextToken")
58
59        paginated_response_sample_dto = cls(
60            data=data,
61            next_token=next_token,
62        )
63
64        paginated_response_sample_dto.additional_properties = d
65        return paginated_response_sample_dto
66
67    @property
68    def additional_keys(self) -> List[str]:
69        return list(self.additional_properties.keys())
Attributes:
  • data (List['Sample']):
  • next_token (str):
PaginatedResponseSampleDto( data: List[Sample], next_token: str)
2def __init__(self, data, next_token):
3    self.data = data
4    self.next_token = next_token
5    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class PaginatedResponseSampleDto.

data: List[Sample]
next_token: str
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
26    def to_dict(self) -> Dict[str, Any]:
27        data = []
28        for data_item_data in self.data:
29            data_item = data_item_data.to_dict()
30            data.append(data_item)
31
32        next_token = self.next_token
33
34        field_dict: Dict[str, Any] = {}
35        field_dict.update(self.additional_properties)
36        field_dict.update(
37            {
38                "data": data,
39                "nextToken": next_token,
40            }
41        )
42
43        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
45    @classmethod
46    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
47        from ..models.sample import Sample
48
49        d = src_dict.copy()
50        data = []
51        _data = d.pop("data")
52        for data_item_data in _data:
53            data_item = Sample.from_dict(data_item_data)
54
55            data.append(data_item)
56
57        next_token = d.pop("nextToken")
58
59        paginated_response_sample_dto = cls(
60            data=data,
61            next_token=next_token,
62        )
63
64        paginated_response_sample_dto.additional_properties = d
65        return paginated_response_sample_dto
additional_keys: List[str]
67    @property
68    def additional_keys(self) -> List[str]:
69        return list(self.additional_properties.keys())
class PipelineCode:
12@_attrs_define
13class PipelineCode:
14    """Used to describe the pipeline analysis code, not required for ingest processes
15
16    Attributes:
17        repository_path (str): GitHub repository which contains the workflow code Example: nf-core/rnaseq.
18        version (str): Branch, tag, or commit hash of the pipeline code Example: main.
19        repository_type (RepositoryType): Type of repository
20        entry_point (str): Main script for running the pipeline Example: main.nf.
21    """
22
23    repository_path: str
24    version: str
25    repository_type: RepositoryType
26    entry_point: str
27    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
28
29    def to_dict(self) -> Dict[str, Any]:
30        repository_path = self.repository_path
31
32        version = self.version
33
34        repository_type = self.repository_type.value
35
36        entry_point = self.entry_point
37
38        field_dict: Dict[str, Any] = {}
39        field_dict.update(self.additional_properties)
40        field_dict.update(
41            {
42                "repositoryPath": repository_path,
43                "version": version,
44                "repositoryType": repository_type,
45                "entryPoint": entry_point,
46            }
47        )
48
49        return field_dict
50
51    @classmethod
52    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
53        d = src_dict.copy()
54        repository_path = d.pop("repositoryPath")
55
56        version = d.pop("version")
57
58        repository_type = RepositoryType(d.pop("repositoryType"))
59
60        entry_point = d.pop("entryPoint")
61
62        pipeline_code = cls(
63            repository_path=repository_path,
64            version=version,
65            repository_type=repository_type,
66            entry_point=entry_point,
67        )
68
69        pipeline_code.additional_properties = d
70        return pipeline_code
71
72    @property
73    def additional_keys(self) -> List[str]:
74        return list(self.additional_properties.keys())

Used to describe the pipeline analysis code, not required for ingest processes

Attributes:
  • repository_path (str): GitHub repository which contains the workflow code Example: nf-core/rnaseq.
  • version (str): Branch, tag, or commit hash of the pipeline code Example: main.
  • repository_type (RepositoryType): Type of repository
  • entry_point (str): Main script for running the pipeline Example: main.nf.
PipelineCode( repository_path: str, version: str, repository_type: RepositoryType, entry_point: str)
2def __init__(self, repository_path, version, repository_type, entry_point):
3    self.repository_path = repository_path
4    self.version = version
5    self.repository_type = repository_type
6    self.entry_point = entry_point
7    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class PipelineCode.

repository_path: str
version: str
repository_type: RepositoryType
entry_point: str
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
29    def to_dict(self) -> Dict[str, Any]:
30        repository_path = self.repository_path
31
32        version = self.version
33
34        repository_type = self.repository_type.value
35
36        entry_point = self.entry_point
37
38        field_dict: Dict[str, Any] = {}
39        field_dict.update(self.additional_properties)
40        field_dict.update(
41            {
42                "repositoryPath": repository_path,
43                "version": version,
44                "repositoryType": repository_type,
45                "entryPoint": entry_point,
46            }
47        )
48
49        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
51    @classmethod
52    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
53        d = src_dict.copy()
54        repository_path = d.pop("repositoryPath")
55
56        version = d.pop("version")
57
58        repository_type = RepositoryType(d.pop("repositoryType"))
59
60        entry_point = d.pop("entryPoint")
61
62        pipeline_code = cls(
63            repository_path=repository_path,
64            version=version,
65            repository_type=repository_type,
66            entry_point=entry_point,
67        )
68
69        pipeline_code.additional_properties = d
70        return pipeline_code
additional_keys: List[str]
72    @property
73    def additional_keys(self) -> List[str]:
74        return list(self.additional_properties.keys())
class PortalErrorResponse:
14@_attrs_define
15class PortalErrorResponse:
16    """
17    Attributes:
18        status_code (int):
19        error_code (str):
20        error_detail (str):
21        errors (List['ErrorMessage']):
22    """
23
24    status_code: int
25    error_code: str
26    error_detail: str
27    errors: List["ErrorMessage"]
28    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
29
30    def to_dict(self) -> Dict[str, Any]:
31        status_code = self.status_code
32
33        error_code = self.error_code
34
35        error_detail = self.error_detail
36
37        errors = []
38        for errors_item_data in self.errors:
39            errors_item = errors_item_data.to_dict()
40            errors.append(errors_item)
41
42        field_dict: Dict[str, Any] = {}
43        field_dict.update(self.additional_properties)
44        field_dict.update(
45            {
46                "statusCode": status_code,
47                "errorCode": error_code,
48                "errorDetail": error_detail,
49                "errors": errors,
50            }
51        )
52
53        return field_dict
54
55    @classmethod
56    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
57        from ..models.error_message import ErrorMessage
58
59        d = src_dict.copy()
60        status_code = d.pop("statusCode")
61
62        error_code = d.pop("errorCode")
63
64        error_detail = d.pop("errorDetail")
65
66        errors = []
67        _errors = d.pop("errors")
68        for errors_item_data in _errors:
69            errors_item = ErrorMessage.from_dict(errors_item_data)
70
71            errors.append(errors_item)
72
73        portal_error_response = cls(
74            status_code=status_code,
75            error_code=error_code,
76            error_detail=error_detail,
77            errors=errors,
78        )
79
80        portal_error_response.additional_properties = d
81        return portal_error_response
82
83    @property
84    def additional_keys(self) -> List[str]:
85        return list(self.additional_properties.keys())
Attributes:
  • status_code (int):
  • error_code (str):
  • error_detail (str):
  • errors (List['ErrorMessage']):
PortalErrorResponse( status_code: int, error_code: str, error_detail: str, errors: List[ErrorMessage])
2def __init__(self, status_code, error_code, error_detail, errors):
3    self.status_code = status_code
4    self.error_code = error_code
5    self.error_detail = error_detail
6    self.errors = errors
7    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class PortalErrorResponse.

status_code: int
error_code: str
error_detail: str
errors: List[ErrorMessage]
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
30    def to_dict(self) -> Dict[str, Any]:
31        status_code = self.status_code
32
33        error_code = self.error_code
34
35        error_detail = self.error_detail
36
37        errors = []
38        for errors_item_data in self.errors:
39            errors_item = errors_item_data.to_dict()
40            errors.append(errors_item)
41
42        field_dict: Dict[str, Any] = {}
43        field_dict.update(self.additional_properties)
44        field_dict.update(
45            {
46                "statusCode": status_code,
47                "errorCode": error_code,
48                "errorDetail": error_detail,
49                "errors": errors,
50            }
51        )
52
53        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
55    @classmethod
56    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
57        from ..models.error_message import ErrorMessage
58
59        d = src_dict.copy()
60        status_code = d.pop("statusCode")
61
62        error_code = d.pop("errorCode")
63
64        error_detail = d.pop("errorDetail")
65
66        errors = []
67        _errors = d.pop("errors")
68        for errors_item_data in _errors:
69            errors_item = ErrorMessage.from_dict(errors_item_data)
70
71            errors.append(errors_item)
72
73        portal_error_response = cls(
74            status_code=status_code,
75            error_code=error_code,
76            error_detail=error_detail,
77            errors=errors,
78        )
79
80        portal_error_response.additional_properties = d
81        return portal_error_response
additional_keys: List[str]
83    @property
84    def additional_keys(self) -> List[str]:
85        return list(self.additional_properties.keys())
class Process:
 13@_attrs_define
 14class Process:
 15    """
 16    Attributes:
 17        id (str): Unique ID of the Process Example: process-hutch-magic_flute-1_0.
 18        name (str): Friendly name for the process Example: MAGeCK Flute.
 19        executor (Executor): How the workflow is executed
 20        description (Union[Unset, str]):  Example: MAGeCK Flute enables accurate identification of essential genes with
 21            their related biological functions.
 22        data_type (Union[None, Unset, str]): Name of the data type this pipeline produces (if it is not defined, use the
 23            name)
 24        documentation_url (Union[Unset, str]): Link to pipeline documentation Example:
 25            https://docs.cirro.bio/pipelines/catalog_targeted_sequencing/#crispr-screen-analysis.
 26        file_requirements_message (Union[Unset, str]): Description of the files to be uploaded (optional)
 27        child_process_ids (Union[Unset, List[str]]): IDs of pipelines that can be run downstream
 28        parent_process_ids (Union[Unset, List[str]]): IDs of pipelines that can run this pipeline
 29        owner (Union[Unset, str]): Username of the pipeline creator (blank if Cirro curated)
 30        linked_project_ids (Union[Unset, List[str]]): Projects that can run this pipeline
 31        allow_multiple_sources (Union[Unset, bool]): Whether the pipeline is allowed to have multiple dataset sources
 32        is_archived (Union[Unset, bool]): Whether the pipeline is marked as archived
 33    """
 34
 35    id: str
 36    name: str
 37    executor: Executor
 38    description: Union[Unset, str] = UNSET
 39    data_type: Union[None, Unset, str] = UNSET
 40    documentation_url: Union[Unset, str] = UNSET
 41    file_requirements_message: Union[Unset, str] = UNSET
 42    child_process_ids: Union[Unset, List[str]] = UNSET
 43    parent_process_ids: Union[Unset, List[str]] = UNSET
 44    owner: Union[Unset, str] = UNSET
 45    linked_project_ids: Union[Unset, List[str]] = UNSET
 46    allow_multiple_sources: Union[Unset, bool] = UNSET
 47    is_archived: Union[Unset, bool] = UNSET
 48    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
 49
 50    def to_dict(self) -> Dict[str, Any]:
 51        id = self.id
 52
 53        name = self.name
 54
 55        executor = self.executor.value
 56
 57        description = self.description
 58
 59        data_type: Union[None, Unset, str]
 60        if isinstance(self.data_type, Unset):
 61            data_type = UNSET
 62        else:
 63            data_type = self.data_type
 64
 65        documentation_url = self.documentation_url
 66
 67        file_requirements_message = self.file_requirements_message
 68
 69        child_process_ids: Union[Unset, List[str]] = UNSET
 70        if not isinstance(self.child_process_ids, Unset):
 71            child_process_ids = self.child_process_ids
 72
 73        parent_process_ids: Union[Unset, List[str]] = UNSET
 74        if not isinstance(self.parent_process_ids, Unset):
 75            parent_process_ids = self.parent_process_ids
 76
 77        owner = self.owner
 78
 79        linked_project_ids: Union[Unset, List[str]] = UNSET
 80        if not isinstance(self.linked_project_ids, Unset):
 81            linked_project_ids = self.linked_project_ids
 82
 83        allow_multiple_sources = self.allow_multiple_sources
 84
 85        is_archived = self.is_archived
 86
 87        field_dict: Dict[str, Any] = {}
 88        field_dict.update(self.additional_properties)
 89        field_dict.update(
 90            {
 91                "id": id,
 92                "name": name,
 93                "executor": executor,
 94            }
 95        )
 96        if description is not UNSET:
 97            field_dict["description"] = description
 98        if data_type is not UNSET:
 99            field_dict["dataType"] = data_type
100        if documentation_url is not UNSET:
101            field_dict["documentationUrl"] = documentation_url
102        if file_requirements_message is not UNSET:
103            field_dict["fileRequirementsMessage"] = file_requirements_message
104        if child_process_ids is not UNSET:
105            field_dict["childProcessIds"] = child_process_ids
106        if parent_process_ids is not UNSET:
107            field_dict["parentProcessIds"] = parent_process_ids
108        if owner is not UNSET:
109            field_dict["owner"] = owner
110        if linked_project_ids is not UNSET:
111            field_dict["linkedProjectIds"] = linked_project_ids
112        if allow_multiple_sources is not UNSET:
113            field_dict["allowMultipleSources"] = allow_multiple_sources
114        if is_archived is not UNSET:
115            field_dict["isArchived"] = is_archived
116
117        return field_dict
118
119    @classmethod
120    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
121        d = src_dict.copy()
122        id = d.pop("id")
123
124        name = d.pop("name")
125
126        executor = Executor(d.pop("executor"))
127
128        description = d.pop("description", UNSET)
129
130        def _parse_data_type(data: object) -> Union[None, Unset, str]:
131            if data is None:
132                return data
133            if isinstance(data, Unset):
134                return data
135            return cast(Union[None, Unset, str], data)
136
137        data_type = _parse_data_type(d.pop("dataType", UNSET))
138
139        documentation_url = d.pop("documentationUrl", UNSET)
140
141        file_requirements_message = d.pop("fileRequirementsMessage", UNSET)
142
143        child_process_ids = cast(List[str], d.pop("childProcessIds", UNSET))
144
145        parent_process_ids = cast(List[str], d.pop("parentProcessIds", UNSET))
146
147        owner = d.pop("owner", UNSET)
148
149        linked_project_ids = cast(List[str], d.pop("linkedProjectIds", UNSET))
150
151        allow_multiple_sources = d.pop("allowMultipleSources", UNSET)
152
153        is_archived = d.pop("isArchived", UNSET)
154
155        process = cls(
156            id=id,
157            name=name,
158            executor=executor,
159            description=description,
160            data_type=data_type,
161            documentation_url=documentation_url,
162            file_requirements_message=file_requirements_message,
163            child_process_ids=child_process_ids,
164            parent_process_ids=parent_process_ids,
165            owner=owner,
166            linked_project_ids=linked_project_ids,
167            allow_multiple_sources=allow_multiple_sources,
168            is_archived=is_archived,
169        )
170
171        process.additional_properties = d
172        return process
173
174    @property
175    def additional_keys(self) -> List[str]:
176        return list(self.additional_properties.keys())
Attributes:
  • id (str): Unique ID of the Process Example: process-hutch-magic_flute-1_0.
  • name (str): Friendly name for the process Example: MAGeCK Flute.
  • executor (Executor): How the workflow is executed
  • description (Union[Unset, str]): Example: MAGeCK Flute enables accurate identification of essential genes with their related biological functions.
  • data_type (Union[None, Unset, str]): Name of the data type this pipeline produces (if it is not defined, use the name)
  • documentation_url (Union[Unset, str]): Link to pipeline documentation Example: https://docs.cirro.bio/pipelines/catalog_targeted_sequencing/#crispr-screen-analysis.
  • file_requirements_message (Union[Unset, str]): Description of the files to be uploaded (optional)
  • child_process_ids (Union[Unset, List[str]]): IDs of pipelines that can be run downstream
  • parent_process_ids (Union[Unset, List[str]]): IDs of pipelines that can run this pipeline
  • owner (Union[Unset, str]): Username of the pipeline creator (blank if Cirro curated)
  • linked_project_ids (Union[Unset, List[str]]): Projects that can run this pipeline
  • allow_multiple_sources (Union[Unset, bool]): Whether the pipeline is allowed to have multiple dataset sources
  • is_archived (Union[Unset, bool]): Whether the pipeline is marked as archived
Process( id: str, name: str, executor: Executor, description: Union[cirro_api_client.v1.types.Unset, str] = <cirro_api_client.v1.types.Unset object>, data_type: Union[NoneType, cirro_api_client.v1.types.Unset, str] = <cirro_api_client.v1.types.Unset object>, documentation_url: Union[cirro_api_client.v1.types.Unset, str] = <cirro_api_client.v1.types.Unset object>, file_requirements_message: Union[cirro_api_client.v1.types.Unset, str] = <cirro_api_client.v1.types.Unset object>, child_process_ids: Union[cirro_api_client.v1.types.Unset, List[str]] = <cirro_api_client.v1.types.Unset object>, parent_process_ids: Union[cirro_api_client.v1.types.Unset, List[str]] = <cirro_api_client.v1.types.Unset object>, owner: Union[cirro_api_client.v1.types.Unset, str] = <cirro_api_client.v1.types.Unset object>, linked_project_ids: Union[cirro_api_client.v1.types.Unset, List[str]] = <cirro_api_client.v1.types.Unset object>, allow_multiple_sources: Union[cirro_api_client.v1.types.Unset, bool] = <cirro_api_client.v1.types.Unset object>, is_archived: Union[cirro_api_client.v1.types.Unset, bool] = <cirro_api_client.v1.types.Unset object>)
 2def __init__(self, id, name, executor, description=attr_dict['description'].default, data_type=attr_dict['data_type'].default, documentation_url=attr_dict['documentation_url'].default, file_requirements_message=attr_dict['file_requirements_message'].default, child_process_ids=attr_dict['child_process_ids'].default, parent_process_ids=attr_dict['parent_process_ids'].default, owner=attr_dict['owner'].default, linked_project_ids=attr_dict['linked_project_ids'].default, allow_multiple_sources=attr_dict['allow_multiple_sources'].default, is_archived=attr_dict['is_archived'].default):
 3    self.id = id
 4    self.name = name
 5    self.executor = executor
 6    self.description = description
 7    self.data_type = data_type
 8    self.documentation_url = documentation_url
 9    self.file_requirements_message = file_requirements_message
10    self.child_process_ids = child_process_ids
11    self.parent_process_ids = parent_process_ids
12    self.owner = owner
13    self.linked_project_ids = linked_project_ids
14    self.allow_multiple_sources = allow_multiple_sources
15    self.is_archived = is_archived
16    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class Process.

id: str
name: str
executor: Executor
description: Union[cirro_api_client.v1.types.Unset, str]
data_type: Union[NoneType, cirro_api_client.v1.types.Unset, str]
documentation_url: Union[cirro_api_client.v1.types.Unset, str]
file_requirements_message: Union[cirro_api_client.v1.types.Unset, str]
child_process_ids: Union[cirro_api_client.v1.types.Unset, List[str]]
parent_process_ids: Union[cirro_api_client.v1.types.Unset, List[str]]
owner: Union[cirro_api_client.v1.types.Unset, str]
linked_project_ids: Union[cirro_api_client.v1.types.Unset, List[str]]
allow_multiple_sources: Union[cirro_api_client.v1.types.Unset, bool]
is_archived: Union[cirro_api_client.v1.types.Unset, bool]
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
 50    def to_dict(self) -> Dict[str, Any]:
 51        id = self.id
 52
 53        name = self.name
 54
 55        executor = self.executor.value
 56
 57        description = self.description
 58
 59        data_type: Union[None, Unset, str]
 60        if isinstance(self.data_type, Unset):
 61            data_type = UNSET
 62        else:
 63            data_type = self.data_type
 64
 65        documentation_url = self.documentation_url
 66
 67        file_requirements_message = self.file_requirements_message
 68
 69        child_process_ids: Union[Unset, List[str]] = UNSET
 70        if not isinstance(self.child_process_ids, Unset):
 71            child_process_ids = self.child_process_ids
 72
 73        parent_process_ids: Union[Unset, List[str]] = UNSET
 74        if not isinstance(self.parent_process_ids, Unset):
 75            parent_process_ids = self.parent_process_ids
 76
 77        owner = self.owner
 78
 79        linked_project_ids: Union[Unset, List[str]] = UNSET
 80        if not isinstance(self.linked_project_ids, Unset):
 81            linked_project_ids = self.linked_project_ids
 82
 83        allow_multiple_sources = self.allow_multiple_sources
 84
 85        is_archived = self.is_archived
 86
 87        field_dict: Dict[str, Any] = {}
 88        field_dict.update(self.additional_properties)
 89        field_dict.update(
 90            {
 91                "id": id,
 92                "name": name,
 93                "executor": executor,
 94            }
 95        )
 96        if description is not UNSET:
 97            field_dict["description"] = description
 98        if data_type is not UNSET:
 99            field_dict["dataType"] = data_type
100        if documentation_url is not UNSET:
101            field_dict["documentationUrl"] = documentation_url
102        if file_requirements_message is not UNSET:
103            field_dict["fileRequirementsMessage"] = file_requirements_message
104        if child_process_ids is not UNSET:
105            field_dict["childProcessIds"] = child_process_ids
106        if parent_process_ids is not UNSET:
107            field_dict["parentProcessIds"] = parent_process_ids
108        if owner is not UNSET:
109            field_dict["owner"] = owner
110        if linked_project_ids is not UNSET:
111            field_dict["linkedProjectIds"] = linked_project_ids
112        if allow_multiple_sources is not UNSET:
113            field_dict["allowMultipleSources"] = allow_multiple_sources
114        if is_archived is not UNSET:
115            field_dict["isArchived"] = is_archived
116
117        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
119    @classmethod
120    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
121        d = src_dict.copy()
122        id = d.pop("id")
123
124        name = d.pop("name")
125
126        executor = Executor(d.pop("executor"))
127
128        description = d.pop("description", UNSET)
129
130        def _parse_data_type(data: object) -> Union[None, Unset, str]:
131            if data is None:
132                return data
133            if isinstance(data, Unset):
134                return data
135            return cast(Union[None, Unset, str], data)
136
137        data_type = _parse_data_type(d.pop("dataType", UNSET))
138
139        documentation_url = d.pop("documentationUrl", UNSET)
140
141        file_requirements_message = d.pop("fileRequirementsMessage", UNSET)
142
143        child_process_ids = cast(List[str], d.pop("childProcessIds", UNSET))
144
145        parent_process_ids = cast(List[str], d.pop("parentProcessIds", UNSET))
146
147        owner = d.pop("owner", UNSET)
148
149        linked_project_ids = cast(List[str], d.pop("linkedProjectIds", UNSET))
150
151        allow_multiple_sources = d.pop("allowMultipleSources", UNSET)
152
153        is_archived = d.pop("isArchived", UNSET)
154
155        process = cls(
156            id=id,
157            name=name,
158            executor=executor,
159            description=description,
160            data_type=data_type,
161            documentation_url=documentation_url,
162            file_requirements_message=file_requirements_message,
163            child_process_ids=child_process_ids,
164            parent_process_ids=parent_process_ids,
165            owner=owner,
166            linked_project_ids=linked_project_ids,
167            allow_multiple_sources=allow_multiple_sources,
168            is_archived=is_archived,
169        )
170
171        process.additional_properties = d
172        return process
additional_keys: List[str]
174    @property
175    def additional_keys(self) -> List[str]:
176        return list(self.additional_properties.keys())
class ProcessDetail:
 18@_attrs_define
 19class ProcessDetail:
 20    """
 21    Attributes:
 22        id (str): Unique ID of the Process Example: process-hutch-magic_flute-1_0.
 23        name (str): Friendly name for the process Example: MAGeCK Flute.
 24        description (str):  Example: MAGeCK Flute enables accurate identification of essential genes with their related
 25            biological functions.
 26        executor (Executor): How the workflow is executed
 27        child_process_ids (List[str]): IDs of pipelines that can be run downstream
 28        parent_process_ids (List[str]): IDs of pipelines that can run this pipeline
 29        linked_project_ids (List[str]): Projects that can run this pipeline
 30        data_type (Union[None, Unset, str]): Name of the data type this pipeline produces (if it is not defined, use the
 31            name)
 32        documentation_url (Union[None, Unset, str]): Link to pipeline documentation Example:
 33            https://docs.cirro.bio/pipelines/catalog_targeted_sequencing/#crispr-screen-analysis.
 34        file_requirements_message (Union[None, Unset, str]): Description of the files to be uploaded (optional)
 35        pipeline_code (Union['PipelineCode', None, Unset]):
 36        owner (Union[None, Unset, str]): Username of the pipeline creator (blank if Cirro curated)
 37        allow_multiple_sources (Union[Unset, bool]): Whether the pipeline is allowed to have multiple dataset sources
 38        custom_settings (Union['CustomPipelineSettings', None, Unset]):
 39        is_archived (Union[Unset, bool]): Whether the process is marked for removal
 40    """
 41
 42    id: str
 43    name: str
 44    description: str
 45    executor: Executor
 46    child_process_ids: List[str]
 47    parent_process_ids: List[str]
 48    linked_project_ids: List[str]
 49    data_type: Union[None, Unset, str] = UNSET
 50    documentation_url: Union[None, Unset, str] = UNSET
 51    file_requirements_message: Union[None, Unset, str] = UNSET
 52    pipeline_code: Union["PipelineCode", None, Unset] = UNSET
 53    owner: Union[None, Unset, str] = UNSET
 54    allow_multiple_sources: Union[Unset, bool] = UNSET
 55    custom_settings: Union["CustomPipelineSettings", None, Unset] = UNSET
 56    is_archived: Union[Unset, bool] = UNSET
 57    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
 58
 59    def to_dict(self) -> Dict[str, Any]:
 60        from ..models.custom_pipeline_settings import CustomPipelineSettings
 61        from ..models.pipeline_code import PipelineCode
 62
 63        id = self.id
 64
 65        name = self.name
 66
 67        description = self.description
 68
 69        executor = self.executor.value
 70
 71        child_process_ids = self.child_process_ids
 72
 73        parent_process_ids = self.parent_process_ids
 74
 75        linked_project_ids = self.linked_project_ids
 76
 77        data_type: Union[None, Unset, str]
 78        if isinstance(self.data_type, Unset):
 79            data_type = UNSET
 80        else:
 81            data_type = self.data_type
 82
 83        documentation_url: Union[None, Unset, str]
 84        if isinstance(self.documentation_url, Unset):
 85            documentation_url = UNSET
 86        else:
 87            documentation_url = self.documentation_url
 88
 89        file_requirements_message: Union[None, Unset, str]
 90        if isinstance(self.file_requirements_message, Unset):
 91            file_requirements_message = UNSET
 92        else:
 93            file_requirements_message = self.file_requirements_message
 94
 95        pipeline_code: Union[Dict[str, Any], None, Unset]
 96        if isinstance(self.pipeline_code, Unset):
 97            pipeline_code = UNSET
 98        elif isinstance(self.pipeline_code, PipelineCode):
 99            pipeline_code = self.pipeline_code.to_dict()
100        else:
101            pipeline_code = self.pipeline_code
102
103        owner: Union[None, Unset, str]
104        if isinstance(self.owner, Unset):
105            owner = UNSET
106        else:
107            owner = self.owner
108
109        allow_multiple_sources = self.allow_multiple_sources
110
111        custom_settings: Union[Dict[str, Any], None, Unset]
112        if isinstance(self.custom_settings, Unset):
113            custom_settings = UNSET
114        elif isinstance(self.custom_settings, CustomPipelineSettings):
115            custom_settings = self.custom_settings.to_dict()
116        else:
117            custom_settings = self.custom_settings
118
119        is_archived = self.is_archived
120
121        field_dict: Dict[str, Any] = {}
122        field_dict.update(self.additional_properties)
123        field_dict.update(
124            {
125                "id": id,
126                "name": name,
127                "description": description,
128                "executor": executor,
129                "childProcessIds": child_process_ids,
130                "parentProcessIds": parent_process_ids,
131                "linkedProjectIds": linked_project_ids,
132            }
133        )
134        if data_type is not UNSET:
135            field_dict["dataType"] = data_type
136        if documentation_url is not UNSET:
137            field_dict["documentationUrl"] = documentation_url
138        if file_requirements_message is not UNSET:
139            field_dict["fileRequirementsMessage"] = file_requirements_message
140        if pipeline_code is not UNSET:
141            field_dict["pipelineCode"] = pipeline_code
142        if owner is not UNSET:
143            field_dict["owner"] = owner
144        if allow_multiple_sources is not UNSET:
145            field_dict["allowMultipleSources"] = allow_multiple_sources
146        if custom_settings is not UNSET:
147            field_dict["customSettings"] = custom_settings
148        if is_archived is not UNSET:
149            field_dict["isArchived"] = is_archived
150
151        return field_dict
152
153    @classmethod
154    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
155        from ..models.custom_pipeline_settings import CustomPipelineSettings
156        from ..models.pipeline_code import PipelineCode
157
158        d = src_dict.copy()
159        id = d.pop("id")
160
161        name = d.pop("name")
162
163        description = d.pop("description")
164
165        executor = Executor(d.pop("executor"))
166
167        child_process_ids = cast(List[str], d.pop("childProcessIds"))
168
169        parent_process_ids = cast(List[str], d.pop("parentProcessIds"))
170
171        linked_project_ids = cast(List[str], d.pop("linkedProjectIds"))
172
173        def _parse_data_type(data: object) -> Union[None, Unset, str]:
174            if data is None:
175                return data
176            if isinstance(data, Unset):
177                return data
178            return cast(Union[None, Unset, str], data)
179
180        data_type = _parse_data_type(d.pop("dataType", UNSET))
181
182        def _parse_documentation_url(data: object) -> Union[None, Unset, str]:
183            if data is None:
184                return data
185            if isinstance(data, Unset):
186                return data
187            return cast(Union[None, Unset, str], data)
188
189        documentation_url = _parse_documentation_url(d.pop("documentationUrl", UNSET))
190
191        def _parse_file_requirements_message(data: object) -> Union[None, Unset, str]:
192            if data is None:
193                return data
194            if isinstance(data, Unset):
195                return data
196            return cast(Union[None, Unset, str], data)
197
198        file_requirements_message = _parse_file_requirements_message(d.pop("fileRequirementsMessage", UNSET))
199
200        def _parse_pipeline_code(data: object) -> Union["PipelineCode", None, Unset]:
201            if data is None:
202                return data
203            if isinstance(data, Unset):
204                return data
205            try:
206                if not isinstance(data, dict):
207                    raise TypeError()
208                pipeline_code_type_1 = PipelineCode.from_dict(data)
209
210                return pipeline_code_type_1
211            except:  # noqa: E722
212                pass
213            return cast(Union["PipelineCode", None, Unset], data)
214
215        pipeline_code = _parse_pipeline_code(d.pop("pipelineCode", UNSET))
216
217        def _parse_owner(data: object) -> Union[None, Unset, str]:
218            if data is None:
219                return data
220            if isinstance(data, Unset):
221                return data
222            return cast(Union[None, Unset, str], data)
223
224        owner = _parse_owner(d.pop("owner", UNSET))
225
226        allow_multiple_sources = d.pop("allowMultipleSources", UNSET)
227
228        def _parse_custom_settings(data: object) -> Union["CustomPipelineSettings", None, Unset]:
229            if data is None:
230                return data
231            if isinstance(data, Unset):
232                return data
233            try:
234                if not isinstance(data, dict):
235                    raise TypeError()
236                custom_settings_type_1 = CustomPipelineSettings.from_dict(data)
237
238                return custom_settings_type_1
239            except:  # noqa: E722
240                pass
241            return cast(Union["CustomPipelineSettings", None, Unset], data)
242
243        custom_settings = _parse_custom_settings(d.pop("customSettings", UNSET))
244
245        is_archived = d.pop("isArchived", UNSET)
246
247        process_detail = cls(
248            id=id,
249            name=name,
250            description=description,
251            executor=executor,
252            child_process_ids=child_process_ids,
253            parent_process_ids=parent_process_ids,
254            linked_project_ids=linked_project_ids,
255            data_type=data_type,
256            documentation_url=documentation_url,
257            file_requirements_message=file_requirements_message,
258            pipeline_code=pipeline_code,
259            owner=owner,
260            allow_multiple_sources=allow_multiple_sources,
261            custom_settings=custom_settings,
262            is_archived=is_archived,
263        )
264
265        process_detail.additional_properties = d
266        return process_detail
267
268    @property
269    def additional_keys(self) -> List[str]:
270        return list(self.additional_properties.keys())
Attributes:
  • id (str): Unique ID of the Process Example: process-hutch-magic_flute-1_0.
  • name (str): Friendly name for the process Example: MAGeCK Flute.
  • description (str): Example: MAGeCK Flute enables accurate identification of essential genes with their related biological functions.
  • executor (Executor): How the workflow is executed
  • child_process_ids (List[str]): IDs of pipelines that can be run downstream
  • parent_process_ids (List[str]): IDs of pipelines that can run this pipeline
  • linked_project_ids (List[str]): Projects that can run this pipeline
  • data_type (Union[None, Unset, str]): Name of the data type this pipeline produces (if it is not defined, use the name)
  • documentation_url (Union[None, Unset, str]): Link to pipeline documentation Example: https://docs.cirro.bio/pipelines/catalog_targeted_sequencing/#crispr-screen-analysis.
  • file_requirements_message (Union[None, Unset, str]): Description of the files to be uploaded (optional)
  • pipeline_code (Union['PipelineCode', None, Unset]):
  • owner (Union[None, Unset, str]): Username of the pipeline creator (blank if Cirro curated)
  • allow_multiple_sources (Union[Unset, bool]): Whether the pipeline is allowed to have multiple dataset sources
  • custom_settings (Union['CustomPipelineSettings', None, Unset]):
  • is_archived (Union[Unset, bool]): Whether the process is marked for removal
ProcessDetail( id: str, name: str, description: str, executor: Executor, child_process_ids: List[str], parent_process_ids: List[str], linked_project_ids: List[str], data_type: Union[NoneType, cirro_api_client.v1.types.Unset, str] = <cirro_api_client.v1.types.Unset object>, documentation_url: Union[NoneType, cirro_api_client.v1.types.Unset, str] = <cirro_api_client.v1.types.Unset object>, file_requirements_message: Union[NoneType, cirro_api_client.v1.types.Unset, str] = <cirro_api_client.v1.types.Unset object>, pipeline_code: Union[PipelineCode, NoneType, cirro_api_client.v1.types.Unset] = <cirro_api_client.v1.types.Unset object>, owner: Union[NoneType, cirro_api_client.v1.types.Unset, str] = <cirro_api_client.v1.types.Unset object>, allow_multiple_sources: Union[cirro_api_client.v1.types.Unset, bool] = <cirro_api_client.v1.types.Unset object>, custom_settings: Union[CustomPipelineSettings, NoneType, cirro_api_client.v1.types.Unset] = <cirro_api_client.v1.types.Unset object>, is_archived: Union[cirro_api_client.v1.types.Unset, bool] = <cirro_api_client.v1.types.Unset object>)
 2def __init__(self, id, name, description, executor, child_process_ids, parent_process_ids, linked_project_ids, data_type=attr_dict['data_type'].default, documentation_url=attr_dict['documentation_url'].default, file_requirements_message=attr_dict['file_requirements_message'].default, pipeline_code=attr_dict['pipeline_code'].default, owner=attr_dict['owner'].default, allow_multiple_sources=attr_dict['allow_multiple_sources'].default, custom_settings=attr_dict['custom_settings'].default, is_archived=attr_dict['is_archived'].default):
 3    self.id = id
 4    self.name = name
 5    self.description = description
 6    self.executor = executor
 7    self.child_process_ids = child_process_ids
 8    self.parent_process_ids = parent_process_ids
 9    self.linked_project_ids = linked_project_ids
10    self.data_type = data_type
11    self.documentation_url = documentation_url
12    self.file_requirements_message = file_requirements_message
13    self.pipeline_code = pipeline_code
14    self.owner = owner
15    self.allow_multiple_sources = allow_multiple_sources
16    self.custom_settings = custom_settings
17    self.is_archived = is_archived
18    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class ProcessDetail.

id: str
name: str
description: str
executor: Executor
child_process_ids: List[str]
parent_process_ids: List[str]
linked_project_ids: List[str]
data_type: Union[NoneType, cirro_api_client.v1.types.Unset, str]
documentation_url: Union[NoneType, cirro_api_client.v1.types.Unset, str]
file_requirements_message: Union[NoneType, cirro_api_client.v1.types.Unset, str]
pipeline_code: Union[PipelineCode, NoneType, cirro_api_client.v1.types.Unset]
owner: Union[NoneType, cirro_api_client.v1.types.Unset, str]
allow_multiple_sources: Union[cirro_api_client.v1.types.Unset, bool]
custom_settings: Union[CustomPipelineSettings, NoneType, cirro_api_client.v1.types.Unset]
is_archived: Union[cirro_api_client.v1.types.Unset, bool]
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
 59    def to_dict(self) -> Dict[str, Any]:
 60        from ..models.custom_pipeline_settings import CustomPipelineSettings
 61        from ..models.pipeline_code import PipelineCode
 62
 63        id = self.id
 64
 65        name = self.name
 66
 67        description = self.description
 68
 69        executor = self.executor.value
 70
 71        child_process_ids = self.child_process_ids
 72
 73        parent_process_ids = self.parent_process_ids
 74
 75        linked_project_ids = self.linked_project_ids
 76
 77        data_type: Union[None, Unset, str]
 78        if isinstance(self.data_type, Unset):
 79            data_type = UNSET
 80        else:
 81            data_type = self.data_type
 82
 83        documentation_url: Union[None, Unset, str]
 84        if isinstance(self.documentation_url, Unset):
 85            documentation_url = UNSET
 86        else:
 87            documentation_url = self.documentation_url
 88
 89        file_requirements_message: Union[None, Unset, str]
 90        if isinstance(self.file_requirements_message, Unset):
 91            file_requirements_message = UNSET
 92        else:
 93            file_requirements_message = self.file_requirements_message
 94
 95        pipeline_code: Union[Dict[str, Any], None, Unset]
 96        if isinstance(self.pipeline_code, Unset):
 97            pipeline_code = UNSET
 98        elif isinstance(self.pipeline_code, PipelineCode):
 99            pipeline_code = self.pipeline_code.to_dict()
100        else:
101            pipeline_code = self.pipeline_code
102
103        owner: Union[None, Unset, str]
104        if isinstance(self.owner, Unset):
105            owner = UNSET
106        else:
107            owner = self.owner
108
109        allow_multiple_sources = self.allow_multiple_sources
110
111        custom_settings: Union[Dict[str, Any], None, Unset]
112        if isinstance(self.custom_settings, Unset):
113            custom_settings = UNSET
114        elif isinstance(self.custom_settings, CustomPipelineSettings):
115            custom_settings = self.custom_settings.to_dict()
116        else:
117            custom_settings = self.custom_settings
118
119        is_archived = self.is_archived
120
121        field_dict: Dict[str, Any] = {}
122        field_dict.update(self.additional_properties)
123        field_dict.update(
124            {
125                "id": id,
126                "name": name,
127                "description": description,
128                "executor": executor,
129                "childProcessIds": child_process_ids,
130                "parentProcessIds": parent_process_ids,
131                "linkedProjectIds": linked_project_ids,
132            }
133        )
134        if data_type is not UNSET:
135            field_dict["dataType"] = data_type
136        if documentation_url is not UNSET:
137            field_dict["documentationUrl"] = documentation_url
138        if file_requirements_message is not UNSET:
139            field_dict["fileRequirementsMessage"] = file_requirements_message
140        if pipeline_code is not UNSET:
141            field_dict["pipelineCode"] = pipeline_code
142        if owner is not UNSET:
143            field_dict["owner"] = owner
144        if allow_multiple_sources is not UNSET:
145            field_dict["allowMultipleSources"] = allow_multiple_sources
146        if custom_settings is not UNSET:
147            field_dict["customSettings"] = custom_settings
148        if is_archived is not UNSET:
149            field_dict["isArchived"] = is_archived
150
151        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
153    @classmethod
154    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
155        from ..models.custom_pipeline_settings import CustomPipelineSettings
156        from ..models.pipeline_code import PipelineCode
157
158        d = src_dict.copy()
159        id = d.pop("id")
160
161        name = d.pop("name")
162
163        description = d.pop("description")
164
165        executor = Executor(d.pop("executor"))
166
167        child_process_ids = cast(List[str], d.pop("childProcessIds"))
168
169        parent_process_ids = cast(List[str], d.pop("parentProcessIds"))
170
171        linked_project_ids = cast(List[str], d.pop("linkedProjectIds"))
172
173        def _parse_data_type(data: object) -> Union[None, Unset, str]:
174            if data is None:
175                return data
176            if isinstance(data, Unset):
177                return data
178            return cast(Union[None, Unset, str], data)
179
180        data_type = _parse_data_type(d.pop("dataType", UNSET))
181
182        def _parse_documentation_url(data: object) -> Union[None, Unset, str]:
183            if data is None:
184                return data
185            if isinstance(data, Unset):
186                return data
187            return cast(Union[None, Unset, str], data)
188
189        documentation_url = _parse_documentation_url(d.pop("documentationUrl", UNSET))
190
191        def _parse_file_requirements_message(data: object) -> Union[None, Unset, str]:
192            if data is None:
193                return data
194            if isinstance(data, Unset):
195                return data
196            return cast(Union[None, Unset, str], data)
197
198        file_requirements_message = _parse_file_requirements_message(d.pop("fileRequirementsMessage", UNSET))
199
200        def _parse_pipeline_code(data: object) -> Union["PipelineCode", None, Unset]:
201            if data is None:
202                return data
203            if isinstance(data, Unset):
204                return data
205            try:
206                if not isinstance(data, dict):
207                    raise TypeError()
208                pipeline_code_type_1 = PipelineCode.from_dict(data)
209
210                return pipeline_code_type_1
211            except:  # noqa: E722
212                pass
213            return cast(Union["PipelineCode", None, Unset], data)
214
215        pipeline_code = _parse_pipeline_code(d.pop("pipelineCode", UNSET))
216
217        def _parse_owner(data: object) -> Union[None, Unset, str]:
218            if data is None:
219                return data
220            if isinstance(data, Unset):
221                return data
222            return cast(Union[None, Unset, str], data)
223
224        owner = _parse_owner(d.pop("owner", UNSET))
225
226        allow_multiple_sources = d.pop("allowMultipleSources", UNSET)
227
228        def _parse_custom_settings(data: object) -> Union["CustomPipelineSettings", None, Unset]:
229            if data is None:
230                return data
231            if isinstance(data, Unset):
232                return data
233            try:
234                if not isinstance(data, dict):
235                    raise TypeError()
236                custom_settings_type_1 = CustomPipelineSettings.from_dict(data)
237
238                return custom_settings_type_1
239            except:  # noqa: E722
240                pass
241            return cast(Union["CustomPipelineSettings", None, Unset], data)
242
243        custom_settings = _parse_custom_settings(d.pop("customSettings", UNSET))
244
245        is_archived = d.pop("isArchived", UNSET)
246
247        process_detail = cls(
248            id=id,
249            name=name,
250            description=description,
251            executor=executor,
252            child_process_ids=child_process_ids,
253            parent_process_ids=parent_process_ids,
254            linked_project_ids=linked_project_ids,
255            data_type=data_type,
256            documentation_url=documentation_url,
257            file_requirements_message=file_requirements_message,
258            pipeline_code=pipeline_code,
259            owner=owner,
260            allow_multiple_sources=allow_multiple_sources,
261            custom_settings=custom_settings,
262            is_archived=is_archived,
263        )
264
265        process_detail.additional_properties = d
266        return process_detail
additional_keys: List[str]
268    @property
269    def additional_keys(self) -> List[str]:
270        return list(self.additional_properties.keys())
class Project:
 16@_attrs_define
 17class Project:
 18    """
 19    Attributes:
 20        id (str):
 21        name (str):
 22        description (str):
 23        status (Status):
 24        tags (List['Tag']):
 25        billing_account_id (str):
 26    """
 27
 28    id: str
 29    name: str
 30    description: str
 31    status: Status
 32    tags: List["Tag"]
 33    billing_account_id: str
 34    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
 35
 36    def to_dict(self) -> Dict[str, Any]:
 37        id = self.id
 38
 39        name = self.name
 40
 41        description = self.description
 42
 43        status = self.status.value
 44
 45        tags = []
 46        for tags_item_data in self.tags:
 47            tags_item = tags_item_data.to_dict()
 48            tags.append(tags_item)
 49
 50        billing_account_id = self.billing_account_id
 51
 52        field_dict: Dict[str, Any] = {}
 53        field_dict.update(self.additional_properties)
 54        field_dict.update(
 55            {
 56                "id": id,
 57                "name": name,
 58                "description": description,
 59                "status": status,
 60                "tags": tags,
 61                "billingAccountId": billing_account_id,
 62            }
 63        )
 64
 65        return field_dict
 66
 67    @classmethod
 68    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 69        from ..models.tag import Tag
 70
 71        d = src_dict.copy()
 72        id = d.pop("id")
 73
 74        name = d.pop("name")
 75
 76        description = d.pop("description")
 77
 78        status = Status(d.pop("status"))
 79
 80        tags = []
 81        _tags = d.pop("tags")
 82        for tags_item_data in _tags:
 83            tags_item = Tag.from_dict(tags_item_data)
 84
 85            tags.append(tags_item)
 86
 87        billing_account_id = d.pop("billingAccountId")
 88
 89        project = cls(
 90            id=id,
 91            name=name,
 92            description=description,
 93            status=status,
 94            tags=tags,
 95            billing_account_id=billing_account_id,
 96        )
 97
 98        project.additional_properties = d
 99        return project
100
101    @property
102    def additional_keys(self) -> List[str]:
103        return list(self.additional_properties.keys())
Attributes:
  • id (str):
  • name (str):
  • description (str):
  • status (Status):
  • tags (List['Tag']):
  • billing_account_id (str):
Project( id: str, name: str, description: str, status: Status, tags: List[Tag], billing_account_id: str)
2def __init__(self, id, name, description, status, tags, billing_account_id):
3    self.id = id
4    self.name = name
5    self.description = description
6    self.status = status
7    self.tags = tags
8    self.billing_account_id = billing_account_id
9    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class Project.

id: str
name: str
description: str
status: Status
tags: List[Tag]
billing_account_id: str
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
36    def to_dict(self) -> Dict[str, Any]:
37        id = self.id
38
39        name = self.name
40
41        description = self.description
42
43        status = self.status.value
44
45        tags = []
46        for tags_item_data in self.tags:
47            tags_item = tags_item_data.to_dict()
48            tags.append(tags_item)
49
50        billing_account_id = self.billing_account_id
51
52        field_dict: Dict[str, Any] = {}
53        field_dict.update(self.additional_properties)
54        field_dict.update(
55            {
56                "id": id,
57                "name": name,
58                "description": description,
59                "status": status,
60                "tags": tags,
61                "billingAccountId": billing_account_id,
62            }
63        )
64
65        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
67    @classmethod
68    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
69        from ..models.tag import Tag
70
71        d = src_dict.copy()
72        id = d.pop("id")
73
74        name = d.pop("name")
75
76        description = d.pop("description")
77
78        status = Status(d.pop("status"))
79
80        tags = []
81        _tags = d.pop("tags")
82        for tags_item_data in _tags:
83            tags_item = Tag.from_dict(tags_item_data)
84
85            tags.append(tags_item)
86
87        billing_account_id = d.pop("billingAccountId")
88
89        project = cls(
90            id=id,
91            name=name,
92            description=description,
93            status=status,
94            tags=tags,
95            billing_account_id=billing_account_id,
96        )
97
98        project.additional_properties = d
99        return project
additional_keys: List[str]
101    @property
102    def additional_keys(self) -> List[str]:
103        return list(self.additional_properties.keys())
class ProjectDetail:
 20@_attrs_define
 21class ProjectDetail:
 22    """
 23    Attributes:
 24        id (str):
 25        name (str):
 26        description (str):
 27        billing_account_id (str):
 28        contacts (List['Contact']):
 29        status (Status):
 30        settings (ProjectSettings):
 31        status_message (str):
 32        tags (List['Tag']):
 33        created_by (str):
 34        created_at (datetime.datetime):
 35        updated_at (datetime.datetime):
 36    """
 37
 38    id: str
 39    name: str
 40    description: str
 41    billing_account_id: str
 42    contacts: List["Contact"]
 43    status: Status
 44    settings: "ProjectSettings"
 45    status_message: str
 46    tags: List["Tag"]
 47    created_by: str
 48    created_at: datetime.datetime
 49    updated_at: datetime.datetime
 50    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
 51
 52    def to_dict(self) -> Dict[str, Any]:
 53        id = self.id
 54
 55        name = self.name
 56
 57        description = self.description
 58
 59        billing_account_id = self.billing_account_id
 60
 61        contacts = []
 62        for contacts_item_data in self.contacts:
 63            contacts_item = contacts_item_data.to_dict()
 64            contacts.append(contacts_item)
 65
 66        status = self.status.value
 67
 68        settings = self.settings.to_dict()
 69
 70        status_message = self.status_message
 71
 72        tags = []
 73        for tags_item_data in self.tags:
 74            tags_item = tags_item_data.to_dict()
 75            tags.append(tags_item)
 76
 77        created_by = self.created_by
 78
 79        created_at = self.created_at.isoformat()
 80
 81        updated_at = self.updated_at.isoformat()
 82
 83        field_dict: Dict[str, Any] = {}
 84        field_dict.update(self.additional_properties)
 85        field_dict.update(
 86            {
 87                "id": id,
 88                "name": name,
 89                "description": description,
 90                "billingAccountId": billing_account_id,
 91                "contacts": contacts,
 92                "status": status,
 93                "settings": settings,
 94                "statusMessage": status_message,
 95                "tags": tags,
 96                "createdBy": created_by,
 97                "createdAt": created_at,
 98                "updatedAt": updated_at,
 99            }
100        )
101
102        return field_dict
103
104    @classmethod
105    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
106        from ..models.contact import Contact
107        from ..models.project_settings import ProjectSettings
108        from ..models.tag import Tag
109
110        d = src_dict.copy()
111        id = d.pop("id")
112
113        name = d.pop("name")
114
115        description = d.pop("description")
116
117        billing_account_id = d.pop("billingAccountId")
118
119        contacts = []
120        _contacts = d.pop("contacts")
121        for contacts_item_data in _contacts:
122            contacts_item = Contact.from_dict(contacts_item_data)
123
124            contacts.append(contacts_item)
125
126        status = Status(d.pop("status"))
127
128        settings = ProjectSettings.from_dict(d.pop("settings"))
129
130        status_message = d.pop("statusMessage")
131
132        tags = []
133        _tags = d.pop("tags")
134        for tags_item_data in _tags:
135            tags_item = Tag.from_dict(tags_item_data)
136
137            tags.append(tags_item)
138
139        created_by = d.pop("createdBy")
140
141        created_at = isoparse(d.pop("createdAt"))
142
143        updated_at = isoparse(d.pop("updatedAt"))
144
145        project_detail = cls(
146            id=id,
147            name=name,
148            description=description,
149            billing_account_id=billing_account_id,
150            contacts=contacts,
151            status=status,
152            settings=settings,
153            status_message=status_message,
154            tags=tags,
155            created_by=created_by,
156            created_at=created_at,
157            updated_at=updated_at,
158        )
159
160        project_detail.additional_properties = d
161        return project_detail
162
163    @property
164    def additional_keys(self) -> List[str]:
165        return list(self.additional_properties.keys())
Attributes:
  • id (str):
  • name (str):
  • description (str):
  • billing_account_id (str):
  • contacts (List['Contact']):
  • status (Status):
  • settings (ProjectSettings):
  • status_message (str):
  • tags (List['Tag']):
  • created_by (str):
  • created_at (datetime.datetime):
  • updated_at (datetime.datetime):
ProjectDetail( id: str, name: str, description: str, billing_account_id: str, contacts: List[Contact], status: Status, settings: ProjectSettings, status_message: str, tags: List[Tag], created_by: str, created_at: datetime.datetime, updated_at: datetime.datetime)
 2def __init__(self, id, name, description, billing_account_id, contacts, status, settings, status_message, tags, created_by, created_at, updated_at):
 3    self.id = id
 4    self.name = name
 5    self.description = description
 6    self.billing_account_id = billing_account_id
 7    self.contacts = contacts
 8    self.status = status
 9    self.settings = settings
10    self.status_message = status_message
11    self.tags = tags
12    self.created_by = created_by
13    self.created_at = created_at
14    self.updated_at = updated_at
15    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class ProjectDetail.

id: str
name: str
description: str
billing_account_id: str
contacts: List[Contact]
status: Status
settings: ProjectSettings
status_message: str
tags: List[Tag]
created_by: str
created_at: datetime.datetime
updated_at: datetime.datetime
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
 52    def to_dict(self) -> Dict[str, Any]:
 53        id = self.id
 54
 55        name = self.name
 56
 57        description = self.description
 58
 59        billing_account_id = self.billing_account_id
 60
 61        contacts = []
 62        for contacts_item_data in self.contacts:
 63            contacts_item = contacts_item_data.to_dict()
 64            contacts.append(contacts_item)
 65
 66        status = self.status.value
 67
 68        settings = self.settings.to_dict()
 69
 70        status_message = self.status_message
 71
 72        tags = []
 73        for tags_item_data in self.tags:
 74            tags_item = tags_item_data.to_dict()
 75            tags.append(tags_item)
 76
 77        created_by = self.created_by
 78
 79        created_at = self.created_at.isoformat()
 80
 81        updated_at = self.updated_at.isoformat()
 82
 83        field_dict: Dict[str, Any] = {}
 84        field_dict.update(self.additional_properties)
 85        field_dict.update(
 86            {
 87                "id": id,
 88                "name": name,
 89                "description": description,
 90                "billingAccountId": billing_account_id,
 91                "contacts": contacts,
 92                "status": status,
 93                "settings": settings,
 94                "statusMessage": status_message,
 95                "tags": tags,
 96                "createdBy": created_by,
 97                "createdAt": created_at,
 98                "updatedAt": updated_at,
 99            }
100        )
101
102        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
104    @classmethod
105    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
106        from ..models.contact import Contact
107        from ..models.project_settings import ProjectSettings
108        from ..models.tag import Tag
109
110        d = src_dict.copy()
111        id = d.pop("id")
112
113        name = d.pop("name")
114
115        description = d.pop("description")
116
117        billing_account_id = d.pop("billingAccountId")
118
119        contacts = []
120        _contacts = d.pop("contacts")
121        for contacts_item_data in _contacts:
122            contacts_item = Contact.from_dict(contacts_item_data)
123
124            contacts.append(contacts_item)
125
126        status = Status(d.pop("status"))
127
128        settings = ProjectSettings.from_dict(d.pop("settings"))
129
130        status_message = d.pop("statusMessage")
131
132        tags = []
133        _tags = d.pop("tags")
134        for tags_item_data in _tags:
135            tags_item = Tag.from_dict(tags_item_data)
136
137            tags.append(tags_item)
138
139        created_by = d.pop("createdBy")
140
141        created_at = isoparse(d.pop("createdAt"))
142
143        updated_at = isoparse(d.pop("updatedAt"))
144
145        project_detail = cls(
146            id=id,
147            name=name,
148            description=description,
149            billing_account_id=billing_account_id,
150            contacts=contacts,
151            status=status,
152            settings=settings,
153            status_message=status_message,
154            tags=tags,
155            created_by=created_by,
156            created_at=created_at,
157            updated_at=updated_at,
158        )
159
160        project_detail.additional_properties = d
161        return project_detail
additional_keys: List[str]
163    @property
164    def additional_keys(self) -> List[str]:
165        return list(self.additional_properties.keys())
class ProjectMetrics:
 16@_attrs_define
 17class ProjectMetrics:
 18    """
 19    Attributes:
 20        project_id (str):
 21        costs (Union[Unset, List['MetricRecord']]): Costs by service by month Example: [{
 22              "date": "2022-11-01",
 23              "unit": "$",
 24              "service": {
 25                "Other": 26.47,
 26                "EC2 - Other": 3.66,
 27                "Amazon Elastic Compute Cloud - Compute": 140.59,
 28                "Amazon Simple Storage Service": 24.91,
 29                "AmazonCloudWatch": 2.09
 30              }
 31            }]
 32            .
 33        storage_metrics (Union[Unset, List['MetricRecord']]): Storage usage by tier by day Example: [{
 34                "date": "2023-12-12",
 35                "unit": "GB",
 36                "service": {
 37                    "IntelligentTieringAIAStorage": 4198.95,
 38                    "IntelligentTieringFAStorage": 1516.48,
 39                    "StandardStorage": 1.9,
 40                    "IntelligentTieringIAStorage": 2154.6
 41                }
 42            }]
 43            .
 44    """
 45
 46    project_id: str
 47    costs: Union[Unset, List["MetricRecord"]] = UNSET
 48    storage_metrics: Union[Unset, List["MetricRecord"]] = UNSET
 49    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
 50
 51    def to_dict(self) -> Dict[str, Any]:
 52        project_id = self.project_id
 53
 54        costs: Union[Unset, List[Dict[str, Any]]] = UNSET
 55        if not isinstance(self.costs, Unset):
 56            costs = []
 57            for costs_item_data in self.costs:
 58                costs_item = costs_item_data.to_dict()
 59                costs.append(costs_item)
 60
 61        storage_metrics: Union[Unset, List[Dict[str, Any]]] = UNSET
 62        if not isinstance(self.storage_metrics, Unset):
 63            storage_metrics = []
 64            for storage_metrics_item_data in self.storage_metrics:
 65                storage_metrics_item = storage_metrics_item_data.to_dict()
 66                storage_metrics.append(storage_metrics_item)
 67
 68        field_dict: Dict[str, Any] = {}
 69        field_dict.update(self.additional_properties)
 70        field_dict.update(
 71            {
 72                "projectId": project_id,
 73            }
 74        )
 75        if costs is not UNSET:
 76            field_dict["costs"] = costs
 77        if storage_metrics is not UNSET:
 78            field_dict["storageMetrics"] = storage_metrics
 79
 80        return field_dict
 81
 82    @classmethod
 83    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 84        from ..models.metric_record import MetricRecord
 85
 86        d = src_dict.copy()
 87        project_id = d.pop("projectId")
 88
 89        costs = []
 90        _costs = d.pop("costs", UNSET)
 91        for costs_item_data in _costs or []:
 92            costs_item = MetricRecord.from_dict(costs_item_data)
 93
 94            costs.append(costs_item)
 95
 96        storage_metrics = []
 97        _storage_metrics = d.pop("storageMetrics", UNSET)
 98        for storage_metrics_item_data in _storage_metrics or []:
 99            storage_metrics_item = MetricRecord.from_dict(storage_metrics_item_data)
100
101            storage_metrics.append(storage_metrics_item)
102
103        project_metrics = cls(
104            project_id=project_id,
105            costs=costs,
106            storage_metrics=storage_metrics,
107        )
108
109        project_metrics.additional_properties = d
110        return project_metrics
111
112    @property
113    def additional_keys(self) -> List[str]:
114        return list(self.additional_properties.keys())
Attributes:
  • project_id (str):
  • costs (Union[Unset, List['MetricRecord']]): Costs by service by month Example: [{ "date": "2022-11-01", "unit": "$", "service": { "Other": 26.47, "EC2 - Other": 3.66, "Amazon Elastic Compute Cloud - Compute": 140.59, "Amazon Simple Storage Service": 24.91, "AmazonCloudWatch": 2.09 } }] .
  • storage_metrics (Union[Unset, List['MetricRecord']]): Storage usage by tier by day Example: [{ "date": "2023-12-12", "unit": "GB", "service": { "IntelligentTieringAIAStorage": 4198.95, "IntelligentTieringFAStorage": 1516.48, "StandardStorage": 1.9, "IntelligentTieringIAStorage": 2154.6 } }] .
ProjectMetrics( project_id: str, costs: Union[cirro_api_client.v1.types.Unset, List[MetricRecord]] = <cirro_api_client.v1.types.Unset object>, storage_metrics: Union[cirro_api_client.v1.types.Unset, List[MetricRecord]] = <cirro_api_client.v1.types.Unset object>)
2def __init__(self, project_id, costs=attr_dict['costs'].default, storage_metrics=attr_dict['storage_metrics'].default):
3    self.project_id = project_id
4    self.costs = costs
5    self.storage_metrics = storage_metrics
6    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class ProjectMetrics.

project_id: str
costs: Union[cirro_api_client.v1.types.Unset, List[MetricRecord]]
storage_metrics: Union[cirro_api_client.v1.types.Unset, List[MetricRecord]]
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
51    def to_dict(self) -> Dict[str, Any]:
52        project_id = self.project_id
53
54        costs: Union[Unset, List[Dict[str, Any]]] = UNSET
55        if not isinstance(self.costs, Unset):
56            costs = []
57            for costs_item_data in self.costs:
58                costs_item = costs_item_data.to_dict()
59                costs.append(costs_item)
60
61        storage_metrics: Union[Unset, List[Dict[str, Any]]] = UNSET
62        if not isinstance(self.storage_metrics, Unset):
63            storage_metrics = []
64            for storage_metrics_item_data in self.storage_metrics:
65                storage_metrics_item = storage_metrics_item_data.to_dict()
66                storage_metrics.append(storage_metrics_item)
67
68        field_dict: Dict[str, Any] = {}
69        field_dict.update(self.additional_properties)
70        field_dict.update(
71            {
72                "projectId": project_id,
73            }
74        )
75        if costs is not UNSET:
76            field_dict["costs"] = costs
77        if storage_metrics is not UNSET:
78            field_dict["storageMetrics"] = storage_metrics
79
80        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
 82    @classmethod
 83    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 84        from ..models.metric_record import MetricRecord
 85
 86        d = src_dict.copy()
 87        project_id = d.pop("projectId")
 88
 89        costs = []
 90        _costs = d.pop("costs", UNSET)
 91        for costs_item_data in _costs or []:
 92            costs_item = MetricRecord.from_dict(costs_item_data)
 93
 94            costs.append(costs_item)
 95
 96        storage_metrics = []
 97        _storage_metrics = d.pop("storageMetrics", UNSET)
 98        for storage_metrics_item_data in _storage_metrics or []:
 99            storage_metrics_item = MetricRecord.from_dict(storage_metrics_item_data)
100
101            storage_metrics.append(storage_metrics_item)
102
103        project_metrics = cls(
104            project_id=project_id,
105            costs=costs,
106            storage_metrics=storage_metrics,
107        )
108
109        project_metrics.additional_properties = d
110        return project_metrics
additional_keys: List[str]
112    @property
113    def additional_keys(self) -> List[str]:
114        return list(self.additional_properties.keys())
class ProjectRequest:
 19@_attrs_define
 20class ProjectRequest:
 21    """
 22    Attributes:
 23        name (str):
 24        description (str):
 25        billing_account_id (str):
 26        settings (ProjectSettings):
 27        contacts (List['Contact']):
 28        account (Union['CloudAccount', None, Unset]):
 29        tags (Union[List['Tag'], None, Unset]):
 30    """
 31
 32    name: str
 33    description: str
 34    billing_account_id: str
 35    settings: "ProjectSettings"
 36    contacts: List["Contact"]
 37    account: Union["CloudAccount", None, Unset] = UNSET
 38    tags: Union[List["Tag"], None, Unset] = UNSET
 39    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
 40
 41    def to_dict(self) -> Dict[str, Any]:
 42        from ..models.cloud_account import CloudAccount
 43
 44        name = self.name
 45
 46        description = self.description
 47
 48        billing_account_id = self.billing_account_id
 49
 50        settings = self.settings.to_dict()
 51
 52        contacts = []
 53        for contacts_item_data in self.contacts:
 54            contacts_item = contacts_item_data.to_dict()
 55            contacts.append(contacts_item)
 56
 57        account: Union[Dict[str, Any], None, Unset]
 58        if isinstance(self.account, Unset):
 59            account = UNSET
 60        elif isinstance(self.account, CloudAccount):
 61            account = self.account.to_dict()
 62        else:
 63            account = self.account
 64
 65        tags: Union[List[Dict[str, Any]], None, Unset]
 66        if isinstance(self.tags, Unset):
 67            tags = UNSET
 68        elif isinstance(self.tags, list):
 69            tags = []
 70            for tags_type_0_item_data in self.tags:
 71                tags_type_0_item = tags_type_0_item_data.to_dict()
 72                tags.append(tags_type_0_item)
 73
 74        else:
 75            tags = self.tags
 76
 77        field_dict: Dict[str, Any] = {}
 78        field_dict.update(self.additional_properties)
 79        field_dict.update(
 80            {
 81                "name": name,
 82                "description": description,
 83                "billingAccountId": billing_account_id,
 84                "settings": settings,
 85                "contacts": contacts,
 86            }
 87        )
 88        if account is not UNSET:
 89            field_dict["account"] = account
 90        if tags is not UNSET:
 91            field_dict["tags"] = tags
 92
 93        return field_dict
 94
 95    @classmethod
 96    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 97        from ..models.cloud_account import CloudAccount
 98        from ..models.contact import Contact
 99        from ..models.project_settings import ProjectSettings
100        from ..models.tag import Tag
101
102        d = src_dict.copy()
103        name = d.pop("name")
104
105        description = d.pop("description")
106
107        billing_account_id = d.pop("billingAccountId")
108
109        settings = ProjectSettings.from_dict(d.pop("settings"))
110
111        contacts = []
112        _contacts = d.pop("contacts")
113        for contacts_item_data in _contacts:
114            contacts_item = Contact.from_dict(contacts_item_data)
115
116            contacts.append(contacts_item)
117
118        def _parse_account(data: object) -> Union["CloudAccount", None, Unset]:
119            if data is None:
120                return data
121            if isinstance(data, Unset):
122                return data
123            try:
124                if not isinstance(data, dict):
125                    raise TypeError()
126                account_type_1 = CloudAccount.from_dict(data)
127
128                return account_type_1
129            except:  # noqa: E722
130                pass
131            return cast(Union["CloudAccount", None, Unset], data)
132
133        account = _parse_account(d.pop("account", UNSET))
134
135        def _parse_tags(data: object) -> Union[List["Tag"], None, Unset]:
136            if data is None:
137                return data
138            if isinstance(data, Unset):
139                return data
140            try:
141                if not isinstance(data, list):
142                    raise TypeError()
143                tags_type_0 = []
144                _tags_type_0 = data
145                for tags_type_0_item_data in _tags_type_0:
146                    tags_type_0_item = Tag.from_dict(tags_type_0_item_data)
147
148                    tags_type_0.append(tags_type_0_item)
149
150                return tags_type_0
151            except:  # noqa: E722
152                pass
153            return cast(Union[List["Tag"], None, Unset], data)
154
155        tags = _parse_tags(d.pop("tags", UNSET))
156
157        project_request = cls(
158            name=name,
159            description=description,
160            billing_account_id=billing_account_id,
161            settings=settings,
162            contacts=contacts,
163            account=account,
164            tags=tags,
165        )
166
167        project_request.additional_properties = d
168        return project_request
169
170    @property
171    def additional_keys(self) -> List[str]:
172        return list(self.additional_properties.keys())
Attributes:
  • name (str):
  • description (str):
  • billing_account_id (str):
  • settings (ProjectSettings):
  • contacts (List['Contact']):
  • account (Union['CloudAccount', None, Unset]):
  • tags (Union[List['Tag'], None, Unset]):
ProjectRequest( name: str, description: str, billing_account_id: str, settings: ProjectSettings, contacts: List[Contact], account: Union[CloudAccount, NoneType, cirro_api_client.v1.types.Unset] = <cirro_api_client.v1.types.Unset object>, tags: Union[List[Tag], NoneType, cirro_api_client.v1.types.Unset] = <cirro_api_client.v1.types.Unset object>)
 2def __init__(self, name, description, billing_account_id, settings, contacts, account=attr_dict['account'].default, tags=attr_dict['tags'].default):
 3    self.name = name
 4    self.description = description
 5    self.billing_account_id = billing_account_id
 6    self.settings = settings
 7    self.contacts = contacts
 8    self.account = account
 9    self.tags = tags
10    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class ProjectRequest.

name: str
description: str
billing_account_id: str
settings: ProjectSettings
contacts: List[Contact]
account: Union[CloudAccount, NoneType, cirro_api_client.v1.types.Unset]
tags: Union[List[Tag], NoneType, cirro_api_client.v1.types.Unset]
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
41    def to_dict(self) -> Dict[str, Any]:
42        from ..models.cloud_account import CloudAccount
43
44        name = self.name
45
46        description = self.description
47
48        billing_account_id = self.billing_account_id
49
50        settings = self.settings.to_dict()
51
52        contacts = []
53        for contacts_item_data in self.contacts:
54            contacts_item = contacts_item_data.to_dict()
55            contacts.append(contacts_item)
56
57        account: Union[Dict[str, Any], None, Unset]
58        if isinstance(self.account, Unset):
59            account = UNSET
60        elif isinstance(self.account, CloudAccount):
61            account = self.account.to_dict()
62        else:
63            account = self.account
64
65        tags: Union[List[Dict[str, Any]], None, Unset]
66        if isinstance(self.tags, Unset):
67            tags = UNSET
68        elif isinstance(self.tags, list):
69            tags = []
70            for tags_type_0_item_data in self.tags:
71                tags_type_0_item = tags_type_0_item_data.to_dict()
72                tags.append(tags_type_0_item)
73
74        else:
75            tags = self.tags
76
77        field_dict: Dict[str, Any] = {}
78        field_dict.update(self.additional_properties)
79        field_dict.update(
80            {
81                "name": name,
82                "description": description,
83                "billingAccountId": billing_account_id,
84                "settings": settings,
85                "contacts": contacts,
86            }
87        )
88        if account is not UNSET:
89            field_dict["account"] = account
90        if tags is not UNSET:
91            field_dict["tags"] = tags
92
93        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
 95    @classmethod
 96    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 97        from ..models.cloud_account import CloudAccount
 98        from ..models.contact import Contact
 99        from ..models.project_settings import ProjectSettings
100        from ..models.tag import Tag
101
102        d = src_dict.copy()
103        name = d.pop("name")
104
105        description = d.pop("description")
106
107        billing_account_id = d.pop("billingAccountId")
108
109        settings = ProjectSettings.from_dict(d.pop("settings"))
110
111        contacts = []
112        _contacts = d.pop("contacts")
113        for contacts_item_data in _contacts:
114            contacts_item = Contact.from_dict(contacts_item_data)
115
116            contacts.append(contacts_item)
117
118        def _parse_account(data: object) -> Union["CloudAccount", None, Unset]:
119            if data is None:
120                return data
121            if isinstance(data, Unset):
122                return data
123            try:
124                if not isinstance(data, dict):
125                    raise TypeError()
126                account_type_1 = CloudAccount.from_dict(data)
127
128                return account_type_1
129            except:  # noqa: E722
130                pass
131            return cast(Union["CloudAccount", None, Unset], data)
132
133        account = _parse_account(d.pop("account", UNSET))
134
135        def _parse_tags(data: object) -> Union[List["Tag"], None, Unset]:
136            if data is None:
137                return data
138            if isinstance(data, Unset):
139                return data
140            try:
141                if not isinstance(data, list):
142                    raise TypeError()
143                tags_type_0 = []
144                _tags_type_0 = data
145                for tags_type_0_item_data in _tags_type_0:
146                    tags_type_0_item = Tag.from_dict(tags_type_0_item_data)
147
148                    tags_type_0.append(tags_type_0_item)
149
150                return tags_type_0
151            except:  # noqa: E722
152                pass
153            return cast(Union[List["Tag"], None, Unset], data)
154
155        tags = _parse_tags(d.pop("tags", UNSET))
156
157        project_request = cls(
158            name=name,
159            description=description,
160            billing_account_id=billing_account_id,
161            settings=settings,
162            contacts=contacts,
163            account=account,
164            tags=tags,
165        )
166
167        project_request.additional_properties = d
168        return project_request
additional_keys: List[str]
170    @property
171    def additional_keys(self) -> List[str]:
172        return list(self.additional_properties.keys())
class ProjectRole(builtins.str, enum.Enum):
 5class ProjectRole(str, Enum):
 6    ADMIN = "ADMIN"
 7    COLLABORATOR = "COLLABORATOR"
 8    CONTRIBUTOR = "CONTRIBUTOR"
 9    NONE = "NONE"
10
11    def __str__(self) -> str:
12        return str(self.value)

str(object='') -> str str(bytes_or_buffer[, encoding[, errors]]) -> str

Create a new string object from the given object. If encoding or errors is specified, then the object must expose a data buffer that will be decoded using the given encoding and error handler. Otherwise, returns the result of object.__str__() (if defined) or repr(object). encoding defaults to sys.getdefaultencoding(). errors defaults to 'strict'.

ADMIN = <ProjectRole.ADMIN: 'ADMIN'>
COLLABORATOR = <ProjectRole.COLLABORATOR: 'COLLABORATOR'>
CONTRIBUTOR = <ProjectRole.CONTRIBUTOR: 'CONTRIBUTOR'>
NONE = <ProjectRole.NONE: 'NONE'>
Inherited Members
enum.Enum
name
value
builtins.str
encode
replace
split
rsplit
join
capitalize
casefold
title
center
count
expandtabs
find
partition
index
ljust
lower
lstrip
rfind
rindex
rjust
rstrip
rpartition
splitlines
strip
swapcase
translate
upper
startswith
endswith
removeprefix
removesuffix
isascii
islower
isupper
istitle
isspace
isdecimal
isdigit
isnumeric
isalpha
isalnum
isidentifier
isprintable
zfill
format
format_map
maketrans
class ProjectSettings:
 13@_attrs_define
 14class ProjectSettings:
 15    """
 16    Attributes:
 17        budget_amount (int): Total allowed cost for the budget period
 18        budget_period (BudgetPeriod): Time period associated with the budget amount
 19        dragen_ami (Union[None, Unset, str]): AMI ID for the DRAGEN compute environment (if enabled)
 20        enable_compute (Union[Unset, bool]): Enables the default compute environment Default: True.
 21        enable_dragen (Union[Unset, bool]): Enables the DRAGEN compute environment Default: False.
 22        enable_backup (Union[Unset, bool]): Enables the AWS Backup service for S3 Default: False.
 23        enable_sftp (Union[Unset, bool]): Enables access to files over SFTP Default: False.
 24        max_f1vcpu (Union[Unset, int]): Service quota limit for On Demand F1 instances Default: 0.
 25        max_spot_vcpu (Union[Unset, int]): Service quota limit for SPOT instances Default: 0.
 26        retention_policy_days (Union[Unset, int]): Days to keep deleted datasets before being permanently erased
 27            Default: 7.
 28        service_connections (Union[Unset, List[str]]): List of service connections to enable
 29        vpc_id (Union[None, Unset, str]): VPC that the compute environment will use Example: vpc-00000000000000000.
 30        batch_subnets (Union[List[str], None, Unset]): List of subnets that the compute environment will use Example:
 31            ["subnet-00000000000000000"].
 32        sagemaker_subnets (Union[List[str], None, Unset]): List of subnets that the sagemaker instances will use
 33            Example: ["subnet-00000000000000000"].
 34        kms_arn (Union[None, Unset, str]): KMS Key ARN to encrypt S3 objects, if not provided, default bucket encryption
 35            will be used
 36    """
 37
 38    budget_amount: int
 39    budget_period: BudgetPeriod
 40    dragen_ami: Union[None, Unset, str] = UNSET
 41    enable_compute: Union[Unset, bool] = True
 42    enable_dragen: Union[Unset, bool] = False
 43    enable_backup: Union[Unset, bool] = False
 44    enable_sftp: Union[Unset, bool] = False
 45    max_f1vcpu: Union[Unset, int] = 0
 46    max_spot_vcpu: Union[Unset, int] = 0
 47    retention_policy_days: Union[Unset, int] = 7
 48    service_connections: Union[Unset, List[str]] = UNSET
 49    vpc_id: Union[None, Unset, str] = UNSET
 50    batch_subnets: Union[List[str], None, Unset] = UNSET
 51    sagemaker_subnets: Union[List[str], None, Unset] = UNSET
 52    kms_arn: Union[None, Unset, str] = UNSET
 53    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
 54
 55    def to_dict(self) -> Dict[str, Any]:
 56        budget_amount = self.budget_amount
 57
 58        budget_period = self.budget_period.value
 59
 60        dragen_ami: Union[None, Unset, str]
 61        if isinstance(self.dragen_ami, Unset):
 62            dragen_ami = UNSET
 63        else:
 64            dragen_ami = self.dragen_ami
 65
 66        enable_compute = self.enable_compute
 67
 68        enable_dragen = self.enable_dragen
 69
 70        enable_backup = self.enable_backup
 71
 72        enable_sftp = self.enable_sftp
 73
 74        max_f1vcpu = self.max_f1vcpu
 75
 76        max_spot_vcpu = self.max_spot_vcpu
 77
 78        retention_policy_days = self.retention_policy_days
 79
 80        service_connections: Union[Unset, List[str]] = UNSET
 81        if not isinstance(self.service_connections, Unset):
 82            service_connections = self.service_connections
 83
 84        vpc_id: Union[None, Unset, str]
 85        if isinstance(self.vpc_id, Unset):
 86            vpc_id = UNSET
 87        else:
 88            vpc_id = self.vpc_id
 89
 90        batch_subnets: Union[List[str], None, Unset]
 91        if isinstance(self.batch_subnets, Unset):
 92            batch_subnets = UNSET
 93        elif isinstance(self.batch_subnets, list):
 94            batch_subnets = self.batch_subnets
 95
 96        else:
 97            batch_subnets = self.batch_subnets
 98
 99        sagemaker_subnets: Union[List[str], None, Unset]
100        if isinstance(self.sagemaker_subnets, Unset):
101            sagemaker_subnets = UNSET
102        elif isinstance(self.sagemaker_subnets, list):
103            sagemaker_subnets = self.sagemaker_subnets
104
105        else:
106            sagemaker_subnets = self.sagemaker_subnets
107
108        kms_arn: Union[None, Unset, str]
109        if isinstance(self.kms_arn, Unset):
110            kms_arn = UNSET
111        else:
112            kms_arn = self.kms_arn
113
114        field_dict: Dict[str, Any] = {}
115        field_dict.update(self.additional_properties)
116        field_dict.update(
117            {
118                "budgetAmount": budget_amount,
119                "budgetPeriod": budget_period,
120            }
121        )
122        if dragen_ami is not UNSET:
123            field_dict["dragenAmi"] = dragen_ami
124        if enable_compute is not UNSET:
125            field_dict["enableCompute"] = enable_compute
126        if enable_dragen is not UNSET:
127            field_dict["enableDragen"] = enable_dragen
128        if enable_backup is not UNSET:
129            field_dict["enableBackup"] = enable_backup
130        if enable_sftp is not UNSET:
131            field_dict["enableSftp"] = enable_sftp
132        if max_f1vcpu is not UNSET:
133            field_dict["maxF1VCPU"] = max_f1vcpu
134        if max_spot_vcpu is not UNSET:
135            field_dict["maxSpotVCPU"] = max_spot_vcpu
136        if retention_policy_days is not UNSET:
137            field_dict["retentionPolicyDays"] = retention_policy_days
138        if service_connections is not UNSET:
139            field_dict["serviceConnections"] = service_connections
140        if vpc_id is not UNSET:
141            field_dict["vpcId"] = vpc_id
142        if batch_subnets is not UNSET:
143            field_dict["batchSubnets"] = batch_subnets
144        if sagemaker_subnets is not UNSET:
145            field_dict["sagemakerSubnets"] = sagemaker_subnets
146        if kms_arn is not UNSET:
147            field_dict["kmsArn"] = kms_arn
148
149        return field_dict
150
151    @classmethod
152    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
153        d = src_dict.copy()
154        budget_amount = d.pop("budgetAmount")
155
156        budget_period = BudgetPeriod(d.pop("budgetPeriod"))
157
158        def _parse_dragen_ami(data: object) -> Union[None, Unset, str]:
159            if data is None:
160                return data
161            if isinstance(data, Unset):
162                return data
163            return cast(Union[None, Unset, str], data)
164
165        dragen_ami = _parse_dragen_ami(d.pop("dragenAmi", UNSET))
166
167        enable_compute = d.pop("enableCompute", UNSET)
168
169        enable_dragen = d.pop("enableDragen", UNSET)
170
171        enable_backup = d.pop("enableBackup", UNSET)
172
173        enable_sftp = d.pop("enableSftp", UNSET)
174
175        max_f1vcpu = d.pop("maxF1VCPU", UNSET)
176
177        max_spot_vcpu = d.pop("maxSpotVCPU", UNSET)
178
179        retention_policy_days = d.pop("retentionPolicyDays", UNSET)
180
181        service_connections = cast(List[str], d.pop("serviceConnections", UNSET))
182
183        def _parse_vpc_id(data: object) -> Union[None, Unset, str]:
184            if data is None:
185                return data
186            if isinstance(data, Unset):
187                return data
188            return cast(Union[None, Unset, str], data)
189
190        vpc_id = _parse_vpc_id(d.pop("vpcId", UNSET))
191
192        def _parse_batch_subnets(data: object) -> Union[List[str], None, Unset]:
193            if data is None:
194                return data
195            if isinstance(data, Unset):
196                return data
197            try:
198                if not isinstance(data, list):
199                    raise TypeError()
200                batch_subnets_type_0 = cast(List[str], data)
201
202                return batch_subnets_type_0
203            except:  # noqa: E722
204                pass
205            return cast(Union[List[str], None, Unset], data)
206
207        batch_subnets = _parse_batch_subnets(d.pop("batchSubnets", UNSET))
208
209        def _parse_sagemaker_subnets(data: object) -> Union[List[str], None, Unset]:
210            if data is None:
211                return data
212            if isinstance(data, Unset):
213                return data
214            try:
215                if not isinstance(data, list):
216                    raise TypeError()
217                sagemaker_subnets_type_0 = cast(List[str], data)
218
219                return sagemaker_subnets_type_0
220            except:  # noqa: E722
221                pass
222            return cast(Union[List[str], None, Unset], data)
223
224        sagemaker_subnets = _parse_sagemaker_subnets(d.pop("sagemakerSubnets", UNSET))
225
226        def _parse_kms_arn(data: object) -> Union[None, Unset, str]:
227            if data is None:
228                return data
229            if isinstance(data, Unset):
230                return data
231            return cast(Union[None, Unset, str], data)
232
233        kms_arn = _parse_kms_arn(d.pop("kmsArn", UNSET))
234
235        project_settings = cls(
236            budget_amount=budget_amount,
237            budget_period=budget_period,
238            dragen_ami=dragen_ami,
239            enable_compute=enable_compute,
240            enable_dragen=enable_dragen,
241            enable_backup=enable_backup,
242            enable_sftp=enable_sftp,
243            max_f1vcpu=max_f1vcpu,
244            max_spot_vcpu=max_spot_vcpu,
245            retention_policy_days=retention_policy_days,
246            service_connections=service_connections,
247            vpc_id=vpc_id,
248            batch_subnets=batch_subnets,
249            sagemaker_subnets=sagemaker_subnets,
250            kms_arn=kms_arn,
251        )
252
253        project_settings.additional_properties = d
254        return project_settings
255
256    @property
257    def additional_keys(self) -> List[str]:
258        return list(self.additional_properties.keys())
Attributes:
  • budget_amount (int): Total allowed cost for the budget period
  • budget_period (BudgetPeriod): Time period associated with the budget amount
  • dragen_ami (Union[None, Unset, str]): AMI ID for the DRAGEN compute environment (if enabled)
  • enable_compute (Union[Unset, bool]): Enables the default compute environment Default: True.
  • enable_dragen (Union[Unset, bool]): Enables the DRAGEN compute environment Default: False.
  • enable_backup (Union[Unset, bool]): Enables the AWS Backup service for S3 Default: False.
  • enable_sftp (Union[Unset, bool]): Enables access to files over SFTP Default: False.
  • max_f1vcpu (Union[Unset, int]): Service quota limit for On Demand F1 instances Default: 0.
  • max_spot_vcpu (Union[Unset, int]): Service quota limit for SPOT instances Default: 0.
  • retention_policy_days (Union[Unset, int]): Days to keep deleted datasets before being permanently erased Default: 7.
  • service_connections (Union[Unset, List[str]]): List of service connections to enable
  • vpc_id (Union[None, Unset, str]): VPC that the compute environment will use Example: vpc-00000000000000000.
  • batch_subnets (Union[List[str], None, Unset]): List of subnets that the compute environment will use Example: ["subnet-00000000000000000"].
  • sagemaker_subnets (Union[List[str], None, Unset]): List of subnets that the sagemaker instances will use Example: ["subnet-00000000000000000"].
  • kms_arn (Union[None, Unset, str]): KMS Key ARN to encrypt S3 objects, if not provided, default bucket encryption will be used
ProjectSettings( budget_amount: int, budget_period: BudgetPeriod, dragen_ami: Union[NoneType, cirro_api_client.v1.types.Unset, str] = <cirro_api_client.v1.types.Unset object>, enable_compute: Union[cirro_api_client.v1.types.Unset, bool] = True, enable_dragen: Union[cirro_api_client.v1.types.Unset, bool] = False, enable_backup: Union[cirro_api_client.v1.types.Unset, bool] = False, enable_sftp: Union[cirro_api_client.v1.types.Unset, bool] = False, max_f1vcpu: Union[cirro_api_client.v1.types.Unset, int] = 0, max_spot_vcpu: Union[cirro_api_client.v1.types.Unset, int] = 0, retention_policy_days: Union[cirro_api_client.v1.types.Unset, int] = 7, service_connections: Union[cirro_api_client.v1.types.Unset, List[str]] = <cirro_api_client.v1.types.Unset object>, vpc_id: Union[NoneType, cirro_api_client.v1.types.Unset, str] = <cirro_api_client.v1.types.Unset object>, batch_subnets: Union[List[str], NoneType, cirro_api_client.v1.types.Unset] = <cirro_api_client.v1.types.Unset object>, sagemaker_subnets: Union[List[str], NoneType, cirro_api_client.v1.types.Unset] = <cirro_api_client.v1.types.Unset object>, kms_arn: Union[NoneType, cirro_api_client.v1.types.Unset, str] = <cirro_api_client.v1.types.Unset object>)
 2def __init__(self, budget_amount, budget_period, dragen_ami=attr_dict['dragen_ami'].default, enable_compute=attr_dict['enable_compute'].default, enable_dragen=attr_dict['enable_dragen'].default, enable_backup=attr_dict['enable_backup'].default, enable_sftp=attr_dict['enable_sftp'].default, max_f1vcpu=attr_dict['max_f1vcpu'].default, max_spot_vcpu=attr_dict['max_spot_vcpu'].default, retention_policy_days=attr_dict['retention_policy_days'].default, service_connections=attr_dict['service_connections'].default, vpc_id=attr_dict['vpc_id'].default, batch_subnets=attr_dict['batch_subnets'].default, sagemaker_subnets=attr_dict['sagemaker_subnets'].default, kms_arn=attr_dict['kms_arn'].default):
 3    self.budget_amount = budget_amount
 4    self.budget_period = budget_period
 5    self.dragen_ami = dragen_ami
 6    self.enable_compute = enable_compute
 7    self.enable_dragen = enable_dragen
 8    self.enable_backup = enable_backup
 9    self.enable_sftp = enable_sftp
10    self.max_f1vcpu = max_f1vcpu
11    self.max_spot_vcpu = max_spot_vcpu
12    self.retention_policy_days = retention_policy_days
13    self.service_connections = service_connections
14    self.vpc_id = vpc_id
15    self.batch_subnets = batch_subnets
16    self.sagemaker_subnets = sagemaker_subnets
17    self.kms_arn = kms_arn
18    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class ProjectSettings.

budget_amount: int
budget_period: BudgetPeriod
dragen_ami: Union[NoneType, cirro_api_client.v1.types.Unset, str]
enable_compute: Union[cirro_api_client.v1.types.Unset, bool]
enable_dragen: Union[cirro_api_client.v1.types.Unset, bool]
enable_backup: Union[cirro_api_client.v1.types.Unset, bool]
enable_sftp: Union[cirro_api_client.v1.types.Unset, bool]
max_f1vcpu: Union[cirro_api_client.v1.types.Unset, int]
max_spot_vcpu: Union[cirro_api_client.v1.types.Unset, int]
retention_policy_days: Union[cirro_api_client.v1.types.Unset, int]
service_connections: Union[cirro_api_client.v1.types.Unset, List[str]]
vpc_id: Union[NoneType, cirro_api_client.v1.types.Unset, str]
batch_subnets: Union[List[str], NoneType, cirro_api_client.v1.types.Unset]
sagemaker_subnets: Union[List[str], NoneType, cirro_api_client.v1.types.Unset]
kms_arn: Union[NoneType, cirro_api_client.v1.types.Unset, str]
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
 55    def to_dict(self) -> Dict[str, Any]:
 56        budget_amount = self.budget_amount
 57
 58        budget_period = self.budget_period.value
 59
 60        dragen_ami: Union[None, Unset, str]
 61        if isinstance(self.dragen_ami, Unset):
 62            dragen_ami = UNSET
 63        else:
 64            dragen_ami = self.dragen_ami
 65
 66        enable_compute = self.enable_compute
 67
 68        enable_dragen = self.enable_dragen
 69
 70        enable_backup = self.enable_backup
 71
 72        enable_sftp = self.enable_sftp
 73
 74        max_f1vcpu = self.max_f1vcpu
 75
 76        max_spot_vcpu = self.max_spot_vcpu
 77
 78        retention_policy_days = self.retention_policy_days
 79
 80        service_connections: Union[Unset, List[str]] = UNSET
 81        if not isinstance(self.service_connections, Unset):
 82            service_connections = self.service_connections
 83
 84        vpc_id: Union[None, Unset, str]
 85        if isinstance(self.vpc_id, Unset):
 86            vpc_id = UNSET
 87        else:
 88            vpc_id = self.vpc_id
 89
 90        batch_subnets: Union[List[str], None, Unset]
 91        if isinstance(self.batch_subnets, Unset):
 92            batch_subnets = UNSET
 93        elif isinstance(self.batch_subnets, list):
 94            batch_subnets = self.batch_subnets
 95
 96        else:
 97            batch_subnets = self.batch_subnets
 98
 99        sagemaker_subnets: Union[List[str], None, Unset]
100        if isinstance(self.sagemaker_subnets, Unset):
101            sagemaker_subnets = UNSET
102        elif isinstance(self.sagemaker_subnets, list):
103            sagemaker_subnets = self.sagemaker_subnets
104
105        else:
106            sagemaker_subnets = self.sagemaker_subnets
107
108        kms_arn: Union[None, Unset, str]
109        if isinstance(self.kms_arn, Unset):
110            kms_arn = UNSET
111        else:
112            kms_arn = self.kms_arn
113
114        field_dict: Dict[str, Any] = {}
115        field_dict.update(self.additional_properties)
116        field_dict.update(
117            {
118                "budgetAmount": budget_amount,
119                "budgetPeriod": budget_period,
120            }
121        )
122        if dragen_ami is not UNSET:
123            field_dict["dragenAmi"] = dragen_ami
124        if enable_compute is not UNSET:
125            field_dict["enableCompute"] = enable_compute
126        if enable_dragen is not UNSET:
127            field_dict["enableDragen"] = enable_dragen
128        if enable_backup is not UNSET:
129            field_dict["enableBackup"] = enable_backup
130        if enable_sftp is not UNSET:
131            field_dict["enableSftp"] = enable_sftp
132        if max_f1vcpu is not UNSET:
133            field_dict["maxF1VCPU"] = max_f1vcpu
134        if max_spot_vcpu is not UNSET:
135            field_dict["maxSpotVCPU"] = max_spot_vcpu
136        if retention_policy_days is not UNSET:
137            field_dict["retentionPolicyDays"] = retention_policy_days
138        if service_connections is not UNSET:
139            field_dict["serviceConnections"] = service_connections
140        if vpc_id is not UNSET:
141            field_dict["vpcId"] = vpc_id
142        if batch_subnets is not UNSET:
143            field_dict["batchSubnets"] = batch_subnets
144        if sagemaker_subnets is not UNSET:
145            field_dict["sagemakerSubnets"] = sagemaker_subnets
146        if kms_arn is not UNSET:
147            field_dict["kmsArn"] = kms_arn
148
149        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
151    @classmethod
152    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
153        d = src_dict.copy()
154        budget_amount = d.pop("budgetAmount")
155
156        budget_period = BudgetPeriod(d.pop("budgetPeriod"))
157
158        def _parse_dragen_ami(data: object) -> Union[None, Unset, str]:
159            if data is None:
160                return data
161            if isinstance(data, Unset):
162                return data
163            return cast(Union[None, Unset, str], data)
164
165        dragen_ami = _parse_dragen_ami(d.pop("dragenAmi", UNSET))
166
167        enable_compute = d.pop("enableCompute", UNSET)
168
169        enable_dragen = d.pop("enableDragen", UNSET)
170
171        enable_backup = d.pop("enableBackup", UNSET)
172
173        enable_sftp = d.pop("enableSftp", UNSET)
174
175        max_f1vcpu = d.pop("maxF1VCPU", UNSET)
176
177        max_spot_vcpu = d.pop("maxSpotVCPU", UNSET)
178
179        retention_policy_days = d.pop("retentionPolicyDays", UNSET)
180
181        service_connections = cast(List[str], d.pop("serviceConnections", UNSET))
182
183        def _parse_vpc_id(data: object) -> Union[None, Unset, str]:
184            if data is None:
185                return data
186            if isinstance(data, Unset):
187                return data
188            return cast(Union[None, Unset, str], data)
189
190        vpc_id = _parse_vpc_id(d.pop("vpcId", UNSET))
191
192        def _parse_batch_subnets(data: object) -> Union[List[str], None, Unset]:
193            if data is None:
194                return data
195            if isinstance(data, Unset):
196                return data
197            try:
198                if not isinstance(data, list):
199                    raise TypeError()
200                batch_subnets_type_0 = cast(List[str], data)
201
202                return batch_subnets_type_0
203            except:  # noqa: E722
204                pass
205            return cast(Union[List[str], None, Unset], data)
206
207        batch_subnets = _parse_batch_subnets(d.pop("batchSubnets", UNSET))
208
209        def _parse_sagemaker_subnets(data: object) -> Union[List[str], None, Unset]:
210            if data is None:
211                return data
212            if isinstance(data, Unset):
213                return data
214            try:
215                if not isinstance(data, list):
216                    raise TypeError()
217                sagemaker_subnets_type_0 = cast(List[str], data)
218
219                return sagemaker_subnets_type_0
220            except:  # noqa: E722
221                pass
222            return cast(Union[List[str], None, Unset], data)
223
224        sagemaker_subnets = _parse_sagemaker_subnets(d.pop("sagemakerSubnets", UNSET))
225
226        def _parse_kms_arn(data: object) -> Union[None, Unset, str]:
227            if data is None:
228                return data
229            if isinstance(data, Unset):
230                return data
231            return cast(Union[None, Unset, str], data)
232
233        kms_arn = _parse_kms_arn(d.pop("kmsArn", UNSET))
234
235        project_settings = cls(
236            budget_amount=budget_amount,
237            budget_period=budget_period,
238            dragen_ami=dragen_ami,
239            enable_compute=enable_compute,
240            enable_dragen=enable_dragen,
241            enable_backup=enable_backup,
242            enable_sftp=enable_sftp,
243            max_f1vcpu=max_f1vcpu,
244            max_spot_vcpu=max_spot_vcpu,
245            retention_policy_days=retention_policy_days,
246            service_connections=service_connections,
247            vpc_id=vpc_id,
248            batch_subnets=batch_subnets,
249            sagemaker_subnets=sagemaker_subnets,
250            kms_arn=kms_arn,
251        )
252
253        project_settings.additional_properties = d
254        return project_settings
additional_keys: List[str]
256    @property
257    def additional_keys(self) -> List[str]:
258        return list(self.additional_properties.keys())
class ProjectUser:
12@_attrs_define
13class ProjectUser:
14    """
15    Attributes:
16        name (str):
17        username (str):
18        organization (str):
19        department (str):
20        email (str):
21        role (ProjectRole):
22    """
23
24    name: str
25    username: str
26    organization: str
27    department: str
28    email: str
29    role: ProjectRole
30    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
31
32    def to_dict(self) -> Dict[str, Any]:
33        name = self.name
34
35        username = self.username
36
37        organization = self.organization
38
39        department = self.department
40
41        email = self.email
42
43        role = self.role.value
44
45        field_dict: Dict[str, Any] = {}
46        field_dict.update(self.additional_properties)
47        field_dict.update(
48            {
49                "name": name,
50                "username": username,
51                "organization": organization,
52                "department": department,
53                "email": email,
54                "role": role,
55            }
56        )
57
58        return field_dict
59
60    @classmethod
61    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
62        d = src_dict.copy()
63        name = d.pop("name")
64
65        username = d.pop("username")
66
67        organization = d.pop("organization")
68
69        department = d.pop("department")
70
71        email = d.pop("email")
72
73        role = ProjectRole(d.pop("role"))
74
75        project_user = cls(
76            name=name,
77            username=username,
78            organization=organization,
79            department=department,
80            email=email,
81            role=role,
82        )
83
84        project_user.additional_properties = d
85        return project_user
86
87    @property
88    def additional_keys(self) -> List[str]:
89        return list(self.additional_properties.keys())
Attributes:
  • name (str):
  • username (str):
  • organization (str):
  • department (str):
  • email (str):
  • role (ProjectRole):
ProjectUser( name: str, username: str, organization: str, department: str, email: str, role: ProjectRole)
2def __init__(self, name, username, organization, department, email, role):
3    self.name = name
4    self.username = username
5    self.organization = organization
6    self.department = department
7    self.email = email
8    self.role = role
9    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class ProjectUser.

name: str
username: str
organization: str
department: str
email: str
role: ProjectRole
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
32    def to_dict(self) -> Dict[str, Any]:
33        name = self.name
34
35        username = self.username
36
37        organization = self.organization
38
39        department = self.department
40
41        email = self.email
42
43        role = self.role.value
44
45        field_dict: Dict[str, Any] = {}
46        field_dict.update(self.additional_properties)
47        field_dict.update(
48            {
49                "name": name,
50                "username": username,
51                "organization": organization,
52                "department": department,
53                "email": email,
54                "role": role,
55            }
56        )
57
58        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
60    @classmethod
61    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
62        d = src_dict.copy()
63        name = d.pop("name")
64
65        username = d.pop("username")
66
67        organization = d.pop("organization")
68
69        department = d.pop("department")
70
71        email = d.pop("email")
72
73        role = ProjectRole(d.pop("role"))
74
75        project_user = cls(
76            name=name,
77            username=username,
78            organization=organization,
79            department=department,
80            email=email,
81            role=role,
82        )
83
84        project_user.additional_properties = d
85        return project_user
additional_keys: List[str]
87    @property
88    def additional_keys(self) -> List[str]:
89        return list(self.additional_properties.keys())
class Reference:
 16@_attrs_define
 17class Reference:
 18    """
 19    Attributes:
 20        id (str):
 21        name (str):
 22        description (str):
 23        type (str):
 24        files (List['FileEntry']):
 25        created_by (str):
 26        created_at (datetime.datetime):
 27    """
 28
 29    id: str
 30    name: str
 31    description: str
 32    type: str
 33    files: List["FileEntry"]
 34    created_by: str
 35    created_at: datetime.datetime
 36    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
 37
 38    def to_dict(self) -> Dict[str, Any]:
 39        id = self.id
 40
 41        name = self.name
 42
 43        description = self.description
 44
 45        type = self.type
 46
 47        files = []
 48        for files_item_data in self.files:
 49            files_item = files_item_data.to_dict()
 50            files.append(files_item)
 51
 52        created_by = self.created_by
 53
 54        created_at = self.created_at.isoformat()
 55
 56        field_dict: Dict[str, Any] = {}
 57        field_dict.update(self.additional_properties)
 58        field_dict.update(
 59            {
 60                "id": id,
 61                "name": name,
 62                "description": description,
 63                "type": type,
 64                "files": files,
 65                "createdBy": created_by,
 66                "createdAt": created_at,
 67            }
 68        )
 69
 70        return field_dict
 71
 72    @classmethod
 73    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 74        from ..models.file_entry import FileEntry
 75
 76        d = src_dict.copy()
 77        id = d.pop("id")
 78
 79        name = d.pop("name")
 80
 81        description = d.pop("description")
 82
 83        type = d.pop("type")
 84
 85        files = []
 86        _files = d.pop("files")
 87        for files_item_data in _files:
 88            files_item = FileEntry.from_dict(files_item_data)
 89
 90            files.append(files_item)
 91
 92        created_by = d.pop("createdBy")
 93
 94        created_at = isoparse(d.pop("createdAt"))
 95
 96        reference = cls(
 97            id=id,
 98            name=name,
 99            description=description,
100            type=type,
101            files=files,
102            created_by=created_by,
103            created_at=created_at,
104        )
105
106        reference.additional_properties = d
107        return reference
108
109    @property
110    def additional_keys(self) -> List[str]:
111        return list(self.additional_properties.keys())
Attributes:
  • id (str):
  • name (str):
  • description (str):
  • type (str):
  • files (List['FileEntry']):
  • created_by (str):
  • created_at (datetime.datetime):
Reference( id: str, name: str, description: str, type: str, files: List[FileEntry], created_by: str, created_at: datetime.datetime)
 2def __init__(self, id, name, description, type, files, created_by, created_at):
 3    self.id = id
 4    self.name = name
 5    self.description = description
 6    self.type = type
 7    self.files = files
 8    self.created_by = created_by
 9    self.created_at = created_at
10    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class Reference.

id: str
name: str
description: str
type: str
files: List[FileEntry]
created_by: str
created_at: datetime.datetime
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
38    def to_dict(self) -> Dict[str, Any]:
39        id = self.id
40
41        name = self.name
42
43        description = self.description
44
45        type = self.type
46
47        files = []
48        for files_item_data in self.files:
49            files_item = files_item_data.to_dict()
50            files.append(files_item)
51
52        created_by = self.created_by
53
54        created_at = self.created_at.isoformat()
55
56        field_dict: Dict[str, Any] = {}
57        field_dict.update(self.additional_properties)
58        field_dict.update(
59            {
60                "id": id,
61                "name": name,
62                "description": description,
63                "type": type,
64                "files": files,
65                "createdBy": created_by,
66                "createdAt": created_at,
67            }
68        )
69
70        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
 72    @classmethod
 73    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 74        from ..models.file_entry import FileEntry
 75
 76        d = src_dict.copy()
 77        id = d.pop("id")
 78
 79        name = d.pop("name")
 80
 81        description = d.pop("description")
 82
 83        type = d.pop("type")
 84
 85        files = []
 86        _files = d.pop("files")
 87        for files_item_data in _files:
 88            files_item = FileEntry.from_dict(files_item_data)
 89
 90            files.append(files_item)
 91
 92        created_by = d.pop("createdBy")
 93
 94        created_at = isoparse(d.pop("createdAt"))
 95
 96        reference = cls(
 97            id=id,
 98            name=name,
 99            description=description,
100            type=type,
101            files=files,
102            created_by=created_by,
103            created_at=created_at,
104        )
105
106        reference.additional_properties = d
107        return reference
additional_keys: List[str]
109    @property
110    def additional_keys(self) -> List[str]:
111        return list(self.additional_properties.keys())
class ReferenceType:
14@_attrs_define
15class ReferenceType:
16    """
17    Attributes:
18        name (str):
19        description (str):
20        directory (str):
21        validation (List['ReferenceTypeValidationItem']):
22    """
23
24    name: str
25    description: str
26    directory: str
27    validation: List["ReferenceTypeValidationItem"]
28    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
29
30    def to_dict(self) -> Dict[str, Any]:
31        name = self.name
32
33        description = self.description
34
35        directory = self.directory
36
37        validation = []
38        for validation_item_data in self.validation:
39            validation_item = validation_item_data.to_dict()
40            validation.append(validation_item)
41
42        field_dict: Dict[str, Any] = {}
43        field_dict.update(self.additional_properties)
44        field_dict.update(
45            {
46                "name": name,
47                "description": description,
48                "directory": directory,
49                "validation": validation,
50            }
51        )
52
53        return field_dict
54
55    @classmethod
56    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
57        from ..models.reference_type_validation_item import ReferenceTypeValidationItem
58
59        d = src_dict.copy()
60        name = d.pop("name")
61
62        description = d.pop("description")
63
64        directory = d.pop("directory")
65
66        validation = []
67        _validation = d.pop("validation")
68        for validation_item_data in _validation:
69            validation_item = ReferenceTypeValidationItem.from_dict(validation_item_data)
70
71            validation.append(validation_item)
72
73        reference_type = cls(
74            name=name,
75            description=description,
76            directory=directory,
77            validation=validation,
78        )
79
80        reference_type.additional_properties = d
81        return reference_type
82
83    @property
84    def additional_keys(self) -> List[str]:
85        return list(self.additional_properties.keys())
Attributes:
  • name (str):
  • description (str):
  • directory (str):
  • validation (List['ReferenceTypeValidationItem']):
ReferenceType( name: str, description: str, directory: str, validation: List[ReferenceTypeValidationItem])
2def __init__(self, name, description, directory, validation):
3    self.name = name
4    self.description = description
5    self.directory = directory
6    self.validation = validation
7    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class ReferenceType.

name: str
description: str
directory: str
validation: List[ReferenceTypeValidationItem]
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
30    def to_dict(self) -> Dict[str, Any]:
31        name = self.name
32
33        description = self.description
34
35        directory = self.directory
36
37        validation = []
38        for validation_item_data in self.validation:
39            validation_item = validation_item_data.to_dict()
40            validation.append(validation_item)
41
42        field_dict: Dict[str, Any] = {}
43        field_dict.update(self.additional_properties)
44        field_dict.update(
45            {
46                "name": name,
47                "description": description,
48                "directory": directory,
49                "validation": validation,
50            }
51        )
52
53        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
55    @classmethod
56    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
57        from ..models.reference_type_validation_item import ReferenceTypeValidationItem
58
59        d = src_dict.copy()
60        name = d.pop("name")
61
62        description = d.pop("description")
63
64        directory = d.pop("directory")
65
66        validation = []
67        _validation = d.pop("validation")
68        for validation_item_data in _validation:
69            validation_item = ReferenceTypeValidationItem.from_dict(validation_item_data)
70
71            validation.append(validation_item)
72
73        reference_type = cls(
74            name=name,
75            description=description,
76            directory=directory,
77            validation=validation,
78        )
79
80        reference_type.additional_properties = d
81        return reference_type
additional_keys: List[str]
83    @property
84    def additional_keys(self) -> List[str]:
85        return list(self.additional_properties.keys())
class ReferenceTypeValidationItem:
10@_attrs_define
11class ReferenceTypeValidationItem:
12    """ """
13
14    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
15
16    def to_dict(self) -> Dict[str, Any]:
17        field_dict: Dict[str, Any] = {}
18        field_dict.update(self.additional_properties)
19        field_dict.update({})
20
21        return field_dict
22
23    @classmethod
24    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
25        d = src_dict.copy()
26        reference_type_validation_item = cls()
27
28        reference_type_validation_item.additional_properties = d
29        return reference_type_validation_item
30
31    @property
32    def additional_keys(self) -> List[str]:
33        return list(self.additional_properties.keys())
ReferenceTypeValidationItem()
2def __init__(self, ):
3    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class ReferenceTypeValidationItem.

additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
16    def to_dict(self) -> Dict[str, Any]:
17        field_dict: Dict[str, Any] = {}
18        field_dict.update(self.additional_properties)
19        field_dict.update({})
20
21        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
23    @classmethod
24    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
25        d = src_dict.copy()
26        reference_type_validation_item = cls()
27
28        reference_type_validation_item.additional_properties = d
29        return reference_type_validation_item
additional_keys: List[str]
31    @property
32    def additional_keys(self) -> List[str]:
33        return list(self.additional_properties.keys())
class RepositoryType(builtins.str, enum.Enum):
 5class RepositoryType(str, Enum):
 6    AWS = "AWS"
 7    GITHUB_PRIVATE = "GITHUB_PRIVATE"
 8    GITHUB_PUBLIC = "GITHUB_PUBLIC"
 9    NONE = "NONE"
10
11    def __str__(self) -> str:
12        return str(self.value)

str(object='') -> str str(bytes_or_buffer[, encoding[, errors]]) -> str

Create a new string object from the given object. If encoding or errors is specified, then the object must expose a data buffer that will be decoded using the given encoding and error handler. Otherwise, returns the result of object.__str__() (if defined) or repr(object). encoding defaults to sys.getdefaultencoding(). errors defaults to 'strict'.

AWS = <RepositoryType.AWS: 'AWS'>
GITHUB_PRIVATE = <RepositoryType.GITHUB_PRIVATE: 'GITHUB_PRIVATE'>
GITHUB_PUBLIC = <RepositoryType.GITHUB_PUBLIC: 'GITHUB_PUBLIC'>
NONE = <RepositoryType.NONE: 'NONE'>
Inherited Members
enum.Enum
name
value
builtins.str
encode
replace
split
rsplit
join
capitalize
casefold
title
center
count
expandtabs
find
partition
index
ljust
lower
lstrip
rfind
rindex
rjust
rstrip
rpartition
splitlines
strip
swapcase
translate
upper
startswith
endswith
removeprefix
removesuffix
isascii
islower
isupper
istitle
isspace
isdecimal
isdigit
isnumeric
isalpha
isalnum
isidentifier
isprintable
zfill
format
format_map
maketrans
class ResourcesInfo:
12@_attrs_define
13class ResourcesInfo:
14    """
15    Attributes:
16        commit (str):
17        date (datetime.datetime):
18        repository (str):
19        source_version (str):
20    """
21
22    commit: str
23    date: datetime.datetime
24    repository: str
25    source_version: str
26    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
27
28    def to_dict(self) -> Dict[str, Any]:
29        commit = self.commit
30
31        date = self.date.isoformat()
32
33        repository = self.repository
34
35        source_version = self.source_version
36
37        field_dict: Dict[str, Any] = {}
38        field_dict.update(self.additional_properties)
39        field_dict.update(
40            {
41                "commit": commit,
42                "date": date,
43                "repository": repository,
44                "sourceVersion": source_version,
45            }
46        )
47
48        return field_dict
49
50    @classmethod
51    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
52        d = src_dict.copy()
53        commit = d.pop("commit")
54
55        date = isoparse(d.pop("date"))
56
57        repository = d.pop("repository")
58
59        source_version = d.pop("sourceVersion")
60
61        resources_info = cls(
62            commit=commit,
63            date=date,
64            repository=repository,
65            source_version=source_version,
66        )
67
68        resources_info.additional_properties = d
69        return resources_info
70
71    @property
72    def additional_keys(self) -> List[str]:
73        return list(self.additional_properties.keys())
Attributes:
  • commit (str):
  • date (datetime.datetime):
  • repository (str):
  • source_version (str):
ResourcesInfo( commit: str, date: datetime.datetime, repository: str, source_version: str)
2def __init__(self, commit, date, repository, source_version):
3    self.commit = commit
4    self.date = date
5    self.repository = repository
6    self.source_version = source_version
7    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class ResourcesInfo.

commit: str
date: datetime.datetime
repository: str
source_version: str
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
28    def to_dict(self) -> Dict[str, Any]:
29        commit = self.commit
30
31        date = self.date.isoformat()
32
33        repository = self.repository
34
35        source_version = self.source_version
36
37        field_dict: Dict[str, Any] = {}
38        field_dict.update(self.additional_properties)
39        field_dict.update(
40            {
41                "commit": commit,
42                "date": date,
43                "repository": repository,
44                "sourceVersion": source_version,
45            }
46        )
47
48        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
50    @classmethod
51    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
52        d = src_dict.copy()
53        commit = d.pop("commit")
54
55        date = isoparse(d.pop("date"))
56
57        repository = d.pop("repository")
58
59        source_version = d.pop("sourceVersion")
60
61        resources_info = cls(
62            commit=commit,
63            date=date,
64            repository=repository,
65            source_version=source_version,
66        )
67
68        resources_info.additional_properties = d
69        return resources_info
additional_keys: List[str]
71    @property
72    def additional_keys(self) -> List[str]:
73        return list(self.additional_properties.keys())
class RunAnalysisRequest:
 16@_attrs_define
 17class RunAnalysisRequest:
 18    """
 19    Attributes:
 20        name (str): Name of the dataset
 21        process_id (str): Process ID of the workflow Example: process-nf-core-rnaseq-3_8.
 22        source_dataset_ids (List[str]): These datasets contain files that are inputs to this workflow.
 23        params (RunAnalysisRequestParams): Parameters used in workflow (can be empty)
 24        notification_emails (List[str]): Emails to notify upon workflow success or failure
 25        description (Union[None, Unset, str]): Description of the dataset (optional)
 26        resume_dataset_id (Union[None, Unset, str]): Used for caching task execution. If the parameters are the same as
 27            the dataset specified here, it will re-use the output to minimize duplicate work
 28    """
 29
 30    name: str
 31    process_id: str
 32    source_dataset_ids: List[str]
 33    params: "RunAnalysisRequestParams"
 34    notification_emails: List[str]
 35    description: Union[None, Unset, str] = UNSET
 36    resume_dataset_id: Union[None, Unset, str] = UNSET
 37    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
 38
 39    def to_dict(self) -> Dict[str, Any]:
 40        name = self.name
 41
 42        process_id = self.process_id
 43
 44        source_dataset_ids = self.source_dataset_ids
 45
 46        params = self.params.to_dict()
 47
 48        notification_emails = self.notification_emails
 49
 50        description: Union[None, Unset, str]
 51        if isinstance(self.description, Unset):
 52            description = UNSET
 53        else:
 54            description = self.description
 55
 56        resume_dataset_id: Union[None, Unset, str]
 57        if isinstance(self.resume_dataset_id, Unset):
 58            resume_dataset_id = UNSET
 59        else:
 60            resume_dataset_id = self.resume_dataset_id
 61
 62        field_dict: Dict[str, Any] = {}
 63        field_dict.update(self.additional_properties)
 64        field_dict.update(
 65            {
 66                "name": name,
 67                "processId": process_id,
 68                "sourceDatasetIds": source_dataset_ids,
 69                "params": params,
 70                "notificationEmails": notification_emails,
 71            }
 72        )
 73        if description is not UNSET:
 74            field_dict["description"] = description
 75        if resume_dataset_id is not UNSET:
 76            field_dict["resumeDatasetId"] = resume_dataset_id
 77
 78        return field_dict
 79
 80    @classmethod
 81    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 82        from ..models.run_analysis_request_params import RunAnalysisRequestParams
 83
 84        d = src_dict.copy()
 85        name = d.pop("name")
 86
 87        process_id = d.pop("processId")
 88
 89        source_dataset_ids = cast(List[str], d.pop("sourceDatasetIds"))
 90
 91        params = RunAnalysisRequestParams.from_dict(d.pop("params"))
 92
 93        notification_emails = cast(List[str], d.pop("notificationEmails"))
 94
 95        def _parse_description(data: object) -> Union[None, Unset, str]:
 96            if data is None:
 97                return data
 98            if isinstance(data, Unset):
 99                return data
100            return cast(Union[None, Unset, str], data)
101
102        description = _parse_description(d.pop("description", UNSET))
103
104        def _parse_resume_dataset_id(data: object) -> Union[None, Unset, str]:
105            if data is None:
106                return data
107            if isinstance(data, Unset):
108                return data
109            return cast(Union[None, Unset, str], data)
110
111        resume_dataset_id = _parse_resume_dataset_id(d.pop("resumeDatasetId", UNSET))
112
113        run_analysis_request = cls(
114            name=name,
115            process_id=process_id,
116            source_dataset_ids=source_dataset_ids,
117            params=params,
118            notification_emails=notification_emails,
119            description=description,
120            resume_dataset_id=resume_dataset_id,
121        )
122
123        run_analysis_request.additional_properties = d
124        return run_analysis_request
125
126    @property
127    def additional_keys(self) -> List[str]:
128        return list(self.additional_properties.keys())
Attributes:
  • name (str): Name of the dataset
  • process_id (str): Process ID of the workflow Example: process-nf-core-rnaseq-3_8.
  • source_dataset_ids (List[str]): These datasets contain files that are inputs to this workflow.
  • params (RunAnalysisRequestParams): Parameters used in workflow (can be empty)
  • notification_emails (List[str]): Emails to notify upon workflow success or failure
  • description (Union[None, Unset, str]): Description of the dataset (optional)
  • resume_dataset_id (Union[None, Unset, str]): Used for caching task execution. If the parameters are the same as the dataset specified here, it will re-use the output to minimize duplicate work
RunAnalysisRequest( name: str, process_id: str, source_dataset_ids: List[str], params: RunAnalysisRequestParams, notification_emails: List[str], description: Union[NoneType, cirro_api_client.v1.types.Unset, str] = <cirro_api_client.v1.types.Unset object>, resume_dataset_id: Union[NoneType, cirro_api_client.v1.types.Unset, str] = <cirro_api_client.v1.types.Unset object>)
 2def __init__(self, name, process_id, source_dataset_ids, params, notification_emails, description=attr_dict['description'].default, resume_dataset_id=attr_dict['resume_dataset_id'].default):
 3    self.name = name
 4    self.process_id = process_id
 5    self.source_dataset_ids = source_dataset_ids
 6    self.params = params
 7    self.notification_emails = notification_emails
 8    self.description = description
 9    self.resume_dataset_id = resume_dataset_id
10    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class RunAnalysisRequest.

name: str
process_id: str
source_dataset_ids: List[str]
notification_emails: List[str]
description: Union[NoneType, cirro_api_client.v1.types.Unset, str]
resume_dataset_id: Union[NoneType, cirro_api_client.v1.types.Unset, str]
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
39    def to_dict(self) -> Dict[str, Any]:
40        name = self.name
41
42        process_id = self.process_id
43
44        source_dataset_ids = self.source_dataset_ids
45
46        params = self.params.to_dict()
47
48        notification_emails = self.notification_emails
49
50        description: Union[None, Unset, str]
51        if isinstance(self.description, Unset):
52            description = UNSET
53        else:
54            description = self.description
55
56        resume_dataset_id: Union[None, Unset, str]
57        if isinstance(self.resume_dataset_id, Unset):
58            resume_dataset_id = UNSET
59        else:
60            resume_dataset_id = self.resume_dataset_id
61
62        field_dict: Dict[str, Any] = {}
63        field_dict.update(self.additional_properties)
64        field_dict.update(
65            {
66                "name": name,
67                "processId": process_id,
68                "sourceDatasetIds": source_dataset_ids,
69                "params": params,
70                "notificationEmails": notification_emails,
71            }
72        )
73        if description is not UNSET:
74            field_dict["description"] = description
75        if resume_dataset_id is not UNSET:
76            field_dict["resumeDatasetId"] = resume_dataset_id
77
78        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
 80    @classmethod
 81    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 82        from ..models.run_analysis_request_params import RunAnalysisRequestParams
 83
 84        d = src_dict.copy()
 85        name = d.pop("name")
 86
 87        process_id = d.pop("processId")
 88
 89        source_dataset_ids = cast(List[str], d.pop("sourceDatasetIds"))
 90
 91        params = RunAnalysisRequestParams.from_dict(d.pop("params"))
 92
 93        notification_emails = cast(List[str], d.pop("notificationEmails"))
 94
 95        def _parse_description(data: object) -> Union[None, Unset, str]:
 96            if data is None:
 97                return data
 98            if isinstance(data, Unset):
 99                return data
100            return cast(Union[None, Unset, str], data)
101
102        description = _parse_description(d.pop("description", UNSET))
103
104        def _parse_resume_dataset_id(data: object) -> Union[None, Unset, str]:
105            if data is None:
106                return data
107            if isinstance(data, Unset):
108                return data
109            return cast(Union[None, Unset, str], data)
110
111        resume_dataset_id = _parse_resume_dataset_id(d.pop("resumeDatasetId", UNSET))
112
113        run_analysis_request = cls(
114            name=name,
115            process_id=process_id,
116            source_dataset_ids=source_dataset_ids,
117            params=params,
118            notification_emails=notification_emails,
119            description=description,
120            resume_dataset_id=resume_dataset_id,
121        )
122
123        run_analysis_request.additional_properties = d
124        return run_analysis_request
additional_keys: List[str]
126    @property
127    def additional_keys(self) -> List[str]:
128        return list(self.additional_properties.keys())
class RunAnalysisRequestParams:
10@_attrs_define
11class RunAnalysisRequestParams:
12    """Parameters used in workflow (can be empty)"""
13
14    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
15
16    def to_dict(self) -> Dict[str, Any]:
17        field_dict: Dict[str, Any] = {}
18        field_dict.update(self.additional_properties)
19        field_dict.update({})
20
21        return field_dict
22
23    @classmethod
24    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
25        d = src_dict.copy()
26        run_analysis_request_params = cls()
27
28        run_analysis_request_params.additional_properties = d
29        return run_analysis_request_params
30
31    @property
32    def additional_keys(self) -> List[str]:
33        return list(self.additional_properties.keys())

Parameters used in workflow (can be empty)

RunAnalysisRequestParams()
2def __init__(self, ):
3    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class RunAnalysisRequestParams.

additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
16    def to_dict(self) -> Dict[str, Any]:
17        field_dict: Dict[str, Any] = {}
18        field_dict.update(self.additional_properties)
19        field_dict.update({})
20
21        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
23    @classmethod
24    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
25        d = src_dict.copy()
26        run_analysis_request_params = cls()
27
28        run_analysis_request_params.additional_properties = d
29        return run_analysis_request_params
additional_keys: List[str]
31    @property
32    def additional_keys(self) -> List[str]:
33        return list(self.additional_properties.keys())
class Sample:
16@_attrs_define
17class Sample:
18    """
19    Attributes:
20        id (str):
21        name (str):
22        metadata (SampleMetadata):
23        dataset_ids (List[str]):
24        created_at (datetime.datetime):
25        updated_at (datetime.datetime):
26    """
27
28    id: str
29    name: str
30    metadata: "SampleMetadata"
31    dataset_ids: List[str]
32    created_at: datetime.datetime
33    updated_at: datetime.datetime
34    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
35
36    def to_dict(self) -> Dict[str, Any]:
37        id = self.id
38
39        name = self.name
40
41        metadata = self.metadata.to_dict()
42
43        dataset_ids = self.dataset_ids
44
45        created_at = self.created_at.isoformat()
46
47        updated_at = self.updated_at.isoformat()
48
49        field_dict: Dict[str, Any] = {}
50        field_dict.update(self.additional_properties)
51        field_dict.update(
52            {
53                "id": id,
54                "name": name,
55                "metadata": metadata,
56                "datasetIds": dataset_ids,
57                "createdAt": created_at,
58                "updatedAt": updated_at,
59            }
60        )
61
62        return field_dict
63
64    @classmethod
65    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
66        from ..models.sample_metadata import SampleMetadata
67
68        d = src_dict.copy()
69        id = d.pop("id")
70
71        name = d.pop("name")
72
73        metadata = SampleMetadata.from_dict(d.pop("metadata"))
74
75        dataset_ids = cast(List[str], d.pop("datasetIds"))
76
77        created_at = isoparse(d.pop("createdAt"))
78
79        updated_at = isoparse(d.pop("updatedAt"))
80
81        sample = cls(
82            id=id,
83            name=name,
84            metadata=metadata,
85            dataset_ids=dataset_ids,
86            created_at=created_at,
87            updated_at=updated_at,
88        )
89
90        sample.additional_properties = d
91        return sample
92
93    @property
94    def additional_keys(self) -> List[str]:
95        return list(self.additional_properties.keys())
Attributes:
  • id (str):
  • name (str):
  • metadata (SampleMetadata):
  • dataset_ids (List[str]):
  • created_at (datetime.datetime):
  • updated_at (datetime.datetime):
Sample( id: str, name: str, metadata: SampleMetadata, dataset_ids: List[str], created_at: datetime.datetime, updated_at: datetime.datetime)
2def __init__(self, id, name, metadata, dataset_ids, created_at, updated_at):
3    self.id = id
4    self.name = name
5    self.metadata = metadata
6    self.dataset_ids = dataset_ids
7    self.created_at = created_at
8    self.updated_at = updated_at
9    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class Sample.

id: str
name: str
metadata: SampleMetadata
dataset_ids: List[str]
created_at: datetime.datetime
updated_at: datetime.datetime
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
36    def to_dict(self) -> Dict[str, Any]:
37        id = self.id
38
39        name = self.name
40
41        metadata = self.metadata.to_dict()
42
43        dataset_ids = self.dataset_ids
44
45        created_at = self.created_at.isoformat()
46
47        updated_at = self.updated_at.isoformat()
48
49        field_dict: Dict[str, Any] = {}
50        field_dict.update(self.additional_properties)
51        field_dict.update(
52            {
53                "id": id,
54                "name": name,
55                "metadata": metadata,
56                "datasetIds": dataset_ids,
57                "createdAt": created_at,
58                "updatedAt": updated_at,
59            }
60        )
61
62        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
64    @classmethod
65    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
66        from ..models.sample_metadata import SampleMetadata
67
68        d = src_dict.copy()
69        id = d.pop("id")
70
71        name = d.pop("name")
72
73        metadata = SampleMetadata.from_dict(d.pop("metadata"))
74
75        dataset_ids = cast(List[str], d.pop("datasetIds"))
76
77        created_at = isoparse(d.pop("createdAt"))
78
79        updated_at = isoparse(d.pop("updatedAt"))
80
81        sample = cls(
82            id=id,
83            name=name,
84            metadata=metadata,
85            dataset_ids=dataset_ids,
86            created_at=created_at,
87            updated_at=updated_at,
88        )
89
90        sample.additional_properties = d
91        return sample
additional_keys: List[str]
93    @property
94    def additional_keys(self) -> List[str]:
95        return list(self.additional_properties.keys())
class SampleMetadata:
10@_attrs_define
11class SampleMetadata:
12    """ """
13
14    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
15
16    def to_dict(self) -> Dict[str, Any]:
17        field_dict: Dict[str, Any] = {}
18        field_dict.update(self.additional_properties)
19        field_dict.update({})
20
21        return field_dict
22
23    @classmethod
24    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
25        d = src_dict.copy()
26        sample_metadata = cls()
27
28        sample_metadata.additional_properties = d
29        return sample_metadata
30
31    @property
32    def additional_keys(self) -> List[str]:
33        return list(self.additional_properties.keys())
SampleMetadata()
2def __init__(self, ):
3    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class SampleMetadata.

additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
16    def to_dict(self) -> Dict[str, Any]:
17        field_dict: Dict[str, Any] = {}
18        field_dict.update(self.additional_properties)
19        field_dict.update({})
20
21        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
23    @classmethod
24    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
25        d = src_dict.copy()
26        sample_metadata = cls()
27
28        sample_metadata.additional_properties = d
29        return sample_metadata
additional_keys: List[str]
31    @property
32    def additional_keys(self) -> List[str]:
33        return list(self.additional_properties.keys())
class SampleRequest:
14@_attrs_define
15class SampleRequest:
16    """
17    Attributes:
18        name (str):
19        metadata (SampleRequestMetadata):
20    """
21
22    name: str
23    metadata: "SampleRequestMetadata"
24    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
25
26    def to_dict(self) -> Dict[str, Any]:
27        name = self.name
28
29        metadata = self.metadata.to_dict()
30
31        field_dict: Dict[str, Any] = {}
32        field_dict.update(self.additional_properties)
33        field_dict.update(
34            {
35                "name": name,
36                "metadata": metadata,
37            }
38        )
39
40        return field_dict
41
42    @classmethod
43    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
44        from ..models.sample_request_metadata import SampleRequestMetadata
45
46        d = src_dict.copy()
47        name = d.pop("name")
48
49        metadata = SampleRequestMetadata.from_dict(d.pop("metadata"))
50
51        sample_request = cls(
52            name=name,
53            metadata=metadata,
54        )
55
56        sample_request.additional_properties = d
57        return sample_request
58
59    @property
60    def additional_keys(self) -> List[str]:
61        return list(self.additional_properties.keys())
Attributes:
  • name (str):
  • metadata (SampleRequestMetadata):
SampleRequest( name: str, metadata: SampleRequestMetadata)
2def __init__(self, name, metadata):
3    self.name = name
4    self.metadata = metadata
5    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class SampleRequest.

name: str
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
26    def to_dict(self) -> Dict[str, Any]:
27        name = self.name
28
29        metadata = self.metadata.to_dict()
30
31        field_dict: Dict[str, Any] = {}
32        field_dict.update(self.additional_properties)
33        field_dict.update(
34            {
35                "name": name,
36                "metadata": metadata,
37            }
38        )
39
40        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
42    @classmethod
43    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
44        from ..models.sample_request_metadata import SampleRequestMetadata
45
46        d = src_dict.copy()
47        name = d.pop("name")
48
49        metadata = SampleRequestMetadata.from_dict(d.pop("metadata"))
50
51        sample_request = cls(
52            name=name,
53            metadata=metadata,
54        )
55
56        sample_request.additional_properties = d
57        return sample_request
additional_keys: List[str]
59    @property
60    def additional_keys(self) -> List[str]:
61        return list(self.additional_properties.keys())
class SampleRequestMetadata:
10@_attrs_define
11class SampleRequestMetadata:
12    """ """
13
14    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
15
16    def to_dict(self) -> Dict[str, Any]:
17        field_dict: Dict[str, Any] = {}
18        field_dict.update(self.additional_properties)
19        field_dict.update({})
20
21        return field_dict
22
23    @classmethod
24    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
25        d = src_dict.copy()
26        sample_request_metadata = cls()
27
28        sample_request_metadata.additional_properties = d
29        return sample_request_metadata
30
31    @property
32    def additional_keys(self) -> List[str]:
33        return list(self.additional_properties.keys())
SampleRequestMetadata()
2def __init__(self, ):
3    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class SampleRequestMetadata.

additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
16    def to_dict(self) -> Dict[str, Any]:
17        field_dict: Dict[str, Any] = {}
18        field_dict.update(self.additional_properties)
19        field_dict.update({})
20
21        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
23    @classmethod
24    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
25        d = src_dict.copy()
26        sample_request_metadata = cls()
27
28        sample_request_metadata.additional_properties = d
29        return sample_request_metadata
additional_keys: List[str]
31    @property
32    def additional_keys(self) -> List[str]:
33        return list(self.additional_properties.keys())
class ServiceConnection:
10@_attrs_define
11class ServiceConnection:
12    """
13    Attributes:
14        name (str):
15        description (str):
16    """
17
18    name: str
19    description: str
20    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
21
22    def to_dict(self) -> Dict[str, Any]:
23        name = self.name
24
25        description = self.description
26
27        field_dict: Dict[str, Any] = {}
28        field_dict.update(self.additional_properties)
29        field_dict.update(
30            {
31                "name": name,
32                "description": description,
33            }
34        )
35
36        return field_dict
37
38    @classmethod
39    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
40        d = src_dict.copy()
41        name = d.pop("name")
42
43        description = d.pop("description")
44
45        service_connection = cls(
46            name=name,
47            description=description,
48        )
49
50        service_connection.additional_properties = d
51        return service_connection
52
53    @property
54    def additional_keys(self) -> List[str]:
55        return list(self.additional_properties.keys())
Attributes:
  • name (str):
  • description (str):
ServiceConnection(name: str, description: str)
2def __init__(self, name, description):
3    self.name = name
4    self.description = description
5    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class ServiceConnection.

name: str
description: str
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
22    def to_dict(self) -> Dict[str, Any]:
23        name = self.name
24
25        description = self.description
26
27        field_dict: Dict[str, Any] = {}
28        field_dict.update(self.additional_properties)
29        field_dict.update(
30            {
31                "name": name,
32                "description": description,
33            }
34        )
35
36        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
38    @classmethod
39    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
40        d = src_dict.copy()
41        name = d.pop("name")
42
43        description = d.pop("description")
44
45        service_connection = cls(
46            name=name,
47            description=description,
48        )
49
50        service_connection.additional_properties = d
51        return service_connection
additional_keys: List[str]
53    @property
54    def additional_keys(self) -> List[str]:
55        return list(self.additional_properties.keys())
class SetUserProjectRoleRequest:
13@_attrs_define
14class SetUserProjectRoleRequest:
15    """
16    Attributes:
17        username (str):
18        role (ProjectRole):
19        supress_notification (Union[Unset, bool]):  Default: False.
20    """
21
22    username: str
23    role: ProjectRole
24    supress_notification: Union[Unset, bool] = False
25    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
26
27    def to_dict(self) -> Dict[str, Any]:
28        username = self.username
29
30        role = self.role.value
31
32        supress_notification = self.supress_notification
33
34        field_dict: Dict[str, Any] = {}
35        field_dict.update(self.additional_properties)
36        field_dict.update(
37            {
38                "username": username,
39                "role": role,
40            }
41        )
42        if supress_notification is not UNSET:
43            field_dict["supressNotification"] = supress_notification
44
45        return field_dict
46
47    @classmethod
48    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
49        d = src_dict.copy()
50        username = d.pop("username")
51
52        role = ProjectRole(d.pop("role"))
53
54        supress_notification = d.pop("supressNotification", UNSET)
55
56        set_user_project_role_request = cls(
57            username=username,
58            role=role,
59            supress_notification=supress_notification,
60        )
61
62        set_user_project_role_request.additional_properties = d
63        return set_user_project_role_request
64
65    @property
66    def additional_keys(self) -> List[str]:
67        return list(self.additional_properties.keys())
Attributes:
  • username (str):
  • role (ProjectRole):
  • supress_notification (Union[Unset, bool]): Default: False.
SetUserProjectRoleRequest( username: str, role: ProjectRole, supress_notification: Union[cirro_api_client.v1.types.Unset, bool] = False)
2def __init__(self, username, role, supress_notification=attr_dict['supress_notification'].default):
3    self.username = username
4    self.role = role
5    self.supress_notification = supress_notification
6    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class SetUserProjectRoleRequest.

username: str
role: ProjectRole
supress_notification: Union[cirro_api_client.v1.types.Unset, bool]
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
27    def to_dict(self) -> Dict[str, Any]:
28        username = self.username
29
30        role = self.role.value
31
32        supress_notification = self.supress_notification
33
34        field_dict: Dict[str, Any] = {}
35        field_dict.update(self.additional_properties)
36        field_dict.update(
37            {
38                "username": username,
39                "role": role,
40            }
41        )
42        if supress_notification is not UNSET:
43            field_dict["supressNotification"] = supress_notification
44
45        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
47    @classmethod
48    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
49        d = src_dict.copy()
50        username = d.pop("username")
51
52        role = ProjectRole(d.pop("role"))
53
54        supress_notification = d.pop("supressNotification", UNSET)
55
56        set_user_project_role_request = cls(
57            username=username,
58            role=role,
59            supress_notification=supress_notification,
60        )
61
62        set_user_project_role_request.additional_properties = d
63        return set_user_project_role_request
additional_keys: List[str]
65    @property
66    def additional_keys(self) -> List[str]:
67        return list(self.additional_properties.keys())
class SftpCredentials:
12@_attrs_define
13class SftpCredentials:
14    """
15    Attributes:
16        username (str):
17        password (str):
18        project_id (str):
19        expires_at (datetime.datetime):
20    """
21
22    username: str
23    password: str
24    project_id: str
25    expires_at: datetime.datetime
26    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
27
28    def to_dict(self) -> Dict[str, Any]:
29        username = self.username
30
31        password = self.password
32
33        project_id = self.project_id
34
35        expires_at = self.expires_at.isoformat()
36
37        field_dict: Dict[str, Any] = {}
38        field_dict.update(self.additional_properties)
39        field_dict.update(
40            {
41                "username": username,
42                "password": password,
43                "projectId": project_id,
44                "expiresAt": expires_at,
45            }
46        )
47
48        return field_dict
49
50    @classmethod
51    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
52        d = src_dict.copy()
53        username = d.pop("username")
54
55        password = d.pop("password")
56
57        project_id = d.pop("projectId")
58
59        expires_at = isoparse(d.pop("expiresAt"))
60
61        sftp_credentials = cls(
62            username=username,
63            password=password,
64            project_id=project_id,
65            expires_at=expires_at,
66        )
67
68        sftp_credentials.additional_properties = d
69        return sftp_credentials
70
71    @property
72    def additional_keys(self) -> List[str]:
73        return list(self.additional_properties.keys())
Attributes:
  • username (str):
  • password (str):
  • project_id (str):
  • expires_at (datetime.datetime):
SftpCredentials( username: str, password: str, project_id: str, expires_at: datetime.datetime)
2def __init__(self, username, password, project_id, expires_at):
3    self.username = username
4    self.password = password
5    self.project_id = project_id
6    self.expires_at = expires_at
7    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class SftpCredentials.

username: str
password: str
project_id: str
expires_at: datetime.datetime
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
28    def to_dict(self) -> Dict[str, Any]:
29        username = self.username
30
31        password = self.password
32
33        project_id = self.project_id
34
35        expires_at = self.expires_at.isoformat()
36
37        field_dict: Dict[str, Any] = {}
38        field_dict.update(self.additional_properties)
39        field_dict.update(
40            {
41                "username": username,
42                "password": password,
43                "projectId": project_id,
44                "expiresAt": expires_at,
45            }
46        )
47
48        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
50    @classmethod
51    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
52        d = src_dict.copy()
53        username = d.pop("username")
54
55        password = d.pop("password")
56
57        project_id = d.pop("projectId")
58
59        expires_at = isoparse(d.pop("expiresAt"))
60
61        sftp_credentials = cls(
62            username=username,
63            password=password,
64            project_id=project_id,
65            expires_at=expires_at,
66        )
67
68        sftp_credentials.additional_properties = d
69        return sftp_credentials
additional_keys: List[str]
71    @property
72    def additional_keys(self) -> List[str]:
73        return list(self.additional_properties.keys())
class Status(builtins.str, enum.Enum):
 5class Status(str, Enum):
 6    ARCHIVED = "ARCHIVED"
 7    COMPLETED = "COMPLETED"
 8    DELETE = "DELETE"
 9    DELETED = "DELETED"
10    DELETING = "DELETING"
11    FAILED = "FAILED"
12    PENDING = "PENDING"
13    RUNNING = "RUNNING"
14    SUSPENDED = "SUSPENDED"
15
16    def __str__(self) -> str:
17        return str(self.value)

str(object='') -> str str(bytes_or_buffer[, encoding[, errors]]) -> str

Create a new string object from the given object. If encoding or errors is specified, then the object must expose a data buffer that will be decoded using the given encoding and error handler. Otherwise, returns the result of object.__str__() (if defined) or repr(object). encoding defaults to sys.getdefaultencoding(). errors defaults to 'strict'.

ARCHIVED = <Status.ARCHIVED: 'ARCHIVED'>
COMPLETED = <Status.COMPLETED: 'COMPLETED'>
DELETE = <Status.DELETE: 'DELETE'>
DELETED = <Status.DELETED: 'DELETED'>
DELETING = <Status.DELETING: 'DELETING'>
FAILED = <Status.FAILED: 'FAILED'>
PENDING = <Status.PENDING: 'PENDING'>
RUNNING = <Status.RUNNING: 'RUNNING'>
SUSPENDED = <Status.SUSPENDED: 'SUSPENDED'>
Inherited Members
enum.Enum
name
value
builtins.str
encode
replace
split
rsplit
join
capitalize
casefold
title
center
count
expandtabs
find
partition
index
ljust
lower
lstrip
rfind
rindex
rjust
rstrip
rpartition
splitlines
strip
swapcase
translate
upper
startswith
endswith
removeprefix
removesuffix
isascii
islower
isupper
istitle
isspace
isdecimal
isdigit
isnumeric
isalpha
isalnum
isidentifier
isprintable
zfill
format
format_map
maketrans
class StopExecutionResponse:
12@_attrs_define
13class StopExecutionResponse:
14    """
15    Attributes:
16        success (Union[Unset, List[str]]): List of job IDs that were successful in termination
17        failed (Union[Unset, List[str]]): List of job IDs that were not successful in termination
18    """
19
20    success: Union[Unset, List[str]] = UNSET
21    failed: Union[Unset, List[str]] = UNSET
22    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
23
24    def to_dict(self) -> Dict[str, Any]:
25        success: Union[Unset, List[str]] = UNSET
26        if not isinstance(self.success, Unset):
27            success = self.success
28
29        failed: Union[Unset, List[str]] = UNSET
30        if not isinstance(self.failed, Unset):
31            failed = self.failed
32
33        field_dict: Dict[str, Any] = {}
34        field_dict.update(self.additional_properties)
35        field_dict.update({})
36        if success is not UNSET:
37            field_dict["success"] = success
38        if failed is not UNSET:
39            field_dict["failed"] = failed
40
41        return field_dict
42
43    @classmethod
44    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
45        d = src_dict.copy()
46        success = cast(List[str], d.pop("success", UNSET))
47
48        failed = cast(List[str], d.pop("failed", UNSET))
49
50        stop_execution_response = cls(
51            success=success,
52            failed=failed,
53        )
54
55        stop_execution_response.additional_properties = d
56        return stop_execution_response
57
58    @property
59    def additional_keys(self) -> List[str]:
60        return list(self.additional_properties.keys())
Attributes:
  • success (Union[Unset, List[str]]): List of job IDs that were successful in termination
  • failed (Union[Unset, List[str]]): List of job IDs that were not successful in termination
StopExecutionResponse( success: Union[cirro_api_client.v1.types.Unset, List[str]] = <cirro_api_client.v1.types.Unset object>, failed: Union[cirro_api_client.v1.types.Unset, List[str]] = <cirro_api_client.v1.types.Unset object>)
2def __init__(self, success=attr_dict['success'].default, failed=attr_dict['failed'].default):
3    self.success = success
4    self.failed = failed
5    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class StopExecutionResponse.

success: Union[cirro_api_client.v1.types.Unset, List[str]]
failed: Union[cirro_api_client.v1.types.Unset, List[str]]
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
24    def to_dict(self) -> Dict[str, Any]:
25        success: Union[Unset, List[str]] = UNSET
26        if not isinstance(self.success, Unset):
27            success = self.success
28
29        failed: Union[Unset, List[str]] = UNSET
30        if not isinstance(self.failed, Unset):
31            failed = self.failed
32
33        field_dict: Dict[str, Any] = {}
34        field_dict.update(self.additional_properties)
35        field_dict.update({})
36        if success is not UNSET:
37            field_dict["success"] = success
38        if failed is not UNSET:
39            field_dict["failed"] = failed
40
41        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
43    @classmethod
44    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
45        d = src_dict.copy()
46        success = cast(List[str], d.pop("success", UNSET))
47
48        failed = cast(List[str], d.pop("failed", UNSET))
49
50        stop_execution_response = cls(
51            success=success,
52            failed=failed,
53        )
54
55        stop_execution_response.additional_properties = d
56        return stop_execution_response
additional_keys: List[str]
58    @property
59    def additional_keys(self) -> List[str]:
60        return list(self.additional_properties.keys())
class SyncStatus(builtins.str, enum.Enum):
 5class SyncStatus(str, Enum):
 6    FAILED = "FAILED"
 7    SUCCESSFUL = "SUCCESSFUL"
 8
 9    def __str__(self) -> str:
10        return str(self.value)

str(object='') -> str str(bytes_or_buffer[, encoding[, errors]]) -> str

Create a new string object from the given object. If encoding or errors is specified, then the object must expose a data buffer that will be decoded using the given encoding and error handler. Otherwise, returns the result of object.__str__() (if defined) or repr(object). encoding defaults to sys.getdefaultencoding(). errors defaults to 'strict'.

FAILED = <SyncStatus.FAILED: 'FAILED'>
SUCCESSFUL = <SyncStatus.SUCCESSFUL: 'SUCCESSFUL'>
Inherited Members
enum.Enum
name
value
builtins.str
encode
replace
split
rsplit
join
capitalize
casefold
title
center
count
expandtabs
find
partition
index
ljust
lower
lstrip
rfind
rindex
rjust
rstrip
rpartition
splitlines
strip
swapcase
translate
upper
startswith
endswith
removeprefix
removesuffix
isascii
islower
isupper
istitle
isspace
isdecimal
isdigit
isnumeric
isalpha
isalnum
isidentifier
isprintable
zfill
format
format_map
maketrans
class SystemInfoResponse:
 16@_attrs_define
 17class SystemInfoResponse:
 18    """
 19    Attributes:
 20        resources_bucket (str):
 21        references_bucket (str):
 22        live_endpoint (str):
 23        region (str):
 24        system_message (str):
 25        maintenance_mode_enabled (bool):
 26        commit_hash (str):
 27        version (str):
 28        resources_info (ResourcesInfo):
 29        tenant_info (TenantInfo):
 30        auth (AuthInfo):
 31    """
 32
 33    resources_bucket: str
 34    references_bucket: str
 35    live_endpoint: str
 36    region: str
 37    system_message: str
 38    maintenance_mode_enabled: bool
 39    commit_hash: str
 40    version: str
 41    resources_info: "ResourcesInfo"
 42    tenant_info: "TenantInfo"
 43    auth: "AuthInfo"
 44    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
 45
 46    def to_dict(self) -> Dict[str, Any]:
 47        resources_bucket = self.resources_bucket
 48
 49        references_bucket = self.references_bucket
 50
 51        live_endpoint = self.live_endpoint
 52
 53        region = self.region
 54
 55        system_message = self.system_message
 56
 57        maintenance_mode_enabled = self.maintenance_mode_enabled
 58
 59        commit_hash = self.commit_hash
 60
 61        version = self.version
 62
 63        resources_info = self.resources_info.to_dict()
 64
 65        tenant_info = self.tenant_info.to_dict()
 66
 67        auth = self.auth.to_dict()
 68
 69        field_dict: Dict[str, Any] = {}
 70        field_dict.update(self.additional_properties)
 71        field_dict.update(
 72            {
 73                "resourcesBucket": resources_bucket,
 74                "referencesBucket": references_bucket,
 75                "liveEndpoint": live_endpoint,
 76                "region": region,
 77                "systemMessage": system_message,
 78                "maintenanceModeEnabled": maintenance_mode_enabled,
 79                "commitHash": commit_hash,
 80                "version": version,
 81                "resourcesInfo": resources_info,
 82                "tenantInfo": tenant_info,
 83                "auth": auth,
 84            }
 85        )
 86
 87        return field_dict
 88
 89    @classmethod
 90    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 91        from ..models.auth_info import AuthInfo
 92        from ..models.resources_info import ResourcesInfo
 93        from ..models.tenant_info import TenantInfo
 94
 95        d = src_dict.copy()
 96        resources_bucket = d.pop("resourcesBucket")
 97
 98        references_bucket = d.pop("referencesBucket")
 99
100        live_endpoint = d.pop("liveEndpoint")
101
102        region = d.pop("region")
103
104        system_message = d.pop("systemMessage")
105
106        maintenance_mode_enabled = d.pop("maintenanceModeEnabled")
107
108        commit_hash = d.pop("commitHash")
109
110        version = d.pop("version")
111
112        resources_info = ResourcesInfo.from_dict(d.pop("resourcesInfo"))
113
114        tenant_info = TenantInfo.from_dict(d.pop("tenantInfo"))
115
116        auth = AuthInfo.from_dict(d.pop("auth"))
117
118        system_info_response = cls(
119            resources_bucket=resources_bucket,
120            references_bucket=references_bucket,
121            live_endpoint=live_endpoint,
122            region=region,
123            system_message=system_message,
124            maintenance_mode_enabled=maintenance_mode_enabled,
125            commit_hash=commit_hash,
126            version=version,
127            resources_info=resources_info,
128            tenant_info=tenant_info,
129            auth=auth,
130        )
131
132        system_info_response.additional_properties = d
133        return system_info_response
134
135    @property
136    def additional_keys(self) -> List[str]:
137        return list(self.additional_properties.keys())
Attributes:
  • resources_bucket (str):
  • references_bucket (str):
  • live_endpoint (str):
  • region (str):
  • system_message (str):
  • maintenance_mode_enabled (bool):
  • commit_hash (str):
  • version (str):
  • resources_info (ResourcesInfo):
  • tenant_info (TenantInfo):
  • auth (AuthInfo):
SystemInfoResponse( resources_bucket: str, references_bucket: str, live_endpoint: str, region: str, system_message: str, maintenance_mode_enabled: bool, commit_hash: str, version: str, resources_info: ResourcesInfo, tenant_info: TenantInfo, auth: AuthInfo)
 2def __init__(self, resources_bucket, references_bucket, live_endpoint, region, system_message, maintenance_mode_enabled, commit_hash, version, resources_info, tenant_info, auth):
 3    self.resources_bucket = resources_bucket
 4    self.references_bucket = references_bucket
 5    self.live_endpoint = live_endpoint
 6    self.region = region
 7    self.system_message = system_message
 8    self.maintenance_mode_enabled = maintenance_mode_enabled
 9    self.commit_hash = commit_hash
10    self.version = version
11    self.resources_info = resources_info
12    self.tenant_info = tenant_info
13    self.auth = auth
14    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class SystemInfoResponse.

resources_bucket: str
references_bucket: str
live_endpoint: str
region: str
system_message: str
maintenance_mode_enabled: bool
commit_hash: str
version: str
resources_info: ResourcesInfo
tenant_info: TenantInfo
auth: AuthInfo
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
46    def to_dict(self) -> Dict[str, Any]:
47        resources_bucket = self.resources_bucket
48
49        references_bucket = self.references_bucket
50
51        live_endpoint = self.live_endpoint
52
53        region = self.region
54
55        system_message = self.system_message
56
57        maintenance_mode_enabled = self.maintenance_mode_enabled
58
59        commit_hash = self.commit_hash
60
61        version = self.version
62
63        resources_info = self.resources_info.to_dict()
64
65        tenant_info = self.tenant_info.to_dict()
66
67        auth = self.auth.to_dict()
68
69        field_dict: Dict[str, Any] = {}
70        field_dict.update(self.additional_properties)
71        field_dict.update(
72            {
73                "resourcesBucket": resources_bucket,
74                "referencesBucket": references_bucket,
75                "liveEndpoint": live_endpoint,
76                "region": region,
77                "systemMessage": system_message,
78                "maintenanceModeEnabled": maintenance_mode_enabled,
79                "commitHash": commit_hash,
80                "version": version,
81                "resourcesInfo": resources_info,
82                "tenantInfo": tenant_info,
83                "auth": auth,
84            }
85        )
86
87        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
 89    @classmethod
 90    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 91        from ..models.auth_info import AuthInfo
 92        from ..models.resources_info import ResourcesInfo
 93        from ..models.tenant_info import TenantInfo
 94
 95        d = src_dict.copy()
 96        resources_bucket = d.pop("resourcesBucket")
 97
 98        references_bucket = d.pop("referencesBucket")
 99
100        live_endpoint = d.pop("liveEndpoint")
101
102        region = d.pop("region")
103
104        system_message = d.pop("systemMessage")
105
106        maintenance_mode_enabled = d.pop("maintenanceModeEnabled")
107
108        commit_hash = d.pop("commitHash")
109
110        version = d.pop("version")
111
112        resources_info = ResourcesInfo.from_dict(d.pop("resourcesInfo"))
113
114        tenant_info = TenantInfo.from_dict(d.pop("tenantInfo"))
115
116        auth = AuthInfo.from_dict(d.pop("auth"))
117
118        system_info_response = cls(
119            resources_bucket=resources_bucket,
120            references_bucket=references_bucket,
121            live_endpoint=live_endpoint,
122            region=region,
123            system_message=system_message,
124            maintenance_mode_enabled=maintenance_mode_enabled,
125            commit_hash=commit_hash,
126            version=version,
127            resources_info=resources_info,
128            tenant_info=tenant_info,
129            auth=auth,
130        )
131
132        system_info_response.additional_properties = d
133        return system_info_response
additional_keys: List[str]
135    @property
136    def additional_keys(self) -> List[str]:
137        return list(self.additional_properties.keys())
class Table:
 16@_attrs_define
 17class Table:
 18    """
 19    Attributes:
 20        desc (str):
 21        name (Union[Unset, str]): User-friendly name of asset
 22        type (Union[Unset, str]): Type of file Example: parquet.
 23        rows (Union[Unset, int]): Number of rows in table
 24        path (Union[Unset, str]): Relative path to asset
 25        cols (Union[List['ColumnDefinition'], None, Unset]):
 26    """
 27
 28    desc: str
 29    name: Union[Unset, str] = UNSET
 30    type: Union[Unset, str] = UNSET
 31    rows: Union[Unset, int] = UNSET
 32    path: Union[Unset, str] = UNSET
 33    cols: Union[List["ColumnDefinition"], None, Unset] = UNSET
 34    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
 35
 36    def to_dict(self) -> Dict[str, Any]:
 37        desc = self.desc
 38
 39        name = self.name
 40
 41        type = self.type
 42
 43        rows = self.rows
 44
 45        path = self.path
 46
 47        cols: Union[List[Dict[str, Any]], None, Unset]
 48        if isinstance(self.cols, Unset):
 49            cols = UNSET
 50        elif isinstance(self.cols, list):
 51            cols = []
 52            for cols_type_0_item_data in self.cols:
 53                cols_type_0_item = cols_type_0_item_data.to_dict()
 54                cols.append(cols_type_0_item)
 55
 56        else:
 57            cols = self.cols
 58
 59        field_dict: Dict[str, Any] = {}
 60        field_dict.update(self.additional_properties)
 61        field_dict.update(
 62            {
 63                "desc": desc,
 64            }
 65        )
 66        if name is not UNSET:
 67            field_dict["name"] = name
 68        if type is not UNSET:
 69            field_dict["type"] = type
 70        if rows is not UNSET:
 71            field_dict["rows"] = rows
 72        if path is not UNSET:
 73            field_dict["path"] = path
 74        if cols is not UNSET:
 75            field_dict["cols"] = cols
 76
 77        return field_dict
 78
 79    @classmethod
 80    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 81        from ..models.column_definition import ColumnDefinition
 82
 83        d = src_dict.copy()
 84        desc = d.pop("desc")
 85
 86        name = d.pop("name", UNSET)
 87
 88        type = d.pop("type", UNSET)
 89
 90        rows = d.pop("rows", UNSET)
 91
 92        path = d.pop("path", UNSET)
 93
 94        def _parse_cols(data: object) -> Union[List["ColumnDefinition"], None, Unset]:
 95            if data is None:
 96                return data
 97            if isinstance(data, Unset):
 98                return data
 99            try:
100                if not isinstance(data, list):
101                    raise TypeError()
102                cols_type_0 = []
103                _cols_type_0 = data
104                for cols_type_0_item_data in _cols_type_0:
105                    cols_type_0_item = ColumnDefinition.from_dict(cols_type_0_item_data)
106
107                    cols_type_0.append(cols_type_0_item)
108
109                return cols_type_0
110            except:  # noqa: E722
111                pass
112            return cast(Union[List["ColumnDefinition"], None, Unset], data)
113
114        cols = _parse_cols(d.pop("cols", UNSET))
115
116        table = cls(
117            desc=desc,
118            name=name,
119            type=type,
120            rows=rows,
121            path=path,
122            cols=cols,
123        )
124
125        table.additional_properties = d
126        return table
127
128    @property
129    def additional_keys(self) -> List[str]:
130        return list(self.additional_properties.keys())
Attributes:
  • desc (str):
  • name (Union[Unset, str]): User-friendly name of asset
  • type (Union[Unset, str]): Type of file Example: parquet.
  • rows (Union[Unset, int]): Number of rows in table
  • path (Union[Unset, str]): Relative path to asset
  • cols (Union[List['ColumnDefinition'], None, Unset]):
Table( desc: str, name: Union[cirro_api_client.v1.types.Unset, str] = <cirro_api_client.v1.types.Unset object>, type: Union[cirro_api_client.v1.types.Unset, str] = <cirro_api_client.v1.types.Unset object>, rows: Union[cirro_api_client.v1.types.Unset, int] = <cirro_api_client.v1.types.Unset object>, path: Union[cirro_api_client.v1.types.Unset, str] = <cirro_api_client.v1.types.Unset object>, cols: Union[List[ColumnDefinition], NoneType, cirro_api_client.v1.types.Unset] = <cirro_api_client.v1.types.Unset object>)
2def __init__(self, desc, name=attr_dict['name'].default, type=attr_dict['type'].default, rows=attr_dict['rows'].default, path=attr_dict['path'].default, cols=attr_dict['cols'].default):
3    self.desc = desc
4    self.name = name
5    self.type = type
6    self.rows = rows
7    self.path = path
8    self.cols = cols
9    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class Table.

desc: str
name: Union[cirro_api_client.v1.types.Unset, str]
type: Union[cirro_api_client.v1.types.Unset, str]
rows: Union[cirro_api_client.v1.types.Unset, int]
path: Union[cirro_api_client.v1.types.Unset, str]
cols: Union[List[ColumnDefinition], NoneType, cirro_api_client.v1.types.Unset]
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
36    def to_dict(self) -> Dict[str, Any]:
37        desc = self.desc
38
39        name = self.name
40
41        type = self.type
42
43        rows = self.rows
44
45        path = self.path
46
47        cols: Union[List[Dict[str, Any]], None, Unset]
48        if isinstance(self.cols, Unset):
49            cols = UNSET
50        elif isinstance(self.cols, list):
51            cols = []
52            for cols_type_0_item_data in self.cols:
53                cols_type_0_item = cols_type_0_item_data.to_dict()
54                cols.append(cols_type_0_item)
55
56        else:
57            cols = self.cols
58
59        field_dict: Dict[str, Any] = {}
60        field_dict.update(self.additional_properties)
61        field_dict.update(
62            {
63                "desc": desc,
64            }
65        )
66        if name is not UNSET:
67            field_dict["name"] = name
68        if type is not UNSET:
69            field_dict["type"] = type
70        if rows is not UNSET:
71            field_dict["rows"] = rows
72        if path is not UNSET:
73            field_dict["path"] = path
74        if cols is not UNSET:
75            field_dict["cols"] = cols
76
77        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
 79    @classmethod
 80    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 81        from ..models.column_definition import ColumnDefinition
 82
 83        d = src_dict.copy()
 84        desc = d.pop("desc")
 85
 86        name = d.pop("name", UNSET)
 87
 88        type = d.pop("type", UNSET)
 89
 90        rows = d.pop("rows", UNSET)
 91
 92        path = d.pop("path", UNSET)
 93
 94        def _parse_cols(data: object) -> Union[List["ColumnDefinition"], None, Unset]:
 95            if data is None:
 96                return data
 97            if isinstance(data, Unset):
 98                return data
 99            try:
100                if not isinstance(data, list):
101                    raise TypeError()
102                cols_type_0 = []
103                _cols_type_0 = data
104                for cols_type_0_item_data in _cols_type_0:
105                    cols_type_0_item = ColumnDefinition.from_dict(cols_type_0_item_data)
106
107                    cols_type_0.append(cols_type_0_item)
108
109                return cols_type_0
110            except:  # noqa: E722
111                pass
112            return cast(Union[List["ColumnDefinition"], None, Unset], data)
113
114        cols = _parse_cols(d.pop("cols", UNSET))
115
116        table = cls(
117            desc=desc,
118            name=name,
119            type=type,
120            rows=rows,
121            path=path,
122            cols=cols,
123        )
124
125        table.additional_properties = d
126        return table
additional_keys: List[str]
128    @property
129    def additional_keys(self) -> List[str]:
130        return list(self.additional_properties.keys())
class Tag:
10@_attrs_define
11class Tag:
12    """
13    Attributes:
14        key (str):
15        value (str):
16        editable (bool):
17    """
18
19    key: str
20    value: str
21    editable: bool
22    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
23
24    def to_dict(self) -> Dict[str, Any]:
25        key = self.key
26
27        value = self.value
28
29        editable = self.editable
30
31        field_dict: Dict[str, Any] = {}
32        field_dict.update(self.additional_properties)
33        field_dict.update(
34            {
35                "key": key,
36                "value": value,
37                "editable": editable,
38            }
39        )
40
41        return field_dict
42
43    @classmethod
44    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
45        d = src_dict.copy()
46        key = d.pop("key")
47
48        value = d.pop("value")
49
50        editable = d.pop("editable")
51
52        tag = cls(
53            key=key,
54            value=value,
55            editable=editable,
56        )
57
58        tag.additional_properties = d
59        return tag
60
61    @property
62    def additional_keys(self) -> List[str]:
63        return list(self.additional_properties.keys())
Attributes:
  • key (str):
  • value (str):
  • editable (bool):
Tag(key: str, value: str, editable: bool)
2def __init__(self, key, value, editable):
3    self.key = key
4    self.value = value
5    self.editable = editable
6    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class Tag.

key: str
value: str
editable: bool
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
24    def to_dict(self) -> Dict[str, Any]:
25        key = self.key
26
27        value = self.value
28
29        editable = self.editable
30
31        field_dict: Dict[str, Any] = {}
32        field_dict.update(self.additional_properties)
33        field_dict.update(
34            {
35                "key": key,
36                "value": value,
37                "editable": editable,
38            }
39        )
40
41        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
43    @classmethod
44    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
45        d = src_dict.copy()
46        key = d.pop("key")
47
48        value = d.pop("value")
49
50        editable = d.pop("editable")
51
52        tag = cls(
53            key=key,
54            value=value,
55            editable=editable,
56        )
57
58        tag.additional_properties = d
59        return tag
additional_keys: List[str]
61    @property
62    def additional_keys(self) -> List[str]:
63        return list(self.additional_properties.keys())
class Task:
 14@_attrs_define
 15class Task:
 16    """
 17    Attributes:
 18        name (str):
 19        native_job_id (str):
 20        status (str):
 21        requested_at (datetime.datetime):
 22        stopped_at (Union[Unset, datetime.datetime]):
 23        container_image (Union[Unset, str]):
 24        command_line (Union[Unset, str]):
 25        log_location (Union[Unset, str]):
 26    """
 27
 28    name: str
 29    native_job_id: str
 30    status: str
 31    requested_at: datetime.datetime
 32    stopped_at: Union[Unset, datetime.datetime] = UNSET
 33    container_image: Union[Unset, str] = UNSET
 34    command_line: Union[Unset, str] = UNSET
 35    log_location: Union[Unset, str] = UNSET
 36    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
 37
 38    def to_dict(self) -> Dict[str, Any]:
 39        name = self.name
 40
 41        native_job_id = self.native_job_id
 42
 43        status = self.status
 44
 45        requested_at = self.requested_at.isoformat()
 46
 47        stopped_at: Union[Unset, str] = UNSET
 48        if not isinstance(self.stopped_at, Unset):
 49            stopped_at = self.stopped_at.isoformat()
 50
 51        container_image = self.container_image
 52
 53        command_line = self.command_line
 54
 55        log_location = self.log_location
 56
 57        field_dict: Dict[str, Any] = {}
 58        field_dict.update(self.additional_properties)
 59        field_dict.update(
 60            {
 61                "name": name,
 62                "nativeJobId": native_job_id,
 63                "status": status,
 64                "requestedAt": requested_at,
 65            }
 66        )
 67        if stopped_at is not UNSET:
 68            field_dict["stoppedAt"] = stopped_at
 69        if container_image is not UNSET:
 70            field_dict["containerImage"] = container_image
 71        if command_line is not UNSET:
 72            field_dict["commandLine"] = command_line
 73        if log_location is not UNSET:
 74            field_dict["logLocation"] = log_location
 75
 76        return field_dict
 77
 78    @classmethod
 79    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 80        d = src_dict.copy()
 81        name = d.pop("name")
 82
 83        native_job_id = d.pop("nativeJobId")
 84
 85        status = d.pop("status")
 86
 87        requested_at = isoparse(d.pop("requestedAt"))
 88
 89        _stopped_at = d.pop("stoppedAt", UNSET)
 90        stopped_at: Union[Unset, datetime.datetime]
 91        if isinstance(_stopped_at, Unset):
 92            stopped_at = UNSET
 93        else:
 94            stopped_at = isoparse(_stopped_at)
 95
 96        container_image = d.pop("containerImage", UNSET)
 97
 98        command_line = d.pop("commandLine", UNSET)
 99
100        log_location = d.pop("logLocation", UNSET)
101
102        task = cls(
103            name=name,
104            native_job_id=native_job_id,
105            status=status,
106            requested_at=requested_at,
107            stopped_at=stopped_at,
108            container_image=container_image,
109            command_line=command_line,
110            log_location=log_location,
111        )
112
113        task.additional_properties = d
114        return task
115
116    @property
117    def additional_keys(self) -> List[str]:
118        return list(self.additional_properties.keys())
Attributes:
  • name (str):
  • native_job_id (str):
  • status (str):
  • requested_at (datetime.datetime):
  • stopped_at (Union[Unset, datetime.datetime]):
  • container_image (Union[Unset, str]):
  • command_line (Union[Unset, str]):
  • log_location (Union[Unset, str]):
Task( name: str, native_job_id: str, status: str, requested_at: datetime.datetime, stopped_at: Union[cirro_api_client.v1.types.Unset, datetime.datetime] = <cirro_api_client.v1.types.Unset object>, container_image: Union[cirro_api_client.v1.types.Unset, str] = <cirro_api_client.v1.types.Unset object>, command_line: Union[cirro_api_client.v1.types.Unset, str] = <cirro_api_client.v1.types.Unset object>, log_location: Union[cirro_api_client.v1.types.Unset, str] = <cirro_api_client.v1.types.Unset object>)
 2def __init__(self, name, native_job_id, status, requested_at, stopped_at=attr_dict['stopped_at'].default, container_image=attr_dict['container_image'].default, command_line=attr_dict['command_line'].default, log_location=attr_dict['log_location'].default):
 3    self.name = name
 4    self.native_job_id = native_job_id
 5    self.status = status
 6    self.requested_at = requested_at
 7    self.stopped_at = stopped_at
 8    self.container_image = container_image
 9    self.command_line = command_line
10    self.log_location = log_location
11    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class Task.

name: str
native_job_id: str
status: str
requested_at: datetime.datetime
stopped_at: Union[cirro_api_client.v1.types.Unset, datetime.datetime]
container_image: Union[cirro_api_client.v1.types.Unset, str]
command_line: Union[cirro_api_client.v1.types.Unset, str]
log_location: Union[cirro_api_client.v1.types.Unset, str]
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
38    def to_dict(self) -> Dict[str, Any]:
39        name = self.name
40
41        native_job_id = self.native_job_id
42
43        status = self.status
44
45        requested_at = self.requested_at.isoformat()
46
47        stopped_at: Union[Unset, str] = UNSET
48        if not isinstance(self.stopped_at, Unset):
49            stopped_at = self.stopped_at.isoformat()
50
51        container_image = self.container_image
52
53        command_line = self.command_line
54
55        log_location = self.log_location
56
57        field_dict: Dict[str, Any] = {}
58        field_dict.update(self.additional_properties)
59        field_dict.update(
60            {
61                "name": name,
62                "nativeJobId": native_job_id,
63                "status": status,
64                "requestedAt": requested_at,
65            }
66        )
67        if stopped_at is not UNSET:
68            field_dict["stoppedAt"] = stopped_at
69        if container_image is not UNSET:
70            field_dict["containerImage"] = container_image
71        if command_line is not UNSET:
72            field_dict["commandLine"] = command_line
73        if log_location is not UNSET:
74            field_dict["logLocation"] = log_location
75
76        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
 78    @classmethod
 79    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 80        d = src_dict.copy()
 81        name = d.pop("name")
 82
 83        native_job_id = d.pop("nativeJobId")
 84
 85        status = d.pop("status")
 86
 87        requested_at = isoparse(d.pop("requestedAt"))
 88
 89        _stopped_at = d.pop("stoppedAt", UNSET)
 90        stopped_at: Union[Unset, datetime.datetime]
 91        if isinstance(_stopped_at, Unset):
 92            stopped_at = UNSET
 93        else:
 94            stopped_at = isoparse(_stopped_at)
 95
 96        container_image = d.pop("containerImage", UNSET)
 97
 98        command_line = d.pop("commandLine", UNSET)
 99
100        log_location = d.pop("logLocation", UNSET)
101
102        task = cls(
103            name=name,
104            native_job_id=native_job_id,
105            status=status,
106            requested_at=requested_at,
107            stopped_at=stopped_at,
108            container_image=container_image,
109            command_line=command_line,
110            log_location=log_location,
111        )
112
113        task.additional_properties = d
114        return task
additional_keys: List[str]
116    @property
117    def additional_keys(self) -> List[str]:
118        return list(self.additional_properties.keys())
class TenantInfo:
 14@_attrs_define
 15class TenantInfo:
 16    """
 17    Attributes:
 18        id (str):
 19        name (str):
 20        description (str):
 21        location (str):
 22        contact_email (str):
 23        tenant_logo_url (str):
 24        terms_of_service_url (str):
 25        privacy_policy_url (str):
 26        login_providers (List['LoginProvider']):
 27    """
 28
 29    id: str
 30    name: str
 31    description: str
 32    location: str
 33    contact_email: str
 34    tenant_logo_url: str
 35    terms_of_service_url: str
 36    privacy_policy_url: str
 37    login_providers: List["LoginProvider"]
 38    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
 39
 40    def to_dict(self) -> Dict[str, Any]:
 41        id = self.id
 42
 43        name = self.name
 44
 45        description = self.description
 46
 47        location = self.location
 48
 49        contact_email = self.contact_email
 50
 51        tenant_logo_url = self.tenant_logo_url
 52
 53        terms_of_service_url = self.terms_of_service_url
 54
 55        privacy_policy_url = self.privacy_policy_url
 56
 57        login_providers = []
 58        for login_providers_item_data in self.login_providers:
 59            login_providers_item = login_providers_item_data.to_dict()
 60            login_providers.append(login_providers_item)
 61
 62        field_dict: Dict[str, Any] = {}
 63        field_dict.update(self.additional_properties)
 64        field_dict.update(
 65            {
 66                "id": id,
 67                "name": name,
 68                "description": description,
 69                "location": location,
 70                "contactEmail": contact_email,
 71                "tenantLogoUrl": tenant_logo_url,
 72                "termsOfServiceUrl": terms_of_service_url,
 73                "privacyPolicyUrl": privacy_policy_url,
 74                "loginProviders": login_providers,
 75            }
 76        )
 77
 78        return field_dict
 79
 80    @classmethod
 81    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 82        from ..models.login_provider import LoginProvider
 83
 84        d = src_dict.copy()
 85        id = d.pop("id")
 86
 87        name = d.pop("name")
 88
 89        description = d.pop("description")
 90
 91        location = d.pop("location")
 92
 93        contact_email = d.pop("contactEmail")
 94
 95        tenant_logo_url = d.pop("tenantLogoUrl")
 96
 97        terms_of_service_url = d.pop("termsOfServiceUrl")
 98
 99        privacy_policy_url = d.pop("privacyPolicyUrl")
100
101        login_providers = []
102        _login_providers = d.pop("loginProviders")
103        for login_providers_item_data in _login_providers:
104            login_providers_item = LoginProvider.from_dict(login_providers_item_data)
105
106            login_providers.append(login_providers_item)
107
108        tenant_info = cls(
109            id=id,
110            name=name,
111            description=description,
112            location=location,
113            contact_email=contact_email,
114            tenant_logo_url=tenant_logo_url,
115            terms_of_service_url=terms_of_service_url,
116            privacy_policy_url=privacy_policy_url,
117            login_providers=login_providers,
118        )
119
120        tenant_info.additional_properties = d
121        return tenant_info
122
123    @property
124    def additional_keys(self) -> List[str]:
125        return list(self.additional_properties.keys())
Attributes:
  • id (str):
  • name (str):
  • description (str):
  • location (str):
  • contact_email (str):
  • tenant_logo_url (str):
  • terms_of_service_url (str):
  • privacy_policy_url (str):
  • login_providers (List['LoginProvider']):
TenantInfo( id: str, name: str, description: str, location: str, contact_email: str, tenant_logo_url: str, terms_of_service_url: str, privacy_policy_url: str, login_providers: List[LoginProvider])
 2def __init__(self, id, name, description, location, contact_email, tenant_logo_url, terms_of_service_url, privacy_policy_url, login_providers):
 3    self.id = id
 4    self.name = name
 5    self.description = description
 6    self.location = location
 7    self.contact_email = contact_email
 8    self.tenant_logo_url = tenant_logo_url
 9    self.terms_of_service_url = terms_of_service_url
10    self.privacy_policy_url = privacy_policy_url
11    self.login_providers = login_providers
12    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class TenantInfo.

id: str
name: str
description: str
location: str
contact_email: str
tenant_logo_url: str
terms_of_service_url: str
privacy_policy_url: str
login_providers: List[LoginProvider]
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
40    def to_dict(self) -> Dict[str, Any]:
41        id = self.id
42
43        name = self.name
44
45        description = self.description
46
47        location = self.location
48
49        contact_email = self.contact_email
50
51        tenant_logo_url = self.tenant_logo_url
52
53        terms_of_service_url = self.terms_of_service_url
54
55        privacy_policy_url = self.privacy_policy_url
56
57        login_providers = []
58        for login_providers_item_data in self.login_providers:
59            login_providers_item = login_providers_item_data.to_dict()
60            login_providers.append(login_providers_item)
61
62        field_dict: Dict[str, Any] = {}
63        field_dict.update(self.additional_properties)
64        field_dict.update(
65            {
66                "id": id,
67                "name": name,
68                "description": description,
69                "location": location,
70                "contactEmail": contact_email,
71                "tenantLogoUrl": tenant_logo_url,
72                "termsOfServiceUrl": terms_of_service_url,
73                "privacyPolicyUrl": privacy_policy_url,
74                "loginProviders": login_providers,
75            }
76        )
77
78        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
 80    @classmethod
 81    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 82        from ..models.login_provider import LoginProvider
 83
 84        d = src_dict.copy()
 85        id = d.pop("id")
 86
 87        name = d.pop("name")
 88
 89        description = d.pop("description")
 90
 91        location = d.pop("location")
 92
 93        contact_email = d.pop("contactEmail")
 94
 95        tenant_logo_url = d.pop("tenantLogoUrl")
 96
 97        terms_of_service_url = d.pop("termsOfServiceUrl")
 98
 99        privacy_policy_url = d.pop("privacyPolicyUrl")
100
101        login_providers = []
102        _login_providers = d.pop("loginProviders")
103        for login_providers_item_data in _login_providers:
104            login_providers_item = LoginProvider.from_dict(login_providers_item_data)
105
106            login_providers.append(login_providers_item)
107
108        tenant_info = cls(
109            id=id,
110            name=name,
111            description=description,
112            location=location,
113            contact_email=contact_email,
114            tenant_logo_url=tenant_logo_url,
115            terms_of_service_url=terms_of_service_url,
116            privacy_policy_url=privacy_policy_url,
117            login_providers=login_providers,
118        )
119
120        tenant_info.additional_properties = d
121        return tenant_info
additional_keys: List[str]
123    @property
124    def additional_keys(self) -> List[str]:
125        return list(self.additional_properties.keys())
class UpdateDatasetRequest:
14@_attrs_define
15class UpdateDatasetRequest:
16    """
17    Attributes:
18        name (str):
19        description (str):
20        process_id (str):
21        tags (List['Tag']):
22    """
23
24    name: str
25    description: str
26    process_id: str
27    tags: List["Tag"]
28    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
29
30    def to_dict(self) -> Dict[str, Any]:
31        name = self.name
32
33        description = self.description
34
35        process_id = self.process_id
36
37        tags = []
38        for tags_item_data in self.tags:
39            tags_item = tags_item_data.to_dict()
40            tags.append(tags_item)
41
42        field_dict: Dict[str, Any] = {}
43        field_dict.update(self.additional_properties)
44        field_dict.update(
45            {
46                "name": name,
47                "description": description,
48                "processId": process_id,
49                "tags": tags,
50            }
51        )
52
53        return field_dict
54
55    @classmethod
56    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
57        from ..models.tag import Tag
58
59        d = src_dict.copy()
60        name = d.pop("name")
61
62        description = d.pop("description")
63
64        process_id = d.pop("processId")
65
66        tags = []
67        _tags = d.pop("tags")
68        for tags_item_data in _tags:
69            tags_item = Tag.from_dict(tags_item_data)
70
71            tags.append(tags_item)
72
73        update_dataset_request = cls(
74            name=name,
75            description=description,
76            process_id=process_id,
77            tags=tags,
78        )
79
80        update_dataset_request.additional_properties = d
81        return update_dataset_request
82
83    @property
84    def additional_keys(self) -> List[str]:
85        return list(self.additional_properties.keys())
Attributes:
  • name (str):
  • description (str):
  • process_id (str):
  • tags (List['Tag']):
UpdateDatasetRequest( name: str, description: str, process_id: str, tags: List[Tag])
2def __init__(self, name, description, process_id, tags):
3    self.name = name
4    self.description = description
5    self.process_id = process_id
6    self.tags = tags
7    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class UpdateDatasetRequest.

name: str
description: str
process_id: str
tags: List[Tag]
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
30    def to_dict(self) -> Dict[str, Any]:
31        name = self.name
32
33        description = self.description
34
35        process_id = self.process_id
36
37        tags = []
38        for tags_item_data in self.tags:
39            tags_item = tags_item_data.to_dict()
40            tags.append(tags_item)
41
42        field_dict: Dict[str, Any] = {}
43        field_dict.update(self.additional_properties)
44        field_dict.update(
45            {
46                "name": name,
47                "description": description,
48                "processId": process_id,
49                "tags": tags,
50            }
51        )
52
53        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
55    @classmethod
56    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
57        from ..models.tag import Tag
58
59        d = src_dict.copy()
60        name = d.pop("name")
61
62        description = d.pop("description")
63
64        process_id = d.pop("processId")
65
66        tags = []
67        _tags = d.pop("tags")
68        for tags_item_data in _tags:
69            tags_item = Tag.from_dict(tags_item_data)
70
71            tags.append(tags_item)
72
73        update_dataset_request = cls(
74            name=name,
75            description=description,
76            process_id=process_id,
77            tags=tags,
78        )
79
80        update_dataset_request.additional_properties = d
81        return update_dataset_request
additional_keys: List[str]
83    @property
84    def additional_keys(self) -> List[str]:
85        return list(self.additional_properties.keys())
class UpdateUserRequest:
14@_attrs_define
15class UpdateUserRequest:
16    """
17    Attributes:
18        name (str):
19        email (str):
20        phone (str):
21        department (str):
22        settings (UpdateUserRequestSettings):
23    """
24
25    name: str
26    email: str
27    phone: str
28    department: str
29    settings: "UpdateUserRequestSettings"
30    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
31
32    def to_dict(self) -> Dict[str, Any]:
33        name = self.name
34
35        email = self.email
36
37        phone = self.phone
38
39        department = self.department
40
41        settings = self.settings.to_dict()
42
43        field_dict: Dict[str, Any] = {}
44        field_dict.update(self.additional_properties)
45        field_dict.update(
46            {
47                "name": name,
48                "email": email,
49                "phone": phone,
50                "department": department,
51                "settings": settings,
52            }
53        )
54
55        return field_dict
56
57    @classmethod
58    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
59        from ..models.update_user_request_settings import UpdateUserRequestSettings
60
61        d = src_dict.copy()
62        name = d.pop("name")
63
64        email = d.pop("email")
65
66        phone = d.pop("phone")
67
68        department = d.pop("department")
69
70        settings = UpdateUserRequestSettings.from_dict(d.pop("settings"))
71
72        update_user_request = cls(
73            name=name,
74            email=email,
75            phone=phone,
76            department=department,
77            settings=settings,
78        )
79
80        update_user_request.additional_properties = d
81        return update_user_request
82
83    @property
84    def additional_keys(self) -> List[str]:
85        return list(self.additional_properties.keys())
Attributes:
  • name (str):
  • email (str):
  • phone (str):
  • department (str):
  • settings (UpdateUserRequestSettings):
UpdateUserRequest( name: str, email: str, phone: str, department: str, settings: UpdateUserRequestSettings)
2def __init__(self, name, email, phone, department, settings):
3    self.name = name
4    self.email = email
5    self.phone = phone
6    self.department = department
7    self.settings = settings
8    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class UpdateUserRequest.

name: str
email: str
phone: str
department: str
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
32    def to_dict(self) -> Dict[str, Any]:
33        name = self.name
34
35        email = self.email
36
37        phone = self.phone
38
39        department = self.department
40
41        settings = self.settings.to_dict()
42
43        field_dict: Dict[str, Any] = {}
44        field_dict.update(self.additional_properties)
45        field_dict.update(
46            {
47                "name": name,
48                "email": email,
49                "phone": phone,
50                "department": department,
51                "settings": settings,
52            }
53        )
54
55        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
57    @classmethod
58    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
59        from ..models.update_user_request_settings import UpdateUserRequestSettings
60
61        d = src_dict.copy()
62        name = d.pop("name")
63
64        email = d.pop("email")
65
66        phone = d.pop("phone")
67
68        department = d.pop("department")
69
70        settings = UpdateUserRequestSettings.from_dict(d.pop("settings"))
71
72        update_user_request = cls(
73            name=name,
74            email=email,
75            phone=phone,
76            department=department,
77            settings=settings,
78        )
79
80        update_user_request.additional_properties = d
81        return update_user_request
additional_keys: List[str]
83    @property
84    def additional_keys(self) -> List[str]:
85        return list(self.additional_properties.keys())
class UpdateUserRequestSettings:
10@_attrs_define
11class UpdateUserRequestSettings:
12    """ """
13
14    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
15
16    def to_dict(self) -> Dict[str, Any]:
17        field_dict: Dict[str, Any] = {}
18        field_dict.update(self.additional_properties)
19        field_dict.update({})
20
21        return field_dict
22
23    @classmethod
24    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
25        d = src_dict.copy()
26        update_user_request_settings = cls()
27
28        update_user_request_settings.additional_properties = d
29        return update_user_request_settings
30
31    @property
32    def additional_keys(self) -> List[str]:
33        return list(self.additional_properties.keys())
UpdateUserRequestSettings()
2def __init__(self, ):
3    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class UpdateUserRequestSettings.

additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
16    def to_dict(self) -> Dict[str, Any]:
17        field_dict: Dict[str, Any] = {}
18        field_dict.update(self.additional_properties)
19        field_dict.update({})
20
21        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
23    @classmethod
24    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
25        d = src_dict.copy()
26        update_user_request_settings = cls()
27
28        update_user_request_settings.additional_properties = d
29        return update_user_request_settings
additional_keys: List[str]
31    @property
32    def additional_keys(self) -> List[str]:
33        return list(self.additional_properties.keys())
class UploadDatasetCreateResponse:
10@_attrs_define
11class UploadDatasetCreateResponse:
12    """
13    Attributes:
14        id (str):
15        message (str):
16        upload_path (str):
17    """
18
19    id: str
20    message: str
21    upload_path: str
22    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
23
24    def to_dict(self) -> Dict[str, Any]:
25        id = self.id
26
27        message = self.message
28
29        upload_path = self.upload_path
30
31        field_dict: Dict[str, Any] = {}
32        field_dict.update(self.additional_properties)
33        field_dict.update(
34            {
35                "id": id,
36                "message": message,
37                "uploadPath": upload_path,
38            }
39        )
40
41        return field_dict
42
43    @classmethod
44    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
45        d = src_dict.copy()
46        id = d.pop("id")
47
48        message = d.pop("message")
49
50        upload_path = d.pop("uploadPath")
51
52        upload_dataset_create_response = cls(
53            id=id,
54            message=message,
55            upload_path=upload_path,
56        )
57
58        upload_dataset_create_response.additional_properties = d
59        return upload_dataset_create_response
60
61    @property
62    def additional_keys(self) -> List[str]:
63        return list(self.additional_properties.keys())
Attributes:
  • id (str):
  • message (str):
  • upload_path (str):
UploadDatasetCreateResponse(id: str, message: str, upload_path: str)
2def __init__(self, id, message, upload_path):
3    self.id = id
4    self.message = message
5    self.upload_path = upload_path
6    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class UploadDatasetCreateResponse.

id: str
message: str
upload_path: str
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
24    def to_dict(self) -> Dict[str, Any]:
25        id = self.id
26
27        message = self.message
28
29        upload_path = self.upload_path
30
31        field_dict: Dict[str, Any] = {}
32        field_dict.update(self.additional_properties)
33        field_dict.update(
34            {
35                "id": id,
36                "message": message,
37                "uploadPath": upload_path,
38            }
39        )
40
41        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
43    @classmethod
44    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
45        d = src_dict.copy()
46        id = d.pop("id")
47
48        message = d.pop("message")
49
50        upload_path = d.pop("uploadPath")
51
52        upload_dataset_create_response = cls(
53            id=id,
54            message=message,
55            upload_path=upload_path,
56        )
57
58        upload_dataset_create_response.additional_properties = d
59        return upload_dataset_create_response
additional_keys: List[str]
61    @property
62    def additional_keys(self) -> List[str]:
63        return list(self.additional_properties.keys())
class UploadDatasetRequest:
12@_attrs_define
13class UploadDatasetRequest:
14    """
15    Attributes:
16        name (str): Name of the dataset
17        process_id (str): ID of the ingest process Example: paired_dnaseq.
18        expected_files (List[str]):
19        description (Union[Unset, str]): Description of the dataset
20    """
21
22    name: str
23    process_id: str
24    expected_files: List[str]
25    description: Union[Unset, str] = UNSET
26    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
27
28    def to_dict(self) -> Dict[str, Any]:
29        name = self.name
30
31        process_id = self.process_id
32
33        expected_files = self.expected_files
34
35        description = self.description
36
37        field_dict: Dict[str, Any] = {}
38        field_dict.update(self.additional_properties)
39        field_dict.update(
40            {
41                "name": name,
42                "processId": process_id,
43                "expectedFiles": expected_files,
44            }
45        )
46        if description is not UNSET:
47            field_dict["description"] = description
48
49        return field_dict
50
51    @classmethod
52    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
53        d = src_dict.copy()
54        name = d.pop("name")
55
56        process_id = d.pop("processId")
57
58        expected_files = cast(List[str], d.pop("expectedFiles"))
59
60        description = d.pop("description", UNSET)
61
62        upload_dataset_request = cls(
63            name=name,
64            process_id=process_id,
65            expected_files=expected_files,
66            description=description,
67        )
68
69        upload_dataset_request.additional_properties = d
70        return upload_dataset_request
71
72    @property
73    def additional_keys(self) -> List[str]:
74        return list(self.additional_properties.keys())
Attributes:
  • name (str): Name of the dataset
  • process_id (str): ID of the ingest process Example: paired_dnaseq.
  • expected_files (List[str]):
  • description (Union[Unset, str]): Description of the dataset
UploadDatasetRequest( name: str, process_id: str, expected_files: List[str], description: Union[cirro_api_client.v1.types.Unset, str] = <cirro_api_client.v1.types.Unset object>)
2def __init__(self, name, process_id, expected_files, description=attr_dict['description'].default):
3    self.name = name
4    self.process_id = process_id
5    self.expected_files = expected_files
6    self.description = description
7    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class UploadDatasetRequest.

name: str
process_id: str
expected_files: List[str]
description: Union[cirro_api_client.v1.types.Unset, str]
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
28    def to_dict(self) -> Dict[str, Any]:
29        name = self.name
30
31        process_id = self.process_id
32
33        expected_files = self.expected_files
34
35        description = self.description
36
37        field_dict: Dict[str, Any] = {}
38        field_dict.update(self.additional_properties)
39        field_dict.update(
40            {
41                "name": name,
42                "processId": process_id,
43                "expectedFiles": expected_files,
44            }
45        )
46        if description is not UNSET:
47            field_dict["description"] = description
48
49        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
51    @classmethod
52    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
53        d = src_dict.copy()
54        name = d.pop("name")
55
56        process_id = d.pop("processId")
57
58        expected_files = cast(List[str], d.pop("expectedFiles"))
59
60        description = d.pop("description", UNSET)
61
62        upload_dataset_request = cls(
63            name=name,
64            process_id=process_id,
65            expected_files=expected_files,
66            description=description,
67        )
68
69        upload_dataset_request.additional_properties = d
70        return upload_dataset_request
additional_keys: List[str]
72    @property
73    def additional_keys(self) -> List[str]:
74        return list(self.additional_properties.keys())
class User:
10@_attrs_define
11class User:
12    """
13    Attributes:
14        name (str):
15        username (str):
16        organization (str):
17        department (str):
18    """
19
20    name: str
21    username: str
22    organization: str
23    department: str
24    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
25
26    def to_dict(self) -> Dict[str, Any]:
27        name = self.name
28
29        username = self.username
30
31        organization = self.organization
32
33        department = self.department
34
35        field_dict: Dict[str, Any] = {}
36        field_dict.update(self.additional_properties)
37        field_dict.update(
38            {
39                "name": name,
40                "username": username,
41                "organization": organization,
42                "department": department,
43            }
44        )
45
46        return field_dict
47
48    @classmethod
49    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
50        d = src_dict.copy()
51        name = d.pop("name")
52
53        username = d.pop("username")
54
55        organization = d.pop("organization")
56
57        department = d.pop("department")
58
59        user = cls(
60            name=name,
61            username=username,
62            organization=organization,
63            department=department,
64        )
65
66        user.additional_properties = d
67        return user
68
69    @property
70    def additional_keys(self) -> List[str]:
71        return list(self.additional_properties.keys())
Attributes:
  • name (str):
  • username (str):
  • organization (str):
  • department (str):
User(name: str, username: str, organization: str, department: str)
2def __init__(self, name, username, organization, department):
3    self.name = name
4    self.username = username
5    self.organization = organization
6    self.department = department
7    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class User.

name: str
username: str
organization: str
department: str
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
26    def to_dict(self) -> Dict[str, Any]:
27        name = self.name
28
29        username = self.username
30
31        organization = self.organization
32
33        department = self.department
34
35        field_dict: Dict[str, Any] = {}
36        field_dict.update(self.additional_properties)
37        field_dict.update(
38            {
39                "name": name,
40                "username": username,
41                "organization": organization,
42                "department": department,
43            }
44        )
45
46        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
48    @classmethod
49    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
50        d = src_dict.copy()
51        name = d.pop("name")
52
53        username = d.pop("username")
54
55        organization = d.pop("organization")
56
57        department = d.pop("department")
58
59        user = cls(
60            name=name,
61            username=username,
62            organization=organization,
63            department=department,
64        )
65
66        user.additional_properties = d
67        return user
additional_keys: List[str]
69    @property
70    def additional_keys(self) -> List[str]:
71        return list(self.additional_properties.keys())
class ValidateFileRequirementsRequest:
10@_attrs_define
11class ValidateFileRequirementsRequest:
12    """
13    Attributes:
14        file_names (List[str]):
15        sample_sheet (str):
16    """
17
18    file_names: List[str]
19    sample_sheet: str
20    additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
21
22    def to_dict(self) -> Dict[str, Any]:
23        file_names = self.file_names
24
25        sample_sheet = self.sample_sheet
26
27        field_dict: Dict[str, Any] = {}
28        field_dict.update(self.additional_properties)
29        field_dict.update(
30            {
31                "fileNames": file_names,
32                "sampleSheet": sample_sheet,
33            }
34        )
35
36        return field_dict
37
38    @classmethod
39    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
40        d = src_dict.copy()
41        file_names = cast(List[str], d.pop("fileNames"))
42
43        sample_sheet = d.pop("sampleSheet")
44
45        validate_file_requirements_request = cls(
46            file_names=file_names,
47            sample_sheet=sample_sheet,
48        )
49
50        validate_file_requirements_request.additional_properties = d
51        return validate_file_requirements_request
52
53    @property
54    def additional_keys(self) -> List[str]:
55        return list(self.additional_properties.keys())
Attributes:
  • file_names (List[str]):
  • sample_sheet (str):
ValidateFileRequirementsRequest(file_names: List[str], sample_sheet: str)
2def __init__(self, file_names, sample_sheet):
3    self.file_names = file_names
4    self.sample_sheet = sample_sheet
5    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class ValidateFileRequirementsRequest.

file_names: List[str]
sample_sheet: str
additional_properties: Dict[str, Any]
def to_dict(self) -> Dict[str, Any]:
22    def to_dict(self) -> Dict[str, Any]:
23        file_names = self.file_names
24
25        sample_sheet = self.sample_sheet
26
27        field_dict: Dict[str, Any] = {}
28        field_dict.update(self.additional_properties)
29        field_dict.update(
30            {
31                "fileNames": file_names,
32                "sampleSheet": sample_sheet,
33            }
34        )
35
36        return field_dict
@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T:
38    @classmethod
39    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
40        d = src_dict.copy()
41        file_names = cast(List[str], d.pop("fileNames"))
42
43        sample_sheet = d.pop("sampleSheet")
44
45        validate_file_requirements_request = cls(
46            file_names=file_names,
47            sample_sheet=sample_sheet,
48        )
49
50        validate_file_requirements_request.additional_properties = d
51        return validate_file_requirements_request
additional_keys: List[str]
53    @property
54    def additional_keys(self) -> List[str]:
55        return list(self.additional_properties.keys())