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

from __future__ import annotations
from skylight_sdk.types import BaseModel
from typing import Optional
from typing_extensions import NotRequired, TypedDict


class S3VMUploadRequestTypedDict(TypedDict):
    s3_url: str
    r"""The S3 URL of the file to upload"""
    file_name: str
    r"""Original name of the file"""
    file_type: NotRequired[str]
    r"""MIME type of the file"""
    target_path: NotRequired[str]
    r"""Target path on the VM (defaults to Users/Administrator/Desktop/{file_name})"""


class S3VMUploadRequest(BaseModel):
    s3_url: str
    r"""The S3 URL of the file to upload"""

    file_name: str
    r"""Original name of the file"""

    file_type: Optional[str] = None
    r"""MIME type of the file"""

    target_path: Optional[str] = None
    r"""Target path on the VM (defaults to Users/Administrator/Desktop/{file_name})"""
