# 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__ = [
    'GetFlowsFlowResult',
    'GetSchedulesScheduleResult',
]

@pulumi.output_type
class GetFlowsFlowResult(dict):
    def __init__(__self__, *,
                 definition: str,
                 description: str,
                 flow_id: str,
                 id: str,
                 last_modified_time: str,
                 name: str,
                 role_arn: str,
                 type: str):
        """
        :param str definition: The definition of the flow. It must comply with the Flow Definition Language (FDL) syntax.
        :param str description: The description of the flow.
        :param str flow_id: The unique ID of the flow.
        :param str id: The ID of the Flow.
        :param str last_modified_time: The time when the flow was last modified.
        :param str name: The name of the flow. The name must be unique in an Alibaba Cloud account.
        :param str role_arn: The ARN of the specified RAM role that Serverless Workflow uses to assume the role when Serverless Workflow executes a flow.
        :param str type: The type of the flow. Set the value to `FDL`.
        """
        pulumi.set(__self__, "definition", definition)
        pulumi.set(__self__, "description", description)
        pulumi.set(__self__, "flow_id", flow_id)
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "last_modified_time", last_modified_time)
        pulumi.set(__self__, "name", name)
        pulumi.set(__self__, "role_arn", role_arn)
        pulumi.set(__self__, "type", type)

    @property
    @pulumi.getter
    def definition(self) -> str:
        """
        The definition of the flow. It must comply with the Flow Definition Language (FDL) syntax.
        """
        return pulumi.get(self, "definition")

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

    @property
    @pulumi.getter(name="flowId")
    def flow_id(self) -> str:
        """
        The unique ID of the flow.
        """
        return pulumi.get(self, "flow_id")

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

    @property
    @pulumi.getter(name="lastModifiedTime")
    def last_modified_time(self) -> str:
        """
        The time when the flow was last modified.
        """
        return pulumi.get(self, "last_modified_time")

    @property
    @pulumi.getter
    def name(self) -> str:
        """
        The name of the flow. The name must be unique in an Alibaba Cloud account.
        """
        return pulumi.get(self, "name")

    @property
    @pulumi.getter(name="roleArn")
    def role_arn(self) -> str:
        """
        The ARN of the specified RAM role that Serverless Workflow uses to assume the role when Serverless Workflow executes a flow.
        """
        return pulumi.get(self, "role_arn")

    @property
    @pulumi.getter
    def type(self) -> str:
        """
        The type of the flow. Set the value to `FDL`.
        """
        return pulumi.get(self, "type")


@pulumi.output_type
class GetSchedulesScheduleResult(dict):
    def __init__(__self__, *,
                 cron_expression: str,
                 description: str,
                 enable: bool,
                 id: str,
                 last_modified_time: str,
                 payload: str,
                 schedule_id: str,
                 schedule_name: str):
        """
        :param str cron_expression: The CRON expression of the time-based schedule to be created.
        :param str description: The description of the time-based schedule to be created.
        :param bool enable: Specifies whether to enable the time-based schedule you want to create.
        :param str id: The ID of the Schedule.
        :param str last_modified_time: The time when the time-based schedule was last updated.
        :param str payload: The trigger message of the time-based schedule to be created. It must be in JSON object format.
        :param str schedule_id: The ID of the time-based schedule.
        :param str schedule_name: The name of the time-based schedule to be created.
        """
        pulumi.set(__self__, "cron_expression", cron_expression)
        pulumi.set(__self__, "description", description)
        pulumi.set(__self__, "enable", enable)
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "last_modified_time", last_modified_time)
        pulumi.set(__self__, "payload", payload)
        pulumi.set(__self__, "schedule_id", schedule_id)
        pulumi.set(__self__, "schedule_name", schedule_name)

    @property
    @pulumi.getter(name="cronExpression")
    def cron_expression(self) -> str:
        """
        The CRON expression of the time-based schedule to be created.
        """
        return pulumi.get(self, "cron_expression")

    @property
    @pulumi.getter
    def description(self) -> str:
        """
        The description of the time-based schedule to be created.
        """
        return pulumi.get(self, "description")

    @property
    @pulumi.getter
    def enable(self) -> bool:
        """
        Specifies whether to enable the time-based schedule you want to create.
        """
        return pulumi.get(self, "enable")

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

    @property
    @pulumi.getter(name="lastModifiedTime")
    def last_modified_time(self) -> str:
        """
        The time when the time-based schedule was last updated.
        """
        return pulumi.get(self, "last_modified_time")

    @property
    @pulumi.getter
    def payload(self) -> str:
        """
        The trigger message of the time-based schedule to be created. It must be in JSON object format.
        """
        return pulumi.get(self, "payload")

    @property
    @pulumi.getter(name="scheduleId")
    def schedule_id(self) -> str:
        """
        The ID of the time-based schedule.
        """
        return pulumi.get(self, "schedule_id")

    @property
    @pulumi.getter(name="scheduleName")
    def schedule_name(self) -> str:
        """
        The name of the time-based schedule to be created.
        """
        return pulumi.get(self, "schedule_name")


