models.py•14.6 kB
# generated by fastapi-codegen:
# filename: openapi.yaml
# timestamp: 2025-06-29T01:54:10+00:00
from __future__ import annotations
from enum import Enum
from typing import Dict, List, Optional
from pydantic import BaseModel, Field
class Icons(BaseModel):
x16: Optional[str] = Field(None, description='The URL of the 16x16 icon.')
x32: Optional[str] = Field(None, description='The URL of the 32x32 icon.')
class Item(BaseModel):
description: Optional[str] = Field(None, description='The description of this API.')
discoveryLink: Optional[str] = Field(
None, description='A link to the discovery document.'
)
discoveryRestUrl: Optional[str] = Field(
None, description='The URL for the discovery REST document.'
)
documentationLink: Optional[str] = Field(
None, description='A link to human readable documentation for the API.'
)
icons: Optional[Icons] = Field(
None, description='Links to 16x16 and 32x32 icons representing the API.'
)
id: Optional[str] = Field(None, description='The id of this API.')
kind: Optional[str] = Field(
'discovery#directoryItem', description='The kind for this response.'
)
labels: Optional[List[str]] = Field(
None,
description='Labels for the status of this API, such as labs or deprecated.',
)
name: Optional[str] = Field(None, description='The name of the API.')
preferred: Optional[bool] = Field(
None, description='True if this version is the preferred version to use.'
)
title: Optional[str] = Field(None, description='The title of this API.')
version: Optional[str] = Field(None, description='The version of the API.')
class DirectoryList(BaseModel):
discoveryVersion: Optional[str] = Field(
'v1',
description='Indicate the version of the Discovery API used to generate this doc.',
)
items: Optional[List[Item]] = Field(
None,
description='The individual directory entries. One entry per api/version pair.',
)
kind: Optional[str] = Field(
'discovery#directoryList', description='The kind for this response.'
)
class Annotations(BaseModel):
required: Optional[List[str]] = Field(
None,
description='A list of methods for which this property is required on requests.',
)
class MapItem(BaseModel):
field_ref: Optional[str] = Field(None, alias='$ref')
type_value: Optional[str] = None
class Variant(BaseModel):
discriminant: Optional[str] = Field(
None, description='The name of the type discriminant property.'
)
map: Optional[List[MapItem]] = Field(
None, description='The map of discriminant value to schema to use for parsing..'
)
class JsonSchema(BaseModel):
field_ref: Optional[str] = Field(
None,
alias='$ref',
description='A reference to another schema. The value of this property is the "id" of another schema.',
)
additionalProperties: Optional[JsonSchema] = Field(
None,
description='If this is a schema for an object, this property is the schema for any additional properties with dynamic keys on this object.',
)
annotations: Optional[Annotations] = Field(
None, description='Additional information about this property.'
)
description: Optional[str] = Field(
None, description='A description of this object.'
)
enum: Optional[List[str]] = Field(
None, description='Values this parameter may take (if it is an enum).'
)
enumDescriptions: Optional[List[str]] = Field(
None,
description='The descriptions for the enums. Each position maps to the corresponding value in the "enum" array.',
)
format: Optional[str] = Field(
None,
description='An additional regular expression or key that helps constrain the value. For more details see: http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.23',
)
id: Optional[str] = Field(None, description='Unique identifier for this schema.')
items: Optional[JsonSchema] = Field(
None,
description='If this is a schema for an array, this property is the schema for each element in the array.',
)
location: Optional[str] = Field(
None,
description='Whether this parameter goes in the query or the path for REST requests.',
)
maximum: Optional[str] = Field(
None, description='The maximum value of this parameter.'
)
minimum: Optional[str] = Field(
None, description='The minimum value of this parameter.'
)
pattern: Optional[str] = Field(
None,
description='The regular expression this parameter must conform to. Uses Java 6 regex format: http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html',
)
properties: Optional[Dict[str, JsonSchema]] = Field(
None,
description='If this is a schema for an object, list the schema for each property of this object.',
)
readOnly: Optional[bool] = Field(
None,
description='The value is read-only, generated by the service. The value cannot be modified by the client. If the value is included in a POST, PUT, or PATCH request, it is ignored by the service.',
)
repeated: Optional[bool] = Field(
None, description='Whether this parameter may appear multiple times.'
)
required: Optional[bool] = Field(
None, description='Whether the parameter is required.'
)
type: Optional[str] = Field(
None,
description='The value type for this schema. A list of values can be found here: http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.1',
)
variant: Optional[Variant] = Field(
None,
description='In a variant data type, the value of one property is used to determine how to interpret the entire entity. Its value must exist in a map of descriminant values to schema names.',
)
class Scopes(BaseModel):
description: Optional[str] = Field(None, description='Description of scope.')
class Oauth2(BaseModel):
scopes: Optional[Dict[str, Scopes]] = Field(
None, description='Available OAuth 2.0 scopes.'
)
class Auth(BaseModel):
oauth2: Optional[Oauth2] = Field(
None, description='OAuth 2.0 authentication information.'
)
class Resumable(BaseModel):
multipart: Optional[bool] = Field(
True, description='True if this endpoint supports uploading multipart media.'
)
path: Optional[str] = Field(
None,
description='The URI path to be used for upload. Should be used in conjunction with the basePath property at the api-level.',
)
class Simple(BaseModel):
multipart: Optional[bool] = Field(
True, description='True if this endpoint supports upload multipart media.'
)
path: Optional[str] = Field(
None,
description='The URI path to be used for upload. Should be used in conjunction with the basePath property at the api-level.',
)
class Protocols(BaseModel):
resumable: Optional[Resumable] = Field(
None, description='Supports the Resumable Media Upload protocol.'
)
simple: Optional[Simple] = Field(
None, description='Supports uploading as a single HTTP request.'
)
class MediaUpload(BaseModel):
accept: Optional[List[str]] = Field(
None,
description='MIME Media Ranges for acceptable media uploads to this method.',
)
maxSize: Optional[str] = Field(
None,
description='Maximum size of a media upload, such as "1MB", "2GB" or "3TB".',
)
protocols: Optional[Protocols] = Field(
None, description='Supported upload protocols.'
)
class Request(BaseModel):
field_ref: Optional[str] = Field(
None, alias='$ref', description='Schema ID for the request schema.'
)
parameterName: Optional[str] = Field(None, description='parameter name.')
class Response(BaseModel):
field_ref: Optional[str] = Field(
None, alias='$ref', description='Schema ID for the response schema.'
)
class RestMethod(BaseModel):
description: Optional[str] = Field(None, description='Description of this method.')
etagRequired: Optional[bool] = Field(
None,
description='Whether this method requires an ETag to be specified. The ETag is sent as an HTTP If-Match or If-None-Match header.',
)
flatPath: Optional[str] = Field(
None,
description='The URI path of this REST method in (RFC 6570) format without level 2 features ({+var}). Supplementary to the path property.',
)
httpMethod: Optional[str] = Field(
None, description='HTTP method used by this method.'
)
id: Optional[str] = Field(
None,
description='A unique ID for this method. This property can be used to match methods between different versions of Discovery.',
)
mediaUpload: Optional[MediaUpload] = Field(
None, description='Media upload parameters.'
)
parameterOrder: Optional[List[str]] = Field(
None,
description='Ordered list of required parameters, serves as a hint to clients on how to structure their method signatures. The array is ordered such that the "most-significant" parameter appears first.',
)
parameters: Optional[Dict[str, JsonSchema]] = Field(
None, description='Details for all parameters in this method.'
)
path: Optional[str] = Field(
None,
description='The URI path of this REST method. Should be used in conjunction with the basePath property at the api-level.',
)
request: Optional[Request] = Field(None, description='The schema for the request.')
response: Optional[Response] = Field(
None, description='The schema for the response.'
)
scopes: Optional[List[str]] = Field(
None, description='OAuth 2.0 scopes applicable to this method.'
)
supportsMediaDownload: Optional[bool] = Field(
None, description='Whether this method supports media downloads.'
)
supportsMediaUpload: Optional[bool] = Field(
None, description='Whether this method supports media uploads.'
)
supportsSubscription: Optional[bool] = Field(
None, description='Whether this method supports subscriptions.'
)
useMediaDownloadService: Optional[bool] = Field(
None,
description='Indicates that downloads from this method should use the download service URL (i.e. "/download"). Only applies if the method supports media download.',
)
class RestResource(BaseModel):
methods: Optional[Dict[str, RestMethod]] = Field(
None, description='Methods on this resource.'
)
resources: Optional[Dict[str, RestResource]] = Field(
None, description='Sub-resources on this resource.'
)
class Alt(Enum):
json = 'json'
class RestDescription(BaseModel):
auth: Optional[Auth] = Field(None, description='Authentication information.')
basePath: Optional[str] = Field(
None, description='[DEPRECATED] The base path for REST requests.'
)
baseUrl: Optional[str] = Field(
None, description='[DEPRECATED] The base URL for REST requests.'
)
batchPath: Optional[str] = Field(
None, description='The path for REST batch requests.'
)
canonicalName: Optional[str] = Field(
None,
description='Indicates how the API name should be capitalized and split into various parts. Useful for generating pretty class names.',
)
description: Optional[str] = Field(None, description='The description of this API.')
discoveryVersion: Optional[str] = Field(
'v1',
description='Indicate the version of the Discovery API used to generate this doc.',
)
documentationLink: Optional[str] = Field(
None, description='A link to human readable documentation for the API.'
)
etag: Optional[str] = Field(None, description='The ETag for this response.')
exponentialBackoffDefault: Optional[bool] = Field(
None,
description='Enable exponential backoff for suitable methods in the generated clients.',
)
features: Optional[List[str]] = Field(
None, description='A list of supported features for this API.'
)
icons: Optional[Icons] = Field(
None, description='Links to 16x16 and 32x32 icons representing the API.'
)
id: Optional[str] = Field(None, description='The ID of this API.')
kind: Optional[str] = Field(
'discovery#restDescription', description='The kind for this response.'
)
labels: Optional[List[str]] = Field(
None,
description='Labels for the status of this API, such as labs or deprecated.',
)
methods: Optional[Dict[str, RestMethod]] = Field(
None, description='API-level methods for this API.'
)
name: Optional[str] = Field(None, description='The name of this API.')
ownerDomain: Optional[str] = Field(
None,
description='The domain of the owner of this API. Together with the ownerName and a packagePath values, this can be used to generate a library for this API which would have a unique fully qualified name.',
)
ownerName: Optional[str] = Field(
None, description='The name of the owner of this API. See ownerDomain.'
)
packagePath: Optional[str] = Field(
None, description='The package of the owner of this API. See ownerDomain.'
)
parameters: Optional[Dict[str, JsonSchema]] = Field(
None, description='Common parameters that apply across all apis.'
)
protocol: Optional[str] = Field(
'rest', description='The protocol described by this document.'
)
resources: Optional[Dict[str, RestResource]] = Field(
None, description='The resources in this API.'
)
revision: Optional[str] = Field(None, description='The version of this API.')
rootUrl: Optional[str] = Field(
None, description='The root URL under which all API services live.'
)
schemas: Optional[Dict[str, JsonSchema]] = Field(
None, description='The schemas for this API.'
)
servicePath: Optional[str] = Field(
None, description='The base path for all REST requests.'
)
title: Optional[str] = Field(None, description='The title of this API.')
version: Optional[str] = Field(None, description='The version of this API.')
version_module: Optional[bool] = None
JsonSchema.model_rebuild()
RestResource.model_rebuild()