# 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__ = [
    'ApplicationBuiltInEnvironmentVariableArgs',
    'ApplicationCustomDomainArgs',
    'ApplicationDeploymentRestrictionArgs',
    'ApplicationEnvironmentVariableArgs',
    'ApplicationEnvironmentVariableAliasArgs',
    'ApplicationEnvironmentVariableOverrideArgs',
    'ApplicationGitRepositoryArgs',
    'ApplicationHealthchecksArgs',
    'ApplicationHealthchecksLivenessProbeArgs',
    'ApplicationHealthchecksLivenessProbeTypeArgs',
    'ApplicationHealthchecksLivenessProbeTypeExecArgs',
    'ApplicationHealthchecksLivenessProbeTypeGrpcArgs',
    'ApplicationHealthchecksLivenessProbeTypeHttpArgs',
    'ApplicationHealthchecksLivenessProbeTypeTcpArgs',
    'ApplicationHealthchecksReadinessProbeArgs',
    'ApplicationHealthchecksReadinessProbeTypeArgs',
    'ApplicationHealthchecksReadinessProbeTypeExecArgs',
    'ApplicationHealthchecksReadinessProbeTypeGrpcArgs',
    'ApplicationHealthchecksReadinessProbeTypeHttpArgs',
    'ApplicationHealthchecksReadinessProbeTypeTcpArgs',
    'ApplicationPortArgs',
    'ApplicationSecretArgs',
    'ApplicationSecretAliasArgs',
    'ApplicationSecretOverrideArgs',
    'ApplicationStorageArgs',
    'ClusterFeaturesArgs',
    'ClusterFeaturesExistingVpcArgs',
    'ClusterRoutingTableArgs',
    'ContainerBuiltInEnvironmentVariableArgs',
    'ContainerCustomDomainArgs',
    'ContainerEnvironmentVariableArgs',
    'ContainerEnvironmentVariableAliasArgs',
    'ContainerEnvironmentVariableOverrideArgs',
    'ContainerHealthchecksArgs',
    'ContainerHealthchecksLivenessProbeArgs',
    'ContainerHealthchecksLivenessProbeTypeArgs',
    'ContainerHealthchecksLivenessProbeTypeExecArgs',
    'ContainerHealthchecksLivenessProbeTypeGrpcArgs',
    'ContainerHealthchecksLivenessProbeTypeHttpArgs',
    'ContainerHealthchecksLivenessProbeTypeTcpArgs',
    'ContainerHealthchecksReadinessProbeArgs',
    'ContainerHealthchecksReadinessProbeTypeArgs',
    'ContainerHealthchecksReadinessProbeTypeExecArgs',
    'ContainerHealthchecksReadinessProbeTypeGrpcArgs',
    'ContainerHealthchecksReadinessProbeTypeHttpArgs',
    'ContainerHealthchecksReadinessProbeTypeTcpArgs',
    'ContainerPortArgs',
    'ContainerRegistryConfigArgs',
    'ContainerSecretArgs',
    'ContainerSecretAliasArgs',
    'ContainerSecretOverrideArgs',
    'ContainerStorageArgs',
    'EnvironmentBuiltInEnvironmentVariableArgs',
    'EnvironmentEnvironmentVariableArgs',
    'EnvironmentEnvironmentVariableAliasArgs',
    'EnvironmentEnvironmentVariableOverrideArgs',
    'EnvironmentSecretArgs',
    'EnvironmentSecretAliasArgs',
    'EnvironmentSecretOverrideArgs',
    'HelmBuiltInEnvironmentVariableArgs',
    'HelmDeploymentRestrictionArgs',
    'HelmEnvironmentVariableArgs',
    'HelmEnvironmentVariableAliasArgs',
    'HelmEnvironmentVariableOverrideArgs',
    'HelmPortsArgs',
    'HelmRepositoryConfigArgs',
    'HelmSecretArgs',
    'HelmSecretAliasArgs',
    'HelmSecretOverrideArgs',
    'HelmSourceArgs',
    'HelmSourceGitRepositoryArgs',
    'HelmSourceHelmRepositoryArgs',
    'HelmValuesOverrideArgs',
    'HelmValuesOverrideFileArgs',
    'HelmValuesOverrideFileGitRepositoryArgs',
    'HelmValuesOverrideFileRawArgs',
    'JobBuiltInEnvironmentVariableArgs',
    'JobDeploymentRestrictionArgs',
    'JobEnvironmentVariableArgs',
    'JobEnvironmentVariableAliasArgs',
    'JobEnvironmentVariableOverrideArgs',
    'JobHealthchecksArgs',
    'JobHealthchecksLivenessProbeArgs',
    'JobHealthchecksLivenessProbeTypeArgs',
    'JobHealthchecksLivenessProbeTypeExecArgs',
    'JobHealthchecksLivenessProbeTypeGrpcArgs',
    'JobHealthchecksLivenessProbeTypeHttpArgs',
    'JobHealthchecksLivenessProbeTypeTcpArgs',
    'JobHealthchecksReadinessProbeArgs',
    'JobHealthchecksReadinessProbeTypeArgs',
    'JobHealthchecksReadinessProbeTypeExecArgs',
    'JobHealthchecksReadinessProbeTypeGrpcArgs',
    'JobHealthchecksReadinessProbeTypeHttpArgs',
    'JobHealthchecksReadinessProbeTypeTcpArgs',
    'JobScheduleArgs',
    'JobScheduleCronjobArgs',
    'JobScheduleCronjobCommandArgs',
    'JobScheduleOnDeleteArgs',
    'JobScheduleOnStartArgs',
    'JobScheduleOnStopArgs',
    'JobSecretArgs',
    'JobSecretAliasArgs',
    'JobSecretOverrideArgs',
    'JobSourceArgs',
    'JobSourceDockerArgs',
    'JobSourceDockerGitRepositoryArgs',
    'JobSourceImageArgs',
    'ProjectBuiltInEnvironmentVariableArgs',
    'ProjectEnvironmentVariableArgs',
    'ProjectEnvironmentVariableAliasArgs',
    'ProjectSecretArgs',
    'ProjectSecretAliasArgs',
    'GetApplicationCustomDomainArgs',
    'GetApplicationDeploymentRestrictionArgs',
    'GetApplicationEnvironmentVariableArgs',
    'GetApplicationEnvironmentVariableAliasArgs',
    'GetApplicationEnvironmentVariableOverrideArgs',
    'GetApplicationHealthchecksArgs',
    'GetApplicationHealthchecksLivenessProbeArgs',
    'GetApplicationHealthchecksLivenessProbeTypeArgs',
    'GetApplicationHealthchecksLivenessProbeTypeExecArgs',
    'GetApplicationHealthchecksLivenessProbeTypeGrpcArgs',
    'GetApplicationHealthchecksLivenessProbeTypeHttpArgs',
    'GetApplicationHealthchecksLivenessProbeTypeTcpArgs',
    'GetApplicationHealthchecksReadinessProbeArgs',
    'GetApplicationHealthchecksReadinessProbeTypeArgs',
    'GetApplicationHealthchecksReadinessProbeTypeExecArgs',
    'GetApplicationHealthchecksReadinessProbeTypeGrpcArgs',
    'GetApplicationHealthchecksReadinessProbeTypeHttpArgs',
    'GetApplicationHealthchecksReadinessProbeTypeTcpArgs',
    'GetApplicationSecretArgs',
    'GetApplicationSecretAliasArgs',
    'GetApplicationSecretOverrideArgs',
    'GetApplicationStorageArgs',
    'GetClusterFeaturesArgs',
    'GetClusterRoutingTableArgs',
    'GetContainerCustomDomainArgs',
    'GetContainerEnvironmentVariableArgs',
    'GetContainerEnvironmentVariableAliasArgs',
    'GetContainerEnvironmentVariableOverrideArgs',
    'GetContainerHealthchecksArgs',
    'GetContainerHealthchecksLivenessProbeArgs',
    'GetContainerHealthchecksLivenessProbeTypeArgs',
    'GetContainerHealthchecksLivenessProbeTypeExecArgs',
    'GetContainerHealthchecksLivenessProbeTypeGrpcArgs',
    'GetContainerHealthchecksLivenessProbeTypeHttpArgs',
    'GetContainerHealthchecksLivenessProbeTypeTcpArgs',
    'GetContainerHealthchecksReadinessProbeArgs',
    'GetContainerHealthchecksReadinessProbeTypeArgs',
    'GetContainerHealthchecksReadinessProbeTypeExecArgs',
    'GetContainerHealthchecksReadinessProbeTypeGrpcArgs',
    'GetContainerHealthchecksReadinessProbeTypeHttpArgs',
    'GetContainerHealthchecksReadinessProbeTypeTcpArgs',
    'GetContainerPortArgs',
    'GetContainerSecretArgs',
    'GetContainerSecretAliasArgs',
    'GetContainerSecretOverrideArgs',
    'GetContainerStorageArgs',
    'GetEnvironmentEnvironmentVariableArgs',
    'GetEnvironmentEnvironmentVariableAliasArgs',
    'GetEnvironmentEnvironmentVariableOverrideArgs',
    'GetEnvironmentSecretArgs',
    'GetEnvironmentSecretAliasArgs',
    'GetEnvironmentSecretOverrideArgs',
    'GetHelmDeploymentRestrictionArgs',
    'GetHelmEnvironmentVariableArgs',
    'GetHelmEnvironmentVariableAliasArgs',
    'GetHelmEnvironmentVariableOverrideArgs',
    'GetHelmSecretArgs',
    'GetHelmSecretAliasArgs',
    'GetHelmSecretOverrideArgs',
    'GetJobDeploymentRestrictionArgs',
    'GetJobEnvironmentVariableArgs',
    'GetJobEnvironmentVariableAliasArgs',
    'GetJobEnvironmentVariableOverrideArgs',
    'GetJobHealthchecksArgs',
    'GetJobHealthchecksLivenessProbeArgs',
    'GetJobHealthchecksLivenessProbeTypeArgs',
    'GetJobHealthchecksLivenessProbeTypeExecArgs',
    'GetJobHealthchecksLivenessProbeTypeGrpcArgs',
    'GetJobHealthchecksLivenessProbeTypeHttpArgs',
    'GetJobHealthchecksLivenessProbeTypeTcpArgs',
    'GetJobHealthchecksReadinessProbeArgs',
    'GetJobHealthchecksReadinessProbeTypeArgs',
    'GetJobHealthchecksReadinessProbeTypeExecArgs',
    'GetJobHealthchecksReadinessProbeTypeGrpcArgs',
    'GetJobHealthchecksReadinessProbeTypeHttpArgs',
    'GetJobHealthchecksReadinessProbeTypeTcpArgs',
    'GetJobSecretArgs',
    'GetJobSecretAliasArgs',
    'GetJobSecretOverrideArgs',
    'GetJobSourceArgs',
    'GetJobSourceDockerArgs',
    'GetJobSourceDockerGitRepositoryArgs',
    'GetJobSourceImageArgs',
    'GetProjectEnvironmentVariableArgs',
    'GetProjectEnvironmentVariableAliasArgs',
    'GetProjectSecretArgs',
    'GetProjectSecretAliasArgs',
]

@pulumi.input_type
class ApplicationBuiltInEnvironmentVariableArgs:
    def __init__(__self__, *,
                 id: Optional[pulumi.Input[str]] = None,
                 key: Optional[pulumi.Input[str]] = None,
                 value: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] id: Id of the environment variable.
        :param pulumi.Input[str] key: Key of the environment variable.
        :param pulumi.Input[str] value: Value of the environment variable.
        """
        if id is not None:
            pulumi.set(__self__, "id", id)
        if key is not None:
            pulumi.set(__self__, "key", key)
        if value is not None:
            pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the environment variable.
        """
        return pulumi.get(self, "id")

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

    @property
    @pulumi.getter
    def key(self) -> Optional[pulumi.Input[str]]:
        """
        Key of the environment variable.
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> Optional[pulumi.Input[str]]:
        """
        Value of the environment variable.
        """
        return pulumi.get(self, "value")

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


@pulumi.input_type
class ApplicationCustomDomainArgs:
    def __init__(__self__, *,
                 domain: pulumi.Input[str],
                 id: Optional[pulumi.Input[str]] = None,
                 status: Optional[pulumi.Input[str]] = None,
                 validation_domain: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] domain: Your custom domain.
        :param pulumi.Input[str] id: Id of the custom domain.
        :param pulumi.Input[str] status: Status of the custom domain.
        :param pulumi.Input[str] validation_domain: URL provided by Qovery. You must create a CNAME on your DNS provider using that URL.
        """
        pulumi.set(__self__, "domain", domain)
        if id is not None:
            pulumi.set(__self__, "id", id)
        if status is not None:
            pulumi.set(__self__, "status", status)
        if validation_domain is not None:
            pulumi.set(__self__, "validation_domain", validation_domain)

    @property
    @pulumi.getter
    def domain(self) -> pulumi.Input[str]:
        """
        Your custom domain.
        """
        return pulumi.get(self, "domain")

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

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the custom domain.
        """
        return pulumi.get(self, "id")

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

    @property
    @pulumi.getter
    def status(self) -> Optional[pulumi.Input[str]]:
        """
        Status of the custom domain.
        """
        return pulumi.get(self, "status")

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

    @property
    @pulumi.getter(name="validationDomain")
    def validation_domain(self) -> Optional[pulumi.Input[str]]:
        """
        URL provided by Qovery. You must create a CNAME on your DNS provider using that URL.
        """
        return pulumi.get(self, "validation_domain")

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


@pulumi.input_type
class ApplicationDeploymentRestrictionArgs:
    def __init__(__self__, *,
                 mode: pulumi.Input[str],
                 type: pulumi.Input[str],
                 value: pulumi.Input[str],
                 id: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] mode: Can be EXCLUDE or MATCH
        :param pulumi.Input[str] type: Currently, only PATH is accepted
        :param pulumi.Input[str] value: Value of the deployment restriction
        :param pulumi.Input[str] id: Id of the deployment restriction
        """
        pulumi.set(__self__, "mode", mode)
        pulumi.set(__self__, "type", type)
        pulumi.set(__self__, "value", value)
        if id is not None:
            pulumi.set(__self__, "id", id)

    @property
    @pulumi.getter
    def mode(self) -> pulumi.Input[str]:
        """
        Can be EXCLUDE or MATCH
        """
        return pulumi.get(self, "mode")

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

    @property
    @pulumi.getter
    def type(self) -> pulumi.Input[str]:
        """
        Currently, only PATH is accepted
        """
        return pulumi.get(self, "type")

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

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[str]:
        """
        Value of the deployment restriction
        """
        return pulumi.get(self, "value")

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

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the deployment restriction
        """
        return pulumi.get(self, "id")

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


@pulumi.input_type
class ApplicationEnvironmentVariableArgs:
    def __init__(__self__, *,
                 key: pulumi.Input[str],
                 value: pulumi.Input[str],
                 id: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] key: Key of the environment variable.
        :param pulumi.Input[str] value: Value of the environment variable.
        :param pulumi.Input[str] id: Id of the environment variable.
        """
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)
        if id is not None:
            pulumi.set(__self__, "id", id)

    @property
    @pulumi.getter
    def key(self) -> pulumi.Input[str]:
        """
        Key of the environment variable.
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[str]:
        """
        Value of the environment variable.
        """
        return pulumi.get(self, "value")

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

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the environment variable.
        """
        return pulumi.get(self, "id")

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


@pulumi.input_type
class ApplicationEnvironmentVariableAliasArgs:
    def __init__(__self__, *,
                 key: pulumi.Input[str],
                 value: pulumi.Input[str],
                 id: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] key: Name of the environment variable alias.
        :param pulumi.Input[str] value: Name of the variable to alias.
        :param pulumi.Input[str] id: Id of the environment variable alias.
        """
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)
        if id is not None:
            pulumi.set(__self__, "id", id)

    @property
    @pulumi.getter
    def key(self) -> pulumi.Input[str]:
        """
        Name of the environment variable alias.
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[str]:
        """
        Name of the variable to alias.
        """
        return pulumi.get(self, "value")

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

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the environment variable alias.
        """
        return pulumi.get(self, "id")

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


@pulumi.input_type
class ApplicationEnvironmentVariableOverrideArgs:
    def __init__(__self__, *,
                 key: pulumi.Input[str],
                 value: pulumi.Input[str],
                 id: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] key: Name of the environment variable override.
        :param pulumi.Input[str] value: Value of the environment variable override.
        :param pulumi.Input[str] id: Id of the environment variable override.
        """
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)
        if id is not None:
            pulumi.set(__self__, "id", id)

    @property
    @pulumi.getter
    def key(self) -> pulumi.Input[str]:
        """
        Name of the environment variable override.
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[str]:
        """
        Value of the environment variable override.
        """
        return pulumi.get(self, "value")

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

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the environment variable override.
        """
        return pulumi.get(self, "id")

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


@pulumi.input_type
class ApplicationGitRepositoryArgs:
    def __init__(__self__, *,
                 url: pulumi.Input[str],
                 branch: Optional[pulumi.Input[str]] = None,
                 git_token_id: Optional[pulumi.Input[str]] = None,
                 root_path: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] url: URL of the git repository.
        :param pulumi.Input[str] branch: Branch of the git repository.
               	- Default: `main or master (depending on repository)`.
        :param pulumi.Input[str] git_token_id: The git token ID to be used
        :param pulumi.Input[str] root_path: Root path of the application.
               	- Default: `/`.
        """
        pulumi.set(__self__, "url", url)
        if branch is not None:
            pulumi.set(__self__, "branch", branch)
        if git_token_id is not None:
            pulumi.set(__self__, "git_token_id", git_token_id)
        if root_path is not None:
            pulumi.set(__self__, "root_path", root_path)

    @property
    @pulumi.getter
    def url(self) -> pulumi.Input[str]:
        """
        URL of the git repository.
        """
        return pulumi.get(self, "url")

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

    @property
    @pulumi.getter
    def branch(self) -> Optional[pulumi.Input[str]]:
        """
        Branch of the git repository.
        	- Default: `main or master (depending on repository)`.
        """
        return pulumi.get(self, "branch")

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

    @property
    @pulumi.getter(name="gitTokenId")
    def git_token_id(self) -> Optional[pulumi.Input[str]]:
        """
        The git token ID to be used
        """
        return pulumi.get(self, "git_token_id")

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

    @property
    @pulumi.getter(name="rootPath")
    def root_path(self) -> Optional[pulumi.Input[str]]:
        """
        Root path of the application.
        	- Default: `/`.
        """
        return pulumi.get(self, "root_path")

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


@pulumi.input_type
class ApplicationHealthchecksArgs:
    def __init__(__self__, *,
                 liveness_probe: Optional[pulumi.Input['ApplicationHealthchecksLivenessProbeArgs']] = None,
                 readiness_probe: Optional[pulumi.Input['ApplicationHealthchecksReadinessProbeArgs']] = None):
        """
        :param pulumi.Input['ApplicationHealthchecksLivenessProbeArgs'] liveness_probe: Configuration for the liveness probe, in order to know when your service is working correctly. Failing the probe means your service being killed/ask to be restarted.
        :param pulumi.Input['ApplicationHealthchecksReadinessProbeArgs'] readiness_probe: Configuration for the readiness probe, in order to know when your service is ready to receive traffic. Failing the probe means your service will stop receiving traffic.
        """
        if liveness_probe is not None:
            pulumi.set(__self__, "liveness_probe", liveness_probe)
        if readiness_probe is not None:
            pulumi.set(__self__, "readiness_probe", readiness_probe)

    @property
    @pulumi.getter(name="livenessProbe")
    def liveness_probe(self) -> Optional[pulumi.Input['ApplicationHealthchecksLivenessProbeArgs']]:
        """
        Configuration for the liveness probe, in order to know when your service is working correctly. Failing the probe means your service being killed/ask to be restarted.
        """
        return pulumi.get(self, "liveness_probe")

    @liveness_probe.setter
    def liveness_probe(self, value: Optional[pulumi.Input['ApplicationHealthchecksLivenessProbeArgs']]):
        pulumi.set(self, "liveness_probe", value)

    @property
    @pulumi.getter(name="readinessProbe")
    def readiness_probe(self) -> Optional[pulumi.Input['ApplicationHealthchecksReadinessProbeArgs']]:
        """
        Configuration for the readiness probe, in order to know when your service is ready to receive traffic. Failing the probe means your service will stop receiving traffic.
        """
        return pulumi.get(self, "readiness_probe")

    @readiness_probe.setter
    def readiness_probe(self, value: Optional[pulumi.Input['ApplicationHealthchecksReadinessProbeArgs']]):
        pulumi.set(self, "readiness_probe", value)


@pulumi.input_type
class ApplicationHealthchecksLivenessProbeArgs:
    def __init__(__self__, *,
                 failure_threshold: pulumi.Input[int],
                 initial_delay_seconds: pulumi.Input[int],
                 period_seconds: pulumi.Input[int],
                 success_threshold: pulumi.Input[int],
                 timeout_seconds: pulumi.Input[int],
                 type: pulumi.Input['ApplicationHealthchecksLivenessProbeTypeArgs']):
        """
        :param pulumi.Input[int] failure_threshold: Number of time the an ok probe should fail before declaring it as failed
        :param pulumi.Input[int] initial_delay_seconds: Number of seconds to wait before the first execution of the probe to be trigerred
        :param pulumi.Input[int] period_seconds: Number of seconds before each execution of the probe
        :param pulumi.Input[int] success_threshold: Number of time the probe should success before declaring a failed probe as ok again
        :param pulumi.Input[int] timeout_seconds: Number of seconds within which the check need to respond before declaring it as a failure
        :param pulumi.Input['ApplicationHealthchecksLivenessProbeTypeArgs'] type: Kind of check to run for this probe. There can only be one configured at a time
        """
        pulumi.set(__self__, "failure_threshold", failure_threshold)
        pulumi.set(__self__, "initial_delay_seconds", initial_delay_seconds)
        pulumi.set(__self__, "period_seconds", period_seconds)
        pulumi.set(__self__, "success_threshold", success_threshold)
        pulumi.set(__self__, "timeout_seconds", timeout_seconds)
        pulumi.set(__self__, "type", type)

    @property
    @pulumi.getter(name="failureThreshold")
    def failure_threshold(self) -> pulumi.Input[int]:
        """
        Number of time the an ok probe should fail before declaring it as failed
        """
        return pulumi.get(self, "failure_threshold")

    @failure_threshold.setter
    def failure_threshold(self, value: pulumi.Input[int]):
        pulumi.set(self, "failure_threshold", value)

    @property
    @pulumi.getter(name="initialDelaySeconds")
    def initial_delay_seconds(self) -> pulumi.Input[int]:
        """
        Number of seconds to wait before the first execution of the probe to be trigerred
        """
        return pulumi.get(self, "initial_delay_seconds")

    @initial_delay_seconds.setter
    def initial_delay_seconds(self, value: pulumi.Input[int]):
        pulumi.set(self, "initial_delay_seconds", value)

    @property
    @pulumi.getter(name="periodSeconds")
    def period_seconds(self) -> pulumi.Input[int]:
        """
        Number of seconds before each execution of the probe
        """
        return pulumi.get(self, "period_seconds")

    @period_seconds.setter
    def period_seconds(self, value: pulumi.Input[int]):
        pulumi.set(self, "period_seconds", value)

    @property
    @pulumi.getter(name="successThreshold")
    def success_threshold(self) -> pulumi.Input[int]:
        """
        Number of time the probe should success before declaring a failed probe as ok again
        """
        return pulumi.get(self, "success_threshold")

    @success_threshold.setter
    def success_threshold(self, value: pulumi.Input[int]):
        pulumi.set(self, "success_threshold", value)

    @property
    @pulumi.getter(name="timeoutSeconds")
    def timeout_seconds(self) -> pulumi.Input[int]:
        """
        Number of seconds within which the check need to respond before declaring it as a failure
        """
        return pulumi.get(self, "timeout_seconds")

    @timeout_seconds.setter
    def timeout_seconds(self, value: pulumi.Input[int]):
        pulumi.set(self, "timeout_seconds", value)

    @property
    @pulumi.getter
    def type(self) -> pulumi.Input['ApplicationHealthchecksLivenessProbeTypeArgs']:
        """
        Kind of check to run for this probe. There can only be one configured at a time
        """
        return pulumi.get(self, "type")

    @type.setter
    def type(self, value: pulumi.Input['ApplicationHealthchecksLivenessProbeTypeArgs']):
        pulumi.set(self, "type", value)


@pulumi.input_type
class ApplicationHealthchecksLivenessProbeTypeArgs:
    def __init__(__self__, *,
                 exec_: Optional[pulumi.Input['ApplicationHealthchecksLivenessProbeTypeExecArgs']] = None,
                 grpc: Optional[pulumi.Input['ApplicationHealthchecksLivenessProbeTypeGrpcArgs']] = None,
                 http: Optional[pulumi.Input['ApplicationHealthchecksLivenessProbeTypeHttpArgs']] = None,
                 tcp: Optional[pulumi.Input['ApplicationHealthchecksLivenessProbeTypeTcpArgs']] = None):
        """
        :param pulumi.Input['ApplicationHealthchecksLivenessProbeTypeExecArgs'] exec_: Check that the given command return an exit 0. Binary should be present in the image
        :param pulumi.Input['ApplicationHealthchecksLivenessProbeTypeGrpcArgs'] grpc: Check that the given port respond to GRPC call
        :param pulumi.Input['ApplicationHealthchecksLivenessProbeTypeHttpArgs'] http: Check that the given port respond to HTTP call (should return a 2xx response code)
        :param pulumi.Input['ApplicationHealthchecksLivenessProbeTypeTcpArgs'] tcp: Check that the given port accepting connection
        """
        if exec_ is not None:
            pulumi.set(__self__, "exec_", exec_)
        if grpc is not None:
            pulumi.set(__self__, "grpc", grpc)
        if http is not None:
            pulumi.set(__self__, "http", http)
        if tcp is not None:
            pulumi.set(__self__, "tcp", tcp)

    @property
    @pulumi.getter(name="exec")
    def exec_(self) -> Optional[pulumi.Input['ApplicationHealthchecksLivenessProbeTypeExecArgs']]:
        """
        Check that the given command return an exit 0. Binary should be present in the image
        """
        return pulumi.get(self, "exec_")

    @exec_.setter
    def exec_(self, value: Optional[pulumi.Input['ApplicationHealthchecksLivenessProbeTypeExecArgs']]):
        pulumi.set(self, "exec_", value)

    @property
    @pulumi.getter
    def grpc(self) -> Optional[pulumi.Input['ApplicationHealthchecksLivenessProbeTypeGrpcArgs']]:
        """
        Check that the given port respond to GRPC call
        """
        return pulumi.get(self, "grpc")

    @grpc.setter
    def grpc(self, value: Optional[pulumi.Input['ApplicationHealthchecksLivenessProbeTypeGrpcArgs']]):
        pulumi.set(self, "grpc", value)

    @property
    @pulumi.getter
    def http(self) -> Optional[pulumi.Input['ApplicationHealthchecksLivenessProbeTypeHttpArgs']]:
        """
        Check that the given port respond to HTTP call (should return a 2xx response code)
        """
        return pulumi.get(self, "http")

    @http.setter
    def http(self, value: Optional[pulumi.Input['ApplicationHealthchecksLivenessProbeTypeHttpArgs']]):
        pulumi.set(self, "http", value)

    @property
    @pulumi.getter
    def tcp(self) -> Optional[pulumi.Input['ApplicationHealthchecksLivenessProbeTypeTcpArgs']]:
        """
        Check that the given port accepting connection
        """
        return pulumi.get(self, "tcp")

    @tcp.setter
    def tcp(self, value: Optional[pulumi.Input['ApplicationHealthchecksLivenessProbeTypeTcpArgs']]):
        pulumi.set(self, "tcp", value)


@pulumi.input_type
class ApplicationHealthchecksLivenessProbeTypeExecArgs:
    def __init__(__self__, *,
                 commands: pulumi.Input[Sequence[pulumi.Input[str]]]):
        """
        :param pulumi.Input[Sequence[pulumi.Input[str]]] commands: The command and its arguments to exec
        """
        pulumi.set(__self__, "commands", commands)

    @property
    @pulumi.getter
    def commands(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
        """
        The command and its arguments to exec
        """
        return pulumi.get(self, "commands")

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


@pulumi.input_type
class ApplicationHealthchecksLivenessProbeTypeGrpcArgs:
    def __init__(__self__, *,
                 port: pulumi.Input[int],
                 service: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[int] port: The port number to try to connect to
        :param pulumi.Input[str] service: The grpc service to connect to. It needs to implement grpc health protocol. https://kubernetes.io/blog/2018/10/01/health-checking-grpc-servers-on-kubernetes/#introducing-grpc-health-probe
        """
        pulumi.set(__self__, "port", port)
        if service is not None:
            pulumi.set(__self__, "service", service)

    @property
    @pulumi.getter
    def port(self) -> pulumi.Input[int]:
        """
        The port number to try to connect to
        """
        return pulumi.get(self, "port")

    @port.setter
    def port(self, value: pulumi.Input[int]):
        pulumi.set(self, "port", value)

    @property
    @pulumi.getter
    def service(self) -> Optional[pulumi.Input[str]]:
        """
        The grpc service to connect to. It needs to implement grpc health protocol. https://kubernetes.io/blog/2018/10/01/health-checking-grpc-servers-on-kubernetes/#introducing-grpc-health-probe
        """
        return pulumi.get(self, "service")

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


@pulumi.input_type
class ApplicationHealthchecksLivenessProbeTypeHttpArgs:
    def __init__(__self__, *,
                 port: pulumi.Input[int],
                 scheme: pulumi.Input[str],
                 path: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[int] port: The port number to try to connect to
        :param pulumi.Input[str] scheme: if the HTTP GET request should be done in HTTP or HTTPS.
        :param pulumi.Input[str] path: The path that the HTTP GET request. By default it is `/`
        """
        pulumi.set(__self__, "port", port)
        pulumi.set(__self__, "scheme", scheme)
        if path is not None:
            pulumi.set(__self__, "path", path)

    @property
    @pulumi.getter
    def port(self) -> pulumi.Input[int]:
        """
        The port number to try to connect to
        """
        return pulumi.get(self, "port")

    @port.setter
    def port(self, value: pulumi.Input[int]):
        pulumi.set(self, "port", value)

    @property
    @pulumi.getter
    def scheme(self) -> pulumi.Input[str]:
        """
        if the HTTP GET request should be done in HTTP or HTTPS.
        """
        return pulumi.get(self, "scheme")

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

    @property
    @pulumi.getter
    def path(self) -> Optional[pulumi.Input[str]]:
        """
        The path that the HTTP GET request. By default it is `/`
        """
        return pulumi.get(self, "path")

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


@pulumi.input_type
class ApplicationHealthchecksLivenessProbeTypeTcpArgs:
    def __init__(__self__, *,
                 port: pulumi.Input[int],
                 host: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[int] port: The port number to try to connect to
        :param pulumi.Input[str] host: Optional. If the host need to be different than localhost/pod ip
        """
        pulumi.set(__self__, "port", port)
        if host is not None:
            pulumi.set(__self__, "host", host)

    @property
    @pulumi.getter
    def port(self) -> pulumi.Input[int]:
        """
        The port number to try to connect to
        """
        return pulumi.get(self, "port")

    @port.setter
    def port(self, value: pulumi.Input[int]):
        pulumi.set(self, "port", value)

    @property
    @pulumi.getter
    def host(self) -> Optional[pulumi.Input[str]]:
        """
        Optional. If the host need to be different than localhost/pod ip
        """
        return pulumi.get(self, "host")

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


@pulumi.input_type
class ApplicationHealthchecksReadinessProbeArgs:
    def __init__(__self__, *,
                 failure_threshold: pulumi.Input[int],
                 initial_delay_seconds: pulumi.Input[int],
                 period_seconds: pulumi.Input[int],
                 success_threshold: pulumi.Input[int],
                 timeout_seconds: pulumi.Input[int],
                 type: pulumi.Input['ApplicationHealthchecksReadinessProbeTypeArgs']):
        """
        :param pulumi.Input[int] failure_threshold: Number of time the an ok probe should fail before declaring it as failed
        :param pulumi.Input[int] initial_delay_seconds: Number of seconds to wait before the first execution of the probe to be trigerred
        :param pulumi.Input[int] period_seconds: Number of seconds before each execution of the probe
        :param pulumi.Input[int] success_threshold: Number of time the probe should success before declaring a failed probe as ok again
        :param pulumi.Input[int] timeout_seconds: Number of seconds within which the check need to respond before declaring it as a failure
        :param pulumi.Input['ApplicationHealthchecksReadinessProbeTypeArgs'] type: Kind of check to run for this probe. There can only be one configured at a time
        """
        pulumi.set(__self__, "failure_threshold", failure_threshold)
        pulumi.set(__self__, "initial_delay_seconds", initial_delay_seconds)
        pulumi.set(__self__, "period_seconds", period_seconds)
        pulumi.set(__self__, "success_threshold", success_threshold)
        pulumi.set(__self__, "timeout_seconds", timeout_seconds)
        pulumi.set(__self__, "type", type)

    @property
    @pulumi.getter(name="failureThreshold")
    def failure_threshold(self) -> pulumi.Input[int]:
        """
        Number of time the an ok probe should fail before declaring it as failed
        """
        return pulumi.get(self, "failure_threshold")

    @failure_threshold.setter
    def failure_threshold(self, value: pulumi.Input[int]):
        pulumi.set(self, "failure_threshold", value)

    @property
    @pulumi.getter(name="initialDelaySeconds")
    def initial_delay_seconds(self) -> pulumi.Input[int]:
        """
        Number of seconds to wait before the first execution of the probe to be trigerred
        """
        return pulumi.get(self, "initial_delay_seconds")

    @initial_delay_seconds.setter
    def initial_delay_seconds(self, value: pulumi.Input[int]):
        pulumi.set(self, "initial_delay_seconds", value)

    @property
    @pulumi.getter(name="periodSeconds")
    def period_seconds(self) -> pulumi.Input[int]:
        """
        Number of seconds before each execution of the probe
        """
        return pulumi.get(self, "period_seconds")

    @period_seconds.setter
    def period_seconds(self, value: pulumi.Input[int]):
        pulumi.set(self, "period_seconds", value)

    @property
    @pulumi.getter(name="successThreshold")
    def success_threshold(self) -> pulumi.Input[int]:
        """
        Number of time the probe should success before declaring a failed probe as ok again
        """
        return pulumi.get(self, "success_threshold")

    @success_threshold.setter
    def success_threshold(self, value: pulumi.Input[int]):
        pulumi.set(self, "success_threshold", value)

    @property
    @pulumi.getter(name="timeoutSeconds")
    def timeout_seconds(self) -> pulumi.Input[int]:
        """
        Number of seconds within which the check need to respond before declaring it as a failure
        """
        return pulumi.get(self, "timeout_seconds")

    @timeout_seconds.setter
    def timeout_seconds(self, value: pulumi.Input[int]):
        pulumi.set(self, "timeout_seconds", value)

    @property
    @pulumi.getter
    def type(self) -> pulumi.Input['ApplicationHealthchecksReadinessProbeTypeArgs']:
        """
        Kind of check to run for this probe. There can only be one configured at a time
        """
        return pulumi.get(self, "type")

    @type.setter
    def type(self, value: pulumi.Input['ApplicationHealthchecksReadinessProbeTypeArgs']):
        pulumi.set(self, "type", value)


@pulumi.input_type
class ApplicationHealthchecksReadinessProbeTypeArgs:
    def __init__(__self__, *,
                 exec_: Optional[pulumi.Input['ApplicationHealthchecksReadinessProbeTypeExecArgs']] = None,
                 grpc: Optional[pulumi.Input['ApplicationHealthchecksReadinessProbeTypeGrpcArgs']] = None,
                 http: Optional[pulumi.Input['ApplicationHealthchecksReadinessProbeTypeHttpArgs']] = None,
                 tcp: Optional[pulumi.Input['ApplicationHealthchecksReadinessProbeTypeTcpArgs']] = None):
        """
        :param pulumi.Input['ApplicationHealthchecksReadinessProbeTypeExecArgs'] exec_: Check that the given command return an exit 0. Binary should be present in the image
        :param pulumi.Input['ApplicationHealthchecksReadinessProbeTypeGrpcArgs'] grpc: Check that the given port respond to GRPC call
        :param pulumi.Input['ApplicationHealthchecksReadinessProbeTypeHttpArgs'] http: Check that the given port respond to HTTP call (should return a 2xx response code)
        :param pulumi.Input['ApplicationHealthchecksReadinessProbeTypeTcpArgs'] tcp: Check that the given port accepting connection
        """
        if exec_ is not None:
            pulumi.set(__self__, "exec_", exec_)
        if grpc is not None:
            pulumi.set(__self__, "grpc", grpc)
        if http is not None:
            pulumi.set(__self__, "http", http)
        if tcp is not None:
            pulumi.set(__self__, "tcp", tcp)

    @property
    @pulumi.getter(name="exec")
    def exec_(self) -> Optional[pulumi.Input['ApplicationHealthchecksReadinessProbeTypeExecArgs']]:
        """
        Check that the given command return an exit 0. Binary should be present in the image
        """
        return pulumi.get(self, "exec_")

    @exec_.setter
    def exec_(self, value: Optional[pulumi.Input['ApplicationHealthchecksReadinessProbeTypeExecArgs']]):
        pulumi.set(self, "exec_", value)

    @property
    @pulumi.getter
    def grpc(self) -> Optional[pulumi.Input['ApplicationHealthchecksReadinessProbeTypeGrpcArgs']]:
        """
        Check that the given port respond to GRPC call
        """
        return pulumi.get(self, "grpc")

    @grpc.setter
    def grpc(self, value: Optional[pulumi.Input['ApplicationHealthchecksReadinessProbeTypeGrpcArgs']]):
        pulumi.set(self, "grpc", value)

    @property
    @pulumi.getter
    def http(self) -> Optional[pulumi.Input['ApplicationHealthchecksReadinessProbeTypeHttpArgs']]:
        """
        Check that the given port respond to HTTP call (should return a 2xx response code)
        """
        return pulumi.get(self, "http")

    @http.setter
    def http(self, value: Optional[pulumi.Input['ApplicationHealthchecksReadinessProbeTypeHttpArgs']]):
        pulumi.set(self, "http", value)

    @property
    @pulumi.getter
    def tcp(self) -> Optional[pulumi.Input['ApplicationHealthchecksReadinessProbeTypeTcpArgs']]:
        """
        Check that the given port accepting connection
        """
        return pulumi.get(self, "tcp")

    @tcp.setter
    def tcp(self, value: Optional[pulumi.Input['ApplicationHealthchecksReadinessProbeTypeTcpArgs']]):
        pulumi.set(self, "tcp", value)


@pulumi.input_type
class ApplicationHealthchecksReadinessProbeTypeExecArgs:
    def __init__(__self__, *,
                 commands: pulumi.Input[Sequence[pulumi.Input[str]]]):
        """
        :param pulumi.Input[Sequence[pulumi.Input[str]]] commands: The command and its arguments to exec
        """
        pulumi.set(__self__, "commands", commands)

    @property
    @pulumi.getter
    def commands(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
        """
        The command and its arguments to exec
        """
        return pulumi.get(self, "commands")

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


@pulumi.input_type
class ApplicationHealthchecksReadinessProbeTypeGrpcArgs:
    def __init__(__self__, *,
                 port: pulumi.Input[int],
                 service: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[int] port: The port number to try to connect to
        :param pulumi.Input[str] service: The grpc service to connect to. It needs to implement grpc health protocol. https://kubernetes.io/blog/2018/10/01/health-checking-grpc-servers-on-kubernetes/#introducing-grpc-health-probe
        """
        pulumi.set(__self__, "port", port)
        if service is not None:
            pulumi.set(__self__, "service", service)

    @property
    @pulumi.getter
    def port(self) -> pulumi.Input[int]:
        """
        The port number to try to connect to
        """
        return pulumi.get(self, "port")

    @port.setter
    def port(self, value: pulumi.Input[int]):
        pulumi.set(self, "port", value)

    @property
    @pulumi.getter
    def service(self) -> Optional[pulumi.Input[str]]:
        """
        The grpc service to connect to. It needs to implement grpc health protocol. https://kubernetes.io/blog/2018/10/01/health-checking-grpc-servers-on-kubernetes/#introducing-grpc-health-probe
        """
        return pulumi.get(self, "service")

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


@pulumi.input_type
class ApplicationHealthchecksReadinessProbeTypeHttpArgs:
    def __init__(__self__, *,
                 port: pulumi.Input[int],
                 scheme: pulumi.Input[str],
                 path: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[int] port: The port number to try to connect to
        :param pulumi.Input[str] scheme: if the HTTP GET request should be done in HTTP or HTTPS.
        :param pulumi.Input[str] path: The path that the HTTP GET request. By default it is `/`
        """
        pulumi.set(__self__, "port", port)
        pulumi.set(__self__, "scheme", scheme)
        if path is not None:
            pulumi.set(__self__, "path", path)

    @property
    @pulumi.getter
    def port(self) -> pulumi.Input[int]:
        """
        The port number to try to connect to
        """
        return pulumi.get(self, "port")

    @port.setter
    def port(self, value: pulumi.Input[int]):
        pulumi.set(self, "port", value)

    @property
    @pulumi.getter
    def scheme(self) -> pulumi.Input[str]:
        """
        if the HTTP GET request should be done in HTTP or HTTPS.
        """
        return pulumi.get(self, "scheme")

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

    @property
    @pulumi.getter
    def path(self) -> Optional[pulumi.Input[str]]:
        """
        The path that the HTTP GET request. By default it is `/`
        """
        return pulumi.get(self, "path")

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


@pulumi.input_type
class ApplicationHealthchecksReadinessProbeTypeTcpArgs:
    def __init__(__self__, *,
                 port: pulumi.Input[int],
                 host: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[int] port: The port number to try to connect to
        :param pulumi.Input[str] host: Optional. If the host need to be different than localhost/pod ip
        """
        pulumi.set(__self__, "port", port)
        if host is not None:
            pulumi.set(__self__, "host", host)

    @property
    @pulumi.getter
    def port(self) -> pulumi.Input[int]:
        """
        The port number to try to connect to
        """
        return pulumi.get(self, "port")

    @port.setter
    def port(self, value: pulumi.Input[int]):
        pulumi.set(self, "port", value)

    @property
    @pulumi.getter
    def host(self) -> Optional[pulumi.Input[str]]:
        """
        Optional. If the host need to be different than localhost/pod ip
        """
        return pulumi.get(self, "host")

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


@pulumi.input_type
class ApplicationPortArgs:
    def __init__(__self__, *,
                 internal_port: pulumi.Input[int],
                 is_default: pulumi.Input[bool],
                 publicly_accessible: pulumi.Input[bool],
                 external_port: Optional[pulumi.Input[int]] = None,
                 id: Optional[pulumi.Input[str]] = None,
                 name: Optional[pulumi.Input[str]] = None,
                 protocol: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[int] internal_port: Internal port of the application.
               	- Must be: `>= 1` and `<= 65535`.
        :param pulumi.Input[bool] is_default: If this port will be used for the root domain
        :param pulumi.Input[bool] publicly_accessible: Specify if the port is exposed to the world or not for this application.
        :param pulumi.Input[int] external_port: External port of the application.
               	- Required if: `ports.publicly_accessible=true`.
               	- Must be: `>= 1` and `<= 65535`.
        :param pulumi.Input[str] id: Id of the port.
        :param pulumi.Input[str] name: Name of the port.
        :param pulumi.Input[str] protocol: Protocol used for the port of the application.
               	- Can be: `GRPC`, `HTTP`, `TCP`, `UDP`.
               	- Default: `HTTP`.
        """
        pulumi.set(__self__, "internal_port", internal_port)
        pulumi.set(__self__, "is_default", is_default)
        pulumi.set(__self__, "publicly_accessible", publicly_accessible)
        if external_port is not None:
            pulumi.set(__self__, "external_port", external_port)
        if id is not None:
            pulumi.set(__self__, "id", id)
        if name is not None:
            pulumi.set(__self__, "name", name)
        if protocol is not None:
            pulumi.set(__self__, "protocol", protocol)

    @property
    @pulumi.getter(name="internalPort")
    def internal_port(self) -> pulumi.Input[int]:
        """
        Internal port of the application.
        	- Must be: `>= 1` and `<= 65535`.
        """
        return pulumi.get(self, "internal_port")

    @internal_port.setter
    def internal_port(self, value: pulumi.Input[int]):
        pulumi.set(self, "internal_port", value)

    @property
    @pulumi.getter(name="isDefault")
    def is_default(self) -> pulumi.Input[bool]:
        """
        If this port will be used for the root domain
        """
        return pulumi.get(self, "is_default")

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

    @property
    @pulumi.getter(name="publiclyAccessible")
    def publicly_accessible(self) -> pulumi.Input[bool]:
        """
        Specify if the port is exposed to the world or not for this application.
        """
        return pulumi.get(self, "publicly_accessible")

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

    @property
    @pulumi.getter(name="externalPort")
    def external_port(self) -> Optional[pulumi.Input[int]]:
        """
        External port of the application.
        	- Required if: `ports.publicly_accessible=true`.
        	- Must be: `>= 1` and `<= 65535`.
        """
        return pulumi.get(self, "external_port")

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

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the port.
        """
        return pulumi.get(self, "id")

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

    @property
    @pulumi.getter
    def name(self) -> Optional[pulumi.Input[str]]:
        """
        Name of the port.
        """
        return pulumi.get(self, "name")

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

    @property
    @pulumi.getter
    def protocol(self) -> Optional[pulumi.Input[str]]:
        """
        Protocol used for the port of the application.
        	- Can be: `GRPC`, `HTTP`, `TCP`, `UDP`.
        	- Default: `HTTP`.
        """
        return pulumi.get(self, "protocol")

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


@pulumi.input_type
class ApplicationSecretArgs:
    def __init__(__self__, *,
                 key: pulumi.Input[str],
                 value: pulumi.Input[str],
                 id: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] key: Key of the secret.
        :param pulumi.Input[str] value: Value of the secret.
        :param pulumi.Input[str] id: Id of the secret.
        """
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)
        if id is not None:
            pulumi.set(__self__, "id", id)

    @property
    @pulumi.getter
    def key(self) -> pulumi.Input[str]:
        """
        Key of the secret.
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[str]:
        """
        Value of the secret.
        """
        return pulumi.get(self, "value")

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

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the secret.
        """
        return pulumi.get(self, "id")

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


@pulumi.input_type
class ApplicationSecretAliasArgs:
    def __init__(__self__, *,
                 key: pulumi.Input[str],
                 value: pulumi.Input[str],
                 id: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] key: Name of the secret alias.
        :param pulumi.Input[str] value: Name of the secret to alias.
        :param pulumi.Input[str] id: Id of the secret alias.
        """
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)
        if id is not None:
            pulumi.set(__self__, "id", id)

    @property
    @pulumi.getter
    def key(self) -> pulumi.Input[str]:
        """
        Name of the secret alias.
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[str]:
        """
        Name of the secret to alias.
        """
        return pulumi.get(self, "value")

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

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the secret alias.
        """
        return pulumi.get(self, "id")

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


@pulumi.input_type
class ApplicationSecretOverrideArgs:
    def __init__(__self__, *,
                 key: pulumi.Input[str],
                 value: pulumi.Input[str],
                 id: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] key: Name of the secret override.
        :param pulumi.Input[str] value: Value of the secret override.
        :param pulumi.Input[str] id: Id of the secret override.
        """
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)
        if id is not None:
            pulumi.set(__self__, "id", id)

    @property
    @pulumi.getter
    def key(self) -> pulumi.Input[str]:
        """
        Name of the secret override.
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[str]:
        """
        Value of the secret override.
        """
        return pulumi.get(self, "value")

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

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the secret override.
        """
        return pulumi.get(self, "id")

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


@pulumi.input_type
class ApplicationStorageArgs:
    def __init__(__self__, *,
                 mount_point: pulumi.Input[str],
                 size: pulumi.Input[int],
                 type: pulumi.Input[str],
                 id: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] mount_point: Mount point of the storage for the application.
        :param pulumi.Input[int] size: Size of the storage for the application in GB [1024MB = 1GB].
               	- Must be: `>= 1`.
        :param pulumi.Input[str] type: Type of the storage for the application.
               	- Can be: `FAST_SSD`.
        :param pulumi.Input[str] id: Id of the storage.
        """
        pulumi.set(__self__, "mount_point", mount_point)
        pulumi.set(__self__, "size", size)
        pulumi.set(__self__, "type", type)
        if id is not None:
            pulumi.set(__self__, "id", id)

    @property
    @pulumi.getter(name="mountPoint")
    def mount_point(self) -> pulumi.Input[str]:
        """
        Mount point of the storage for the application.
        """
        return pulumi.get(self, "mount_point")

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

    @property
    @pulumi.getter
    def size(self) -> pulumi.Input[int]:
        """
        Size of the storage for the application in GB [1024MB = 1GB].
        	- Must be: `>= 1`.
        """
        return pulumi.get(self, "size")

    @size.setter
    def size(self, value: pulumi.Input[int]):
        pulumi.set(self, "size", value)

    @property
    @pulumi.getter
    def type(self) -> pulumi.Input[str]:
        """
        Type of the storage for the application.
        	- Can be: `FAST_SSD`.
        """
        return pulumi.get(self, "type")

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

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the storage.
        """
        return pulumi.get(self, "id")

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


@pulumi.input_type
class ClusterFeaturesArgs:
    def __init__(__self__, *,
                 existing_vpc: Optional[pulumi.Input['ClusterFeaturesExistingVpcArgs']] = None,
                 static_ip: Optional[pulumi.Input[bool]] = None,
                 vpc_subnet: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input['ClusterFeaturesExistingVpcArgs'] existing_vpc: Network configuration if you want to install qovery on an existing VPC
        :param pulumi.Input[bool] static_ip: Static IP (AWS only) [NOTE: can't be updated after creation].
               	- Default: `false`.
        :param pulumi.Input[str] vpc_subnet: Custom VPC subnet (AWS only) [NOTE: can't be updated after creation].
               	- Default: `10.0.0.0/16`.
        """
        if existing_vpc is not None:
            pulumi.set(__self__, "existing_vpc", existing_vpc)
        if static_ip is not None:
            pulumi.set(__self__, "static_ip", static_ip)
        if vpc_subnet is not None:
            pulumi.set(__self__, "vpc_subnet", vpc_subnet)

    @property
    @pulumi.getter(name="existingVpc")
    def existing_vpc(self) -> Optional[pulumi.Input['ClusterFeaturesExistingVpcArgs']]:
        """
        Network configuration if you want to install qovery on an existing VPC
        """
        return pulumi.get(self, "existing_vpc")

    @existing_vpc.setter
    def existing_vpc(self, value: Optional[pulumi.Input['ClusterFeaturesExistingVpcArgs']]):
        pulumi.set(self, "existing_vpc", value)

    @property
    @pulumi.getter(name="staticIp")
    def static_ip(self) -> Optional[pulumi.Input[bool]]:
        """
        Static IP (AWS only) [NOTE: can't be updated after creation].
        	- Default: `false`.
        """
        return pulumi.get(self, "static_ip")

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

    @property
    @pulumi.getter(name="vpcSubnet")
    def vpc_subnet(self) -> Optional[pulumi.Input[str]]:
        """
        Custom VPC subnet (AWS only) [NOTE: can't be updated after creation].
        	- Default: `10.0.0.0/16`.
        """
        return pulumi.get(self, "vpc_subnet")

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


@pulumi.input_type
class ClusterFeaturesExistingVpcArgs:
    def __init__(__self__, *,
                 aws_vpc_eks_id: pulumi.Input[str],
                 eks_subnets_zone_a_ids: pulumi.Input[Sequence[pulumi.Input[str]]],
                 eks_subnets_zone_b_ids: pulumi.Input[Sequence[pulumi.Input[str]]],
                 eks_subnets_zone_c_ids: pulumi.Input[Sequence[pulumi.Input[str]]],
                 documentdb_subnets_zone_a_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 documentdb_subnets_zone_b_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 documentdb_subnets_zone_c_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 elasticache_subnets_zone_a_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 elasticache_subnets_zone_b_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 elasticache_subnets_zone_c_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 rds_subnets_zone_a_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 rds_subnets_zone_b_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 rds_subnets_zone_c_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
        """
        :param pulumi.Input[str] aws_vpc_eks_id: Aws VPC id
        :param pulumi.Input[Sequence[pulumi.Input[str]]] eks_subnets_zone_a_ids: Ids of the subnets for EKS zone a. Must have map_public_ip_on_launch set to true
        :param pulumi.Input[Sequence[pulumi.Input[str]]] eks_subnets_zone_b_ids: Ids of the subnets for EKS zone b. Must have map_public_ip_on_launch set to true
        :param pulumi.Input[Sequence[pulumi.Input[str]]] eks_subnets_zone_c_ids: Ids of the subnets for EKS zone c. Must have map_public_ip_on_launch set to true
        :param pulumi.Input[Sequence[pulumi.Input[str]]] documentdb_subnets_zone_a_ids: Ids of the subnets for document db
        :param pulumi.Input[Sequence[pulumi.Input[str]]] documentdb_subnets_zone_b_ids: Ids of the subnets for document db
        :param pulumi.Input[Sequence[pulumi.Input[str]]] documentdb_subnets_zone_c_ids: Ids of the subnets for document db
        :param pulumi.Input[Sequence[pulumi.Input[str]]] elasticache_subnets_zone_a_ids: Ids of the subnets for elasticache
        :param pulumi.Input[Sequence[pulumi.Input[str]]] elasticache_subnets_zone_b_ids: Ids of the subnets for elasticache
        :param pulumi.Input[Sequence[pulumi.Input[str]]] elasticache_subnets_zone_c_ids: Ids of the subnets for elasticache
        :param pulumi.Input[Sequence[pulumi.Input[str]]] rds_subnets_zone_a_ids: Ids of the subnets for RDS
        :param pulumi.Input[Sequence[pulumi.Input[str]]] rds_subnets_zone_b_ids: Ids of the subnets for RDS
        :param pulumi.Input[Sequence[pulumi.Input[str]]] rds_subnets_zone_c_ids: Ids of the subnets for RDS
        """
        pulumi.set(__self__, "aws_vpc_eks_id", aws_vpc_eks_id)
        pulumi.set(__self__, "eks_subnets_zone_a_ids", eks_subnets_zone_a_ids)
        pulumi.set(__self__, "eks_subnets_zone_b_ids", eks_subnets_zone_b_ids)
        pulumi.set(__self__, "eks_subnets_zone_c_ids", eks_subnets_zone_c_ids)
        if documentdb_subnets_zone_a_ids is not None:
            pulumi.set(__self__, "documentdb_subnets_zone_a_ids", documentdb_subnets_zone_a_ids)
        if documentdb_subnets_zone_b_ids is not None:
            pulumi.set(__self__, "documentdb_subnets_zone_b_ids", documentdb_subnets_zone_b_ids)
        if documentdb_subnets_zone_c_ids is not None:
            pulumi.set(__self__, "documentdb_subnets_zone_c_ids", documentdb_subnets_zone_c_ids)
        if elasticache_subnets_zone_a_ids is not None:
            pulumi.set(__self__, "elasticache_subnets_zone_a_ids", elasticache_subnets_zone_a_ids)
        if elasticache_subnets_zone_b_ids is not None:
            pulumi.set(__self__, "elasticache_subnets_zone_b_ids", elasticache_subnets_zone_b_ids)
        if elasticache_subnets_zone_c_ids is not None:
            pulumi.set(__self__, "elasticache_subnets_zone_c_ids", elasticache_subnets_zone_c_ids)
        if rds_subnets_zone_a_ids is not None:
            pulumi.set(__self__, "rds_subnets_zone_a_ids", rds_subnets_zone_a_ids)
        if rds_subnets_zone_b_ids is not None:
            pulumi.set(__self__, "rds_subnets_zone_b_ids", rds_subnets_zone_b_ids)
        if rds_subnets_zone_c_ids is not None:
            pulumi.set(__self__, "rds_subnets_zone_c_ids", rds_subnets_zone_c_ids)

    @property
    @pulumi.getter(name="awsVpcEksId")
    def aws_vpc_eks_id(self) -> pulumi.Input[str]:
        """
        Aws VPC id
        """
        return pulumi.get(self, "aws_vpc_eks_id")

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

    @property
    @pulumi.getter(name="eksSubnetsZoneAIds")
    def eks_subnets_zone_a_ids(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
        """
        Ids of the subnets for EKS zone a. Must have map_public_ip_on_launch set to true
        """
        return pulumi.get(self, "eks_subnets_zone_a_ids")

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

    @property
    @pulumi.getter(name="eksSubnetsZoneBIds")
    def eks_subnets_zone_b_ids(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
        """
        Ids of the subnets for EKS zone b. Must have map_public_ip_on_launch set to true
        """
        return pulumi.get(self, "eks_subnets_zone_b_ids")

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

    @property
    @pulumi.getter(name="eksSubnetsZoneCIds")
    def eks_subnets_zone_c_ids(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
        """
        Ids of the subnets for EKS zone c. Must have map_public_ip_on_launch set to true
        """
        return pulumi.get(self, "eks_subnets_zone_c_ids")

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

    @property
    @pulumi.getter(name="documentdbSubnetsZoneAIds")
    def documentdb_subnets_zone_a_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Ids of the subnets for document db
        """
        return pulumi.get(self, "documentdb_subnets_zone_a_ids")

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

    @property
    @pulumi.getter(name="documentdbSubnetsZoneBIds")
    def documentdb_subnets_zone_b_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Ids of the subnets for document db
        """
        return pulumi.get(self, "documentdb_subnets_zone_b_ids")

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

    @property
    @pulumi.getter(name="documentdbSubnetsZoneCIds")
    def documentdb_subnets_zone_c_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Ids of the subnets for document db
        """
        return pulumi.get(self, "documentdb_subnets_zone_c_ids")

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

    @property
    @pulumi.getter(name="elasticacheSubnetsZoneAIds")
    def elasticache_subnets_zone_a_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Ids of the subnets for elasticache
        """
        return pulumi.get(self, "elasticache_subnets_zone_a_ids")

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

    @property
    @pulumi.getter(name="elasticacheSubnetsZoneBIds")
    def elasticache_subnets_zone_b_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Ids of the subnets for elasticache
        """
        return pulumi.get(self, "elasticache_subnets_zone_b_ids")

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

    @property
    @pulumi.getter(name="elasticacheSubnetsZoneCIds")
    def elasticache_subnets_zone_c_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Ids of the subnets for elasticache
        """
        return pulumi.get(self, "elasticache_subnets_zone_c_ids")

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

    @property
    @pulumi.getter(name="rdsSubnetsZoneAIds")
    def rds_subnets_zone_a_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Ids of the subnets for RDS
        """
        return pulumi.get(self, "rds_subnets_zone_a_ids")

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

    @property
    @pulumi.getter(name="rdsSubnetsZoneBIds")
    def rds_subnets_zone_b_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Ids of the subnets for RDS
        """
        return pulumi.get(self, "rds_subnets_zone_b_ids")

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

    @property
    @pulumi.getter(name="rdsSubnetsZoneCIds")
    def rds_subnets_zone_c_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Ids of the subnets for RDS
        """
        return pulumi.get(self, "rds_subnets_zone_c_ids")

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


@pulumi.input_type
class ClusterRoutingTableArgs:
    def __init__(__self__, *,
                 description: pulumi.Input[str],
                 destination: pulumi.Input[str],
                 target: pulumi.Input[str]):
        """
        :param pulumi.Input[str] description: Description of the route.
        :param pulumi.Input[str] destination: Destination of the route.
        :param pulumi.Input[str] target: Target of the route.
        """
        pulumi.set(__self__, "description", description)
        pulumi.set(__self__, "destination", destination)
        pulumi.set(__self__, "target", target)

    @property
    @pulumi.getter
    def description(self) -> pulumi.Input[str]:
        """
        Description of the route.
        """
        return pulumi.get(self, "description")

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

    @property
    @pulumi.getter
    def destination(self) -> pulumi.Input[str]:
        """
        Destination of the route.
        """
        return pulumi.get(self, "destination")

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

    @property
    @pulumi.getter
    def target(self) -> pulumi.Input[str]:
        """
        Target of the route.
        """
        return pulumi.get(self, "target")

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


@pulumi.input_type
class ContainerBuiltInEnvironmentVariableArgs:
    def __init__(__self__, *,
                 id: Optional[pulumi.Input[str]] = None,
                 key: Optional[pulumi.Input[str]] = None,
                 value: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] id: Id of the environment variable.
        :param pulumi.Input[str] key: Key of the environment variable.
        :param pulumi.Input[str] value: Value of the environment variable.
        """
        if id is not None:
            pulumi.set(__self__, "id", id)
        if key is not None:
            pulumi.set(__self__, "key", key)
        if value is not None:
            pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the environment variable.
        """
        return pulumi.get(self, "id")

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

    @property
    @pulumi.getter
    def key(self) -> Optional[pulumi.Input[str]]:
        """
        Key of the environment variable.
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> Optional[pulumi.Input[str]]:
        """
        Value of the environment variable.
        """
        return pulumi.get(self, "value")

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


@pulumi.input_type
class ContainerCustomDomainArgs:
    def __init__(__self__, *,
                 domain: pulumi.Input[str],
                 id: Optional[pulumi.Input[str]] = None,
                 status: Optional[pulumi.Input[str]] = None,
                 validation_domain: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] domain: Your custom domain.
        :param pulumi.Input[str] id: Id of the custom domain.
        :param pulumi.Input[str] status: Status of the custom domain.
        :param pulumi.Input[str] validation_domain: URL provided by Qovery. You must create a CNAME on your DNS provider using that URL.
        """
        pulumi.set(__self__, "domain", domain)
        if id is not None:
            pulumi.set(__self__, "id", id)
        if status is not None:
            pulumi.set(__self__, "status", status)
        if validation_domain is not None:
            pulumi.set(__self__, "validation_domain", validation_domain)

    @property
    @pulumi.getter
    def domain(self) -> pulumi.Input[str]:
        """
        Your custom domain.
        """
        return pulumi.get(self, "domain")

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

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the custom domain.
        """
        return pulumi.get(self, "id")

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

    @property
    @pulumi.getter
    def status(self) -> Optional[pulumi.Input[str]]:
        """
        Status of the custom domain.
        """
        return pulumi.get(self, "status")

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

    @property
    @pulumi.getter(name="validationDomain")
    def validation_domain(self) -> Optional[pulumi.Input[str]]:
        """
        URL provided by Qovery. You must create a CNAME on your DNS provider using that URL.
        """
        return pulumi.get(self, "validation_domain")

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


@pulumi.input_type
class ContainerEnvironmentVariableArgs:
    def __init__(__self__, *,
                 key: pulumi.Input[str],
                 value: pulumi.Input[str],
                 id: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] key: Key of the environment variable.
        :param pulumi.Input[str] value: Value of the environment variable.
        :param pulumi.Input[str] id: Id of the environment variable.
        """
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)
        if id is not None:
            pulumi.set(__self__, "id", id)

    @property
    @pulumi.getter
    def key(self) -> pulumi.Input[str]:
        """
        Key of the environment variable.
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[str]:
        """
        Value of the environment variable.
        """
        return pulumi.get(self, "value")

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

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the environment variable.
        """
        return pulumi.get(self, "id")

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


@pulumi.input_type
class ContainerEnvironmentVariableAliasArgs:
    def __init__(__self__, *,
                 key: pulumi.Input[str],
                 value: pulumi.Input[str],
                 id: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] key: Name of the environment variable alias.
        :param pulumi.Input[str] value: Name of the variable to alias.
        :param pulumi.Input[str] id: Id of the environment variable alias.
        """
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)
        if id is not None:
            pulumi.set(__self__, "id", id)

    @property
    @pulumi.getter
    def key(self) -> pulumi.Input[str]:
        """
        Name of the environment variable alias.
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[str]:
        """
        Name of the variable to alias.
        """
        return pulumi.get(self, "value")

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

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the environment variable alias.
        """
        return pulumi.get(self, "id")

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


@pulumi.input_type
class ContainerEnvironmentVariableOverrideArgs:
    def __init__(__self__, *,
                 key: pulumi.Input[str],
                 value: pulumi.Input[str],
                 id: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] key: Name of the environment variable override.
        :param pulumi.Input[str] value: Value of the environment variable override.
        :param pulumi.Input[str] id: Id of the environment variable override.
        """
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)
        if id is not None:
            pulumi.set(__self__, "id", id)

    @property
    @pulumi.getter
    def key(self) -> pulumi.Input[str]:
        """
        Name of the environment variable override.
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[str]:
        """
        Value of the environment variable override.
        """
        return pulumi.get(self, "value")

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

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the environment variable override.
        """
        return pulumi.get(self, "id")

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


@pulumi.input_type
class ContainerHealthchecksArgs:
    def __init__(__self__, *,
                 liveness_probe: Optional[pulumi.Input['ContainerHealthchecksLivenessProbeArgs']] = None,
                 readiness_probe: Optional[pulumi.Input['ContainerHealthchecksReadinessProbeArgs']] = None):
        """
        :param pulumi.Input['ContainerHealthchecksLivenessProbeArgs'] liveness_probe: Configuration for the liveness probe, in order to know when your service is working correctly. Failing the probe means your service being killed/ask to be restarted.
        :param pulumi.Input['ContainerHealthchecksReadinessProbeArgs'] readiness_probe: Configuration for the readiness probe, in order to know when your service is ready to receive traffic. Failing the probe means your service will stop receiving traffic.
        """
        if liveness_probe is not None:
            pulumi.set(__self__, "liveness_probe", liveness_probe)
        if readiness_probe is not None:
            pulumi.set(__self__, "readiness_probe", readiness_probe)

    @property
    @pulumi.getter(name="livenessProbe")
    def liveness_probe(self) -> Optional[pulumi.Input['ContainerHealthchecksLivenessProbeArgs']]:
        """
        Configuration for the liveness probe, in order to know when your service is working correctly. Failing the probe means your service being killed/ask to be restarted.
        """
        return pulumi.get(self, "liveness_probe")

    @liveness_probe.setter
    def liveness_probe(self, value: Optional[pulumi.Input['ContainerHealthchecksLivenessProbeArgs']]):
        pulumi.set(self, "liveness_probe", value)

    @property
    @pulumi.getter(name="readinessProbe")
    def readiness_probe(self) -> Optional[pulumi.Input['ContainerHealthchecksReadinessProbeArgs']]:
        """
        Configuration for the readiness probe, in order to know when your service is ready to receive traffic. Failing the probe means your service will stop receiving traffic.
        """
        return pulumi.get(self, "readiness_probe")

    @readiness_probe.setter
    def readiness_probe(self, value: Optional[pulumi.Input['ContainerHealthchecksReadinessProbeArgs']]):
        pulumi.set(self, "readiness_probe", value)


@pulumi.input_type
class ContainerHealthchecksLivenessProbeArgs:
    def __init__(__self__, *,
                 failure_threshold: pulumi.Input[int],
                 initial_delay_seconds: pulumi.Input[int],
                 period_seconds: pulumi.Input[int],
                 success_threshold: pulumi.Input[int],
                 timeout_seconds: pulumi.Input[int],
                 type: pulumi.Input['ContainerHealthchecksLivenessProbeTypeArgs']):
        """
        :param pulumi.Input[int] failure_threshold: Number of time the an ok probe should fail before declaring it as failed
        :param pulumi.Input[int] initial_delay_seconds: Number of seconds to wait before the first execution of the probe to be trigerred
        :param pulumi.Input[int] period_seconds: Number of seconds before each execution of the probe
        :param pulumi.Input[int] success_threshold: Number of time the probe should success before declaring a failed probe as ok again
        :param pulumi.Input[int] timeout_seconds: Number of seconds within which the check need to respond before declaring it as a failure
        :param pulumi.Input['ContainerHealthchecksLivenessProbeTypeArgs'] type: Kind of check to run for this probe. There can only be one configured at a time
        """
        pulumi.set(__self__, "failure_threshold", failure_threshold)
        pulumi.set(__self__, "initial_delay_seconds", initial_delay_seconds)
        pulumi.set(__self__, "period_seconds", period_seconds)
        pulumi.set(__self__, "success_threshold", success_threshold)
        pulumi.set(__self__, "timeout_seconds", timeout_seconds)
        pulumi.set(__self__, "type", type)

    @property
    @pulumi.getter(name="failureThreshold")
    def failure_threshold(self) -> pulumi.Input[int]:
        """
        Number of time the an ok probe should fail before declaring it as failed
        """
        return pulumi.get(self, "failure_threshold")

    @failure_threshold.setter
    def failure_threshold(self, value: pulumi.Input[int]):
        pulumi.set(self, "failure_threshold", value)

    @property
    @pulumi.getter(name="initialDelaySeconds")
    def initial_delay_seconds(self) -> pulumi.Input[int]:
        """
        Number of seconds to wait before the first execution of the probe to be trigerred
        """
        return pulumi.get(self, "initial_delay_seconds")

    @initial_delay_seconds.setter
    def initial_delay_seconds(self, value: pulumi.Input[int]):
        pulumi.set(self, "initial_delay_seconds", value)

    @property
    @pulumi.getter(name="periodSeconds")
    def period_seconds(self) -> pulumi.Input[int]:
        """
        Number of seconds before each execution of the probe
        """
        return pulumi.get(self, "period_seconds")

    @period_seconds.setter
    def period_seconds(self, value: pulumi.Input[int]):
        pulumi.set(self, "period_seconds", value)

    @property
    @pulumi.getter(name="successThreshold")
    def success_threshold(self) -> pulumi.Input[int]:
        """
        Number of time the probe should success before declaring a failed probe as ok again
        """
        return pulumi.get(self, "success_threshold")

    @success_threshold.setter
    def success_threshold(self, value: pulumi.Input[int]):
        pulumi.set(self, "success_threshold", value)

    @property
    @pulumi.getter(name="timeoutSeconds")
    def timeout_seconds(self) -> pulumi.Input[int]:
        """
        Number of seconds within which the check need to respond before declaring it as a failure
        """
        return pulumi.get(self, "timeout_seconds")

    @timeout_seconds.setter
    def timeout_seconds(self, value: pulumi.Input[int]):
        pulumi.set(self, "timeout_seconds", value)

    @property
    @pulumi.getter
    def type(self) -> pulumi.Input['ContainerHealthchecksLivenessProbeTypeArgs']:
        """
        Kind of check to run for this probe. There can only be one configured at a time
        """
        return pulumi.get(self, "type")

    @type.setter
    def type(self, value: pulumi.Input['ContainerHealthchecksLivenessProbeTypeArgs']):
        pulumi.set(self, "type", value)


@pulumi.input_type
class ContainerHealthchecksLivenessProbeTypeArgs:
    def __init__(__self__, *,
                 exec_: Optional[pulumi.Input['ContainerHealthchecksLivenessProbeTypeExecArgs']] = None,
                 grpc: Optional[pulumi.Input['ContainerHealthchecksLivenessProbeTypeGrpcArgs']] = None,
                 http: Optional[pulumi.Input['ContainerHealthchecksLivenessProbeTypeHttpArgs']] = None,
                 tcp: Optional[pulumi.Input['ContainerHealthchecksLivenessProbeTypeTcpArgs']] = None):
        """
        :param pulumi.Input['ContainerHealthchecksLivenessProbeTypeExecArgs'] exec_: Check that the given command return an exit 0. Binary should be present in the image
        :param pulumi.Input['ContainerHealthchecksLivenessProbeTypeGrpcArgs'] grpc: Check that the given port respond to GRPC call
        :param pulumi.Input['ContainerHealthchecksLivenessProbeTypeHttpArgs'] http: Check that the given port respond to HTTP call (should return a 2xx response code)
        :param pulumi.Input['ContainerHealthchecksLivenessProbeTypeTcpArgs'] tcp: Check that the given port accepting connection
        """
        if exec_ is not None:
            pulumi.set(__self__, "exec_", exec_)
        if grpc is not None:
            pulumi.set(__self__, "grpc", grpc)
        if http is not None:
            pulumi.set(__self__, "http", http)
        if tcp is not None:
            pulumi.set(__self__, "tcp", tcp)

    @property
    @pulumi.getter(name="exec")
    def exec_(self) -> Optional[pulumi.Input['ContainerHealthchecksLivenessProbeTypeExecArgs']]:
        """
        Check that the given command return an exit 0. Binary should be present in the image
        """
        return pulumi.get(self, "exec_")

    @exec_.setter
    def exec_(self, value: Optional[pulumi.Input['ContainerHealthchecksLivenessProbeTypeExecArgs']]):
        pulumi.set(self, "exec_", value)

    @property
    @pulumi.getter
    def grpc(self) -> Optional[pulumi.Input['ContainerHealthchecksLivenessProbeTypeGrpcArgs']]:
        """
        Check that the given port respond to GRPC call
        """
        return pulumi.get(self, "grpc")

    @grpc.setter
    def grpc(self, value: Optional[pulumi.Input['ContainerHealthchecksLivenessProbeTypeGrpcArgs']]):
        pulumi.set(self, "grpc", value)

    @property
    @pulumi.getter
    def http(self) -> Optional[pulumi.Input['ContainerHealthchecksLivenessProbeTypeHttpArgs']]:
        """
        Check that the given port respond to HTTP call (should return a 2xx response code)
        """
        return pulumi.get(self, "http")

    @http.setter
    def http(self, value: Optional[pulumi.Input['ContainerHealthchecksLivenessProbeTypeHttpArgs']]):
        pulumi.set(self, "http", value)

    @property
    @pulumi.getter
    def tcp(self) -> Optional[pulumi.Input['ContainerHealthchecksLivenessProbeTypeTcpArgs']]:
        """
        Check that the given port accepting connection
        """
        return pulumi.get(self, "tcp")

    @tcp.setter
    def tcp(self, value: Optional[pulumi.Input['ContainerHealthchecksLivenessProbeTypeTcpArgs']]):
        pulumi.set(self, "tcp", value)


@pulumi.input_type
class ContainerHealthchecksLivenessProbeTypeExecArgs:
    def __init__(__self__, *,
                 commands: pulumi.Input[Sequence[pulumi.Input[str]]]):
        """
        :param pulumi.Input[Sequence[pulumi.Input[str]]] commands: The command and its arguments to exec
        """
        pulumi.set(__self__, "commands", commands)

    @property
    @pulumi.getter
    def commands(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
        """
        The command and its arguments to exec
        """
        return pulumi.get(self, "commands")

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


@pulumi.input_type
class ContainerHealthchecksLivenessProbeTypeGrpcArgs:
    def __init__(__self__, *,
                 port: pulumi.Input[int],
                 service: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[int] port: The port number to try to connect to
        :param pulumi.Input[str] service: The grpc service to connect to. It needs to implement grpc health protocol. https://kubernetes.io/blog/2018/10/01/health-checking-grpc-servers-on-kubernetes/#introducing-grpc-health-probe
        """
        pulumi.set(__self__, "port", port)
        if service is not None:
            pulumi.set(__self__, "service", service)

    @property
    @pulumi.getter
    def port(self) -> pulumi.Input[int]:
        """
        The port number to try to connect to
        """
        return pulumi.get(self, "port")

    @port.setter
    def port(self, value: pulumi.Input[int]):
        pulumi.set(self, "port", value)

    @property
    @pulumi.getter
    def service(self) -> Optional[pulumi.Input[str]]:
        """
        The grpc service to connect to. It needs to implement grpc health protocol. https://kubernetes.io/blog/2018/10/01/health-checking-grpc-servers-on-kubernetes/#introducing-grpc-health-probe
        """
        return pulumi.get(self, "service")

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


@pulumi.input_type
class ContainerHealthchecksLivenessProbeTypeHttpArgs:
    def __init__(__self__, *,
                 port: pulumi.Input[int],
                 scheme: pulumi.Input[str],
                 path: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[int] port: The port number to try to connect to
        :param pulumi.Input[str] scheme: if the HTTP GET request should be done in HTTP or HTTPS.
        :param pulumi.Input[str] path: The path that the HTTP GET request. By default it is `/`
        """
        pulumi.set(__self__, "port", port)
        pulumi.set(__self__, "scheme", scheme)
        if path is not None:
            pulumi.set(__self__, "path", path)

    @property
    @pulumi.getter
    def port(self) -> pulumi.Input[int]:
        """
        The port number to try to connect to
        """
        return pulumi.get(self, "port")

    @port.setter
    def port(self, value: pulumi.Input[int]):
        pulumi.set(self, "port", value)

    @property
    @pulumi.getter
    def scheme(self) -> pulumi.Input[str]:
        """
        if the HTTP GET request should be done in HTTP or HTTPS.
        """
        return pulumi.get(self, "scheme")

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

    @property
    @pulumi.getter
    def path(self) -> Optional[pulumi.Input[str]]:
        """
        The path that the HTTP GET request. By default it is `/`
        """
        return pulumi.get(self, "path")

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


@pulumi.input_type
class ContainerHealthchecksLivenessProbeTypeTcpArgs:
    def __init__(__self__, *,
                 port: pulumi.Input[int],
                 host: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[int] port: The port number to try to connect to
        :param pulumi.Input[str] host: Optional. If the host need to be different than localhost/pod ip
        """
        pulumi.set(__self__, "port", port)
        if host is not None:
            pulumi.set(__self__, "host", host)

    @property
    @pulumi.getter
    def port(self) -> pulumi.Input[int]:
        """
        The port number to try to connect to
        """
        return pulumi.get(self, "port")

    @port.setter
    def port(self, value: pulumi.Input[int]):
        pulumi.set(self, "port", value)

    @property
    @pulumi.getter
    def host(self) -> Optional[pulumi.Input[str]]:
        """
        Optional. If the host need to be different than localhost/pod ip
        """
        return pulumi.get(self, "host")

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


@pulumi.input_type
class ContainerHealthchecksReadinessProbeArgs:
    def __init__(__self__, *,
                 failure_threshold: pulumi.Input[int],
                 initial_delay_seconds: pulumi.Input[int],
                 period_seconds: pulumi.Input[int],
                 success_threshold: pulumi.Input[int],
                 timeout_seconds: pulumi.Input[int],
                 type: pulumi.Input['ContainerHealthchecksReadinessProbeTypeArgs']):
        """
        :param pulumi.Input[int] failure_threshold: Number of time the an ok probe should fail before declaring it as failed
        :param pulumi.Input[int] initial_delay_seconds: Number of seconds to wait before the first execution of the probe to be trigerred
        :param pulumi.Input[int] period_seconds: Number of seconds before each execution of the probe
        :param pulumi.Input[int] success_threshold: Number of time the probe should success before declaring a failed probe as ok again
        :param pulumi.Input[int] timeout_seconds: Number of seconds within which the check need to respond before declaring it as a failure
        :param pulumi.Input['ContainerHealthchecksReadinessProbeTypeArgs'] type: Kind of check to run for this probe. There can only be one configured at a time
        """
        pulumi.set(__self__, "failure_threshold", failure_threshold)
        pulumi.set(__self__, "initial_delay_seconds", initial_delay_seconds)
        pulumi.set(__self__, "period_seconds", period_seconds)
        pulumi.set(__self__, "success_threshold", success_threshold)
        pulumi.set(__self__, "timeout_seconds", timeout_seconds)
        pulumi.set(__self__, "type", type)

    @property
    @pulumi.getter(name="failureThreshold")
    def failure_threshold(self) -> pulumi.Input[int]:
        """
        Number of time the an ok probe should fail before declaring it as failed
        """
        return pulumi.get(self, "failure_threshold")

    @failure_threshold.setter
    def failure_threshold(self, value: pulumi.Input[int]):
        pulumi.set(self, "failure_threshold", value)

    @property
    @pulumi.getter(name="initialDelaySeconds")
    def initial_delay_seconds(self) -> pulumi.Input[int]:
        """
        Number of seconds to wait before the first execution of the probe to be trigerred
        """
        return pulumi.get(self, "initial_delay_seconds")

    @initial_delay_seconds.setter
    def initial_delay_seconds(self, value: pulumi.Input[int]):
        pulumi.set(self, "initial_delay_seconds", value)

    @property
    @pulumi.getter(name="periodSeconds")
    def period_seconds(self) -> pulumi.Input[int]:
        """
        Number of seconds before each execution of the probe
        """
        return pulumi.get(self, "period_seconds")

    @period_seconds.setter
    def period_seconds(self, value: pulumi.Input[int]):
        pulumi.set(self, "period_seconds", value)

    @property
    @pulumi.getter(name="successThreshold")
    def success_threshold(self) -> pulumi.Input[int]:
        """
        Number of time the probe should success before declaring a failed probe as ok again
        """
        return pulumi.get(self, "success_threshold")

    @success_threshold.setter
    def success_threshold(self, value: pulumi.Input[int]):
        pulumi.set(self, "success_threshold", value)

    @property
    @pulumi.getter(name="timeoutSeconds")
    def timeout_seconds(self) -> pulumi.Input[int]:
        """
        Number of seconds within which the check need to respond before declaring it as a failure
        """
        return pulumi.get(self, "timeout_seconds")

    @timeout_seconds.setter
    def timeout_seconds(self, value: pulumi.Input[int]):
        pulumi.set(self, "timeout_seconds", value)

    @property
    @pulumi.getter
    def type(self) -> pulumi.Input['ContainerHealthchecksReadinessProbeTypeArgs']:
        """
        Kind of check to run for this probe. There can only be one configured at a time
        """
        return pulumi.get(self, "type")

    @type.setter
    def type(self, value: pulumi.Input['ContainerHealthchecksReadinessProbeTypeArgs']):
        pulumi.set(self, "type", value)


@pulumi.input_type
class ContainerHealthchecksReadinessProbeTypeArgs:
    def __init__(__self__, *,
                 exec_: Optional[pulumi.Input['ContainerHealthchecksReadinessProbeTypeExecArgs']] = None,
                 grpc: Optional[pulumi.Input['ContainerHealthchecksReadinessProbeTypeGrpcArgs']] = None,
                 http: Optional[pulumi.Input['ContainerHealthchecksReadinessProbeTypeHttpArgs']] = None,
                 tcp: Optional[pulumi.Input['ContainerHealthchecksReadinessProbeTypeTcpArgs']] = None):
        """
        :param pulumi.Input['ContainerHealthchecksReadinessProbeTypeExecArgs'] exec_: Check that the given command return an exit 0. Binary should be present in the image
        :param pulumi.Input['ContainerHealthchecksReadinessProbeTypeGrpcArgs'] grpc: Check that the given port respond to GRPC call
        :param pulumi.Input['ContainerHealthchecksReadinessProbeTypeHttpArgs'] http: Check that the given port respond to HTTP call (should return a 2xx response code)
        :param pulumi.Input['ContainerHealthchecksReadinessProbeTypeTcpArgs'] tcp: Check that the given port accepting connection
        """
        if exec_ is not None:
            pulumi.set(__self__, "exec_", exec_)
        if grpc is not None:
            pulumi.set(__self__, "grpc", grpc)
        if http is not None:
            pulumi.set(__self__, "http", http)
        if tcp is not None:
            pulumi.set(__self__, "tcp", tcp)

    @property
    @pulumi.getter(name="exec")
    def exec_(self) -> Optional[pulumi.Input['ContainerHealthchecksReadinessProbeTypeExecArgs']]:
        """
        Check that the given command return an exit 0. Binary should be present in the image
        """
        return pulumi.get(self, "exec_")

    @exec_.setter
    def exec_(self, value: Optional[pulumi.Input['ContainerHealthchecksReadinessProbeTypeExecArgs']]):
        pulumi.set(self, "exec_", value)

    @property
    @pulumi.getter
    def grpc(self) -> Optional[pulumi.Input['ContainerHealthchecksReadinessProbeTypeGrpcArgs']]:
        """
        Check that the given port respond to GRPC call
        """
        return pulumi.get(self, "grpc")

    @grpc.setter
    def grpc(self, value: Optional[pulumi.Input['ContainerHealthchecksReadinessProbeTypeGrpcArgs']]):
        pulumi.set(self, "grpc", value)

    @property
    @pulumi.getter
    def http(self) -> Optional[pulumi.Input['ContainerHealthchecksReadinessProbeTypeHttpArgs']]:
        """
        Check that the given port respond to HTTP call (should return a 2xx response code)
        """
        return pulumi.get(self, "http")

    @http.setter
    def http(self, value: Optional[pulumi.Input['ContainerHealthchecksReadinessProbeTypeHttpArgs']]):
        pulumi.set(self, "http", value)

    @property
    @pulumi.getter
    def tcp(self) -> Optional[pulumi.Input['ContainerHealthchecksReadinessProbeTypeTcpArgs']]:
        """
        Check that the given port accepting connection
        """
        return pulumi.get(self, "tcp")

    @tcp.setter
    def tcp(self, value: Optional[pulumi.Input['ContainerHealthchecksReadinessProbeTypeTcpArgs']]):
        pulumi.set(self, "tcp", value)


@pulumi.input_type
class ContainerHealthchecksReadinessProbeTypeExecArgs:
    def __init__(__self__, *,
                 commands: pulumi.Input[Sequence[pulumi.Input[str]]]):
        """
        :param pulumi.Input[Sequence[pulumi.Input[str]]] commands: The command and its arguments to exec
        """
        pulumi.set(__self__, "commands", commands)

    @property
    @pulumi.getter
    def commands(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
        """
        The command and its arguments to exec
        """
        return pulumi.get(self, "commands")

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


@pulumi.input_type
class ContainerHealthchecksReadinessProbeTypeGrpcArgs:
    def __init__(__self__, *,
                 port: pulumi.Input[int],
                 service: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[int] port: The port number to try to connect to
        :param pulumi.Input[str] service: The grpc service to connect to. It needs to implement grpc health protocol. https://kubernetes.io/blog/2018/10/01/health-checking-grpc-servers-on-kubernetes/#introducing-grpc-health-probe
        """
        pulumi.set(__self__, "port", port)
        if service is not None:
            pulumi.set(__self__, "service", service)

    @property
    @pulumi.getter
    def port(self) -> pulumi.Input[int]:
        """
        The port number to try to connect to
        """
        return pulumi.get(self, "port")

    @port.setter
    def port(self, value: pulumi.Input[int]):
        pulumi.set(self, "port", value)

    @property
    @pulumi.getter
    def service(self) -> Optional[pulumi.Input[str]]:
        """
        The grpc service to connect to. It needs to implement grpc health protocol. https://kubernetes.io/blog/2018/10/01/health-checking-grpc-servers-on-kubernetes/#introducing-grpc-health-probe
        """
        return pulumi.get(self, "service")

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


@pulumi.input_type
class ContainerHealthchecksReadinessProbeTypeHttpArgs:
    def __init__(__self__, *,
                 port: pulumi.Input[int],
                 scheme: pulumi.Input[str],
                 path: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[int] port: The port number to try to connect to
        :param pulumi.Input[str] scheme: if the HTTP GET request should be done in HTTP or HTTPS.
        :param pulumi.Input[str] path: The path that the HTTP GET request. By default it is `/`
        """
        pulumi.set(__self__, "port", port)
        pulumi.set(__self__, "scheme", scheme)
        if path is not None:
            pulumi.set(__self__, "path", path)

    @property
    @pulumi.getter
    def port(self) -> pulumi.Input[int]:
        """
        The port number to try to connect to
        """
        return pulumi.get(self, "port")

    @port.setter
    def port(self, value: pulumi.Input[int]):
        pulumi.set(self, "port", value)

    @property
    @pulumi.getter
    def scheme(self) -> pulumi.Input[str]:
        """
        if the HTTP GET request should be done in HTTP or HTTPS.
        """
        return pulumi.get(self, "scheme")

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

    @property
    @pulumi.getter
    def path(self) -> Optional[pulumi.Input[str]]:
        """
        The path that the HTTP GET request. By default it is `/`
        """
        return pulumi.get(self, "path")

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


@pulumi.input_type
class ContainerHealthchecksReadinessProbeTypeTcpArgs:
    def __init__(__self__, *,
                 port: pulumi.Input[int],
                 host: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[int] port: The port number to try to connect to
        :param pulumi.Input[str] host: Optional. If the host need to be different than localhost/pod ip
        """
        pulumi.set(__self__, "port", port)
        if host is not None:
            pulumi.set(__self__, "host", host)

    @property
    @pulumi.getter
    def port(self) -> pulumi.Input[int]:
        """
        The port number to try to connect to
        """
        return pulumi.get(self, "port")

    @port.setter
    def port(self, value: pulumi.Input[int]):
        pulumi.set(self, "port", value)

    @property
    @pulumi.getter
    def host(self) -> Optional[pulumi.Input[str]]:
        """
        Optional. If the host need to be different than localhost/pod ip
        """
        return pulumi.get(self, "host")

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


@pulumi.input_type
class ContainerPortArgs:
    def __init__(__self__, *,
                 internal_port: pulumi.Input[int],
                 is_default: pulumi.Input[bool],
                 publicly_accessible: pulumi.Input[bool],
                 external_port: Optional[pulumi.Input[int]] = None,
                 id: Optional[pulumi.Input[str]] = None,
                 name: Optional[pulumi.Input[str]] = None,
                 protocol: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[int] internal_port: Internal port of the container.
               	- Must be: `>= 1` and `<= 65535`.
        :param pulumi.Input[bool] is_default: If this port will be used for the root domain
        :param pulumi.Input[bool] publicly_accessible: Specify if the port is exposed to the world or not for this container.
        :param pulumi.Input[int] external_port: External port of the container.
               	- Required if: `ports.publicly_accessible=true`.
               	- Must be: `>= 1` and `<= 65535`.
        :param pulumi.Input[str] id: Id of the port.
        :param pulumi.Input[str] name: Name of the port.
        :param pulumi.Input[str] protocol: Protocol used for the port of the container.
               	- Can be: `GRPC`, `HTTP`, `TCP`, `UDP`.
               	- Default: `HTTP`.
        """
        pulumi.set(__self__, "internal_port", internal_port)
        pulumi.set(__self__, "is_default", is_default)
        pulumi.set(__self__, "publicly_accessible", publicly_accessible)
        if external_port is not None:
            pulumi.set(__self__, "external_port", external_port)
        if id is not None:
            pulumi.set(__self__, "id", id)
        if name is not None:
            pulumi.set(__self__, "name", name)
        if protocol is not None:
            pulumi.set(__self__, "protocol", protocol)

    @property
    @pulumi.getter(name="internalPort")
    def internal_port(self) -> pulumi.Input[int]:
        """
        Internal port of the container.
        	- Must be: `>= 1` and `<= 65535`.
        """
        return pulumi.get(self, "internal_port")

    @internal_port.setter
    def internal_port(self, value: pulumi.Input[int]):
        pulumi.set(self, "internal_port", value)

    @property
    @pulumi.getter(name="isDefault")
    def is_default(self) -> pulumi.Input[bool]:
        """
        If this port will be used for the root domain
        """
        return pulumi.get(self, "is_default")

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

    @property
    @pulumi.getter(name="publiclyAccessible")
    def publicly_accessible(self) -> pulumi.Input[bool]:
        """
        Specify if the port is exposed to the world or not for this container.
        """
        return pulumi.get(self, "publicly_accessible")

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

    @property
    @pulumi.getter(name="externalPort")
    def external_port(self) -> Optional[pulumi.Input[int]]:
        """
        External port of the container.
        	- Required if: `ports.publicly_accessible=true`.
        	- Must be: `>= 1` and `<= 65535`.
        """
        return pulumi.get(self, "external_port")

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

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the port.
        """
        return pulumi.get(self, "id")

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

    @property
    @pulumi.getter
    def name(self) -> Optional[pulumi.Input[str]]:
        """
        Name of the port.
        """
        return pulumi.get(self, "name")

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

    @property
    @pulumi.getter
    def protocol(self) -> Optional[pulumi.Input[str]]:
        """
        Protocol used for the port of the container.
        	- Can be: `GRPC`, `HTTP`, `TCP`, `UDP`.
        	- Default: `HTTP`.
        """
        return pulumi.get(self, "protocol")

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


@pulumi.input_type
class ContainerRegistryConfigArgs:
    def __init__(__self__, *,
                 access_key_id: Optional[pulumi.Input[str]] = None,
                 password: Optional[pulumi.Input[str]] = None,
                 region: Optional[pulumi.Input[str]] = None,
                 scaleway_access_key: Optional[pulumi.Input[str]] = None,
                 scaleway_secret_key: Optional[pulumi.Input[str]] = None,
                 secret_access_key: Optional[pulumi.Input[str]] = None,
                 username: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] access_key_id: Required if kind is `ECR` or `PUBLIC_ECR`.
        :param pulumi.Input[str] password: Required if kinds are `DOCKER_HUB`, `GITHUB_CR`, `GITLAB`CR`, `GENERIC_CR`.
        :param pulumi.Input[str] region: Required if kind is `ECR` or `SCALEWAY_CR`.
        :param pulumi.Input[str] scaleway_access_key: Required if kind is `SCALEWAY_CR`.
        :param pulumi.Input[str] scaleway_secret_key: Required if kind is `SCALEWAY_CR`.
        :param pulumi.Input[str] secret_access_key: Required if kind is `ECR` or `PUBLIC_ECR`.
        :param pulumi.Input[str] username: Required if kinds are `DOCKER_HUB`, `GITHUB_CR`, `GITLAB`CR`, `GENERIC_CR`.
        """
        if access_key_id is not None:
            pulumi.set(__self__, "access_key_id", access_key_id)
        if password is not None:
            pulumi.set(__self__, "password", password)
        if region is not None:
            pulumi.set(__self__, "region", region)
        if scaleway_access_key is not None:
            pulumi.set(__self__, "scaleway_access_key", scaleway_access_key)
        if scaleway_secret_key is not None:
            pulumi.set(__self__, "scaleway_secret_key", scaleway_secret_key)
        if secret_access_key is not None:
            pulumi.set(__self__, "secret_access_key", secret_access_key)
        if username is not None:
            pulumi.set(__self__, "username", username)

    @property
    @pulumi.getter(name="accessKeyId")
    def access_key_id(self) -> Optional[pulumi.Input[str]]:
        """
        Required if kind is `ECR` or `PUBLIC_ECR`.
        """
        return pulumi.get(self, "access_key_id")

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

    @property
    @pulumi.getter
    def password(self) -> Optional[pulumi.Input[str]]:
        """
        Required if kinds are `DOCKER_HUB`, `GITHUB_CR`, `GITLAB`CR`, `GENERIC_CR`.
        """
        return pulumi.get(self, "password")

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

    @property
    @pulumi.getter
    def region(self) -> Optional[pulumi.Input[str]]:
        """
        Required if kind is `ECR` or `SCALEWAY_CR`.
        """
        return pulumi.get(self, "region")

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

    @property
    @pulumi.getter(name="scalewayAccessKey")
    def scaleway_access_key(self) -> Optional[pulumi.Input[str]]:
        """
        Required if kind is `SCALEWAY_CR`.
        """
        return pulumi.get(self, "scaleway_access_key")

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

    @property
    @pulumi.getter(name="scalewaySecretKey")
    def scaleway_secret_key(self) -> Optional[pulumi.Input[str]]:
        """
        Required if kind is `SCALEWAY_CR`.
        """
        return pulumi.get(self, "scaleway_secret_key")

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

    @property
    @pulumi.getter(name="secretAccessKey")
    def secret_access_key(self) -> Optional[pulumi.Input[str]]:
        """
        Required if kind is `ECR` or `PUBLIC_ECR`.
        """
        return pulumi.get(self, "secret_access_key")

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

    @property
    @pulumi.getter
    def username(self) -> Optional[pulumi.Input[str]]:
        """
        Required if kinds are `DOCKER_HUB`, `GITHUB_CR`, `GITLAB`CR`, `GENERIC_CR`.
        """
        return pulumi.get(self, "username")

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


@pulumi.input_type
class ContainerSecretArgs:
    def __init__(__self__, *,
                 key: pulumi.Input[str],
                 value: pulumi.Input[str],
                 id: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] key: Key of the secret.
        :param pulumi.Input[str] value: Value of the secret.
        :param pulumi.Input[str] id: Id of the secret.
        """
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)
        if id is not None:
            pulumi.set(__self__, "id", id)

    @property
    @pulumi.getter
    def key(self) -> pulumi.Input[str]:
        """
        Key of the secret.
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[str]:
        """
        Value of the secret.
        """
        return pulumi.get(self, "value")

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

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the secret.
        """
        return pulumi.get(self, "id")

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


@pulumi.input_type
class ContainerSecretAliasArgs:
    def __init__(__self__, *,
                 key: pulumi.Input[str],
                 value: pulumi.Input[str],
                 id: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] key: Name of the secret alias.
        :param pulumi.Input[str] value: Name of the secret to alias.
        :param pulumi.Input[str] id: Id of the secret alias.
        """
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)
        if id is not None:
            pulumi.set(__self__, "id", id)

    @property
    @pulumi.getter
    def key(self) -> pulumi.Input[str]:
        """
        Name of the secret alias.
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[str]:
        """
        Name of the secret to alias.
        """
        return pulumi.get(self, "value")

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

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the secret alias.
        """
        return pulumi.get(self, "id")

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


@pulumi.input_type
class ContainerSecretOverrideArgs:
    def __init__(__self__, *,
                 key: pulumi.Input[str],
                 value: pulumi.Input[str],
                 id: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] key: Name of the secret override.
        :param pulumi.Input[str] value: Value of the secret override.
        :param pulumi.Input[str] id: Id of the secret override.
        """
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)
        if id is not None:
            pulumi.set(__self__, "id", id)

    @property
    @pulumi.getter
    def key(self) -> pulumi.Input[str]:
        """
        Name of the secret override.
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[str]:
        """
        Value of the secret override.
        """
        return pulumi.get(self, "value")

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

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the secret override.
        """
        return pulumi.get(self, "id")

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


@pulumi.input_type
class ContainerStorageArgs:
    def __init__(__self__, *,
                 mount_point: pulumi.Input[str],
                 size: pulumi.Input[int],
                 type: pulumi.Input[str],
                 id: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] mount_point: Mount point of the storage for the container.
        :param pulumi.Input[int] size: Size of the storage for the container in GB [1024MB = 1GB].
               	- Must be: `>= 1`.
        :param pulumi.Input[str] type: Type of the storage for the container.
               	- Can be: `FAST_SSD`.
        :param pulumi.Input[str] id: Id of the storage.
        """
        pulumi.set(__self__, "mount_point", mount_point)
        pulumi.set(__self__, "size", size)
        pulumi.set(__self__, "type", type)
        if id is not None:
            pulumi.set(__self__, "id", id)

    @property
    @pulumi.getter(name="mountPoint")
    def mount_point(self) -> pulumi.Input[str]:
        """
        Mount point of the storage for the container.
        """
        return pulumi.get(self, "mount_point")

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

    @property
    @pulumi.getter
    def size(self) -> pulumi.Input[int]:
        """
        Size of the storage for the container in GB [1024MB = 1GB].
        	- Must be: `>= 1`.
        """
        return pulumi.get(self, "size")

    @size.setter
    def size(self, value: pulumi.Input[int]):
        pulumi.set(self, "size", value)

    @property
    @pulumi.getter
    def type(self) -> pulumi.Input[str]:
        """
        Type of the storage for the container.
        	- Can be: `FAST_SSD`.
        """
        return pulumi.get(self, "type")

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

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the storage.
        """
        return pulumi.get(self, "id")

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


@pulumi.input_type
class EnvironmentBuiltInEnvironmentVariableArgs:
    def __init__(__self__, *,
                 id: Optional[pulumi.Input[str]] = None,
                 key: Optional[pulumi.Input[str]] = None,
                 value: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] id: Id of the environment variable.
        :param pulumi.Input[str] key: Key of the environment variable.
        :param pulumi.Input[str] value: Value of the environment variable.
        """
        if id is not None:
            pulumi.set(__self__, "id", id)
        if key is not None:
            pulumi.set(__self__, "key", key)
        if value is not None:
            pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the environment variable.
        """
        return pulumi.get(self, "id")

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

    @property
    @pulumi.getter
    def key(self) -> Optional[pulumi.Input[str]]:
        """
        Key of the environment variable.
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> Optional[pulumi.Input[str]]:
        """
        Value of the environment variable.
        """
        return pulumi.get(self, "value")

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


@pulumi.input_type
class EnvironmentEnvironmentVariableArgs:
    def __init__(__self__, *,
                 key: pulumi.Input[str],
                 value: pulumi.Input[str],
                 id: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] key: Key of the environment variable.
        :param pulumi.Input[str] value: Value of the environment variable.
        :param pulumi.Input[str] id: Id of the environment variable.
        """
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)
        if id is not None:
            pulumi.set(__self__, "id", id)

    @property
    @pulumi.getter
    def key(self) -> pulumi.Input[str]:
        """
        Key of the environment variable.
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[str]:
        """
        Value of the environment variable.
        """
        return pulumi.get(self, "value")

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

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the environment variable.
        """
        return pulumi.get(self, "id")

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


@pulumi.input_type
class EnvironmentEnvironmentVariableAliasArgs:
    def __init__(__self__, *,
                 key: pulumi.Input[str],
                 value: pulumi.Input[str],
                 id: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] key: Name of the environment variable alias.
        :param pulumi.Input[str] value: Name of the variable to alias.
        :param pulumi.Input[str] id: Id of the environment variable alias.
        """
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)
        if id is not None:
            pulumi.set(__self__, "id", id)

    @property
    @pulumi.getter
    def key(self) -> pulumi.Input[str]:
        """
        Name of the environment variable alias.
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[str]:
        """
        Name of the variable to alias.
        """
        return pulumi.get(self, "value")

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

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the environment variable alias.
        """
        return pulumi.get(self, "id")

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


@pulumi.input_type
class EnvironmentEnvironmentVariableOverrideArgs:
    def __init__(__self__, *,
                 key: pulumi.Input[str],
                 value: pulumi.Input[str],
                 id: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] key: Name of the environment variable override.
        :param pulumi.Input[str] value: Value of the environment variable override.
        :param pulumi.Input[str] id: Id of the environment variable override.
        """
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)
        if id is not None:
            pulumi.set(__self__, "id", id)

    @property
    @pulumi.getter
    def key(self) -> pulumi.Input[str]:
        """
        Name of the environment variable override.
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[str]:
        """
        Value of the environment variable override.
        """
        return pulumi.get(self, "value")

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

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the environment variable override.
        """
        return pulumi.get(self, "id")

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


@pulumi.input_type
class EnvironmentSecretArgs:
    def __init__(__self__, *,
                 key: pulumi.Input[str],
                 value: pulumi.Input[str],
                 id: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] key: Key of the secret.
        :param pulumi.Input[str] value: Value of the secret.
        :param pulumi.Input[str] id: Id of the secret.
        """
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)
        if id is not None:
            pulumi.set(__self__, "id", id)

    @property
    @pulumi.getter
    def key(self) -> pulumi.Input[str]:
        """
        Key of the secret.
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[str]:
        """
        Value of the secret.
        """
        return pulumi.get(self, "value")

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

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the secret.
        """
        return pulumi.get(self, "id")

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


@pulumi.input_type
class EnvironmentSecretAliasArgs:
    def __init__(__self__, *,
                 key: pulumi.Input[str],
                 value: pulumi.Input[str],
                 id: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] key: Name of the secret alias.
        :param pulumi.Input[str] value: Name of the secret to alias.
        :param pulumi.Input[str] id: Id of the secret alias.
        """
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)
        if id is not None:
            pulumi.set(__self__, "id", id)

    @property
    @pulumi.getter
    def key(self) -> pulumi.Input[str]:
        """
        Name of the secret alias.
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[str]:
        """
        Name of the secret to alias.
        """
        return pulumi.get(self, "value")

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

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the secret alias.
        """
        return pulumi.get(self, "id")

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


@pulumi.input_type
class EnvironmentSecretOverrideArgs:
    def __init__(__self__, *,
                 key: pulumi.Input[str],
                 value: pulumi.Input[str],
                 id: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] key: Name of the secret override.
        :param pulumi.Input[str] value: Value of the secret override.
        :param pulumi.Input[str] id: Id of the secret override.
        """
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)
        if id is not None:
            pulumi.set(__self__, "id", id)

    @property
    @pulumi.getter
    def key(self) -> pulumi.Input[str]:
        """
        Name of the secret override.
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[str]:
        """
        Value of the secret override.
        """
        return pulumi.get(self, "value")

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

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the secret override.
        """
        return pulumi.get(self, "id")

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


@pulumi.input_type
class HelmBuiltInEnvironmentVariableArgs:
    def __init__(__self__, *,
                 id: Optional[pulumi.Input[str]] = None,
                 key: Optional[pulumi.Input[str]] = None,
                 value: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] id: Id of the environment variable.
        :param pulumi.Input[str] key: Key of the environment variable.
        :param pulumi.Input[str] value: Value of the environment variable.
        """
        if id is not None:
            pulumi.set(__self__, "id", id)
        if key is not None:
            pulumi.set(__self__, "key", key)
        if value is not None:
            pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the environment variable.
        """
        return pulumi.get(self, "id")

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

    @property
    @pulumi.getter
    def key(self) -> Optional[pulumi.Input[str]]:
        """
        Key of the environment variable.
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> Optional[pulumi.Input[str]]:
        """
        Value of the environment variable.
        """
        return pulumi.get(self, "value")

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


@pulumi.input_type
class HelmDeploymentRestrictionArgs:
    def __init__(__self__, *,
                 mode: pulumi.Input[str],
                 type: pulumi.Input[str],
                 value: pulumi.Input[str],
                 id: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] mode: Can be EXCLUDE or MATCH
        :param pulumi.Input[str] type: Currently, only PATH is accepted
        :param pulumi.Input[str] value: Value of the deployment restriction
        :param pulumi.Input[str] id: Id of the deployment restriction
        """
        pulumi.set(__self__, "mode", mode)
        pulumi.set(__self__, "type", type)
        pulumi.set(__self__, "value", value)
        if id is not None:
            pulumi.set(__self__, "id", id)

    @property
    @pulumi.getter
    def mode(self) -> pulumi.Input[str]:
        """
        Can be EXCLUDE or MATCH
        """
        return pulumi.get(self, "mode")

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

    @property
    @pulumi.getter
    def type(self) -> pulumi.Input[str]:
        """
        Currently, only PATH is accepted
        """
        return pulumi.get(self, "type")

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

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[str]:
        """
        Value of the deployment restriction
        """
        return pulumi.get(self, "value")

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

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the deployment restriction
        """
        return pulumi.get(self, "id")

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


@pulumi.input_type
class HelmEnvironmentVariableArgs:
    def __init__(__self__, *,
                 key: pulumi.Input[str],
                 value: pulumi.Input[str],
                 id: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] key: Key of the environment variable.
        :param pulumi.Input[str] value: Value of the environment variable.
        :param pulumi.Input[str] id: Id of the environment variable.
        """
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)
        if id is not None:
            pulumi.set(__self__, "id", id)

    @property
    @pulumi.getter
    def key(self) -> pulumi.Input[str]:
        """
        Key of the environment variable.
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[str]:
        """
        Value of the environment variable.
        """
        return pulumi.get(self, "value")

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

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the environment variable.
        """
        return pulumi.get(self, "id")

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


@pulumi.input_type
class HelmEnvironmentVariableAliasArgs:
    def __init__(__self__, *,
                 key: pulumi.Input[str],
                 value: pulumi.Input[str],
                 id: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] key: Name of the environment variable alias.
        :param pulumi.Input[str] value: Name of the variable to alias.
        :param pulumi.Input[str] id: Id of the environment variable alias.
        """
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)
        if id is not None:
            pulumi.set(__self__, "id", id)

    @property
    @pulumi.getter
    def key(self) -> pulumi.Input[str]:
        """
        Name of the environment variable alias.
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[str]:
        """
        Name of the variable to alias.
        """
        return pulumi.get(self, "value")

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

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the environment variable alias.
        """
        return pulumi.get(self, "id")

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


@pulumi.input_type
class HelmEnvironmentVariableOverrideArgs:
    def __init__(__self__, *,
                 key: pulumi.Input[str],
                 value: pulumi.Input[str],
                 id: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] key: Name of the environment variable override.
        :param pulumi.Input[str] value: Value of the environment variable override.
        :param pulumi.Input[str] id: Id of the environment variable override.
        """
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)
        if id is not None:
            pulumi.set(__self__, "id", id)

    @property
    @pulumi.getter
    def key(self) -> pulumi.Input[str]:
        """
        Name of the environment variable override.
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[str]:
        """
        Value of the environment variable override.
        """
        return pulumi.get(self, "value")

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

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the environment variable override.
        """
        return pulumi.get(self, "id")

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


@pulumi.input_type
class HelmPortsArgs:
    def __init__(__self__, *,
                 external_port: pulumi.Input[int],
                 internal_port: pulumi.Input[int],
                 is_default: pulumi.Input[bool],
                 service_name: pulumi.Input[str],
                 namespace: Optional[pulumi.Input[str]] = None,
                 protocol: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[int] external_port: External port of the container.
               	- Required if: `ports.publicly_accessible=true`.
               	- Must be: `>= 1` and `<= 65535`.
        :param pulumi.Input[int] internal_port: Internal port of the container.
               	- Must be: `>= 1` and `<= 65535`.
        :param pulumi.Input[bool] is_default: If this port will be used for the root domain
        :param pulumi.Input[str] protocol: Protocol used for the port of the container.
               	- Can be: `GRPC`, `HTTP`.
               	- Default: `HTTP`.
        """
        pulumi.set(__self__, "external_port", external_port)
        pulumi.set(__self__, "internal_port", internal_port)
        pulumi.set(__self__, "is_default", is_default)
        pulumi.set(__self__, "service_name", service_name)
        if namespace is not None:
            pulumi.set(__self__, "namespace", namespace)
        if protocol is not None:
            pulumi.set(__self__, "protocol", protocol)

    @property
    @pulumi.getter(name="externalPort")
    def external_port(self) -> pulumi.Input[int]:
        """
        External port of the container.
        	- Required if: `ports.publicly_accessible=true`.
        	- Must be: `>= 1` and `<= 65535`.
        """
        return pulumi.get(self, "external_port")

    @external_port.setter
    def external_port(self, value: pulumi.Input[int]):
        pulumi.set(self, "external_port", value)

    @property
    @pulumi.getter(name="internalPort")
    def internal_port(self) -> pulumi.Input[int]:
        """
        Internal port of the container.
        	- Must be: `>= 1` and `<= 65535`.
        """
        return pulumi.get(self, "internal_port")

    @internal_port.setter
    def internal_port(self, value: pulumi.Input[int]):
        pulumi.set(self, "internal_port", value)

    @property
    @pulumi.getter(name="isDefault")
    def is_default(self) -> pulumi.Input[bool]:
        """
        If this port will be used for the root domain
        """
        return pulumi.get(self, "is_default")

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

    @property
    @pulumi.getter(name="serviceName")
    def service_name(self) -> pulumi.Input[str]:
        return pulumi.get(self, "service_name")

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

    @property
    @pulumi.getter
    def namespace(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "namespace")

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

    @property
    @pulumi.getter
    def protocol(self) -> Optional[pulumi.Input[str]]:
        """
        Protocol used for the port of the container.
        	- Can be: `GRPC`, `HTTP`.
        	- Default: `HTTP`.
        """
        return pulumi.get(self, "protocol")

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


@pulumi.input_type
class HelmRepositoryConfigArgs:
    def __init__(__self__, *,
                 access_key_id: Optional[pulumi.Input[str]] = None,
                 password: Optional[pulumi.Input[str]] = None,
                 region: Optional[pulumi.Input[str]] = None,
                 scaleway_access_key: Optional[pulumi.Input[str]] = None,
                 scaleway_secret_key: Optional[pulumi.Input[str]] = None,
                 secret_access_key: Optional[pulumi.Input[str]] = None,
                 username: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] access_key_id: Required if kind is `ECR` or `PUBLIC_ECR`.
        :param pulumi.Input[str] password: Required if kinds are `DOCKER_HUB`, `GITHUB_CR`, `GITLAB`CR`, `GENERIC_CR`.
        :param pulumi.Input[str] region: Required if kind is `ECR` or `SCALEWAY_CR`.
        :param pulumi.Input[str] scaleway_access_key: Required if kind is `SCALEWAY_CR`.
        :param pulumi.Input[str] scaleway_secret_key: Required if kind is `SCALEWAY_CR`.
        :param pulumi.Input[str] secret_access_key: Required if kind is `ECR` or `PUBLIC_ECR`.
        :param pulumi.Input[str] username: Required if kinds are `DOCKER_HUB`, `GITHUB_CR`, `GITLAB`CR`, `GENERIC_CR`.
        """
        if access_key_id is not None:
            pulumi.set(__self__, "access_key_id", access_key_id)
        if password is not None:
            pulumi.set(__self__, "password", password)
        if region is not None:
            pulumi.set(__self__, "region", region)
        if scaleway_access_key is not None:
            pulumi.set(__self__, "scaleway_access_key", scaleway_access_key)
        if scaleway_secret_key is not None:
            pulumi.set(__self__, "scaleway_secret_key", scaleway_secret_key)
        if secret_access_key is not None:
            pulumi.set(__self__, "secret_access_key", secret_access_key)
        if username is not None:
            pulumi.set(__self__, "username", username)

    @property
    @pulumi.getter(name="accessKeyId")
    def access_key_id(self) -> Optional[pulumi.Input[str]]:
        """
        Required if kind is `ECR` or `PUBLIC_ECR`.
        """
        return pulumi.get(self, "access_key_id")

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

    @property
    @pulumi.getter
    def password(self) -> Optional[pulumi.Input[str]]:
        """
        Required if kinds are `DOCKER_HUB`, `GITHUB_CR`, `GITLAB`CR`, `GENERIC_CR`.
        """
        return pulumi.get(self, "password")

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

    @property
    @pulumi.getter
    def region(self) -> Optional[pulumi.Input[str]]:
        """
        Required if kind is `ECR` or `SCALEWAY_CR`.
        """
        return pulumi.get(self, "region")

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

    @property
    @pulumi.getter(name="scalewayAccessKey")
    def scaleway_access_key(self) -> Optional[pulumi.Input[str]]:
        """
        Required if kind is `SCALEWAY_CR`.
        """
        return pulumi.get(self, "scaleway_access_key")

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

    @property
    @pulumi.getter(name="scalewaySecretKey")
    def scaleway_secret_key(self) -> Optional[pulumi.Input[str]]:
        """
        Required if kind is `SCALEWAY_CR`.
        """
        return pulumi.get(self, "scaleway_secret_key")

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

    @property
    @pulumi.getter(name="secretAccessKey")
    def secret_access_key(self) -> Optional[pulumi.Input[str]]:
        """
        Required if kind is `ECR` or `PUBLIC_ECR`.
        """
        return pulumi.get(self, "secret_access_key")

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

    @property
    @pulumi.getter
    def username(self) -> Optional[pulumi.Input[str]]:
        """
        Required if kinds are `DOCKER_HUB`, `GITHUB_CR`, `GITLAB`CR`, `GENERIC_CR`.
        """
        return pulumi.get(self, "username")

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


@pulumi.input_type
class HelmSecretArgs:
    def __init__(__self__, *,
                 key: pulumi.Input[str],
                 value: pulumi.Input[str],
                 id: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] key: Key of the secret.
        :param pulumi.Input[str] value: Value of the secret.
        :param pulumi.Input[str] id: Id of the secret.
        """
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)
        if id is not None:
            pulumi.set(__self__, "id", id)

    @property
    @pulumi.getter
    def key(self) -> pulumi.Input[str]:
        """
        Key of the secret.
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[str]:
        """
        Value of the secret.
        """
        return pulumi.get(self, "value")

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

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the secret.
        """
        return pulumi.get(self, "id")

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


@pulumi.input_type
class HelmSecretAliasArgs:
    def __init__(__self__, *,
                 key: pulumi.Input[str],
                 value: pulumi.Input[str],
                 id: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] key: Name of the secret alias.
        :param pulumi.Input[str] value: Name of the secret to alias.
        :param pulumi.Input[str] id: Id of the secret alias.
        """
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)
        if id is not None:
            pulumi.set(__self__, "id", id)

    @property
    @pulumi.getter
    def key(self) -> pulumi.Input[str]:
        """
        Name of the secret alias.
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[str]:
        """
        Name of the secret to alias.
        """
        return pulumi.get(self, "value")

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

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the secret alias.
        """
        return pulumi.get(self, "id")

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


@pulumi.input_type
class HelmSecretOverrideArgs:
    def __init__(__self__, *,
                 key: pulumi.Input[str],
                 value: pulumi.Input[str],
                 id: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] key: Name of the secret override.
        :param pulumi.Input[str] value: Value of the secret override.
        :param pulumi.Input[str] id: Id of the secret override.
        """
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)
        if id is not None:
            pulumi.set(__self__, "id", id)

    @property
    @pulumi.getter
    def key(self) -> pulumi.Input[str]:
        """
        Name of the secret override.
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[str]:
        """
        Value of the secret override.
        """
        return pulumi.get(self, "value")

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

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the secret override.
        """
        return pulumi.get(self, "id")

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


@pulumi.input_type
class HelmSourceArgs:
    def __init__(__self__, *,
                 git_repository: Optional[pulumi.Input['HelmSourceGitRepositoryArgs']] = None,
                 helm_repository: Optional[pulumi.Input['HelmSourceHelmRepositoryArgs']] = None):
        """
        :param pulumi.Input['HelmSourceGitRepositoryArgs'] git_repository: Git repository
        :param pulumi.Input['HelmSourceHelmRepositoryArgs'] helm_repository: Helm repositories can be private or public
        """
        if git_repository is not None:
            pulumi.set(__self__, "git_repository", git_repository)
        if helm_repository is not None:
            pulumi.set(__self__, "helm_repository", helm_repository)

    @property
    @pulumi.getter(name="gitRepository")
    def git_repository(self) -> Optional[pulumi.Input['HelmSourceGitRepositoryArgs']]:
        """
        Git repository
        """
        return pulumi.get(self, "git_repository")

    @git_repository.setter
    def git_repository(self, value: Optional[pulumi.Input['HelmSourceGitRepositoryArgs']]):
        pulumi.set(self, "git_repository", value)

    @property
    @pulumi.getter(name="helmRepository")
    def helm_repository(self) -> Optional[pulumi.Input['HelmSourceHelmRepositoryArgs']]:
        """
        Helm repositories can be private or public
        """
        return pulumi.get(self, "helm_repository")

    @helm_repository.setter
    def helm_repository(self, value: Optional[pulumi.Input['HelmSourceHelmRepositoryArgs']]):
        pulumi.set(self, "helm_repository", value)


@pulumi.input_type
class HelmSourceGitRepositoryArgs:
    def __init__(__self__, *,
                 url: pulumi.Input[str],
                 branch: Optional[pulumi.Input[str]] = None,
                 git_token_id: Optional[pulumi.Input[str]] = None,
                 root_path: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] url: Helm's source git repository URL
        :param pulumi.Input[str] branch: Helm's source git repository branch
        :param pulumi.Input[str] git_token_id: The git token ID to be used
        :param pulumi.Input[str] root_path: Helm's source git repository root path
        """
        pulumi.set(__self__, "url", url)
        if branch is not None:
            pulumi.set(__self__, "branch", branch)
        if git_token_id is not None:
            pulumi.set(__self__, "git_token_id", git_token_id)
        if root_path is not None:
            pulumi.set(__self__, "root_path", root_path)

    @property
    @pulumi.getter
    def url(self) -> pulumi.Input[str]:
        """
        Helm's source git repository URL
        """
        return pulumi.get(self, "url")

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

    @property
    @pulumi.getter
    def branch(self) -> Optional[pulumi.Input[str]]:
        """
        Helm's source git repository branch
        """
        return pulumi.get(self, "branch")

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

    @property
    @pulumi.getter(name="gitTokenId")
    def git_token_id(self) -> Optional[pulumi.Input[str]]:
        """
        The git token ID to be used
        """
        return pulumi.get(self, "git_token_id")

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

    @property
    @pulumi.getter(name="rootPath")
    def root_path(self) -> Optional[pulumi.Input[str]]:
        """
        Helm's source git repository root path
        """
        return pulumi.get(self, "root_path")

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


@pulumi.input_type
class HelmSourceHelmRepositoryArgs:
    def __init__(__self__, *,
                 chart_name: pulumi.Input[str],
                 chart_version: pulumi.Input[str],
                 helm_repository_id: pulumi.Input[str]):
        """
        :param pulumi.Input[str] chart_name: Chart name
        :param pulumi.Input[str] chart_version: Chart version
        :param pulumi.Input[str] helm_repository_id: helm repository id
        """
        pulumi.set(__self__, "chart_name", chart_name)
        pulumi.set(__self__, "chart_version", chart_version)
        pulumi.set(__self__, "helm_repository_id", helm_repository_id)

    @property
    @pulumi.getter(name="chartName")
    def chart_name(self) -> pulumi.Input[str]:
        """
        Chart name
        """
        return pulumi.get(self, "chart_name")

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

    @property
    @pulumi.getter(name="chartVersion")
    def chart_version(self) -> pulumi.Input[str]:
        """
        Chart version
        """
        return pulumi.get(self, "chart_version")

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

    @property
    @pulumi.getter(name="helmRepositoryId")
    def helm_repository_id(self) -> pulumi.Input[str]:
        """
        helm repository id
        """
        return pulumi.get(self, "helm_repository_id")

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


@pulumi.input_type
class HelmValuesOverrideArgs:
    def __init__(__self__, *,
                 set: pulumi.Input[Mapping[str, pulumi.Input[str]]],
                 set_json: pulumi.Input[Mapping[str, pulumi.Input[str]]],
                 set_string: pulumi.Input[Mapping[str, pulumi.Input[str]]],
                 file: Optional[pulumi.Input['HelmValuesOverrideFileArgs']] = None):
        """
        :param pulumi.Input['HelmValuesOverrideFileArgs'] file: Define the overrides by selecting a YAML file from a git repository (preferred) or by passing raw YAML files.
        """
        pulumi.set(__self__, "set", set)
        pulumi.set(__self__, "set_json", set_json)
        pulumi.set(__self__, "set_string", set_string)
        if file is not None:
            pulumi.set(__self__, "file", file)

    @property
    @pulumi.getter
    def set(self) -> pulumi.Input[Mapping[str, pulumi.Input[str]]]:
        return pulumi.get(self, "set")

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

    @property
    @pulumi.getter(name="setJson")
    def set_json(self) -> pulumi.Input[Mapping[str, pulumi.Input[str]]]:
        return pulumi.get(self, "set_json")

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

    @property
    @pulumi.getter(name="setString")
    def set_string(self) -> pulumi.Input[Mapping[str, pulumi.Input[str]]]:
        return pulumi.get(self, "set_string")

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

    @property
    @pulumi.getter
    def file(self) -> Optional[pulumi.Input['HelmValuesOverrideFileArgs']]:
        """
        Define the overrides by selecting a YAML file from a git repository (preferred) or by passing raw YAML files.
        """
        return pulumi.get(self, "file")

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


@pulumi.input_type
class HelmValuesOverrideFileArgs:
    def __init__(__self__, *,
                 git_repository: Optional[pulumi.Input['HelmValuesOverrideFileGitRepositoryArgs']] = None,
                 raw: Optional[pulumi.Input[Mapping[str, pulumi.Input['HelmValuesOverrideFileRawArgs']]]] = None):
        """
        :param pulumi.Input['HelmValuesOverrideFileGitRepositoryArgs'] git_repository: YAML file from a git repository
        :param pulumi.Input[Mapping[str, pulumi.Input['HelmValuesOverrideFileRawArgs']]] raw: Raw YAML files
        """
        if git_repository is not None:
            pulumi.set(__self__, "git_repository", git_repository)
        if raw is not None:
            pulumi.set(__self__, "raw", raw)

    @property
    @pulumi.getter(name="gitRepository")
    def git_repository(self) -> Optional[pulumi.Input['HelmValuesOverrideFileGitRepositoryArgs']]:
        """
        YAML file from a git repository
        """
        return pulumi.get(self, "git_repository")

    @git_repository.setter
    def git_repository(self, value: Optional[pulumi.Input['HelmValuesOverrideFileGitRepositoryArgs']]):
        pulumi.set(self, "git_repository", value)

    @property
    @pulumi.getter
    def raw(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['HelmValuesOverrideFileRawArgs']]]]:
        """
        Raw YAML files
        """
        return pulumi.get(self, "raw")

    @raw.setter
    def raw(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['HelmValuesOverrideFileRawArgs']]]]):
        pulumi.set(self, "raw", value)


@pulumi.input_type
class HelmValuesOverrideFileGitRepositoryArgs:
    def __init__(__self__, *,
                 branch: pulumi.Input[str],
                 paths: pulumi.Input[Sequence[pulumi.Input[str]]],
                 url: pulumi.Input[str],
                 git_token_id: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] branch: YAML file git repository branch
        :param pulumi.Input[Sequence[pulumi.Input[str]]] paths: YAML files git repository paths
        :param pulumi.Input[str] url: YAML file git repository URL
        :param pulumi.Input[str] git_token_id: The git token ID to be used
        """
        pulumi.set(__self__, "branch", branch)
        pulumi.set(__self__, "paths", paths)
        pulumi.set(__self__, "url", url)
        if git_token_id is not None:
            pulumi.set(__self__, "git_token_id", git_token_id)

    @property
    @pulumi.getter
    def branch(self) -> pulumi.Input[str]:
        """
        YAML file git repository branch
        """
        return pulumi.get(self, "branch")

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

    @property
    @pulumi.getter
    def paths(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
        """
        YAML files git repository paths
        """
        return pulumi.get(self, "paths")

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

    @property
    @pulumi.getter
    def url(self) -> pulumi.Input[str]:
        """
        YAML file git repository URL
        """
        return pulumi.get(self, "url")

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

    @property
    @pulumi.getter(name="gitTokenId")
    def git_token_id(self) -> Optional[pulumi.Input[str]]:
        """
        The git token ID to be used
        """
        return pulumi.get(self, "git_token_id")

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


@pulumi.input_type
class HelmValuesOverrideFileRawArgs:
    def __init__(__self__, *,
                 content: pulumi.Input[str]):
        """
        :param pulumi.Input[str] content: content of the file
        """
        pulumi.set(__self__, "content", content)

    @property
    @pulumi.getter
    def content(self) -> pulumi.Input[str]:
        """
        content of the file
        """
        return pulumi.get(self, "content")

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


@pulumi.input_type
class JobBuiltInEnvironmentVariableArgs:
    def __init__(__self__, *,
                 id: Optional[pulumi.Input[str]] = None,
                 key: Optional[pulumi.Input[str]] = None,
                 value: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] id: Id of the environment variable.
        :param pulumi.Input[str] key: Key of the environment variable.
        :param pulumi.Input[str] value: Value of the environment variable.
        """
        if id is not None:
            pulumi.set(__self__, "id", id)
        if key is not None:
            pulumi.set(__self__, "key", key)
        if value is not None:
            pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the environment variable.
        """
        return pulumi.get(self, "id")

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

    @property
    @pulumi.getter
    def key(self) -> Optional[pulumi.Input[str]]:
        """
        Key of the environment variable.
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> Optional[pulumi.Input[str]]:
        """
        Value of the environment variable.
        """
        return pulumi.get(self, "value")

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


@pulumi.input_type
class JobDeploymentRestrictionArgs:
    def __init__(__self__, *,
                 mode: pulumi.Input[str],
                 type: pulumi.Input[str],
                 value: pulumi.Input[str],
                 id: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] mode: Can be EXCLUDE or MATCH
        :param pulumi.Input[str] type: Currently, only PATH is accepted
        :param pulumi.Input[str] value: Value of the deployment restriction
        :param pulumi.Input[str] id: Id of the deployment restriction
        """
        pulumi.set(__self__, "mode", mode)
        pulumi.set(__self__, "type", type)
        pulumi.set(__self__, "value", value)
        if id is not None:
            pulumi.set(__self__, "id", id)

    @property
    @pulumi.getter
    def mode(self) -> pulumi.Input[str]:
        """
        Can be EXCLUDE or MATCH
        """
        return pulumi.get(self, "mode")

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

    @property
    @pulumi.getter
    def type(self) -> pulumi.Input[str]:
        """
        Currently, only PATH is accepted
        """
        return pulumi.get(self, "type")

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

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[str]:
        """
        Value of the deployment restriction
        """
        return pulumi.get(self, "value")

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

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the deployment restriction
        """
        return pulumi.get(self, "id")

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


@pulumi.input_type
class JobEnvironmentVariableArgs:
    def __init__(__self__, *,
                 key: pulumi.Input[str],
                 value: pulumi.Input[str],
                 id: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] key: Key of the environment variable.
        :param pulumi.Input[str] value: Value of the environment variable.
        :param pulumi.Input[str] id: Id of the environment variable.
        """
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)
        if id is not None:
            pulumi.set(__self__, "id", id)

    @property
    @pulumi.getter
    def key(self) -> pulumi.Input[str]:
        """
        Key of the environment variable.
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[str]:
        """
        Value of the environment variable.
        """
        return pulumi.get(self, "value")

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

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the environment variable.
        """
        return pulumi.get(self, "id")

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


@pulumi.input_type
class JobEnvironmentVariableAliasArgs:
    def __init__(__self__, *,
                 key: pulumi.Input[str],
                 value: pulumi.Input[str],
                 id: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] key: Name of the environment variable alias.
        :param pulumi.Input[str] value: Name of the variable to alias.
        :param pulumi.Input[str] id: Id of the environment variable alias.
        """
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)
        if id is not None:
            pulumi.set(__self__, "id", id)

    @property
    @pulumi.getter
    def key(self) -> pulumi.Input[str]:
        """
        Name of the environment variable alias.
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[str]:
        """
        Name of the variable to alias.
        """
        return pulumi.get(self, "value")

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

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the environment variable alias.
        """
        return pulumi.get(self, "id")

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


@pulumi.input_type
class JobEnvironmentVariableOverrideArgs:
    def __init__(__self__, *,
                 key: pulumi.Input[str],
                 value: pulumi.Input[str],
                 id: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] key: Name of the environment variable override.
        :param pulumi.Input[str] value: Value of the environment variable override.
        :param pulumi.Input[str] id: Id of the environment variable override.
        """
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)
        if id is not None:
            pulumi.set(__self__, "id", id)

    @property
    @pulumi.getter
    def key(self) -> pulumi.Input[str]:
        """
        Name of the environment variable override.
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[str]:
        """
        Value of the environment variable override.
        """
        return pulumi.get(self, "value")

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

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the environment variable override.
        """
        return pulumi.get(self, "id")

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


@pulumi.input_type
class JobHealthchecksArgs:
    def __init__(__self__, *,
                 liveness_probe: Optional[pulumi.Input['JobHealthchecksLivenessProbeArgs']] = None,
                 readiness_probe: Optional[pulumi.Input['JobHealthchecksReadinessProbeArgs']] = None):
        """
        :param pulumi.Input['JobHealthchecksLivenessProbeArgs'] liveness_probe: Configuration for the liveness probe, in order to know when your service is working correctly. Failing the probe means your service being killed/ask to be restarted.
        :param pulumi.Input['JobHealthchecksReadinessProbeArgs'] readiness_probe: Configuration for the readiness probe, in order to know when your service is ready to receive traffic. Failing the probe means your service will stop receiving traffic.
        """
        if liveness_probe is not None:
            pulumi.set(__self__, "liveness_probe", liveness_probe)
        if readiness_probe is not None:
            pulumi.set(__self__, "readiness_probe", readiness_probe)

    @property
    @pulumi.getter(name="livenessProbe")
    def liveness_probe(self) -> Optional[pulumi.Input['JobHealthchecksLivenessProbeArgs']]:
        """
        Configuration for the liveness probe, in order to know when your service is working correctly. Failing the probe means your service being killed/ask to be restarted.
        """
        return pulumi.get(self, "liveness_probe")

    @liveness_probe.setter
    def liveness_probe(self, value: Optional[pulumi.Input['JobHealthchecksLivenessProbeArgs']]):
        pulumi.set(self, "liveness_probe", value)

    @property
    @pulumi.getter(name="readinessProbe")
    def readiness_probe(self) -> Optional[pulumi.Input['JobHealthchecksReadinessProbeArgs']]:
        """
        Configuration for the readiness probe, in order to know when your service is ready to receive traffic. Failing the probe means your service will stop receiving traffic.
        """
        return pulumi.get(self, "readiness_probe")

    @readiness_probe.setter
    def readiness_probe(self, value: Optional[pulumi.Input['JobHealthchecksReadinessProbeArgs']]):
        pulumi.set(self, "readiness_probe", value)


@pulumi.input_type
class JobHealthchecksLivenessProbeArgs:
    def __init__(__self__, *,
                 failure_threshold: pulumi.Input[int],
                 initial_delay_seconds: pulumi.Input[int],
                 period_seconds: pulumi.Input[int],
                 success_threshold: pulumi.Input[int],
                 timeout_seconds: pulumi.Input[int],
                 type: pulumi.Input['JobHealthchecksLivenessProbeTypeArgs']):
        """
        :param pulumi.Input[int] failure_threshold: Number of time the an ok probe should fail before declaring it as failed
        :param pulumi.Input[int] initial_delay_seconds: Number of seconds to wait before the first execution of the probe to be trigerred
        :param pulumi.Input[int] period_seconds: Number of seconds before each execution of the probe
        :param pulumi.Input[int] success_threshold: Number of time the probe should success before declaring a failed probe as ok again
        :param pulumi.Input[int] timeout_seconds: Number of seconds within which the check need to respond before declaring it as a failure
        :param pulumi.Input['JobHealthchecksLivenessProbeTypeArgs'] type: Kind of check to run for this probe. There can only be one configured at a time
        """
        pulumi.set(__self__, "failure_threshold", failure_threshold)
        pulumi.set(__self__, "initial_delay_seconds", initial_delay_seconds)
        pulumi.set(__self__, "period_seconds", period_seconds)
        pulumi.set(__self__, "success_threshold", success_threshold)
        pulumi.set(__self__, "timeout_seconds", timeout_seconds)
        pulumi.set(__self__, "type", type)

    @property
    @pulumi.getter(name="failureThreshold")
    def failure_threshold(self) -> pulumi.Input[int]:
        """
        Number of time the an ok probe should fail before declaring it as failed
        """
        return pulumi.get(self, "failure_threshold")

    @failure_threshold.setter
    def failure_threshold(self, value: pulumi.Input[int]):
        pulumi.set(self, "failure_threshold", value)

    @property
    @pulumi.getter(name="initialDelaySeconds")
    def initial_delay_seconds(self) -> pulumi.Input[int]:
        """
        Number of seconds to wait before the first execution of the probe to be trigerred
        """
        return pulumi.get(self, "initial_delay_seconds")

    @initial_delay_seconds.setter
    def initial_delay_seconds(self, value: pulumi.Input[int]):
        pulumi.set(self, "initial_delay_seconds", value)

    @property
    @pulumi.getter(name="periodSeconds")
    def period_seconds(self) -> pulumi.Input[int]:
        """
        Number of seconds before each execution of the probe
        """
        return pulumi.get(self, "period_seconds")

    @period_seconds.setter
    def period_seconds(self, value: pulumi.Input[int]):
        pulumi.set(self, "period_seconds", value)

    @property
    @pulumi.getter(name="successThreshold")
    def success_threshold(self) -> pulumi.Input[int]:
        """
        Number of time the probe should success before declaring a failed probe as ok again
        """
        return pulumi.get(self, "success_threshold")

    @success_threshold.setter
    def success_threshold(self, value: pulumi.Input[int]):
        pulumi.set(self, "success_threshold", value)

    @property
    @pulumi.getter(name="timeoutSeconds")
    def timeout_seconds(self) -> pulumi.Input[int]:
        """
        Number of seconds within which the check need to respond before declaring it as a failure
        """
        return pulumi.get(self, "timeout_seconds")

    @timeout_seconds.setter
    def timeout_seconds(self, value: pulumi.Input[int]):
        pulumi.set(self, "timeout_seconds", value)

    @property
    @pulumi.getter
    def type(self) -> pulumi.Input['JobHealthchecksLivenessProbeTypeArgs']:
        """
        Kind of check to run for this probe. There can only be one configured at a time
        """
        return pulumi.get(self, "type")

    @type.setter
    def type(self, value: pulumi.Input['JobHealthchecksLivenessProbeTypeArgs']):
        pulumi.set(self, "type", value)


@pulumi.input_type
class JobHealthchecksLivenessProbeTypeArgs:
    def __init__(__self__, *,
                 exec_: Optional[pulumi.Input['JobHealthchecksLivenessProbeTypeExecArgs']] = None,
                 grpc: Optional[pulumi.Input['JobHealthchecksLivenessProbeTypeGrpcArgs']] = None,
                 http: Optional[pulumi.Input['JobHealthchecksLivenessProbeTypeHttpArgs']] = None,
                 tcp: Optional[pulumi.Input['JobHealthchecksLivenessProbeTypeTcpArgs']] = None):
        """
        :param pulumi.Input['JobHealthchecksLivenessProbeTypeExecArgs'] exec_: Check that the given command return an exit 0. Binary should be present in the image
        :param pulumi.Input['JobHealthchecksLivenessProbeTypeGrpcArgs'] grpc: Check that the given port respond to GRPC call
        :param pulumi.Input['JobHealthchecksLivenessProbeTypeHttpArgs'] http: Check that the given port respond to HTTP call (should return a 2xx response code)
        :param pulumi.Input['JobHealthchecksLivenessProbeTypeTcpArgs'] tcp: Check that the given port accepting connection
        """
        if exec_ is not None:
            pulumi.set(__self__, "exec_", exec_)
        if grpc is not None:
            pulumi.set(__self__, "grpc", grpc)
        if http is not None:
            pulumi.set(__self__, "http", http)
        if tcp is not None:
            pulumi.set(__self__, "tcp", tcp)

    @property
    @pulumi.getter(name="exec")
    def exec_(self) -> Optional[pulumi.Input['JobHealthchecksLivenessProbeTypeExecArgs']]:
        """
        Check that the given command return an exit 0. Binary should be present in the image
        """
        return pulumi.get(self, "exec_")

    @exec_.setter
    def exec_(self, value: Optional[pulumi.Input['JobHealthchecksLivenessProbeTypeExecArgs']]):
        pulumi.set(self, "exec_", value)

    @property
    @pulumi.getter
    def grpc(self) -> Optional[pulumi.Input['JobHealthchecksLivenessProbeTypeGrpcArgs']]:
        """
        Check that the given port respond to GRPC call
        """
        return pulumi.get(self, "grpc")

    @grpc.setter
    def grpc(self, value: Optional[pulumi.Input['JobHealthchecksLivenessProbeTypeGrpcArgs']]):
        pulumi.set(self, "grpc", value)

    @property
    @pulumi.getter
    def http(self) -> Optional[pulumi.Input['JobHealthchecksLivenessProbeTypeHttpArgs']]:
        """
        Check that the given port respond to HTTP call (should return a 2xx response code)
        """
        return pulumi.get(self, "http")

    @http.setter
    def http(self, value: Optional[pulumi.Input['JobHealthchecksLivenessProbeTypeHttpArgs']]):
        pulumi.set(self, "http", value)

    @property
    @pulumi.getter
    def tcp(self) -> Optional[pulumi.Input['JobHealthchecksLivenessProbeTypeTcpArgs']]:
        """
        Check that the given port accepting connection
        """
        return pulumi.get(self, "tcp")

    @tcp.setter
    def tcp(self, value: Optional[pulumi.Input['JobHealthchecksLivenessProbeTypeTcpArgs']]):
        pulumi.set(self, "tcp", value)


@pulumi.input_type
class JobHealthchecksLivenessProbeTypeExecArgs:
    def __init__(__self__, *,
                 commands: pulumi.Input[Sequence[pulumi.Input[str]]]):
        """
        :param pulumi.Input[Sequence[pulumi.Input[str]]] commands: The command and its arguments to exec
        """
        pulumi.set(__self__, "commands", commands)

    @property
    @pulumi.getter
    def commands(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
        """
        The command and its arguments to exec
        """
        return pulumi.get(self, "commands")

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


@pulumi.input_type
class JobHealthchecksLivenessProbeTypeGrpcArgs:
    def __init__(__self__, *,
                 port: pulumi.Input[int],
                 service: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[int] port: The port number to try to connect to
        :param pulumi.Input[str] service: The grpc service to connect to. It needs to implement grpc health protocol. https://kubernetes.io/blog/2018/10/01/health-checking-grpc-servers-on-kubernetes/#introducing-grpc-health-probe
        """
        pulumi.set(__self__, "port", port)
        if service is not None:
            pulumi.set(__self__, "service", service)

    @property
    @pulumi.getter
    def port(self) -> pulumi.Input[int]:
        """
        The port number to try to connect to
        """
        return pulumi.get(self, "port")

    @port.setter
    def port(self, value: pulumi.Input[int]):
        pulumi.set(self, "port", value)

    @property
    @pulumi.getter
    def service(self) -> Optional[pulumi.Input[str]]:
        """
        The grpc service to connect to. It needs to implement grpc health protocol. https://kubernetes.io/blog/2018/10/01/health-checking-grpc-servers-on-kubernetes/#introducing-grpc-health-probe
        """
        return pulumi.get(self, "service")

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


@pulumi.input_type
class JobHealthchecksLivenessProbeTypeHttpArgs:
    def __init__(__self__, *,
                 port: pulumi.Input[int],
                 scheme: pulumi.Input[str],
                 path: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[int] port: The port number to try to connect to
        :param pulumi.Input[str] scheme: if the HTTP GET request should be done in HTTP or HTTPS.
        :param pulumi.Input[str] path: The path that the HTTP GET request. By default it is `/`
        """
        pulumi.set(__self__, "port", port)
        pulumi.set(__self__, "scheme", scheme)
        if path is not None:
            pulumi.set(__self__, "path", path)

    @property
    @pulumi.getter
    def port(self) -> pulumi.Input[int]:
        """
        The port number to try to connect to
        """
        return pulumi.get(self, "port")

    @port.setter
    def port(self, value: pulumi.Input[int]):
        pulumi.set(self, "port", value)

    @property
    @pulumi.getter
    def scheme(self) -> pulumi.Input[str]:
        """
        if the HTTP GET request should be done in HTTP or HTTPS.
        """
        return pulumi.get(self, "scheme")

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

    @property
    @pulumi.getter
    def path(self) -> Optional[pulumi.Input[str]]:
        """
        The path that the HTTP GET request. By default it is `/`
        """
        return pulumi.get(self, "path")

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


@pulumi.input_type
class JobHealthchecksLivenessProbeTypeTcpArgs:
    def __init__(__self__, *,
                 port: pulumi.Input[int],
                 host: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[int] port: The port number to try to connect to
        :param pulumi.Input[str] host: Optional. If the host need to be different than localhost/pod ip
        """
        pulumi.set(__self__, "port", port)
        if host is not None:
            pulumi.set(__self__, "host", host)

    @property
    @pulumi.getter
    def port(self) -> pulumi.Input[int]:
        """
        The port number to try to connect to
        """
        return pulumi.get(self, "port")

    @port.setter
    def port(self, value: pulumi.Input[int]):
        pulumi.set(self, "port", value)

    @property
    @pulumi.getter
    def host(self) -> Optional[pulumi.Input[str]]:
        """
        Optional. If the host need to be different than localhost/pod ip
        """
        return pulumi.get(self, "host")

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


@pulumi.input_type
class JobHealthchecksReadinessProbeArgs:
    def __init__(__self__, *,
                 failure_threshold: pulumi.Input[int],
                 initial_delay_seconds: pulumi.Input[int],
                 period_seconds: pulumi.Input[int],
                 success_threshold: pulumi.Input[int],
                 timeout_seconds: pulumi.Input[int],
                 type: pulumi.Input['JobHealthchecksReadinessProbeTypeArgs']):
        """
        :param pulumi.Input[int] failure_threshold: Number of time the an ok probe should fail before declaring it as failed
        :param pulumi.Input[int] initial_delay_seconds: Number of seconds to wait before the first execution of the probe to be trigerred
        :param pulumi.Input[int] period_seconds: Number of seconds before each execution of the probe
        :param pulumi.Input[int] success_threshold: Number of time the probe should success before declaring a failed probe as ok again
        :param pulumi.Input[int] timeout_seconds: Number of seconds within which the check need to respond before declaring it as a failure
        :param pulumi.Input['JobHealthchecksReadinessProbeTypeArgs'] type: Kind of check to run for this probe. There can only be one configured at a time
        """
        pulumi.set(__self__, "failure_threshold", failure_threshold)
        pulumi.set(__self__, "initial_delay_seconds", initial_delay_seconds)
        pulumi.set(__self__, "period_seconds", period_seconds)
        pulumi.set(__self__, "success_threshold", success_threshold)
        pulumi.set(__self__, "timeout_seconds", timeout_seconds)
        pulumi.set(__self__, "type", type)

    @property
    @pulumi.getter(name="failureThreshold")
    def failure_threshold(self) -> pulumi.Input[int]:
        """
        Number of time the an ok probe should fail before declaring it as failed
        """
        return pulumi.get(self, "failure_threshold")

    @failure_threshold.setter
    def failure_threshold(self, value: pulumi.Input[int]):
        pulumi.set(self, "failure_threshold", value)

    @property
    @pulumi.getter(name="initialDelaySeconds")
    def initial_delay_seconds(self) -> pulumi.Input[int]:
        """
        Number of seconds to wait before the first execution of the probe to be trigerred
        """
        return pulumi.get(self, "initial_delay_seconds")

    @initial_delay_seconds.setter
    def initial_delay_seconds(self, value: pulumi.Input[int]):
        pulumi.set(self, "initial_delay_seconds", value)

    @property
    @pulumi.getter(name="periodSeconds")
    def period_seconds(self) -> pulumi.Input[int]:
        """
        Number of seconds before each execution of the probe
        """
        return pulumi.get(self, "period_seconds")

    @period_seconds.setter
    def period_seconds(self, value: pulumi.Input[int]):
        pulumi.set(self, "period_seconds", value)

    @property
    @pulumi.getter(name="successThreshold")
    def success_threshold(self) -> pulumi.Input[int]:
        """
        Number of time the probe should success before declaring a failed probe as ok again
        """
        return pulumi.get(self, "success_threshold")

    @success_threshold.setter
    def success_threshold(self, value: pulumi.Input[int]):
        pulumi.set(self, "success_threshold", value)

    @property
    @pulumi.getter(name="timeoutSeconds")
    def timeout_seconds(self) -> pulumi.Input[int]:
        """
        Number of seconds within which the check need to respond before declaring it as a failure
        """
        return pulumi.get(self, "timeout_seconds")

    @timeout_seconds.setter
    def timeout_seconds(self, value: pulumi.Input[int]):
        pulumi.set(self, "timeout_seconds", value)

    @property
    @pulumi.getter
    def type(self) -> pulumi.Input['JobHealthchecksReadinessProbeTypeArgs']:
        """
        Kind of check to run for this probe. There can only be one configured at a time
        """
        return pulumi.get(self, "type")

    @type.setter
    def type(self, value: pulumi.Input['JobHealthchecksReadinessProbeTypeArgs']):
        pulumi.set(self, "type", value)


@pulumi.input_type
class JobHealthchecksReadinessProbeTypeArgs:
    def __init__(__self__, *,
                 exec_: Optional[pulumi.Input['JobHealthchecksReadinessProbeTypeExecArgs']] = None,
                 grpc: Optional[pulumi.Input['JobHealthchecksReadinessProbeTypeGrpcArgs']] = None,
                 http: Optional[pulumi.Input['JobHealthchecksReadinessProbeTypeHttpArgs']] = None,
                 tcp: Optional[pulumi.Input['JobHealthchecksReadinessProbeTypeTcpArgs']] = None):
        """
        :param pulumi.Input['JobHealthchecksReadinessProbeTypeExecArgs'] exec_: Check that the given command return an exit 0. Binary should be present in the image
        :param pulumi.Input['JobHealthchecksReadinessProbeTypeGrpcArgs'] grpc: Check that the given port respond to GRPC call
        :param pulumi.Input['JobHealthchecksReadinessProbeTypeHttpArgs'] http: Check that the given port respond to HTTP call (should return a 2xx response code)
        :param pulumi.Input['JobHealthchecksReadinessProbeTypeTcpArgs'] tcp: Check that the given port accepting connection
        """
        if exec_ is not None:
            pulumi.set(__self__, "exec_", exec_)
        if grpc is not None:
            pulumi.set(__self__, "grpc", grpc)
        if http is not None:
            pulumi.set(__self__, "http", http)
        if tcp is not None:
            pulumi.set(__self__, "tcp", tcp)

    @property
    @pulumi.getter(name="exec")
    def exec_(self) -> Optional[pulumi.Input['JobHealthchecksReadinessProbeTypeExecArgs']]:
        """
        Check that the given command return an exit 0. Binary should be present in the image
        """
        return pulumi.get(self, "exec_")

    @exec_.setter
    def exec_(self, value: Optional[pulumi.Input['JobHealthchecksReadinessProbeTypeExecArgs']]):
        pulumi.set(self, "exec_", value)

    @property
    @pulumi.getter
    def grpc(self) -> Optional[pulumi.Input['JobHealthchecksReadinessProbeTypeGrpcArgs']]:
        """
        Check that the given port respond to GRPC call
        """
        return pulumi.get(self, "grpc")

    @grpc.setter
    def grpc(self, value: Optional[pulumi.Input['JobHealthchecksReadinessProbeTypeGrpcArgs']]):
        pulumi.set(self, "grpc", value)

    @property
    @pulumi.getter
    def http(self) -> Optional[pulumi.Input['JobHealthchecksReadinessProbeTypeHttpArgs']]:
        """
        Check that the given port respond to HTTP call (should return a 2xx response code)
        """
        return pulumi.get(self, "http")

    @http.setter
    def http(self, value: Optional[pulumi.Input['JobHealthchecksReadinessProbeTypeHttpArgs']]):
        pulumi.set(self, "http", value)

    @property
    @pulumi.getter
    def tcp(self) -> Optional[pulumi.Input['JobHealthchecksReadinessProbeTypeTcpArgs']]:
        """
        Check that the given port accepting connection
        """
        return pulumi.get(self, "tcp")

    @tcp.setter
    def tcp(self, value: Optional[pulumi.Input['JobHealthchecksReadinessProbeTypeTcpArgs']]):
        pulumi.set(self, "tcp", value)


@pulumi.input_type
class JobHealthchecksReadinessProbeTypeExecArgs:
    def __init__(__self__, *,
                 commands: pulumi.Input[Sequence[pulumi.Input[str]]]):
        """
        :param pulumi.Input[Sequence[pulumi.Input[str]]] commands: The command and its arguments to exec
        """
        pulumi.set(__self__, "commands", commands)

    @property
    @pulumi.getter
    def commands(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
        """
        The command and its arguments to exec
        """
        return pulumi.get(self, "commands")

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


@pulumi.input_type
class JobHealthchecksReadinessProbeTypeGrpcArgs:
    def __init__(__self__, *,
                 port: pulumi.Input[int],
                 service: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[int] port: The port number to try to connect to
        :param pulumi.Input[str] service: The grpc service to connect to. It needs to implement grpc health protocol. https://kubernetes.io/blog/2018/10/01/health-checking-grpc-servers-on-kubernetes/#introducing-grpc-health-probe
        """
        pulumi.set(__self__, "port", port)
        if service is not None:
            pulumi.set(__self__, "service", service)

    @property
    @pulumi.getter
    def port(self) -> pulumi.Input[int]:
        """
        The port number to try to connect to
        """
        return pulumi.get(self, "port")

    @port.setter
    def port(self, value: pulumi.Input[int]):
        pulumi.set(self, "port", value)

    @property
    @pulumi.getter
    def service(self) -> Optional[pulumi.Input[str]]:
        """
        The grpc service to connect to. It needs to implement grpc health protocol. https://kubernetes.io/blog/2018/10/01/health-checking-grpc-servers-on-kubernetes/#introducing-grpc-health-probe
        """
        return pulumi.get(self, "service")

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


@pulumi.input_type
class JobHealthchecksReadinessProbeTypeHttpArgs:
    def __init__(__self__, *,
                 port: pulumi.Input[int],
                 scheme: pulumi.Input[str],
                 path: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[int] port: The port number to try to connect to
        :param pulumi.Input[str] scheme: if the HTTP GET request should be done in HTTP or HTTPS.
        :param pulumi.Input[str] path: The path that the HTTP GET request. By default it is `/`
        """
        pulumi.set(__self__, "port", port)
        pulumi.set(__self__, "scheme", scheme)
        if path is not None:
            pulumi.set(__self__, "path", path)

    @property
    @pulumi.getter
    def port(self) -> pulumi.Input[int]:
        """
        The port number to try to connect to
        """
        return pulumi.get(self, "port")

    @port.setter
    def port(self, value: pulumi.Input[int]):
        pulumi.set(self, "port", value)

    @property
    @pulumi.getter
    def scheme(self) -> pulumi.Input[str]:
        """
        if the HTTP GET request should be done in HTTP or HTTPS.
        """
        return pulumi.get(self, "scheme")

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

    @property
    @pulumi.getter
    def path(self) -> Optional[pulumi.Input[str]]:
        """
        The path that the HTTP GET request. By default it is `/`
        """
        return pulumi.get(self, "path")

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


@pulumi.input_type
class JobHealthchecksReadinessProbeTypeTcpArgs:
    def __init__(__self__, *,
                 port: pulumi.Input[int],
                 host: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[int] port: The port number to try to connect to
        :param pulumi.Input[str] host: Optional. If the host need to be different than localhost/pod ip
        """
        pulumi.set(__self__, "port", port)
        if host is not None:
            pulumi.set(__self__, "host", host)

    @property
    @pulumi.getter
    def port(self) -> pulumi.Input[int]:
        """
        The port number to try to connect to
        """
        return pulumi.get(self, "port")

    @port.setter
    def port(self, value: pulumi.Input[int]):
        pulumi.set(self, "port", value)

    @property
    @pulumi.getter
    def host(self) -> Optional[pulumi.Input[str]]:
        """
        Optional. If the host need to be different than localhost/pod ip
        """
        return pulumi.get(self, "host")

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


@pulumi.input_type
class JobScheduleArgs:
    def __init__(__self__, *,
                 cronjob: Optional[pulumi.Input['JobScheduleCronjobArgs']] = None,
                 on_delete: Optional[pulumi.Input['JobScheduleOnDeleteArgs']] = None,
                 on_start: Optional[pulumi.Input['JobScheduleOnStartArgs']] = None,
                 on_stop: Optional[pulumi.Input['JobScheduleOnStopArgs']] = None):
        """
        :param pulumi.Input['JobScheduleCronjobArgs'] cronjob: Job's cron.
        :param pulumi.Input['JobScheduleOnDeleteArgs'] on_delete: Job's schedule on delete.
        :param pulumi.Input['JobScheduleOnStartArgs'] on_start: Job's schedule on start.
        :param pulumi.Input['JobScheduleOnStopArgs'] on_stop: Job's schedule on stop.
        """
        if cronjob is not None:
            pulumi.set(__self__, "cronjob", cronjob)
        if on_delete is not None:
            pulumi.set(__self__, "on_delete", on_delete)
        if on_start is not None:
            pulumi.set(__self__, "on_start", on_start)
        if on_stop is not None:
            pulumi.set(__self__, "on_stop", on_stop)

    @property
    @pulumi.getter
    def cronjob(self) -> Optional[pulumi.Input['JobScheduleCronjobArgs']]:
        """
        Job's cron.
        """
        return pulumi.get(self, "cronjob")

    @cronjob.setter
    def cronjob(self, value: Optional[pulumi.Input['JobScheduleCronjobArgs']]):
        pulumi.set(self, "cronjob", value)

    @property
    @pulumi.getter(name="onDelete")
    def on_delete(self) -> Optional[pulumi.Input['JobScheduleOnDeleteArgs']]:
        """
        Job's schedule on delete.
        """
        return pulumi.get(self, "on_delete")

    @on_delete.setter
    def on_delete(self, value: Optional[pulumi.Input['JobScheduleOnDeleteArgs']]):
        pulumi.set(self, "on_delete", value)

    @property
    @pulumi.getter(name="onStart")
    def on_start(self) -> Optional[pulumi.Input['JobScheduleOnStartArgs']]:
        """
        Job's schedule on start.
        """
        return pulumi.get(self, "on_start")

    @on_start.setter
    def on_start(self, value: Optional[pulumi.Input['JobScheduleOnStartArgs']]):
        pulumi.set(self, "on_start", value)

    @property
    @pulumi.getter(name="onStop")
    def on_stop(self) -> Optional[pulumi.Input['JobScheduleOnStopArgs']]:
        """
        Job's schedule on stop.
        """
        return pulumi.get(self, "on_stop")

    @on_stop.setter
    def on_stop(self, value: Optional[pulumi.Input['JobScheduleOnStopArgs']]):
        pulumi.set(self, "on_stop", value)


@pulumi.input_type
class JobScheduleCronjobArgs:
    def __init__(__self__, *,
                 command: pulumi.Input['JobScheduleCronjobCommandArgs'],
                 schedule: pulumi.Input[str]):
        """
        :param pulumi.Input['JobScheduleCronjobCommandArgs'] command: Job's cron command.
        :param pulumi.Input[str] schedule: Job's cron string.
        """
        pulumi.set(__self__, "command", command)
        pulumi.set(__self__, "schedule", schedule)

    @property
    @pulumi.getter
    def command(self) -> pulumi.Input['JobScheduleCronjobCommandArgs']:
        """
        Job's cron command.
        """
        return pulumi.get(self, "command")

    @command.setter
    def command(self, value: pulumi.Input['JobScheduleCronjobCommandArgs']):
        pulumi.set(self, "command", value)

    @property
    @pulumi.getter
    def schedule(self) -> pulumi.Input[str]:
        """
        Job's cron string.
        """
        return pulumi.get(self, "schedule")

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


@pulumi.input_type
class JobScheduleCronjobCommandArgs:
    def __init__(__self__, *,
                 arguments: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 entrypoint: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[Sequence[pulumi.Input[str]]] arguments: List of arguments of this job.
        :param pulumi.Input[str] entrypoint: Entrypoint of the job.
        """
        if arguments is not None:
            pulumi.set(__self__, "arguments", arguments)
        if entrypoint is not None:
            pulumi.set(__self__, "entrypoint", entrypoint)

    @property
    @pulumi.getter
    def arguments(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        List of arguments of this job.
        """
        return pulumi.get(self, "arguments")

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

    @property
    @pulumi.getter
    def entrypoint(self) -> Optional[pulumi.Input[str]]:
        """
        Entrypoint of the job.
        """
        return pulumi.get(self, "entrypoint")

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


@pulumi.input_type
class JobScheduleOnDeleteArgs:
    def __init__(__self__, *,
                 arguments: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 entrypoint: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[Sequence[pulumi.Input[str]]] arguments: List of arguments of this job.
        :param pulumi.Input[str] entrypoint: Entrypoint of the job.
        """
        if arguments is not None:
            pulumi.set(__self__, "arguments", arguments)
        if entrypoint is not None:
            pulumi.set(__self__, "entrypoint", entrypoint)

    @property
    @pulumi.getter
    def arguments(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        List of arguments of this job.
        """
        return pulumi.get(self, "arguments")

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

    @property
    @pulumi.getter
    def entrypoint(self) -> Optional[pulumi.Input[str]]:
        """
        Entrypoint of the job.
        """
        return pulumi.get(self, "entrypoint")

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


@pulumi.input_type
class JobScheduleOnStartArgs:
    def __init__(__self__, *,
                 arguments: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 entrypoint: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[Sequence[pulumi.Input[str]]] arguments: List of arguments of this job.
        :param pulumi.Input[str] entrypoint: Entrypoint of the job.
        """
        if arguments is not None:
            pulumi.set(__self__, "arguments", arguments)
        if entrypoint is not None:
            pulumi.set(__self__, "entrypoint", entrypoint)

    @property
    @pulumi.getter
    def arguments(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        List of arguments of this job.
        """
        return pulumi.get(self, "arguments")

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

    @property
    @pulumi.getter
    def entrypoint(self) -> Optional[pulumi.Input[str]]:
        """
        Entrypoint of the job.
        """
        return pulumi.get(self, "entrypoint")

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


@pulumi.input_type
class JobScheduleOnStopArgs:
    def __init__(__self__, *,
                 arguments: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 entrypoint: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[Sequence[pulumi.Input[str]]] arguments: List of arguments of this job.
        :param pulumi.Input[str] entrypoint: Entrypoint of the job.
        """
        if arguments is not None:
            pulumi.set(__self__, "arguments", arguments)
        if entrypoint is not None:
            pulumi.set(__self__, "entrypoint", entrypoint)

    @property
    @pulumi.getter
    def arguments(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        List of arguments of this job.
        """
        return pulumi.get(self, "arguments")

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

    @property
    @pulumi.getter
    def entrypoint(self) -> Optional[pulumi.Input[str]]:
        """
        Entrypoint of the job.
        """
        return pulumi.get(self, "entrypoint")

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


@pulumi.input_type
class JobSecretArgs:
    def __init__(__self__, *,
                 key: pulumi.Input[str],
                 value: pulumi.Input[str],
                 id: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] key: Key of the secret.
        :param pulumi.Input[str] value: Value of the secret.
        :param pulumi.Input[str] id: Id of the secret.
        """
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)
        if id is not None:
            pulumi.set(__self__, "id", id)

    @property
    @pulumi.getter
    def key(self) -> pulumi.Input[str]:
        """
        Key of the secret.
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[str]:
        """
        Value of the secret.
        """
        return pulumi.get(self, "value")

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

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the secret.
        """
        return pulumi.get(self, "id")

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


@pulumi.input_type
class JobSecretAliasArgs:
    def __init__(__self__, *,
                 key: pulumi.Input[str],
                 value: pulumi.Input[str],
                 id: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] key: Name of the secret alias.
        :param pulumi.Input[str] value: Name of the secret to alias.
        :param pulumi.Input[str] id: Id of the secret alias.
        """
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)
        if id is not None:
            pulumi.set(__self__, "id", id)

    @property
    @pulumi.getter
    def key(self) -> pulumi.Input[str]:
        """
        Name of the secret alias.
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[str]:
        """
        Name of the secret to alias.
        """
        return pulumi.get(self, "value")

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

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the secret alias.
        """
        return pulumi.get(self, "id")

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


@pulumi.input_type
class JobSecretOverrideArgs:
    def __init__(__self__, *,
                 key: pulumi.Input[str],
                 value: pulumi.Input[str],
                 id: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] key: Name of the secret override.
        :param pulumi.Input[str] value: Value of the secret override.
        :param pulumi.Input[str] id: Id of the secret override.
        """
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)
        if id is not None:
            pulumi.set(__self__, "id", id)

    @property
    @pulumi.getter
    def key(self) -> pulumi.Input[str]:
        """
        Name of the secret override.
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[str]:
        """
        Value of the secret override.
        """
        return pulumi.get(self, "value")

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

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the secret override.
        """
        return pulumi.get(self, "id")

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


@pulumi.input_type
class JobSourceArgs:
    def __init__(__self__, *,
                 docker: Optional[pulumi.Input['JobSourceDockerArgs']] = None,
                 image: Optional[pulumi.Input['JobSourceImageArgs']] = None):
        """
        :param pulumi.Input['JobSourceDockerArgs'] docker: Job's docker source.
        :param pulumi.Input['JobSourceImageArgs'] image: Job's image source.
        """
        if docker is not None:
            pulumi.set(__self__, "docker", docker)
        if image is not None:
            pulumi.set(__self__, "image", image)

    @property
    @pulumi.getter
    def docker(self) -> Optional[pulumi.Input['JobSourceDockerArgs']]:
        """
        Job's docker source.
        """
        return pulumi.get(self, "docker")

    @docker.setter
    def docker(self, value: Optional[pulumi.Input['JobSourceDockerArgs']]):
        pulumi.set(self, "docker", value)

    @property
    @pulumi.getter
    def image(self) -> Optional[pulumi.Input['JobSourceImageArgs']]:
        """
        Job's image source.
        """
        return pulumi.get(self, "image")

    @image.setter
    def image(self, value: Optional[pulumi.Input['JobSourceImageArgs']]):
        pulumi.set(self, "image", value)


@pulumi.input_type
class JobSourceDockerArgs:
    def __init__(__self__, *,
                 git_repository: pulumi.Input['JobSourceDockerGitRepositoryArgs'],
                 dockerfile_path: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input['JobSourceDockerGitRepositoryArgs'] git_repository: Job's docker source git repository.
        :param pulumi.Input[str] dockerfile_path: Job's docker source dockerfile path.
        """
        pulumi.set(__self__, "git_repository", git_repository)
        if dockerfile_path is not None:
            pulumi.set(__self__, "dockerfile_path", dockerfile_path)

    @property
    @pulumi.getter(name="gitRepository")
    def git_repository(self) -> pulumi.Input['JobSourceDockerGitRepositoryArgs']:
        """
        Job's docker source git repository.
        """
        return pulumi.get(self, "git_repository")

    @git_repository.setter
    def git_repository(self, value: pulumi.Input['JobSourceDockerGitRepositoryArgs']):
        pulumi.set(self, "git_repository", value)

    @property
    @pulumi.getter(name="dockerfilePath")
    def dockerfile_path(self) -> Optional[pulumi.Input[str]]:
        """
        Job's docker source dockerfile path.
        """
        return pulumi.get(self, "dockerfile_path")

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


@pulumi.input_type
class JobSourceDockerGitRepositoryArgs:
    def __init__(__self__, *,
                 branch: pulumi.Input[str],
                 url: pulumi.Input[str],
                 git_token_id: Optional[pulumi.Input[str]] = None,
                 root_path: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] branch: Job's docker source git repository branch.
        :param pulumi.Input[str] url: Job's docker source git repository URL.
        :param pulumi.Input[str] git_token_id: The git token ID to be used
        :param pulumi.Input[str] root_path: Job's docker source git repository root path.
        """
        pulumi.set(__self__, "branch", branch)
        pulumi.set(__self__, "url", url)
        if git_token_id is not None:
            pulumi.set(__self__, "git_token_id", git_token_id)
        if root_path is not None:
            pulumi.set(__self__, "root_path", root_path)

    @property
    @pulumi.getter
    def branch(self) -> pulumi.Input[str]:
        """
        Job's docker source git repository branch.
        """
        return pulumi.get(self, "branch")

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

    @property
    @pulumi.getter
    def url(self) -> pulumi.Input[str]:
        """
        Job's docker source git repository URL.
        """
        return pulumi.get(self, "url")

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

    @property
    @pulumi.getter(name="gitTokenId")
    def git_token_id(self) -> Optional[pulumi.Input[str]]:
        """
        The git token ID to be used
        """
        return pulumi.get(self, "git_token_id")

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

    @property
    @pulumi.getter(name="rootPath")
    def root_path(self) -> Optional[pulumi.Input[str]]:
        """
        Job's docker source git repository root path.
        """
        return pulumi.get(self, "root_path")

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


@pulumi.input_type
class JobSourceImageArgs:
    def __init__(__self__, *,
                 name: pulumi.Input[str],
                 registry_id: pulumi.Input[str],
                 tag: pulumi.Input[str]):
        """
        :param pulumi.Input[str] name: Job's image source name.
        :param pulumi.Input[str] registry_id: Job's image source registry ID.
        :param pulumi.Input[str] tag: Job's image source tag.
        """
        pulumi.set(__self__, "name", name)
        pulumi.set(__self__, "registry_id", registry_id)
        pulumi.set(__self__, "tag", tag)

    @property
    @pulumi.getter
    def name(self) -> pulumi.Input[str]:
        """
        Job's image source name.
        """
        return pulumi.get(self, "name")

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

    @property
    @pulumi.getter(name="registryId")
    def registry_id(self) -> pulumi.Input[str]:
        """
        Job's image source registry ID.
        """
        return pulumi.get(self, "registry_id")

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

    @property
    @pulumi.getter
    def tag(self) -> pulumi.Input[str]:
        """
        Job's image source tag.
        """
        return pulumi.get(self, "tag")

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


@pulumi.input_type
class ProjectBuiltInEnvironmentVariableArgs:
    def __init__(__self__, *,
                 id: Optional[pulumi.Input[str]] = None,
                 key: Optional[pulumi.Input[str]] = None,
                 value: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] id: Id of the environment variable.
        :param pulumi.Input[str] key: Key of the environment variable.
        :param pulumi.Input[str] value: Value of the environment variable.
        """
        if id is not None:
            pulumi.set(__self__, "id", id)
        if key is not None:
            pulumi.set(__self__, "key", key)
        if value is not None:
            pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the environment variable.
        """
        return pulumi.get(self, "id")

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

    @property
    @pulumi.getter
    def key(self) -> Optional[pulumi.Input[str]]:
        """
        Key of the environment variable.
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> Optional[pulumi.Input[str]]:
        """
        Value of the environment variable.
        """
        return pulumi.get(self, "value")

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


@pulumi.input_type
class ProjectEnvironmentVariableArgs:
    def __init__(__self__, *,
                 key: pulumi.Input[str],
                 value: pulumi.Input[str],
                 id: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] key: Key of the environment variable.
        :param pulumi.Input[str] value: Value of the environment variable.
        :param pulumi.Input[str] id: Id of the environment variable.
        """
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)
        if id is not None:
            pulumi.set(__self__, "id", id)

    @property
    @pulumi.getter
    def key(self) -> pulumi.Input[str]:
        """
        Key of the environment variable.
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[str]:
        """
        Value of the environment variable.
        """
        return pulumi.get(self, "value")

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

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the environment variable.
        """
        return pulumi.get(self, "id")

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


@pulumi.input_type
class ProjectEnvironmentVariableAliasArgs:
    def __init__(__self__, *,
                 key: pulumi.Input[str],
                 value: pulumi.Input[str],
                 id: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] key: Name of the environment variable alias.
        :param pulumi.Input[str] value: Name of the variable to alias.
        :param pulumi.Input[str] id: Id of the environment variable alias.
        """
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)
        if id is not None:
            pulumi.set(__self__, "id", id)

    @property
    @pulumi.getter
    def key(self) -> pulumi.Input[str]:
        """
        Name of the environment variable alias.
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[str]:
        """
        Name of the variable to alias.
        """
        return pulumi.get(self, "value")

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

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the environment variable alias.
        """
        return pulumi.get(self, "id")

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


@pulumi.input_type
class ProjectSecretArgs:
    def __init__(__self__, *,
                 key: pulumi.Input[str],
                 value: pulumi.Input[str],
                 id: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] key: Key of the secret.
        :param pulumi.Input[str] value: Value of the secret.
        :param pulumi.Input[str] id: Id of the secret.
        """
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)
        if id is not None:
            pulumi.set(__self__, "id", id)

    @property
    @pulumi.getter
    def key(self) -> pulumi.Input[str]:
        """
        Key of the secret.
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[str]:
        """
        Value of the secret.
        """
        return pulumi.get(self, "value")

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

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the secret.
        """
        return pulumi.get(self, "id")

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


@pulumi.input_type
class ProjectSecretAliasArgs:
    def __init__(__self__, *,
                 key: pulumi.Input[str],
                 value: pulumi.Input[str],
                 id: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] key: Name of the secret alias.
        :param pulumi.Input[str] value: Name of the secret to alias.
        :param pulumi.Input[str] id: Id of the secret alias.
        """
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)
        if id is not None:
            pulumi.set(__self__, "id", id)

    @property
    @pulumi.getter
    def key(self) -> pulumi.Input[str]:
        """
        Name of the secret alias.
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[str]:
        """
        Name of the secret to alias.
        """
        return pulumi.get(self, "value")

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

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the secret alias.
        """
        return pulumi.get(self, "id")

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


@pulumi.input_type
class GetApplicationCustomDomainArgs:
    def __init__(__self__, *,
                 domain: str,
                 id: str,
                 status: str,
                 validation_domain: str):
        """
        :param str domain: Your custom domain.
        :param str id: Id of the custom domain.
        :param str status: Status of the custom domain.
        :param str validation_domain: URL provided by Qovery. You must create a CNAME on your DNS provider using that URL.
        """
        pulumi.set(__self__, "domain", domain)
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "status", status)
        pulumi.set(__self__, "validation_domain", validation_domain)

    @property
    @pulumi.getter
    def domain(self) -> str:
        """
        Your custom domain.
        """
        return pulumi.get(self, "domain")

    @domain.setter
    def domain(self, value: str):
        pulumi.set(self, "domain", value)

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        Id of the custom domain.
        """
        return pulumi.get(self, "id")

    @id.setter
    def id(self, value: str):
        pulumi.set(self, "id", value)

    @property
    @pulumi.getter
    def status(self) -> str:
        """
        Status of the custom domain.
        """
        return pulumi.get(self, "status")

    @status.setter
    def status(self, value: str):
        pulumi.set(self, "status", value)

    @property
    @pulumi.getter(name="validationDomain")
    def validation_domain(self) -> str:
        """
        URL provided by Qovery. You must create a CNAME on your DNS provider using that URL.
        """
        return pulumi.get(self, "validation_domain")

    @validation_domain.setter
    def validation_domain(self, value: str):
        pulumi.set(self, "validation_domain", value)


@pulumi.input_type
class GetApplicationDeploymentRestrictionArgs:
    def __init__(__self__, *,
                 id: str,
                 mode: str,
                 type: str,
                 value: str):
        """
        :param str id: Id of the deployment restriction
        :param str mode: Can be EXCLUDE or MATCH
        :param str type: Currently, only PATH is accepted
        :param str value: Value of the deployment restriction
        """
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "mode", mode)
        pulumi.set(__self__, "type", type)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        Id of the deployment restriction
        """
        return pulumi.get(self, "id")

    @id.setter
    def id(self, value: str):
        pulumi.set(self, "id", value)

    @property
    @pulumi.getter
    def mode(self) -> str:
        """
        Can be EXCLUDE or MATCH
        """
        return pulumi.get(self, "mode")

    @mode.setter
    def mode(self, value: str):
        pulumi.set(self, "mode", value)

    @property
    @pulumi.getter
    def type(self) -> str:
        """
        Currently, only PATH is accepted
        """
        return pulumi.get(self, "type")

    @type.setter
    def type(self, value: str):
        pulumi.set(self, "type", value)

    @property
    @pulumi.getter
    def value(self) -> str:
        """
        Value of the deployment restriction
        """
        return pulumi.get(self, "value")

    @value.setter
    def value(self, value: str):
        pulumi.set(self, "value", value)


@pulumi.input_type
class GetApplicationEnvironmentVariableArgs:
    def __init__(__self__, *,
                 id: str,
                 key: str,
                 value: str):
        """
        :param str id: Id of the environment variable.
        :param str key: Key of the environment variable.
        :param str value: Value of the environment variable.
        """
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        Id of the environment variable.
        """
        return pulumi.get(self, "id")

    @id.setter
    def id(self, value: str):
        pulumi.set(self, "id", value)

    @property
    @pulumi.getter
    def key(self) -> str:
        """
        Key of the environment variable.
        """
        return pulumi.get(self, "key")

    @key.setter
    def key(self, value: str):
        pulumi.set(self, "key", value)

    @property
    @pulumi.getter
    def value(self) -> str:
        """
        Value of the environment variable.
        """
        return pulumi.get(self, "value")

    @value.setter
    def value(self, value: str):
        pulumi.set(self, "value", value)


@pulumi.input_type
class GetApplicationEnvironmentVariableAliasArgs:
    def __init__(__self__, *,
                 id: str,
                 key: str,
                 value: str):
        """
        :param str id: Id of the environment variable alias.
        :param str key: Name of the environment variable alias.
        :param str value: Name of the variable to alias.
        """
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        Id of the environment variable alias.
        """
        return pulumi.get(self, "id")

    @id.setter
    def id(self, value: str):
        pulumi.set(self, "id", value)

    @property
    @pulumi.getter
    def key(self) -> str:
        """
        Name of the environment variable alias.
        """
        return pulumi.get(self, "key")

    @key.setter
    def key(self, value: str):
        pulumi.set(self, "key", value)

    @property
    @pulumi.getter
    def value(self) -> str:
        """
        Name of the variable to alias.
        """
        return pulumi.get(self, "value")

    @value.setter
    def value(self, value: str):
        pulumi.set(self, "value", value)


@pulumi.input_type
class GetApplicationEnvironmentVariableOverrideArgs:
    def __init__(__self__, *,
                 id: str,
                 key: str,
                 value: str):
        """
        :param str id: Id of the environment variable override.
        :param str key: Name of the environment variable override.
        :param str value: Value of the environment variable override.
        """
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        Id of the environment variable override.
        """
        return pulumi.get(self, "id")

    @id.setter
    def id(self, value: str):
        pulumi.set(self, "id", value)

    @property
    @pulumi.getter
    def key(self) -> str:
        """
        Name of the environment variable override.
        """
        return pulumi.get(self, "key")

    @key.setter
    def key(self, value: str):
        pulumi.set(self, "key", value)

    @property
    @pulumi.getter
    def value(self) -> str:
        """
        Value of the environment variable override.
        """
        return pulumi.get(self, "value")

    @value.setter
    def value(self, value: str):
        pulumi.set(self, "value", value)


@pulumi.input_type
class GetApplicationHealthchecksArgs:
    def __init__(__self__, *,
                 liveness_probe: Optional['GetApplicationHealthchecksLivenessProbeArgs'] = None,
                 readiness_probe: Optional['GetApplicationHealthchecksReadinessProbeArgs'] = None):
        """
        :param 'GetApplicationHealthchecksLivenessProbeArgs' liveness_probe: Configuration for the liveness probe, in order to know when your service is working correctly. Failing the probe means your service being killed/ask to be restarted.
        :param 'GetApplicationHealthchecksReadinessProbeArgs' readiness_probe: Configuration for the readiness probe, in order to know when your service is ready to receive traffic. Failing the probe means your service will stop receiving traffic.
        """
        if liveness_probe is not None:
            pulumi.set(__self__, "liveness_probe", liveness_probe)
        if readiness_probe is not None:
            pulumi.set(__self__, "readiness_probe", readiness_probe)

    @property
    @pulumi.getter(name="livenessProbe")
    def liveness_probe(self) -> Optional['GetApplicationHealthchecksLivenessProbeArgs']:
        """
        Configuration for the liveness probe, in order to know when your service is working correctly. Failing the probe means your service being killed/ask to be restarted.
        """
        return pulumi.get(self, "liveness_probe")

    @liveness_probe.setter
    def liveness_probe(self, value: Optional['GetApplicationHealthchecksLivenessProbeArgs']):
        pulumi.set(self, "liveness_probe", value)

    @property
    @pulumi.getter(name="readinessProbe")
    def readiness_probe(self) -> Optional['GetApplicationHealthchecksReadinessProbeArgs']:
        """
        Configuration for the readiness probe, in order to know when your service is ready to receive traffic. Failing the probe means your service will stop receiving traffic.
        """
        return pulumi.get(self, "readiness_probe")

    @readiness_probe.setter
    def readiness_probe(self, value: Optional['GetApplicationHealthchecksReadinessProbeArgs']):
        pulumi.set(self, "readiness_probe", value)


@pulumi.input_type
class GetApplicationHealthchecksLivenessProbeArgs:
    def __init__(__self__, *,
                 failure_threshold: int,
                 initial_delay_seconds: int,
                 period_seconds: int,
                 success_threshold: int,
                 timeout_seconds: int,
                 type: 'GetApplicationHealthchecksLivenessProbeTypeArgs'):
        """
        :param int failure_threshold: Number of time the an ok probe should fail before declaring it as failed
        :param int initial_delay_seconds: Number of seconds to wait before the first execution of the probe to be trigerred
        :param int period_seconds: Number of seconds before each execution of the probe
        :param int success_threshold: Number of time the probe should success before declaring a failed probe as ok again
        :param int timeout_seconds: Number of seconds within which the check need to respond before declaring it as a failure
        :param 'GetApplicationHealthchecksLivenessProbeTypeArgs' type: Kind of check to run for this probe. There can only be one configured at a time
        """
        pulumi.set(__self__, "failure_threshold", failure_threshold)
        pulumi.set(__self__, "initial_delay_seconds", initial_delay_seconds)
        pulumi.set(__self__, "period_seconds", period_seconds)
        pulumi.set(__self__, "success_threshold", success_threshold)
        pulumi.set(__self__, "timeout_seconds", timeout_seconds)
        pulumi.set(__self__, "type", type)

    @property
    @pulumi.getter(name="failureThreshold")
    def failure_threshold(self) -> int:
        """
        Number of time the an ok probe should fail before declaring it as failed
        """
        return pulumi.get(self, "failure_threshold")

    @failure_threshold.setter
    def failure_threshold(self, value: int):
        pulumi.set(self, "failure_threshold", value)

    @property
    @pulumi.getter(name="initialDelaySeconds")
    def initial_delay_seconds(self) -> int:
        """
        Number of seconds to wait before the first execution of the probe to be trigerred
        """
        return pulumi.get(self, "initial_delay_seconds")

    @initial_delay_seconds.setter
    def initial_delay_seconds(self, value: int):
        pulumi.set(self, "initial_delay_seconds", value)

    @property
    @pulumi.getter(name="periodSeconds")
    def period_seconds(self) -> int:
        """
        Number of seconds before each execution of the probe
        """
        return pulumi.get(self, "period_seconds")

    @period_seconds.setter
    def period_seconds(self, value: int):
        pulumi.set(self, "period_seconds", value)

    @property
    @pulumi.getter(name="successThreshold")
    def success_threshold(self) -> int:
        """
        Number of time the probe should success before declaring a failed probe as ok again
        """
        return pulumi.get(self, "success_threshold")

    @success_threshold.setter
    def success_threshold(self, value: int):
        pulumi.set(self, "success_threshold", value)

    @property
    @pulumi.getter(name="timeoutSeconds")
    def timeout_seconds(self) -> int:
        """
        Number of seconds within which the check need to respond before declaring it as a failure
        """
        return pulumi.get(self, "timeout_seconds")

    @timeout_seconds.setter
    def timeout_seconds(self, value: int):
        pulumi.set(self, "timeout_seconds", value)

    @property
    @pulumi.getter
    def type(self) -> 'GetApplicationHealthchecksLivenessProbeTypeArgs':
        """
        Kind of check to run for this probe. There can only be one configured at a time
        """
        return pulumi.get(self, "type")

    @type.setter
    def type(self, value: 'GetApplicationHealthchecksLivenessProbeTypeArgs'):
        pulumi.set(self, "type", value)


@pulumi.input_type
class GetApplicationHealthchecksLivenessProbeTypeArgs:
    def __init__(__self__, *,
                 exec_: Optional['GetApplicationHealthchecksLivenessProbeTypeExecArgs'] = None,
                 grpc: Optional['GetApplicationHealthchecksLivenessProbeTypeGrpcArgs'] = None,
                 http: Optional['GetApplicationHealthchecksLivenessProbeTypeHttpArgs'] = None,
                 tcp: Optional['GetApplicationHealthchecksLivenessProbeTypeTcpArgs'] = None):
        """
        :param 'GetApplicationHealthchecksLivenessProbeTypeExecArgs' exec_: Check that the given command return an exit 0. Binary should be present in the image
        :param 'GetApplicationHealthchecksLivenessProbeTypeGrpcArgs' grpc: Check that the given port respond to GRPC call
        :param 'GetApplicationHealthchecksLivenessProbeTypeHttpArgs' http: Check that the given port respond to HTTP call (should return a 2xx response code)
        :param 'GetApplicationHealthchecksLivenessProbeTypeTcpArgs' tcp: Check that the given port accepting connection
        """
        if exec_ is not None:
            pulumi.set(__self__, "exec_", exec_)
        if grpc is not None:
            pulumi.set(__self__, "grpc", grpc)
        if http is not None:
            pulumi.set(__self__, "http", http)
        if tcp is not None:
            pulumi.set(__self__, "tcp", tcp)

    @property
    @pulumi.getter(name="exec")
    def exec_(self) -> Optional['GetApplicationHealthchecksLivenessProbeTypeExecArgs']:
        """
        Check that the given command return an exit 0. Binary should be present in the image
        """
        return pulumi.get(self, "exec_")

    @exec_.setter
    def exec_(self, value: Optional['GetApplicationHealthchecksLivenessProbeTypeExecArgs']):
        pulumi.set(self, "exec_", value)

    @property
    @pulumi.getter
    def grpc(self) -> Optional['GetApplicationHealthchecksLivenessProbeTypeGrpcArgs']:
        """
        Check that the given port respond to GRPC call
        """
        return pulumi.get(self, "grpc")

    @grpc.setter
    def grpc(self, value: Optional['GetApplicationHealthchecksLivenessProbeTypeGrpcArgs']):
        pulumi.set(self, "grpc", value)

    @property
    @pulumi.getter
    def http(self) -> Optional['GetApplicationHealthchecksLivenessProbeTypeHttpArgs']:
        """
        Check that the given port respond to HTTP call (should return a 2xx response code)
        """
        return pulumi.get(self, "http")

    @http.setter
    def http(self, value: Optional['GetApplicationHealthchecksLivenessProbeTypeHttpArgs']):
        pulumi.set(self, "http", value)

    @property
    @pulumi.getter
    def tcp(self) -> Optional['GetApplicationHealthchecksLivenessProbeTypeTcpArgs']:
        """
        Check that the given port accepting connection
        """
        return pulumi.get(self, "tcp")

    @tcp.setter
    def tcp(self, value: Optional['GetApplicationHealthchecksLivenessProbeTypeTcpArgs']):
        pulumi.set(self, "tcp", value)


@pulumi.input_type
class GetApplicationHealthchecksLivenessProbeTypeExecArgs:
    def __init__(__self__, *,
                 commands: Sequence[str]):
        """
        :param Sequence[str] commands: The command and its arguments to exec
        """
        pulumi.set(__self__, "commands", commands)

    @property
    @pulumi.getter
    def commands(self) -> Sequence[str]:
        """
        The command and its arguments to exec
        """
        return pulumi.get(self, "commands")

    @commands.setter
    def commands(self, value: Sequence[str]):
        pulumi.set(self, "commands", value)


@pulumi.input_type
class GetApplicationHealthchecksLivenessProbeTypeGrpcArgs:
    def __init__(__self__, *,
                 port: int,
                 service: Optional[str] = None):
        """
        :param int port: The port number to try to connect to
        :param str service: The grpc service to connect to. It needs to implement grpc health protocol. https://kubernetes.io/blog/2018/10/01/health-checking-grpc-servers-on-kubernetes/#introducing-grpc-health-probe
        """
        pulumi.set(__self__, "port", port)
        if service is not None:
            pulumi.set(__self__, "service", service)

    @property
    @pulumi.getter
    def port(self) -> int:
        """
        The port number to try to connect to
        """
        return pulumi.get(self, "port")

    @port.setter
    def port(self, value: int):
        pulumi.set(self, "port", value)

    @property
    @pulumi.getter
    def service(self) -> Optional[str]:
        """
        The grpc service to connect to. It needs to implement grpc health protocol. https://kubernetes.io/blog/2018/10/01/health-checking-grpc-servers-on-kubernetes/#introducing-grpc-health-probe
        """
        return pulumi.get(self, "service")

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


@pulumi.input_type
class GetApplicationHealthchecksLivenessProbeTypeHttpArgs:
    def __init__(__self__, *,
                 port: int,
                 scheme: str,
                 path: Optional[str] = None):
        """
        :param int port: The port number to try to connect to
        :param str scheme: if the HTTP GET request should be done in HTTP or HTTPS.
        :param str path: The path that the HTTP GET request. By default it is `/`
        """
        pulumi.set(__self__, "port", port)
        pulumi.set(__self__, "scheme", scheme)
        if path is not None:
            pulumi.set(__self__, "path", path)

    @property
    @pulumi.getter
    def port(self) -> int:
        """
        The port number to try to connect to
        """
        return pulumi.get(self, "port")

    @port.setter
    def port(self, value: int):
        pulumi.set(self, "port", value)

    @property
    @pulumi.getter
    def scheme(self) -> str:
        """
        if the HTTP GET request should be done in HTTP or HTTPS.
        """
        return pulumi.get(self, "scheme")

    @scheme.setter
    def scheme(self, value: str):
        pulumi.set(self, "scheme", value)

    @property
    @pulumi.getter
    def path(self) -> Optional[str]:
        """
        The path that the HTTP GET request. By default it is `/`
        """
        return pulumi.get(self, "path")

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


@pulumi.input_type
class GetApplicationHealthchecksLivenessProbeTypeTcpArgs:
    def __init__(__self__, *,
                 port: int,
                 host: Optional[str] = None):
        """
        :param int port: The port number to try to connect to
        :param str host: Optional. If the host need to be different than localhost/pod ip
        """
        pulumi.set(__self__, "port", port)
        if host is not None:
            pulumi.set(__self__, "host", host)

    @property
    @pulumi.getter
    def port(self) -> int:
        """
        The port number to try to connect to
        """
        return pulumi.get(self, "port")

    @port.setter
    def port(self, value: int):
        pulumi.set(self, "port", value)

    @property
    @pulumi.getter
    def host(self) -> Optional[str]:
        """
        Optional. If the host need to be different than localhost/pod ip
        """
        return pulumi.get(self, "host")

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


@pulumi.input_type
class GetApplicationHealthchecksReadinessProbeArgs:
    def __init__(__self__, *,
                 failure_threshold: int,
                 initial_delay_seconds: int,
                 period_seconds: int,
                 success_threshold: int,
                 timeout_seconds: int,
                 type: 'GetApplicationHealthchecksReadinessProbeTypeArgs'):
        """
        :param int failure_threshold: Number of time the an ok probe should fail before declaring it as failed
        :param int initial_delay_seconds: Number of seconds to wait before the first execution of the probe to be trigerred
        :param int period_seconds: Number of seconds before each execution of the probe
        :param int success_threshold: Number of time the probe should success before declaring a failed probe as ok again
        :param int timeout_seconds: Number of seconds within which the check need to respond before declaring it as a failure
        :param 'GetApplicationHealthchecksReadinessProbeTypeArgs' type: Kind of check to run for this probe. There can only be one configured at a time
        """
        pulumi.set(__self__, "failure_threshold", failure_threshold)
        pulumi.set(__self__, "initial_delay_seconds", initial_delay_seconds)
        pulumi.set(__self__, "period_seconds", period_seconds)
        pulumi.set(__self__, "success_threshold", success_threshold)
        pulumi.set(__self__, "timeout_seconds", timeout_seconds)
        pulumi.set(__self__, "type", type)

    @property
    @pulumi.getter(name="failureThreshold")
    def failure_threshold(self) -> int:
        """
        Number of time the an ok probe should fail before declaring it as failed
        """
        return pulumi.get(self, "failure_threshold")

    @failure_threshold.setter
    def failure_threshold(self, value: int):
        pulumi.set(self, "failure_threshold", value)

    @property
    @pulumi.getter(name="initialDelaySeconds")
    def initial_delay_seconds(self) -> int:
        """
        Number of seconds to wait before the first execution of the probe to be trigerred
        """
        return pulumi.get(self, "initial_delay_seconds")

    @initial_delay_seconds.setter
    def initial_delay_seconds(self, value: int):
        pulumi.set(self, "initial_delay_seconds", value)

    @property
    @pulumi.getter(name="periodSeconds")
    def period_seconds(self) -> int:
        """
        Number of seconds before each execution of the probe
        """
        return pulumi.get(self, "period_seconds")

    @period_seconds.setter
    def period_seconds(self, value: int):
        pulumi.set(self, "period_seconds", value)

    @property
    @pulumi.getter(name="successThreshold")
    def success_threshold(self) -> int:
        """
        Number of time the probe should success before declaring a failed probe as ok again
        """
        return pulumi.get(self, "success_threshold")

    @success_threshold.setter
    def success_threshold(self, value: int):
        pulumi.set(self, "success_threshold", value)

    @property
    @pulumi.getter(name="timeoutSeconds")
    def timeout_seconds(self) -> int:
        """
        Number of seconds within which the check need to respond before declaring it as a failure
        """
        return pulumi.get(self, "timeout_seconds")

    @timeout_seconds.setter
    def timeout_seconds(self, value: int):
        pulumi.set(self, "timeout_seconds", value)

    @property
    @pulumi.getter
    def type(self) -> 'GetApplicationHealthchecksReadinessProbeTypeArgs':
        """
        Kind of check to run for this probe. There can only be one configured at a time
        """
        return pulumi.get(self, "type")

    @type.setter
    def type(self, value: 'GetApplicationHealthchecksReadinessProbeTypeArgs'):
        pulumi.set(self, "type", value)


@pulumi.input_type
class GetApplicationHealthchecksReadinessProbeTypeArgs:
    def __init__(__self__, *,
                 exec_: Optional['GetApplicationHealthchecksReadinessProbeTypeExecArgs'] = None,
                 grpc: Optional['GetApplicationHealthchecksReadinessProbeTypeGrpcArgs'] = None,
                 http: Optional['GetApplicationHealthchecksReadinessProbeTypeHttpArgs'] = None,
                 tcp: Optional['GetApplicationHealthchecksReadinessProbeTypeTcpArgs'] = None):
        """
        :param 'GetApplicationHealthchecksReadinessProbeTypeExecArgs' exec_: Check that the given command return an exit 0. Binary should be present in the image
        :param 'GetApplicationHealthchecksReadinessProbeTypeGrpcArgs' grpc: Check that the given port respond to GRPC call
        :param 'GetApplicationHealthchecksReadinessProbeTypeHttpArgs' http: Check that the given port respond to HTTP call (should return a 2xx response code)
        :param 'GetApplicationHealthchecksReadinessProbeTypeTcpArgs' tcp: Check that the given port accepting connection
        """
        if exec_ is not None:
            pulumi.set(__self__, "exec_", exec_)
        if grpc is not None:
            pulumi.set(__self__, "grpc", grpc)
        if http is not None:
            pulumi.set(__self__, "http", http)
        if tcp is not None:
            pulumi.set(__self__, "tcp", tcp)

    @property
    @pulumi.getter(name="exec")
    def exec_(self) -> Optional['GetApplicationHealthchecksReadinessProbeTypeExecArgs']:
        """
        Check that the given command return an exit 0. Binary should be present in the image
        """
        return pulumi.get(self, "exec_")

    @exec_.setter
    def exec_(self, value: Optional['GetApplicationHealthchecksReadinessProbeTypeExecArgs']):
        pulumi.set(self, "exec_", value)

    @property
    @pulumi.getter
    def grpc(self) -> Optional['GetApplicationHealthchecksReadinessProbeTypeGrpcArgs']:
        """
        Check that the given port respond to GRPC call
        """
        return pulumi.get(self, "grpc")

    @grpc.setter
    def grpc(self, value: Optional['GetApplicationHealthchecksReadinessProbeTypeGrpcArgs']):
        pulumi.set(self, "grpc", value)

    @property
    @pulumi.getter
    def http(self) -> Optional['GetApplicationHealthchecksReadinessProbeTypeHttpArgs']:
        """
        Check that the given port respond to HTTP call (should return a 2xx response code)
        """
        return pulumi.get(self, "http")

    @http.setter
    def http(self, value: Optional['GetApplicationHealthchecksReadinessProbeTypeHttpArgs']):
        pulumi.set(self, "http", value)

    @property
    @pulumi.getter
    def tcp(self) -> Optional['GetApplicationHealthchecksReadinessProbeTypeTcpArgs']:
        """
        Check that the given port accepting connection
        """
        return pulumi.get(self, "tcp")

    @tcp.setter
    def tcp(self, value: Optional['GetApplicationHealthchecksReadinessProbeTypeTcpArgs']):
        pulumi.set(self, "tcp", value)


@pulumi.input_type
class GetApplicationHealthchecksReadinessProbeTypeExecArgs:
    def __init__(__self__, *,
                 commands: Sequence[str]):
        """
        :param Sequence[str] commands: The command and its arguments to exec
        """
        pulumi.set(__self__, "commands", commands)

    @property
    @pulumi.getter
    def commands(self) -> Sequence[str]:
        """
        The command and its arguments to exec
        """
        return pulumi.get(self, "commands")

    @commands.setter
    def commands(self, value: Sequence[str]):
        pulumi.set(self, "commands", value)


@pulumi.input_type
class GetApplicationHealthchecksReadinessProbeTypeGrpcArgs:
    def __init__(__self__, *,
                 port: int,
                 service: Optional[str] = None):
        """
        :param int port: The port number to try to connect to
        :param str service: The grpc service to connect to. It needs to implement grpc health protocol. https://kubernetes.io/blog/2018/10/01/health-checking-grpc-servers-on-kubernetes/#introducing-grpc-health-probe
        """
        pulumi.set(__self__, "port", port)
        if service is not None:
            pulumi.set(__self__, "service", service)

    @property
    @pulumi.getter
    def port(self) -> int:
        """
        The port number to try to connect to
        """
        return pulumi.get(self, "port")

    @port.setter
    def port(self, value: int):
        pulumi.set(self, "port", value)

    @property
    @pulumi.getter
    def service(self) -> Optional[str]:
        """
        The grpc service to connect to. It needs to implement grpc health protocol. https://kubernetes.io/blog/2018/10/01/health-checking-grpc-servers-on-kubernetes/#introducing-grpc-health-probe
        """
        return pulumi.get(self, "service")

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


@pulumi.input_type
class GetApplicationHealthchecksReadinessProbeTypeHttpArgs:
    def __init__(__self__, *,
                 port: int,
                 scheme: str,
                 path: Optional[str] = None):
        """
        :param int port: The port number to try to connect to
        :param str scheme: if the HTTP GET request should be done in HTTP or HTTPS.
        :param str path: The path that the HTTP GET request. By default it is `/`
        """
        pulumi.set(__self__, "port", port)
        pulumi.set(__self__, "scheme", scheme)
        if path is not None:
            pulumi.set(__self__, "path", path)

    @property
    @pulumi.getter
    def port(self) -> int:
        """
        The port number to try to connect to
        """
        return pulumi.get(self, "port")

    @port.setter
    def port(self, value: int):
        pulumi.set(self, "port", value)

    @property
    @pulumi.getter
    def scheme(self) -> str:
        """
        if the HTTP GET request should be done in HTTP or HTTPS.
        """
        return pulumi.get(self, "scheme")

    @scheme.setter
    def scheme(self, value: str):
        pulumi.set(self, "scheme", value)

    @property
    @pulumi.getter
    def path(self) -> Optional[str]:
        """
        The path that the HTTP GET request. By default it is `/`
        """
        return pulumi.get(self, "path")

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


@pulumi.input_type
class GetApplicationHealthchecksReadinessProbeTypeTcpArgs:
    def __init__(__self__, *,
                 port: int,
                 host: Optional[str] = None):
        """
        :param int port: The port number to try to connect to
        :param str host: Optional. If the host need to be different than localhost/pod ip
        """
        pulumi.set(__self__, "port", port)
        if host is not None:
            pulumi.set(__self__, "host", host)

    @property
    @pulumi.getter
    def port(self) -> int:
        """
        The port number to try to connect to
        """
        return pulumi.get(self, "port")

    @port.setter
    def port(self, value: int):
        pulumi.set(self, "port", value)

    @property
    @pulumi.getter
    def host(self) -> Optional[str]:
        """
        Optional. If the host need to be different than localhost/pod ip
        """
        return pulumi.get(self, "host")

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


@pulumi.input_type
class GetApplicationSecretArgs:
    def __init__(__self__, *,
                 id: str,
                 key: str,
                 value: str):
        """
        :param str id: Id of the secret.
        :param str key: Key of the secret.
        :param str value: Value of the secret.
        """
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

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

    @id.setter
    def id(self, value: str):
        pulumi.set(self, "id", value)

    @property
    @pulumi.getter
    def key(self) -> str:
        """
        Key of the secret.
        """
        return pulumi.get(self, "key")

    @key.setter
    def key(self, value: str):
        pulumi.set(self, "key", value)

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

    @value.setter
    def value(self, value: str):
        pulumi.set(self, "value", value)


@pulumi.input_type
class GetApplicationSecretAliasArgs:
    def __init__(__self__, *,
                 id: str,
                 key: str,
                 value: str):
        """
        :param str id: Id of the secret alias.
        :param str key: Name of the secret alias.
        :param str value: Name of the secret to alias.
        """
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        Id of the secret alias.
        """
        return pulumi.get(self, "id")

    @id.setter
    def id(self, value: str):
        pulumi.set(self, "id", value)

    @property
    @pulumi.getter
    def key(self) -> str:
        """
        Name of the secret alias.
        """
        return pulumi.get(self, "key")

    @key.setter
    def key(self, value: str):
        pulumi.set(self, "key", value)

    @property
    @pulumi.getter
    def value(self) -> str:
        """
        Name of the secret to alias.
        """
        return pulumi.get(self, "value")

    @value.setter
    def value(self, value: str):
        pulumi.set(self, "value", value)


@pulumi.input_type
class GetApplicationSecretOverrideArgs:
    def __init__(__self__, *,
                 id: str,
                 key: str,
                 value: str):
        """
        :param str id: Id of the secret override.
        :param str key: Name of the secret override.
        :param str value: Value of the secret override.
        """
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        Id of the secret override.
        """
        return pulumi.get(self, "id")

    @id.setter
    def id(self, value: str):
        pulumi.set(self, "id", value)

    @property
    @pulumi.getter
    def key(self) -> str:
        """
        Name of the secret override.
        """
        return pulumi.get(self, "key")

    @key.setter
    def key(self, value: str):
        pulumi.set(self, "key", value)

    @property
    @pulumi.getter
    def value(self) -> str:
        """
        Value of the secret override.
        """
        return pulumi.get(self, "value")

    @value.setter
    def value(self, value: str):
        pulumi.set(self, "value", value)


@pulumi.input_type
class GetApplicationStorageArgs:
    def __init__(__self__, *,
                 id: str,
                 mount_point: str,
                 size: int,
                 type: str):
        """
        :param str id: Id of the storage.
        :param str mount_point: Mount point of the storage for the application.
        :param int size: Size of the storage for the application in GB [1024MB = 1GB].
               	- Must be: `>= 1`.
        :param str type: Type of the storage for the application.
               	- Can be: `FAST_SSD`.
        """
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "mount_point", mount_point)
        pulumi.set(__self__, "size", size)
        pulumi.set(__self__, "type", type)

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

    @id.setter
    def id(self, value: str):
        pulumi.set(self, "id", value)

    @property
    @pulumi.getter(name="mountPoint")
    def mount_point(self) -> str:
        """
        Mount point of the storage for the application.
        """
        return pulumi.get(self, "mount_point")

    @mount_point.setter
    def mount_point(self, value: str):
        pulumi.set(self, "mount_point", value)

    @property
    @pulumi.getter
    def size(self) -> int:
        """
        Size of the storage for the application in GB [1024MB = 1GB].
        	- Must be: `>= 1`.
        """
        return pulumi.get(self, "size")

    @size.setter
    def size(self, value: int):
        pulumi.set(self, "size", value)

    @property
    @pulumi.getter
    def type(self) -> str:
        """
        Type of the storage for the application.
        	- Can be: `FAST_SSD`.
        """
        return pulumi.get(self, "type")

    @type.setter
    def type(self, value: str):
        pulumi.set(self, "type", value)


@pulumi.input_type
class GetClusterFeaturesArgs:
    def __init__(__self__, *,
                 static_ip: bool,
                 vpc_subnet: str):
        """
        :param bool static_ip: Static IP (AWS only) [NOTE: can't be updated after creation].
               	- Default: `false`.
        :param str vpc_subnet: Custom VPC subnet (AWS only) [NOTE: can't be updated after creation].
               	- Default: `10.0.0.0/16`.
        """
        pulumi.set(__self__, "static_ip", static_ip)
        pulumi.set(__self__, "vpc_subnet", vpc_subnet)

    @property
    @pulumi.getter(name="staticIp")
    def static_ip(self) -> bool:
        """
        Static IP (AWS only) [NOTE: can't be updated after creation].
        	- Default: `false`.
        """
        return pulumi.get(self, "static_ip")

    @static_ip.setter
    def static_ip(self, value: bool):
        pulumi.set(self, "static_ip", value)

    @property
    @pulumi.getter(name="vpcSubnet")
    def vpc_subnet(self) -> str:
        """
        Custom VPC subnet (AWS only) [NOTE: can't be updated after creation].
        	- Default: `10.0.0.0/16`.
        """
        return pulumi.get(self, "vpc_subnet")

    @vpc_subnet.setter
    def vpc_subnet(self, value: str):
        pulumi.set(self, "vpc_subnet", value)


@pulumi.input_type
class GetClusterRoutingTableArgs:
    def __init__(__self__, *,
                 description: str,
                 destination: str,
                 target: str):
        """
        :param str description: Description of the route.
        :param str destination: Destination of the route.
        :param str target: Target of the route.
        """
        pulumi.set(__self__, "description", description)
        pulumi.set(__self__, "destination", destination)
        pulumi.set(__self__, "target", target)

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

    @description.setter
    def description(self, value: str):
        pulumi.set(self, "description", value)

    @property
    @pulumi.getter
    def destination(self) -> str:
        """
        Destination of the route.
        """
        return pulumi.get(self, "destination")

    @destination.setter
    def destination(self, value: str):
        pulumi.set(self, "destination", value)

    @property
    @pulumi.getter
    def target(self) -> str:
        """
        Target of the route.
        """
        return pulumi.get(self, "target")

    @target.setter
    def target(self, value: str):
        pulumi.set(self, "target", value)


@pulumi.input_type
class GetContainerCustomDomainArgs:
    def __init__(__self__, *,
                 domain: str,
                 id: str,
                 status: str,
                 validation_domain: str):
        """
        :param str domain: Your custom domain.
        :param str id: Id of the custom domain.
        :param str status: Status of the custom domain.
        :param str validation_domain: URL provided by Qovery. You must create a CNAME on your DNS provider using that URL.
        """
        pulumi.set(__self__, "domain", domain)
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "status", status)
        pulumi.set(__self__, "validation_domain", validation_domain)

    @property
    @pulumi.getter
    def domain(self) -> str:
        """
        Your custom domain.
        """
        return pulumi.get(self, "domain")

    @domain.setter
    def domain(self, value: str):
        pulumi.set(self, "domain", value)

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        Id of the custom domain.
        """
        return pulumi.get(self, "id")

    @id.setter
    def id(self, value: str):
        pulumi.set(self, "id", value)

    @property
    @pulumi.getter
    def status(self) -> str:
        """
        Status of the custom domain.
        """
        return pulumi.get(self, "status")

    @status.setter
    def status(self, value: str):
        pulumi.set(self, "status", value)

    @property
    @pulumi.getter(name="validationDomain")
    def validation_domain(self) -> str:
        """
        URL provided by Qovery. You must create a CNAME on your DNS provider using that URL.
        """
        return pulumi.get(self, "validation_domain")

    @validation_domain.setter
    def validation_domain(self, value: str):
        pulumi.set(self, "validation_domain", value)


@pulumi.input_type
class GetContainerEnvironmentVariableArgs:
    def __init__(__self__, *,
                 id: str,
                 key: str,
                 value: str):
        """
        :param str id: Id of the environment variable.
        :param str key: Key of the environment variable.
        :param str value: Value of the environment variable.
        """
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        Id of the environment variable.
        """
        return pulumi.get(self, "id")

    @id.setter
    def id(self, value: str):
        pulumi.set(self, "id", value)

    @property
    @pulumi.getter
    def key(self) -> str:
        """
        Key of the environment variable.
        """
        return pulumi.get(self, "key")

    @key.setter
    def key(self, value: str):
        pulumi.set(self, "key", value)

    @property
    @pulumi.getter
    def value(self) -> str:
        """
        Value of the environment variable.
        """
        return pulumi.get(self, "value")

    @value.setter
    def value(self, value: str):
        pulumi.set(self, "value", value)


@pulumi.input_type
class GetContainerEnvironmentVariableAliasArgs:
    def __init__(__self__, *,
                 id: str,
                 key: str,
                 value: str):
        """
        :param str id: Id of the environment variable alias.
        :param str key: Name of the environment variable alias.
        :param str value: Name of the variable to alias.
        """
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        Id of the environment variable alias.
        """
        return pulumi.get(self, "id")

    @id.setter
    def id(self, value: str):
        pulumi.set(self, "id", value)

    @property
    @pulumi.getter
    def key(self) -> str:
        """
        Name of the environment variable alias.
        """
        return pulumi.get(self, "key")

    @key.setter
    def key(self, value: str):
        pulumi.set(self, "key", value)

    @property
    @pulumi.getter
    def value(self) -> str:
        """
        Name of the variable to alias.
        """
        return pulumi.get(self, "value")

    @value.setter
    def value(self, value: str):
        pulumi.set(self, "value", value)


@pulumi.input_type
class GetContainerEnvironmentVariableOverrideArgs:
    def __init__(__self__, *,
                 id: str,
                 key: str,
                 value: str):
        """
        :param str id: Id of the environment variable override.
        :param str key: Name of the environment variable override.
        :param str value: Value of the environment variable override.
        """
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        Id of the environment variable override.
        """
        return pulumi.get(self, "id")

    @id.setter
    def id(self, value: str):
        pulumi.set(self, "id", value)

    @property
    @pulumi.getter
    def key(self) -> str:
        """
        Name of the environment variable override.
        """
        return pulumi.get(self, "key")

    @key.setter
    def key(self, value: str):
        pulumi.set(self, "key", value)

    @property
    @pulumi.getter
    def value(self) -> str:
        """
        Value of the environment variable override.
        """
        return pulumi.get(self, "value")

    @value.setter
    def value(self, value: str):
        pulumi.set(self, "value", value)


@pulumi.input_type
class GetContainerHealthchecksArgs:
    def __init__(__self__, *,
                 liveness_probe: Optional['GetContainerHealthchecksLivenessProbeArgs'] = None,
                 readiness_probe: Optional['GetContainerHealthchecksReadinessProbeArgs'] = None):
        """
        :param 'GetContainerHealthchecksLivenessProbeArgs' liveness_probe: Configuration for the liveness probe, in order to know when your service is working correctly. Failing the probe means your service being killed/ask to be restarted.
        :param 'GetContainerHealthchecksReadinessProbeArgs' readiness_probe: Configuration for the readiness probe, in order to know when your service is ready to receive traffic. Failing the probe means your service will stop receiving traffic.
        """
        if liveness_probe is not None:
            pulumi.set(__self__, "liveness_probe", liveness_probe)
        if readiness_probe is not None:
            pulumi.set(__self__, "readiness_probe", readiness_probe)

    @property
    @pulumi.getter(name="livenessProbe")
    def liveness_probe(self) -> Optional['GetContainerHealthchecksLivenessProbeArgs']:
        """
        Configuration for the liveness probe, in order to know when your service is working correctly. Failing the probe means your service being killed/ask to be restarted.
        """
        return pulumi.get(self, "liveness_probe")

    @liveness_probe.setter
    def liveness_probe(self, value: Optional['GetContainerHealthchecksLivenessProbeArgs']):
        pulumi.set(self, "liveness_probe", value)

    @property
    @pulumi.getter(name="readinessProbe")
    def readiness_probe(self) -> Optional['GetContainerHealthchecksReadinessProbeArgs']:
        """
        Configuration for the readiness probe, in order to know when your service is ready to receive traffic. Failing the probe means your service will stop receiving traffic.
        """
        return pulumi.get(self, "readiness_probe")

    @readiness_probe.setter
    def readiness_probe(self, value: Optional['GetContainerHealthchecksReadinessProbeArgs']):
        pulumi.set(self, "readiness_probe", value)


@pulumi.input_type
class GetContainerHealthchecksLivenessProbeArgs:
    def __init__(__self__, *,
                 failure_threshold: int,
                 initial_delay_seconds: int,
                 period_seconds: int,
                 success_threshold: int,
                 timeout_seconds: int,
                 type: 'GetContainerHealthchecksLivenessProbeTypeArgs'):
        """
        :param int failure_threshold: Number of time the an ok probe should fail before declaring it as failed
        :param int initial_delay_seconds: Number of seconds to wait before the first execution of the probe to be trigerred
        :param int period_seconds: Number of seconds before each execution of the probe
        :param int success_threshold: Number of time the probe should success before declaring a failed probe as ok again
        :param int timeout_seconds: Number of seconds within which the check need to respond before declaring it as a failure
        :param 'GetContainerHealthchecksLivenessProbeTypeArgs' type: Kind of check to run for this probe. There can only be one configured at a time
        """
        pulumi.set(__self__, "failure_threshold", failure_threshold)
        pulumi.set(__self__, "initial_delay_seconds", initial_delay_seconds)
        pulumi.set(__self__, "period_seconds", period_seconds)
        pulumi.set(__self__, "success_threshold", success_threshold)
        pulumi.set(__self__, "timeout_seconds", timeout_seconds)
        pulumi.set(__self__, "type", type)

    @property
    @pulumi.getter(name="failureThreshold")
    def failure_threshold(self) -> int:
        """
        Number of time the an ok probe should fail before declaring it as failed
        """
        return pulumi.get(self, "failure_threshold")

    @failure_threshold.setter
    def failure_threshold(self, value: int):
        pulumi.set(self, "failure_threshold", value)

    @property
    @pulumi.getter(name="initialDelaySeconds")
    def initial_delay_seconds(self) -> int:
        """
        Number of seconds to wait before the first execution of the probe to be trigerred
        """
        return pulumi.get(self, "initial_delay_seconds")

    @initial_delay_seconds.setter
    def initial_delay_seconds(self, value: int):
        pulumi.set(self, "initial_delay_seconds", value)

    @property
    @pulumi.getter(name="periodSeconds")
    def period_seconds(self) -> int:
        """
        Number of seconds before each execution of the probe
        """
        return pulumi.get(self, "period_seconds")

    @period_seconds.setter
    def period_seconds(self, value: int):
        pulumi.set(self, "period_seconds", value)

    @property
    @pulumi.getter(name="successThreshold")
    def success_threshold(self) -> int:
        """
        Number of time the probe should success before declaring a failed probe as ok again
        """
        return pulumi.get(self, "success_threshold")

    @success_threshold.setter
    def success_threshold(self, value: int):
        pulumi.set(self, "success_threshold", value)

    @property
    @pulumi.getter(name="timeoutSeconds")
    def timeout_seconds(self) -> int:
        """
        Number of seconds within which the check need to respond before declaring it as a failure
        """
        return pulumi.get(self, "timeout_seconds")

    @timeout_seconds.setter
    def timeout_seconds(self, value: int):
        pulumi.set(self, "timeout_seconds", value)

    @property
    @pulumi.getter
    def type(self) -> 'GetContainerHealthchecksLivenessProbeTypeArgs':
        """
        Kind of check to run for this probe. There can only be one configured at a time
        """
        return pulumi.get(self, "type")

    @type.setter
    def type(self, value: 'GetContainerHealthchecksLivenessProbeTypeArgs'):
        pulumi.set(self, "type", value)


@pulumi.input_type
class GetContainerHealthchecksLivenessProbeTypeArgs:
    def __init__(__self__, *,
                 exec_: Optional['GetContainerHealthchecksLivenessProbeTypeExecArgs'] = None,
                 grpc: Optional['GetContainerHealthchecksLivenessProbeTypeGrpcArgs'] = None,
                 http: Optional['GetContainerHealthchecksLivenessProbeTypeHttpArgs'] = None,
                 tcp: Optional['GetContainerHealthchecksLivenessProbeTypeTcpArgs'] = None):
        """
        :param 'GetContainerHealthchecksLivenessProbeTypeExecArgs' exec_: Check that the given command return an exit 0. Binary should be present in the image
        :param 'GetContainerHealthchecksLivenessProbeTypeGrpcArgs' grpc: Check that the given port respond to GRPC call
        :param 'GetContainerHealthchecksLivenessProbeTypeHttpArgs' http: Check that the given port respond to HTTP call (should return a 2xx response code)
        :param 'GetContainerHealthchecksLivenessProbeTypeTcpArgs' tcp: Check that the given port accepting connection
        """
        if exec_ is not None:
            pulumi.set(__self__, "exec_", exec_)
        if grpc is not None:
            pulumi.set(__self__, "grpc", grpc)
        if http is not None:
            pulumi.set(__self__, "http", http)
        if tcp is not None:
            pulumi.set(__self__, "tcp", tcp)

    @property
    @pulumi.getter(name="exec")
    def exec_(self) -> Optional['GetContainerHealthchecksLivenessProbeTypeExecArgs']:
        """
        Check that the given command return an exit 0. Binary should be present in the image
        """
        return pulumi.get(self, "exec_")

    @exec_.setter
    def exec_(self, value: Optional['GetContainerHealthchecksLivenessProbeTypeExecArgs']):
        pulumi.set(self, "exec_", value)

    @property
    @pulumi.getter
    def grpc(self) -> Optional['GetContainerHealthchecksLivenessProbeTypeGrpcArgs']:
        """
        Check that the given port respond to GRPC call
        """
        return pulumi.get(self, "grpc")

    @grpc.setter
    def grpc(self, value: Optional['GetContainerHealthchecksLivenessProbeTypeGrpcArgs']):
        pulumi.set(self, "grpc", value)

    @property
    @pulumi.getter
    def http(self) -> Optional['GetContainerHealthchecksLivenessProbeTypeHttpArgs']:
        """
        Check that the given port respond to HTTP call (should return a 2xx response code)
        """
        return pulumi.get(self, "http")

    @http.setter
    def http(self, value: Optional['GetContainerHealthchecksLivenessProbeTypeHttpArgs']):
        pulumi.set(self, "http", value)

    @property
    @pulumi.getter
    def tcp(self) -> Optional['GetContainerHealthchecksLivenessProbeTypeTcpArgs']:
        """
        Check that the given port accepting connection
        """
        return pulumi.get(self, "tcp")

    @tcp.setter
    def tcp(self, value: Optional['GetContainerHealthchecksLivenessProbeTypeTcpArgs']):
        pulumi.set(self, "tcp", value)


@pulumi.input_type
class GetContainerHealthchecksLivenessProbeTypeExecArgs:
    def __init__(__self__, *,
                 commands: Sequence[str]):
        """
        :param Sequence[str] commands: The command and its arguments to exec
        """
        pulumi.set(__self__, "commands", commands)

    @property
    @pulumi.getter
    def commands(self) -> Sequence[str]:
        """
        The command and its arguments to exec
        """
        return pulumi.get(self, "commands")

    @commands.setter
    def commands(self, value: Sequence[str]):
        pulumi.set(self, "commands", value)


@pulumi.input_type
class GetContainerHealthchecksLivenessProbeTypeGrpcArgs:
    def __init__(__self__, *,
                 port: int,
                 service: Optional[str] = None):
        """
        :param int port: The port number to try to connect to
        :param str service: The grpc service to connect to. It needs to implement grpc health protocol. https://kubernetes.io/blog/2018/10/01/health-checking-grpc-servers-on-kubernetes/#introducing-grpc-health-probe
        """
        pulumi.set(__self__, "port", port)
        if service is not None:
            pulumi.set(__self__, "service", service)

    @property
    @pulumi.getter
    def port(self) -> int:
        """
        The port number to try to connect to
        """
        return pulumi.get(self, "port")

    @port.setter
    def port(self, value: int):
        pulumi.set(self, "port", value)

    @property
    @pulumi.getter
    def service(self) -> Optional[str]:
        """
        The grpc service to connect to. It needs to implement grpc health protocol. https://kubernetes.io/blog/2018/10/01/health-checking-grpc-servers-on-kubernetes/#introducing-grpc-health-probe
        """
        return pulumi.get(self, "service")

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


@pulumi.input_type
class GetContainerHealthchecksLivenessProbeTypeHttpArgs:
    def __init__(__self__, *,
                 port: int,
                 scheme: str,
                 path: Optional[str] = None):
        """
        :param int port: The port number to try to connect to
        :param str scheme: if the HTTP GET request should be done in HTTP or HTTPS.
        :param str path: The path that the HTTP GET request. By default it is `/`
        """
        pulumi.set(__self__, "port", port)
        pulumi.set(__self__, "scheme", scheme)
        if path is not None:
            pulumi.set(__self__, "path", path)

    @property
    @pulumi.getter
    def port(self) -> int:
        """
        The port number to try to connect to
        """
        return pulumi.get(self, "port")

    @port.setter
    def port(self, value: int):
        pulumi.set(self, "port", value)

    @property
    @pulumi.getter
    def scheme(self) -> str:
        """
        if the HTTP GET request should be done in HTTP or HTTPS.
        """
        return pulumi.get(self, "scheme")

    @scheme.setter
    def scheme(self, value: str):
        pulumi.set(self, "scheme", value)

    @property
    @pulumi.getter
    def path(self) -> Optional[str]:
        """
        The path that the HTTP GET request. By default it is `/`
        """
        return pulumi.get(self, "path")

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


@pulumi.input_type
class GetContainerHealthchecksLivenessProbeTypeTcpArgs:
    def __init__(__self__, *,
                 port: int,
                 host: Optional[str] = None):
        """
        :param int port: The port number to try to connect to
        :param str host: Optional. If the host need to be different than localhost/pod ip
        """
        pulumi.set(__self__, "port", port)
        if host is not None:
            pulumi.set(__self__, "host", host)

    @property
    @pulumi.getter
    def port(self) -> int:
        """
        The port number to try to connect to
        """
        return pulumi.get(self, "port")

    @port.setter
    def port(self, value: int):
        pulumi.set(self, "port", value)

    @property
    @pulumi.getter
    def host(self) -> Optional[str]:
        """
        Optional. If the host need to be different than localhost/pod ip
        """
        return pulumi.get(self, "host")

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


@pulumi.input_type
class GetContainerHealthchecksReadinessProbeArgs:
    def __init__(__self__, *,
                 failure_threshold: int,
                 initial_delay_seconds: int,
                 period_seconds: int,
                 success_threshold: int,
                 timeout_seconds: int,
                 type: 'GetContainerHealthchecksReadinessProbeTypeArgs'):
        """
        :param int failure_threshold: Number of time the an ok probe should fail before declaring it as failed
        :param int initial_delay_seconds: Number of seconds to wait before the first execution of the probe to be trigerred
        :param int period_seconds: Number of seconds before each execution of the probe
        :param int success_threshold: Number of time the probe should success before declaring a failed probe as ok again
        :param int timeout_seconds: Number of seconds within which the check need to respond before declaring it as a failure
        :param 'GetContainerHealthchecksReadinessProbeTypeArgs' type: Kind of check to run for this probe. There can only be one configured at a time
        """
        pulumi.set(__self__, "failure_threshold", failure_threshold)
        pulumi.set(__self__, "initial_delay_seconds", initial_delay_seconds)
        pulumi.set(__self__, "period_seconds", period_seconds)
        pulumi.set(__self__, "success_threshold", success_threshold)
        pulumi.set(__self__, "timeout_seconds", timeout_seconds)
        pulumi.set(__self__, "type", type)

    @property
    @pulumi.getter(name="failureThreshold")
    def failure_threshold(self) -> int:
        """
        Number of time the an ok probe should fail before declaring it as failed
        """
        return pulumi.get(self, "failure_threshold")

    @failure_threshold.setter
    def failure_threshold(self, value: int):
        pulumi.set(self, "failure_threshold", value)

    @property
    @pulumi.getter(name="initialDelaySeconds")
    def initial_delay_seconds(self) -> int:
        """
        Number of seconds to wait before the first execution of the probe to be trigerred
        """
        return pulumi.get(self, "initial_delay_seconds")

    @initial_delay_seconds.setter
    def initial_delay_seconds(self, value: int):
        pulumi.set(self, "initial_delay_seconds", value)

    @property
    @pulumi.getter(name="periodSeconds")
    def period_seconds(self) -> int:
        """
        Number of seconds before each execution of the probe
        """
        return pulumi.get(self, "period_seconds")

    @period_seconds.setter
    def period_seconds(self, value: int):
        pulumi.set(self, "period_seconds", value)

    @property
    @pulumi.getter(name="successThreshold")
    def success_threshold(self) -> int:
        """
        Number of time the probe should success before declaring a failed probe as ok again
        """
        return pulumi.get(self, "success_threshold")

    @success_threshold.setter
    def success_threshold(self, value: int):
        pulumi.set(self, "success_threshold", value)

    @property
    @pulumi.getter(name="timeoutSeconds")
    def timeout_seconds(self) -> int:
        """
        Number of seconds within which the check need to respond before declaring it as a failure
        """
        return pulumi.get(self, "timeout_seconds")

    @timeout_seconds.setter
    def timeout_seconds(self, value: int):
        pulumi.set(self, "timeout_seconds", value)

    @property
    @pulumi.getter
    def type(self) -> 'GetContainerHealthchecksReadinessProbeTypeArgs':
        """
        Kind of check to run for this probe. There can only be one configured at a time
        """
        return pulumi.get(self, "type")

    @type.setter
    def type(self, value: 'GetContainerHealthchecksReadinessProbeTypeArgs'):
        pulumi.set(self, "type", value)


@pulumi.input_type
class GetContainerHealthchecksReadinessProbeTypeArgs:
    def __init__(__self__, *,
                 exec_: Optional['GetContainerHealthchecksReadinessProbeTypeExecArgs'] = None,
                 grpc: Optional['GetContainerHealthchecksReadinessProbeTypeGrpcArgs'] = None,
                 http: Optional['GetContainerHealthchecksReadinessProbeTypeHttpArgs'] = None,
                 tcp: Optional['GetContainerHealthchecksReadinessProbeTypeTcpArgs'] = None):
        """
        :param 'GetContainerHealthchecksReadinessProbeTypeExecArgs' exec_: Check that the given command return an exit 0. Binary should be present in the image
        :param 'GetContainerHealthchecksReadinessProbeTypeGrpcArgs' grpc: Check that the given port respond to GRPC call
        :param 'GetContainerHealthchecksReadinessProbeTypeHttpArgs' http: Check that the given port respond to HTTP call (should return a 2xx response code)
        :param 'GetContainerHealthchecksReadinessProbeTypeTcpArgs' tcp: Check that the given port accepting connection
        """
        if exec_ is not None:
            pulumi.set(__self__, "exec_", exec_)
        if grpc is not None:
            pulumi.set(__self__, "grpc", grpc)
        if http is not None:
            pulumi.set(__self__, "http", http)
        if tcp is not None:
            pulumi.set(__self__, "tcp", tcp)

    @property
    @pulumi.getter(name="exec")
    def exec_(self) -> Optional['GetContainerHealthchecksReadinessProbeTypeExecArgs']:
        """
        Check that the given command return an exit 0. Binary should be present in the image
        """
        return pulumi.get(self, "exec_")

    @exec_.setter
    def exec_(self, value: Optional['GetContainerHealthchecksReadinessProbeTypeExecArgs']):
        pulumi.set(self, "exec_", value)

    @property
    @pulumi.getter
    def grpc(self) -> Optional['GetContainerHealthchecksReadinessProbeTypeGrpcArgs']:
        """
        Check that the given port respond to GRPC call
        """
        return pulumi.get(self, "grpc")

    @grpc.setter
    def grpc(self, value: Optional['GetContainerHealthchecksReadinessProbeTypeGrpcArgs']):
        pulumi.set(self, "grpc", value)

    @property
    @pulumi.getter
    def http(self) -> Optional['GetContainerHealthchecksReadinessProbeTypeHttpArgs']:
        """
        Check that the given port respond to HTTP call (should return a 2xx response code)
        """
        return pulumi.get(self, "http")

    @http.setter
    def http(self, value: Optional['GetContainerHealthchecksReadinessProbeTypeHttpArgs']):
        pulumi.set(self, "http", value)

    @property
    @pulumi.getter
    def tcp(self) -> Optional['GetContainerHealthchecksReadinessProbeTypeTcpArgs']:
        """
        Check that the given port accepting connection
        """
        return pulumi.get(self, "tcp")

    @tcp.setter
    def tcp(self, value: Optional['GetContainerHealthchecksReadinessProbeTypeTcpArgs']):
        pulumi.set(self, "tcp", value)


@pulumi.input_type
class GetContainerHealthchecksReadinessProbeTypeExecArgs:
    def __init__(__self__, *,
                 commands: Sequence[str]):
        """
        :param Sequence[str] commands: The command and its arguments to exec
        """
        pulumi.set(__self__, "commands", commands)

    @property
    @pulumi.getter
    def commands(self) -> Sequence[str]:
        """
        The command and its arguments to exec
        """
        return pulumi.get(self, "commands")

    @commands.setter
    def commands(self, value: Sequence[str]):
        pulumi.set(self, "commands", value)


@pulumi.input_type
class GetContainerHealthchecksReadinessProbeTypeGrpcArgs:
    def __init__(__self__, *,
                 port: int,
                 service: Optional[str] = None):
        """
        :param int port: The port number to try to connect to
        :param str service: The grpc service to connect to. It needs to implement grpc health protocol. https://kubernetes.io/blog/2018/10/01/health-checking-grpc-servers-on-kubernetes/#introducing-grpc-health-probe
        """
        pulumi.set(__self__, "port", port)
        if service is not None:
            pulumi.set(__self__, "service", service)

    @property
    @pulumi.getter
    def port(self) -> int:
        """
        The port number to try to connect to
        """
        return pulumi.get(self, "port")

    @port.setter
    def port(self, value: int):
        pulumi.set(self, "port", value)

    @property
    @pulumi.getter
    def service(self) -> Optional[str]:
        """
        The grpc service to connect to. It needs to implement grpc health protocol. https://kubernetes.io/blog/2018/10/01/health-checking-grpc-servers-on-kubernetes/#introducing-grpc-health-probe
        """
        return pulumi.get(self, "service")

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


@pulumi.input_type
class GetContainerHealthchecksReadinessProbeTypeHttpArgs:
    def __init__(__self__, *,
                 port: int,
                 scheme: str,
                 path: Optional[str] = None):
        """
        :param int port: The port number to try to connect to
        :param str scheme: if the HTTP GET request should be done in HTTP or HTTPS.
        :param str path: The path that the HTTP GET request. By default it is `/`
        """
        pulumi.set(__self__, "port", port)
        pulumi.set(__self__, "scheme", scheme)
        if path is not None:
            pulumi.set(__self__, "path", path)

    @property
    @pulumi.getter
    def port(self) -> int:
        """
        The port number to try to connect to
        """
        return pulumi.get(self, "port")

    @port.setter
    def port(self, value: int):
        pulumi.set(self, "port", value)

    @property
    @pulumi.getter
    def scheme(self) -> str:
        """
        if the HTTP GET request should be done in HTTP or HTTPS.
        """
        return pulumi.get(self, "scheme")

    @scheme.setter
    def scheme(self, value: str):
        pulumi.set(self, "scheme", value)

    @property
    @pulumi.getter
    def path(self) -> Optional[str]:
        """
        The path that the HTTP GET request. By default it is `/`
        """
        return pulumi.get(self, "path")

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


@pulumi.input_type
class GetContainerHealthchecksReadinessProbeTypeTcpArgs:
    def __init__(__self__, *,
                 port: int,
                 host: Optional[str] = None):
        """
        :param int port: The port number to try to connect to
        :param str host: Optional. If the host need to be different than localhost/pod ip
        """
        pulumi.set(__self__, "port", port)
        if host is not None:
            pulumi.set(__self__, "host", host)

    @property
    @pulumi.getter
    def port(self) -> int:
        """
        The port number to try to connect to
        """
        return pulumi.get(self, "port")

    @port.setter
    def port(self, value: int):
        pulumi.set(self, "port", value)

    @property
    @pulumi.getter
    def host(self) -> Optional[str]:
        """
        Optional. If the host need to be different than localhost/pod ip
        """
        return pulumi.get(self, "host")

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


@pulumi.input_type
class GetContainerPortArgs:
    def __init__(__self__, *,
                 external_port: int,
                 id: str,
                 internal_port: int,
                 is_default: bool,
                 name: str,
                 protocol: str,
                 publicly_accessible: bool):
        """
        :param int external_port: External port of the container.
               	- Required if: `ports.publicly_accessible=true`.
               	- Must be: `>= 1` and `<= 65535`.
        :param str id: Id of the port.
        :param int internal_port: Internal port of the container.
               	- Must be: `>= 1` and `<= 65535`.
        :param bool is_default: If this port will be used for the root domain
        :param str name: Name of the port.
        :param str protocol: Protocol used for the port of the container.
               	- Can be: `GRPC`, `HTTP`, `TCP`, `UDP`.
               	- Default: `HTTP`.
        :param bool publicly_accessible: Specify if the port is exposed to the world or not for this container.
        """
        pulumi.set(__self__, "external_port", external_port)
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "internal_port", internal_port)
        pulumi.set(__self__, "is_default", is_default)
        pulumi.set(__self__, "name", name)
        pulumi.set(__self__, "protocol", protocol)
        pulumi.set(__self__, "publicly_accessible", publicly_accessible)

    @property
    @pulumi.getter(name="externalPort")
    def external_port(self) -> int:
        """
        External port of the container.
        	- Required if: `ports.publicly_accessible=true`.
        	- Must be: `>= 1` and `<= 65535`.
        """
        return pulumi.get(self, "external_port")

    @external_port.setter
    def external_port(self, value: int):
        pulumi.set(self, "external_port", value)

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

    @id.setter
    def id(self, value: str):
        pulumi.set(self, "id", value)

    @property
    @pulumi.getter(name="internalPort")
    def internal_port(self) -> int:
        """
        Internal port of the container.
        	- Must be: `>= 1` and `<= 65535`.
        """
        return pulumi.get(self, "internal_port")

    @internal_port.setter
    def internal_port(self, value: int):
        pulumi.set(self, "internal_port", value)

    @property
    @pulumi.getter(name="isDefault")
    def is_default(self) -> bool:
        """
        If this port will be used for the root domain
        """
        return pulumi.get(self, "is_default")

    @is_default.setter
    def is_default(self, value: bool):
        pulumi.set(self, "is_default", value)

    @property
    @pulumi.getter
    def name(self) -> str:
        """
        Name of the port.
        """
        return pulumi.get(self, "name")

    @name.setter
    def name(self, value: str):
        pulumi.set(self, "name", value)

    @property
    @pulumi.getter
    def protocol(self) -> str:
        """
        Protocol used for the port of the container.
        	- Can be: `GRPC`, `HTTP`, `TCP`, `UDP`.
        	- Default: `HTTP`.
        """
        return pulumi.get(self, "protocol")

    @protocol.setter
    def protocol(self, value: str):
        pulumi.set(self, "protocol", value)

    @property
    @pulumi.getter(name="publiclyAccessible")
    def publicly_accessible(self) -> bool:
        """
        Specify if the port is exposed to the world or not for this container.
        """
        return pulumi.get(self, "publicly_accessible")

    @publicly_accessible.setter
    def publicly_accessible(self, value: bool):
        pulumi.set(self, "publicly_accessible", value)


@pulumi.input_type
class GetContainerSecretArgs:
    def __init__(__self__, *,
                 id: str,
                 key: str,
                 value: str):
        """
        :param str id: Id of the secret.
        :param str key: Key of the secret.
        :param str value: Value of the secret.
        """
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

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

    @id.setter
    def id(self, value: str):
        pulumi.set(self, "id", value)

    @property
    @pulumi.getter
    def key(self) -> str:
        """
        Key of the secret.
        """
        return pulumi.get(self, "key")

    @key.setter
    def key(self, value: str):
        pulumi.set(self, "key", value)

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

    @value.setter
    def value(self, value: str):
        pulumi.set(self, "value", value)


@pulumi.input_type
class GetContainerSecretAliasArgs:
    def __init__(__self__, *,
                 id: str,
                 key: str,
                 value: str):
        """
        :param str id: Id of the secret alias.
        :param str key: Name of the secret alias.
        :param str value: Name of the secret to alias.
        """
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        Id of the secret alias.
        """
        return pulumi.get(self, "id")

    @id.setter
    def id(self, value: str):
        pulumi.set(self, "id", value)

    @property
    @pulumi.getter
    def key(self) -> str:
        """
        Name of the secret alias.
        """
        return pulumi.get(self, "key")

    @key.setter
    def key(self, value: str):
        pulumi.set(self, "key", value)

    @property
    @pulumi.getter
    def value(self) -> str:
        """
        Name of the secret to alias.
        """
        return pulumi.get(self, "value")

    @value.setter
    def value(self, value: str):
        pulumi.set(self, "value", value)


@pulumi.input_type
class GetContainerSecretOverrideArgs:
    def __init__(__self__, *,
                 id: str,
                 key: str,
                 value: str):
        """
        :param str id: Id of the secret override.
        :param str key: Name of the secret override.
        :param str value: Value of the secret override.
        """
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        Id of the secret override.
        """
        return pulumi.get(self, "id")

    @id.setter
    def id(self, value: str):
        pulumi.set(self, "id", value)

    @property
    @pulumi.getter
    def key(self) -> str:
        """
        Name of the secret override.
        """
        return pulumi.get(self, "key")

    @key.setter
    def key(self, value: str):
        pulumi.set(self, "key", value)

    @property
    @pulumi.getter
    def value(self) -> str:
        """
        Value of the secret override.
        """
        return pulumi.get(self, "value")

    @value.setter
    def value(self, value: str):
        pulumi.set(self, "value", value)


@pulumi.input_type
class GetContainerStorageArgs:
    def __init__(__self__, *,
                 id: str,
                 mount_point: str,
                 size: int,
                 type: str):
        """
        :param str id: Id of the storage.
        :param str mount_point: Mount point of the storage for the container.
        :param int size: Size of the storage for the container in GB [1024MB = 1GB].
               	- Must be: `>= 1`.
        :param str type: Type of the storage for the container.
               	- Can be: `FAST_SSD`.
        """
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "mount_point", mount_point)
        pulumi.set(__self__, "size", size)
        pulumi.set(__self__, "type", type)

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

    @id.setter
    def id(self, value: str):
        pulumi.set(self, "id", value)

    @property
    @pulumi.getter(name="mountPoint")
    def mount_point(self) -> str:
        """
        Mount point of the storage for the container.
        """
        return pulumi.get(self, "mount_point")

    @mount_point.setter
    def mount_point(self, value: str):
        pulumi.set(self, "mount_point", value)

    @property
    @pulumi.getter
    def size(self) -> int:
        """
        Size of the storage for the container in GB [1024MB = 1GB].
        	- Must be: `>= 1`.
        """
        return pulumi.get(self, "size")

    @size.setter
    def size(self, value: int):
        pulumi.set(self, "size", value)

    @property
    @pulumi.getter
    def type(self) -> str:
        """
        Type of the storage for the container.
        	- Can be: `FAST_SSD`.
        """
        return pulumi.get(self, "type")

    @type.setter
    def type(self, value: str):
        pulumi.set(self, "type", value)


@pulumi.input_type
class GetEnvironmentEnvironmentVariableArgs:
    def __init__(__self__, *,
                 id: str,
                 key: str,
                 value: str):
        """
        :param str id: Id of the environment variable.
        :param str key: Key of the environment variable.
        :param str value: Value of the environment variable.
        """
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        Id of the environment variable.
        """
        return pulumi.get(self, "id")

    @id.setter
    def id(self, value: str):
        pulumi.set(self, "id", value)

    @property
    @pulumi.getter
    def key(self) -> str:
        """
        Key of the environment variable.
        """
        return pulumi.get(self, "key")

    @key.setter
    def key(self, value: str):
        pulumi.set(self, "key", value)

    @property
    @pulumi.getter
    def value(self) -> str:
        """
        Value of the environment variable.
        """
        return pulumi.get(self, "value")

    @value.setter
    def value(self, value: str):
        pulumi.set(self, "value", value)


@pulumi.input_type
class GetEnvironmentEnvironmentVariableAliasArgs:
    def __init__(__self__, *,
                 id: str,
                 key: str,
                 value: str):
        """
        :param str id: Id of the environment variable alias.
        :param str key: Name of the environment variable alias.
        :param str value: Name of the variable to alias.
        """
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        Id of the environment variable alias.
        """
        return pulumi.get(self, "id")

    @id.setter
    def id(self, value: str):
        pulumi.set(self, "id", value)

    @property
    @pulumi.getter
    def key(self) -> str:
        """
        Name of the environment variable alias.
        """
        return pulumi.get(self, "key")

    @key.setter
    def key(self, value: str):
        pulumi.set(self, "key", value)

    @property
    @pulumi.getter
    def value(self) -> str:
        """
        Name of the variable to alias.
        """
        return pulumi.get(self, "value")

    @value.setter
    def value(self, value: str):
        pulumi.set(self, "value", value)


@pulumi.input_type
class GetEnvironmentEnvironmentVariableOverrideArgs:
    def __init__(__self__, *,
                 id: str,
                 key: str,
                 value: str):
        """
        :param str id: Id of the environment variable override.
        :param str key: Name of the environment variable override.
        :param str value: Value of the environment variable override.
        """
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        Id of the environment variable override.
        """
        return pulumi.get(self, "id")

    @id.setter
    def id(self, value: str):
        pulumi.set(self, "id", value)

    @property
    @pulumi.getter
    def key(self) -> str:
        """
        Name of the environment variable override.
        """
        return pulumi.get(self, "key")

    @key.setter
    def key(self, value: str):
        pulumi.set(self, "key", value)

    @property
    @pulumi.getter
    def value(self) -> str:
        """
        Value of the environment variable override.
        """
        return pulumi.get(self, "value")

    @value.setter
    def value(self, value: str):
        pulumi.set(self, "value", value)


@pulumi.input_type
class GetEnvironmentSecretArgs:
    def __init__(__self__, *,
                 id: str,
                 key: str,
                 value: str):
        """
        :param str id: Id of the secret.
        :param str key: Key of the secret.
        :param str value: Value of the secret.
        """
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

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

    @id.setter
    def id(self, value: str):
        pulumi.set(self, "id", value)

    @property
    @pulumi.getter
    def key(self) -> str:
        """
        Key of the secret.
        """
        return pulumi.get(self, "key")

    @key.setter
    def key(self, value: str):
        pulumi.set(self, "key", value)

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

    @value.setter
    def value(self, value: str):
        pulumi.set(self, "value", value)


@pulumi.input_type
class GetEnvironmentSecretAliasArgs:
    def __init__(__self__, *,
                 id: str,
                 key: str,
                 value: str):
        """
        :param str id: Id of the secret alias.
        :param str key: Name of the secret alias.
        :param str value: Name of the secret to alias.
        """
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        Id of the secret alias.
        """
        return pulumi.get(self, "id")

    @id.setter
    def id(self, value: str):
        pulumi.set(self, "id", value)

    @property
    @pulumi.getter
    def key(self) -> str:
        """
        Name of the secret alias.
        """
        return pulumi.get(self, "key")

    @key.setter
    def key(self, value: str):
        pulumi.set(self, "key", value)

    @property
    @pulumi.getter
    def value(self) -> str:
        """
        Name of the secret to alias.
        """
        return pulumi.get(self, "value")

    @value.setter
    def value(self, value: str):
        pulumi.set(self, "value", value)


@pulumi.input_type
class GetEnvironmentSecretOverrideArgs:
    def __init__(__self__, *,
                 id: str,
                 key: str,
                 value: str):
        """
        :param str id: Id of the secret override.
        :param str key: Name of the secret override.
        :param str value: Value of the secret override.
        """
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        Id of the secret override.
        """
        return pulumi.get(self, "id")

    @id.setter
    def id(self, value: str):
        pulumi.set(self, "id", value)

    @property
    @pulumi.getter
    def key(self) -> str:
        """
        Name of the secret override.
        """
        return pulumi.get(self, "key")

    @key.setter
    def key(self, value: str):
        pulumi.set(self, "key", value)

    @property
    @pulumi.getter
    def value(self) -> str:
        """
        Value of the secret override.
        """
        return pulumi.get(self, "value")

    @value.setter
    def value(self, value: str):
        pulumi.set(self, "value", value)


@pulumi.input_type
class GetHelmDeploymentRestrictionArgs:
    def __init__(__self__, *,
                 id: str,
                 mode: str,
                 type: str,
                 value: str):
        """
        :param str id: Id of the deployment restriction
        :param str mode: Can be EXCLUDE or MATCH
        :param str type: Currently, only PATH is accepted
        :param str value: Value of the deployment restriction
        """
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "mode", mode)
        pulumi.set(__self__, "type", type)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        Id of the deployment restriction
        """
        return pulumi.get(self, "id")

    @id.setter
    def id(self, value: str):
        pulumi.set(self, "id", value)

    @property
    @pulumi.getter
    def mode(self) -> str:
        """
        Can be EXCLUDE or MATCH
        """
        return pulumi.get(self, "mode")

    @mode.setter
    def mode(self, value: str):
        pulumi.set(self, "mode", value)

    @property
    @pulumi.getter
    def type(self) -> str:
        """
        Currently, only PATH is accepted
        """
        return pulumi.get(self, "type")

    @type.setter
    def type(self, value: str):
        pulumi.set(self, "type", value)

    @property
    @pulumi.getter
    def value(self) -> str:
        """
        Value of the deployment restriction
        """
        return pulumi.get(self, "value")

    @value.setter
    def value(self, value: str):
        pulumi.set(self, "value", value)


@pulumi.input_type
class GetHelmEnvironmentVariableArgs:
    def __init__(__self__, *,
                 id: str,
                 key: str,
                 value: str):
        """
        :param str id: Id of the environment variable.
        :param str key: Key of the environment variable.
        :param str value: Value of the environment variable.
        """
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        Id of the environment variable.
        """
        return pulumi.get(self, "id")

    @id.setter
    def id(self, value: str):
        pulumi.set(self, "id", value)

    @property
    @pulumi.getter
    def key(self) -> str:
        """
        Key of the environment variable.
        """
        return pulumi.get(self, "key")

    @key.setter
    def key(self, value: str):
        pulumi.set(self, "key", value)

    @property
    @pulumi.getter
    def value(self) -> str:
        """
        Value of the environment variable.
        """
        return pulumi.get(self, "value")

    @value.setter
    def value(self, value: str):
        pulumi.set(self, "value", value)


@pulumi.input_type
class GetHelmEnvironmentVariableAliasArgs:
    def __init__(__self__, *,
                 id: str,
                 key: str,
                 value: str):
        """
        :param str id: Id of the environment variable alias.
        :param str key: Name of the environment variable alias.
        :param str value: Name of the variable to alias.
        """
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        Id of the environment variable alias.
        """
        return pulumi.get(self, "id")

    @id.setter
    def id(self, value: str):
        pulumi.set(self, "id", value)

    @property
    @pulumi.getter
    def key(self) -> str:
        """
        Name of the environment variable alias.
        """
        return pulumi.get(self, "key")

    @key.setter
    def key(self, value: str):
        pulumi.set(self, "key", value)

    @property
    @pulumi.getter
    def value(self) -> str:
        """
        Name of the variable to alias.
        """
        return pulumi.get(self, "value")

    @value.setter
    def value(self, value: str):
        pulumi.set(self, "value", value)


@pulumi.input_type
class GetHelmEnvironmentVariableOverrideArgs:
    def __init__(__self__, *,
                 id: str,
                 key: str,
                 value: str):
        """
        :param str id: Id of the environment variable override.
        :param str key: Name of the environment variable override.
        :param str value: Value of the environment variable override.
        """
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        Id of the environment variable override.
        """
        return pulumi.get(self, "id")

    @id.setter
    def id(self, value: str):
        pulumi.set(self, "id", value)

    @property
    @pulumi.getter
    def key(self) -> str:
        """
        Name of the environment variable override.
        """
        return pulumi.get(self, "key")

    @key.setter
    def key(self, value: str):
        pulumi.set(self, "key", value)

    @property
    @pulumi.getter
    def value(self) -> str:
        """
        Value of the environment variable override.
        """
        return pulumi.get(self, "value")

    @value.setter
    def value(self, value: str):
        pulumi.set(self, "value", value)


@pulumi.input_type
class GetHelmSecretArgs:
    def __init__(__self__, *,
                 id: str,
                 key: str,
                 value: str):
        """
        :param str id: Id of the secret.
        :param str key: Key of the secret.
        :param str value: Value of the secret.
        """
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

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

    @id.setter
    def id(self, value: str):
        pulumi.set(self, "id", value)

    @property
    @pulumi.getter
    def key(self) -> str:
        """
        Key of the secret.
        """
        return pulumi.get(self, "key")

    @key.setter
    def key(self, value: str):
        pulumi.set(self, "key", value)

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

    @value.setter
    def value(self, value: str):
        pulumi.set(self, "value", value)


@pulumi.input_type
class GetHelmSecretAliasArgs:
    def __init__(__self__, *,
                 id: str,
                 key: str,
                 value: str):
        """
        :param str id: Id of the secret alias.
        :param str key: Name of the secret alias.
        :param str value: Name of the secret to alias.
        """
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        Id of the secret alias.
        """
        return pulumi.get(self, "id")

    @id.setter
    def id(self, value: str):
        pulumi.set(self, "id", value)

    @property
    @pulumi.getter
    def key(self) -> str:
        """
        Name of the secret alias.
        """
        return pulumi.get(self, "key")

    @key.setter
    def key(self, value: str):
        pulumi.set(self, "key", value)

    @property
    @pulumi.getter
    def value(self) -> str:
        """
        Name of the secret to alias.
        """
        return pulumi.get(self, "value")

    @value.setter
    def value(self, value: str):
        pulumi.set(self, "value", value)


@pulumi.input_type
class GetHelmSecretOverrideArgs:
    def __init__(__self__, *,
                 id: str,
                 key: str,
                 value: str):
        """
        :param str id: Id of the secret override.
        :param str key: Name of the secret override.
        :param str value: Value of the secret override.
        """
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        Id of the secret override.
        """
        return pulumi.get(self, "id")

    @id.setter
    def id(self, value: str):
        pulumi.set(self, "id", value)

    @property
    @pulumi.getter
    def key(self) -> str:
        """
        Name of the secret override.
        """
        return pulumi.get(self, "key")

    @key.setter
    def key(self, value: str):
        pulumi.set(self, "key", value)

    @property
    @pulumi.getter
    def value(self) -> str:
        """
        Value of the secret override.
        """
        return pulumi.get(self, "value")

    @value.setter
    def value(self, value: str):
        pulumi.set(self, "value", value)


@pulumi.input_type
class GetJobDeploymentRestrictionArgs:
    def __init__(__self__, *,
                 id: str,
                 mode: str,
                 type: str,
                 value: str):
        """
        :param str id: Id of the deployment restriction
        :param str mode: Can be EXCLUDE or MATCH
        :param str type: Currently, only PATH is accepted
        :param str value: Value of the deployment restriction
        """
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "mode", mode)
        pulumi.set(__self__, "type", type)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        Id of the deployment restriction
        """
        return pulumi.get(self, "id")

    @id.setter
    def id(self, value: str):
        pulumi.set(self, "id", value)

    @property
    @pulumi.getter
    def mode(self) -> str:
        """
        Can be EXCLUDE or MATCH
        """
        return pulumi.get(self, "mode")

    @mode.setter
    def mode(self, value: str):
        pulumi.set(self, "mode", value)

    @property
    @pulumi.getter
    def type(self) -> str:
        """
        Currently, only PATH is accepted
        """
        return pulumi.get(self, "type")

    @type.setter
    def type(self, value: str):
        pulumi.set(self, "type", value)

    @property
    @pulumi.getter
    def value(self) -> str:
        """
        Value of the deployment restriction
        """
        return pulumi.get(self, "value")

    @value.setter
    def value(self, value: str):
        pulumi.set(self, "value", value)


@pulumi.input_type
class GetJobEnvironmentVariableArgs:
    def __init__(__self__, *,
                 id: str,
                 key: str,
                 value: str):
        """
        :param str id: Id of the environment variable.
        :param str key: Key of the environment variable.
        :param str value: Value of the environment variable.
        """
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        Id of the environment variable.
        """
        return pulumi.get(self, "id")

    @id.setter
    def id(self, value: str):
        pulumi.set(self, "id", value)

    @property
    @pulumi.getter
    def key(self) -> str:
        """
        Key of the environment variable.
        """
        return pulumi.get(self, "key")

    @key.setter
    def key(self, value: str):
        pulumi.set(self, "key", value)

    @property
    @pulumi.getter
    def value(self) -> str:
        """
        Value of the environment variable.
        """
        return pulumi.get(self, "value")

    @value.setter
    def value(self, value: str):
        pulumi.set(self, "value", value)


@pulumi.input_type
class GetJobEnvironmentVariableAliasArgs:
    def __init__(__self__, *,
                 id: str,
                 key: str,
                 value: str):
        """
        :param str id: Id of the environment variable alias.
        :param str key: Name of the environment variable alias.
        :param str value: Name of the variable to alias.
        """
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        Id of the environment variable alias.
        """
        return pulumi.get(self, "id")

    @id.setter
    def id(self, value: str):
        pulumi.set(self, "id", value)

    @property
    @pulumi.getter
    def key(self) -> str:
        """
        Name of the environment variable alias.
        """
        return pulumi.get(self, "key")

    @key.setter
    def key(self, value: str):
        pulumi.set(self, "key", value)

    @property
    @pulumi.getter
    def value(self) -> str:
        """
        Name of the variable to alias.
        """
        return pulumi.get(self, "value")

    @value.setter
    def value(self, value: str):
        pulumi.set(self, "value", value)


@pulumi.input_type
class GetJobEnvironmentVariableOverrideArgs:
    def __init__(__self__, *,
                 id: str,
                 key: str,
                 value: str):
        """
        :param str id: Id of the environment variable override.
        :param str key: Name of the environment variable override.
        :param str value: Value of the environment variable override.
        """
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        Id of the environment variable override.
        """
        return pulumi.get(self, "id")

    @id.setter
    def id(self, value: str):
        pulumi.set(self, "id", value)

    @property
    @pulumi.getter
    def key(self) -> str:
        """
        Name of the environment variable override.
        """
        return pulumi.get(self, "key")

    @key.setter
    def key(self, value: str):
        pulumi.set(self, "key", value)

    @property
    @pulumi.getter
    def value(self) -> str:
        """
        Value of the environment variable override.
        """
        return pulumi.get(self, "value")

    @value.setter
    def value(self, value: str):
        pulumi.set(self, "value", value)


@pulumi.input_type
class GetJobHealthchecksArgs:
    def __init__(__self__, *,
                 liveness_probe: Optional['GetJobHealthchecksLivenessProbeArgs'] = None,
                 readiness_probe: Optional['GetJobHealthchecksReadinessProbeArgs'] = None):
        """
        :param 'GetJobHealthchecksLivenessProbeArgs' liveness_probe: Configuration for the liveness probe, in order to know when your service is working correctly. Failing the probe means your service being killed/ask to be restarted.
        :param 'GetJobHealthchecksReadinessProbeArgs' readiness_probe: Configuration for the readiness probe, in order to know when your service is ready to receive traffic. Failing the probe means your service will stop receiving traffic.
        """
        if liveness_probe is not None:
            pulumi.set(__self__, "liveness_probe", liveness_probe)
        if readiness_probe is not None:
            pulumi.set(__self__, "readiness_probe", readiness_probe)

    @property
    @pulumi.getter(name="livenessProbe")
    def liveness_probe(self) -> Optional['GetJobHealthchecksLivenessProbeArgs']:
        """
        Configuration for the liveness probe, in order to know when your service is working correctly. Failing the probe means your service being killed/ask to be restarted.
        """
        return pulumi.get(self, "liveness_probe")

    @liveness_probe.setter
    def liveness_probe(self, value: Optional['GetJobHealthchecksLivenessProbeArgs']):
        pulumi.set(self, "liveness_probe", value)

    @property
    @pulumi.getter(name="readinessProbe")
    def readiness_probe(self) -> Optional['GetJobHealthchecksReadinessProbeArgs']:
        """
        Configuration for the readiness probe, in order to know when your service is ready to receive traffic. Failing the probe means your service will stop receiving traffic.
        """
        return pulumi.get(self, "readiness_probe")

    @readiness_probe.setter
    def readiness_probe(self, value: Optional['GetJobHealthchecksReadinessProbeArgs']):
        pulumi.set(self, "readiness_probe", value)


@pulumi.input_type
class GetJobHealthchecksLivenessProbeArgs:
    def __init__(__self__, *,
                 failure_threshold: int,
                 initial_delay_seconds: int,
                 period_seconds: int,
                 success_threshold: int,
                 timeout_seconds: int,
                 type: 'GetJobHealthchecksLivenessProbeTypeArgs'):
        """
        :param int failure_threshold: Number of time the an ok probe should fail before declaring it as failed
        :param int initial_delay_seconds: Number of seconds to wait before the first execution of the probe to be trigerred
        :param int period_seconds: Number of seconds before each execution of the probe
        :param int success_threshold: Number of time the probe should success before declaring a failed probe as ok again
        :param int timeout_seconds: Number of seconds within which the check need to respond before declaring it as a failure
        :param 'GetJobHealthchecksLivenessProbeTypeArgs' type: Kind of check to run for this probe. There can only be one configured at a time
        """
        pulumi.set(__self__, "failure_threshold", failure_threshold)
        pulumi.set(__self__, "initial_delay_seconds", initial_delay_seconds)
        pulumi.set(__self__, "period_seconds", period_seconds)
        pulumi.set(__self__, "success_threshold", success_threshold)
        pulumi.set(__self__, "timeout_seconds", timeout_seconds)
        pulumi.set(__self__, "type", type)

    @property
    @pulumi.getter(name="failureThreshold")
    def failure_threshold(self) -> int:
        """
        Number of time the an ok probe should fail before declaring it as failed
        """
        return pulumi.get(self, "failure_threshold")

    @failure_threshold.setter
    def failure_threshold(self, value: int):
        pulumi.set(self, "failure_threshold", value)

    @property
    @pulumi.getter(name="initialDelaySeconds")
    def initial_delay_seconds(self) -> int:
        """
        Number of seconds to wait before the first execution of the probe to be trigerred
        """
        return pulumi.get(self, "initial_delay_seconds")

    @initial_delay_seconds.setter
    def initial_delay_seconds(self, value: int):
        pulumi.set(self, "initial_delay_seconds", value)

    @property
    @pulumi.getter(name="periodSeconds")
    def period_seconds(self) -> int:
        """
        Number of seconds before each execution of the probe
        """
        return pulumi.get(self, "period_seconds")

    @period_seconds.setter
    def period_seconds(self, value: int):
        pulumi.set(self, "period_seconds", value)

    @property
    @pulumi.getter(name="successThreshold")
    def success_threshold(self) -> int:
        """
        Number of time the probe should success before declaring a failed probe as ok again
        """
        return pulumi.get(self, "success_threshold")

    @success_threshold.setter
    def success_threshold(self, value: int):
        pulumi.set(self, "success_threshold", value)

    @property
    @pulumi.getter(name="timeoutSeconds")
    def timeout_seconds(self) -> int:
        """
        Number of seconds within which the check need to respond before declaring it as a failure
        """
        return pulumi.get(self, "timeout_seconds")

    @timeout_seconds.setter
    def timeout_seconds(self, value: int):
        pulumi.set(self, "timeout_seconds", value)

    @property
    @pulumi.getter
    def type(self) -> 'GetJobHealthchecksLivenessProbeTypeArgs':
        """
        Kind of check to run for this probe. There can only be one configured at a time
        """
        return pulumi.get(self, "type")

    @type.setter
    def type(self, value: 'GetJobHealthchecksLivenessProbeTypeArgs'):
        pulumi.set(self, "type", value)


@pulumi.input_type
class GetJobHealthchecksLivenessProbeTypeArgs:
    def __init__(__self__, *,
                 exec_: Optional['GetJobHealthchecksLivenessProbeTypeExecArgs'] = None,
                 grpc: Optional['GetJobHealthchecksLivenessProbeTypeGrpcArgs'] = None,
                 http: Optional['GetJobHealthchecksLivenessProbeTypeHttpArgs'] = None,
                 tcp: Optional['GetJobHealthchecksLivenessProbeTypeTcpArgs'] = None):
        """
        :param 'GetJobHealthchecksLivenessProbeTypeExecArgs' exec_: Check that the given command return an exit 0. Binary should be present in the image
        :param 'GetJobHealthchecksLivenessProbeTypeGrpcArgs' grpc: Check that the given port respond to GRPC call
        :param 'GetJobHealthchecksLivenessProbeTypeHttpArgs' http: Check that the given port respond to HTTP call (should return a 2xx response code)
        :param 'GetJobHealthchecksLivenessProbeTypeTcpArgs' tcp: Check that the given port accepting connection
        """
        if exec_ is not None:
            pulumi.set(__self__, "exec_", exec_)
        if grpc is not None:
            pulumi.set(__self__, "grpc", grpc)
        if http is not None:
            pulumi.set(__self__, "http", http)
        if tcp is not None:
            pulumi.set(__self__, "tcp", tcp)

    @property
    @pulumi.getter(name="exec")
    def exec_(self) -> Optional['GetJobHealthchecksLivenessProbeTypeExecArgs']:
        """
        Check that the given command return an exit 0. Binary should be present in the image
        """
        return pulumi.get(self, "exec_")

    @exec_.setter
    def exec_(self, value: Optional['GetJobHealthchecksLivenessProbeTypeExecArgs']):
        pulumi.set(self, "exec_", value)

    @property
    @pulumi.getter
    def grpc(self) -> Optional['GetJobHealthchecksLivenessProbeTypeGrpcArgs']:
        """
        Check that the given port respond to GRPC call
        """
        return pulumi.get(self, "grpc")

    @grpc.setter
    def grpc(self, value: Optional['GetJobHealthchecksLivenessProbeTypeGrpcArgs']):
        pulumi.set(self, "grpc", value)

    @property
    @pulumi.getter
    def http(self) -> Optional['GetJobHealthchecksLivenessProbeTypeHttpArgs']:
        """
        Check that the given port respond to HTTP call (should return a 2xx response code)
        """
        return pulumi.get(self, "http")

    @http.setter
    def http(self, value: Optional['GetJobHealthchecksLivenessProbeTypeHttpArgs']):
        pulumi.set(self, "http", value)

    @property
    @pulumi.getter
    def tcp(self) -> Optional['GetJobHealthchecksLivenessProbeTypeTcpArgs']:
        """
        Check that the given port accepting connection
        """
        return pulumi.get(self, "tcp")

    @tcp.setter
    def tcp(self, value: Optional['GetJobHealthchecksLivenessProbeTypeTcpArgs']):
        pulumi.set(self, "tcp", value)


@pulumi.input_type
class GetJobHealthchecksLivenessProbeTypeExecArgs:
    def __init__(__self__, *,
                 commands: Sequence[str]):
        """
        :param Sequence[str] commands: The command and its arguments to exec
        """
        pulumi.set(__self__, "commands", commands)

    @property
    @pulumi.getter
    def commands(self) -> Sequence[str]:
        """
        The command and its arguments to exec
        """
        return pulumi.get(self, "commands")

    @commands.setter
    def commands(self, value: Sequence[str]):
        pulumi.set(self, "commands", value)


@pulumi.input_type
class GetJobHealthchecksLivenessProbeTypeGrpcArgs:
    def __init__(__self__, *,
                 port: int,
                 service: Optional[str] = None):
        """
        :param int port: The port number to try to connect to
        :param str service: The grpc service to connect to. It needs to implement grpc health protocol. https://kubernetes.io/blog/2018/10/01/health-checking-grpc-servers-on-kubernetes/#introducing-grpc-health-probe
        """
        pulumi.set(__self__, "port", port)
        if service is not None:
            pulumi.set(__self__, "service", service)

    @property
    @pulumi.getter
    def port(self) -> int:
        """
        The port number to try to connect to
        """
        return pulumi.get(self, "port")

    @port.setter
    def port(self, value: int):
        pulumi.set(self, "port", value)

    @property
    @pulumi.getter
    def service(self) -> Optional[str]:
        """
        The grpc service to connect to. It needs to implement grpc health protocol. https://kubernetes.io/blog/2018/10/01/health-checking-grpc-servers-on-kubernetes/#introducing-grpc-health-probe
        """
        return pulumi.get(self, "service")

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


@pulumi.input_type
class GetJobHealthchecksLivenessProbeTypeHttpArgs:
    def __init__(__self__, *,
                 port: int,
                 scheme: str,
                 path: Optional[str] = None):
        """
        :param int port: The port number to try to connect to
        :param str scheme: if the HTTP GET request should be done in HTTP or HTTPS.
        :param str path: The path that the HTTP GET request. By default it is `/`
        """
        pulumi.set(__self__, "port", port)
        pulumi.set(__self__, "scheme", scheme)
        if path is not None:
            pulumi.set(__self__, "path", path)

    @property
    @pulumi.getter
    def port(self) -> int:
        """
        The port number to try to connect to
        """
        return pulumi.get(self, "port")

    @port.setter
    def port(self, value: int):
        pulumi.set(self, "port", value)

    @property
    @pulumi.getter
    def scheme(self) -> str:
        """
        if the HTTP GET request should be done in HTTP or HTTPS.
        """
        return pulumi.get(self, "scheme")

    @scheme.setter
    def scheme(self, value: str):
        pulumi.set(self, "scheme", value)

    @property
    @pulumi.getter
    def path(self) -> Optional[str]:
        """
        The path that the HTTP GET request. By default it is `/`
        """
        return pulumi.get(self, "path")

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


@pulumi.input_type
class GetJobHealthchecksLivenessProbeTypeTcpArgs:
    def __init__(__self__, *,
                 port: int,
                 host: Optional[str] = None):
        """
        :param int port: The port number to try to connect to
        :param str host: Optional. If the host need to be different than localhost/pod ip
        """
        pulumi.set(__self__, "port", port)
        if host is not None:
            pulumi.set(__self__, "host", host)

    @property
    @pulumi.getter
    def port(self) -> int:
        """
        The port number to try to connect to
        """
        return pulumi.get(self, "port")

    @port.setter
    def port(self, value: int):
        pulumi.set(self, "port", value)

    @property
    @pulumi.getter
    def host(self) -> Optional[str]:
        """
        Optional. If the host need to be different than localhost/pod ip
        """
        return pulumi.get(self, "host")

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


@pulumi.input_type
class GetJobHealthchecksReadinessProbeArgs:
    def __init__(__self__, *,
                 failure_threshold: int,
                 initial_delay_seconds: int,
                 period_seconds: int,
                 success_threshold: int,
                 timeout_seconds: int,
                 type: 'GetJobHealthchecksReadinessProbeTypeArgs'):
        """
        :param int failure_threshold: Number of time the an ok probe should fail before declaring it as failed
        :param int initial_delay_seconds: Number of seconds to wait before the first execution of the probe to be trigerred
        :param int period_seconds: Number of seconds before each execution of the probe
        :param int success_threshold: Number of time the probe should success before declaring a failed probe as ok again
        :param int timeout_seconds: Number of seconds within which the check need to respond before declaring it as a failure
        :param 'GetJobHealthchecksReadinessProbeTypeArgs' type: Kind of check to run for this probe. There can only be one configured at a time
        """
        pulumi.set(__self__, "failure_threshold", failure_threshold)
        pulumi.set(__self__, "initial_delay_seconds", initial_delay_seconds)
        pulumi.set(__self__, "period_seconds", period_seconds)
        pulumi.set(__self__, "success_threshold", success_threshold)
        pulumi.set(__self__, "timeout_seconds", timeout_seconds)
        pulumi.set(__self__, "type", type)

    @property
    @pulumi.getter(name="failureThreshold")
    def failure_threshold(self) -> int:
        """
        Number of time the an ok probe should fail before declaring it as failed
        """
        return pulumi.get(self, "failure_threshold")

    @failure_threshold.setter
    def failure_threshold(self, value: int):
        pulumi.set(self, "failure_threshold", value)

    @property
    @pulumi.getter(name="initialDelaySeconds")
    def initial_delay_seconds(self) -> int:
        """
        Number of seconds to wait before the first execution of the probe to be trigerred
        """
        return pulumi.get(self, "initial_delay_seconds")

    @initial_delay_seconds.setter
    def initial_delay_seconds(self, value: int):
        pulumi.set(self, "initial_delay_seconds", value)

    @property
    @pulumi.getter(name="periodSeconds")
    def period_seconds(self) -> int:
        """
        Number of seconds before each execution of the probe
        """
        return pulumi.get(self, "period_seconds")

    @period_seconds.setter
    def period_seconds(self, value: int):
        pulumi.set(self, "period_seconds", value)

    @property
    @pulumi.getter(name="successThreshold")
    def success_threshold(self) -> int:
        """
        Number of time the probe should success before declaring a failed probe as ok again
        """
        return pulumi.get(self, "success_threshold")

    @success_threshold.setter
    def success_threshold(self, value: int):
        pulumi.set(self, "success_threshold", value)

    @property
    @pulumi.getter(name="timeoutSeconds")
    def timeout_seconds(self) -> int:
        """
        Number of seconds within which the check need to respond before declaring it as a failure
        """
        return pulumi.get(self, "timeout_seconds")

    @timeout_seconds.setter
    def timeout_seconds(self, value: int):
        pulumi.set(self, "timeout_seconds", value)

    @property
    @pulumi.getter
    def type(self) -> 'GetJobHealthchecksReadinessProbeTypeArgs':
        """
        Kind of check to run for this probe. There can only be one configured at a time
        """
        return pulumi.get(self, "type")

    @type.setter
    def type(self, value: 'GetJobHealthchecksReadinessProbeTypeArgs'):
        pulumi.set(self, "type", value)


@pulumi.input_type
class GetJobHealthchecksReadinessProbeTypeArgs:
    def __init__(__self__, *,
                 exec_: Optional['GetJobHealthchecksReadinessProbeTypeExecArgs'] = None,
                 grpc: Optional['GetJobHealthchecksReadinessProbeTypeGrpcArgs'] = None,
                 http: Optional['GetJobHealthchecksReadinessProbeTypeHttpArgs'] = None,
                 tcp: Optional['GetJobHealthchecksReadinessProbeTypeTcpArgs'] = None):
        """
        :param 'GetJobHealthchecksReadinessProbeTypeExecArgs' exec_: Check that the given command return an exit 0. Binary should be present in the image
        :param 'GetJobHealthchecksReadinessProbeTypeGrpcArgs' grpc: Check that the given port respond to GRPC call
        :param 'GetJobHealthchecksReadinessProbeTypeHttpArgs' http: Check that the given port respond to HTTP call (should return a 2xx response code)
        :param 'GetJobHealthchecksReadinessProbeTypeTcpArgs' tcp: Check that the given port accepting connection
        """
        if exec_ is not None:
            pulumi.set(__self__, "exec_", exec_)
        if grpc is not None:
            pulumi.set(__self__, "grpc", grpc)
        if http is not None:
            pulumi.set(__self__, "http", http)
        if tcp is not None:
            pulumi.set(__self__, "tcp", tcp)

    @property
    @pulumi.getter(name="exec")
    def exec_(self) -> Optional['GetJobHealthchecksReadinessProbeTypeExecArgs']:
        """
        Check that the given command return an exit 0. Binary should be present in the image
        """
        return pulumi.get(self, "exec_")

    @exec_.setter
    def exec_(self, value: Optional['GetJobHealthchecksReadinessProbeTypeExecArgs']):
        pulumi.set(self, "exec_", value)

    @property
    @pulumi.getter
    def grpc(self) -> Optional['GetJobHealthchecksReadinessProbeTypeGrpcArgs']:
        """
        Check that the given port respond to GRPC call
        """
        return pulumi.get(self, "grpc")

    @grpc.setter
    def grpc(self, value: Optional['GetJobHealthchecksReadinessProbeTypeGrpcArgs']):
        pulumi.set(self, "grpc", value)

    @property
    @pulumi.getter
    def http(self) -> Optional['GetJobHealthchecksReadinessProbeTypeHttpArgs']:
        """
        Check that the given port respond to HTTP call (should return a 2xx response code)
        """
        return pulumi.get(self, "http")

    @http.setter
    def http(self, value: Optional['GetJobHealthchecksReadinessProbeTypeHttpArgs']):
        pulumi.set(self, "http", value)

    @property
    @pulumi.getter
    def tcp(self) -> Optional['GetJobHealthchecksReadinessProbeTypeTcpArgs']:
        """
        Check that the given port accepting connection
        """
        return pulumi.get(self, "tcp")

    @tcp.setter
    def tcp(self, value: Optional['GetJobHealthchecksReadinessProbeTypeTcpArgs']):
        pulumi.set(self, "tcp", value)


@pulumi.input_type
class GetJobHealthchecksReadinessProbeTypeExecArgs:
    def __init__(__self__, *,
                 commands: Sequence[str]):
        """
        :param Sequence[str] commands: The command and its arguments to exec
        """
        pulumi.set(__self__, "commands", commands)

    @property
    @pulumi.getter
    def commands(self) -> Sequence[str]:
        """
        The command and its arguments to exec
        """
        return pulumi.get(self, "commands")

    @commands.setter
    def commands(self, value: Sequence[str]):
        pulumi.set(self, "commands", value)


@pulumi.input_type
class GetJobHealthchecksReadinessProbeTypeGrpcArgs:
    def __init__(__self__, *,
                 port: int,
                 service: Optional[str] = None):
        """
        :param int port: The port number to try to connect to
        :param str service: The grpc service to connect to. It needs to implement grpc health protocol. https://kubernetes.io/blog/2018/10/01/health-checking-grpc-servers-on-kubernetes/#introducing-grpc-health-probe
        """
        pulumi.set(__self__, "port", port)
        if service is not None:
            pulumi.set(__self__, "service", service)

    @property
    @pulumi.getter
    def port(self) -> int:
        """
        The port number to try to connect to
        """
        return pulumi.get(self, "port")

    @port.setter
    def port(self, value: int):
        pulumi.set(self, "port", value)

    @property
    @pulumi.getter
    def service(self) -> Optional[str]:
        """
        The grpc service to connect to. It needs to implement grpc health protocol. https://kubernetes.io/blog/2018/10/01/health-checking-grpc-servers-on-kubernetes/#introducing-grpc-health-probe
        """
        return pulumi.get(self, "service")

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


@pulumi.input_type
class GetJobHealthchecksReadinessProbeTypeHttpArgs:
    def __init__(__self__, *,
                 port: int,
                 scheme: str,
                 path: Optional[str] = None):
        """
        :param int port: The port number to try to connect to
        :param str scheme: if the HTTP GET request should be done in HTTP or HTTPS.
        :param str path: The path that the HTTP GET request. By default it is `/`
        """
        pulumi.set(__self__, "port", port)
        pulumi.set(__self__, "scheme", scheme)
        if path is not None:
            pulumi.set(__self__, "path", path)

    @property
    @pulumi.getter
    def port(self) -> int:
        """
        The port number to try to connect to
        """
        return pulumi.get(self, "port")

    @port.setter
    def port(self, value: int):
        pulumi.set(self, "port", value)

    @property
    @pulumi.getter
    def scheme(self) -> str:
        """
        if the HTTP GET request should be done in HTTP or HTTPS.
        """
        return pulumi.get(self, "scheme")

    @scheme.setter
    def scheme(self, value: str):
        pulumi.set(self, "scheme", value)

    @property
    @pulumi.getter
    def path(self) -> Optional[str]:
        """
        The path that the HTTP GET request. By default it is `/`
        """
        return pulumi.get(self, "path")

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


@pulumi.input_type
class GetJobHealthchecksReadinessProbeTypeTcpArgs:
    def __init__(__self__, *,
                 port: int,
                 host: Optional[str] = None):
        """
        :param int port: The port number to try to connect to
        :param str host: Optional. If the host need to be different than localhost/pod ip
        """
        pulumi.set(__self__, "port", port)
        if host is not None:
            pulumi.set(__self__, "host", host)

    @property
    @pulumi.getter
    def port(self) -> int:
        """
        The port number to try to connect to
        """
        return pulumi.get(self, "port")

    @port.setter
    def port(self, value: int):
        pulumi.set(self, "port", value)

    @property
    @pulumi.getter
    def host(self) -> Optional[str]:
        """
        Optional. If the host need to be different than localhost/pod ip
        """
        return pulumi.get(self, "host")

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


@pulumi.input_type
class GetJobSecretArgs:
    def __init__(__self__, *,
                 id: str,
                 key: str,
                 value: str):
        """
        :param str id: Id of the secret.
        :param str key: Key of the secret.
        :param str value: Value of the secret.
        """
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

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

    @id.setter
    def id(self, value: str):
        pulumi.set(self, "id", value)

    @property
    @pulumi.getter
    def key(self) -> str:
        """
        Key of the secret.
        """
        return pulumi.get(self, "key")

    @key.setter
    def key(self, value: str):
        pulumi.set(self, "key", value)

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

    @value.setter
    def value(self, value: str):
        pulumi.set(self, "value", value)


@pulumi.input_type
class GetJobSecretAliasArgs:
    def __init__(__self__, *,
                 id: str,
                 key: str,
                 value: str):
        """
        :param str id: Id of the secret alias.
        :param str key: Name of the secret alias.
        :param str value: Name of the secret to alias.
        """
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        Id of the secret alias.
        """
        return pulumi.get(self, "id")

    @id.setter
    def id(self, value: str):
        pulumi.set(self, "id", value)

    @property
    @pulumi.getter
    def key(self) -> str:
        """
        Name of the secret alias.
        """
        return pulumi.get(self, "key")

    @key.setter
    def key(self, value: str):
        pulumi.set(self, "key", value)

    @property
    @pulumi.getter
    def value(self) -> str:
        """
        Name of the secret to alias.
        """
        return pulumi.get(self, "value")

    @value.setter
    def value(self, value: str):
        pulumi.set(self, "value", value)


@pulumi.input_type
class GetJobSecretOverrideArgs:
    def __init__(__self__, *,
                 id: str,
                 key: str,
                 value: str):
        """
        :param str id: Id of the secret override.
        :param str key: Name of the secret override.
        :param str value: Value of the secret override.
        """
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        Id of the secret override.
        """
        return pulumi.get(self, "id")

    @id.setter
    def id(self, value: str):
        pulumi.set(self, "id", value)

    @property
    @pulumi.getter
    def key(self) -> str:
        """
        Name of the secret override.
        """
        return pulumi.get(self, "key")

    @key.setter
    def key(self, value: str):
        pulumi.set(self, "key", value)

    @property
    @pulumi.getter
    def value(self) -> str:
        """
        Value of the secret override.
        """
        return pulumi.get(self, "value")

    @value.setter
    def value(self, value: str):
        pulumi.set(self, "value", value)


@pulumi.input_type
class GetJobSourceArgs:
    def __init__(__self__, *,
                 docker: 'GetJobSourceDockerArgs',
                 image: 'GetJobSourceImageArgs'):
        """
        :param 'GetJobSourceDockerArgs' docker: Job's docker source.
        :param 'GetJobSourceImageArgs' image: Job's image source.
        """
        pulumi.set(__self__, "docker", docker)
        pulumi.set(__self__, "image", image)

    @property
    @pulumi.getter
    def docker(self) -> 'GetJobSourceDockerArgs':
        """
        Job's docker source.
        """
        return pulumi.get(self, "docker")

    @docker.setter
    def docker(self, value: 'GetJobSourceDockerArgs'):
        pulumi.set(self, "docker", value)

    @property
    @pulumi.getter
    def image(self) -> 'GetJobSourceImageArgs':
        """
        Job's image source.
        """
        return pulumi.get(self, "image")

    @image.setter
    def image(self, value: 'GetJobSourceImageArgs'):
        pulumi.set(self, "image", value)


@pulumi.input_type
class GetJobSourceDockerArgs:
    def __init__(__self__, *,
                 git_repository: 'GetJobSourceDockerGitRepositoryArgs',
                 dockerfile_path: Optional[str] = None):
        """
        :param 'GetJobSourceDockerGitRepositoryArgs' git_repository: Job's docker source git repository.
        :param str dockerfile_path: Job's docker source dockerfile path.
        """
        pulumi.set(__self__, "git_repository", git_repository)
        if dockerfile_path is not None:
            pulumi.set(__self__, "dockerfile_path", dockerfile_path)

    @property
    @pulumi.getter(name="gitRepository")
    def git_repository(self) -> 'GetJobSourceDockerGitRepositoryArgs':
        """
        Job's docker source git repository.
        """
        return pulumi.get(self, "git_repository")

    @git_repository.setter
    def git_repository(self, value: 'GetJobSourceDockerGitRepositoryArgs'):
        pulumi.set(self, "git_repository", value)

    @property
    @pulumi.getter(name="dockerfilePath")
    def dockerfile_path(self) -> Optional[str]:
        """
        Job's docker source dockerfile path.
        """
        return pulumi.get(self, "dockerfile_path")

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


@pulumi.input_type
class GetJobSourceDockerGitRepositoryArgs:
    def __init__(__self__, *,
                 branch: str,
                 root_path: str,
                 url: str,
                 git_token_id: Optional[str] = None):
        """
        :param str branch: Job's docker source git repository branch.
        :param str root_path: Job's docker source git repository root path.
        :param str url: Job's docker source git repository URL.
        :param str git_token_id: The git token ID to be used
        """
        pulumi.set(__self__, "branch", branch)
        pulumi.set(__self__, "root_path", root_path)
        pulumi.set(__self__, "url", url)
        if git_token_id is not None:
            pulumi.set(__self__, "git_token_id", git_token_id)

    @property
    @pulumi.getter
    def branch(self) -> str:
        """
        Job's docker source git repository branch.
        """
        return pulumi.get(self, "branch")

    @branch.setter
    def branch(self, value: str):
        pulumi.set(self, "branch", value)

    @property
    @pulumi.getter(name="rootPath")
    def root_path(self) -> str:
        """
        Job's docker source git repository root path.
        """
        return pulumi.get(self, "root_path")

    @root_path.setter
    def root_path(self, value: str):
        pulumi.set(self, "root_path", value)

    @property
    @pulumi.getter
    def url(self) -> str:
        """
        Job's docker source git repository URL.
        """
        return pulumi.get(self, "url")

    @url.setter
    def url(self, value: str):
        pulumi.set(self, "url", value)

    @property
    @pulumi.getter(name="gitTokenId")
    def git_token_id(self) -> Optional[str]:
        """
        The git token ID to be used
        """
        return pulumi.get(self, "git_token_id")

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


@pulumi.input_type
class GetJobSourceImageArgs:
    def __init__(__self__, *,
                 name: str,
                 registry_id: str,
                 tag: str):
        """
        :param str name: Job's image source name.
        :param str registry_id: Job's image source registry ID.
        :param str tag: Job's image source tag.
        """
        pulumi.set(__self__, "name", name)
        pulumi.set(__self__, "registry_id", registry_id)
        pulumi.set(__self__, "tag", tag)

    @property
    @pulumi.getter
    def name(self) -> str:
        """
        Job's image source name.
        """
        return pulumi.get(self, "name")

    @name.setter
    def name(self, value: str):
        pulumi.set(self, "name", value)

    @property
    @pulumi.getter(name="registryId")
    def registry_id(self) -> str:
        """
        Job's image source registry ID.
        """
        return pulumi.get(self, "registry_id")

    @registry_id.setter
    def registry_id(self, value: str):
        pulumi.set(self, "registry_id", value)

    @property
    @pulumi.getter
    def tag(self) -> str:
        """
        Job's image source tag.
        """
        return pulumi.get(self, "tag")

    @tag.setter
    def tag(self, value: str):
        pulumi.set(self, "tag", value)


@pulumi.input_type
class GetProjectEnvironmentVariableArgs:
    def __init__(__self__, *,
                 id: str,
                 key: str,
                 value: str):
        """
        :param str id: Id of the environment variable.
        :param str key: Key of the environment variable.
        :param str value: Value of the environment variable.
        """
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        Id of the environment variable.
        """
        return pulumi.get(self, "id")

    @id.setter
    def id(self, value: str):
        pulumi.set(self, "id", value)

    @property
    @pulumi.getter
    def key(self) -> str:
        """
        Key of the environment variable.
        """
        return pulumi.get(self, "key")

    @key.setter
    def key(self, value: str):
        pulumi.set(self, "key", value)

    @property
    @pulumi.getter
    def value(self) -> str:
        """
        Value of the environment variable.
        """
        return pulumi.get(self, "value")

    @value.setter
    def value(self, value: str):
        pulumi.set(self, "value", value)


@pulumi.input_type
class GetProjectEnvironmentVariableAliasArgs:
    def __init__(__self__, *,
                 id: str,
                 key: str,
                 value: str):
        """
        :param str id: Id of the environment variable alias.
        :param str key: Name of the environment variable alias.
        :param str value: Name of the variable to alias.
        """
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        Id of the environment variable alias.
        """
        return pulumi.get(self, "id")

    @id.setter
    def id(self, value: str):
        pulumi.set(self, "id", value)

    @property
    @pulumi.getter
    def key(self) -> str:
        """
        Name of the environment variable alias.
        """
        return pulumi.get(self, "key")

    @key.setter
    def key(self, value: str):
        pulumi.set(self, "key", value)

    @property
    @pulumi.getter
    def value(self) -> str:
        """
        Name of the variable to alias.
        """
        return pulumi.get(self, "value")

    @value.setter
    def value(self, value: str):
        pulumi.set(self, "value", value)


@pulumi.input_type
class GetProjectSecretArgs:
    def __init__(__self__, *,
                 id: str,
                 key: str,
                 value: str):
        """
        :param str id: Id of the secret.
        :param str key: Key of the secret.
        :param str value: Value of the secret.
        """
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

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

    @id.setter
    def id(self, value: str):
        pulumi.set(self, "id", value)

    @property
    @pulumi.getter
    def key(self) -> str:
        """
        Key of the secret.
        """
        return pulumi.get(self, "key")

    @key.setter
    def key(self, value: str):
        pulumi.set(self, "key", value)

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

    @value.setter
    def value(self, value: str):
        pulumi.set(self, "value", value)


@pulumi.input_type
class GetProjectSecretAliasArgs:
    def __init__(__self__, *,
                 id: str,
                 key: str,
                 value: str):
        """
        :param str id: Id of the secret alias.
        :param str key: Name of the secret alias.
        :param str value: Name of the secret to alias.
        """
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        Id of the secret alias.
        """
        return pulumi.get(self, "id")

    @id.setter
    def id(self, value: str):
        pulumi.set(self, "id", value)

    @property
    @pulumi.getter
    def key(self) -> str:
        """
        Name of the secret alias.
        """
        return pulumi.get(self, "key")

    @key.setter
    def key(self, value: str):
        pulumi.set(self, "key", value)

    @property
    @pulumi.getter
    def value(self) -> str:
        """
        Name of the secret to alias.
        """
        return pulumi.get(self, "value")

    @value.setter
    def value(self, value: str):
        pulumi.set(self, "value", value)


