18 resources and 5 data sources mapped into the dokploy:index module, with SDKs generated for TypeScript, Python, Go and .NET.
888 lines
41 KiB
Python
Generated
888 lines
41 KiB
Python
Generated
# 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")
|
|
|