# 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
from . import outputs
from ._inputs import *

__all__ = ['ApplicationArgs', 'Application']

@pulumi.input_type
class ApplicationArgs:
    def __init__(__self__, *,
                 environment_id: pulumi.Input[str],
                 git_repository: pulumi.Input['ApplicationGitRepositoryArgs'],
                 healthchecks: pulumi.Input['ApplicationHealthchecksArgs'],
                 advanced_settings_json: Optional[pulumi.Input[str]] = None,
                 arguments: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 auto_deploy: Optional[pulumi.Input[bool]] = None,
                 auto_preview: Optional[pulumi.Input[bool]] = None,
                 build_mode: Optional[pulumi.Input[str]] = None,
                 buildpack_language: Optional[pulumi.Input[str]] = None,
                 cpu: Optional[pulumi.Input[int]] = None,
                 custom_domains: Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationCustomDomainArgs']]]] = None,
                 deployment_restrictions: Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationDeploymentRestrictionArgs']]]] = None,
                 deployment_stage_id: Optional[pulumi.Input[str]] = None,
                 dockerfile_path: Optional[pulumi.Input[str]] = None,
                 entrypoint: Optional[pulumi.Input[str]] = None,
                 environment_variable_aliases: Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationEnvironmentVariableAliasArgs']]]] = None,
                 environment_variable_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationEnvironmentVariableOverrideArgs']]]] = None,
                 environment_variables: Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationEnvironmentVariableArgs']]]] = None,
                 max_running_instances: Optional[pulumi.Input[int]] = None,
                 memory: Optional[pulumi.Input[int]] = None,
                 min_running_instances: Optional[pulumi.Input[int]] = None,
                 name: Optional[pulumi.Input[str]] = None,
                 ports: Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationPortArgs']]]] = None,
                 secret_aliases: Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationSecretAliasArgs']]]] = None,
                 secret_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationSecretOverrideArgs']]]] = None,
                 secrets: Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationSecretArgs']]]] = None,
                 storages: Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationStorageArgs']]]] = None):
        """
        The set of arguments for constructing a Application resource.
        :param pulumi.Input[str] environment_id: Id of the environment.
        :param pulumi.Input['ApplicationGitRepositoryArgs'] git_repository: Git repository of the application.
        :param pulumi.Input['ApplicationHealthchecksArgs'] healthchecks: Configuration for the healthchecks that are going to be executed against your service
        :param pulumi.Input[str] advanced_settings_json: Advanced settings.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] arguments: List of arguments of this application.
        :param pulumi.Input[bool] auto_deploy: Specify if the application will be automatically updated after receiving a new image tag.
        :param pulumi.Input[bool] auto_preview: Specify if the environment preview option is activated or not for this application. - Default: `false`.
        :param pulumi.Input[str] build_mode: Build Mode of the application. - Can be: `BUILDPACKS`, `DOCKER`. - Default: `BUILDPACKS`.
        :param pulumi.Input[str] buildpack_language: Buildpack Language framework. - Required if: `build_mode="BUILDPACKS"`. - Can be: `CLOJURE`, `GO`, `GRADLE`, `GRAILS`,
               `JAVA`, `JVM`, `NODE_JS`, `PHP`, `PLAY`, `PYTHON`, `SCALA`.
        :param pulumi.Input[int] cpu: CPU of the application in millicores (m) [1000m = 1 CPU]. - Must be: `>= 10`. - Default: `500`.
        :param pulumi.Input[Sequence[pulumi.Input['ApplicationCustomDomainArgs']]] custom_domains: List of custom domains linked to this application.
        :param pulumi.Input[Sequence[pulumi.Input['ApplicationDeploymentRestrictionArgs']]] deployment_restrictions: List of deployment restrictions
        :param pulumi.Input[str] deployment_stage_id: Id of the deployment stage.
        :param pulumi.Input[str] dockerfile_path: Dockerfile Path of the application. - Required if: `build_mode="DOCKER"`.
        :param pulumi.Input[str] entrypoint: Entrypoint of the application.
        :param pulumi.Input[Sequence[pulumi.Input['ApplicationEnvironmentVariableAliasArgs']]] environment_variable_aliases: List of environment variable aliases linked to this application.
        :param pulumi.Input[Sequence[pulumi.Input['ApplicationEnvironmentVariableOverrideArgs']]] environment_variable_overrides: List of environment variable overrides linked to this application.
        :param pulumi.Input[Sequence[pulumi.Input['ApplicationEnvironmentVariableArgs']]] environment_variables: List of environment variables linked to this application.
        :param pulumi.Input[int] max_running_instances: Maximum number of instances running for the application. - Must be: `>= -1`. - Default: `1`.
        :param pulumi.Input[int] memory: RAM of the application in MB [1024MB = 1GB]. - Must be: `>= 1`. - Default: `512`.
        :param pulumi.Input[int] min_running_instances: Minimum number of instances running for the application. - Must be: `>= 0`. - Default: `1`.
        :param pulumi.Input[str] name: Name of the application.
        :param pulumi.Input[Sequence[pulumi.Input['ApplicationPortArgs']]] ports: List of ports linked to this application.
        :param pulumi.Input[Sequence[pulumi.Input['ApplicationSecretAliasArgs']]] secret_aliases: List of secret aliases linked to this application.
        :param pulumi.Input[Sequence[pulumi.Input['ApplicationSecretOverrideArgs']]] secret_overrides: List of secret overrides linked to this application.
        :param pulumi.Input[Sequence[pulumi.Input['ApplicationSecretArgs']]] secrets: List of secrets linked to this application.
        :param pulumi.Input[Sequence[pulumi.Input['ApplicationStorageArgs']]] storages: List of storages linked to this application.
        """
        pulumi.set(__self__, "environment_id", environment_id)
        pulumi.set(__self__, "git_repository", git_repository)
        pulumi.set(__self__, "healthchecks", healthchecks)
        if advanced_settings_json is not None:
            pulumi.set(__self__, "advanced_settings_json", advanced_settings_json)
        if arguments is not None:
            pulumi.set(__self__, "arguments", arguments)
        if auto_deploy is not None:
            pulumi.set(__self__, "auto_deploy", auto_deploy)
        if auto_preview is not None:
            pulumi.set(__self__, "auto_preview", auto_preview)
        if build_mode is not None:
            pulumi.set(__self__, "build_mode", build_mode)
        if buildpack_language is not None:
            pulumi.set(__self__, "buildpack_language", buildpack_language)
        if cpu is not None:
            pulumi.set(__self__, "cpu", cpu)
        if custom_domains is not None:
            pulumi.set(__self__, "custom_domains", custom_domains)
        if deployment_restrictions is not None:
            pulumi.set(__self__, "deployment_restrictions", deployment_restrictions)
        if deployment_stage_id is not None:
            pulumi.set(__self__, "deployment_stage_id", deployment_stage_id)
        if dockerfile_path is not None:
            pulumi.set(__self__, "dockerfile_path", dockerfile_path)
        if entrypoint is not None:
            pulumi.set(__self__, "entrypoint", entrypoint)
        if environment_variable_aliases is not None:
            pulumi.set(__self__, "environment_variable_aliases", environment_variable_aliases)
        if environment_variable_overrides is not None:
            pulumi.set(__self__, "environment_variable_overrides", environment_variable_overrides)
        if environment_variables is not None:
            pulumi.set(__self__, "environment_variables", environment_variables)
        if max_running_instances is not None:
            pulumi.set(__self__, "max_running_instances", max_running_instances)
        if memory is not None:
            pulumi.set(__self__, "memory", memory)
        if min_running_instances is not None:
            pulumi.set(__self__, "min_running_instances", min_running_instances)
        if name is not None:
            pulumi.set(__self__, "name", name)
        if ports is not None:
            pulumi.set(__self__, "ports", ports)
        if secret_aliases is not None:
            pulumi.set(__self__, "secret_aliases", secret_aliases)
        if secret_overrides is not None:
            pulumi.set(__self__, "secret_overrides", secret_overrides)
        if secrets is not None:
            pulumi.set(__self__, "secrets", secrets)
        if storages is not None:
            pulumi.set(__self__, "storages", storages)

    @property
    @pulumi.getter(name="environmentId")
    def environment_id(self) -> pulumi.Input[str]:
        """
        Id of the environment.
        """
        return pulumi.get(self, "environment_id")

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

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

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

    @property
    @pulumi.getter
    def healthchecks(self) -> pulumi.Input['ApplicationHealthchecksArgs']:
        """
        Configuration for the healthchecks that are going to be executed against your service
        """
        return pulumi.get(self, "healthchecks")

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

    @property
    @pulumi.getter(name="advancedSettingsJson")
    def advanced_settings_json(self) -> Optional[pulumi.Input[str]]:
        """
        Advanced settings.
        """
        return pulumi.get(self, "advanced_settings_json")

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

    @property
    @pulumi.getter
    def arguments(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        List of arguments of this application.
        """
        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(name="autoDeploy")
    def auto_deploy(self) -> Optional[pulumi.Input[bool]]:
        """
        Specify if the application will be automatically updated after receiving a new image tag.
        """
        return pulumi.get(self, "auto_deploy")

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

    @property
    @pulumi.getter(name="autoPreview")
    def auto_preview(self) -> Optional[pulumi.Input[bool]]:
        """
        Specify if the environment preview option is activated or not for this application. - Default: `false`.
        """
        return pulumi.get(self, "auto_preview")

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

    @property
    @pulumi.getter(name="buildMode")
    def build_mode(self) -> Optional[pulumi.Input[str]]:
        """
        Build Mode of the application. - Can be: `BUILDPACKS`, `DOCKER`. - Default: `BUILDPACKS`.
        """
        return pulumi.get(self, "build_mode")

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

    @property
    @pulumi.getter(name="buildpackLanguage")
    def buildpack_language(self) -> Optional[pulumi.Input[str]]:
        """
        Buildpack Language framework. - Required if: `build_mode="BUILDPACKS"`. - Can be: `CLOJURE`, `GO`, `GRADLE`, `GRAILS`,
        `JAVA`, `JVM`, `NODE_JS`, `PHP`, `PLAY`, `PYTHON`, `SCALA`.
        """
        return pulumi.get(self, "buildpack_language")

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

    @property
    @pulumi.getter
    def cpu(self) -> Optional[pulumi.Input[int]]:
        """
        CPU of the application in millicores (m) [1000m = 1 CPU]. - Must be: `>= 10`. - Default: `500`.
        """
        return pulumi.get(self, "cpu")

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

    @property
    @pulumi.getter(name="customDomains")
    def custom_domains(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationCustomDomainArgs']]]]:
        """
        List of custom domains linked to this application.
        """
        return pulumi.get(self, "custom_domains")

    @custom_domains.setter
    def custom_domains(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationCustomDomainArgs']]]]):
        pulumi.set(self, "custom_domains", value)

    @property
    @pulumi.getter(name="deploymentRestrictions")
    def deployment_restrictions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationDeploymentRestrictionArgs']]]]:
        """
        List of deployment restrictions
        """
        return pulumi.get(self, "deployment_restrictions")

    @deployment_restrictions.setter
    def deployment_restrictions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationDeploymentRestrictionArgs']]]]):
        pulumi.set(self, "deployment_restrictions", value)

    @property
    @pulumi.getter(name="deploymentStageId")
    def deployment_stage_id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the deployment stage.
        """
        return pulumi.get(self, "deployment_stage_id")

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

    @property
    @pulumi.getter(name="dockerfilePath")
    def dockerfile_path(self) -> Optional[pulumi.Input[str]]:
        """
        Dockerfile Path of the application. - Required if: `build_mode="DOCKER"`.
        """
        return pulumi.get(self, "dockerfile_path")

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

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

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

    @property
    @pulumi.getter(name="environmentVariableAliases")
    def environment_variable_aliases(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationEnvironmentVariableAliasArgs']]]]:
        """
        List of environment variable aliases linked to this application.
        """
        return pulumi.get(self, "environment_variable_aliases")

    @environment_variable_aliases.setter
    def environment_variable_aliases(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationEnvironmentVariableAliasArgs']]]]):
        pulumi.set(self, "environment_variable_aliases", value)

    @property
    @pulumi.getter(name="environmentVariableOverrides")
    def environment_variable_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationEnvironmentVariableOverrideArgs']]]]:
        """
        List of environment variable overrides linked to this application.
        """
        return pulumi.get(self, "environment_variable_overrides")

    @environment_variable_overrides.setter
    def environment_variable_overrides(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationEnvironmentVariableOverrideArgs']]]]):
        pulumi.set(self, "environment_variable_overrides", value)

    @property
    @pulumi.getter(name="environmentVariables")
    def environment_variables(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationEnvironmentVariableArgs']]]]:
        """
        List of environment variables linked to this application.
        """
        return pulumi.get(self, "environment_variables")

    @environment_variables.setter
    def environment_variables(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationEnvironmentVariableArgs']]]]):
        pulumi.set(self, "environment_variables", value)

    @property
    @pulumi.getter(name="maxRunningInstances")
    def max_running_instances(self) -> Optional[pulumi.Input[int]]:
        """
        Maximum number of instances running for the application. - Must be: `>= -1`. - Default: `1`.
        """
        return pulumi.get(self, "max_running_instances")

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

    @property
    @pulumi.getter
    def memory(self) -> Optional[pulumi.Input[int]]:
        """
        RAM of the application in MB [1024MB = 1GB]. - Must be: `>= 1`. - Default: `512`.
        """
        return pulumi.get(self, "memory")

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

    @property
    @pulumi.getter(name="minRunningInstances")
    def min_running_instances(self) -> Optional[pulumi.Input[int]]:
        """
        Minimum number of instances running for the application. - Must be: `>= 0`. - Default: `1`.
        """
        return pulumi.get(self, "min_running_instances")

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

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

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

    @property
    @pulumi.getter
    def ports(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationPortArgs']]]]:
        """
        List of ports linked to this application.
        """
        return pulumi.get(self, "ports")

    @ports.setter
    def ports(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationPortArgs']]]]):
        pulumi.set(self, "ports", value)

    @property
    @pulumi.getter(name="secretAliases")
    def secret_aliases(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationSecretAliasArgs']]]]:
        """
        List of secret aliases linked to this application.
        """
        return pulumi.get(self, "secret_aliases")

    @secret_aliases.setter
    def secret_aliases(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationSecretAliasArgs']]]]):
        pulumi.set(self, "secret_aliases", value)

    @property
    @pulumi.getter(name="secretOverrides")
    def secret_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationSecretOverrideArgs']]]]:
        """
        List of secret overrides linked to this application.
        """
        return pulumi.get(self, "secret_overrides")

    @secret_overrides.setter
    def secret_overrides(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationSecretOverrideArgs']]]]):
        pulumi.set(self, "secret_overrides", value)

    @property
    @pulumi.getter
    def secrets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationSecretArgs']]]]:
        """
        List of secrets linked to this application.
        """
        return pulumi.get(self, "secrets")

    @secrets.setter
    def secrets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationSecretArgs']]]]):
        pulumi.set(self, "secrets", value)

    @property
    @pulumi.getter
    def storages(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationStorageArgs']]]]:
        """
        List of storages linked to this application.
        """
        return pulumi.get(self, "storages")

    @storages.setter
    def storages(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationStorageArgs']]]]):
        pulumi.set(self, "storages", value)


@pulumi.input_type
class _ApplicationState:
    def __init__(__self__, *,
                 advanced_settings_json: Optional[pulumi.Input[str]] = None,
                 arguments: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 auto_deploy: Optional[pulumi.Input[bool]] = None,
                 auto_preview: Optional[pulumi.Input[bool]] = None,
                 build_mode: Optional[pulumi.Input[str]] = None,
                 buildpack_language: Optional[pulumi.Input[str]] = None,
                 built_in_environment_variables: Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationBuiltInEnvironmentVariableArgs']]]] = None,
                 cpu: Optional[pulumi.Input[int]] = None,
                 custom_domains: Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationCustomDomainArgs']]]] = None,
                 deployment_restrictions: Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationDeploymentRestrictionArgs']]]] = None,
                 deployment_stage_id: Optional[pulumi.Input[str]] = None,
                 dockerfile_path: Optional[pulumi.Input[str]] = None,
                 entrypoint: Optional[pulumi.Input[str]] = None,
                 environment_id: Optional[pulumi.Input[str]] = None,
                 environment_variable_aliases: Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationEnvironmentVariableAliasArgs']]]] = None,
                 environment_variable_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationEnvironmentVariableOverrideArgs']]]] = None,
                 environment_variables: Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationEnvironmentVariableArgs']]]] = None,
                 external_host: Optional[pulumi.Input[str]] = None,
                 git_repository: Optional[pulumi.Input['ApplicationGitRepositoryArgs']] = None,
                 healthchecks: Optional[pulumi.Input['ApplicationHealthchecksArgs']] = None,
                 internal_host: Optional[pulumi.Input[str]] = None,
                 max_running_instances: Optional[pulumi.Input[int]] = None,
                 memory: Optional[pulumi.Input[int]] = None,
                 min_running_instances: Optional[pulumi.Input[int]] = None,
                 name: Optional[pulumi.Input[str]] = None,
                 ports: Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationPortArgs']]]] = None,
                 secret_aliases: Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationSecretAliasArgs']]]] = None,
                 secret_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationSecretOverrideArgs']]]] = None,
                 secrets: Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationSecretArgs']]]] = None,
                 storages: Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationStorageArgs']]]] = None):
        """
        Input properties used for looking up and filtering Application resources.
        :param pulumi.Input[str] advanced_settings_json: Advanced settings.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] arguments: List of arguments of this application.
        :param pulumi.Input[bool] auto_deploy: Specify if the application will be automatically updated after receiving a new image tag.
        :param pulumi.Input[bool] auto_preview: Specify if the environment preview option is activated or not for this application. - Default: `false`.
        :param pulumi.Input[str] build_mode: Build Mode of the application. - Can be: `BUILDPACKS`, `DOCKER`. - Default: `BUILDPACKS`.
        :param pulumi.Input[str] buildpack_language: Buildpack Language framework. - Required if: `build_mode="BUILDPACKS"`. - Can be: `CLOJURE`, `GO`, `GRADLE`, `GRAILS`,
               `JAVA`, `JVM`, `NODE_JS`, `PHP`, `PLAY`, `PYTHON`, `SCALA`.
        :param pulumi.Input[Sequence[pulumi.Input['ApplicationBuiltInEnvironmentVariableArgs']]] built_in_environment_variables: List of built-in environment variables linked to this application.
        :param pulumi.Input[int] cpu: CPU of the application in millicores (m) [1000m = 1 CPU]. - Must be: `>= 10`. - Default: `500`.
        :param pulumi.Input[Sequence[pulumi.Input['ApplicationCustomDomainArgs']]] custom_domains: List of custom domains linked to this application.
        :param pulumi.Input[Sequence[pulumi.Input['ApplicationDeploymentRestrictionArgs']]] deployment_restrictions: List of deployment restrictions
        :param pulumi.Input[str] deployment_stage_id: Id of the deployment stage.
        :param pulumi.Input[str] dockerfile_path: Dockerfile Path of the application. - Required if: `build_mode="DOCKER"`.
        :param pulumi.Input[str] entrypoint: Entrypoint of the application.
        :param pulumi.Input[str] environment_id: Id of the environment.
        :param pulumi.Input[Sequence[pulumi.Input['ApplicationEnvironmentVariableAliasArgs']]] environment_variable_aliases: List of environment variable aliases linked to this application.
        :param pulumi.Input[Sequence[pulumi.Input['ApplicationEnvironmentVariableOverrideArgs']]] environment_variable_overrides: List of environment variable overrides linked to this application.
        :param pulumi.Input[Sequence[pulumi.Input['ApplicationEnvironmentVariableArgs']]] environment_variables: List of environment variables linked to this application.
        :param pulumi.Input[str] external_host: The application external FQDN host [NOTE: only if your application is using a publicly accessible port].
        :param pulumi.Input['ApplicationGitRepositoryArgs'] git_repository: Git repository of the application.
        :param pulumi.Input['ApplicationHealthchecksArgs'] healthchecks: Configuration for the healthchecks that are going to be executed against your service
        :param pulumi.Input[str] internal_host: The application internal host.
        :param pulumi.Input[int] max_running_instances: Maximum number of instances running for the application. - Must be: `>= -1`. - Default: `1`.
        :param pulumi.Input[int] memory: RAM of the application in MB [1024MB = 1GB]. - Must be: `>= 1`. - Default: `512`.
        :param pulumi.Input[int] min_running_instances: Minimum number of instances running for the application. - Must be: `>= 0`. - Default: `1`.
        :param pulumi.Input[str] name: Name of the application.
        :param pulumi.Input[Sequence[pulumi.Input['ApplicationPortArgs']]] ports: List of ports linked to this application.
        :param pulumi.Input[Sequence[pulumi.Input['ApplicationSecretAliasArgs']]] secret_aliases: List of secret aliases linked to this application.
        :param pulumi.Input[Sequence[pulumi.Input['ApplicationSecretOverrideArgs']]] secret_overrides: List of secret overrides linked to this application.
        :param pulumi.Input[Sequence[pulumi.Input['ApplicationSecretArgs']]] secrets: List of secrets linked to this application.
        :param pulumi.Input[Sequence[pulumi.Input['ApplicationStorageArgs']]] storages: List of storages linked to this application.
        """
        if advanced_settings_json is not None:
            pulumi.set(__self__, "advanced_settings_json", advanced_settings_json)
        if arguments is not None:
            pulumi.set(__self__, "arguments", arguments)
        if auto_deploy is not None:
            pulumi.set(__self__, "auto_deploy", auto_deploy)
        if auto_preview is not None:
            pulumi.set(__self__, "auto_preview", auto_preview)
        if build_mode is not None:
            pulumi.set(__self__, "build_mode", build_mode)
        if buildpack_language is not None:
            pulumi.set(__self__, "buildpack_language", buildpack_language)
        if built_in_environment_variables is not None:
            pulumi.set(__self__, "built_in_environment_variables", built_in_environment_variables)
        if cpu is not None:
            pulumi.set(__self__, "cpu", cpu)
        if custom_domains is not None:
            pulumi.set(__self__, "custom_domains", custom_domains)
        if deployment_restrictions is not None:
            pulumi.set(__self__, "deployment_restrictions", deployment_restrictions)
        if deployment_stage_id is not None:
            pulumi.set(__self__, "deployment_stage_id", deployment_stage_id)
        if dockerfile_path is not None:
            pulumi.set(__self__, "dockerfile_path", dockerfile_path)
        if entrypoint is not None:
            pulumi.set(__self__, "entrypoint", entrypoint)
        if environment_id is not None:
            pulumi.set(__self__, "environment_id", environment_id)
        if environment_variable_aliases is not None:
            pulumi.set(__self__, "environment_variable_aliases", environment_variable_aliases)
        if environment_variable_overrides is not None:
            pulumi.set(__self__, "environment_variable_overrides", environment_variable_overrides)
        if environment_variables is not None:
            pulumi.set(__self__, "environment_variables", environment_variables)
        if external_host is not None:
            pulumi.set(__self__, "external_host", external_host)
        if git_repository is not None:
            pulumi.set(__self__, "git_repository", git_repository)
        if healthchecks is not None:
            pulumi.set(__self__, "healthchecks", healthchecks)
        if internal_host is not None:
            pulumi.set(__self__, "internal_host", internal_host)
        if max_running_instances is not None:
            pulumi.set(__self__, "max_running_instances", max_running_instances)
        if memory is not None:
            pulumi.set(__self__, "memory", memory)
        if min_running_instances is not None:
            pulumi.set(__self__, "min_running_instances", min_running_instances)
        if name is not None:
            pulumi.set(__self__, "name", name)
        if ports is not None:
            pulumi.set(__self__, "ports", ports)
        if secret_aliases is not None:
            pulumi.set(__self__, "secret_aliases", secret_aliases)
        if secret_overrides is not None:
            pulumi.set(__self__, "secret_overrides", secret_overrides)
        if secrets is not None:
            pulumi.set(__self__, "secrets", secrets)
        if storages is not None:
            pulumi.set(__self__, "storages", storages)

    @property
    @pulumi.getter(name="advancedSettingsJson")
    def advanced_settings_json(self) -> Optional[pulumi.Input[str]]:
        """
        Advanced settings.
        """
        return pulumi.get(self, "advanced_settings_json")

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

    @property
    @pulumi.getter
    def arguments(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        List of arguments of this application.
        """
        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(name="autoDeploy")
    def auto_deploy(self) -> Optional[pulumi.Input[bool]]:
        """
        Specify if the application will be automatically updated after receiving a new image tag.
        """
        return pulumi.get(self, "auto_deploy")

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

    @property
    @pulumi.getter(name="autoPreview")
    def auto_preview(self) -> Optional[pulumi.Input[bool]]:
        """
        Specify if the environment preview option is activated or not for this application. - Default: `false`.
        """
        return pulumi.get(self, "auto_preview")

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

    @property
    @pulumi.getter(name="buildMode")
    def build_mode(self) -> Optional[pulumi.Input[str]]:
        """
        Build Mode of the application. - Can be: `BUILDPACKS`, `DOCKER`. - Default: `BUILDPACKS`.
        """
        return pulumi.get(self, "build_mode")

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

    @property
    @pulumi.getter(name="buildpackLanguage")
    def buildpack_language(self) -> Optional[pulumi.Input[str]]:
        """
        Buildpack Language framework. - Required if: `build_mode="BUILDPACKS"`. - Can be: `CLOJURE`, `GO`, `GRADLE`, `GRAILS`,
        `JAVA`, `JVM`, `NODE_JS`, `PHP`, `PLAY`, `PYTHON`, `SCALA`.
        """
        return pulumi.get(self, "buildpack_language")

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

    @property
    @pulumi.getter(name="builtInEnvironmentVariables")
    def built_in_environment_variables(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationBuiltInEnvironmentVariableArgs']]]]:
        """
        List of built-in environment variables linked to this application.
        """
        return pulumi.get(self, "built_in_environment_variables")

    @built_in_environment_variables.setter
    def built_in_environment_variables(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationBuiltInEnvironmentVariableArgs']]]]):
        pulumi.set(self, "built_in_environment_variables", value)

    @property
    @pulumi.getter
    def cpu(self) -> Optional[pulumi.Input[int]]:
        """
        CPU of the application in millicores (m) [1000m = 1 CPU]. - Must be: `>= 10`. - Default: `500`.
        """
        return pulumi.get(self, "cpu")

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

    @property
    @pulumi.getter(name="customDomains")
    def custom_domains(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationCustomDomainArgs']]]]:
        """
        List of custom domains linked to this application.
        """
        return pulumi.get(self, "custom_domains")

    @custom_domains.setter
    def custom_domains(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationCustomDomainArgs']]]]):
        pulumi.set(self, "custom_domains", value)

    @property
    @pulumi.getter(name="deploymentRestrictions")
    def deployment_restrictions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationDeploymentRestrictionArgs']]]]:
        """
        List of deployment restrictions
        """
        return pulumi.get(self, "deployment_restrictions")

    @deployment_restrictions.setter
    def deployment_restrictions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationDeploymentRestrictionArgs']]]]):
        pulumi.set(self, "deployment_restrictions", value)

    @property
    @pulumi.getter(name="deploymentStageId")
    def deployment_stage_id(self) -> Optional[pulumi.Input[str]]:
        """
        Id of the deployment stage.
        """
        return pulumi.get(self, "deployment_stage_id")

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

    @property
    @pulumi.getter(name="dockerfilePath")
    def dockerfile_path(self) -> Optional[pulumi.Input[str]]:
        """
        Dockerfile Path of the application. - Required if: `build_mode="DOCKER"`.
        """
        return pulumi.get(self, "dockerfile_path")

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

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

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

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

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

    @property
    @pulumi.getter(name="environmentVariableAliases")
    def environment_variable_aliases(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationEnvironmentVariableAliasArgs']]]]:
        """
        List of environment variable aliases linked to this application.
        """
        return pulumi.get(self, "environment_variable_aliases")

    @environment_variable_aliases.setter
    def environment_variable_aliases(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationEnvironmentVariableAliasArgs']]]]):
        pulumi.set(self, "environment_variable_aliases", value)

    @property
    @pulumi.getter(name="environmentVariableOverrides")
    def environment_variable_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationEnvironmentVariableOverrideArgs']]]]:
        """
        List of environment variable overrides linked to this application.
        """
        return pulumi.get(self, "environment_variable_overrides")

    @environment_variable_overrides.setter
    def environment_variable_overrides(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationEnvironmentVariableOverrideArgs']]]]):
        pulumi.set(self, "environment_variable_overrides", value)

    @property
    @pulumi.getter(name="environmentVariables")
    def environment_variables(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationEnvironmentVariableArgs']]]]:
        """
        List of environment variables linked to this application.
        """
        return pulumi.get(self, "environment_variables")

    @environment_variables.setter
    def environment_variables(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationEnvironmentVariableArgs']]]]):
        pulumi.set(self, "environment_variables", value)

    @property
    @pulumi.getter(name="externalHost")
    def external_host(self) -> Optional[pulumi.Input[str]]:
        """
        The application external FQDN host [NOTE: only if your application is using a publicly accessible port].
        """
        return pulumi.get(self, "external_host")

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

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

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

    @property
    @pulumi.getter
    def healthchecks(self) -> Optional[pulumi.Input['ApplicationHealthchecksArgs']]:
        """
        Configuration for the healthchecks that are going to be executed against your service
        """
        return pulumi.get(self, "healthchecks")

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

    @property
    @pulumi.getter(name="internalHost")
    def internal_host(self) -> Optional[pulumi.Input[str]]:
        """
        The application internal host.
        """
        return pulumi.get(self, "internal_host")

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

    @property
    @pulumi.getter(name="maxRunningInstances")
    def max_running_instances(self) -> Optional[pulumi.Input[int]]:
        """
        Maximum number of instances running for the application. - Must be: `>= -1`. - Default: `1`.
        """
        return pulumi.get(self, "max_running_instances")

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

    @property
    @pulumi.getter
    def memory(self) -> Optional[pulumi.Input[int]]:
        """
        RAM of the application in MB [1024MB = 1GB]. - Must be: `>= 1`. - Default: `512`.
        """
        return pulumi.get(self, "memory")

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

    @property
    @pulumi.getter(name="minRunningInstances")
    def min_running_instances(self) -> Optional[pulumi.Input[int]]:
        """
        Minimum number of instances running for the application. - Must be: `>= 0`. - Default: `1`.
        """
        return pulumi.get(self, "min_running_instances")

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

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

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

    @property
    @pulumi.getter
    def ports(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationPortArgs']]]]:
        """
        List of ports linked to this application.
        """
        return pulumi.get(self, "ports")

    @ports.setter
    def ports(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationPortArgs']]]]):
        pulumi.set(self, "ports", value)

    @property
    @pulumi.getter(name="secretAliases")
    def secret_aliases(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationSecretAliasArgs']]]]:
        """
        List of secret aliases linked to this application.
        """
        return pulumi.get(self, "secret_aliases")

    @secret_aliases.setter
    def secret_aliases(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationSecretAliasArgs']]]]):
        pulumi.set(self, "secret_aliases", value)

    @property
    @pulumi.getter(name="secretOverrides")
    def secret_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationSecretOverrideArgs']]]]:
        """
        List of secret overrides linked to this application.
        """
        return pulumi.get(self, "secret_overrides")

    @secret_overrides.setter
    def secret_overrides(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationSecretOverrideArgs']]]]):
        pulumi.set(self, "secret_overrides", value)

    @property
    @pulumi.getter
    def secrets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationSecretArgs']]]]:
        """
        List of secrets linked to this application.
        """
        return pulumi.get(self, "secrets")

    @secrets.setter
    def secrets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationSecretArgs']]]]):
        pulumi.set(self, "secrets", value)

    @property
    @pulumi.getter
    def storages(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationStorageArgs']]]]:
        """
        List of storages linked to this application.
        """
        return pulumi.get(self, "storages")

    @storages.setter
    def storages(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationStorageArgs']]]]):
        pulumi.set(self, "storages", value)


class Application(pulumi.CustomResource):
    @overload
    def __init__(__self__,
                 resource_name: str,
                 opts: Optional[pulumi.ResourceOptions] = None,
                 advanced_settings_json: Optional[pulumi.Input[str]] = None,
                 arguments: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 auto_deploy: Optional[pulumi.Input[bool]] = None,
                 auto_preview: Optional[pulumi.Input[bool]] = None,
                 build_mode: Optional[pulumi.Input[str]] = None,
                 buildpack_language: Optional[pulumi.Input[str]] = None,
                 cpu: Optional[pulumi.Input[int]] = None,
                 custom_domains: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationCustomDomainArgs']]]]] = None,
                 deployment_restrictions: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationDeploymentRestrictionArgs']]]]] = None,
                 deployment_stage_id: Optional[pulumi.Input[str]] = None,
                 dockerfile_path: Optional[pulumi.Input[str]] = None,
                 entrypoint: Optional[pulumi.Input[str]] = None,
                 environment_id: Optional[pulumi.Input[str]] = None,
                 environment_variable_aliases: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationEnvironmentVariableAliasArgs']]]]] = None,
                 environment_variable_overrides: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationEnvironmentVariableOverrideArgs']]]]] = None,
                 environment_variables: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationEnvironmentVariableArgs']]]]] = None,
                 git_repository: Optional[pulumi.Input[pulumi.InputType['ApplicationGitRepositoryArgs']]] = None,
                 healthchecks: Optional[pulumi.Input[pulumi.InputType['ApplicationHealthchecksArgs']]] = None,
                 max_running_instances: Optional[pulumi.Input[int]] = None,
                 memory: Optional[pulumi.Input[int]] = None,
                 min_running_instances: Optional[pulumi.Input[int]] = None,
                 name: Optional[pulumi.Input[str]] = None,
                 ports: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationPortArgs']]]]] = None,
                 secret_aliases: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationSecretAliasArgs']]]]] = None,
                 secret_overrides: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationSecretOverrideArgs']]]]] = None,
                 secrets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationSecretArgs']]]]] = None,
                 storages: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationStorageArgs']]]]] = None,
                 __props__=None):
        """
        ## # Application (Resource)

        Provides a Qovery application resource. This can be used to create and manage Qovery applications.

        ## Import

        ```sh
         $ pulumi import qovery:index/application:Application my_application "<application_id>"
        ```

        :param str resource_name: The name of the resource.
        :param pulumi.ResourceOptions opts: Options for the resource.
        :param pulumi.Input[str] advanced_settings_json: Advanced settings.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] arguments: List of arguments of this application.
        :param pulumi.Input[bool] auto_deploy: Specify if the application will be automatically updated after receiving a new image tag.
        :param pulumi.Input[bool] auto_preview: Specify if the environment preview option is activated or not for this application. - Default: `false`.
        :param pulumi.Input[str] build_mode: Build Mode of the application. - Can be: `BUILDPACKS`, `DOCKER`. - Default: `BUILDPACKS`.
        :param pulumi.Input[str] buildpack_language: Buildpack Language framework. - Required if: `build_mode="BUILDPACKS"`. - Can be: `CLOJURE`, `GO`, `GRADLE`, `GRAILS`,
               `JAVA`, `JVM`, `NODE_JS`, `PHP`, `PLAY`, `PYTHON`, `SCALA`.
        :param pulumi.Input[int] cpu: CPU of the application in millicores (m) [1000m = 1 CPU]. - Must be: `>= 10`. - Default: `500`.
        :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationCustomDomainArgs']]]] custom_domains: List of custom domains linked to this application.
        :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationDeploymentRestrictionArgs']]]] deployment_restrictions: List of deployment restrictions
        :param pulumi.Input[str] deployment_stage_id: Id of the deployment stage.
        :param pulumi.Input[str] dockerfile_path: Dockerfile Path of the application. - Required if: `build_mode="DOCKER"`.
        :param pulumi.Input[str] entrypoint: Entrypoint of the application.
        :param pulumi.Input[str] environment_id: Id of the environment.
        :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationEnvironmentVariableAliasArgs']]]] environment_variable_aliases: List of environment variable aliases linked to this application.
        :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationEnvironmentVariableOverrideArgs']]]] environment_variable_overrides: List of environment variable overrides linked to this application.
        :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationEnvironmentVariableArgs']]]] environment_variables: List of environment variables linked to this application.
        :param pulumi.Input[pulumi.InputType['ApplicationGitRepositoryArgs']] git_repository: Git repository of the application.
        :param pulumi.Input[pulumi.InputType['ApplicationHealthchecksArgs']] healthchecks: Configuration for the healthchecks that are going to be executed against your service
        :param pulumi.Input[int] max_running_instances: Maximum number of instances running for the application. - Must be: `>= -1`. - Default: `1`.
        :param pulumi.Input[int] memory: RAM of the application in MB [1024MB = 1GB]. - Must be: `>= 1`. - Default: `512`.
        :param pulumi.Input[int] min_running_instances: Minimum number of instances running for the application. - Must be: `>= 0`. - Default: `1`.
        :param pulumi.Input[str] name: Name of the application.
        :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationPortArgs']]]] ports: List of ports linked to this application.
        :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationSecretAliasArgs']]]] secret_aliases: List of secret aliases linked to this application.
        :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationSecretOverrideArgs']]]] secret_overrides: List of secret overrides linked to this application.
        :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationSecretArgs']]]] secrets: List of secrets linked to this application.
        :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationStorageArgs']]]] storages: List of storages linked to this application.
        """
        ...
    @overload
    def __init__(__self__,
                 resource_name: str,
                 args: ApplicationArgs,
                 opts: Optional[pulumi.ResourceOptions] = None):
        """
        ## # Application (Resource)

        Provides a Qovery application resource. This can be used to create and manage Qovery applications.

        ## Import

        ```sh
         $ pulumi import qovery:index/application:Application my_application "<application_id>"
        ```

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

    def _internal_init(__self__,
                 resource_name: str,
                 opts: Optional[pulumi.ResourceOptions] = None,
                 advanced_settings_json: Optional[pulumi.Input[str]] = None,
                 arguments: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 auto_deploy: Optional[pulumi.Input[bool]] = None,
                 auto_preview: Optional[pulumi.Input[bool]] = None,
                 build_mode: Optional[pulumi.Input[str]] = None,
                 buildpack_language: Optional[pulumi.Input[str]] = None,
                 cpu: Optional[pulumi.Input[int]] = None,
                 custom_domains: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationCustomDomainArgs']]]]] = None,
                 deployment_restrictions: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationDeploymentRestrictionArgs']]]]] = None,
                 deployment_stage_id: Optional[pulumi.Input[str]] = None,
                 dockerfile_path: Optional[pulumi.Input[str]] = None,
                 entrypoint: Optional[pulumi.Input[str]] = None,
                 environment_id: Optional[pulumi.Input[str]] = None,
                 environment_variable_aliases: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationEnvironmentVariableAliasArgs']]]]] = None,
                 environment_variable_overrides: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationEnvironmentVariableOverrideArgs']]]]] = None,
                 environment_variables: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationEnvironmentVariableArgs']]]]] = None,
                 git_repository: Optional[pulumi.Input[pulumi.InputType['ApplicationGitRepositoryArgs']]] = None,
                 healthchecks: Optional[pulumi.Input[pulumi.InputType['ApplicationHealthchecksArgs']]] = None,
                 max_running_instances: Optional[pulumi.Input[int]] = None,
                 memory: Optional[pulumi.Input[int]] = None,
                 min_running_instances: Optional[pulumi.Input[int]] = None,
                 name: Optional[pulumi.Input[str]] = None,
                 ports: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationPortArgs']]]]] = None,
                 secret_aliases: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationSecretAliasArgs']]]]] = None,
                 secret_overrides: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationSecretOverrideArgs']]]]] = None,
                 secrets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationSecretArgs']]]]] = None,
                 storages: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationStorageArgs']]]]] = None,
                 __props__=None):
        opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
        if not isinstance(opts, pulumi.ResourceOptions):
            raise TypeError('Expected resource options to be a ResourceOptions instance')
        if opts.id is None:
            if __props__ is not None:
                raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
            __props__ = ApplicationArgs.__new__(ApplicationArgs)

            __props__.__dict__["advanced_settings_json"] = advanced_settings_json
            __props__.__dict__["arguments"] = arguments
            __props__.__dict__["auto_deploy"] = auto_deploy
            __props__.__dict__["auto_preview"] = auto_preview
            __props__.__dict__["build_mode"] = build_mode
            __props__.__dict__["buildpack_language"] = buildpack_language
            __props__.__dict__["cpu"] = cpu
            __props__.__dict__["custom_domains"] = custom_domains
            __props__.__dict__["deployment_restrictions"] = deployment_restrictions
            __props__.__dict__["deployment_stage_id"] = deployment_stage_id
            __props__.__dict__["dockerfile_path"] = dockerfile_path
            __props__.__dict__["entrypoint"] = entrypoint
            if environment_id is None and not opts.urn:
                raise TypeError("Missing required property 'environment_id'")
            __props__.__dict__["environment_id"] = environment_id
            __props__.__dict__["environment_variable_aliases"] = environment_variable_aliases
            __props__.__dict__["environment_variable_overrides"] = environment_variable_overrides
            __props__.__dict__["environment_variables"] = environment_variables
            if git_repository is None and not opts.urn:
                raise TypeError("Missing required property 'git_repository'")
            __props__.__dict__["git_repository"] = git_repository
            if healthchecks is None and not opts.urn:
                raise TypeError("Missing required property 'healthchecks'")
            __props__.__dict__["healthchecks"] = healthchecks
            __props__.__dict__["max_running_instances"] = max_running_instances
            __props__.__dict__["memory"] = memory
            __props__.__dict__["min_running_instances"] = min_running_instances
            __props__.__dict__["name"] = name
            __props__.__dict__["ports"] = ports
            __props__.__dict__["secret_aliases"] = secret_aliases
            __props__.__dict__["secret_overrides"] = secret_overrides
            __props__.__dict__["secrets"] = secrets
            __props__.__dict__["storages"] = storages
            __props__.__dict__["built_in_environment_variables"] = None
            __props__.__dict__["external_host"] = None
            __props__.__dict__["internal_host"] = None
        super(Application, __self__).__init__(
            'qovery:index/application:Application',
            resource_name,
            __props__,
            opts)

    @staticmethod
    def get(resource_name: str,
            id: pulumi.Input[str],
            opts: Optional[pulumi.ResourceOptions] = None,
            advanced_settings_json: Optional[pulumi.Input[str]] = None,
            arguments: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
            auto_deploy: Optional[pulumi.Input[bool]] = None,
            auto_preview: Optional[pulumi.Input[bool]] = None,
            build_mode: Optional[pulumi.Input[str]] = None,
            buildpack_language: Optional[pulumi.Input[str]] = None,
            built_in_environment_variables: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationBuiltInEnvironmentVariableArgs']]]]] = None,
            cpu: Optional[pulumi.Input[int]] = None,
            custom_domains: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationCustomDomainArgs']]]]] = None,
            deployment_restrictions: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationDeploymentRestrictionArgs']]]]] = None,
            deployment_stage_id: Optional[pulumi.Input[str]] = None,
            dockerfile_path: Optional[pulumi.Input[str]] = None,
            entrypoint: Optional[pulumi.Input[str]] = None,
            environment_id: Optional[pulumi.Input[str]] = None,
            environment_variable_aliases: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationEnvironmentVariableAliasArgs']]]]] = None,
            environment_variable_overrides: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationEnvironmentVariableOverrideArgs']]]]] = None,
            environment_variables: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationEnvironmentVariableArgs']]]]] = None,
            external_host: Optional[pulumi.Input[str]] = None,
            git_repository: Optional[pulumi.Input[pulumi.InputType['ApplicationGitRepositoryArgs']]] = None,
            healthchecks: Optional[pulumi.Input[pulumi.InputType['ApplicationHealthchecksArgs']]] = None,
            internal_host: Optional[pulumi.Input[str]] = None,
            max_running_instances: Optional[pulumi.Input[int]] = None,
            memory: Optional[pulumi.Input[int]] = None,
            min_running_instances: Optional[pulumi.Input[int]] = None,
            name: Optional[pulumi.Input[str]] = None,
            ports: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationPortArgs']]]]] = None,
            secret_aliases: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationSecretAliasArgs']]]]] = None,
            secret_overrides: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationSecretOverrideArgs']]]]] = None,
            secrets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationSecretArgs']]]]] = None,
            storages: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationStorageArgs']]]]] = None) -> 'Application':
        """
        Get an existing Application resource's state with the given name, id, and optional extra
        properties used to qualify the lookup.

        :param str resource_name: The unique name of the resulting resource.
        :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
        :param pulumi.ResourceOptions opts: Options for the resource.
        :param pulumi.Input[str] advanced_settings_json: Advanced settings.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] arguments: List of arguments of this application.
        :param pulumi.Input[bool] auto_deploy: Specify if the application will be automatically updated after receiving a new image tag.
        :param pulumi.Input[bool] auto_preview: Specify if the environment preview option is activated or not for this application. - Default: `false`.
        :param pulumi.Input[str] build_mode: Build Mode of the application. - Can be: `BUILDPACKS`, `DOCKER`. - Default: `BUILDPACKS`.
        :param pulumi.Input[str] buildpack_language: Buildpack Language framework. - Required if: `build_mode="BUILDPACKS"`. - Can be: `CLOJURE`, `GO`, `GRADLE`, `GRAILS`,
               `JAVA`, `JVM`, `NODE_JS`, `PHP`, `PLAY`, `PYTHON`, `SCALA`.
        :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationBuiltInEnvironmentVariableArgs']]]] built_in_environment_variables: List of built-in environment variables linked to this application.
        :param pulumi.Input[int] cpu: CPU of the application in millicores (m) [1000m = 1 CPU]. - Must be: `>= 10`. - Default: `500`.
        :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationCustomDomainArgs']]]] custom_domains: List of custom domains linked to this application.
        :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationDeploymentRestrictionArgs']]]] deployment_restrictions: List of deployment restrictions
        :param pulumi.Input[str] deployment_stage_id: Id of the deployment stage.
        :param pulumi.Input[str] dockerfile_path: Dockerfile Path of the application. - Required if: `build_mode="DOCKER"`.
        :param pulumi.Input[str] entrypoint: Entrypoint of the application.
        :param pulumi.Input[str] environment_id: Id of the environment.
        :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationEnvironmentVariableAliasArgs']]]] environment_variable_aliases: List of environment variable aliases linked to this application.
        :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationEnvironmentVariableOverrideArgs']]]] environment_variable_overrides: List of environment variable overrides linked to this application.
        :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationEnvironmentVariableArgs']]]] environment_variables: List of environment variables linked to this application.
        :param pulumi.Input[str] external_host: The application external FQDN host [NOTE: only if your application is using a publicly accessible port].
        :param pulumi.Input[pulumi.InputType['ApplicationGitRepositoryArgs']] git_repository: Git repository of the application.
        :param pulumi.Input[pulumi.InputType['ApplicationHealthchecksArgs']] healthchecks: Configuration for the healthchecks that are going to be executed against your service
        :param pulumi.Input[str] internal_host: The application internal host.
        :param pulumi.Input[int] max_running_instances: Maximum number of instances running for the application. - Must be: `>= -1`. - Default: `1`.
        :param pulumi.Input[int] memory: RAM of the application in MB [1024MB = 1GB]. - Must be: `>= 1`. - Default: `512`.
        :param pulumi.Input[int] min_running_instances: Minimum number of instances running for the application. - Must be: `>= 0`. - Default: `1`.
        :param pulumi.Input[str] name: Name of the application.
        :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationPortArgs']]]] ports: List of ports linked to this application.
        :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationSecretAliasArgs']]]] secret_aliases: List of secret aliases linked to this application.
        :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationSecretOverrideArgs']]]] secret_overrides: List of secret overrides linked to this application.
        :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationSecretArgs']]]] secrets: List of secrets linked to this application.
        :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplicationStorageArgs']]]] storages: List of storages linked to this application.
        """
        opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))

        __props__ = _ApplicationState.__new__(_ApplicationState)

        __props__.__dict__["advanced_settings_json"] = advanced_settings_json
        __props__.__dict__["arguments"] = arguments
        __props__.__dict__["auto_deploy"] = auto_deploy
        __props__.__dict__["auto_preview"] = auto_preview
        __props__.__dict__["build_mode"] = build_mode
        __props__.__dict__["buildpack_language"] = buildpack_language
        __props__.__dict__["built_in_environment_variables"] = built_in_environment_variables
        __props__.__dict__["cpu"] = cpu
        __props__.__dict__["custom_domains"] = custom_domains
        __props__.__dict__["deployment_restrictions"] = deployment_restrictions
        __props__.__dict__["deployment_stage_id"] = deployment_stage_id
        __props__.__dict__["dockerfile_path"] = dockerfile_path
        __props__.__dict__["entrypoint"] = entrypoint
        __props__.__dict__["environment_id"] = environment_id
        __props__.__dict__["environment_variable_aliases"] = environment_variable_aliases
        __props__.__dict__["environment_variable_overrides"] = environment_variable_overrides
        __props__.__dict__["environment_variables"] = environment_variables
        __props__.__dict__["external_host"] = external_host
        __props__.__dict__["git_repository"] = git_repository
        __props__.__dict__["healthchecks"] = healthchecks
        __props__.__dict__["internal_host"] = internal_host
        __props__.__dict__["max_running_instances"] = max_running_instances
        __props__.__dict__["memory"] = memory
        __props__.__dict__["min_running_instances"] = min_running_instances
        __props__.__dict__["name"] = name
        __props__.__dict__["ports"] = ports
        __props__.__dict__["secret_aliases"] = secret_aliases
        __props__.__dict__["secret_overrides"] = secret_overrides
        __props__.__dict__["secrets"] = secrets
        __props__.__dict__["storages"] = storages
        return Application(resource_name, opts=opts, __props__=__props__)

    @property
    @pulumi.getter(name="advancedSettingsJson")
    def advanced_settings_json(self) -> pulumi.Output[str]:
        """
        Advanced settings.
        """
        return pulumi.get(self, "advanced_settings_json")

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

    @property
    @pulumi.getter(name="autoDeploy")
    def auto_deploy(self) -> pulumi.Output[bool]:
        """
        Specify if the application will be automatically updated after receiving a new image tag.
        """
        return pulumi.get(self, "auto_deploy")

    @property
    @pulumi.getter(name="autoPreview")
    def auto_preview(self) -> pulumi.Output[bool]:
        """
        Specify if the environment preview option is activated or not for this application. - Default: `false`.
        """
        return pulumi.get(self, "auto_preview")

    @property
    @pulumi.getter(name="buildMode")
    def build_mode(self) -> pulumi.Output[str]:
        """
        Build Mode of the application. - Can be: `BUILDPACKS`, `DOCKER`. - Default: `BUILDPACKS`.
        """
        return pulumi.get(self, "build_mode")

    @property
    @pulumi.getter(name="buildpackLanguage")
    def buildpack_language(self) -> pulumi.Output[Optional[str]]:
        """
        Buildpack Language framework. - Required if: `build_mode="BUILDPACKS"`. - Can be: `CLOJURE`, `GO`, `GRADLE`, `GRAILS`,
        `JAVA`, `JVM`, `NODE_JS`, `PHP`, `PLAY`, `PYTHON`, `SCALA`.
        """
        return pulumi.get(self, "buildpack_language")

    @property
    @pulumi.getter(name="builtInEnvironmentVariables")
    def built_in_environment_variables(self) -> pulumi.Output[Sequence['outputs.ApplicationBuiltInEnvironmentVariable']]:
        """
        List of built-in environment variables linked to this application.
        """
        return pulumi.get(self, "built_in_environment_variables")

    @property
    @pulumi.getter
    def cpu(self) -> pulumi.Output[int]:
        """
        CPU of the application in millicores (m) [1000m = 1 CPU]. - Must be: `>= 10`. - Default: `500`.
        """
        return pulumi.get(self, "cpu")

    @property
    @pulumi.getter(name="customDomains")
    def custom_domains(self) -> pulumi.Output[Optional[Sequence['outputs.ApplicationCustomDomain']]]:
        """
        List of custom domains linked to this application.
        """
        return pulumi.get(self, "custom_domains")

    @property
    @pulumi.getter(name="deploymentRestrictions")
    def deployment_restrictions(self) -> pulumi.Output[Optional[Sequence['outputs.ApplicationDeploymentRestriction']]]:
        """
        List of deployment restrictions
        """
        return pulumi.get(self, "deployment_restrictions")

    @property
    @pulumi.getter(name="deploymentStageId")
    def deployment_stage_id(self) -> pulumi.Output[str]:
        """
        Id of the deployment stage.
        """
        return pulumi.get(self, "deployment_stage_id")

    @property
    @pulumi.getter(name="dockerfilePath")
    def dockerfile_path(self) -> pulumi.Output[Optional[str]]:
        """
        Dockerfile Path of the application. - Required if: `build_mode="DOCKER"`.
        """
        return pulumi.get(self, "dockerfile_path")

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

    @property
    @pulumi.getter(name="environmentId")
    def environment_id(self) -> pulumi.Output[str]:
        """
        Id of the environment.
        """
        return pulumi.get(self, "environment_id")

    @property
    @pulumi.getter(name="environmentVariableAliases")
    def environment_variable_aliases(self) -> pulumi.Output[Optional[Sequence['outputs.ApplicationEnvironmentVariableAlias']]]:
        """
        List of environment variable aliases linked to this application.
        """
        return pulumi.get(self, "environment_variable_aliases")

    @property
    @pulumi.getter(name="environmentVariableOverrides")
    def environment_variable_overrides(self) -> pulumi.Output[Optional[Sequence['outputs.ApplicationEnvironmentVariableOverride']]]:
        """
        List of environment variable overrides linked to this application.
        """
        return pulumi.get(self, "environment_variable_overrides")

    @property
    @pulumi.getter(name="environmentVariables")
    def environment_variables(self) -> pulumi.Output[Optional[Sequence['outputs.ApplicationEnvironmentVariable']]]:
        """
        List of environment variables linked to this application.
        """
        return pulumi.get(self, "environment_variables")

    @property
    @pulumi.getter(name="externalHost")
    def external_host(self) -> pulumi.Output[str]:
        """
        The application external FQDN host [NOTE: only if your application is using a publicly accessible port].
        """
        return pulumi.get(self, "external_host")

    @property
    @pulumi.getter(name="gitRepository")
    def git_repository(self) -> pulumi.Output['outputs.ApplicationGitRepository']:
        """
        Git repository of the application.
        """
        return pulumi.get(self, "git_repository")

    @property
    @pulumi.getter
    def healthchecks(self) -> pulumi.Output['outputs.ApplicationHealthchecks']:
        """
        Configuration for the healthchecks that are going to be executed against your service
        """
        return pulumi.get(self, "healthchecks")

    @property
    @pulumi.getter(name="internalHost")
    def internal_host(self) -> pulumi.Output[str]:
        """
        The application internal host.
        """
        return pulumi.get(self, "internal_host")

    @property
    @pulumi.getter(name="maxRunningInstances")
    def max_running_instances(self) -> pulumi.Output[int]:
        """
        Maximum number of instances running for the application. - Must be: `>= -1`. - Default: `1`.
        """
        return pulumi.get(self, "max_running_instances")

    @property
    @pulumi.getter
    def memory(self) -> pulumi.Output[int]:
        """
        RAM of the application in MB [1024MB = 1GB]. - Must be: `>= 1`. - Default: `512`.
        """
        return pulumi.get(self, "memory")

    @property
    @pulumi.getter(name="minRunningInstances")
    def min_running_instances(self) -> pulumi.Output[int]:
        """
        Minimum number of instances running for the application. - Must be: `>= 0`. - Default: `1`.
        """
        return pulumi.get(self, "min_running_instances")

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

    @property
    @pulumi.getter
    def ports(self) -> pulumi.Output[Optional[Sequence['outputs.ApplicationPort']]]:
        """
        List of ports linked to this application.
        """
        return pulumi.get(self, "ports")

    @property
    @pulumi.getter(name="secretAliases")
    def secret_aliases(self) -> pulumi.Output[Optional[Sequence['outputs.ApplicationSecretAlias']]]:
        """
        List of secret aliases linked to this application.
        """
        return pulumi.get(self, "secret_aliases")

    @property
    @pulumi.getter(name="secretOverrides")
    def secret_overrides(self) -> pulumi.Output[Optional[Sequence['outputs.ApplicationSecretOverride']]]:
        """
        List of secret overrides linked to this application.
        """
        return pulumi.get(self, "secret_overrides")

    @property
    @pulumi.getter
    def secrets(self) -> pulumi.Output[Optional[Sequence['outputs.ApplicationSecret']]]:
        """
        List of secrets linked to this application.
        """
        return pulumi.get(self, "secrets")

    @property
    @pulumi.getter
    def storages(self) -> pulumi.Output[Optional[Sequence['outputs.ApplicationStorage']]]:
        """
        List of storages linked to this application.
        """
        return pulumi.get(self, "storages")

