# coding: utf-8 """ AWS Docs API API for AWS Docs # noqa: E501 The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech """ from datetime import date, datetime # noqa: F401 import decimal # noqa: F401 import functools # noqa: F401 import io # noqa: F401 import re # noqa: F401 import typing # noqa: F401 import uuid # noqa: F401 import frozendict # noqa: F401 from api_python_client import schemas # noqa: F401 class FormMetadata( schemas.ComposedBase, schemas.DictSchema ): """NOTE: This class is auto generated by OpenAPI Generator. Ref: https://openapi-generator.tech Do not edit the class manually. Metadata about a form within a document """ class MetaOapg: required = { "formId", "numberOfPages", "schemaId", "startPageIndex", "statusTransitionLog", "documentId", "location", "documentName", "endPageIndex", "extractionExecution", "schemaSnapshot", } class properties: documentId = schemas.StrSchema documentName = schemas.StrSchema formId = schemas.StrSchema schemaId = schemas.StrSchema numberOfPages = schemas.IntSchema startPageIndex = schemas.IntSchema endPageIndex = schemas.IntSchema @classmethod @property def location(cls) -> typing.Type['S3Location']: return S3Location @classmethod @property def extractionExecution(cls) -> typing.Type['ExtractionExecution']: return ExtractionExecution @classmethod @property def schemaSnapshot(cls) -> typing.Type['FormJSONSchema']: return FormJSONSchema class statusTransitionLog( schemas.ListSchema ): class MetaOapg: @classmethod @property def items(cls) -> typing.Type['StatusTransition']: return StatusTransition def __new__( cls, arg: typing.Union[typing.Tuple['StatusTransition'], typing.List['StatusTransition']], _configuration: typing.Optional[schemas.Configuration] = None, ) -> 'statusTransitionLog': return super().__new__( cls, arg, _configuration=_configuration, ) def __getitem__(self, i: int) -> 'StatusTransition': return super().__getitem__(i) extractedData = schemas.AnyTypeSchema originalExtractedData = schemas.AnyTypeSchema extractedDataMetadata = schemas.AnyTypeSchema @classmethod @property def extractionAccuracy(cls) -> typing.Type['ExtractionAccuracy']: return ExtractionAccuracy averageConfidence = schemas.NumberSchema url = schemas.StrSchema @classmethod @property def textractOutputLocation(cls) -> typing.Type['S3Location']: return S3Location class tags( schemas.ListSchema ): class MetaOapg: items = schemas.StrSchema def __new__( cls, arg: typing.Union[typing.Tuple[typing.Union[MetaOapg.items, str, ]], typing.List[typing.Union[MetaOapg.items, str, ]]], _configuration: typing.Optional[schemas.Configuration] = None, ) -> 'tags': return super().__new__( cls, arg, _configuration=_configuration, ) def __getitem__(self, i: int) -> MetaOapg.items: return super().__getitem__(i) notes = schemas.StrSchema __annotations__ = { "documentId": documentId, "documentName": documentName, "formId": formId, "schemaId": schemaId, "numberOfPages": numberOfPages, "startPageIndex": startPageIndex, "endPageIndex": endPageIndex, "location": location, "extractionExecution": extractionExecution, "schemaSnapshot": schemaSnapshot, "statusTransitionLog": statusTransitionLog, "extractedData": extractedData, "originalExtractedData": originalExtractedData, "extractedDataMetadata": extractedDataMetadata, "extractionAccuracy": extractionAccuracy, "averageConfidence": averageConfidence, "url": url, "textractOutputLocation": textractOutputLocation, "tags": tags, "notes": notes, } @classmethod @property @functools.cache def all_of(cls): # we need this here to make our import statements work # we must store _composed_schemas in here so the code is only run # when we invoke this method. If we kept this at the class # level we would get an error because the class level # code would be run when this module is imported, and these composed # classes don't exist yet because their module has not finished # loading return [ CreateUpdateDetails, ] formId: MetaOapg.properties.formId numberOfPages: MetaOapg.properties.numberOfPages schemaId: MetaOapg.properties.schemaId startPageIndex: MetaOapg.properties.startPageIndex statusTransitionLog: MetaOapg.properties.statusTransitionLog documentId: MetaOapg.properties.documentId location: 'S3Location' documentName: MetaOapg.properties.documentName endPageIndex: MetaOapg.properties.endPageIndex extractionExecution: 'ExtractionExecution' schemaSnapshot: 'FormJSONSchema' @typing.overload def __getitem__(self, name: typing.Literal["documentId"]) -> MetaOapg.properties.documentId: ... @typing.overload def __getitem__(self, name: typing.Literal["documentName"]) -> MetaOapg.properties.documentName: ... @typing.overload def __getitem__(self, name: typing.Literal["formId"]) -> MetaOapg.properties.formId: ... @typing.overload def __getitem__(self, name: typing.Literal["schemaId"]) -> MetaOapg.properties.schemaId: ... @typing.overload def __getitem__(self, name: typing.Literal["numberOfPages"]) -> MetaOapg.properties.numberOfPages: ... @typing.overload def __getitem__(self, name: typing.Literal["startPageIndex"]) -> MetaOapg.properties.startPageIndex: ... @typing.overload def __getitem__(self, name: typing.Literal["endPageIndex"]) -> MetaOapg.properties.endPageIndex: ... @typing.overload def __getitem__(self, name: typing.Literal["location"]) -> 'S3Location': ... @typing.overload def __getitem__(self, name: typing.Literal["extractionExecution"]) -> 'ExtractionExecution': ... @typing.overload def __getitem__(self, name: typing.Literal["schemaSnapshot"]) -> 'FormJSONSchema': ... @typing.overload def __getitem__(self, name: typing.Literal["statusTransitionLog"]) -> MetaOapg.properties.statusTransitionLog: ... @typing.overload def __getitem__(self, name: typing.Literal["extractedData"]) -> MetaOapg.properties.extractedData: ... @typing.overload def __getitem__(self, name: typing.Literal["originalExtractedData"]) -> MetaOapg.properties.originalExtractedData: ... @typing.overload def __getitem__(self, name: typing.Literal["extractedDataMetadata"]) -> MetaOapg.properties.extractedDataMetadata: ... @typing.overload def __getitem__(self, name: typing.Literal["extractionAccuracy"]) -> 'ExtractionAccuracy': ... @typing.overload def __getitem__(self, name: typing.Literal["averageConfidence"]) -> MetaOapg.properties.averageConfidence: ... @typing.overload def __getitem__(self, name: typing.Literal["url"]) -> MetaOapg.properties.url: ... @typing.overload def __getitem__(self, name: typing.Literal["textractOutputLocation"]) -> 'S3Location': ... @typing.overload def __getitem__(self, name: typing.Literal["tags"]) -> MetaOapg.properties.tags: ... @typing.overload def __getitem__(self, name: typing.Literal["notes"]) -> MetaOapg.properties.notes: ... @typing.overload def __getitem__(self, name: str) -> schemas.UnsetAnyTypeSchema: ... def __getitem__(self, name: typing.Union[typing.Literal["documentId", "documentName", "formId", "schemaId", "numberOfPages", "startPageIndex", "endPageIndex", "location", "extractionExecution", "schemaSnapshot", "statusTransitionLog", "extractedData", "originalExtractedData", "extractedDataMetadata", "extractionAccuracy", "averageConfidence", "url", "textractOutputLocation", "tags", "notes", ], str]): # dict_instance[name] accessor return super().__getitem__(name) @typing.overload def get_item_oapg(self, name: typing.Literal["documentId"]) -> MetaOapg.properties.documentId: ... @typing.overload def get_item_oapg(self, name: typing.Literal["documentName"]) -> MetaOapg.properties.documentName: ... @typing.overload def get_item_oapg(self, name: typing.Literal["formId"]) -> MetaOapg.properties.formId: ... @typing.overload def get_item_oapg(self, name: typing.Literal["schemaId"]) -> MetaOapg.properties.schemaId: ... @typing.overload def get_item_oapg(self, name: typing.Literal["numberOfPages"]) -> MetaOapg.properties.numberOfPages: ... @typing.overload def get_item_oapg(self, name: typing.Literal["startPageIndex"]) -> MetaOapg.properties.startPageIndex: ... @typing.overload def get_item_oapg(self, name: typing.Literal["endPageIndex"]) -> MetaOapg.properties.endPageIndex: ... @typing.overload def get_item_oapg(self, name: typing.Literal["location"]) -> 'S3Location': ... @typing.overload def get_item_oapg(self, name: typing.Literal["extractionExecution"]) -> 'ExtractionExecution': ... @typing.overload def get_item_oapg(self, name: typing.Literal["schemaSnapshot"]) -> 'FormJSONSchema': ... @typing.overload def get_item_oapg(self, name: typing.Literal["statusTransitionLog"]) -> MetaOapg.properties.statusTransitionLog: ... @typing.overload def get_item_oapg(self, name: typing.Literal["extractedData"]) -> typing.Union[MetaOapg.properties.extractedData, schemas.Unset]: ... @typing.overload def get_item_oapg(self, name: typing.Literal["originalExtractedData"]) -> typing.Union[MetaOapg.properties.originalExtractedData, schemas.Unset]: ... @typing.overload def get_item_oapg(self, name: typing.Literal["extractedDataMetadata"]) -> typing.Union[MetaOapg.properties.extractedDataMetadata, schemas.Unset]: ... @typing.overload def get_item_oapg(self, name: typing.Literal["extractionAccuracy"]) -> typing.Union['ExtractionAccuracy', schemas.Unset]: ... @typing.overload def get_item_oapg(self, name: typing.Literal["averageConfidence"]) -> typing.Union[MetaOapg.properties.averageConfidence, schemas.Unset]: ... @typing.overload def get_item_oapg(self, name: typing.Literal["url"]) -> typing.Union[MetaOapg.properties.url, schemas.Unset]: ... @typing.overload def get_item_oapg(self, name: typing.Literal["textractOutputLocation"]) -> typing.Union['S3Location', schemas.Unset]: ... @typing.overload def get_item_oapg(self, name: typing.Literal["tags"]) -> typing.Union[MetaOapg.properties.tags, schemas.Unset]: ... @typing.overload def get_item_oapg(self, name: typing.Literal["notes"]) -> typing.Union[MetaOapg.properties.notes, schemas.Unset]: ... @typing.overload def get_item_oapg(self, name: str) -> typing.Union[schemas.UnsetAnyTypeSchema, schemas.Unset]: ... def get_item_oapg(self, name: typing.Union[typing.Literal["documentId", "documentName", "formId", "schemaId", "numberOfPages", "startPageIndex", "endPageIndex", "location", "extractionExecution", "schemaSnapshot", "statusTransitionLog", "extractedData", "originalExtractedData", "extractedDataMetadata", "extractionAccuracy", "averageConfidence", "url", "textractOutputLocation", "tags", "notes", ], str]): return super().get_item_oapg(name) def __new__( cls, *args: typing.Union[dict, frozendict.frozendict, ], formId: typing.Union[MetaOapg.properties.formId, str, ], numberOfPages: typing.Union[MetaOapg.properties.numberOfPages, int, ], schemaId: typing.Union[MetaOapg.properties.schemaId, str, ], startPageIndex: typing.Union[MetaOapg.properties.startPageIndex, int, ], statusTransitionLog: typing.Union[MetaOapg.properties.statusTransitionLog, tuple, ], documentId: typing.Union[MetaOapg.properties.documentId, str, ], location: 'S3Location', documentName: typing.Union[MetaOapg.properties.documentName, str, ], endPageIndex: typing.Union[MetaOapg.properties.endPageIndex, int, ], extractionExecution: 'ExtractionExecution', schemaSnapshot: 'FormJSONSchema', extractedData: typing.Union[MetaOapg.properties.extractedData, dict, frozendict.frozendict, str, date, datetime, uuid.UUID, int, float, decimal.Decimal, None, list, tuple, bytes, schemas.Unset] = schemas.unset, originalExtractedData: typing.Union[MetaOapg.properties.originalExtractedData, dict, frozendict.frozendict, str, date, datetime, uuid.UUID, int, float, decimal.Decimal, None, list, tuple, bytes, schemas.Unset] = schemas.unset, extractedDataMetadata: typing.Union[MetaOapg.properties.extractedDataMetadata, dict, frozendict.frozendict, str, date, datetime, uuid.UUID, int, float, decimal.Decimal, None, list, tuple, bytes, schemas.Unset] = schemas.unset, extractionAccuracy: typing.Union['ExtractionAccuracy', schemas.Unset] = schemas.unset, averageConfidence: typing.Union[MetaOapg.properties.averageConfidence, decimal.Decimal, int, float, schemas.Unset] = schemas.unset, url: typing.Union[MetaOapg.properties.url, str, schemas.Unset] = schemas.unset, textractOutputLocation: typing.Union['S3Location', schemas.Unset] = schemas.unset, tags: typing.Union[MetaOapg.properties.tags, tuple, schemas.Unset] = schemas.unset, notes: typing.Union[MetaOapg.properties.notes, str, schemas.Unset] = schemas.unset, _configuration: typing.Optional[schemas.Configuration] = None, **kwargs: typing.Union[schemas.AnyTypeSchema, dict, frozendict.frozendict, str, date, datetime, uuid.UUID, int, float, decimal.Decimal, None, list, tuple, bytes], ) -> 'FormMetadata': return super().__new__( cls, *args, formId=formId, numberOfPages=numberOfPages, schemaId=schemaId, startPageIndex=startPageIndex, statusTransitionLog=statusTransitionLog, documentId=documentId, location=location, documentName=documentName, endPageIndex=endPageIndex, extractionExecution=extractionExecution, schemaSnapshot=schemaSnapshot, extractedData=extractedData, originalExtractedData=originalExtractedData, extractedDataMetadata=extractedDataMetadata, extractionAccuracy=extractionAccuracy, averageConfidence=averageConfidence, url=url, textractOutputLocation=textractOutputLocation, tags=tags, notes=notes, _configuration=_configuration, **kwargs, ) from api_python_client.model.create_update_details import CreateUpdateDetails from api_python_client.model.extraction_accuracy import ExtractionAccuracy from api_python_client.model.extraction_execution import ExtractionExecution from api_python_client.model.form_json_schema import FormJSONSchema from api_python_client.model.s3_location import S3Location from api_python_client.model.status_transition import StatusTransition