# coding=utf-8
# *** WARNING: this file was generated by pulumi-language-python. ***
# *** Do not edit by hand unless you're certain you know what you are doing! ***

import builtins as _builtins
import warnings
import sys
import pulumi
import pulumi.runtime
from typing import Any, Mapping, Optional, Sequence, Union, overload
if sys.version_info >= (3, 11):
    from typing import NotRequired, TypedDict, TypeAlias
else:
    from typing_extensions import NotRequired, TypedDict, TypeAlias
from .. import _utilities

__all__ = [
    'GetExtensionsVersionsExactFiltersResult',
    'GetExtensionsVersionsExtensionsInfoResult',
    'GetExtensionsVersionsFiltersResult',
    'GetOverlaysVersionsFiltersResult',
    'GetOverlaysVersionsOverlaysInfoResult',
    'GetUrlsUrlsResult',
    'GetVersionsFiltersResult',
]

@pulumi.output_type
class GetExtensionsVersionsExactFiltersResult(dict):
    def __init__(__self__, *,
                 names: Optional[Sequence[_builtins.str]] = None):
        """
        :param Sequence[_builtins.str] names: The exact name match of the extension to filter by.
        """
        if names is not None:
            pulumi.set(__self__, "names", names)

    @_builtins.property
    @pulumi.getter
    def names(self) -> Optional[Sequence[_builtins.str]]:
        """
        The exact name match of the extension to filter by.
        """
        return pulumi.get(self, "names")


@pulumi.output_type
class GetExtensionsVersionsExtensionsInfoResult(dict):
    def __init__(__self__, *,
                 author: _builtins.str,
                 description: _builtins.str,
                 digest: _builtins.str,
                 name: _builtins.str,
                 ref: _builtins.str):
        pulumi.set(__self__, "author", author)
        pulumi.set(__self__, "description", description)
        pulumi.set(__self__, "digest", digest)
        pulumi.set(__self__, "name", name)
        pulumi.set(__self__, "ref", ref)

    @_builtins.property
    @pulumi.getter
    def author(self) -> _builtins.str:
        return pulumi.get(self, "author")

    @_builtins.property
    @pulumi.getter
    def description(self) -> _builtins.str:
        return pulumi.get(self, "description")

    @_builtins.property
    @pulumi.getter
    def digest(self) -> _builtins.str:
        return pulumi.get(self, "digest")

    @_builtins.property
    @pulumi.getter
    def name(self) -> _builtins.str:
        return pulumi.get(self, "name")

    @_builtins.property
    @pulumi.getter
    def ref(self) -> _builtins.str:
        return pulumi.get(self, "ref")


@pulumi.output_type
class GetExtensionsVersionsFiltersResult(dict):
    def __init__(__self__, *,
                 names: Optional[Sequence[_builtins.str]] = None):
        """
        :param Sequence[_builtins.str] names: The name of the extension to filter by.
        """
        if names is not None:
            pulumi.set(__self__, "names", names)

    @_builtins.property
    @pulumi.getter
    def names(self) -> Optional[Sequence[_builtins.str]]:
        """
        The name of the extension to filter by.
        """
        return pulumi.get(self, "names")


@pulumi.output_type
class GetOverlaysVersionsFiltersResult(dict):
    def __init__(__self__, *,
                 name: Optional[_builtins.str] = None):
        """
        :param _builtins.str name: The name of the overlay to filter by.
        """
        if name is not None:
            pulumi.set(__self__, "name", name)

    @_builtins.property
    @pulumi.getter
    def name(self) -> Optional[_builtins.str]:
        """
        The name of the overlay to filter by.
        """
        return pulumi.get(self, "name")


@pulumi.output_type
class GetOverlaysVersionsOverlaysInfoResult(dict):
    def __init__(__self__, *,
                 digest: _builtins.str,
                 image: _builtins.str,
                 name: _builtins.str,
                 ref: _builtins.str):
        pulumi.set(__self__, "digest", digest)
        pulumi.set(__self__, "image", image)
        pulumi.set(__self__, "name", name)
        pulumi.set(__self__, "ref", ref)

    @_builtins.property
    @pulumi.getter
    def digest(self) -> _builtins.str:
        return pulumi.get(self, "digest")

    @_builtins.property
    @pulumi.getter
    def image(self) -> _builtins.str:
        return pulumi.get(self, "image")

    @_builtins.property
    @pulumi.getter
    def name(self) -> _builtins.str:
        return pulumi.get(self, "name")

    @_builtins.property
    @pulumi.getter
    def ref(self) -> _builtins.str:
        return pulumi.get(self, "ref")


@pulumi.output_type
class GetUrlsUrlsResult(dict):
    def __init__(__self__, *,
                 disk_image: _builtins.str,
                 disk_image_secureboot: _builtins.str,
                 initramfs: _builtins.str,
                 installer: _builtins.str,
                 installer_secureboot: _builtins.str,
                 iso: _builtins.str,
                 iso_secureboot: _builtins.str,
                 kernel: _builtins.str,
                 kernel_command_line: _builtins.str,
                 pxe: _builtins.str,
                 uki: _builtins.str):
        """
        :param _builtins.str disk_image: The URL for the disk image.
        :param _builtins.str disk_image_secureboot: The URL for the disk image with secure boot.
        :param _builtins.str initramfs: The URL for the initramfs image.
        :param _builtins.str installer: The URL for the installer image.
        :param _builtins.str installer_secureboot: The URL for the installer image with secure boot.
        :param _builtins.str iso: The URL for the ISO image.
        :param _builtins.str iso_secureboot: The URL for the ISO image with secure boot.
        :param _builtins.str kernel: The URL for the kernel image.
        :param _builtins.str kernel_command_line: The URL for the kernel command line.
        :param _builtins.str pxe: The URL for the PXE image.
        :param _builtins.str uki: The URL for the UKI image.
        """
        pulumi.set(__self__, "disk_image", disk_image)
        pulumi.set(__self__, "disk_image_secureboot", disk_image_secureboot)
        pulumi.set(__self__, "initramfs", initramfs)
        pulumi.set(__self__, "installer", installer)
        pulumi.set(__self__, "installer_secureboot", installer_secureboot)
        pulumi.set(__self__, "iso", iso)
        pulumi.set(__self__, "iso_secureboot", iso_secureboot)
        pulumi.set(__self__, "kernel", kernel)
        pulumi.set(__self__, "kernel_command_line", kernel_command_line)
        pulumi.set(__self__, "pxe", pxe)
        pulumi.set(__self__, "uki", uki)

    @_builtins.property
    @pulumi.getter(name="diskImage")
    def disk_image(self) -> _builtins.str:
        """
        The URL for the disk image.
        """
        return pulumi.get(self, "disk_image")

    @_builtins.property
    @pulumi.getter(name="diskImageSecureboot")
    def disk_image_secureboot(self) -> _builtins.str:
        """
        The URL for the disk image with secure boot.
        """
        return pulumi.get(self, "disk_image_secureboot")

    @_builtins.property
    @pulumi.getter
    def initramfs(self) -> _builtins.str:
        """
        The URL for the initramfs image.
        """
        return pulumi.get(self, "initramfs")

    @_builtins.property
    @pulumi.getter
    def installer(self) -> _builtins.str:
        """
        The URL for the installer image.
        """
        return pulumi.get(self, "installer")

    @_builtins.property
    @pulumi.getter(name="installerSecureboot")
    def installer_secureboot(self) -> _builtins.str:
        """
        The URL for the installer image with secure boot.
        """
        return pulumi.get(self, "installer_secureboot")

    @_builtins.property
    @pulumi.getter
    def iso(self) -> _builtins.str:
        """
        The URL for the ISO image.
        """
        return pulumi.get(self, "iso")

    @_builtins.property
    @pulumi.getter(name="isoSecureboot")
    def iso_secureboot(self) -> _builtins.str:
        """
        The URL for the ISO image with secure boot.
        """
        return pulumi.get(self, "iso_secureboot")

    @_builtins.property
    @pulumi.getter
    def kernel(self) -> _builtins.str:
        """
        The URL for the kernel image.
        """
        return pulumi.get(self, "kernel")

    @_builtins.property
    @pulumi.getter(name="kernelCommandLine")
    def kernel_command_line(self) -> _builtins.str:
        """
        The URL for the kernel command line.
        """
        return pulumi.get(self, "kernel_command_line")

    @_builtins.property
    @pulumi.getter
    def pxe(self) -> _builtins.str:
        """
        The URL for the PXE image.
        """
        return pulumi.get(self, "pxe")

    @_builtins.property
    @pulumi.getter
    def uki(self) -> _builtins.str:
        """
        The URL for the UKI image.
        """
        return pulumi.get(self, "uki")


@pulumi.output_type
class GetVersionsFiltersResult(dict):
    def __init__(__self__, *,
                 stable_versions_only: Optional[_builtins.bool] = None):
        """
        :param _builtins.bool stable_versions_only: If set to true, only stable versions will be returned. If set to false, all versions will be returned.
        """
        if stable_versions_only is not None:
            pulumi.set(__self__, "stable_versions_only", stable_versions_only)

    @_builtins.property
    @pulumi.getter(name="stableVersionsOnly")
    def stable_versions_only(self) -> Optional[_builtins.bool]:
        """
        If set to true, only stable versions will be returned. If set to false, all versions will be returned.
        """
        return pulumi.get(self, "stable_versions_only")


