# 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 warnings
import pulumi
import pulumi.runtime
from typing import Any, Mapping, Optional, Sequence, Union, overload
from .. import _utilities

__all__ = [
    'GetApplicationGroupsGroupResult',
    'GetApplicationsApplicationResult',
    'GetExecutionsExecutionResult',
    'GetParametersParameterResult',
    'GetPatchBaselinesBaselineResult',
    'GetSecretParametersParameterResult',
    'GetStateConfigurationsConfigurationResult',
    'GetTemplatesTemplateResult',
]

@pulumi.output_type
class GetApplicationGroupsGroupResult(dict):
    def __init__(__self__, *,
                 application_group_name: str,
                 application_name: str,
                 cms_group_id: str,
                 create_time: str,
                 deploy_region_id: str,
                 description: str,
                 id: str,
                 import_tag_key: str,
                 import_tag_value: str,
                 update_time: str):
        """
        :param str application_group_name: The name of the Application group.
        :param str application_name: The name of the Application.
        :param str cms_group_id: The ID of the cloud monitor group.
        :param str create_time: The Creation time of the resource.
        :param str deploy_region_id: The region ID of the deployment.
        :param str description: Application group description information.
        :param str id: The ID of the Application Group. Its value is same as Queue Name.
        :param str import_tag_key: Label key.
        :param str import_tag_value: Label value.
        :param str update_time: The Update time of the resource.
        """
        pulumi.set(__self__, "application_group_name", application_group_name)
        pulumi.set(__self__, "application_name", application_name)
        pulumi.set(__self__, "cms_group_id", cms_group_id)
        pulumi.set(__self__, "create_time", create_time)
        pulumi.set(__self__, "deploy_region_id", deploy_region_id)
        pulumi.set(__self__, "description", description)
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "import_tag_key", import_tag_key)
        pulumi.set(__self__, "import_tag_value", import_tag_value)
        pulumi.set(__self__, "update_time", update_time)

    @property
    @pulumi.getter(name="applicationGroupName")
    def application_group_name(self) -> str:
        """
        The name of the Application group.
        """
        return pulumi.get(self, "application_group_name")

    @property
    @pulumi.getter(name="applicationName")
    def application_name(self) -> str:
        """
        The name of the Application.
        """
        return pulumi.get(self, "application_name")

    @property
    @pulumi.getter(name="cmsGroupId")
    def cms_group_id(self) -> str:
        """
        The ID of the cloud monitor group.
        """
        return pulumi.get(self, "cms_group_id")

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

    @property
    @pulumi.getter(name="deployRegionId")
    def deploy_region_id(self) -> str:
        """
        The region ID of the deployment.
        """
        return pulumi.get(self, "deploy_region_id")

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

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        The ID of the Application Group. Its value is same as Queue Name.
        """
        return pulumi.get(self, "id")

    @property
    @pulumi.getter(name="importTagKey")
    def import_tag_key(self) -> str:
        """
        Label key.
        """
        return pulumi.get(self, "import_tag_key")

    @property
    @pulumi.getter(name="importTagValue")
    def import_tag_value(self) -> str:
        """
        Label value.
        """
        return pulumi.get(self, "import_tag_value")

    @property
    @pulumi.getter(name="updateTime")
    def update_time(self) -> str:
        """
        The Update time of the resource.
        """
        return pulumi.get(self, "update_time")


@pulumi.output_type
class GetApplicationsApplicationResult(dict):
    def __init__(__self__, *,
                 application_name: str,
                 create_time: str,
                 description: str,
                 id: str,
                 resource_group_id: str,
                 tags: Mapping[str, Any],
                 update_time: str):
        """
        :param str application_name: The name of the application.
        :param str create_time: The Created time of the application.
        :param str description: Application group description information.
        :param str id: The ID of the Application. The value is formate as <application_name>.
        :param str resource_group_id: The ID of the resource group.
        :param Mapping[str, Any] tags: The tag of the resource.
        :param str update_time: The Updated time of the application.
        """
        pulumi.set(__self__, "application_name", application_name)
        pulumi.set(__self__, "create_time", create_time)
        pulumi.set(__self__, "description", description)
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "resource_group_id", resource_group_id)
        pulumi.set(__self__, "tags", tags)
        pulumi.set(__self__, "update_time", update_time)

    @property
    @pulumi.getter(name="applicationName")
    def application_name(self) -> str:
        """
        The name of the application.
        """
        return pulumi.get(self, "application_name")

    @property
    @pulumi.getter(name="createTime")
    def create_time(self) -> str:
        """
        The Created time of the application.
        """
        return pulumi.get(self, "create_time")

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

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        The ID of the Application. The value is formate as <application_name>.
        """
        return pulumi.get(self, "id")

    @property
    @pulumi.getter(name="resourceGroupId")
    def resource_group_id(self) -> str:
        """
        The ID of the resource group.
        """
        return pulumi.get(self, "resource_group_id")

    @property
    @pulumi.getter
    def tags(self) -> Mapping[str, Any]:
        """
        The tag of the resource.
        """
        return pulumi.get(self, "tags")

    @property
    @pulumi.getter(name="updateTime")
    def update_time(self) -> str:
        """
        The Updated time of the application.
        """
        return pulumi.get(self, "update_time")


@pulumi.output_type
class GetExecutionsExecutionResult(dict):
    def __init__(__self__, *,
                 category: str,
                 counters: str,
                 create_date: str,
                 end_date: str,
                 executed_by: str,
                 execution_id: str,
                 id: str,
                 is_parent: bool,
                 mode: str,
                 outputs: str,
                 parameters: str,
                 parent_execution_id: str,
                 ram_role: str,
                 start_date: str,
                 status: str,
                 status_message: str,
                 status_reason: str,
                 template_id: str,
                 template_name: str,
                 template_version: str,
                 update_date: str):
        """
        :param str category: The category of template. Valid: `AlarmTrigger`, `EventTrigger`, `Other` and `TimerTrigger`.
        :param str counters: The counters of OOS Execution.
        :param str create_date: The time when the execution was created.
        :param str end_date: The time when the execution was ended.
        :param str executed_by: The user who execute the template.
        :param str execution_id: ID of the OOS Executions.
        :param str id: ID of the OOS Executions.
        :param bool is_parent: Whether to include subtasks.
        :param str mode: The mode of OOS Execution. Valid: `Automatic`, `Debug`.
        :param str outputs: The outputs of OOS Executions.
        :param str parameters: The parameters required by the template
        :param str parent_execution_id: The id of parent OOS Execution.
        :param str ram_role: The role that executes the current template.
        :param str start_date: The time when the template was started.
        :param str status: The Status of OOS Execution. Valid: `Cancelled`, `Failed`, `Queued`, `Running`, `Started`, `Success`, `Waiting`.
        :param str status_message: The message of status.
        :param str status_reason: The reason of status.
        :param str template_id: The id of execution template.
        :param str template_name: The name of execution template.
        :param str template_version: The version of execution template.
        :param str update_date: The time when the template was updated.
        """
        pulumi.set(__self__, "category", category)
        pulumi.set(__self__, "counters", counters)
        pulumi.set(__self__, "create_date", create_date)
        pulumi.set(__self__, "end_date", end_date)
        pulumi.set(__self__, "executed_by", executed_by)
        pulumi.set(__self__, "execution_id", execution_id)
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "is_parent", is_parent)
        pulumi.set(__self__, "mode", mode)
        pulumi.set(__self__, "outputs", outputs)
        pulumi.set(__self__, "parameters", parameters)
        pulumi.set(__self__, "parent_execution_id", parent_execution_id)
        pulumi.set(__self__, "ram_role", ram_role)
        pulumi.set(__self__, "start_date", start_date)
        pulumi.set(__self__, "status", status)
        pulumi.set(__self__, "status_message", status_message)
        pulumi.set(__self__, "status_reason", status_reason)
        pulumi.set(__self__, "template_id", template_id)
        pulumi.set(__self__, "template_name", template_name)
        pulumi.set(__self__, "template_version", template_version)
        pulumi.set(__self__, "update_date", update_date)

    @property
    @pulumi.getter
    def category(self) -> str:
        """
        The category of template. Valid: `AlarmTrigger`, `EventTrigger`, `Other` and `TimerTrigger`.
        """
        return pulumi.get(self, "category")

    @property
    @pulumi.getter
    def counters(self) -> str:
        """
        The counters of OOS Execution.
        """
        return pulumi.get(self, "counters")

    @property
    @pulumi.getter(name="createDate")
    def create_date(self) -> str:
        """
        The time when the execution was created.
        """
        return pulumi.get(self, "create_date")

    @property
    @pulumi.getter(name="endDate")
    def end_date(self) -> str:
        """
        The time when the execution was ended.
        """
        return pulumi.get(self, "end_date")

    @property
    @pulumi.getter(name="executedBy")
    def executed_by(self) -> str:
        """
        The user who execute the template.
        """
        return pulumi.get(self, "executed_by")

    @property
    @pulumi.getter(name="executionId")
    def execution_id(self) -> str:
        """
        ID of the OOS Executions.
        """
        return pulumi.get(self, "execution_id")

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        ID of the OOS Executions.
        """
        return pulumi.get(self, "id")

    @property
    @pulumi.getter(name="isParent")
    def is_parent(self) -> bool:
        """
        Whether to include subtasks.
        """
        return pulumi.get(self, "is_parent")

    @property
    @pulumi.getter
    def mode(self) -> str:
        """
        The mode of OOS Execution. Valid: `Automatic`, `Debug`.
        """
        return pulumi.get(self, "mode")

    @property
    @pulumi.getter
    def outputs(self) -> str:
        """
        The outputs of OOS Executions.
        """
        return pulumi.get(self, "outputs")

    @property
    @pulumi.getter
    def parameters(self) -> str:
        """
        The parameters required by the template
        """
        return pulumi.get(self, "parameters")

    @property
    @pulumi.getter(name="parentExecutionId")
    def parent_execution_id(self) -> str:
        """
        The id of parent OOS Execution.
        """
        return pulumi.get(self, "parent_execution_id")

    @property
    @pulumi.getter(name="ramRole")
    def ram_role(self) -> str:
        """
        The role that executes the current template.
        """
        return pulumi.get(self, "ram_role")

    @property
    @pulumi.getter(name="startDate")
    def start_date(self) -> str:
        """
        The time when the template was started.
        """
        return pulumi.get(self, "start_date")

    @property
    @pulumi.getter
    def status(self) -> str:
        """
        The Status of OOS Execution. Valid: `Cancelled`, `Failed`, `Queued`, `Running`, `Started`, `Success`, `Waiting`.
        """
        return pulumi.get(self, "status")

    @property
    @pulumi.getter(name="statusMessage")
    def status_message(self) -> str:
        """
        The message of status.
        """
        return pulumi.get(self, "status_message")

    @property
    @pulumi.getter(name="statusReason")
    def status_reason(self) -> str:
        """
        The reason of status.
        """
        return pulumi.get(self, "status_reason")

    @property
    @pulumi.getter(name="templateId")
    def template_id(self) -> str:
        """
        The id of execution template.
        """
        return pulumi.get(self, "template_id")

    @property
    @pulumi.getter(name="templateName")
    def template_name(self) -> str:
        """
        The name of execution template.
        """
        return pulumi.get(self, "template_name")

    @property
    @pulumi.getter(name="templateVersion")
    def template_version(self) -> str:
        """
        The version of execution template.
        """
        return pulumi.get(self, "template_version")

    @property
    @pulumi.getter(name="updateDate")
    def update_date(self) -> str:
        """
        The time when the template was updated.
        """
        return pulumi.get(self, "update_date")


@pulumi.output_type
class GetParametersParameterResult(dict):
    def __init__(__self__, *,
                 constraints: str,
                 create_time: str,
                 created_by: str,
                 description: str,
                 id: str,
                 parameter_id: str,
                 parameter_name: str,
                 parameter_version: int,
                 resource_group_id: str,
                 share_type: str,
                 tags: Mapping[str, Any],
                 type: str,
                 updated_by: str,
                 updated_date: str,
                 value: str):
        """
        :param str constraints: The constraints of the common parameter.
        :param str create_time: The time when the common parameter was created.
        :param str created_by: The user who created the common parameter.
        :param str description: The description of the common parameter.
        :param str id: The ID of the Parameter. Its value is same as `parameter_name`.
        :param str parameter_id: The ID of the common parameter.
        :param str parameter_name: The name of the common parameter.
        :param int parameter_version: The version number of the common parameter.
        :param str resource_group_id: The ID of the Resource Group.
        :param str share_type: The share type of the common parameter.
        :param Mapping[str, Any] tags: The tag of the resource.
        :param str type: The data type of the common parameter.
        :param str updated_by: The user who updated the common parameter.
        :param str updated_date: The time when the common parameter was updated.
        :param str value: The value of the common parameter.
        """
        pulumi.set(__self__, "constraints", constraints)
        pulumi.set(__self__, "create_time", create_time)
        pulumi.set(__self__, "created_by", created_by)
        pulumi.set(__self__, "description", description)
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "parameter_id", parameter_id)
        pulumi.set(__self__, "parameter_name", parameter_name)
        pulumi.set(__self__, "parameter_version", parameter_version)
        pulumi.set(__self__, "resource_group_id", resource_group_id)
        pulumi.set(__self__, "share_type", share_type)
        pulumi.set(__self__, "tags", tags)
        pulumi.set(__self__, "type", type)
        pulumi.set(__self__, "updated_by", updated_by)
        pulumi.set(__self__, "updated_date", updated_date)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def constraints(self) -> str:
        """
        The constraints of the common parameter.
        """
        return pulumi.get(self, "constraints")

    @property
    @pulumi.getter(name="createTime")
    def create_time(self) -> str:
        """
        The time when the common parameter was created.
        """
        return pulumi.get(self, "create_time")

    @property
    @pulumi.getter(name="createdBy")
    def created_by(self) -> str:
        """
        The user who created the common parameter.
        """
        return pulumi.get(self, "created_by")

    @property
    @pulumi.getter
    def description(self) -> str:
        """
        The description of the common parameter.
        """
        return pulumi.get(self, "description")

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        The ID of the Parameter. Its value is same as `parameter_name`.
        """
        return pulumi.get(self, "id")

    @property
    @pulumi.getter(name="parameterId")
    def parameter_id(self) -> str:
        """
        The ID of the common parameter.
        """
        return pulumi.get(self, "parameter_id")

    @property
    @pulumi.getter(name="parameterName")
    def parameter_name(self) -> str:
        """
        The name of the common parameter.
        """
        return pulumi.get(self, "parameter_name")

    @property
    @pulumi.getter(name="parameterVersion")
    def parameter_version(self) -> int:
        """
        The version number of the common parameter.
        """
        return pulumi.get(self, "parameter_version")

    @property
    @pulumi.getter(name="resourceGroupId")
    def resource_group_id(self) -> str:
        """
        The ID of the Resource Group.
        """
        return pulumi.get(self, "resource_group_id")

    @property
    @pulumi.getter(name="shareType")
    def share_type(self) -> str:
        """
        The share type of the common parameter.
        """
        return pulumi.get(self, "share_type")

    @property
    @pulumi.getter
    def tags(self) -> Mapping[str, Any]:
        """
        The tag of the resource.
        """
        return pulumi.get(self, "tags")

    @property
    @pulumi.getter
    def type(self) -> str:
        """
        The data type of the common parameter.
        """
        return pulumi.get(self, "type")

    @property
    @pulumi.getter(name="updatedBy")
    def updated_by(self) -> str:
        """
        The user who updated the common parameter.
        """
        return pulumi.get(self, "updated_by")

    @property
    @pulumi.getter(name="updatedDate")
    def updated_date(self) -> str:
        """
        The time when the common parameter was updated.
        """
        return pulumi.get(self, "updated_date")

    @property
    @pulumi.getter
    def value(self) -> str:
        """
        The value of the common parameter.
        """
        return pulumi.get(self, "value")


@pulumi.output_type
class GetPatchBaselinesBaselineResult(dict):
    def __init__(__self__, *,
                 approval_rules: str,
                 create_time: str,
                 created_by: str,
                 description: str,
                 id: str,
                 is_default: bool,
                 operation_system: str,
                 patch_baseline_id: str,
                 patch_baseline_name: str,
                 share_type: str,
                 updated_by: str,
                 updated_date: str):
        """
        :param str approval_rules: Accept the rules.
        :param str create_time: The create time of patch baselines.
        :param str created_by: The user who created the patch baselines.
        :param str description: Patches baseline description information.
        :param str id: The ID of the Patch Baseline. Its value is same as `patch_baseline_name`.
        :param bool is_default: Whether it is the default patch baseline.
        :param str operation_system: Operating system type.
        :param str patch_baseline_id: Patch baseline ID.
        :param str patch_baseline_name: The name of the patch baseline.
        :param str share_type: Patch baseline sharing type.
        :param str updated_by: The user who updated the patch baselines.
        :param str updated_date: The update time of patch baselines.
        """
        pulumi.set(__self__, "approval_rules", approval_rules)
        pulumi.set(__self__, "create_time", create_time)
        pulumi.set(__self__, "created_by", created_by)
        pulumi.set(__self__, "description", description)
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "is_default", is_default)
        pulumi.set(__self__, "operation_system", operation_system)
        pulumi.set(__self__, "patch_baseline_id", patch_baseline_id)
        pulumi.set(__self__, "patch_baseline_name", patch_baseline_name)
        pulumi.set(__self__, "share_type", share_type)
        pulumi.set(__self__, "updated_by", updated_by)
        pulumi.set(__self__, "updated_date", updated_date)

    @property
    @pulumi.getter(name="approvalRules")
    def approval_rules(self) -> str:
        """
        Accept the rules.
        """
        return pulumi.get(self, "approval_rules")

    @property
    @pulumi.getter(name="createTime")
    def create_time(self) -> str:
        """
        The create time of patch baselines.
        """
        return pulumi.get(self, "create_time")

    @property
    @pulumi.getter(name="createdBy")
    def created_by(self) -> str:
        """
        The user who created the patch baselines.
        """
        return pulumi.get(self, "created_by")

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

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        The ID of the Patch Baseline. Its value is same as `patch_baseline_name`.
        """
        return pulumi.get(self, "id")

    @property
    @pulumi.getter(name="isDefault")
    def is_default(self) -> bool:
        """
        Whether it is the default patch baseline.
        """
        return pulumi.get(self, "is_default")

    @property
    @pulumi.getter(name="operationSystem")
    def operation_system(self) -> str:
        """
        Operating system type.
        """
        return pulumi.get(self, "operation_system")

    @property
    @pulumi.getter(name="patchBaselineId")
    def patch_baseline_id(self) -> str:
        """
        Patch baseline ID.
        """
        return pulumi.get(self, "patch_baseline_id")

    @property
    @pulumi.getter(name="patchBaselineName")
    def patch_baseline_name(self) -> str:
        """
        The name of the patch baseline.
        """
        return pulumi.get(self, "patch_baseline_name")

    @property
    @pulumi.getter(name="shareType")
    def share_type(self) -> str:
        """
        Patch baseline sharing type.
        """
        return pulumi.get(self, "share_type")

    @property
    @pulumi.getter(name="updatedBy")
    def updated_by(self) -> str:
        """
        The user who updated the patch baselines.
        """
        return pulumi.get(self, "updated_by")

    @property
    @pulumi.getter(name="updatedDate")
    def updated_date(self) -> str:
        """
        The update time of patch baselines.
        """
        return pulumi.get(self, "updated_date")


@pulumi.output_type
class GetSecretParametersParameterResult(dict):
    def __init__(__self__, *,
                 constraints: str,
                 create_time: str,
                 created_by: str,
                 description: str,
                 id: str,
                 key_id: str,
                 parameter_version: int,
                 resource_group_id: str,
                 secret_parameter_id: str,
                 secret_parameter_name: str,
                 share_type: str,
                 tags: Mapping[str, Any],
                 type: str,
                 updated_by: str,
                 updated_date: str):
        """
        :param str constraints: The constraints of the encryption parameter.
        :param str create_time: The time when the encryption parameter was created.
        :param str created_by: The user who created the encryption parameter.
        :param str description: The description of the encryption parameter.
        :param str id: The ID of the Secret Parameter.
        :param str key_id: KeyId of KMS used for encryption.
        :param int parameter_version: The version number of the encryption parameter.
        :param str resource_group_id: The ID of the Resource Group.
        :param str secret_parameter_id: The ID of the encryption parameter.
        :param str secret_parameter_name: The name of the encryption parameter.
        :param str share_type: The share type of the encryption parameter.
        :param Mapping[str, Any] tags: The tag of the resource.
        :param str type: The data type of the encryption parameter.
        :param str updated_by: The user who updated the encryption parameter.
        :param str updated_date: The time when the encryption parameter was updated.
        """
        pulumi.set(__self__, "constraints", constraints)
        pulumi.set(__self__, "create_time", create_time)
        pulumi.set(__self__, "created_by", created_by)
        pulumi.set(__self__, "description", description)
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "key_id", key_id)
        pulumi.set(__self__, "parameter_version", parameter_version)
        pulumi.set(__self__, "resource_group_id", resource_group_id)
        pulumi.set(__self__, "secret_parameter_id", secret_parameter_id)
        pulumi.set(__self__, "secret_parameter_name", secret_parameter_name)
        pulumi.set(__self__, "share_type", share_type)
        pulumi.set(__self__, "tags", tags)
        pulumi.set(__self__, "type", type)
        pulumi.set(__self__, "updated_by", updated_by)
        pulumi.set(__self__, "updated_date", updated_date)

    @property
    @pulumi.getter
    def constraints(self) -> str:
        """
        The constraints of the encryption parameter.
        """
        return pulumi.get(self, "constraints")

    @property
    @pulumi.getter(name="createTime")
    def create_time(self) -> str:
        """
        The time when the encryption parameter was created.
        """
        return pulumi.get(self, "create_time")

    @property
    @pulumi.getter(name="createdBy")
    def created_by(self) -> str:
        """
        The user who created the encryption parameter.
        """
        return pulumi.get(self, "created_by")

    @property
    @pulumi.getter
    def description(self) -> str:
        """
        The description of the encryption parameter.
        """
        return pulumi.get(self, "description")

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

    @property
    @pulumi.getter(name="keyId")
    def key_id(self) -> str:
        """
        KeyId of KMS used for encryption.
        """
        return pulumi.get(self, "key_id")

    @property
    @pulumi.getter(name="parameterVersion")
    def parameter_version(self) -> int:
        """
        The version number of the encryption parameter.
        """
        return pulumi.get(self, "parameter_version")

    @property
    @pulumi.getter(name="resourceGroupId")
    def resource_group_id(self) -> str:
        """
        The ID of the Resource Group.
        """
        return pulumi.get(self, "resource_group_id")

    @property
    @pulumi.getter(name="secretParameterId")
    def secret_parameter_id(self) -> str:
        """
        The ID of the encryption parameter.
        """
        return pulumi.get(self, "secret_parameter_id")

    @property
    @pulumi.getter(name="secretParameterName")
    def secret_parameter_name(self) -> str:
        """
        The name of the encryption parameter.
        """
        return pulumi.get(self, "secret_parameter_name")

    @property
    @pulumi.getter(name="shareType")
    def share_type(self) -> str:
        """
        The share type of the encryption parameter.
        """
        return pulumi.get(self, "share_type")

    @property
    @pulumi.getter
    def tags(self) -> Mapping[str, Any]:
        """
        The tag of the resource.
        """
        return pulumi.get(self, "tags")

    @property
    @pulumi.getter
    def type(self) -> str:
        """
        The data type of the encryption parameter.
        """
        return pulumi.get(self, "type")

    @property
    @pulumi.getter(name="updatedBy")
    def updated_by(self) -> str:
        """
        The user who updated the encryption parameter.
        """
        return pulumi.get(self, "updated_by")

    @property
    @pulumi.getter(name="updatedDate")
    def updated_date(self) -> str:
        """
        The time when the encryption parameter was updated.
        """
        return pulumi.get(self, "updated_date")


@pulumi.output_type
class GetStateConfigurationsConfigurationResult(dict):
    def __init__(__self__, *,
                 configure_mode: str,
                 create_time: str,
                 description: str,
                 id: str,
                 parameters: str,
                 resource_group_id: str,
                 schedule_expression: str,
                 schedule_type: str,
                 state_configuration_id: str,
                 tags: Mapping[str, Any],
                 targets: str,
                 template_id: str,
                 template_name: str,
                 template_version: str,
                 update_time: str):
        """
        :param str configure_mode: The configuration mode.
        :param str create_time: The creation time.
        :param str description: The description.
        :param str id: The ID of the State Configuration.
        :param str parameters: The parameters.
        :param str resource_group_id: The ID of the resource group.
        :param str schedule_expression: The schedule expression.
        :param str schedule_type: The schedule type.
        :param str state_configuration_id: The ID of the final state configuration.
        :param Mapping[str, Any] tags: The tag of the resource.
        :param str targets: The target resource.
        :param str template_id: The ID of the template.
        :param str template_name: The name of the template.
        :param str template_version: The version of the template.
        :param str update_time: The time when the configuration is updated.
        """
        pulumi.set(__self__, "configure_mode", configure_mode)
        pulumi.set(__self__, "create_time", create_time)
        pulumi.set(__self__, "description", description)
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "parameters", parameters)
        pulumi.set(__self__, "resource_group_id", resource_group_id)
        pulumi.set(__self__, "schedule_expression", schedule_expression)
        pulumi.set(__self__, "schedule_type", schedule_type)
        pulumi.set(__self__, "state_configuration_id", state_configuration_id)
        pulumi.set(__self__, "tags", tags)
        pulumi.set(__self__, "targets", targets)
        pulumi.set(__self__, "template_id", template_id)
        pulumi.set(__self__, "template_name", template_name)
        pulumi.set(__self__, "template_version", template_version)
        pulumi.set(__self__, "update_time", update_time)

    @property
    @pulumi.getter(name="configureMode")
    def configure_mode(self) -> str:
        """
        The configuration mode.
        """
        return pulumi.get(self, "configure_mode")

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

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

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

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

    @property
    @pulumi.getter(name="resourceGroupId")
    def resource_group_id(self) -> str:
        """
        The ID of the resource group.
        """
        return pulumi.get(self, "resource_group_id")

    @property
    @pulumi.getter(name="scheduleExpression")
    def schedule_expression(self) -> str:
        """
        The schedule expression.
        """
        return pulumi.get(self, "schedule_expression")

    @property
    @pulumi.getter(name="scheduleType")
    def schedule_type(self) -> str:
        """
        The schedule type.
        """
        return pulumi.get(self, "schedule_type")

    @property
    @pulumi.getter(name="stateConfigurationId")
    def state_configuration_id(self) -> str:
        """
        The ID of the final state configuration.
        """
        return pulumi.get(self, "state_configuration_id")

    @property
    @pulumi.getter
    def tags(self) -> Mapping[str, Any]:
        """
        The tag of the resource.
        """
        return pulumi.get(self, "tags")

    @property
    @pulumi.getter
    def targets(self) -> str:
        """
        The target resource.
        """
        return pulumi.get(self, "targets")

    @property
    @pulumi.getter(name="templateId")
    def template_id(self) -> str:
        """
        The ID of the template.
        """
        return pulumi.get(self, "template_id")

    @property
    @pulumi.getter(name="templateName")
    def template_name(self) -> str:
        """
        The name of the template.
        """
        return pulumi.get(self, "template_name")

    @property
    @pulumi.getter(name="templateVersion")
    def template_version(self) -> str:
        """
        The version of the template.
        """
        return pulumi.get(self, "template_version")

    @property
    @pulumi.getter(name="updateTime")
    def update_time(self) -> str:
        """
        The time when the configuration is updated.
        """
        return pulumi.get(self, "update_time")


@pulumi.output_type
class GetTemplatesTemplateResult(dict):
    def __init__(__self__, *,
                 category: str,
                 created_by: str,
                 created_date: str,
                 description: str,
                 has_trigger: bool,
                 id: str,
                 share_type: str,
                 tags: Mapping[str, Any],
                 template_format: str,
                 template_id: str,
                 template_name: str,
                 template_type: str,
                 template_version: str,
                 updated_by: str,
                 updated_date: str):
        """
        :param str category: The category of template.
        :param str created_by: The creator of the template.
        :param str created_date: The template whose creation time is less than or equal to the specified time. The format is: YYYY-MM-DDThh:mm::ssZ.
        :param str description: Description of the OOS Template.
        :param bool has_trigger: Is it triggered successfully.
        :param str id: ID of the OOS Template. The value is same as template_name.
        :param str share_type: The sharing type of the template. Valid values: `Private`, `Public`.
        :param Mapping[str, Any] tags: A mapping of tags to assign to the resource.
        :param str template_format: The format of the template. Valid values: `JSON`, `YAML`.
        :param str template_id: ID of the OOS Template resource.
        :param str template_name: Name of the OOS Template.
        :param str template_type: The type of OOS Template.
        :param str template_version: Version of the OOS Template.
        :param str updated_by: The user who updated the template.
        :param str updated_date: The time when the template was updated.
        """
        pulumi.set(__self__, "category", category)
        pulumi.set(__self__, "created_by", created_by)
        pulumi.set(__self__, "created_date", created_date)
        pulumi.set(__self__, "description", description)
        pulumi.set(__self__, "has_trigger", has_trigger)
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "share_type", share_type)
        pulumi.set(__self__, "tags", tags)
        pulumi.set(__self__, "template_format", template_format)
        pulumi.set(__self__, "template_id", template_id)
        pulumi.set(__self__, "template_name", template_name)
        pulumi.set(__self__, "template_type", template_type)
        pulumi.set(__self__, "template_version", template_version)
        pulumi.set(__self__, "updated_by", updated_by)
        pulumi.set(__self__, "updated_date", updated_date)

    @property
    @pulumi.getter
    def category(self) -> str:
        """
        The category of template.
        """
        return pulumi.get(self, "category")

    @property
    @pulumi.getter(name="createdBy")
    def created_by(self) -> str:
        """
        The creator of the template.
        """
        return pulumi.get(self, "created_by")

    @property
    @pulumi.getter(name="createdDate")
    def created_date(self) -> str:
        """
        The template whose creation time is less than or equal to the specified time. The format is: YYYY-MM-DDThh:mm::ssZ.
        """
        return pulumi.get(self, "created_date")

    @property
    @pulumi.getter
    def description(self) -> str:
        """
        Description of the OOS Template.
        """
        return pulumi.get(self, "description")

    @property
    @pulumi.getter(name="hasTrigger")
    def has_trigger(self) -> bool:
        """
        Is it triggered successfully.
        """
        return pulumi.get(self, "has_trigger")

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        ID of the OOS Template. The value is same as template_name.
        """
        return pulumi.get(self, "id")

    @property
    @pulumi.getter(name="shareType")
    def share_type(self) -> str:
        """
        The sharing type of the template. Valid values: `Private`, `Public`.
        """
        return pulumi.get(self, "share_type")

    @property
    @pulumi.getter
    def tags(self) -> Mapping[str, Any]:
        """
        A mapping of tags to assign to the resource.
        """
        return pulumi.get(self, "tags")

    @property
    @pulumi.getter(name="templateFormat")
    def template_format(self) -> str:
        """
        The format of the template. Valid values: `JSON`, `YAML`.
        """
        return pulumi.get(self, "template_format")

    @property
    @pulumi.getter(name="templateId")
    def template_id(self) -> str:
        """
        ID of the OOS Template resource.
        """
        return pulumi.get(self, "template_id")

    @property
    @pulumi.getter(name="templateName")
    def template_name(self) -> str:
        """
        Name of the OOS Template.
        """
        return pulumi.get(self, "template_name")

    @property
    @pulumi.getter(name="templateType")
    def template_type(self) -> str:
        """
        The type of OOS Template.
        """
        return pulumi.get(self, "template_type")

    @property
    @pulumi.getter(name="templateVersion")
    def template_version(self) -> str:
        """
        Version of the OOS Template.
        """
        return pulumi.get(self, "template_version")

    @property
    @pulumi.getter(name="updatedBy")
    def updated_by(self) -> str:
        """
        The user who updated the template.
        """
        return pulumi.get(self, "updated_by")

    @property
    @pulumi.getter(name="updatedDate")
    def updated_date(self) -> str:
        """
        The time when the template was updated.
        """
        return pulumi.get(self, "updated_date")


