# coding=utf-8
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
# *** 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
from . import outputs

__all__ = [
    'AppTemplateConfigList',
    'GetAppTemplatesTemplateResult',
    'GetAppTemplatesTemplateConfigListResult',
]

@pulumi.output_type
class AppTemplateConfigList(dict):
    def __init__(__self__, *,
                 key: Optional[builtins.str] = None,
                 value: Optional[builtins.str] = None):
        """
        :param builtins.str key: Configuration item key. Valid values: ["config.appCallbackAuthKey","config.appCallbackUrl","config.callbackClass.live","config.callbackClass.user","config.livePullDomain","config.livePushDomain","config.multipleClientsLogin","config.regionId","config.streamChangeCallbackUrl"].
        :param builtins.str value: Configuration item content.
               
               > **NOTE:**  By default, the attribute `config_list` will return all of nine keys with empty value. If you want to set one or more of the key's value, you had better also set other keys, otherwise, there will be a diff.
        """
        if key is not None:
            pulumi.set(__self__, "key", key)
        if value is not None:
            pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def key(self) -> Optional[builtins.str]:
        """
        Configuration item key. Valid values: ["config.appCallbackAuthKey","config.appCallbackUrl","config.callbackClass.live","config.callbackClass.user","config.livePullDomain","config.livePushDomain","config.multipleClientsLogin","config.regionId","config.streamChangeCallbackUrl"].
        """
        return pulumi.get(self, "key")

    @property
    @pulumi.getter
    def value(self) -> Optional[builtins.str]:
        """
        Configuration item content.

        > **NOTE:**  By default, the attribute `config_list` will return all of nine keys with empty value. If you want to set one or more of the key's value, you had better also set other keys, otherwise, there will be a diff.
        """
        return pulumi.get(self, "value")


@pulumi.output_type
class GetAppTemplatesTemplateResult(dict):
    def __init__(__self__, *,
                 app_template_creator: builtins.str,
                 app_template_id: builtins.str,
                 app_template_name: builtins.str,
                 component_lists: Sequence[builtins.str],
                 config_lists: Sequence['outputs.GetAppTemplatesTemplateConfigListResult'],
                 create_time: builtins.str,
                 id: builtins.str,
                 integration_mode: builtins.str,
                 scene: builtins.str,
                 sdk_info: builtins.str,
                 standard_room_info: builtins.str,
                 status: builtins.str):
        """
        :param builtins.str app_template_creator: Apply template creator.
        :param builtins.str app_template_id: The first ID of the resource.
        :param builtins.str app_template_name: The name of the resource.
        :param Sequence[builtins.str] component_lists: List of components.
        :param Sequence['GetAppTemplatesTemplateConfigListArgs'] config_lists: List of config.
        :param builtins.str create_time: Creation time.
        :param builtins.str id: The ID of the App Template.
        :param builtins.str integration_mode: Integration mode (Integrated SDK:paasSDK, Model Room: standardRoom).
        :param builtins.str scene: Application Template scenario, e-commerce business, classroom classroom.
        :param builtins.str sdk_info: SDK information.
        :param builtins.str standard_room_info: Model room information.
        :param builtins.str status: Application template usage status.
        """
        pulumi.set(__self__, "app_template_creator", app_template_creator)
        pulumi.set(__self__, "app_template_id", app_template_id)
        pulumi.set(__self__, "app_template_name", app_template_name)
        pulumi.set(__self__, "component_lists", component_lists)
        pulumi.set(__self__, "config_lists", config_lists)
        pulumi.set(__self__, "create_time", create_time)
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "integration_mode", integration_mode)
        pulumi.set(__self__, "scene", scene)
        pulumi.set(__self__, "sdk_info", sdk_info)
        pulumi.set(__self__, "standard_room_info", standard_room_info)
        pulumi.set(__self__, "status", status)

    @property
    @pulumi.getter(name="appTemplateCreator")
    def app_template_creator(self) -> builtins.str:
        """
        Apply template creator.
        """
        return pulumi.get(self, "app_template_creator")

    @property
    @pulumi.getter(name="appTemplateId")
    def app_template_id(self) -> builtins.str:
        """
        The first ID of the resource.
        """
        return pulumi.get(self, "app_template_id")

    @property
    @pulumi.getter(name="appTemplateName")
    def app_template_name(self) -> builtins.str:
        """
        The name of the resource.
        """
        return pulumi.get(self, "app_template_name")

    @property
    @pulumi.getter(name="componentLists")
    def component_lists(self) -> Sequence[builtins.str]:
        """
        List of components.
        """
        return pulumi.get(self, "component_lists")

    @property
    @pulumi.getter(name="configLists")
    def config_lists(self) -> Sequence['outputs.GetAppTemplatesTemplateConfigListResult']:
        """
        List of config.
        """
        return pulumi.get(self, "config_lists")

    @property
    @pulumi.getter(name="createTime")
    def create_time(self) -> builtins.str:
        """
        Creation time.
        """
        return pulumi.get(self, "create_time")

    @property
    @pulumi.getter
    def id(self) -> builtins.str:
        """
        The ID of the App Template.
        """
        return pulumi.get(self, "id")

    @property
    @pulumi.getter(name="integrationMode")
    def integration_mode(self) -> builtins.str:
        """
        Integration mode (Integrated SDK:paasSDK, Model Room: standardRoom).
        """
        return pulumi.get(self, "integration_mode")

    @property
    @pulumi.getter
    def scene(self) -> builtins.str:
        """
        Application Template scenario, e-commerce business, classroom classroom.
        """
        return pulumi.get(self, "scene")

    @property
    @pulumi.getter(name="sdkInfo")
    def sdk_info(self) -> builtins.str:
        """
        SDK information.
        """
        return pulumi.get(self, "sdk_info")

    @property
    @pulumi.getter(name="standardRoomInfo")
    def standard_room_info(self) -> builtins.str:
        """
        Model room information.
        """
        return pulumi.get(self, "standard_room_info")

    @property
    @pulumi.getter
    def status(self) -> builtins.str:
        """
        Application template usage status.
        """
        return pulumi.get(self, "status")


@pulumi.output_type
class GetAppTemplatesTemplateConfigListResult(dict):
    def __init__(__self__, *,
                 key: builtins.str,
                 value: builtins.str):
        """
        :param builtins.str key: Config key.
        :param builtins.str value: Config Value.
        """
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def key(self) -> builtins.str:
        """
        Config key.
        """
        return pulumi.get(self, "key")

    @property
    @pulumi.getter
    def value(self) -> builtins.str:
        """
        Config Value.
        """
        return pulumi.get(self, "value")


