# 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__ = ['HelmArgs', 'Helm']

@pulumi.input_type
class HelmArgs:
    def __init__(__self__, *,
                 allow_cluster_wide_resources: pulumi.Input[bool],
                 environment_id: pulumi.Input[str],
                 source: pulumi.Input['HelmSourceArgs'],
                 values_override: pulumi.Input['HelmValuesOverrideArgs'],
                 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,
                 deployment_restrictions: Optional[pulumi.Input[Sequence[pulumi.Input['HelmDeploymentRestrictionArgs']]]] = None,
                 deployment_stage_id: Optional[pulumi.Input[str]] = None,
                 environment_variable_aliases: Optional[pulumi.Input[Sequence[pulumi.Input['HelmEnvironmentVariableAliasArgs']]]] = None,
                 environment_variable_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['HelmEnvironmentVariableOverrideArgs']]]] = None,
                 environment_variables: Optional[pulumi.Input[Sequence[pulumi.Input['HelmEnvironmentVariableArgs']]]] = None,
                 name: Optional[pulumi.Input[str]] = None,
                 ports: Optional[pulumi.Input[Mapping[str, pulumi.Input['HelmPortsArgs']]]] = None,
                 secret_aliases: Optional[pulumi.Input[Sequence[pulumi.Input['HelmSecretAliasArgs']]]] = None,
                 secret_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['HelmSecretOverrideArgs']]]] = None,
                 secrets: Optional[pulumi.Input[Sequence[pulumi.Input['HelmSecretArgs']]]] = None,
                 timeout_sec: Optional[pulumi.Input[int]] = None):
        """
        The set of arguments for constructing a Helm resource.
        :param pulumi.Input[bool] allow_cluster_wide_resources: Allow this chart to deploy resources outside of this environment namespace (including CRDs or non-namespaced resources)
        :param pulumi.Input[str] environment_id: Id of the environment.
        :param pulumi.Input['HelmSourceArgs'] source: Helm chart from a Helm repository or from a git repository
        :param pulumi.Input['HelmValuesOverrideArgs'] values_override: Define your own overrides to customize the helm chart behaviour.
        :param pulumi.Input[str] advanced_settings_json: Advanced settings.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] arguments: Helm arguments
        :param pulumi.Input[bool] auto_deploy: Specify if the service will be automatically updated on every new commit on the branch.
        :param pulumi.Input[bool] auto_preview: Specify if the environment preview option is activated or not for this helm.
        :param pulumi.Input[Sequence[pulumi.Input['HelmDeploymentRestrictionArgs']]] deployment_restrictions: List of deployment restrictions
        :param pulumi.Input[str] deployment_stage_id: Id of the deployment stage.
        :param pulumi.Input[Sequence[pulumi.Input['HelmEnvironmentVariableAliasArgs']]] environment_variable_aliases: List of environment variable aliases linked to this helm.
        :param pulumi.Input[Sequence[pulumi.Input['HelmEnvironmentVariableOverrideArgs']]] environment_variable_overrides: List of environment variable overrides linked to this helm.
        :param pulumi.Input[Sequence[pulumi.Input['HelmEnvironmentVariableArgs']]] environment_variables: List of environment variables linked to this helm.
        :param pulumi.Input[str] name: Name of the helm.
        :param pulumi.Input[Mapping[str, pulumi.Input['HelmPortsArgs']]] ports: List of ports linked to this helm.
        :param pulumi.Input[Sequence[pulumi.Input['HelmSecretAliasArgs']]] secret_aliases: List of secret aliases linked to this helm.
        :param pulumi.Input[Sequence[pulumi.Input['HelmSecretOverrideArgs']]] secret_overrides: List of secret overrides linked to this helm.
        :param pulumi.Input[Sequence[pulumi.Input['HelmSecretArgs']]] secrets: List of secrets linked to this helm.
        :param pulumi.Input[int] timeout_sec: Helm timeout in second
        """
        pulumi.set(__self__, "allow_cluster_wide_resources", allow_cluster_wide_resources)
        pulumi.set(__self__, "environment_id", environment_id)
        pulumi.set(__self__, "source", source)
        pulumi.set(__self__, "values_override", values_override)
        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 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 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 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 timeout_sec is not None:
            pulumi.set(__self__, "timeout_sec", timeout_sec)

    @property
    @pulumi.getter(name="allowClusterWideResources")
    def allow_cluster_wide_resources(self) -> pulumi.Input[bool]:
        """
        Allow this chart to deploy resources outside of this environment namespace (including CRDs or non-namespaced resources)
        """
        return pulumi.get(self, "allow_cluster_wide_resources")

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

    @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
    def source(self) -> pulumi.Input['HelmSourceArgs']:
        """
        Helm chart from a Helm repository or from a git repository
        """
        return pulumi.get(self, "source")

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

    @property
    @pulumi.getter(name="valuesOverride")
    def values_override(self) -> pulumi.Input['HelmValuesOverrideArgs']:
        """
        Define your own overrides to customize the helm chart behaviour.
        """
        return pulumi.get(self, "values_override")

    @values_override.setter
    def values_override(self, value: pulumi.Input['HelmValuesOverrideArgs']):
        pulumi.set(self, "values_override", 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]]]]:
        """
        Helm arguments
        """
        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 service will be automatically updated on every new commit on the branch.
        """
        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 helm.
        """
        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="deploymentRestrictions")
    def deployment_restrictions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['HelmDeploymentRestrictionArgs']]]]:
        """
        List of deployment restrictions
        """
        return pulumi.get(self, "deployment_restrictions")

    @deployment_restrictions.setter
    def deployment_restrictions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['HelmDeploymentRestrictionArgs']]]]):
        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="environmentVariableAliases")
    def environment_variable_aliases(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['HelmEnvironmentVariableAliasArgs']]]]:
        """
        List of environment variable aliases linked to this helm.
        """
        return pulumi.get(self, "environment_variable_aliases")

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

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

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

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

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

    @property
    @pulumi.getter
    def name(self) -> Optional[pulumi.Input[str]]:
        """
        Name of the helm.
        """
        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[Mapping[str, pulumi.Input['HelmPortsArgs']]]]:
        """
        List of ports linked to this helm.
        """
        return pulumi.get(self, "ports")

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

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

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

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

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

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

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

    @property
    @pulumi.getter(name="timeoutSec")
    def timeout_sec(self) -> Optional[pulumi.Input[int]]:
        """
        Helm timeout in second
        """
        return pulumi.get(self, "timeout_sec")

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


@pulumi.input_type
class _HelmState:
    def __init__(__self__, *,
                 advanced_settings_json: Optional[pulumi.Input[str]] = None,
                 allow_cluster_wide_resources: Optional[pulumi.Input[bool]] = None,
                 arguments: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 auto_deploy: Optional[pulumi.Input[bool]] = None,
                 auto_preview: Optional[pulumi.Input[bool]] = None,
                 built_in_environment_variables: Optional[pulumi.Input[Sequence[pulumi.Input['HelmBuiltInEnvironmentVariableArgs']]]] = None,
                 deployment_restrictions: Optional[pulumi.Input[Sequence[pulumi.Input['HelmDeploymentRestrictionArgs']]]] = None,
                 deployment_stage_id: Optional[pulumi.Input[str]] = None,
                 environment_id: Optional[pulumi.Input[str]] = None,
                 environment_variable_aliases: Optional[pulumi.Input[Sequence[pulumi.Input['HelmEnvironmentVariableAliasArgs']]]] = None,
                 environment_variable_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['HelmEnvironmentVariableOverrideArgs']]]] = None,
                 environment_variables: Optional[pulumi.Input[Sequence[pulumi.Input['HelmEnvironmentVariableArgs']]]] = None,
                 external_host: Optional[pulumi.Input[str]] = None,
                 internal_host: Optional[pulumi.Input[str]] = None,
                 name: Optional[pulumi.Input[str]] = None,
                 ports: Optional[pulumi.Input[Mapping[str, pulumi.Input['HelmPortsArgs']]]] = None,
                 secret_aliases: Optional[pulumi.Input[Sequence[pulumi.Input['HelmSecretAliasArgs']]]] = None,
                 secret_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['HelmSecretOverrideArgs']]]] = None,
                 secrets: Optional[pulumi.Input[Sequence[pulumi.Input['HelmSecretArgs']]]] = None,
                 source: Optional[pulumi.Input['HelmSourceArgs']] = None,
                 timeout_sec: Optional[pulumi.Input[int]] = None,
                 values_override: Optional[pulumi.Input['HelmValuesOverrideArgs']] = None):
        """
        Input properties used for looking up and filtering Helm resources.
        :param pulumi.Input[str] advanced_settings_json: Advanced settings.
        :param pulumi.Input[bool] allow_cluster_wide_resources: Allow this chart to deploy resources outside of this environment namespace (including CRDs or non-namespaced resources)
        :param pulumi.Input[Sequence[pulumi.Input[str]]] arguments: Helm arguments
        :param pulumi.Input[bool] auto_deploy: Specify if the service will be automatically updated on every new commit on the branch.
        :param pulumi.Input[bool] auto_preview: Specify if the environment preview option is activated or not for this helm.
        :param pulumi.Input[Sequence[pulumi.Input['HelmBuiltInEnvironmentVariableArgs']]] built_in_environment_variables: List of built-in environment variables linked to this helm.
        :param pulumi.Input[Sequence[pulumi.Input['HelmDeploymentRestrictionArgs']]] deployment_restrictions: List of deployment restrictions
        :param pulumi.Input[str] deployment_stage_id: Id of the deployment stage.
        :param pulumi.Input[str] environment_id: Id of the environment.
        :param pulumi.Input[Sequence[pulumi.Input['HelmEnvironmentVariableAliasArgs']]] environment_variable_aliases: List of environment variable aliases linked to this helm.
        :param pulumi.Input[Sequence[pulumi.Input['HelmEnvironmentVariableOverrideArgs']]] environment_variable_overrides: List of environment variable overrides linked to this helm.
        :param pulumi.Input[Sequence[pulumi.Input['HelmEnvironmentVariableArgs']]] environment_variables: List of environment variables linked to this helm.
        :param pulumi.Input[str] external_host: The helm external FQDN host [NOTE: only if your helm is using a publicly accessible port].
        :param pulumi.Input[str] internal_host: The helm internal host.
        :param pulumi.Input[str] name: Name of the helm.
        :param pulumi.Input[Mapping[str, pulumi.Input['HelmPortsArgs']]] ports: List of ports linked to this helm.
        :param pulumi.Input[Sequence[pulumi.Input['HelmSecretAliasArgs']]] secret_aliases: List of secret aliases linked to this helm.
        :param pulumi.Input[Sequence[pulumi.Input['HelmSecretOverrideArgs']]] secret_overrides: List of secret overrides linked to this helm.
        :param pulumi.Input[Sequence[pulumi.Input['HelmSecretArgs']]] secrets: List of secrets linked to this helm.
        :param pulumi.Input['HelmSourceArgs'] source: Helm chart from a Helm repository or from a git repository
        :param pulumi.Input[int] timeout_sec: Helm timeout in second
        :param pulumi.Input['HelmValuesOverrideArgs'] values_override: Define your own overrides to customize the helm chart behaviour.
        """
        if advanced_settings_json is not None:
            pulumi.set(__self__, "advanced_settings_json", advanced_settings_json)
        if allow_cluster_wide_resources is not None:
            pulumi.set(__self__, "allow_cluster_wide_resources", allow_cluster_wide_resources)
        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 built_in_environment_variables is not None:
            pulumi.set(__self__, "built_in_environment_variables", built_in_environment_variables)
        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 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 internal_host is not None:
            pulumi.set(__self__, "internal_host", internal_host)
        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 source is not None:
            pulumi.set(__self__, "source", source)
        if timeout_sec is not None:
            pulumi.set(__self__, "timeout_sec", timeout_sec)
        if values_override is not None:
            pulumi.set(__self__, "values_override", values_override)

    @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(name="allowClusterWideResources")
    def allow_cluster_wide_resources(self) -> Optional[pulumi.Input[bool]]:
        """
        Allow this chart to deploy resources outside of this environment namespace (including CRDs or non-namespaced resources)
        """
        return pulumi.get(self, "allow_cluster_wide_resources")

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

    @property
    @pulumi.getter
    def arguments(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Helm arguments
        """
        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 service will be automatically updated on every new commit on the branch.
        """
        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 helm.
        """
        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="builtInEnvironmentVariables")
    def built_in_environment_variables(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['HelmBuiltInEnvironmentVariableArgs']]]]:
        """
        List of built-in environment variables linked to this helm.
        """
        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['HelmBuiltInEnvironmentVariableArgs']]]]):
        pulumi.set(self, "built_in_environment_variables", value)

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

    @deployment_restrictions.setter
    def deployment_restrictions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['HelmDeploymentRestrictionArgs']]]]):
        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="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['HelmEnvironmentVariableAliasArgs']]]]:
        """
        List of environment variable aliases linked to this helm.
        """
        return pulumi.get(self, "environment_variable_aliases")

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

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

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

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

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

    @property
    @pulumi.getter(name="externalHost")
    def external_host(self) -> Optional[pulumi.Input[str]]:
        """
        The helm external FQDN host [NOTE: only if your helm 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="internalHost")
    def internal_host(self) -> Optional[pulumi.Input[str]]:
        """
        The helm 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
    def name(self) -> Optional[pulumi.Input[str]]:
        """
        Name of the helm.
        """
        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[Mapping[str, pulumi.Input['HelmPortsArgs']]]]:
        """
        List of ports linked to this helm.
        """
        return pulumi.get(self, "ports")

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

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

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

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

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

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

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

    @property
    @pulumi.getter
    def source(self) -> Optional[pulumi.Input['HelmSourceArgs']]:
        """
        Helm chart from a Helm repository or from a git repository
        """
        return pulumi.get(self, "source")

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

    @property
    @pulumi.getter(name="timeoutSec")
    def timeout_sec(self) -> Optional[pulumi.Input[int]]:
        """
        Helm timeout in second
        """
        return pulumi.get(self, "timeout_sec")

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

    @property
    @pulumi.getter(name="valuesOverride")
    def values_override(self) -> Optional[pulumi.Input['HelmValuesOverrideArgs']]:
        """
        Define your own overrides to customize the helm chart behaviour.
        """
        return pulumi.get(self, "values_override")

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


class Helm(pulumi.CustomResource):
    @overload
    def __init__(__self__,
                 resource_name: str,
                 opts: Optional[pulumi.ResourceOptions] = None,
                 advanced_settings_json: Optional[pulumi.Input[str]] = None,
                 allow_cluster_wide_resources: Optional[pulumi.Input[bool]] = None,
                 arguments: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 auto_deploy: Optional[pulumi.Input[bool]] = None,
                 auto_preview: Optional[pulumi.Input[bool]] = None,
                 deployment_restrictions: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HelmDeploymentRestrictionArgs']]]]] = None,
                 deployment_stage_id: Optional[pulumi.Input[str]] = None,
                 environment_id: Optional[pulumi.Input[str]] = None,
                 environment_variable_aliases: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HelmEnvironmentVariableAliasArgs']]]]] = None,
                 environment_variable_overrides: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HelmEnvironmentVariableOverrideArgs']]]]] = None,
                 environment_variables: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HelmEnvironmentVariableArgs']]]]] = None,
                 name: Optional[pulumi.Input[str]] = None,
                 ports: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['HelmPortsArgs']]]]] = None,
                 secret_aliases: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HelmSecretAliasArgs']]]]] = None,
                 secret_overrides: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HelmSecretOverrideArgs']]]]] = None,
                 secrets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HelmSecretArgs']]]]] = None,
                 source: Optional[pulumi.Input[pulumi.InputType['HelmSourceArgs']]] = None,
                 timeout_sec: Optional[pulumi.Input[int]] = None,
                 values_override: Optional[pulumi.Input[pulumi.InputType['HelmValuesOverrideArgs']]] = None,
                 __props__=None):
        """
        ## # Helm (Resource)

        Provides a Qovery helm resource. This can be used to create and manage Qovery helm registry.

        ## Import

        ```sh
         $ pulumi import qovery:index/helm:Helm my_helm "<helm_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[bool] allow_cluster_wide_resources: Allow this chart to deploy resources outside of this environment namespace (including CRDs or non-namespaced resources)
        :param pulumi.Input[Sequence[pulumi.Input[str]]] arguments: Helm arguments
        :param pulumi.Input[bool] auto_deploy: Specify if the service will be automatically updated on every new commit on the branch.
        :param pulumi.Input[bool] auto_preview: Specify if the environment preview option is activated or not for this helm.
        :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HelmDeploymentRestrictionArgs']]]] deployment_restrictions: List of deployment restrictions
        :param pulumi.Input[str] deployment_stage_id: Id of the deployment stage.
        :param pulumi.Input[str] environment_id: Id of the environment.
        :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HelmEnvironmentVariableAliasArgs']]]] environment_variable_aliases: List of environment variable aliases linked to this helm.
        :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HelmEnvironmentVariableOverrideArgs']]]] environment_variable_overrides: List of environment variable overrides linked to this helm.
        :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HelmEnvironmentVariableArgs']]]] environment_variables: List of environment variables linked to this helm.
        :param pulumi.Input[str] name: Name of the helm.
        :param pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['HelmPortsArgs']]]] ports: List of ports linked to this helm.
        :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HelmSecretAliasArgs']]]] secret_aliases: List of secret aliases linked to this helm.
        :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HelmSecretOverrideArgs']]]] secret_overrides: List of secret overrides linked to this helm.
        :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HelmSecretArgs']]]] secrets: List of secrets linked to this helm.
        :param pulumi.Input[pulumi.InputType['HelmSourceArgs']] source: Helm chart from a Helm repository or from a git repository
        :param pulumi.Input[int] timeout_sec: Helm timeout in second
        :param pulumi.Input[pulumi.InputType['HelmValuesOverrideArgs']] values_override: Define your own overrides to customize the helm chart behaviour.
        """
        ...
    @overload
    def __init__(__self__,
                 resource_name: str,
                 args: HelmArgs,
                 opts: Optional[pulumi.ResourceOptions] = None):
        """
        ## # Helm (Resource)

        Provides a Qovery helm resource. This can be used to create and manage Qovery helm registry.

        ## Import

        ```sh
         $ pulumi import qovery:index/helm:Helm my_helm "<helm_id>"
        ```

        :param str resource_name: The name of the resource.
        :param HelmArgs 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(HelmArgs, 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,
                 allow_cluster_wide_resources: Optional[pulumi.Input[bool]] = None,
                 arguments: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 auto_deploy: Optional[pulumi.Input[bool]] = None,
                 auto_preview: Optional[pulumi.Input[bool]] = None,
                 deployment_restrictions: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HelmDeploymentRestrictionArgs']]]]] = None,
                 deployment_stage_id: Optional[pulumi.Input[str]] = None,
                 environment_id: Optional[pulumi.Input[str]] = None,
                 environment_variable_aliases: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HelmEnvironmentVariableAliasArgs']]]]] = None,
                 environment_variable_overrides: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HelmEnvironmentVariableOverrideArgs']]]]] = None,
                 environment_variables: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HelmEnvironmentVariableArgs']]]]] = None,
                 name: Optional[pulumi.Input[str]] = None,
                 ports: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['HelmPortsArgs']]]]] = None,
                 secret_aliases: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HelmSecretAliasArgs']]]]] = None,
                 secret_overrides: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HelmSecretOverrideArgs']]]]] = None,
                 secrets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HelmSecretArgs']]]]] = None,
                 source: Optional[pulumi.Input[pulumi.InputType['HelmSourceArgs']]] = None,
                 timeout_sec: Optional[pulumi.Input[int]] = None,
                 values_override: Optional[pulumi.Input[pulumi.InputType['HelmValuesOverrideArgs']]] = 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__ = HelmArgs.__new__(HelmArgs)

            __props__.__dict__["advanced_settings_json"] = advanced_settings_json
            if allow_cluster_wide_resources is None and not opts.urn:
                raise TypeError("Missing required property 'allow_cluster_wide_resources'")
            __props__.__dict__["allow_cluster_wide_resources"] = allow_cluster_wide_resources
            __props__.__dict__["arguments"] = arguments
            __props__.__dict__["auto_deploy"] = auto_deploy
            __props__.__dict__["auto_preview"] = auto_preview
            __props__.__dict__["deployment_restrictions"] = deployment_restrictions
            __props__.__dict__["deployment_stage_id"] = deployment_stage_id
            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
            __props__.__dict__["name"] = name
            __props__.__dict__["ports"] = ports
            __props__.__dict__["secret_aliases"] = secret_aliases
            __props__.__dict__["secret_overrides"] = secret_overrides
            __props__.__dict__["secrets"] = secrets
            if source is None and not opts.urn:
                raise TypeError("Missing required property 'source'")
            __props__.__dict__["source"] = source
            __props__.__dict__["timeout_sec"] = timeout_sec
            if values_override is None and not opts.urn:
                raise TypeError("Missing required property 'values_override'")
            __props__.__dict__["values_override"] = values_override
            __props__.__dict__["built_in_environment_variables"] = None
            __props__.__dict__["external_host"] = None
            __props__.__dict__["internal_host"] = None
        super(Helm, __self__).__init__(
            'qovery:index/helm:Helm',
            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,
            allow_cluster_wide_resources: Optional[pulumi.Input[bool]] = None,
            arguments: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
            auto_deploy: Optional[pulumi.Input[bool]] = None,
            auto_preview: Optional[pulumi.Input[bool]] = None,
            built_in_environment_variables: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HelmBuiltInEnvironmentVariableArgs']]]]] = None,
            deployment_restrictions: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HelmDeploymentRestrictionArgs']]]]] = None,
            deployment_stage_id: Optional[pulumi.Input[str]] = None,
            environment_id: Optional[pulumi.Input[str]] = None,
            environment_variable_aliases: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HelmEnvironmentVariableAliasArgs']]]]] = None,
            environment_variable_overrides: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HelmEnvironmentVariableOverrideArgs']]]]] = None,
            environment_variables: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HelmEnvironmentVariableArgs']]]]] = None,
            external_host: Optional[pulumi.Input[str]] = None,
            internal_host: Optional[pulumi.Input[str]] = None,
            name: Optional[pulumi.Input[str]] = None,
            ports: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['HelmPortsArgs']]]]] = None,
            secret_aliases: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HelmSecretAliasArgs']]]]] = None,
            secret_overrides: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HelmSecretOverrideArgs']]]]] = None,
            secrets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HelmSecretArgs']]]]] = None,
            source: Optional[pulumi.Input[pulumi.InputType['HelmSourceArgs']]] = None,
            timeout_sec: Optional[pulumi.Input[int]] = None,
            values_override: Optional[pulumi.Input[pulumi.InputType['HelmValuesOverrideArgs']]] = None) -> 'Helm':
        """
        Get an existing Helm 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[bool] allow_cluster_wide_resources: Allow this chart to deploy resources outside of this environment namespace (including CRDs or non-namespaced resources)
        :param pulumi.Input[Sequence[pulumi.Input[str]]] arguments: Helm arguments
        :param pulumi.Input[bool] auto_deploy: Specify if the service will be automatically updated on every new commit on the branch.
        :param pulumi.Input[bool] auto_preview: Specify if the environment preview option is activated or not for this helm.
        :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HelmBuiltInEnvironmentVariableArgs']]]] built_in_environment_variables: List of built-in environment variables linked to this helm.
        :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HelmDeploymentRestrictionArgs']]]] deployment_restrictions: List of deployment restrictions
        :param pulumi.Input[str] deployment_stage_id: Id of the deployment stage.
        :param pulumi.Input[str] environment_id: Id of the environment.
        :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HelmEnvironmentVariableAliasArgs']]]] environment_variable_aliases: List of environment variable aliases linked to this helm.
        :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HelmEnvironmentVariableOverrideArgs']]]] environment_variable_overrides: List of environment variable overrides linked to this helm.
        :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HelmEnvironmentVariableArgs']]]] environment_variables: List of environment variables linked to this helm.
        :param pulumi.Input[str] external_host: The helm external FQDN host [NOTE: only if your helm is using a publicly accessible port].
        :param pulumi.Input[str] internal_host: The helm internal host.
        :param pulumi.Input[str] name: Name of the helm.
        :param pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['HelmPortsArgs']]]] ports: List of ports linked to this helm.
        :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HelmSecretAliasArgs']]]] secret_aliases: List of secret aliases linked to this helm.
        :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HelmSecretOverrideArgs']]]] secret_overrides: List of secret overrides linked to this helm.
        :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HelmSecretArgs']]]] secrets: List of secrets linked to this helm.
        :param pulumi.Input[pulumi.InputType['HelmSourceArgs']] source: Helm chart from a Helm repository or from a git repository
        :param pulumi.Input[int] timeout_sec: Helm timeout in second
        :param pulumi.Input[pulumi.InputType['HelmValuesOverrideArgs']] values_override: Define your own overrides to customize the helm chart behaviour.
        """
        opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))

        __props__ = _HelmState.__new__(_HelmState)

        __props__.__dict__["advanced_settings_json"] = advanced_settings_json
        __props__.__dict__["allow_cluster_wide_resources"] = allow_cluster_wide_resources
        __props__.__dict__["arguments"] = arguments
        __props__.__dict__["auto_deploy"] = auto_deploy
        __props__.__dict__["auto_preview"] = auto_preview
        __props__.__dict__["built_in_environment_variables"] = built_in_environment_variables
        __props__.__dict__["deployment_restrictions"] = deployment_restrictions
        __props__.__dict__["deployment_stage_id"] = deployment_stage_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
        __props__.__dict__["external_host"] = external_host
        __props__.__dict__["internal_host"] = internal_host
        __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__["source"] = source
        __props__.__dict__["timeout_sec"] = timeout_sec
        __props__.__dict__["values_override"] = values_override
        return Helm(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(name="allowClusterWideResources")
    def allow_cluster_wide_resources(self) -> pulumi.Output[bool]:
        """
        Allow this chart to deploy resources outside of this environment namespace (including CRDs or non-namespaced resources)
        """
        return pulumi.get(self, "allow_cluster_wide_resources")

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

    @property
    @pulumi.getter(name="autoDeploy")
    def auto_deploy(self) -> pulumi.Output[bool]:
        """
        Specify if the service will be automatically updated on every new commit on the branch.
        """
        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 helm.
        """
        return pulumi.get(self, "auto_preview")

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

    @property
    @pulumi.getter(name="deploymentRestrictions")
    def deployment_restrictions(self) -> pulumi.Output[Optional[Sequence['outputs.HelmDeploymentRestriction']]]:
        """
        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="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.HelmEnvironmentVariableAlias']]]:
        """
        List of environment variable aliases linked to this helm.
        """
        return pulumi.get(self, "environment_variable_aliases")

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

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

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

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

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

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

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

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

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

    @property
    @pulumi.getter
    def source(self) -> pulumi.Output['outputs.HelmSource']:
        """
        Helm chart from a Helm repository or from a git repository
        """
        return pulumi.get(self, "source")

    @property
    @pulumi.getter(name="timeoutSec")
    def timeout_sec(self) -> pulumi.Output[int]:
        """
        Helm timeout in second
        """
        return pulumi.get(self, "timeout_sec")

    @property
    @pulumi.getter(name="valuesOverride")
    def values_override(self) -> pulumi.Output['outputs.HelmValuesOverride']:
        """
        Define your own overrides to customize the helm chart behaviour.
        """
        return pulumi.get(self, "values_override")

