miro_api.models.board_export_task

Miro Developer Platform

### Miro Developer Platform concepts - New to the Miro Developer Platform? Interested in learning more about platform concepts?? Read our introduction page and familiarize yourself with the Miro Developer Platform capabilities in a few minutes. ### Getting started with the Miro REST API - Quickstart (video): try the REST API in less than 3 minutes. - Quickstart (article): get started and try the REST API in less than 3 minutes. ### Miro REST API tutorials Check out our how-to articles with step-by-step instructions and code examples so you can: - Get started with OAuth 2.0 and Miro ### Miro App Examples Clone our Miro App Examples repository to get inspiration, customize, and explore apps built on top of Miro's Developer Platform 2.0.

The version of the OpenAPI document: v2.0 Generated by OpenAPI Generator (https://openapi-generator.tech)

Do not edit the class manually.

  1# coding: utf-8
  2
  3"""
  4Miro Developer Platform
  5
  6<img src=\"https://content.pstmn.io/47449ea6-0ef7-4af2-bac1-e58a70e61c58/aW1hZ2UucG5n\" width=\"1685\" height=\"593\">  ### Miro Developer Platform concepts  - New to the Miro Developer Platform? Interested in learning more about platform concepts?? [Read our introduction page](https://beta.developers.miro.com/docs/introduction) and familiarize yourself with the Miro Developer Platform capabilities in a few minutes.   ### Getting started with the Miro REST API  - [Quickstart (video):](https://beta.developers.miro.com/docs/try-out-the-rest-api-in-less-than-3-minutes) try the REST API in less than 3 minutes. - [Quickstart (article):](https://beta.developers.miro.com/docs/build-your-first-hello-world-app-1) get started and try the REST API in less than 3 minutes.   ### Miro REST API tutorials  Check out our how-to articles with step-by-step instructions and code examples so you can:  - [Get started with OAuth 2.0 and Miro](https://beta.developers.miro.com/docs/getting-started-with-oauth)   ### Miro App Examples  Clone our [Miro App Examples repository](https://github.com/miroapp/app-examples) to get inspiration, customize, and explore apps built on top of Miro's Developer Platform 2.0.
  7
  8The version of the OpenAPI document: v2.0
  9Generated by OpenAPI Generator (https://openapi-generator.tech)
 10
 11Do not edit the class manually.
 12"""  # noqa: E501
 13
 14from __future__ import annotations
 15import pprint
 16import re  # noqa: F401
 17import json
 18
 19from datetime import datetime
 20from pydantic import BaseModel, Field, StrictInt, StrictStr
 21from typing import Any, ClassVar, Dict, List, Optional
 22from miro_api.models.board_export_task_board import BoardExportTaskBoard
 23from typing import Optional, Set
 24from typing_extensions import Self
 25
 26
 27class BoardExportTask(BaseModel):
 28    """
 29    BoardExportTask
 30    """  # noqa: E501
 31
 32    id: StrictStr = Field(description="Unique identifier of the board export task.")
 33    status: StrictStr = Field(
 34        description="Indicates the status of the individual board export task. Possible values: `SUCCESS`: the board export task was completed successfully and the results are available. `ERROR`: the board export task encountered an error and failed to complete. The `errorMessage` field provides more information on the error. `CANCELLED`: the board export task was cancelled. `SCHEDULED`: the board export task has been scheduled and is waiting to be processed. `CREATED`: the board export task was created."
 35    )
 36    artifact_expired_at: Optional[datetime] = Field(
 37        default=None,
 38        description="The date and time when the artifact will no longer be available in the S3 storage. After this time, the link will no longer be valid and the exported files will not be accessible. Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)).",
 39        alias="artifactExpiredAt",
 40    )
 41    size_in_bytes: Optional[StrictInt] = Field(
 42        default=None, description="Size of the exported artifact in bytes.", alias="sizeInBytes"
 43    )
 44    error_message: Optional[StrictStr] = Field(
 45        default=None,
 46        description="Contains the description of the error that occurred during a board export task.",
 47        alias="errorMessage",
 48    )
 49    error_type: Optional[StrictStr] = Field(
 50        default=None,
 51        description="Indicates the type of error encountered during the board export task. Possible values: `TEMPORARY`: the board export task encountered a temporary error. Retry the board export task after some time. `FATAL`: the board export failed and cannot be retried. This export will never succeed due to issues such as board corruption, non-existence, or other unrecoverable errors. Please verify the board's state or contact support if assistance is needed. `UNKNOWN`: the board export task encountered an unexpected exception. Retry the board export task after some time.",
 52        alias="errorType",
 53    )
 54    board: Optional[BoardExportTaskBoard] = None
 55    additional_properties: Dict[str, Any] = {}
 56    __properties: ClassVar[List[str]] = [
 57        "id",
 58        "status",
 59        "artifactExpiredAt",
 60        "sizeInBytes",
 61        "errorMessage",
 62        "errorType",
 63        "board",
 64    ]
 65
 66    model_config = {
 67        "populate_by_name": True,
 68        "validate_assignment": True,
 69        "protected_namespaces": (),
 70    }
 71
 72    def to_str(self) -> str:
 73        """Returns the string representation of the model using alias"""
 74        return pprint.pformat(self.model_dump(by_alias=True))
 75
 76    def to_json(self) -> str:
 77        """Returns the JSON representation of the model using alias"""
 78        # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
 79        return json.dumps(self.to_dict())
 80
 81    @classmethod
 82    def from_json(cls, json_str: str) -> Optional[Self]:
 83        """Create an instance of BoardExportTask from a JSON string"""
 84        return cls.from_dict(json.loads(json_str))
 85
 86    def to_dict(self) -> Dict[str, Any]:
 87        """Return the dictionary representation of the model using alias.
 88
 89        This has the following differences from calling pydantic's
 90        `self.model_dump(by_alias=True)`:
 91
 92        * `None` is only added to the output dict for nullable fields that
 93          were set at model initialization. Other fields with value `None`
 94          are ignored.
 95        * Fields in `self.additional_properties` are added to the output dict.
 96        """
 97        excluded_fields: Set[str] = set(
 98            [
 99                "additional_properties",
100            ]
101        )
102
103        _dict = self.model_dump(
104            by_alias=True,
105            exclude=excluded_fields,
106            exclude_none=True,
107        )
108        # override the default output from pydantic by calling `to_dict()` of board
109        if self.board:
110            _dict["board"] = self.board.to_dict()
111        # puts key-value pairs in additional_properties in the top level
112        if self.additional_properties is not None:
113            for _key, _value in self.additional_properties.items():
114                _dict[_key] = _value
115
116        return _dict
117
118    @classmethod
119    def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
120        """Create an instance of BoardExportTask from a dict"""
121        if obj is None:
122            return None
123
124        if not isinstance(obj, dict):
125            return cls.model_validate(obj)
126
127        _obj = cls.model_validate(
128            {
129                "id": obj.get("id"),
130                "status": obj.get("status"),
131                "artifactExpiredAt": obj.get("artifactExpiredAt"),
132                "sizeInBytes": obj.get("sizeInBytes"),
133                "errorMessage": obj.get("errorMessage"),
134                "errorType": obj.get("errorType"),
135                "board": BoardExportTaskBoard.from_dict(obj["board"]) if obj.get("board") is not None else None,
136            }
137        )
138        # store additional fields in additional_properties
139        for _key in obj.keys():
140            if _key not in cls.__properties:
141                _obj.additional_properties[_key] = obj.get(_key)
142
143        return _obj
class BoardExportTask(pydantic.main.BaseModel):
 28class BoardExportTask(BaseModel):
 29    """
 30    BoardExportTask
 31    """  # noqa: E501
 32
 33    id: StrictStr = Field(description="Unique identifier of the board export task.")
 34    status: StrictStr = Field(
 35        description="Indicates the status of the individual board export task. Possible values: `SUCCESS`: the board export task was completed successfully and the results are available. `ERROR`: the board export task encountered an error and failed to complete. The `errorMessage` field provides more information on the error. `CANCELLED`: the board export task was cancelled. `SCHEDULED`: the board export task has been scheduled and is waiting to be processed. `CREATED`: the board export task was created."
 36    )
 37    artifact_expired_at: Optional[datetime] = Field(
 38        default=None,
 39        description="The date and time when the artifact will no longer be available in the S3 storage. After this time, the link will no longer be valid and the exported files will not be accessible. Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)).",
 40        alias="artifactExpiredAt",
 41    )
 42    size_in_bytes: Optional[StrictInt] = Field(
 43        default=None, description="Size of the exported artifact in bytes.", alias="sizeInBytes"
 44    )
 45    error_message: Optional[StrictStr] = Field(
 46        default=None,
 47        description="Contains the description of the error that occurred during a board export task.",
 48        alias="errorMessage",
 49    )
 50    error_type: Optional[StrictStr] = Field(
 51        default=None,
 52        description="Indicates the type of error encountered during the board export task. Possible values: `TEMPORARY`: the board export task encountered a temporary error. Retry the board export task after some time. `FATAL`: the board export failed and cannot be retried. This export will never succeed due to issues such as board corruption, non-existence, or other unrecoverable errors. Please verify the board's state or contact support if assistance is needed. `UNKNOWN`: the board export task encountered an unexpected exception. Retry the board export task after some time.",
 53        alias="errorType",
 54    )
 55    board: Optional[BoardExportTaskBoard] = None
 56    additional_properties: Dict[str, Any] = {}
 57    __properties: ClassVar[List[str]] = [
 58        "id",
 59        "status",
 60        "artifactExpiredAt",
 61        "sizeInBytes",
 62        "errorMessage",
 63        "errorType",
 64        "board",
 65    ]
 66
 67    model_config = {
 68        "populate_by_name": True,
 69        "validate_assignment": True,
 70        "protected_namespaces": (),
 71    }
 72
 73    def to_str(self) -> str:
 74        """Returns the string representation of the model using alias"""
 75        return pprint.pformat(self.model_dump(by_alias=True))
 76
 77    def to_json(self) -> str:
 78        """Returns the JSON representation of the model using alias"""
 79        # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
 80        return json.dumps(self.to_dict())
 81
 82    @classmethod
 83    def from_json(cls, json_str: str) -> Optional[Self]:
 84        """Create an instance of BoardExportTask from a JSON string"""
 85        return cls.from_dict(json.loads(json_str))
 86
 87    def to_dict(self) -> Dict[str, Any]:
 88        """Return the dictionary representation of the model using alias.
 89
 90        This has the following differences from calling pydantic's
 91        `self.model_dump(by_alias=True)`:
 92
 93        * `None` is only added to the output dict for nullable fields that
 94          were set at model initialization. Other fields with value `None`
 95          are ignored.
 96        * Fields in `self.additional_properties` are added to the output dict.
 97        """
 98        excluded_fields: Set[str] = set(
 99            [
100                "additional_properties",
101            ]
102        )
103
104        _dict = self.model_dump(
105            by_alias=True,
106            exclude=excluded_fields,
107            exclude_none=True,
108        )
109        # override the default output from pydantic by calling `to_dict()` of board
110        if self.board:
111            _dict["board"] = self.board.to_dict()
112        # puts key-value pairs in additional_properties in the top level
113        if self.additional_properties is not None:
114            for _key, _value in self.additional_properties.items():
115                _dict[_key] = _value
116
117        return _dict
118
119    @classmethod
120    def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
121        """Create an instance of BoardExportTask from a dict"""
122        if obj is None:
123            return None
124
125        if not isinstance(obj, dict):
126            return cls.model_validate(obj)
127
128        _obj = cls.model_validate(
129            {
130                "id": obj.get("id"),
131                "status": obj.get("status"),
132                "artifactExpiredAt": obj.get("artifactExpiredAt"),
133                "sizeInBytes": obj.get("sizeInBytes"),
134                "errorMessage": obj.get("errorMessage"),
135                "errorType": obj.get("errorType"),
136                "board": BoardExportTaskBoard.from_dict(obj["board"]) if obj.get("board") is not None else None,
137            }
138        )
139        # store additional fields in additional_properties
140        for _key in obj.keys():
141            if _key not in cls.__properties:
142                _obj.additional_properties[_key] = obj.get(_key)
143
144        return _obj

BoardExportTask

id: typing.Annotated[str, Strict(strict=True)]
status: typing.Annotated[str, Strict(strict=True)]
artifact_expired_at: Optional[datetime.datetime]
size_in_bytes: Optional[Annotated[int, Strict(strict=True)]]
error_message: Optional[Annotated[str, Strict(strict=True)]]
error_type: Optional[Annotated[str, Strict(strict=True)]]
additional_properties: Dict[str, Any]
model_config = {'populate_by_name': True, 'validate_assignment': True, 'protected_namespaces': ()}
def to_str(self) -> str:
73    def to_str(self) -> str:
74        """Returns the string representation of the model using alias"""
75        return pprint.pformat(self.model_dump(by_alias=True))

Returns the string representation of the model using alias

def to_json(self) -> str:
77    def to_json(self) -> str:
78        """Returns the JSON representation of the model using alias"""
79        # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
80        return json.dumps(self.to_dict())

Returns the JSON representation of the model using alias

@classmethod
def from_json(cls, json_str: str) -> Optional[typing_extensions.Self]:
82    @classmethod
83    def from_json(cls, json_str: str) -> Optional[Self]:
84        """Create an instance of BoardExportTask from a JSON string"""
85        return cls.from_dict(json.loads(json_str))

Create an instance of BoardExportTask from a JSON string

def to_dict(self) -> Dict[str, Any]:
 87    def to_dict(self) -> Dict[str, Any]:
 88        """Return the dictionary representation of the model using alias.
 89
 90        This has the following differences from calling pydantic's
 91        `self.model_dump(by_alias=True)`:
 92
 93        * `None` is only added to the output dict for nullable fields that
 94          were set at model initialization. Other fields with value `None`
 95          are ignored.
 96        * Fields in `self.additional_properties` are added to the output dict.
 97        """
 98        excluded_fields: Set[str] = set(
 99            [
100                "additional_properties",
101            ]
102        )
103
104        _dict = self.model_dump(
105            by_alias=True,
106            exclude=excluded_fields,
107            exclude_none=True,
108        )
109        # override the default output from pydantic by calling `to_dict()` of board
110        if self.board:
111            _dict["board"] = self.board.to_dict()
112        # puts key-value pairs in additional_properties in the top level
113        if self.additional_properties is not None:
114            for _key, _value in self.additional_properties.items():
115                _dict[_key] = _value
116
117        return _dict

Return the dictionary representation of the model using alias.

This has the following differences from calling pydantic's self.model_dump(by_alias=True):

  • None is only added to the output dict for nullable fields that were set at model initialization. Other fields with value None are ignored.
  • Fields in self.additional_properties are added to the output dict.
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[typing_extensions.Self]:
119    @classmethod
120    def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
121        """Create an instance of BoardExportTask from a dict"""
122        if obj is None:
123            return None
124
125        if not isinstance(obj, dict):
126            return cls.model_validate(obj)
127
128        _obj = cls.model_validate(
129            {
130                "id": obj.get("id"),
131                "status": obj.get("status"),
132                "artifactExpiredAt": obj.get("artifactExpiredAt"),
133                "sizeInBytes": obj.get("sizeInBytes"),
134                "errorMessage": obj.get("errorMessage"),
135                "errorType": obj.get("errorType"),
136                "board": BoardExportTaskBoard.from_dict(obj["board"]) if obj.get("board") is not None else None,
137            }
138        )
139        # store additional fields in additional_properties
140        for _key in obj.keys():
141            if _key not in cls.__properties:
142                _obj.additional_properties[_key] = obj.get(_key)
143
144        return _obj

Create an instance of BoardExportTask from a dict

def model_post_init(self: pydantic.main.BaseModel, __context: Any) -> None:
265def init_private_attributes(self: BaseModel, __context: Any) -> None:
266    """This function is meant to behave like a BaseModel method to initialise private attributes.
267
268    It takes context as an argument since that's what pydantic-core passes when calling it.
269
270    Args:
271        self: The BaseModel instance.
272        __context: The context.
273    """
274    if getattr(self, '__pydantic_private__', None) is None:
275        pydantic_private = {}
276        for name, private_attr in self.__private_attributes__.items():
277            default = private_attr.get_default()
278            if default is not PydanticUndefined:
279                pydantic_private[name] = default
280        object_setattr(self, '__pydantic_private__', pydantic_private)

This function is meant to behave like a BaseModel method to initialise private attributes.

It takes context as an argument since that's what pydantic-core passes when calling it.

Args: self: The BaseModel instance. __context: The context.

model_fields = {'id': FieldInfo(annotation=str, required=True, description='Unique identifier of the board export task.', metadata=[Strict(strict=True)]), 'status': FieldInfo(annotation=str, required=True, description='Indicates the status of the individual board export task. Possible values: `SUCCESS`: the board export task was completed successfully and the results are available. `ERROR`: the board export task encountered an error and failed to complete. The `errorMessage` field provides more information on the error. `CANCELLED`: the board export task was cancelled. `SCHEDULED`: the board export task has been scheduled and is waiting to be processed. `CREATED`: the board export task was created.', metadata=[Strict(strict=True)]), 'artifact_expired_at': FieldInfo(annotation=Union[datetime, NoneType], required=False, alias='artifactExpiredAt', alias_priority=2, description='The date and time when the artifact will no longer be available in the S3 storage. After this time, the link will no longer be valid and the exported files will not be accessible. Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)).'), 'size_in_bytes': FieldInfo(annotation=Union[Annotated[int, Strict(strict=True)], NoneType], required=False, alias='sizeInBytes', alias_priority=2, description='Size of the exported artifact in bytes.'), 'error_message': FieldInfo(annotation=Union[Annotated[str, Strict(strict=True)], NoneType], required=False, alias='errorMessage', alias_priority=2, description='Contains the description of the error that occurred during a board export task.'), 'error_type': FieldInfo(annotation=Union[Annotated[str, Strict(strict=True)], NoneType], required=False, alias='errorType', alias_priority=2, description="Indicates the type of error encountered during the board export task. Possible values: `TEMPORARY`: the board export task encountered a temporary error. Retry the board export task after some time. `FATAL`: the board export failed and cannot be retried. This export will never succeed due to issues such as board corruption, non-existence, or other unrecoverable errors. Please verify the board's state or contact support if assistance is needed. `UNKNOWN`: the board export task encountered an unexpected exception. Retry the board export task after some time."), 'board': FieldInfo(annotation=Union[BoardExportTaskBoard, NoneType], required=False), 'additional_properties': FieldInfo(annotation=Dict[str, Any], required=False, default={})}
model_computed_fields = {}
Inherited Members
pydantic.main.BaseModel
BaseModel
model_extra
model_fields_set
model_construct
model_copy
model_dump
model_dump_json
model_json_schema
model_parametrized_name
model_rebuild
model_validate
model_validate_json
model_validate_strings
dict
json
parse_obj
parse_raw
parse_file
from_orm
construct
copy
schema
schema_json
validate
update_forward_refs