# coding=utf-8
# *** WARNING: this file was generated by pulumi-language-python. ***
# *** Do not edit by hand unless you're certain you know what you are doing! ***

import builtins as _builtins
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

__all__ = [
    'DefinitionCronArgs',
    'DefinitionCronArgsDict',
    'DefinitionSecretReferenceArgs',
    'DefinitionSecretReferenceArgsDict',
]

MYPY = False

if not MYPY:
    class DefinitionCronArgsDict(TypedDict):
        schedule: pulumi.Input[_builtins.str]
        """
        Cron format string.
        """
        timezone: pulumi.Input[_builtins.str]
        """
        The timezone, must be a canonical TZ identifier as found in this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).
        """
elif False:
    DefinitionCronArgsDict: TypeAlias = Mapping[str, Any]

@pulumi.input_type
class DefinitionCronArgs:
    def __init__(__self__, *,
                 schedule: pulumi.Input[_builtins.str],
                 timezone: pulumi.Input[_builtins.str]):
        """
        :param pulumi.Input[_builtins.str] schedule: Cron format string.
        :param pulumi.Input[_builtins.str] timezone: The timezone, must be a canonical TZ identifier as found in this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).
        """
        pulumi.set(__self__, "schedule", schedule)
        pulumi.set(__self__, "timezone", timezone)

    @_builtins.property
    @pulumi.getter
    def schedule(self) -> pulumi.Input[_builtins.str]:
        """
        Cron format string.
        """
        return pulumi.get(self, "schedule")

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

    @_builtins.property
    @pulumi.getter
    def timezone(self) -> pulumi.Input[_builtins.str]:
        """
        The timezone, must be a canonical TZ identifier as found in this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).
        """
        return pulumi.get(self, "timezone")

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


if not MYPY:
    class DefinitionSecretReferenceArgsDict(TypedDict):
        secret_id: pulumi.Input[_builtins.str]
        """
        The secret unique identifier, it could be formatted as region/UUID or UUID. In case the region is passed, it must be the same as the job definition. You could reference the same secret multiple times in the same job definition.
        """
        environment: NotRequired[pulumi.Input[_builtins.str]]
        """
        An environment variable containing the secret value. Must be specified if `file` is not specified.
        """
        file: NotRequired[pulumi.Input[_builtins.str]]
        """
        The absolute file path where the secret will be mounted. Must be specified if `environment` is not specified.
        """
        secret_reference_id: NotRequired[pulumi.Input[_builtins.str]]
        """
        The secret reference UUID that is automatically generated by the provider.
        """
        secret_version: NotRequired[pulumi.Input[_builtins.str]]
        """
        The secret version.
        """
elif False:
    DefinitionSecretReferenceArgsDict: TypeAlias = Mapping[str, Any]

@pulumi.input_type
class DefinitionSecretReferenceArgs:
    def __init__(__self__, *,
                 secret_id: pulumi.Input[_builtins.str],
                 environment: Optional[pulumi.Input[_builtins.str]] = None,
                 file: Optional[pulumi.Input[_builtins.str]] = None,
                 secret_reference_id: Optional[pulumi.Input[_builtins.str]] = None,
                 secret_version: Optional[pulumi.Input[_builtins.str]] = None):
        """
        :param pulumi.Input[_builtins.str] secret_id: The secret unique identifier, it could be formatted as region/UUID or UUID. In case the region is passed, it must be the same as the job definition. You could reference the same secret multiple times in the same job definition.
        :param pulumi.Input[_builtins.str] environment: An environment variable containing the secret value. Must be specified if `file` is not specified.
        :param pulumi.Input[_builtins.str] file: The absolute file path where the secret will be mounted. Must be specified if `environment` is not specified.
        :param pulumi.Input[_builtins.str] secret_reference_id: The secret reference UUID that is automatically generated by the provider.
        :param pulumi.Input[_builtins.str] secret_version: The secret version.
        """
        pulumi.set(__self__, "secret_id", secret_id)
        if environment is not None:
            pulumi.set(__self__, "environment", environment)
        if file is not None:
            pulumi.set(__self__, "file", file)
        if secret_reference_id is not None:
            pulumi.set(__self__, "secret_reference_id", secret_reference_id)
        if secret_version is not None:
            pulumi.set(__self__, "secret_version", secret_version)

    @_builtins.property
    @pulumi.getter(name="secretId")
    def secret_id(self) -> pulumi.Input[_builtins.str]:
        """
        The secret unique identifier, it could be formatted as region/UUID or UUID. In case the region is passed, it must be the same as the job definition. You could reference the same secret multiple times in the same job definition.
        """
        return pulumi.get(self, "secret_id")

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

    @_builtins.property
    @pulumi.getter
    def environment(self) -> Optional[pulumi.Input[_builtins.str]]:
        """
        An environment variable containing the secret value. Must be specified if `file` is not specified.
        """
        return pulumi.get(self, "environment")

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

    @_builtins.property
    @pulumi.getter
    def file(self) -> Optional[pulumi.Input[_builtins.str]]:
        """
        The absolute file path where the secret will be mounted. Must be specified if `environment` is not specified.
        """
        return pulumi.get(self, "file")

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

    @_builtins.property
    @pulumi.getter(name="secretReferenceId")
    def secret_reference_id(self) -> Optional[pulumi.Input[_builtins.str]]:
        """
        The secret reference UUID that is automatically generated by the provider.
        """
        return pulumi.get(self, "secret_reference_id")

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

    @_builtins.property
    @pulumi.getter(name="secretVersion")
    def secret_version(self) -> Optional[pulumi.Input[_builtins.str]]:
        """
        The secret version.
        """
        return pulumi.get(self, "secret_version")

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


