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

__all__ = ['AssistantScheduleArgs', 'AssistantSchedule']

@pulumi.input_type
class AssistantScheduleArgs:
    def __init__(__self__, *,
                 customer_id: Optional[pulumi.Input[str]] = None,
                 delete_disabled: Optional[pulumi.Input[bool]] = None,
                 enabled: Optional[pulumi.Input[bool]] = None,
                 frequency: Optional[pulumi.Input[str]] = None,
                 frequency_interval: Optional[pulumi.Input[str]] = None):
        """
        The set of arguments for constructing a AssistantSchedule resource.
        :param pulumi.Input[str] customer_id: When enabling the Assistant Schedule for the first time, you must provide the `customer_id` information. If you authenticated using environment variables and used `ZPA_CUSTOMER_ID` environment variable, you don't have to define the customer_id attribute in the HCL configuration, and the provider will automatically use the value from the environment variable `ZPA_CUSTOMER_ID`
        :param pulumi.Input[bool] delete_disabled: (Optional) - Indicates if the App Connectors are included for deletion if they are in a disconnected state based on frequencyInterval and frequency values. Supported values are: `true` or `false`
        :param pulumi.Input[bool] enabled: (Optional) - Indicates if the setting for deleting App Connectors is enabled or disabled. Supported values are: `true` or `false`
        :param pulumi.Input[str] frequency: The scheduled frequency at which the disconnected App Connectors are deleted. Supported value is: `days`
        :param pulumi.Input[str] frequency_interval: The interval for the configured frequency value. The minimum supported value is 5. Supported values are: `5`, `7`, `14`, `30`, `60` and `90`
        """
        if customer_id is not None:
            pulumi.set(__self__, "customer_id", customer_id)
        if delete_disabled is not None:
            pulumi.set(__self__, "delete_disabled", delete_disabled)
        if enabled is not None:
            pulumi.set(__self__, "enabled", enabled)
        if frequency is not None:
            pulumi.set(__self__, "frequency", frequency)
        if frequency_interval is not None:
            pulumi.set(__self__, "frequency_interval", frequency_interval)

    @property
    @pulumi.getter(name="customerId")
    def customer_id(self) -> Optional[pulumi.Input[str]]:
        """
        When enabling the Assistant Schedule for the first time, you must provide the `customer_id` information. If you authenticated using environment variables and used `ZPA_CUSTOMER_ID` environment variable, you don't have to define the customer_id attribute in the HCL configuration, and the provider will automatically use the value from the environment variable `ZPA_CUSTOMER_ID`
        """
        return pulumi.get(self, "customer_id")

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

    @property
    @pulumi.getter(name="deleteDisabled")
    def delete_disabled(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) - Indicates if the App Connectors are included for deletion if they are in a disconnected state based on frequencyInterval and frequency values. Supported values are: `true` or `false`
        """
        return pulumi.get(self, "delete_disabled")

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

    @property
    @pulumi.getter
    def enabled(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) - Indicates if the setting for deleting App Connectors is enabled or disabled. Supported values are: `true` or `false`
        """
        return pulumi.get(self, "enabled")

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

    @property
    @pulumi.getter
    def frequency(self) -> Optional[pulumi.Input[str]]:
        """
        The scheduled frequency at which the disconnected App Connectors are deleted. Supported value is: `days`
        """
        return pulumi.get(self, "frequency")

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

    @property
    @pulumi.getter(name="frequencyInterval")
    def frequency_interval(self) -> Optional[pulumi.Input[str]]:
        """
        The interval for the configured frequency value. The minimum supported value is 5. Supported values are: `5`, `7`, `14`, `30`, `60` and `90`
        """
        return pulumi.get(self, "frequency_interval")

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


@pulumi.input_type
class _AssistantScheduleState:
    def __init__(__self__, *,
                 customer_id: Optional[pulumi.Input[str]] = None,
                 delete_disabled: Optional[pulumi.Input[bool]] = None,
                 enabled: Optional[pulumi.Input[bool]] = None,
                 frequency: Optional[pulumi.Input[str]] = None,
                 frequency_interval: Optional[pulumi.Input[str]] = None):
        """
        Input properties used for looking up and filtering AssistantSchedule resources.
        :param pulumi.Input[str] customer_id: When enabling the Assistant Schedule for the first time, you must provide the `customer_id` information. If you authenticated using environment variables and used `ZPA_CUSTOMER_ID` environment variable, you don't have to define the customer_id attribute in the HCL configuration, and the provider will automatically use the value from the environment variable `ZPA_CUSTOMER_ID`
        :param pulumi.Input[bool] delete_disabled: (Optional) - Indicates if the App Connectors are included for deletion if they are in a disconnected state based on frequencyInterval and frequency values. Supported values are: `true` or `false`
        :param pulumi.Input[bool] enabled: (Optional) - Indicates if the setting for deleting App Connectors is enabled or disabled. Supported values are: `true` or `false`
        :param pulumi.Input[str] frequency: The scheduled frequency at which the disconnected App Connectors are deleted. Supported value is: `days`
        :param pulumi.Input[str] frequency_interval: The interval for the configured frequency value. The minimum supported value is 5. Supported values are: `5`, `7`, `14`, `30`, `60` and `90`
        """
        if customer_id is not None:
            pulumi.set(__self__, "customer_id", customer_id)
        if delete_disabled is not None:
            pulumi.set(__self__, "delete_disabled", delete_disabled)
        if enabled is not None:
            pulumi.set(__self__, "enabled", enabled)
        if frequency is not None:
            pulumi.set(__self__, "frequency", frequency)
        if frequency_interval is not None:
            pulumi.set(__self__, "frequency_interval", frequency_interval)

    @property
    @pulumi.getter(name="customerId")
    def customer_id(self) -> Optional[pulumi.Input[str]]:
        """
        When enabling the Assistant Schedule for the first time, you must provide the `customer_id` information. If you authenticated using environment variables and used `ZPA_CUSTOMER_ID` environment variable, you don't have to define the customer_id attribute in the HCL configuration, and the provider will automatically use the value from the environment variable `ZPA_CUSTOMER_ID`
        """
        return pulumi.get(self, "customer_id")

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

    @property
    @pulumi.getter(name="deleteDisabled")
    def delete_disabled(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) - Indicates if the App Connectors are included for deletion if they are in a disconnected state based on frequencyInterval and frequency values. Supported values are: `true` or `false`
        """
        return pulumi.get(self, "delete_disabled")

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

    @property
    @pulumi.getter
    def enabled(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) - Indicates if the setting for deleting App Connectors is enabled or disabled. Supported values are: `true` or `false`
        """
        return pulumi.get(self, "enabled")

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

    @property
    @pulumi.getter
    def frequency(self) -> Optional[pulumi.Input[str]]:
        """
        The scheduled frequency at which the disconnected App Connectors are deleted. Supported value is: `days`
        """
        return pulumi.get(self, "frequency")

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

    @property
    @pulumi.getter(name="frequencyInterval")
    def frequency_interval(self) -> Optional[pulumi.Input[str]]:
        """
        The interval for the configured frequency value. The minimum supported value is 5. Supported values are: `5`, `7`, `14`, `30`, `60` and `90`
        """
        return pulumi.get(self, "frequency_interval")

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


class AssistantSchedule(pulumi.CustomResource):
    @overload
    def __init__(__self__,
                 resource_name: str,
                 opts: Optional[pulumi.ResourceOptions] = None,
                 customer_id: Optional[pulumi.Input[str]] = None,
                 delete_disabled: Optional[pulumi.Input[bool]] = None,
                 enabled: Optional[pulumi.Input[bool]] = None,
                 frequency: Optional[pulumi.Input[str]] = None,
                 frequency_interval: Optional[pulumi.Input[str]] = None,
                 __props__=None):
        """
        Use the **zpa_app_connector_assistant_schedule** resource sets the scheduled frequency at which the disconnected App Connectors are eligible for deletion. The supported value for frequency is days. The frequencyInterval field is the number of days after an App Connector disconnects for it to become eligible for deletion. The minimum supported value for frequencyInterval is 5.

        > **NOTE** - When enabling the Assistant Schedule for the first time, you must provide the `customer_id` information. If you authenticated using environment variables and used `ZPA_CUSTOMER_ID` environment variable, you don't have to define the customer_id attribute in the HCL configuration, and the provider will automatically use the value from the environment variable `ZPA_CUSTOMER_ID`

        ## Example Usage
        ### Defined Customer ID Value

        ```python
        import pulumi
        import pulumi_zpa as zpa

        this = zpa.AssistantSchedule("this",
            customer_id="123456789101112",
            delete_disabled=True,
            enabled=True,
            frequency="days",
            frequency_interval="5")
        ```
        ### Customer ID Via Environment Variable

        ```python
        import pulumi
        import pulumi_zpa as zpa

        this = zpa.AssistantSchedule("this",
            delete_disabled=True,
            enabled=True,
            frequency="days",
            frequency_interval="5")
        ```

        :param str resource_name: The name of the resource.
        :param pulumi.ResourceOptions opts: Options for the resource.
        :param pulumi.Input[str] customer_id: When enabling the Assistant Schedule for the first time, you must provide the `customer_id` information. If you authenticated using environment variables and used `ZPA_CUSTOMER_ID` environment variable, you don't have to define the customer_id attribute in the HCL configuration, and the provider will automatically use the value from the environment variable `ZPA_CUSTOMER_ID`
        :param pulumi.Input[bool] delete_disabled: (Optional) - Indicates if the App Connectors are included for deletion if they are in a disconnected state based on frequencyInterval and frequency values. Supported values are: `true` or `false`
        :param pulumi.Input[bool] enabled: (Optional) - Indicates if the setting for deleting App Connectors is enabled or disabled. Supported values are: `true` or `false`
        :param pulumi.Input[str] frequency: The scheduled frequency at which the disconnected App Connectors are deleted. Supported value is: `days`
        :param pulumi.Input[str] frequency_interval: The interval for the configured frequency value. The minimum supported value is 5. Supported values are: `5`, `7`, `14`, `30`, `60` and `90`
        """
        ...
    @overload
    def __init__(__self__,
                 resource_name: str,
                 args: Optional[AssistantScheduleArgs] = None,
                 opts: Optional[pulumi.ResourceOptions] = None):
        """
        Use the **zpa_app_connector_assistant_schedule** resource sets the scheduled frequency at which the disconnected App Connectors are eligible for deletion. The supported value for frequency is days. The frequencyInterval field is the number of days after an App Connector disconnects for it to become eligible for deletion. The minimum supported value for frequencyInterval is 5.

        > **NOTE** - When enabling the Assistant Schedule for the first time, you must provide the `customer_id` information. If you authenticated using environment variables and used `ZPA_CUSTOMER_ID` environment variable, you don't have to define the customer_id attribute in the HCL configuration, and the provider will automatically use the value from the environment variable `ZPA_CUSTOMER_ID`

        ## Example Usage
        ### Defined Customer ID Value

        ```python
        import pulumi
        import pulumi_zpa as zpa

        this = zpa.AssistantSchedule("this",
            customer_id="123456789101112",
            delete_disabled=True,
            enabled=True,
            frequency="days",
            frequency_interval="5")
        ```
        ### Customer ID Via Environment Variable

        ```python
        import pulumi
        import pulumi_zpa as zpa

        this = zpa.AssistantSchedule("this",
            delete_disabled=True,
            enabled=True,
            frequency="days",
            frequency_interval="5")
        ```

        :param str resource_name: The name of the resource.
        :param AssistantScheduleArgs args: The arguments to use to populate this resource's properties.
        :param pulumi.ResourceOptions opts: Options for the resource.
        """
        ...
    def __init__(__self__, resource_name: str, *args, **kwargs):
        resource_args, opts = _utilities.get_resource_args_opts(AssistantScheduleArgs, pulumi.ResourceOptions, *args, **kwargs)
        if resource_args is not None:
            __self__._internal_init(resource_name, opts, **resource_args.__dict__)
        else:
            __self__._internal_init(resource_name, *args, **kwargs)

    def _internal_init(__self__,
                 resource_name: str,
                 opts: Optional[pulumi.ResourceOptions] = None,
                 customer_id: Optional[pulumi.Input[str]] = None,
                 delete_disabled: Optional[pulumi.Input[bool]] = None,
                 enabled: Optional[pulumi.Input[bool]] = None,
                 frequency: Optional[pulumi.Input[str]] = None,
                 frequency_interval: Optional[pulumi.Input[str]] = None,
                 __props__=None):
        opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
        if not isinstance(opts, pulumi.ResourceOptions):
            raise TypeError('Expected resource options to be a ResourceOptions instance')
        if opts.id is None:
            if __props__ is not None:
                raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
            __props__ = AssistantScheduleArgs.__new__(AssistantScheduleArgs)

            __props__.__dict__["customer_id"] = customer_id
            __props__.__dict__["delete_disabled"] = delete_disabled
            __props__.__dict__["enabled"] = enabled
            __props__.__dict__["frequency"] = frequency
            __props__.__dict__["frequency_interval"] = frequency_interval
        super(AssistantSchedule, __self__).__init__(
            'zpa:index/assistantSchedule:AssistantSchedule',
            resource_name,
            __props__,
            opts)

    @staticmethod
    def get(resource_name: str,
            id: pulumi.Input[str],
            opts: Optional[pulumi.ResourceOptions] = None,
            customer_id: Optional[pulumi.Input[str]] = None,
            delete_disabled: Optional[pulumi.Input[bool]] = None,
            enabled: Optional[pulumi.Input[bool]] = None,
            frequency: Optional[pulumi.Input[str]] = None,
            frequency_interval: Optional[pulumi.Input[str]] = None) -> 'AssistantSchedule':
        """
        Get an existing AssistantSchedule resource's state with the given name, id, and optional extra
        properties used to qualify the lookup.

        :param str resource_name: The unique name of the resulting resource.
        :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
        :param pulumi.ResourceOptions opts: Options for the resource.
        :param pulumi.Input[str] customer_id: When enabling the Assistant Schedule for the first time, you must provide the `customer_id` information. If you authenticated using environment variables and used `ZPA_CUSTOMER_ID` environment variable, you don't have to define the customer_id attribute in the HCL configuration, and the provider will automatically use the value from the environment variable `ZPA_CUSTOMER_ID`
        :param pulumi.Input[bool] delete_disabled: (Optional) - Indicates if the App Connectors are included for deletion if they are in a disconnected state based on frequencyInterval and frequency values. Supported values are: `true` or `false`
        :param pulumi.Input[bool] enabled: (Optional) - Indicates if the setting for deleting App Connectors is enabled or disabled. Supported values are: `true` or `false`
        :param pulumi.Input[str] frequency: The scheduled frequency at which the disconnected App Connectors are deleted. Supported value is: `days`
        :param pulumi.Input[str] frequency_interval: The interval for the configured frequency value. The minimum supported value is 5. Supported values are: `5`, `7`, `14`, `30`, `60` and `90`
        """
        opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))

        __props__ = _AssistantScheduleState.__new__(_AssistantScheduleState)

        __props__.__dict__["customer_id"] = customer_id
        __props__.__dict__["delete_disabled"] = delete_disabled
        __props__.__dict__["enabled"] = enabled
        __props__.__dict__["frequency"] = frequency
        __props__.__dict__["frequency_interval"] = frequency_interval
        return AssistantSchedule(resource_name, opts=opts, __props__=__props__)

    @property
    @pulumi.getter(name="customerId")
    def customer_id(self) -> pulumi.Output[str]:
        """
        When enabling the Assistant Schedule for the first time, you must provide the `customer_id` information. If you authenticated using environment variables and used `ZPA_CUSTOMER_ID` environment variable, you don't have to define the customer_id attribute in the HCL configuration, and the provider will automatically use the value from the environment variable `ZPA_CUSTOMER_ID`
        """
        return pulumi.get(self, "customer_id")

    @property
    @pulumi.getter(name="deleteDisabled")
    def delete_disabled(self) -> pulumi.Output[Optional[bool]]:
        """
        (Optional) - Indicates if the App Connectors are included for deletion if they are in a disconnected state based on frequencyInterval and frequency values. Supported values are: `true` or `false`
        """
        return pulumi.get(self, "delete_disabled")

    @property
    @pulumi.getter
    def enabled(self) -> pulumi.Output[Optional[bool]]:
        """
        (Optional) - Indicates if the setting for deleting App Connectors is enabled or disabled. Supported values are: `true` or `false`
        """
        return pulumi.get(self, "enabled")

    @property
    @pulumi.getter
    def frequency(self) -> pulumi.Output[Optional[str]]:
        """
        The scheduled frequency at which the disconnected App Connectors are deleted. Supported value is: `days`
        """
        return pulumi.get(self, "frequency")

    @property
    @pulumi.getter(name="frequencyInterval")
    def frequency_interval(self) -> pulumi.Output[Optional[str]]:
        """
        The interval for the configured frequency value. The minimum supported value is 5. Supported values are: `5`, `7`, `14`, `30`, `60` and `90`
        """
        return pulumi.get(self, "frequency_interval")

