# coding=utf-8 # *** WARNING: this file was generated by pulumi-language-python. *** # *** Do not edit by hand unless you're certain you know what you are doing! *** import builtins as _builtins import warnings import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload if sys.version_info >= (3, 11): from typing import NotRequired, TypedDict, TypeAlias else: from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities __all__ = ['DomainArgs', 'Domain'] @pulumi.input_type class DomainArgs: def __init__(__self__, *, host: pulumi.Input[_builtins.str], application_id: Optional[pulumi.Input[_builtins.str]] = None, certificate_type: Optional[pulumi.Input[_builtins.str]] = None, compose_id: Optional[pulumi.Input[_builtins.str]] = None, custom_cert_resolver: Optional[pulumi.Input[_builtins.str]] = None, custom_entrypoint: Optional[pulumi.Input[_builtins.str]] = None, domain_type: Optional[pulumi.Input[_builtins.str]] = None, forward_auth_enabled: Optional[pulumi.Input[_builtins.bool]] = None, https: Optional[pulumi.Input[_builtins.bool]] = None, internal_path: Optional[pulumi.Input[_builtins.str]] = None, middlewares: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, path: Optional[pulumi.Input[_builtins.str]] = None, port: Optional[pulumi.Input[_builtins.int]] = None, preview_deployment_id: Optional[pulumi.Input[_builtins.str]] = None, service_name: Optional[pulumi.Input[_builtins.str]] = None, strip_path: Optional[pulumi.Input[_builtins.bool]] = None): """ The set of arguments for constructing a Domain resource. :param pulumi.Input[_builtins.str] host: Fully-qualified hostname, for example `api.example.com`. :param pulumi.Input[_builtins.str] application_id: Application this domain routes to. :param pulumi.Input[_builtins.str] certificate_type: How TLS certificates are obtained. Use `letsencrypt` for automatic certificates. Valid values: `letsencrypt`, `none`, `custom`. :param pulumi.Input[_builtins.str] compose_id: Compose stack this domain routes to. :param pulumi.Input[_builtins.str] custom_cert_resolver: Traefik certificate resolver name, when `certificate_type` is `custom`. :param pulumi.Input[_builtins.str] custom_entrypoint: Traefik entrypoint to bind, when not using the defaults. :param pulumi.Input[_builtins.str] domain_type: What kind of target this domain points at. Valid values: `compose`, `application`, `preview`. :param pulumi.Input[_builtins.bool] forward_auth_enabled: Protect this domain with Dokploy's forward auth. :param pulumi.Input[_builtins.bool] https: Serve the domain over HTTPS and redirect HTTP traffic to it. :param pulumi.Input[_builtins.str] internal_path: Path the request is rewritten to before it reaches the container, defaults to `/`. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] middlewares: Names of Traefik middlewares to apply. :param pulumi.Input[_builtins.str] path: Path prefix this domain routes, defaults to `/`. :param pulumi.Input[_builtins.int] port: Container port that receives the traffic, defaults to `3000`. :param pulumi.Input[_builtins.str] preview_deployment_id: Preview deployment this domain routes to. :param pulumi.Input[_builtins.str] service_name: Name of the service inside a Compose stack that receives the traffic. Required when `compose_id` is set. :param pulumi.Input[_builtins.bool] strip_path: Strip `path` from the request before forwarding it. """ pulumi.set(__self__, "host", host) if application_id is not None: pulumi.set(__self__, "application_id", application_id) if certificate_type is not None: pulumi.set(__self__, "certificate_type", certificate_type) if compose_id is not None: pulumi.set(__self__, "compose_id", compose_id) if custom_cert_resolver is not None: pulumi.set(__self__, "custom_cert_resolver", custom_cert_resolver) if custom_entrypoint is not None: pulumi.set(__self__, "custom_entrypoint", custom_entrypoint) if domain_type is not None: pulumi.set(__self__, "domain_type", domain_type) if forward_auth_enabled is not None: pulumi.set(__self__, "forward_auth_enabled", forward_auth_enabled) if https is not None: pulumi.set(__self__, "https", https) if internal_path is not None: pulumi.set(__self__, "internal_path", internal_path) if middlewares is not None: pulumi.set(__self__, "middlewares", middlewares) if path is not None: pulumi.set(__self__, "path", path) if port is not None: pulumi.set(__self__, "port", port) if preview_deployment_id is not None: pulumi.set(__self__, "preview_deployment_id", preview_deployment_id) if service_name is not None: pulumi.set(__self__, "service_name", service_name) if strip_path is not None: pulumi.set(__self__, "strip_path", strip_path) @_builtins.property @pulumi.getter def host(self) -> pulumi.Input[_builtins.str]: """ Fully-qualified hostname, for example `api.example.com`. """ return pulumi.get(self, "host") @host.setter def host(self, value: pulumi.Input[_builtins.str]): pulumi.set(self, "host", value) @_builtins.property @pulumi.getter(name="applicationId") def application_id(self) -> Optional[pulumi.Input[_builtins.str]]: """ Application this domain routes to. """ return pulumi.get(self, "application_id") @application_id.setter def application_id(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "application_id", value) @_builtins.property @pulumi.getter(name="certificateType") def certificate_type(self) -> Optional[pulumi.Input[_builtins.str]]: """ How TLS certificates are obtained. Use `letsencrypt` for automatic certificates. Valid values: `letsencrypt`, `none`, `custom`. """ return pulumi.get(self, "certificate_type") @certificate_type.setter def certificate_type(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "certificate_type", value) @_builtins.property @pulumi.getter(name="composeId") def compose_id(self) -> Optional[pulumi.Input[_builtins.str]]: """ Compose stack this domain routes to. """ return pulumi.get(self, "compose_id") @compose_id.setter def compose_id(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "compose_id", value) @_builtins.property @pulumi.getter(name="customCertResolver") def custom_cert_resolver(self) -> Optional[pulumi.Input[_builtins.str]]: """ Traefik certificate resolver name, when `certificate_type` is `custom`. """ return pulumi.get(self, "custom_cert_resolver") @custom_cert_resolver.setter def custom_cert_resolver(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "custom_cert_resolver", value) @_builtins.property @pulumi.getter(name="customEntrypoint") def custom_entrypoint(self) -> Optional[pulumi.Input[_builtins.str]]: """ Traefik entrypoint to bind, when not using the defaults. """ return pulumi.get(self, "custom_entrypoint") @custom_entrypoint.setter def custom_entrypoint(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "custom_entrypoint", value) @_builtins.property @pulumi.getter(name="domainType") def domain_type(self) -> Optional[pulumi.Input[_builtins.str]]: """ What kind of target this domain points at. Valid values: `compose`, `application`, `preview`. """ return pulumi.get(self, "domain_type") @domain_type.setter def domain_type(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "domain_type", value) @_builtins.property @pulumi.getter(name="forwardAuthEnabled") def forward_auth_enabled(self) -> Optional[pulumi.Input[_builtins.bool]]: """ Protect this domain with Dokploy's forward auth. """ return pulumi.get(self, "forward_auth_enabled") @forward_auth_enabled.setter def forward_auth_enabled(self, value: Optional[pulumi.Input[_builtins.bool]]): pulumi.set(self, "forward_auth_enabled", value) @_builtins.property @pulumi.getter def https(self) -> Optional[pulumi.Input[_builtins.bool]]: """ Serve the domain over HTTPS and redirect HTTP traffic to it. """ return pulumi.get(self, "https") @https.setter def https(self, value: Optional[pulumi.Input[_builtins.bool]]): pulumi.set(self, "https", value) @_builtins.property @pulumi.getter(name="internalPath") def internal_path(self) -> Optional[pulumi.Input[_builtins.str]]: """ Path the request is rewritten to before it reaches the container, defaults to `/`. """ return pulumi.get(self, "internal_path") @internal_path.setter def internal_path(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "internal_path", value) @_builtins.property @pulumi.getter def middlewares(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: """ Names of Traefik middlewares to apply. """ return pulumi.get(self, "middlewares") @middlewares.setter def middlewares(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]): pulumi.set(self, "middlewares", value) @_builtins.property @pulumi.getter def path(self) -> Optional[pulumi.Input[_builtins.str]]: """ Path prefix this domain routes, defaults to `/`. """ return pulumi.get(self, "path") @path.setter def path(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "path", value) @_builtins.property @pulumi.getter def port(self) -> Optional[pulumi.Input[_builtins.int]]: """ Container port that receives the traffic, defaults to `3000`. """ return pulumi.get(self, "port") @port.setter def port(self, value: Optional[pulumi.Input[_builtins.int]]): pulumi.set(self, "port", value) @_builtins.property @pulumi.getter(name="previewDeploymentId") def preview_deployment_id(self) -> Optional[pulumi.Input[_builtins.str]]: """ Preview deployment this domain routes to. """ return pulumi.get(self, "preview_deployment_id") @preview_deployment_id.setter def preview_deployment_id(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "preview_deployment_id", value) @_builtins.property @pulumi.getter(name="serviceName") def service_name(self) -> Optional[pulumi.Input[_builtins.str]]: """ Name of the service inside a Compose stack that receives the traffic. Required when `compose_id` is set. """ return pulumi.get(self, "service_name") @service_name.setter def service_name(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "service_name", value) @_builtins.property @pulumi.getter(name="stripPath") def strip_path(self) -> Optional[pulumi.Input[_builtins.bool]]: """ Strip `path` from the request before forwarding it. """ return pulumi.get(self, "strip_path") @strip_path.setter def strip_path(self, value: Optional[pulumi.Input[_builtins.bool]]): pulumi.set(self, "strip_path", value) @pulumi.input_type class _DomainState: def __init__(__self__, *, application_id: Optional[pulumi.Input[_builtins.str]] = None, certificate_type: Optional[pulumi.Input[_builtins.str]] = None, compose_id: Optional[pulumi.Input[_builtins.str]] = None, created_at: Optional[pulumi.Input[_builtins.str]] = None, custom_cert_resolver: Optional[pulumi.Input[_builtins.str]] = None, custom_entrypoint: Optional[pulumi.Input[_builtins.str]] = None, domain_type: Optional[pulumi.Input[_builtins.str]] = None, forward_auth_enabled: Optional[pulumi.Input[_builtins.bool]] = None, host: Optional[pulumi.Input[_builtins.str]] = None, https: Optional[pulumi.Input[_builtins.bool]] = None, internal_path: Optional[pulumi.Input[_builtins.str]] = None, middlewares: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, path: Optional[pulumi.Input[_builtins.str]] = None, port: Optional[pulumi.Input[_builtins.int]] = None, preview_deployment_id: Optional[pulumi.Input[_builtins.str]] = None, service_name: Optional[pulumi.Input[_builtins.str]] = None, strip_path: Optional[pulumi.Input[_builtins.bool]] = None): """ Input properties used for looking up and filtering Domain resources. :param pulumi.Input[_builtins.str] application_id: Application this domain routes to. :param pulumi.Input[_builtins.str] certificate_type: How TLS certificates are obtained. Use `letsencrypt` for automatic certificates. Valid values: `letsencrypt`, `none`, `custom`. :param pulumi.Input[_builtins.str] compose_id: Compose stack this domain routes to. :param pulumi.Input[_builtins.str] created_at: RFC 3339 timestamp of when the domain was created. :param pulumi.Input[_builtins.str] custom_cert_resolver: Traefik certificate resolver name, when `certificate_type` is `custom`. :param pulumi.Input[_builtins.str] custom_entrypoint: Traefik entrypoint to bind, when not using the defaults. :param pulumi.Input[_builtins.str] domain_type: What kind of target this domain points at. Valid values: `compose`, `application`, `preview`. :param pulumi.Input[_builtins.bool] forward_auth_enabled: Protect this domain with Dokploy's forward auth. :param pulumi.Input[_builtins.str] host: Fully-qualified hostname, for example `api.example.com`. :param pulumi.Input[_builtins.bool] https: Serve the domain over HTTPS and redirect HTTP traffic to it. :param pulumi.Input[_builtins.str] internal_path: Path the request is rewritten to before it reaches the container, defaults to `/`. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] middlewares: Names of Traefik middlewares to apply. :param pulumi.Input[_builtins.str] path: Path prefix this domain routes, defaults to `/`. :param pulumi.Input[_builtins.int] port: Container port that receives the traffic, defaults to `3000`. :param pulumi.Input[_builtins.str] preview_deployment_id: Preview deployment this domain routes to. :param pulumi.Input[_builtins.str] service_name: Name of the service inside a Compose stack that receives the traffic. Required when `compose_id` is set. :param pulumi.Input[_builtins.bool] strip_path: Strip `path` from the request before forwarding it. """ if application_id is not None: pulumi.set(__self__, "application_id", application_id) if certificate_type is not None: pulumi.set(__self__, "certificate_type", certificate_type) if compose_id is not None: pulumi.set(__self__, "compose_id", compose_id) if created_at is not None: pulumi.set(__self__, "created_at", created_at) if custom_cert_resolver is not None: pulumi.set(__self__, "custom_cert_resolver", custom_cert_resolver) if custom_entrypoint is not None: pulumi.set(__self__, "custom_entrypoint", custom_entrypoint) if domain_type is not None: pulumi.set(__self__, "domain_type", domain_type) if forward_auth_enabled is not None: pulumi.set(__self__, "forward_auth_enabled", forward_auth_enabled) if host is not None: pulumi.set(__self__, "host", host) if https is not None: pulumi.set(__self__, "https", https) if internal_path is not None: pulumi.set(__self__, "internal_path", internal_path) if middlewares is not None: pulumi.set(__self__, "middlewares", middlewares) if path is not None: pulumi.set(__self__, "path", path) if port is not None: pulumi.set(__self__, "port", port) if preview_deployment_id is not None: pulumi.set(__self__, "preview_deployment_id", preview_deployment_id) if service_name is not None: pulumi.set(__self__, "service_name", service_name) if strip_path is not None: pulumi.set(__self__, "strip_path", strip_path) @_builtins.property @pulumi.getter(name="applicationId") def application_id(self) -> Optional[pulumi.Input[_builtins.str]]: """ Application this domain routes to. """ return pulumi.get(self, "application_id") @application_id.setter def application_id(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "application_id", value) @_builtins.property @pulumi.getter(name="certificateType") def certificate_type(self) -> Optional[pulumi.Input[_builtins.str]]: """ How TLS certificates are obtained. Use `letsencrypt` for automatic certificates. Valid values: `letsencrypt`, `none`, `custom`. """ return pulumi.get(self, "certificate_type") @certificate_type.setter def certificate_type(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "certificate_type", value) @_builtins.property @pulumi.getter(name="composeId") def compose_id(self) -> Optional[pulumi.Input[_builtins.str]]: """ Compose stack this domain routes to. """ return pulumi.get(self, "compose_id") @compose_id.setter def compose_id(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "compose_id", value) @_builtins.property @pulumi.getter(name="createdAt") def created_at(self) -> Optional[pulumi.Input[_builtins.str]]: """ RFC 3339 timestamp of when the domain was created. """ return pulumi.get(self, "created_at") @created_at.setter def created_at(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "created_at", value) @_builtins.property @pulumi.getter(name="customCertResolver") def custom_cert_resolver(self) -> Optional[pulumi.Input[_builtins.str]]: """ Traefik certificate resolver name, when `certificate_type` is `custom`. """ return pulumi.get(self, "custom_cert_resolver") @custom_cert_resolver.setter def custom_cert_resolver(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "custom_cert_resolver", value) @_builtins.property @pulumi.getter(name="customEntrypoint") def custom_entrypoint(self) -> Optional[pulumi.Input[_builtins.str]]: """ Traefik entrypoint to bind, when not using the defaults. """ return pulumi.get(self, "custom_entrypoint") @custom_entrypoint.setter def custom_entrypoint(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "custom_entrypoint", value) @_builtins.property @pulumi.getter(name="domainType") def domain_type(self) -> Optional[pulumi.Input[_builtins.str]]: """ What kind of target this domain points at. Valid values: `compose`, `application`, `preview`. """ return pulumi.get(self, "domain_type") @domain_type.setter def domain_type(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "domain_type", value) @_builtins.property @pulumi.getter(name="forwardAuthEnabled") def forward_auth_enabled(self) -> Optional[pulumi.Input[_builtins.bool]]: """ Protect this domain with Dokploy's forward auth. """ return pulumi.get(self, "forward_auth_enabled") @forward_auth_enabled.setter def forward_auth_enabled(self, value: Optional[pulumi.Input[_builtins.bool]]): pulumi.set(self, "forward_auth_enabled", value) @_builtins.property @pulumi.getter def host(self) -> Optional[pulumi.Input[_builtins.str]]: """ Fully-qualified hostname, for example `api.example.com`. """ return pulumi.get(self, "host") @host.setter def host(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "host", value) @_builtins.property @pulumi.getter def https(self) -> Optional[pulumi.Input[_builtins.bool]]: """ Serve the domain over HTTPS and redirect HTTP traffic to it. """ return pulumi.get(self, "https") @https.setter def https(self, value: Optional[pulumi.Input[_builtins.bool]]): pulumi.set(self, "https", value) @_builtins.property @pulumi.getter(name="internalPath") def internal_path(self) -> Optional[pulumi.Input[_builtins.str]]: """ Path the request is rewritten to before it reaches the container, defaults to `/`. """ return pulumi.get(self, "internal_path") @internal_path.setter def internal_path(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "internal_path", value) @_builtins.property @pulumi.getter def middlewares(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: """ Names of Traefik middlewares to apply. """ return pulumi.get(self, "middlewares") @middlewares.setter def middlewares(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]): pulumi.set(self, "middlewares", value) @_builtins.property @pulumi.getter def path(self) -> Optional[pulumi.Input[_builtins.str]]: """ Path prefix this domain routes, defaults to `/`. """ return pulumi.get(self, "path") @path.setter def path(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "path", value) @_builtins.property @pulumi.getter def port(self) -> Optional[pulumi.Input[_builtins.int]]: """ Container port that receives the traffic, defaults to `3000`. """ return pulumi.get(self, "port") @port.setter def port(self, value: Optional[pulumi.Input[_builtins.int]]): pulumi.set(self, "port", value) @_builtins.property @pulumi.getter(name="previewDeploymentId") def preview_deployment_id(self) -> Optional[pulumi.Input[_builtins.str]]: """ Preview deployment this domain routes to. """ return pulumi.get(self, "preview_deployment_id") @preview_deployment_id.setter def preview_deployment_id(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "preview_deployment_id", value) @_builtins.property @pulumi.getter(name="serviceName") def service_name(self) -> Optional[pulumi.Input[_builtins.str]]: """ Name of the service inside a Compose stack that receives the traffic. Required when `compose_id` is set. """ return pulumi.get(self, "service_name") @service_name.setter def service_name(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "service_name", value) @_builtins.property @pulumi.getter(name="stripPath") def strip_path(self) -> Optional[pulumi.Input[_builtins.bool]]: """ Strip `path` from the request before forwarding it. """ return pulumi.get(self, "strip_path") @strip_path.setter def strip_path(self, value: Optional[pulumi.Input[_builtins.bool]]): pulumi.set(self, "strip_path", value) @pulumi.type_token("dokploy:index/domain:Domain") class Domain(pulumi.CustomResource): @overload def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, application_id: Optional[pulumi.Input[_builtins.str]] = None, certificate_type: Optional[pulumi.Input[_builtins.str]] = None, compose_id: Optional[pulumi.Input[_builtins.str]] = None, custom_cert_resolver: Optional[pulumi.Input[_builtins.str]] = None, custom_entrypoint: Optional[pulumi.Input[_builtins.str]] = None, domain_type: Optional[pulumi.Input[_builtins.str]] = None, forward_auth_enabled: Optional[pulumi.Input[_builtins.bool]] = None, host: Optional[pulumi.Input[_builtins.str]] = None, https: Optional[pulumi.Input[_builtins.bool]] = None, internal_path: Optional[pulumi.Input[_builtins.str]] = None, middlewares: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, path: Optional[pulumi.Input[_builtins.str]] = None, port: Optional[pulumi.Input[_builtins.int]] = None, preview_deployment_id: Optional[pulumi.Input[_builtins.str]] = None, service_name: Optional[pulumi.Input[_builtins.str]] = None, strip_path: Optional[pulumi.Input[_builtins.bool]] = None, __props__=None): """ Create a Domain resource with the given unique name, props, and options. :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[_builtins.str] application_id: Application this domain routes to. :param pulumi.Input[_builtins.str] certificate_type: How TLS certificates are obtained. Use `letsencrypt` for automatic certificates. Valid values: `letsencrypt`, `none`, `custom`. :param pulumi.Input[_builtins.str] compose_id: Compose stack this domain routes to. :param pulumi.Input[_builtins.str] custom_cert_resolver: Traefik certificate resolver name, when `certificate_type` is `custom`. :param pulumi.Input[_builtins.str] custom_entrypoint: Traefik entrypoint to bind, when not using the defaults. :param pulumi.Input[_builtins.str] domain_type: What kind of target this domain points at. Valid values: `compose`, `application`, `preview`. :param pulumi.Input[_builtins.bool] forward_auth_enabled: Protect this domain with Dokploy's forward auth. :param pulumi.Input[_builtins.str] host: Fully-qualified hostname, for example `api.example.com`. :param pulumi.Input[_builtins.bool] https: Serve the domain over HTTPS and redirect HTTP traffic to it. :param pulumi.Input[_builtins.str] internal_path: Path the request is rewritten to before it reaches the container, defaults to `/`. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] middlewares: Names of Traefik middlewares to apply. :param pulumi.Input[_builtins.str] path: Path prefix this domain routes, defaults to `/`. :param pulumi.Input[_builtins.int] port: Container port that receives the traffic, defaults to `3000`. :param pulumi.Input[_builtins.str] preview_deployment_id: Preview deployment this domain routes to. :param pulumi.Input[_builtins.str] service_name: Name of the service inside a Compose stack that receives the traffic. Required when `compose_id` is set. :param pulumi.Input[_builtins.bool] strip_path: Strip `path` from the request before forwarding it. """ ... @overload def __init__(__self__, resource_name: str, args: DomainArgs, opts: Optional[pulumi.ResourceOptions] = None): """ Create a Domain resource with the given unique name, props, and options. :param str resource_name: The name of the resource. :param DomainArgs 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(DomainArgs, 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, application_id: Optional[pulumi.Input[_builtins.str]] = None, certificate_type: Optional[pulumi.Input[_builtins.str]] = None, compose_id: Optional[pulumi.Input[_builtins.str]] = None, custom_cert_resolver: Optional[pulumi.Input[_builtins.str]] = None, custom_entrypoint: Optional[pulumi.Input[_builtins.str]] = None, domain_type: Optional[pulumi.Input[_builtins.str]] = None, forward_auth_enabled: Optional[pulumi.Input[_builtins.bool]] = None, host: Optional[pulumi.Input[_builtins.str]] = None, https: Optional[pulumi.Input[_builtins.bool]] = None, internal_path: Optional[pulumi.Input[_builtins.str]] = None, middlewares: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, path: Optional[pulumi.Input[_builtins.str]] = None, port: Optional[pulumi.Input[_builtins.int]] = None, preview_deployment_id: Optional[pulumi.Input[_builtins.str]] = None, service_name: Optional[pulumi.Input[_builtins.str]] = None, strip_path: Optional[pulumi.Input[_builtins.bool]] = 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__ = DomainArgs.__new__(DomainArgs) __props__.__dict__["application_id"] = application_id __props__.__dict__["certificate_type"] = certificate_type __props__.__dict__["compose_id"] = compose_id __props__.__dict__["custom_cert_resolver"] = custom_cert_resolver __props__.__dict__["custom_entrypoint"] = custom_entrypoint __props__.__dict__["domain_type"] = domain_type __props__.__dict__["forward_auth_enabled"] = forward_auth_enabled if host is None and not opts.urn: raise TypeError("Missing required property 'host'") __props__.__dict__["host"] = host __props__.__dict__["https"] = https __props__.__dict__["internal_path"] = internal_path __props__.__dict__["middlewares"] = middlewares __props__.__dict__["path"] = path __props__.__dict__["port"] = port __props__.__dict__["preview_deployment_id"] = preview_deployment_id __props__.__dict__["service_name"] = service_name __props__.__dict__["strip_path"] = strip_path __props__.__dict__["created_at"] = None super(Domain, __self__).__init__( 'dokploy:index/domain:Domain', resource_name, __props__, opts) @staticmethod def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, application_id: Optional[pulumi.Input[_builtins.str]] = None, certificate_type: Optional[pulumi.Input[_builtins.str]] = None, compose_id: Optional[pulumi.Input[_builtins.str]] = None, created_at: Optional[pulumi.Input[_builtins.str]] = None, custom_cert_resolver: Optional[pulumi.Input[_builtins.str]] = None, custom_entrypoint: Optional[pulumi.Input[_builtins.str]] = None, domain_type: Optional[pulumi.Input[_builtins.str]] = None, forward_auth_enabled: Optional[pulumi.Input[_builtins.bool]] = None, host: Optional[pulumi.Input[_builtins.str]] = None, https: Optional[pulumi.Input[_builtins.bool]] = None, internal_path: Optional[pulumi.Input[_builtins.str]] = None, middlewares: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, path: Optional[pulumi.Input[_builtins.str]] = None, port: Optional[pulumi.Input[_builtins.int]] = None, preview_deployment_id: Optional[pulumi.Input[_builtins.str]] = None, service_name: Optional[pulumi.Input[_builtins.str]] = None, strip_path: Optional[pulumi.Input[_builtins.bool]] = None) -> 'Domain': """ Get an existing Domain 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[_builtins.str] application_id: Application this domain routes to. :param pulumi.Input[_builtins.str] certificate_type: How TLS certificates are obtained. Use `letsencrypt` for automatic certificates. Valid values: `letsencrypt`, `none`, `custom`. :param pulumi.Input[_builtins.str] compose_id: Compose stack this domain routes to. :param pulumi.Input[_builtins.str] created_at: RFC 3339 timestamp of when the domain was created. :param pulumi.Input[_builtins.str] custom_cert_resolver: Traefik certificate resolver name, when `certificate_type` is `custom`. :param pulumi.Input[_builtins.str] custom_entrypoint: Traefik entrypoint to bind, when not using the defaults. :param pulumi.Input[_builtins.str] domain_type: What kind of target this domain points at. Valid values: `compose`, `application`, `preview`. :param pulumi.Input[_builtins.bool] forward_auth_enabled: Protect this domain with Dokploy's forward auth. :param pulumi.Input[_builtins.str] host: Fully-qualified hostname, for example `api.example.com`. :param pulumi.Input[_builtins.bool] https: Serve the domain over HTTPS and redirect HTTP traffic to it. :param pulumi.Input[_builtins.str] internal_path: Path the request is rewritten to before it reaches the container, defaults to `/`. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] middlewares: Names of Traefik middlewares to apply. :param pulumi.Input[_builtins.str] path: Path prefix this domain routes, defaults to `/`. :param pulumi.Input[_builtins.int] port: Container port that receives the traffic, defaults to `3000`. :param pulumi.Input[_builtins.str] preview_deployment_id: Preview deployment this domain routes to. :param pulumi.Input[_builtins.str] service_name: Name of the service inside a Compose stack that receives the traffic. Required when `compose_id` is set. :param pulumi.Input[_builtins.bool] strip_path: Strip `path` from the request before forwarding it. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) __props__ = _DomainState.__new__(_DomainState) __props__.__dict__["application_id"] = application_id __props__.__dict__["certificate_type"] = certificate_type __props__.__dict__["compose_id"] = compose_id __props__.__dict__["created_at"] = created_at __props__.__dict__["custom_cert_resolver"] = custom_cert_resolver __props__.__dict__["custom_entrypoint"] = custom_entrypoint __props__.__dict__["domain_type"] = domain_type __props__.__dict__["forward_auth_enabled"] = forward_auth_enabled __props__.__dict__["host"] = host __props__.__dict__["https"] = https __props__.__dict__["internal_path"] = internal_path __props__.__dict__["middlewares"] = middlewares __props__.__dict__["path"] = path __props__.__dict__["port"] = port __props__.__dict__["preview_deployment_id"] = preview_deployment_id __props__.__dict__["service_name"] = service_name __props__.__dict__["strip_path"] = strip_path return Domain(resource_name, opts=opts, __props__=__props__) @_builtins.property @pulumi.getter(name="applicationId") def application_id(self) -> pulumi.Output[Optional[_builtins.str]]: """ Application this domain routes to. """ return pulumi.get(self, "application_id") @_builtins.property @pulumi.getter(name="certificateType") def certificate_type(self) -> pulumi.Output[_builtins.str]: """ How TLS certificates are obtained. Use `letsencrypt` for automatic certificates. Valid values: `letsencrypt`, `none`, `custom`. """ return pulumi.get(self, "certificate_type") @_builtins.property @pulumi.getter(name="composeId") def compose_id(self) -> pulumi.Output[Optional[_builtins.str]]: """ Compose stack this domain routes to. """ return pulumi.get(self, "compose_id") @_builtins.property @pulumi.getter(name="createdAt") def created_at(self) -> pulumi.Output[_builtins.str]: """ RFC 3339 timestamp of when the domain was created. """ return pulumi.get(self, "created_at") @_builtins.property @pulumi.getter(name="customCertResolver") def custom_cert_resolver(self) -> pulumi.Output[Optional[_builtins.str]]: """ Traefik certificate resolver name, when `certificate_type` is `custom`. """ return pulumi.get(self, "custom_cert_resolver") @_builtins.property @pulumi.getter(name="customEntrypoint") def custom_entrypoint(self) -> pulumi.Output[Optional[_builtins.str]]: """ Traefik entrypoint to bind, when not using the defaults. """ return pulumi.get(self, "custom_entrypoint") @_builtins.property @pulumi.getter(name="domainType") def domain_type(self) -> pulumi.Output[_builtins.str]: """ What kind of target this domain points at. Valid values: `compose`, `application`, `preview`. """ return pulumi.get(self, "domain_type") @_builtins.property @pulumi.getter(name="forwardAuthEnabled") def forward_auth_enabled(self) -> pulumi.Output[_builtins.bool]: """ Protect this domain with Dokploy's forward auth. """ return pulumi.get(self, "forward_auth_enabled") @_builtins.property @pulumi.getter def host(self) -> pulumi.Output[_builtins.str]: """ Fully-qualified hostname, for example `api.example.com`. """ return pulumi.get(self, "host") @_builtins.property @pulumi.getter def https(self) -> pulumi.Output[_builtins.bool]: """ Serve the domain over HTTPS and redirect HTTP traffic to it. """ return pulumi.get(self, "https") @_builtins.property @pulumi.getter(name="internalPath") def internal_path(self) -> pulumi.Output[_builtins.str]: """ Path the request is rewritten to before it reaches the container, defaults to `/`. """ return pulumi.get(self, "internal_path") @_builtins.property @pulumi.getter def middlewares(self) -> pulumi.Output[Sequence[_builtins.str]]: """ Names of Traefik middlewares to apply. """ return pulumi.get(self, "middlewares") @_builtins.property @pulumi.getter def path(self) -> pulumi.Output[_builtins.str]: """ Path prefix this domain routes, defaults to `/`. """ return pulumi.get(self, "path") @_builtins.property @pulumi.getter def port(self) -> pulumi.Output[_builtins.int]: """ Container port that receives the traffic, defaults to `3000`. """ return pulumi.get(self, "port") @_builtins.property @pulumi.getter(name="previewDeploymentId") def preview_deployment_id(self) -> pulumi.Output[Optional[_builtins.str]]: """ Preview deployment this domain routes to. """ return pulumi.get(self, "preview_deployment_id") @_builtins.property @pulumi.getter(name="serviceName") def service_name(self) -> pulumi.Output[Optional[_builtins.str]]: """ Name of the service inside a Compose stack that receives the traffic. Required when `compose_id` is set. """ return pulumi.get(self, "service_name") @_builtins.property @pulumi.getter(name="stripPath") def strip_path(self) -> pulumi.Output[_builtins.bool]: """ Strip `path` from the request before forwarding it. """ return pulumi.get(self, "strip_path")