Source code for botocraft.services.schemas

# This file is automatically generated by botocraft.  Do not edit directly.
# mypy: disable-error-code="index, override, assignment, union-attr, misc"
from pydantic import Field
from .abstract import (
    Boto3Model,
    ReadonlyBoto3Model,
    PrimaryBoto3Model,
    ReadonlyPrimaryBoto3Model,
    Boto3ModelManager,
    ReadonlyBoto3ModelManager,
)
from typing import ClassVar, Literal, Any, cast
from .abstract import PrimaryBoto3ModelQuerySet
from botocraft.mixins.schemas import registry_response_to_registry
from botocraft.mixins.schemas import discoverer_response_to_discoverer
from botocraft.mixins.tags import TagsDictMixin
from datetime import datetime
from botocraft.mixins.schemas import schema_list_add_registry_name
import builtins
from botocraft.mixins.schemas import schema_response_to_schema

# ===============
# Managers
# ===============


[docs]class RegistryManager(Boto3ModelManager): service_name: str = "schemas"
[docs] @registry_response_to_registry def create(self, model: "Registry") -> "CreateRegistryResponse": """ Creates a registry. Args: model: The :py:class:`RegistrySummary` to create. """ data = model.model_dump(exclude_none=True, by_alias=True) args = dict( RegistryName=data.get("RegistryName"), Description=data.get("Description"), Tags=data.get("Tags"), ) _response = self.client.create_registry( **{k: v for k, v in args.items() if v is not None} ) response = CreateRegistryResponse(**_response) self.sessionize(response) return cast("CreateRegistryResponse", response)
[docs] @registry_response_to_registry def update(self, model: "Registry") -> "UpdateRegistryResponse": """ Updates a registry. Args: model: The :py:class:`RegistrySummary` to update. """ data = model.model_dump(exclude_none=True, by_alias=True) args = dict( RegistryName=data.get("RegistryName"), Description=data.get("Description") ) _response = self.client.update_registry( **{k: v for k, v in args.items() if v is not None} ) response = UpdateRegistryResponse(**_response) self.sessionize(response) return cast("UpdateRegistryResponse", response)
[docs] def delete(self, RegistryName: str) -> None: """ Deletes a Registry. Args: RegistryName: The name of the registry. """ args: dict[str, Any] = dict(RegistryName=self.serialize(RegistryName)) self.client.delete_registry(**{k: v for k, v in args.items() if v is not None})
[docs] @registry_response_to_registry def get(self, RegistryName: str) -> "DescribeRegistryResponse | None": """ Describes the registry. Args: RegistryName: The name of the registry. """ args: dict[str, Any] = dict(RegistryName=self.serialize(RegistryName)) _response = self.client.describe_registry( **{k: v for k, v in args.items() if v is not None} ) response = DescribeRegistryResponse(**_response) if response: self.sessionize(response) return response return None
[docs] def list( self, *, Limit: "int | None" = None, RegistryNamePrefix: "str | None" = None, Scope: "str | None" = None, ) -> PrimaryBoto3ModelQuerySet: """ List the registries. Keyword Args: Limit: the value to set for Limit RegistryNamePrefix: Specifying this limits the results to only those registry names that start with the specified prefix. Scope: Can be set to Local or AWS to limit responses to your custom registries, or the ones provided by AWS. """ paginator = self.client.get_paginator("list_registries") args: dict[str, Any] = dict( Limit=self.serialize(Limit), RegistryNamePrefix=self.serialize(RegistryNamePrefix), Scope=self.serialize(Scope), ) response_iterator = paginator.paginate( **{k: v for k, v in args.items() if v is not None} ) results = [] for _response in response_iterator: if list(_response.keys()) == ["ResponseMetadata"]: break if "ResponseMetadata" in _response: del _response["ResponseMetadata"] response = ListRegistriesResponse(**_response) if response.Registries: results.extend(response.Registries) else: if getattr(response, "NextToken", None): continue break self.sessionize(results) if results and isinstance(results[0], Boto3Model): return PrimaryBoto3ModelQuerySet(results) return results
[docs]class DiscovererManager(Boto3ModelManager): service_name: str = "schemas"
[docs] @discoverer_response_to_discoverer def create(self, model: "Discoverer") -> "CreateDiscovererResponse": """ Creates a discoverer. Args: model: The :py:class:`DiscovererSummary` to create. """ data = model.model_dump(exclude_none=True, by_alias=True) args = dict( SourceArn=data.get("SourceArn"), Description=data.get("Description"), CrossAccount=data.get("CrossAccount"), Tags=data.get("Tags"), ) _response = self.client.create_discoverer( **{k: v for k, v in args.items() if v is not None} ) response = CreateDiscovererResponse(**_response) self.sessionize(response) return cast("CreateDiscovererResponse", response)
[docs] @discoverer_response_to_discoverer def update(self, model: "Discoverer") -> "UpdateDiscovererResponse": """ Updates the discoverer. Args: model: The :py:class:`DiscovererSummary` to update. """ data = model.model_dump(exclude_none=True, by_alias=True) args = dict( DiscovererId=data.get("DiscovererId"), Description=data.get("Description"), CrossAccount=data.get("CrossAccount"), ) _response = self.client.update_discoverer( **{k: v for k, v in args.items() if v is not None} ) response = UpdateDiscovererResponse(**_response) self.sessionize(response) return cast("UpdateDiscovererResponse", response)
[docs] def delete(self, DiscovererId: str) -> None: """ Deletes a discoverer. Args: DiscovererId: The ID of the discoverer. """ args: dict[str, Any] = dict(DiscovererId=self.serialize(DiscovererId)) self.client.delete_discoverer( **{k: v for k, v in args.items() if v is not None} )
[docs] @discoverer_response_to_discoverer def get(self, DiscovererId: str) -> "DescribeDiscovererResponse | None": """ Describes the discoverer. Args: DiscovererId: The ID of the discoverer. """ args: dict[str, Any] = dict(DiscovererId=self.serialize(DiscovererId)) _response = self.client.describe_discoverer( **{k: v for k, v in args.items() if v is not None} ) response = DescribeDiscovererResponse(**_response) if response: self.sessionize(response) return response return None
[docs] def list( self, *, DiscovererIdPrefix: "str | None" = None, Limit: "int | None" = None, SourceArnPrefix: "str | None" = None, ) -> PrimaryBoto3ModelQuerySet: """ List the discoverers. Keyword Args: DiscovererIdPrefix: Specifying this limits the results to only those discoverer IDs that start with the specified prefix. Limit: the value to set for Limit SourceArnPrefix: Specifying this limits the results to only those ARNs that start with the specified prefix. """ paginator = self.client.get_paginator("list_discoverers") args: dict[str, Any] = dict( DiscovererIdPrefix=self.serialize(DiscovererIdPrefix), Limit=self.serialize(Limit), SourceArnPrefix=self.serialize(SourceArnPrefix), ) response_iterator = paginator.paginate( **{k: v for k, v in args.items() if v is not None} ) results = [] for _response in response_iterator: if list(_response.keys()) == ["ResponseMetadata"]: break if "ResponseMetadata" in _response: del _response["ResponseMetadata"] response = ListDiscoverersResponse(**_response) if response.Discoverers: results.extend(response.Discoverers) else: if getattr(response, "NextToken", None): continue break self.sessionize(results) if results and isinstance(results[0], Boto3Model): return PrimaryBoto3ModelQuerySet(results) return results
[docs] def start(self, DiscovererId: str) -> "StartDiscovererResponse": """ Starts the discoverer. Args: DiscovererId: The ID of the discoverer. """ args: dict[str, Any] = dict(DiscovererId=self.serialize(DiscovererId)) _response = self.client.start_discoverer( **{k: v for k, v in args.items() if v is not None} ) response = StartDiscovererResponse(**_response) results: "StartDiscovererResponse" = None if response is not None: results = response self.sessionize(results) return cast("StartDiscovererResponse", results)
[docs] def stop(self, DiscovererId: str) -> "StopDiscovererResponse": """ Stops the discoverer. Args: DiscovererId: The ID of the discoverer. """ args: dict[str, Any] = dict(DiscovererId=self.serialize(DiscovererId)) _response = self.client.stop_discoverer( **{k: v for k, v in args.items() if v is not None} ) response = StopDiscovererResponse(**_response) results: "StopDiscovererResponse" = None if response is not None: results = response self.sessionize(results) return cast("StopDiscovererResponse", results)
[docs]class SchemaManager(Boto3ModelManager): service_name: str = "schemas"
[docs] @schema_response_to_schema def create(self, model: "Schema") -> "CreateSchemaResponse": """ Creates a schema definition. Args: model: The :py:class:`SchemaSummary` to create. """ data = model.model_dump(exclude_none=True, by_alias=True) args = dict( Content=data.get("Content"), RegistryName=data.get("RegistryName"), SchemaName=data.get("SchemaName"), Type=data.get("Type"), Description=data.get("Description"), Tags=data.get("Tags"), ) _response = self.client.create_schema( **{k: v for k, v in args.items() if v is not None} ) response = CreateSchemaResponse(**_response) self.sessionize(response) return cast("CreateSchemaResponse", response)
[docs] @schema_response_to_schema def update( self, model: "Schema", ClientTokenId: "str | None" = None ) -> "UpdateSchemaResponse": """ Updates the schema definition. Args: model: The :py:class:`SchemaSummary` to update. Keyword Args: ClientTokenId: The ID of the client token. """ data = model.model_dump(exclude_none=True, by_alias=True) args = dict( RegistryName=data.get("RegistryName"), SchemaName=data.get("SchemaName"), ClientTokenId=self.serialize(ClientTokenId), Content=data.get("Content"), Description=data.get("Description"), Type=data.get("Type"), ) _response = self.client.update_schema( **{k: v for k, v in args.items() if v is not None} ) response = UpdateSchemaResponse(**_response) self.sessionize(response) return cast("UpdateSchemaResponse", response)
[docs] def delete(self, RegistryName: str, SchemaName: str) -> None: """ Delete a schema definition. Args: RegistryName: The name of the registry. SchemaName: The name of the schema. """ args: dict[str, Any] = dict( RegistryName=self.serialize(RegistryName), SchemaName=self.serialize(SchemaName), ) self.client.delete_schema(**{k: v for k, v in args.items() if v is not None})
[docs] @schema_response_to_schema def get( self, RegistryName: str, SchemaName: str, *, SchemaVersion: "str | None" = None ) -> "DescribeSchemaResponse | None": """ Retrieve the schema definition. Args: RegistryName: The name of the registry. SchemaName: The name of the schema. Keyword Args: SchemaVersion: Specifying this limits the results to only this schema version. """ args: dict[str, Any] = dict( RegistryName=self.serialize(RegistryName), SchemaName=self.serialize(SchemaName), SchemaVersion=self.serialize(SchemaVersion), ) _response = self.client.describe_schema( **{k: v for k, v in args.items() if v is not None} ) response = DescribeSchemaResponse(**_response) if response: self.sessionize(response) return response return None
[docs] @schema_list_add_registry_name def list( self, RegistryName: str, *, Limit: "int | None" = None, SchemaNamePrefix: "str | None" = None, ) -> PrimaryBoto3ModelQuerySet: """ List the schemas. Args: RegistryName: The name of the registry. Keyword Args: Limit: the value to set for Limit SchemaNamePrefix: Specifying this limits the results to only those schema names that start with the specified prefix. """ paginator = self.client.get_paginator("list_schemas") args: dict[str, Any] = dict( RegistryName=self.serialize(RegistryName), Limit=self.serialize(Limit), SchemaNamePrefix=self.serialize(SchemaNamePrefix), ) response_iterator = paginator.paginate( **{k: v for k, v in args.items() if v is not None} ) results = [] for _response in response_iterator: if list(_response.keys()) == ["ResponseMetadata"]: break if "ResponseMetadata" in _response: del _response["ResponseMetadata"] response = ListSchemasResponse(**_response) if response.Schemas: results.extend(response.Schemas) else: if getattr(response, "NextToken", None): continue break self.sessionize(results) if results and isinstance(results[0], Boto3Model): return PrimaryBoto3ModelQuerySet(results) return results
[docs] def list_versions( self, RegistryName: str, SchemaName: str, *, Limit: "int | None" = None ) -> "builtins.list[SchemaVersionSummary]": """ Provides a list of the schema versions and related information. Args: RegistryName: The name of the registry. SchemaName: The name of the schema. Keyword Args: Limit: the value to set for Limit """ paginator = self.client.get_paginator("list_schema_versions") args: dict[str, Any] = dict( RegistryName=self.serialize(RegistryName), SchemaName=self.serialize(SchemaName), Limit=self.serialize(Limit), ) response_iterator = paginator.paginate( **{k: v for k, v in args.items() if v is not None} ) results: "builtins.list[SchemaVersionSummary]" = [] for _response in response_iterator: response = ListSchemaVersionsResponse(**_response) if response.SchemaVersions is not None: results.extend(response.SchemaVersions) else: break self.sessionize(results) return cast("builtins.list[SchemaVersionSummary]", results)
[docs] def export( self, RegistryName: str, SchemaName: str, Type: str, *, SchemaVersion: "str | None" = None, ) -> "ExportSchemaResponse | None": """ Args: RegistryName: The name of the registry. SchemaName: The name of the schema. Type: the value to set for Type Keyword Args: SchemaVersion: Specifying this limits the results to only this schema version. """ args: dict[str, Any] = dict( RegistryName=self.serialize(RegistryName), SchemaName=self.serialize(SchemaName), Type=self.serialize(Type), SchemaVersion=self.serialize(SchemaVersion), ) _response = self.client.export_schema( **{k: v for k, v in args.items() if v is not None} ) response = ExportSchemaResponse(**_response) results: "ExportSchemaResponse | None" = None if response is not None: results = response self.sessionize(results) return cast("ExportSchemaResponse | None", results)
# ============== # Service Models # ==============
[docs]class Registry(PrimaryBoto3Model): manager_class: ClassVar[type[Boto3ModelManager]] = RegistryManager RegistryArn: str = Field(default=None, frozen=True) """ The ARN of the registry. """ RegistryName: "str | None" = None """ The name of the registry. """ Tags: "dict[str, str] | None" = Field(default_factory=dict) """ Tags associated with the registry. """ Description: str = Field(default=None, frozen=True) """ The description of the registry. """ @property def pk(self) -> str | None: """ Return the primary key of the model. This is the value of the :py:attr:`RegistryName` attribute. Returns: The primary key of the model instance. """ return self.RegistryName @property def arn(self) -> str | None: """ Return the ARN of the model. This is the value of the :py:attr:`RegistryArn` attribute. Returns: The ARN of the model instance. """ return self.RegistryArn @property def name(self) -> str | None: """ Return the name of the model. This is the value of the :py:attr:`RegistryName` attribute. Returns: The name of the model instance. """ return self.RegistryName def __hash__(self) -> int: """ Return the hash of the model. This is the value of the :py:attr:`RegistryName` attribute. """ return hash(self.RegistryName)
[docs]class Discoverer(PrimaryBoto3Model): manager_class: ClassVar[type[Boto3ModelManager]] = DiscovererManager DiscovererArn: str = Field(default=None, frozen=True) """ The ARN of the discoverer. """ DiscovererId: "str | None" = None """ The ID of the discoverer. """ SourceArn: "str | None" = None """ The ARN of the event bus. """ State: Literal["STARTED", "STOPPED"] = Field(default=None, frozen=True) """ The state of the discoverer. """ CrossAccount: "bool | None" = None """ The Status if the discoverer will discover schemas from events sent from another account. """ Tags: "dict[str, str] | None" = Field(default_factory=dict) """ Tags associated with the resource. """ Description: str = Field(default=None, frozen=True) """ The description of the discoverer. """ @property def pk(self) -> str | None: """ Return the primary key of the model. This is the value of the :py:attr:`DiscovererId` attribute. Returns: The primary key of the model instance. """ return self.DiscovererId @property def arn(self) -> str | None: """ Return the ARN of the model. This is the value of the :py:attr:`DiscovererArn` attribute. Returns: The ARN of the model instance. """ return self.DiscovererArn def __hash__(self) -> int: """ Return the hash of the model. This is the value of the :py:attr:`DiscovererId` attribute. """ return hash(self.DiscovererId)
[docs]class Schema(PrimaryBoto3Model): """ A summary of schema details. """ manager_class: ClassVar[type[Boto3ModelManager]] = SchemaManager LastModified: datetime = Field(default=None, frozen=True) """ The date and time that schema was modified. """ SchemaArn: str = Field(default=None, frozen=True) """ The ARN of the schema. """ SchemaName: "str | None" = None """ The name of the schema. """ Tags: "dict[str, str] | None" = Field(default_factory=dict) """ Tags associated with the schema. """ VersionCount: int = Field(default=None, frozen=True) """ The number of versions available for the schema. """ RegistryName: "str | None" = None """ The registry that owns this schema. """ Content: str = Field(default=None, frozen=True) """ The source of the schema definition. """ Description: str = Field(default=None, frozen=True) """ The description of the schema. """ SchemaVersion: str = Field(default=None, frozen=True) """ The version number of the schema. """ Type: str = Field(default=None, frozen=True) """ The type of the schema. """ VersionCreatedDate: datetime = Field(default=None, frozen=True) """ The date the schema version was created. """ @property def pk(self) -> str | None: """ Return the primary key of the model. This is the value of the :py:attr:`SchemaArn` attribute. Returns: The primary key of the model instance. """ return self.SchemaArn @property def arn(self) -> str | None: """ Return the ARN of the model. This is the value of the :py:attr:`SchemaArn` attribute. Returns: The ARN of the model instance. """ return self.SchemaArn @property def name(self) -> str | None: """ Return the name of the model. This is the value of the :py:attr:`SchemaName` attribute. Returns: The name of the model instance. """ return self.SchemaName def __hash__(self) -> int: """ Return the hash of the model. This is the value of the :py:attr:`SchemaArn` attribute. """ return hash(self.SchemaArn)
[docs] def versions(self) -> "builtins.list[SchemaVersionSummary]": """ Return the versions that belong to this schema. """ return ( cast("SchemaManager", self.objects) # type: ignore[attr-defined] .using(self.session) .list_versions( cast("str", self.RegistryName), cast("str", self.SchemaName), ) )
[docs] def export(self, SchemaVersion: str | None = None) -> "ExportSchemaResponse | None": """ Export this schema in the requested format. Keyword Args: SchemaVersion: Specifying this limits the results to only this schema version. """ return ( cast("SchemaManager", self.objects) # type: ignore[attr-defined] .using(self.session) .export( cast("str", self.RegistryName), cast("str", self.SchemaName), "JSONSchemaDraft4", SchemaVersion=SchemaVersion, ) )
# ======================= # Request/Response Models # =======================
[docs]class CreateRegistryResponse(Boto3Model): Description: "str | None" = None """ The description of the registry. """ RegistryArn: "str | None" = None """ The ARN of the registry. """ RegistryName: "str | None" = None """ The name of the registry. """ Tags: "dict[str, str] | None" = Field(default_factory=dict) """ Tags associated with the registry. """
[docs]class UpdateRegistryResponse(Boto3Model): Description: "str | None" = None """ The description of the registry. """ RegistryArn: "str | None" = None """ The ARN of the registry. """ RegistryName: "str | None" = None """ The name of the registry. """ Tags: "dict[str, str] | None" = Field(default_factory=dict) """ Tags associated with the registry. """
[docs]class DescribeRegistryResponse(Boto3Model): Description: "str | None" = None """ The description of the registry. """ RegistryArn: "str | None" = None """ The ARN of the registry. """ RegistryName: "str | None" = None """ The name of the registry. """ Tags: "dict[str, str] | None" = Field(default_factory=dict) """ Tags associated with the registry. """
[docs]class ListRegistriesResponse(Boto3Model): NextToken: "str | None" = None """ The token that specifies the next page of results to return. To request the first page, leave NextToken empty. The token will expire in 24 hours, and cannot be shared with other accounts. """ Registries: "builtins.list[Registry] | None" = Field(default_factory=list) """ An array of registry summaries. """
[docs]class CreateDiscovererResponse(Boto3Model): Description: "str | None" = None """ The description of the discoverer. """ DiscovererArn: "str | None" = None """ The ARN of the discoverer. """ DiscovererId: "str | None" = None """ The ID of the discoverer. """ SourceArn: "str | None" = None """ The ARN of the event bus. """ State: "Literal['STARTED', 'STOPPED'] | None" = None """ The state of the discoverer. """ CrossAccount: "bool | None" = None """ The Status if the discoverer will discover schemas from events sent from another account. """ Tags: "dict[str, str] | None" = Field(default_factory=dict) """ Tags associated with the resource. """
[docs]class UpdateDiscovererResponse(Boto3Model): Description: "str | None" = None """ The description of the discoverer. """ DiscovererArn: "str | None" = None """ The ARN of the discoverer. """ DiscovererId: "str | None" = None """ The ID of the discoverer. """ SourceArn: "str | None" = None """ The ARN of the event bus. """ State: "Literal['STARTED', 'STOPPED'] | None" = None """ The state of the discoverer. """ CrossAccount: "bool | None" = None """ The Status if the discoverer will discover schemas from events sent from another account. """ Tags: "dict[str, str] | None" = Field(default_factory=dict) """ Tags associated with the resource. """
[docs]class DescribeDiscovererResponse(Boto3Model): Description: "str | None" = None """ The description of the discoverer. """ DiscovererArn: "str | None" = None """ The ARN of the discoverer. """ DiscovererId: "str | None" = None """ The ID of the discoverer. """ SourceArn: "str | None" = None """ The ARN of the event bus. """ State: "Literal['STARTED', 'STOPPED'] | None" = None """ The state of the discoverer. """ CrossAccount: "bool | None" = None """ The Status if the discoverer will discover schemas from events sent from another account. """ Tags: "dict[str, str] | None" = Field(default_factory=dict) """ Tags associated with the resource. """
[docs]class ListDiscoverersResponse(Boto3Model): Discoverers: "builtins.list[Discoverer] | None" = Field(default_factory=list) """ An array of DiscovererSummary information. """ NextToken: "str | None" = None """ The token that specifies the next page of results to return. To request the first page, leave NextToken empty. The token will expire in 24 hours, and cannot be shared with other accounts. """
[docs]class StartDiscovererResponse(Boto3Model): DiscovererId: "str | None" = None """ The ID of the discoverer. """ State: "Literal['STARTED', 'STOPPED'] | None" = None """ The state of the discoverer. """
[docs]class StopDiscovererResponse(Boto3Model): DiscovererId: "str | None" = None """ The ID of the discoverer. """ State: "Literal['STARTED', 'STOPPED'] | None" = None """ The state of the discoverer. """
[docs]class CreateSchemaResponse(Boto3Model): Description: "str | None" = None """ The description of the schema. """ LastModified: "datetime | None" = None """ The date and time that schema was modified. """ SchemaArn: "str | None" = None """ The ARN of the schema. """ SchemaName: "str | None" = None """ The name of the schema. """ SchemaVersion: "str | None" = None """ The version number of the schema. """ Tags: "dict[str, str] | None" = Field(default_factory=dict) """ Key-value pairs associated with a resource. """ Type: "str | None" = None """ The type of the schema. """ VersionCreatedDate: "datetime | None" = None """ The date the schema version was created. """
[docs]class UpdateSchemaResponse(Boto3Model): Description: "str | None" = None """ The description of the schema. """ LastModified: "datetime | None" = None """ The date and time that schema was modified. """ SchemaArn: "str | None" = None """ The ARN of the schema. """ SchemaName: "str | None" = None """ The name of the schema. """ SchemaVersion: "str | None" = None """ The version number of the schema. """ Tags: "dict[str, str] | None" = Field(default_factory=dict) """ Key-value pairs associated with a resource. """ Type: "str | None" = None """ The type of the schema. """ VersionCreatedDate: "datetime | None" = None """ The date the schema version was created. """
[docs]class DescribeSchemaResponse(Boto3Model): Content: "str | None" = None """ The source of the schema definition. """ Description: "str | None" = None """ The description of the schema. """ LastModified: "datetime | None" = None """ The date and time that schema was modified. """ SchemaArn: "str | None" = None """ The ARN of the schema. """ SchemaName: "str | None" = None """ The name of the schema. """ SchemaVersion: "str | None" = None """ The version number of the schema. """ Tags: "dict[str, str] | None" = Field(default_factory=dict) """ Tags associated with the resource. """ Type: "str | None" = None """ The type of the schema. """ VersionCreatedDate: "datetime | None" = None """ The date the schema version was created. """
[docs]class ListSchemasResponse(Boto3Model): NextToken: "str | None" = None """ The token that specifies the next page of results to return. To request the first page, leave NextToken empty. The token will expire in 24 hours, and cannot be shared with other accounts. """ Schemas: "builtins.list[Schema] | None" = Field(default_factory=list) """ An array of schema summaries. """
[docs]class SchemaVersionSummary(Boto3Model): SchemaArn: "str | None" = None """ The ARN of the schema version. """ SchemaName: "str | None" = None """ The name of the schema. """ SchemaVersion: "str | None" = None """ The version number of the schema. """ Type: "Literal['OpenApi3', 'JSONSchemaDraft4'] | None" = None """ The type of schema. """
[docs]class ListSchemaVersionsResponse(Boto3Model): NextToken: "str | None" = None """ The token that specifies the next page of results to return. To request the first page, leave NextToken empty. The token will expire in 24 hours, and cannot be shared with other accounts. """ SchemaVersions: "builtins.list[SchemaVersionSummary] | None" = Field( default_factory=list ) """ An array of schema version summaries. """
[docs]class ExportSchemaResponse(Boto3Model): Content: "str | None" = None SchemaArn: "str | None" = None SchemaName: "str | None" = None SchemaVersion: "str | None" = None Type: "str | None" = None