# 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, Dict, List, Mapping, Optional, Tuple, Union
from .. import _utilities, _tables

__all__ = [
    'GetExecutionsExecutionResult',
    'GetTemplatesTemplateResult',
]

@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 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")


