# 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
import copy
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__ = [
    'AppsDashboardMetadataArgs',
    'AppsDashboardMetadataArgsDict',
    'AppsDashboardOptionsArgs',
    'AppsDashboardOptionsArgsDict',
    'AppsDashboardSpecArgs',
    'AppsDashboardSpecArgsDict',
    'AppsPlaylistV0Alpha1MetadataArgs',
    'AppsPlaylistV0Alpha1MetadataArgsDict',
    'AppsPlaylistV0Alpha1OptionsArgs',
    'AppsPlaylistV0Alpha1OptionsArgsDict',
    'AppsPlaylistV0Alpha1SpecArgs',
    'AppsPlaylistV0Alpha1SpecArgsDict',
    'AppsPlaylistV0Alpha1SpecItemArgs',
    'AppsPlaylistV0Alpha1SpecItemArgsDict',
]

MYPY = False

if not MYPY:
    class AppsDashboardMetadataArgsDict(TypedDict):
        uid: pulumi.Input[builtins.str]
        """
        The unique identifier of the resource.
        """
        folder_uid: NotRequired[pulumi.Input[builtins.str]]
        """
        The UID of the folder to save the resource in.
        """
        url: NotRequired[pulumi.Input[builtins.str]]
        """
        The full URL of the resource.
        """
        uuid: NotRequired[pulumi.Input[builtins.str]]
        """
        The globally unique identifier of a resource, used by the API for tracking.
        """
        version: NotRequired[pulumi.Input[builtins.str]]
        """
        The version of the resource.
        """
elif False:
    AppsDashboardMetadataArgsDict: TypeAlias = Mapping[str, Any]

@pulumi.input_type
class AppsDashboardMetadataArgs:
    def __init__(__self__, *,
                 uid: pulumi.Input[builtins.str],
                 folder_uid: Optional[pulumi.Input[builtins.str]] = None,
                 url: Optional[pulumi.Input[builtins.str]] = None,
                 uuid: Optional[pulumi.Input[builtins.str]] = None,
                 version: Optional[pulumi.Input[builtins.str]] = None):
        """
        :param pulumi.Input[builtins.str] uid: The unique identifier of the resource.
        :param pulumi.Input[builtins.str] folder_uid: The UID of the folder to save the resource in.
        :param pulumi.Input[builtins.str] url: The full URL of the resource.
        :param pulumi.Input[builtins.str] uuid: The globally unique identifier of a resource, used by the API for tracking.
        :param pulumi.Input[builtins.str] version: The version of the resource.
        """
        pulumi.set(__self__, "uid", uid)
        if folder_uid is not None:
            pulumi.set(__self__, "folder_uid", folder_uid)
        if url is not None:
            pulumi.set(__self__, "url", url)
        if uuid is not None:
            pulumi.set(__self__, "uuid", uuid)
        if version is not None:
            pulumi.set(__self__, "version", version)

    @property
    @pulumi.getter
    def uid(self) -> pulumi.Input[builtins.str]:
        """
        The unique identifier of the resource.
        """
        return pulumi.get(self, "uid")

    @uid.setter
    def uid(self, value: pulumi.Input[builtins.str]):
        pulumi.set(self, "uid", value)

    @property
    @pulumi.getter(name="folderUid")
    def folder_uid(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        The UID of the folder to save the resource in.
        """
        return pulumi.get(self, "folder_uid")

    @folder_uid.setter
    def folder_uid(self, value: Optional[pulumi.Input[builtins.str]]):
        pulumi.set(self, "folder_uid", value)

    @property
    @pulumi.getter
    def url(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        The full URL of the resource.
        """
        return pulumi.get(self, "url")

    @url.setter
    def url(self, value: Optional[pulumi.Input[builtins.str]]):
        pulumi.set(self, "url", value)

    @property
    @pulumi.getter
    def uuid(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        The globally unique identifier of a resource, used by the API for tracking.
        """
        return pulumi.get(self, "uuid")

    @uuid.setter
    def uuid(self, value: Optional[pulumi.Input[builtins.str]]):
        pulumi.set(self, "uuid", value)

    @property
    @pulumi.getter
    def version(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        The version of the resource.
        """
        return pulumi.get(self, "version")

    @version.setter
    def version(self, value: Optional[pulumi.Input[builtins.str]]):
        pulumi.set(self, "version", value)


if not MYPY:
    class AppsDashboardOptionsArgsDict(TypedDict):
        overwrite: NotRequired[pulumi.Input[builtins.bool]]
        """
        Set to true if you want to overwrite existing resource with newer version, same resource title in folder or same resource uid.
        """
elif False:
    AppsDashboardOptionsArgsDict: TypeAlias = Mapping[str, Any]

@pulumi.input_type
class AppsDashboardOptionsArgs:
    def __init__(__self__, *,
                 overwrite: Optional[pulumi.Input[builtins.bool]] = None):
        """
        :param pulumi.Input[builtins.bool] overwrite: Set to true if you want to overwrite existing resource with newer version, same resource title in folder or same resource uid.
        """
        if overwrite is not None:
            pulumi.set(__self__, "overwrite", overwrite)

    @property
    @pulumi.getter
    def overwrite(self) -> Optional[pulumi.Input[builtins.bool]]:
        """
        Set to true if you want to overwrite existing resource with newer version, same resource title in folder or same resource uid.
        """
        return pulumi.get(self, "overwrite")

    @overwrite.setter
    def overwrite(self, value: Optional[pulumi.Input[builtins.bool]]):
        pulumi.set(self, "overwrite", value)


if not MYPY:
    class AppsDashboardSpecArgsDict(TypedDict):
        json: pulumi.Input[builtins.str]
        """
        The JSON representation of the dashboard spec.
        """
        tags: NotRequired[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]
        """
        The tags of the dashboard. If not set, the tags will be derived from the JSON spec.
        """
        title: NotRequired[pulumi.Input[builtins.str]]
        """
        The title of the dashboard. If not set, the title will be derived from the JSON spec.
        """
elif False:
    AppsDashboardSpecArgsDict: TypeAlias = Mapping[str, Any]

@pulumi.input_type
class AppsDashboardSpecArgs:
    def __init__(__self__, *,
                 json: pulumi.Input[builtins.str],
                 tags: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
                 title: Optional[pulumi.Input[builtins.str]] = None):
        """
        :param pulumi.Input[builtins.str] json: The JSON representation of the dashboard spec.
        :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] tags: The tags of the dashboard. If not set, the tags will be derived from the JSON spec.
        :param pulumi.Input[builtins.str] title: The title of the dashboard. If not set, the title will be derived from the JSON spec.
        """
        pulumi.set(__self__, "json", json)
        if tags is not None:
            pulumi.set(__self__, "tags", tags)
        if title is not None:
            pulumi.set(__self__, "title", title)

    @property
    @pulumi.getter
    def json(self) -> pulumi.Input[builtins.str]:
        """
        The JSON representation of the dashboard spec.
        """
        return pulumi.get(self, "json")

    @json.setter
    def json(self, value: pulumi.Input[builtins.str]):
        pulumi.set(self, "json", value)

    @property
    @pulumi.getter
    def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
        """
        The tags of the dashboard. If not set, the tags will be derived from the JSON spec.
        """
        return pulumi.get(self, "tags")

    @tags.setter
    def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
        pulumi.set(self, "tags", value)

    @property
    @pulumi.getter
    def title(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        The title of the dashboard. If not set, the title will be derived from the JSON spec.
        """
        return pulumi.get(self, "title")

    @title.setter
    def title(self, value: Optional[pulumi.Input[builtins.str]]):
        pulumi.set(self, "title", value)


if not MYPY:
    class AppsPlaylistV0Alpha1MetadataArgsDict(TypedDict):
        uid: pulumi.Input[builtins.str]
        """
        The unique identifier of the resource.
        """
        folder_uid: NotRequired[pulumi.Input[builtins.str]]
        """
        The UID of the folder to save the resource in.
        """
        url: NotRequired[pulumi.Input[builtins.str]]
        """
        The full URL of the resource.
        """
        uuid: NotRequired[pulumi.Input[builtins.str]]
        """
        The globally unique identifier of a resource, used by the API for tracking.
        """
        version: NotRequired[pulumi.Input[builtins.str]]
        """
        The version of the resource.
        """
elif False:
    AppsPlaylistV0Alpha1MetadataArgsDict: TypeAlias = Mapping[str, Any]

@pulumi.input_type
class AppsPlaylistV0Alpha1MetadataArgs:
    def __init__(__self__, *,
                 uid: pulumi.Input[builtins.str],
                 folder_uid: Optional[pulumi.Input[builtins.str]] = None,
                 url: Optional[pulumi.Input[builtins.str]] = None,
                 uuid: Optional[pulumi.Input[builtins.str]] = None,
                 version: Optional[pulumi.Input[builtins.str]] = None):
        """
        :param pulumi.Input[builtins.str] uid: The unique identifier of the resource.
        :param pulumi.Input[builtins.str] folder_uid: The UID of the folder to save the resource in.
        :param pulumi.Input[builtins.str] url: The full URL of the resource.
        :param pulumi.Input[builtins.str] uuid: The globally unique identifier of a resource, used by the API for tracking.
        :param pulumi.Input[builtins.str] version: The version of the resource.
        """
        pulumi.set(__self__, "uid", uid)
        if folder_uid is not None:
            pulumi.set(__self__, "folder_uid", folder_uid)
        if url is not None:
            pulumi.set(__self__, "url", url)
        if uuid is not None:
            pulumi.set(__self__, "uuid", uuid)
        if version is not None:
            pulumi.set(__self__, "version", version)

    @property
    @pulumi.getter
    def uid(self) -> pulumi.Input[builtins.str]:
        """
        The unique identifier of the resource.
        """
        return pulumi.get(self, "uid")

    @uid.setter
    def uid(self, value: pulumi.Input[builtins.str]):
        pulumi.set(self, "uid", value)

    @property
    @pulumi.getter(name="folderUid")
    def folder_uid(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        The UID of the folder to save the resource in.
        """
        return pulumi.get(self, "folder_uid")

    @folder_uid.setter
    def folder_uid(self, value: Optional[pulumi.Input[builtins.str]]):
        pulumi.set(self, "folder_uid", value)

    @property
    @pulumi.getter
    def url(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        The full URL of the resource.
        """
        return pulumi.get(self, "url")

    @url.setter
    def url(self, value: Optional[pulumi.Input[builtins.str]]):
        pulumi.set(self, "url", value)

    @property
    @pulumi.getter
    def uuid(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        The globally unique identifier of a resource, used by the API for tracking.
        """
        return pulumi.get(self, "uuid")

    @uuid.setter
    def uuid(self, value: Optional[pulumi.Input[builtins.str]]):
        pulumi.set(self, "uuid", value)

    @property
    @pulumi.getter
    def version(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        The version of the resource.
        """
        return pulumi.get(self, "version")

    @version.setter
    def version(self, value: Optional[pulumi.Input[builtins.str]]):
        pulumi.set(self, "version", value)


if not MYPY:
    class AppsPlaylistV0Alpha1OptionsArgsDict(TypedDict):
        overwrite: NotRequired[pulumi.Input[builtins.bool]]
        """
        Set to true if you want to overwrite existing resource with newer version, same resource title in folder or same resource uid.
        """
elif False:
    AppsPlaylistV0Alpha1OptionsArgsDict: TypeAlias = Mapping[str, Any]

@pulumi.input_type
class AppsPlaylistV0Alpha1OptionsArgs:
    def __init__(__self__, *,
                 overwrite: Optional[pulumi.Input[builtins.bool]] = None):
        """
        :param pulumi.Input[builtins.bool] overwrite: Set to true if you want to overwrite existing resource with newer version, same resource title in folder or same resource uid.
        """
        if overwrite is not None:
            pulumi.set(__self__, "overwrite", overwrite)

    @property
    @pulumi.getter
    def overwrite(self) -> Optional[pulumi.Input[builtins.bool]]:
        """
        Set to true if you want to overwrite existing resource with newer version, same resource title in folder or same resource uid.
        """
        return pulumi.get(self, "overwrite")

    @overwrite.setter
    def overwrite(self, value: Optional[pulumi.Input[builtins.bool]]):
        pulumi.set(self, "overwrite", value)


if not MYPY:
    class AppsPlaylistV0Alpha1SpecArgsDict(TypedDict):
        items: pulumi.Input[Sequence[pulumi.Input['AppsPlaylistV0Alpha1SpecItemArgsDict']]]
        """
        The items of the playlist.
        """
        title: pulumi.Input[builtins.str]
        """
        The title of the playlist.
        """
        interval: NotRequired[pulumi.Input[builtins.str]]
        """
        The interval of the playlist.
        """
elif False:
    AppsPlaylistV0Alpha1SpecArgsDict: TypeAlias = Mapping[str, Any]

@pulumi.input_type
class AppsPlaylistV0Alpha1SpecArgs:
    def __init__(__self__, *,
                 items: pulumi.Input[Sequence[pulumi.Input['AppsPlaylistV0Alpha1SpecItemArgs']]],
                 title: pulumi.Input[builtins.str],
                 interval: Optional[pulumi.Input[builtins.str]] = None):
        """
        :param pulumi.Input[Sequence[pulumi.Input['AppsPlaylistV0Alpha1SpecItemArgs']]] items: The items of the playlist.
        :param pulumi.Input[builtins.str] title: The title of the playlist.
        :param pulumi.Input[builtins.str] interval: The interval of the playlist.
        """
        pulumi.set(__self__, "items", items)
        pulumi.set(__self__, "title", title)
        if interval is not None:
            pulumi.set(__self__, "interval", interval)

    @property
    @pulumi.getter
    def items(self) -> pulumi.Input[Sequence[pulumi.Input['AppsPlaylistV0Alpha1SpecItemArgs']]]:
        """
        The items of the playlist.
        """
        return pulumi.get(self, "items")

    @items.setter
    def items(self, value: pulumi.Input[Sequence[pulumi.Input['AppsPlaylistV0Alpha1SpecItemArgs']]]):
        pulumi.set(self, "items", value)

    @property
    @pulumi.getter
    def title(self) -> pulumi.Input[builtins.str]:
        """
        The title of the playlist.
        """
        return pulumi.get(self, "title")

    @title.setter
    def title(self, value: pulumi.Input[builtins.str]):
        pulumi.set(self, "title", value)

    @property
    @pulumi.getter
    def interval(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        The interval of the playlist.
        """
        return pulumi.get(self, "interval")

    @interval.setter
    def interval(self, value: Optional[pulumi.Input[builtins.str]]):
        pulumi.set(self, "interval", value)


if not MYPY:
    class AppsPlaylistV0Alpha1SpecItemArgsDict(TypedDict):
        type: pulumi.Input[builtins.str]
        value: pulumi.Input[builtins.str]
elif False:
    AppsPlaylistV0Alpha1SpecItemArgsDict: TypeAlias = Mapping[str, Any]

@pulumi.input_type
class AppsPlaylistV0Alpha1SpecItemArgs:
    def __init__(__self__, *,
                 type: pulumi.Input[builtins.str],
                 value: pulumi.Input[builtins.str]):
        pulumi.set(__self__, "type", type)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def type(self) -> pulumi.Input[builtins.str]:
        return pulumi.get(self, "type")

    @type.setter
    def type(self, value: pulumi.Input[builtins.str]):
        pulumi.set(self, "type", value)

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[builtins.str]:
        return pulumi.get(self, "value")

    @value.setter
    def value(self, value: pulumi.Input[builtins.str]):
        pulumi.set(self, "value", value)


