"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""

from __future__ import annotations
from amds.types import BaseModel
from amds.utils import FieldMetadata, PathParamMetadata, RequestMetadata
from typing import Dict, List, Optional
from typing_extensions import Annotated, NotRequired, TypedDict


class StopServerRequestBodyTypedDict(TypedDict):
    stop: NotRequired[bool]


class StopServerRequestBody(BaseModel):
    stop: Optional[bool] = None


class StopServerRequestTypedDict(TypedDict):
    server_name: str
    request_body: NotRequired[StopServerRequestBodyTypedDict]


class StopServerRequest(BaseModel):
    server_name: Annotated[
        str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
    ]

    request_body: Annotated[
        Optional[StopServerRequestBody],
        FieldMetadata(request=RequestMetadata(media_type="application/json")),
    ] = None


class StopServerResponseBodyTypedDict(TypedDict):
    r"""Stop Server"""

    message: NotRequired[str]
    status: NotRequired[str]


class StopServerResponseBody(BaseModel):
    r"""Stop Server"""

    message: Optional[str] = None

    status: Optional[str] = None


class StopServerResponseTypedDict(TypedDict):
    headers: Dict[str, List[str]]
    result: StopServerResponseBodyTypedDict


class StopServerResponse(BaseModel):
    headers: Dict[str, List[str]]

    result: StopServerResponseBody
