Bridge what Dokploy v0.30 added, and let the docs through
Six new resources from terraform-provider-dokploy v0.2.0 -- Network, DnsProvider, VaultProvider, Schedule, VolumeBackup and Libsql -- plus the new properties on Domain (`enabled`), Compose (`serviceNetworks`, `createEnvFile`, `icon`) and Application. Verified with `pulumi up` against a live v0.30.2 instance: create, preview-clean, and destroy. The upstream provider also now refuses a volume Mount with no `volumeName`, which Dokploy would otherwise turn into an anonymous Docker volume recreated on every deploy. That surfaces here at preview time, before anything exists. Two things made that fix nearly invisible to Pulumi users, so this commit fixes the second one: the bridge resolves the upstream `docs/` through the Go module cache, where a locally `replace`d dependency never lands, so tfgen was emitting every resource with no description at all. UpstreamRepoPath now points at the checkout and all 445 inputs carry documentation -- with names rendered per language, so Python readers see `volume_name` where TypeScript readers see `volumeName`.
This commit is contained in:
Generated
+54
@@ -10,6 +10,7 @@ from .application import *
|
||||
from .certificate import *
|
||||
from .compose import *
|
||||
from .destination import *
|
||||
from .dns_provider import *
|
||||
from .domain import *
|
||||
from .environment import *
|
||||
from .get_application import *
|
||||
@@ -17,10 +18,12 @@ from .get_environment import *
|
||||
from .get_project import *
|
||||
from .get_projects import *
|
||||
from .get_servers import *
|
||||
from .libsql import *
|
||||
from .maria_db import *
|
||||
from .mongo import *
|
||||
from .mount import *
|
||||
from .my_sql import *
|
||||
from .network import *
|
||||
from .port import *
|
||||
from .postgres import *
|
||||
from .project import *
|
||||
@@ -28,8 +31,11 @@ from .provider import *
|
||||
from .redirect import *
|
||||
from .redis import *
|
||||
from .registry import *
|
||||
from .schedule import *
|
||||
from .security import *
|
||||
from .ssh_key import *
|
||||
from .vault_provider import *
|
||||
from .volume_backup import *
|
||||
from . import outputs
|
||||
|
||||
# Make subpackages available:
|
||||
@@ -74,6 +80,14 @@ _utilities.register(
|
||||
"dokploy:index/destination:Destination": "Destination"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pkg": "dokploy",
|
||||
"mod": "index/dnsProvider",
|
||||
"fqn": "pulumi_dokploy",
|
||||
"classes": {
|
||||
"dokploy:index/dnsProvider:DnsProvider": "DnsProvider"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pkg": "dokploy",
|
||||
"mod": "index/domain",
|
||||
@@ -90,6 +104,14 @@ _utilities.register(
|
||||
"dokploy:index/environment:Environment": "Environment"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pkg": "dokploy",
|
||||
"mod": "index/libsql",
|
||||
"fqn": "pulumi_dokploy",
|
||||
"classes": {
|
||||
"dokploy:index/libsql:Libsql": "Libsql"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pkg": "dokploy",
|
||||
"mod": "index/mariaDb",
|
||||
@@ -122,6 +144,14 @@ _utilities.register(
|
||||
"dokploy:index/mySql:MySql": "MySql"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pkg": "dokploy",
|
||||
"mod": "index/network",
|
||||
"fqn": "pulumi_dokploy",
|
||||
"classes": {
|
||||
"dokploy:index/network:Network": "Network"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pkg": "dokploy",
|
||||
"mod": "index/port",
|
||||
@@ -170,6 +200,14 @@ _utilities.register(
|
||||
"dokploy:index/registry:Registry": "Registry"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pkg": "dokploy",
|
||||
"mod": "index/schedule",
|
||||
"fqn": "pulumi_dokploy",
|
||||
"classes": {
|
||||
"dokploy:index/schedule:Schedule": "Schedule"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pkg": "dokploy",
|
||||
"mod": "index/security",
|
||||
@@ -185,6 +223,22 @@ _utilities.register(
|
||||
"classes": {
|
||||
"dokploy:index/sshKey:SshKey": "SshKey"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pkg": "dokploy",
|
||||
"mod": "index/vaultProvider",
|
||||
"fqn": "pulumi_dokploy",
|
||||
"classes": {
|
||||
"dokploy:index/vaultProvider:VaultProvider": "VaultProvider"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pkg": "dokploy",
|
||||
"mod": "index/volumeBackup",
|
||||
"fqn": "pulumi_dokploy",
|
||||
"classes": {
|
||||
"dokploy:index/volumeBackup:VolumeBackup": "VolumeBackup"
|
||||
}
|
||||
}
|
||||
]
|
||||
""",
|
||||
|
||||
Generated
-2
@@ -13,12 +13,10 @@ import os
|
||||
import sys
|
||||
import typing
|
||||
import warnings
|
||||
import base64
|
||||
|
||||
import pulumi
|
||||
import pulumi.runtime
|
||||
from pulumi.runtime.sync_await import _sync_await
|
||||
from pulumi.runtime.proto import resource_pb2
|
||||
|
||||
from semver import VersionInfo as SemverVersion
|
||||
from parver import Version as PEP440Version
|
||||
|
||||
Generated
+957
-853
File diff suppressed because it is too large
Load Diff
Generated
+51
-45
@@ -21,9 +21,9 @@ class CertificateArgs:
|
||||
def __init__(__self__, *,
|
||||
certificate_data: pulumi.Input[_builtins.str],
|
||||
private_key: pulumi.Input[_builtins.str],
|
||||
auto_renew: Optional[pulumi.Input[_builtins.bool]] = None,
|
||||
name: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
server_id: Optional[pulumi.Input[_builtins.str]] = None):
|
||||
auto_renew: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
server_id: pulumi.Input[Optional[_builtins.str]] = None):
|
||||
"""
|
||||
The set of arguments for constructing a Certificate resource.
|
||||
|
||||
@@ -68,50 +68,50 @@ class CertificateArgs:
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="autoRenew")
|
||||
def auto_renew(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
||||
def auto_renew(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
||||
"""
|
||||
Whether Dokploy should renew this certificate automatically.
|
||||
"""
|
||||
return pulumi.get(self, "auto_renew")
|
||||
|
||||
@auto_renew.setter
|
||||
def auto_renew(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
||||
def auto_renew(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
||||
pulumi.set(self, "auto_renew", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def name(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Display name of the certificate.
|
||||
"""
|
||||
return pulumi.get(self, "name")
|
||||
|
||||
@name.setter
|
||||
def name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def name(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "name", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="serverId")
|
||||
def server_id(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def server_id(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Server this certificate is installed on.
|
||||
"""
|
||||
return pulumi.get(self, "server_id")
|
||||
|
||||
@server_id.setter
|
||||
def server_id(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def server_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "server_id", value)
|
||||
|
||||
|
||||
@pulumi.input_type
|
||||
class _CertificateState:
|
||||
def __init__(__self__, *,
|
||||
auto_renew: Optional[pulumi.Input[_builtins.bool]] = None,
|
||||
certificate_data: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
certificate_path: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
name: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
private_key: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
server_id: Optional[pulumi.Input[_builtins.str]] = None):
|
||||
auto_renew: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
certificate_data: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
certificate_path: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
private_key: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
server_id: pulumi.Input[Optional[_builtins.str]] = None):
|
||||
"""
|
||||
Input properties used for looking up and filtering Certificate resources.
|
||||
|
||||
@@ -137,74 +137,74 @@ class _CertificateState:
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="autoRenew")
|
||||
def auto_renew(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
||||
def auto_renew(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
||||
"""
|
||||
Whether Dokploy should renew this certificate automatically.
|
||||
"""
|
||||
return pulumi.get(self, "auto_renew")
|
||||
|
||||
@auto_renew.setter
|
||||
def auto_renew(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
||||
def auto_renew(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
||||
pulumi.set(self, "auto_renew", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="certificateData")
|
||||
def certificate_data(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def certificate_data(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
PEM-encoded certificate chain.
|
||||
"""
|
||||
return pulumi.get(self, "certificate_data")
|
||||
|
||||
@certificate_data.setter
|
||||
def certificate_data(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def certificate_data(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "certificate_data", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="certificatePath")
|
||||
def certificate_path(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def certificate_path(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Path where Dokploy writes the certificate on disk.
|
||||
"""
|
||||
return pulumi.get(self, "certificate_path")
|
||||
|
||||
@certificate_path.setter
|
||||
def certificate_path(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def certificate_path(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "certificate_path", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def name(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Display name of the certificate.
|
||||
"""
|
||||
return pulumi.get(self, "name")
|
||||
|
||||
@name.setter
|
||||
def name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def name(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "name", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="privateKey")
|
||||
def private_key(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def private_key(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
PEM-encoded private key.
|
||||
"""
|
||||
return pulumi.get(self, "private_key")
|
||||
|
||||
@private_key.setter
|
||||
def private_key(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def private_key(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "private_key", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="serverId")
|
||||
def server_id(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def server_id(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Server this certificate is installed on.
|
||||
"""
|
||||
return pulumi.get(self, "server_id")
|
||||
|
||||
@server_id.setter
|
||||
def server_id(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def server_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "server_id", value)
|
||||
|
||||
|
||||
@@ -214,14 +214,17 @@ class Certificate(pulumi.CustomResource):
|
||||
def __init__(__self__,
|
||||
resource_name: str,
|
||||
opts: Optional[pulumi.ResourceOptions] = None,
|
||||
auto_renew: Optional[pulumi.Input[_builtins.bool]] = None,
|
||||
certificate_data: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
name: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
private_key: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
server_id: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
auto_renew: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
certificate_data: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
private_key: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
server_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
__props__=None):
|
||||
"""
|
||||
Create a Certificate resource with the given unique name, props, and options.
|
||||
A TLS certificate uploaded to Dokploy, for domains that use `certificate_type = "custom"`.
|
||||
|
||||
> The private key is stored in Terraform state. Use a state backend with encryption at rest.
|
||||
|
||||
|
||||
:param str resource_name: The name of the resource.
|
||||
:param pulumi.ResourceOptions opts: Options for the resource.
|
||||
@@ -238,7 +241,10 @@ class Certificate(pulumi.CustomResource):
|
||||
args: CertificateArgs,
|
||||
opts: Optional[pulumi.ResourceOptions] = None):
|
||||
"""
|
||||
Create a Certificate resource with the given unique name, props, and options.
|
||||
A TLS certificate uploaded to Dokploy, for domains that use `certificate_type = "custom"`.
|
||||
|
||||
> The private key is stored in Terraform state. Use a state backend with encryption at rest.
|
||||
|
||||
|
||||
:param str resource_name: The name of the resource.
|
||||
:param CertificateArgs args: The arguments to use to populate this resource's properties.
|
||||
@@ -255,11 +261,11 @@ class Certificate(pulumi.CustomResource):
|
||||
def _internal_init(__self__,
|
||||
resource_name: str,
|
||||
opts: Optional[pulumi.ResourceOptions] = None,
|
||||
auto_renew: Optional[pulumi.Input[_builtins.bool]] = None,
|
||||
certificate_data: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
name: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
private_key: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
server_id: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
auto_renew: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
certificate_data: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
private_key: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
server_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
__props__=None):
|
||||
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
||||
if not isinstance(opts, pulumi.ResourceOptions):
|
||||
@@ -291,12 +297,12 @@ class Certificate(pulumi.CustomResource):
|
||||
def get(resource_name: str,
|
||||
id: pulumi.Input[str],
|
||||
opts: Optional[pulumi.ResourceOptions] = None,
|
||||
auto_renew: Optional[pulumi.Input[_builtins.bool]] = None,
|
||||
certificate_data: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
certificate_path: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
name: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
private_key: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
server_id: Optional[pulumi.Input[_builtins.str]] = None) -> 'Certificate':
|
||||
auto_renew: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
certificate_data: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
certificate_path: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
private_key: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
server_id: pulumi.Input[Optional[_builtins.str]] = None) -> 'Certificate':
|
||||
"""
|
||||
Get an existing Certificate resource's state with the given name, id, and optional extra
|
||||
properties used to qualify the lookup.
|
||||
|
||||
Generated
+536
-385
File diff suppressed because it is too large
Load Diff
Generated
+78
-72
@@ -24,10 +24,10 @@ class DestinationArgs:
|
||||
endpoint: pulumi.Input[_builtins.str],
|
||||
region: pulumi.Input[_builtins.str],
|
||||
secret_access_key: pulumi.Input[_builtins.str],
|
||||
additional_flags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
||||
name: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
provider_name: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
server_id: Optional[pulumi.Input[_builtins.str]] = None):
|
||||
additional_flags: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
||||
name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
provider_name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
server_id: pulumi.Input[Optional[_builtins.str]] = None):
|
||||
"""
|
||||
The set of arguments for constructing a Destination resource.
|
||||
|
||||
@@ -117,66 +117,66 @@ class DestinationArgs:
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="additionalFlags")
|
||||
def additional_flags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
||||
def additional_flags(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]:
|
||||
"""
|
||||
Extra flags passed to the underlying `rclone` invocation.
|
||||
"""
|
||||
return pulumi.get(self, "additional_flags")
|
||||
|
||||
@additional_flags.setter
|
||||
def additional_flags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
||||
def additional_flags(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]):
|
||||
pulumi.set(self, "additional_flags", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def name(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Display name of the destination.
|
||||
"""
|
||||
return pulumi.get(self, "name")
|
||||
|
||||
@name.setter
|
||||
def name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def name(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "name", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="providerName")
|
||||
def provider_name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def provider_name(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Provider label, for example `s3` or `cloudflare`. Named `provider_name` because `provider` is reserved by Terraform.
|
||||
"""
|
||||
return pulumi.get(self, "provider_name")
|
||||
|
||||
@provider_name.setter
|
||||
def provider_name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def provider_name(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "provider_name", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="serverId")
|
||||
def server_id(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def server_id(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Server this destination is scoped to.
|
||||
"""
|
||||
return pulumi.get(self, "server_id")
|
||||
|
||||
@server_id.setter
|
||||
def server_id(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def server_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "server_id", value)
|
||||
|
||||
|
||||
@pulumi.input_type
|
||||
class _DestinationState:
|
||||
def __init__(__self__, *,
|
||||
access_key: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
additional_flags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
||||
bucket: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
created_at: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
endpoint: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
name: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
provider_name: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
region: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
secret_access_key: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
server_id: Optional[pulumi.Input[_builtins.str]] = None):
|
||||
access_key: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
additional_flags: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
||||
bucket: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
created_at: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
endpoint: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
provider_name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
region: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
secret_access_key: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
server_id: pulumi.Input[Optional[_builtins.str]] = None):
|
||||
"""
|
||||
Input properties used for looking up and filtering Destination resources.
|
||||
|
||||
@@ -214,122 +214,122 @@ class _DestinationState:
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="accessKey")
|
||||
def access_key(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def access_key(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
S3 access key ID.
|
||||
"""
|
||||
return pulumi.get(self, "access_key")
|
||||
|
||||
@access_key.setter
|
||||
def access_key(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def access_key(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "access_key", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="additionalFlags")
|
||||
def additional_flags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
||||
def additional_flags(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]:
|
||||
"""
|
||||
Extra flags passed to the underlying `rclone` invocation.
|
||||
"""
|
||||
return pulumi.get(self, "additional_flags")
|
||||
|
||||
@additional_flags.setter
|
||||
def additional_flags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
||||
def additional_flags(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]):
|
||||
pulumi.set(self, "additional_flags", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def bucket(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def bucket(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Bucket name.
|
||||
"""
|
||||
return pulumi.get(self, "bucket")
|
||||
|
||||
@bucket.setter
|
||||
def bucket(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def bucket(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "bucket", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="createdAt")
|
||||
def created_at(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def created_at(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Timestamp of when the destination was created.
|
||||
"""
|
||||
return pulumi.get(self, "created_at")
|
||||
|
||||
@created_at.setter
|
||||
def created_at(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def created_at(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "created_at", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def endpoint(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def endpoint(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
S3 endpoint URL.
|
||||
"""
|
||||
return pulumi.get(self, "endpoint")
|
||||
|
||||
@endpoint.setter
|
||||
def endpoint(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def endpoint(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "endpoint", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def name(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Display name of the destination.
|
||||
"""
|
||||
return pulumi.get(self, "name")
|
||||
|
||||
@name.setter
|
||||
def name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def name(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "name", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="providerName")
|
||||
def provider_name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def provider_name(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Provider label, for example `s3` or `cloudflare`. Named `provider_name` because `provider` is reserved by Terraform.
|
||||
"""
|
||||
return pulumi.get(self, "provider_name")
|
||||
|
||||
@provider_name.setter
|
||||
def provider_name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def provider_name(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "provider_name", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def region(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def region(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Bucket region, for example `us-east-1`.
|
||||
"""
|
||||
return pulumi.get(self, "region")
|
||||
|
||||
@region.setter
|
||||
def region(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def region(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "region", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="secretAccessKey")
|
||||
def secret_access_key(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def secret_access_key(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
S3 secret access key.
|
||||
"""
|
||||
return pulumi.get(self, "secret_access_key")
|
||||
|
||||
@secret_access_key.setter
|
||||
def secret_access_key(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def secret_access_key(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "secret_access_key", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="serverId")
|
||||
def server_id(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def server_id(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Server this destination is scoped to.
|
||||
"""
|
||||
return pulumi.get(self, "server_id")
|
||||
|
||||
@server_id.setter
|
||||
def server_id(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def server_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "server_id", value)
|
||||
|
||||
|
||||
@@ -339,18 +339,21 @@ class Destination(pulumi.CustomResource):
|
||||
def __init__(__self__,
|
||||
resource_name: str,
|
||||
opts: Optional[pulumi.ResourceOptions] = None,
|
||||
access_key: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
additional_flags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
||||
bucket: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
endpoint: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
name: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
provider_name: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
region: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
secret_access_key: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
server_id: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
access_key: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
additional_flags: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
||||
bucket: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
endpoint: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
provider_name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
region: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
secret_access_key: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
server_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
__props__=None):
|
||||
"""
|
||||
Create a Destination resource with the given unique name, props, and options.
|
||||
An S3-compatible bucket that Dokploy writes database and volume backups to.
|
||||
|
||||
> The secret access key is stored in Terraform state. Use a state backend with encryption at rest.
|
||||
|
||||
|
||||
:param str resource_name: The name of the resource.
|
||||
:param pulumi.ResourceOptions opts: Options for the resource.
|
||||
@@ -371,7 +374,10 @@ class Destination(pulumi.CustomResource):
|
||||
args: DestinationArgs,
|
||||
opts: Optional[pulumi.ResourceOptions] = None):
|
||||
"""
|
||||
Create a Destination resource with the given unique name, props, and options.
|
||||
An S3-compatible bucket that Dokploy writes database and volume backups to.
|
||||
|
||||
> The secret access key is stored in Terraform state. Use a state backend with encryption at rest.
|
||||
|
||||
|
||||
:param str resource_name: The name of the resource.
|
||||
:param DestinationArgs args: The arguments to use to populate this resource's properties.
|
||||
@@ -388,15 +394,15 @@ class Destination(pulumi.CustomResource):
|
||||
def _internal_init(__self__,
|
||||
resource_name: str,
|
||||
opts: Optional[pulumi.ResourceOptions] = None,
|
||||
access_key: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
additional_flags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
||||
bucket: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
endpoint: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
name: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
provider_name: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
region: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
secret_access_key: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
server_id: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
access_key: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
additional_flags: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
||||
bucket: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
endpoint: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
provider_name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
region: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
secret_access_key: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
server_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
__props__=None):
|
||||
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
||||
if not isinstance(opts, pulumi.ResourceOptions):
|
||||
@@ -438,16 +444,16 @@ class Destination(pulumi.CustomResource):
|
||||
def get(resource_name: str,
|
||||
id: pulumi.Input[str],
|
||||
opts: Optional[pulumi.ResourceOptions] = None,
|
||||
access_key: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
additional_flags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
||||
bucket: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
created_at: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
endpoint: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
name: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
provider_name: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
region: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
secret_access_key: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
server_id: Optional[pulumi.Input[_builtins.str]] = None) -> 'Destination':
|
||||
access_key: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
additional_flags: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
||||
bucket: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
created_at: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
endpoint: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
provider_name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
region: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
secret_access_key: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
server_id: pulumi.Input[Optional[_builtins.str]] = None) -> 'Destination':
|
||||
"""
|
||||
Get an existing Destination resource's state with the given name, id, and optional extra
|
||||
properties used to qualify the lookup.
|
||||
|
||||
+293
@@ -0,0 +1,293 @@
|
||||
# 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__ = ['DnsProviderArgs', 'DnsProvider']
|
||||
|
||||
@pulumi.input_type
|
||||
class DnsProviderArgs:
|
||||
def __init__(__self__, *,
|
||||
config: pulumi.Input[_builtins.str],
|
||||
name: pulumi.Input[Optional[_builtins.str]] = None):
|
||||
"""
|
||||
The set of arguments for constructing a DnsProvider resource.
|
||||
|
||||
:param pulumi.Input[_builtins.str] config: Provider credentials as a JSON object, including the `providerType` discriminator.
|
||||
:param pulumi.Input[_builtins.str] name: Name of the connection. Must be unique within the organization and may contain only letters, digits, `-` and `_`.
|
||||
"""
|
||||
pulumi.set(__self__, "config", config)
|
||||
if name is not None:
|
||||
pulumi.set(__self__, "name", name)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def config(self) -> pulumi.Input[_builtins.str]:
|
||||
"""
|
||||
Provider credentials as a JSON object, including the `providerType` discriminator.
|
||||
"""
|
||||
return pulumi.get(self, "config")
|
||||
|
||||
@config.setter
|
||||
def config(self, value: pulumi.Input[_builtins.str]):
|
||||
pulumi.set(self, "config", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def name(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Name of the connection. Must be unique within the organization and may contain only letters, digits, `-` and `_`.
|
||||
"""
|
||||
return pulumi.get(self, "name")
|
||||
|
||||
@name.setter
|
||||
def name(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "name", value)
|
||||
|
||||
|
||||
@pulumi.input_type
|
||||
class _DnsProviderState:
|
||||
def __init__(__self__, *,
|
||||
config: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
created_at: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
organization_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
provider_type: pulumi.Input[Optional[_builtins.str]] = None):
|
||||
"""
|
||||
Input properties used for looking up and filtering DnsProvider resources.
|
||||
|
||||
:param pulumi.Input[_builtins.str] config: Provider credentials as a JSON object, including the `providerType` discriminator.
|
||||
:param pulumi.Input[_builtins.str] created_at: RFC 3339 timestamp of when the connection was created.
|
||||
:param pulumi.Input[_builtins.str] name: Name of the connection. Must be unique within the organization and may contain only letters, digits, `-` and `_`.
|
||||
:param pulumi.Input[_builtins.str] organization_id: Organization that owns the connection.
|
||||
:param pulumi.Input[_builtins.str] provider_type: Provider kind derived from `config`: `cloudflare` or `route53`.
|
||||
"""
|
||||
if config is not None:
|
||||
pulumi.set(__self__, "config", config)
|
||||
if created_at is not None:
|
||||
pulumi.set(__self__, "created_at", created_at)
|
||||
if name is not None:
|
||||
pulumi.set(__self__, "name", name)
|
||||
if organization_id is not None:
|
||||
pulumi.set(__self__, "organization_id", organization_id)
|
||||
if provider_type is not None:
|
||||
pulumi.set(__self__, "provider_type", provider_type)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def config(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Provider credentials as a JSON object, including the `providerType` discriminator.
|
||||
"""
|
||||
return pulumi.get(self, "config")
|
||||
|
||||
@config.setter
|
||||
def config(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "config", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="createdAt")
|
||||
def created_at(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
RFC 3339 timestamp of when the connection was created.
|
||||
"""
|
||||
return pulumi.get(self, "created_at")
|
||||
|
||||
@created_at.setter
|
||||
def created_at(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "created_at", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def name(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Name of the connection. Must be unique within the organization and may contain only letters, digits, `-` and `_`.
|
||||
"""
|
||||
return pulumi.get(self, "name")
|
||||
|
||||
@name.setter
|
||||
def name(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "name", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="organizationId")
|
||||
def organization_id(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Organization that owns the connection.
|
||||
"""
|
||||
return pulumi.get(self, "organization_id")
|
||||
|
||||
@organization_id.setter
|
||||
def organization_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "organization_id", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="providerType")
|
||||
def provider_type(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Provider kind derived from `config`: `cloudflare` or `route53`.
|
||||
"""
|
||||
return pulumi.get(self, "provider_type")
|
||||
|
||||
@provider_type.setter
|
||||
def provider_type(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "provider_type", value)
|
||||
|
||||
|
||||
@pulumi.type_token("dokploy:index/dnsProvider:DnsProvider")
|
||||
class DnsProvider(pulumi.CustomResource):
|
||||
@overload
|
||||
def __init__(__self__,
|
||||
resource_name: str,
|
||||
opts: Optional[pulumi.ResourceOptions] = None,
|
||||
config: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
__props__=None):
|
||||
"""
|
||||
A DNS provider connection Dokploy uses to create records for domains automatically.
|
||||
|
||||
`config` is a JSON object whose shape depends on `providerType`:
|
||||
|
||||
|
||||
:param str resource_name: The name of the resource.
|
||||
:param pulumi.ResourceOptions opts: Options for the resource.
|
||||
:param pulumi.Input[_builtins.str] config: Provider credentials as a JSON object, including the `providerType` discriminator.
|
||||
:param pulumi.Input[_builtins.str] name: Name of the connection. Must be unique within the organization and may contain only letters, digits, `-` and `_`.
|
||||
"""
|
||||
...
|
||||
@overload
|
||||
def __init__(__self__,
|
||||
resource_name: str,
|
||||
args: DnsProviderArgs,
|
||||
opts: Optional[pulumi.ResourceOptions] = None):
|
||||
"""
|
||||
A DNS provider connection Dokploy uses to create records for domains automatically.
|
||||
|
||||
`config` is a JSON object whose shape depends on `providerType`:
|
||||
|
||||
|
||||
:param str resource_name: The name of the resource.
|
||||
:param DnsProviderArgs 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(DnsProviderArgs, 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,
|
||||
config: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
name: pulumi.Input[Optional[_builtins.str]] = 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__ = DnsProviderArgs.__new__(DnsProviderArgs)
|
||||
|
||||
if config is None and not opts.urn:
|
||||
raise TypeError("Missing required property 'config'")
|
||||
__props__.__dict__["config"] = None if config is None else pulumi.Output.secret(config)
|
||||
__props__.__dict__["name"] = name
|
||||
__props__.__dict__["created_at"] = None
|
||||
__props__.__dict__["organization_id"] = None
|
||||
__props__.__dict__["provider_type"] = None
|
||||
secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["config"])
|
||||
opts = pulumi.ResourceOptions.merge(opts, secret_opts)
|
||||
super(DnsProvider, __self__).__init__(
|
||||
'dokploy:index/dnsProvider:DnsProvider',
|
||||
resource_name,
|
||||
__props__,
|
||||
opts)
|
||||
|
||||
@staticmethod
|
||||
def get(resource_name: str,
|
||||
id: pulumi.Input[str],
|
||||
opts: Optional[pulumi.ResourceOptions] = None,
|
||||
config: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
created_at: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
organization_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
provider_type: pulumi.Input[Optional[_builtins.str]] = None) -> 'DnsProvider':
|
||||
"""
|
||||
Get an existing DnsProvider 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] config: Provider credentials as a JSON object, including the `providerType` discriminator.
|
||||
:param pulumi.Input[_builtins.str] created_at: RFC 3339 timestamp of when the connection was created.
|
||||
:param pulumi.Input[_builtins.str] name: Name of the connection. Must be unique within the organization and may contain only letters, digits, `-` and `_`.
|
||||
:param pulumi.Input[_builtins.str] organization_id: Organization that owns the connection.
|
||||
:param pulumi.Input[_builtins.str] provider_type: Provider kind derived from `config`: `cloudflare` or `route53`.
|
||||
"""
|
||||
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
||||
|
||||
__props__ = _DnsProviderState.__new__(_DnsProviderState)
|
||||
|
||||
__props__.__dict__["config"] = config
|
||||
__props__.__dict__["created_at"] = created_at
|
||||
__props__.__dict__["name"] = name
|
||||
__props__.__dict__["organization_id"] = organization_id
|
||||
__props__.__dict__["provider_type"] = provider_type
|
||||
return DnsProvider(resource_name, opts=opts, __props__=__props__)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def config(self) -> pulumi.Output[_builtins.str]:
|
||||
"""
|
||||
Provider credentials as a JSON object, including the `providerType` discriminator.
|
||||
"""
|
||||
return pulumi.get(self, "config")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="createdAt")
|
||||
def created_at(self) -> pulumi.Output[_builtins.str]:
|
||||
"""
|
||||
RFC 3339 timestamp of when the connection was created.
|
||||
"""
|
||||
return pulumi.get(self, "created_at")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def name(self) -> pulumi.Output[_builtins.str]:
|
||||
"""
|
||||
Name of the connection. Must be unique within the organization and may contain only letters, digits, `-` and `_`.
|
||||
"""
|
||||
return pulumi.get(self, "name")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="organizationId")
|
||||
def organization_id(self) -> pulumi.Output[_builtins.str]:
|
||||
"""
|
||||
Organization that owns the connection.
|
||||
"""
|
||||
return pulumi.get(self, "organization_id")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="providerType")
|
||||
def provider_type(self) -> pulumi.Output[_builtins.str]:
|
||||
"""
|
||||
Provider kind derived from `config`: `cloudflare` or `route53`.
|
||||
"""
|
||||
return pulumi.get(self, "provider_type")
|
||||
|
||||
Generated
+200
-147
@@ -20,21 +20,22 @@ __all__ = ['DomainArgs', 'Domain']
|
||||
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):
|
||||
application_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
certificate_type: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
compose_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
custom_cert_resolver: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
custom_entrypoint: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
domain_type: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
enabled: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
forward_auth_enabled: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
https: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
internal_path: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
middlewares: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
||||
path: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
port: pulumi.Input[Optional[_builtins.int]] = None,
|
||||
preview_deployment_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
service_name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
strip_path: pulumi.Input[Optional[_builtins.bool]] = None):
|
||||
"""
|
||||
The set of arguments for constructing a Domain resource.
|
||||
|
||||
@@ -45,6 +46,7 @@ class DomainArgs:
|
||||
: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] enabled: Whether the domain is served. Setting this to `false` removes the route from Traefik but keeps the certificate, path and middleware configuration intact, so the domain can be brought back without reconfiguring it.
|
||||
: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 `/`.
|
||||
@@ -68,6 +70,8 @@ class DomainArgs:
|
||||
pulumi.set(__self__, "custom_entrypoint", custom_entrypoint)
|
||||
if domain_type is not None:
|
||||
pulumi.set(__self__, "domain_type", domain_type)
|
||||
if enabled is not None:
|
||||
pulumi.set(__self__, "enabled", enabled)
|
||||
if forward_auth_enabled is not None:
|
||||
pulumi.set(__self__, "forward_auth_enabled", forward_auth_enabled)
|
||||
if https is not None:
|
||||
@@ -101,205 +105,218 @@ class DomainArgs:
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="applicationId")
|
||||
def application_id(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def application_id(self) -> pulumi.Input[Optional[_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]]):
|
||||
def application_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "application_id", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="certificateType")
|
||||
def certificate_type(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def certificate_type(self) -> pulumi.Input[Optional[_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]]):
|
||||
def certificate_type(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "certificate_type", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="composeId")
|
||||
def compose_id(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def compose_id(self) -> pulumi.Input[Optional[_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]]):
|
||||
def compose_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "compose_id", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="customCertResolver")
|
||||
def custom_cert_resolver(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def custom_cert_resolver(self) -> pulumi.Input[Optional[_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]]):
|
||||
def custom_cert_resolver(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "custom_cert_resolver", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="customEntrypoint")
|
||||
def custom_entrypoint(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def custom_entrypoint(self) -> pulumi.Input[Optional[_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]]):
|
||||
def custom_entrypoint(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "custom_entrypoint", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="domainType")
|
||||
def domain_type(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def domain_type(self) -> pulumi.Input[Optional[_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]]):
|
||||
def domain_type(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "domain_type", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def enabled(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
||||
"""
|
||||
Whether the domain is served. Setting this to `false` removes the route from Traefik but keeps the certificate, path and middleware configuration intact, so the domain can be brought back without reconfiguring it.
|
||||
"""
|
||||
return pulumi.get(self, "enabled")
|
||||
|
||||
@enabled.setter
|
||||
def enabled(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
||||
pulumi.set(self, "enabled", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="forwardAuthEnabled")
|
||||
def forward_auth_enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
||||
def forward_auth_enabled(self) -> pulumi.Input[Optional[_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]]):
|
||||
def forward_auth_enabled(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
||||
pulumi.set(self, "forward_auth_enabled", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def https(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
||||
def https(self) -> pulumi.Input[Optional[_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]]):
|
||||
def https(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
||||
pulumi.set(self, "https", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="internalPath")
|
||||
def internal_path(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def internal_path(self) -> pulumi.Input[Optional[_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]]):
|
||||
def internal_path(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "internal_path", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def middlewares(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
||||
def middlewares(self) -> pulumi.Input[Optional[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]]]]):
|
||||
def middlewares(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]):
|
||||
pulumi.set(self, "middlewares", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def path(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def path(self) -> pulumi.Input[Optional[_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]]):
|
||||
def path(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "path", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def port(self) -> Optional[pulumi.Input[_builtins.int]]:
|
||||
def port(self) -> pulumi.Input[Optional[_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]]):
|
||||
def port(self, value: pulumi.Input[Optional[_builtins.int]]):
|
||||
pulumi.set(self, "port", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="previewDeploymentId")
|
||||
def preview_deployment_id(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def preview_deployment_id(self) -> pulumi.Input[Optional[_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]]):
|
||||
def preview_deployment_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "preview_deployment_id", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="serviceName")
|
||||
def service_name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def service_name(self) -> pulumi.Input[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")
|
||||
|
||||
@service_name.setter
|
||||
def service_name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def service_name(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "service_name", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="stripPath")
|
||||
def strip_path(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
||||
def strip_path(self) -> pulumi.Input[Optional[_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]]):
|
||||
def strip_path(self, value: pulumi.Input[Optional[_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):
|
||||
application_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
certificate_type: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
compose_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
created_at: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
custom_cert_resolver: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
custom_entrypoint: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
domain_type: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
enabled: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
forward_auth_enabled: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
host: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
https: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
internal_path: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
middlewares: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
||||
path: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
port: pulumi.Input[Optional[_builtins.int]] = None,
|
||||
preview_deployment_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
service_name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
strip_path: pulumi.Input[Optional[_builtins.bool]] = None):
|
||||
"""
|
||||
Input properties used for looking up and filtering Domain resources.
|
||||
|
||||
@@ -310,6 +327,7 @@ class _DomainState:
|
||||
: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] enabled: Whether the domain is served. Setting this to `false` removes the route from Traefik but keeps the certificate, path and middleware configuration intact, so the domain can be brought back without reconfiguring it.
|
||||
: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.
|
||||
@@ -335,6 +353,8 @@ class _DomainState:
|
||||
pulumi.set(__self__, "custom_entrypoint", custom_entrypoint)
|
||||
if domain_type is not None:
|
||||
pulumi.set(__self__, "domain_type", domain_type)
|
||||
if enabled is not None:
|
||||
pulumi.set(__self__, "enabled", enabled)
|
||||
if forward_auth_enabled is not None:
|
||||
pulumi.set(__self__, "forward_auth_enabled", forward_auth_enabled)
|
||||
if host is not None:
|
||||
@@ -358,206 +378,218 @@ class _DomainState:
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="applicationId")
|
||||
def application_id(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def application_id(self) -> pulumi.Input[Optional[_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]]):
|
||||
def application_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "application_id", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="certificateType")
|
||||
def certificate_type(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def certificate_type(self) -> pulumi.Input[Optional[_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]]):
|
||||
def certificate_type(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "certificate_type", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="composeId")
|
||||
def compose_id(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def compose_id(self) -> pulumi.Input[Optional[_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]]):
|
||||
def compose_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "compose_id", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="createdAt")
|
||||
def created_at(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def created_at(self) -> pulumi.Input[Optional[_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]]):
|
||||
def created_at(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "created_at", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="customCertResolver")
|
||||
def custom_cert_resolver(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def custom_cert_resolver(self) -> pulumi.Input[Optional[_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]]):
|
||||
def custom_cert_resolver(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "custom_cert_resolver", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="customEntrypoint")
|
||||
def custom_entrypoint(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def custom_entrypoint(self) -> pulumi.Input[Optional[_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]]):
|
||||
def custom_entrypoint(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "custom_entrypoint", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="domainType")
|
||||
def domain_type(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def domain_type(self) -> pulumi.Input[Optional[_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]]):
|
||||
def domain_type(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "domain_type", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def enabled(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
||||
"""
|
||||
Whether the domain is served. Setting this to `false` removes the route from Traefik but keeps the certificate, path and middleware configuration intact, so the domain can be brought back without reconfiguring it.
|
||||
"""
|
||||
return pulumi.get(self, "enabled")
|
||||
|
||||
@enabled.setter
|
||||
def enabled(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
||||
pulumi.set(self, "enabled", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="forwardAuthEnabled")
|
||||
def forward_auth_enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
||||
def forward_auth_enabled(self) -> pulumi.Input[Optional[_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]]):
|
||||
def forward_auth_enabled(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
||||
pulumi.set(self, "forward_auth_enabled", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def host(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def host(self) -> pulumi.Input[Optional[_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]]):
|
||||
def host(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "host", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def https(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
||||
def https(self) -> pulumi.Input[Optional[_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]]):
|
||||
def https(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
||||
pulumi.set(self, "https", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="internalPath")
|
||||
def internal_path(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def internal_path(self) -> pulumi.Input[Optional[_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]]):
|
||||
def internal_path(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "internal_path", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def middlewares(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
||||
def middlewares(self) -> pulumi.Input[Optional[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]]]]):
|
||||
def middlewares(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]):
|
||||
pulumi.set(self, "middlewares", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def path(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def path(self) -> pulumi.Input[Optional[_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]]):
|
||||
def path(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "path", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def port(self) -> Optional[pulumi.Input[_builtins.int]]:
|
||||
def port(self) -> pulumi.Input[Optional[_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]]):
|
||||
def port(self, value: pulumi.Input[Optional[_builtins.int]]):
|
||||
pulumi.set(self, "port", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="previewDeploymentId")
|
||||
def preview_deployment_id(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def preview_deployment_id(self) -> pulumi.Input[Optional[_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]]):
|
||||
def preview_deployment_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "preview_deployment_id", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="serviceName")
|
||||
def service_name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def service_name(self) -> pulumi.Input[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")
|
||||
|
||||
@service_name.setter
|
||||
def service_name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def service_name(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "service_name", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="stripPath")
|
||||
def strip_path(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
||||
def strip_path(self) -> pulumi.Input[Optional[_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]]):
|
||||
def strip_path(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
||||
pulumi.set(self, "strip_path", value)
|
||||
|
||||
|
||||
@@ -567,25 +599,29 @@ class Domain(pulumi.CustomResource):
|
||||
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,
|
||||
application_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
certificate_type: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
compose_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
custom_cert_resolver: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
custom_entrypoint: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
domain_type: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
enabled: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
forward_auth_enabled: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
host: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
https: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
internal_path: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
middlewares: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
||||
path: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
port: pulumi.Input[Optional[_builtins.int]] = None,
|
||||
preview_deployment_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
service_name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
strip_path: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
__props__=None):
|
||||
"""
|
||||
Create a Domain resource with the given unique name, props, and options.
|
||||
A domain routed to an application or a Compose service through Dokploy's Traefik instance.
|
||||
|
||||
Set exactly one of `application_id` or `compose_id`. When targeting a Compose stack, `service_name` selects which service in the stack receives the traffic.
|
||||
|
||||
|
||||
:param str resource_name: The name of the resource.
|
||||
:param pulumi.ResourceOptions opts: Options for the resource.
|
||||
@@ -595,6 +631,7 @@ class Domain(pulumi.CustomResource):
|
||||
: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] enabled: Whether the domain is served. Setting this to `false` removes the route from Traefik but keeps the certificate, path and middleware configuration intact, so the domain can be brought back without reconfiguring it.
|
||||
: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.
|
||||
@@ -613,7 +650,10 @@ class Domain(pulumi.CustomResource):
|
||||
args: DomainArgs,
|
||||
opts: Optional[pulumi.ResourceOptions] = None):
|
||||
"""
|
||||
Create a Domain resource with the given unique name, props, and options.
|
||||
A domain routed to an application or a Compose service through Dokploy's Traefik instance.
|
||||
|
||||
Set exactly one of `application_id` or `compose_id`. When targeting a Compose stack, `service_name` selects which service in the stack receives the traffic.
|
||||
|
||||
|
||||
:param str resource_name: The name of the resource.
|
||||
:param DomainArgs args: The arguments to use to populate this resource's properties.
|
||||
@@ -630,22 +670,23 @@ class Domain(pulumi.CustomResource):
|
||||
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,
|
||||
application_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
certificate_type: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
compose_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
custom_cert_resolver: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
custom_entrypoint: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
domain_type: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
enabled: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
forward_auth_enabled: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
host: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
https: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
internal_path: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
middlewares: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
||||
path: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
port: pulumi.Input[Optional[_builtins.int]] = None,
|
||||
preview_deployment_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
service_name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
strip_path: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
__props__=None):
|
||||
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
||||
if not isinstance(opts, pulumi.ResourceOptions):
|
||||
@@ -661,6 +702,7 @@ class Domain(pulumi.CustomResource):
|
||||
__props__.__dict__["custom_cert_resolver"] = custom_cert_resolver
|
||||
__props__.__dict__["custom_entrypoint"] = custom_entrypoint
|
||||
__props__.__dict__["domain_type"] = domain_type
|
||||
__props__.__dict__["enabled"] = enabled
|
||||
__props__.__dict__["forward_auth_enabled"] = forward_auth_enabled
|
||||
if host is None and not opts.urn:
|
||||
raise TypeError("Missing required property 'host'")
|
||||
@@ -684,23 +726,24 @@ class Domain(pulumi.CustomResource):
|
||||
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':
|
||||
application_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
certificate_type: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
compose_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
created_at: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
custom_cert_resolver: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
custom_entrypoint: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
domain_type: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
enabled: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
forward_auth_enabled: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
host: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
https: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
internal_path: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
middlewares: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
||||
path: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
port: pulumi.Input[Optional[_builtins.int]] = None,
|
||||
preview_deployment_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
service_name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
strip_path: pulumi.Input[Optional[_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.
|
||||
@@ -715,6 +758,7 @@ class Domain(pulumi.CustomResource):
|
||||
: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] enabled: Whether the domain is served. Setting this to `false` removes the route from Traefik but keeps the certificate, path and middleware configuration intact, so the domain can be brought back without reconfiguring it.
|
||||
: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.
|
||||
@@ -737,6 +781,7 @@ class Domain(pulumi.CustomResource):
|
||||
__props__.__dict__["custom_cert_resolver"] = custom_cert_resolver
|
||||
__props__.__dict__["custom_entrypoint"] = custom_entrypoint
|
||||
__props__.__dict__["domain_type"] = domain_type
|
||||
__props__.__dict__["enabled"] = enabled
|
||||
__props__.__dict__["forward_auth_enabled"] = forward_auth_enabled
|
||||
__props__.__dict__["host"] = host
|
||||
__props__.__dict__["https"] = https
|
||||
@@ -805,6 +850,14 @@ class Domain(pulumi.CustomResource):
|
||||
"""
|
||||
return pulumi.get(self, "domain_type")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def enabled(self) -> pulumi.Output[_builtins.bool]:
|
||||
"""
|
||||
Whether the domain is served. Setting this to `false` removes the route from Traefik but keeps the certificate, path and middleware configuration intact, so the domain can be brought back without reconfiguring it.
|
||||
"""
|
||||
return pulumi.get(self, "enabled")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="forwardAuthEnabled")
|
||||
def forward_auth_enabled(self) -> pulumi.Output[_builtins.bool]:
|
||||
|
||||
Generated
+49
-43
@@ -20,9 +20,9 @@ __all__ = ['EnvironmentArgs', 'Environment']
|
||||
class EnvironmentArgs:
|
||||
def __init__(__self__, *,
|
||||
project_id: pulumi.Input[_builtins.str],
|
||||
description: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
env: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
name: Optional[pulumi.Input[_builtins.str]] = None):
|
||||
description: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
env: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
name: pulumi.Input[Optional[_builtins.str]] = None):
|
||||
"""
|
||||
The set of arguments for constructing a Environment resource.
|
||||
|
||||
@@ -53,50 +53,50 @@ class EnvironmentArgs:
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def description(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def description(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Free-form description.
|
||||
"""
|
||||
return pulumi.get(self, "description")
|
||||
|
||||
@description.setter
|
||||
def description(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def description(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "description", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def env(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def env(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Environment-wide variables in `KEY=value` format, one per line. These are merged into every service in this environment.
|
||||
"""
|
||||
return pulumi.get(self, "env")
|
||||
|
||||
@env.setter
|
||||
def env(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def env(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "env", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def name(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Environment name, for example `staging`.
|
||||
"""
|
||||
return pulumi.get(self, "name")
|
||||
|
||||
@name.setter
|
||||
def name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def name(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "name", value)
|
||||
|
||||
|
||||
@pulumi.input_type
|
||||
class _EnvironmentState:
|
||||
def __init__(__self__, *,
|
||||
created_at: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
description: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
env: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
is_default: Optional[pulumi.Input[_builtins.bool]] = None,
|
||||
name: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
project_id: Optional[pulumi.Input[_builtins.str]] = None):
|
||||
created_at: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
description: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
env: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
is_default: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
project_id: pulumi.Input[Optional[_builtins.str]] = None):
|
||||
"""
|
||||
Input properties used for looking up and filtering Environment resources.
|
||||
|
||||
@@ -122,74 +122,74 @@ class _EnvironmentState:
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="createdAt")
|
||||
def created_at(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def created_at(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
RFC 3339 timestamp of when the environment was created.
|
||||
"""
|
||||
return pulumi.get(self, "created_at")
|
||||
|
||||
@created_at.setter
|
||||
def created_at(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def created_at(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "created_at", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def description(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def description(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Free-form description.
|
||||
"""
|
||||
return pulumi.get(self, "description")
|
||||
|
||||
@description.setter
|
||||
def description(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def description(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "description", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def env(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def env(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Environment-wide variables in `KEY=value` format, one per line. These are merged into every service in this environment.
|
||||
"""
|
||||
return pulumi.get(self, "env")
|
||||
|
||||
@env.setter
|
||||
def env(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def env(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "env", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="isDefault")
|
||||
def is_default(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
||||
def is_default(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
||||
"""
|
||||
Whether this is the project's default environment.
|
||||
"""
|
||||
return pulumi.get(self, "is_default")
|
||||
|
||||
@is_default.setter
|
||||
def is_default(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
||||
def is_default(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
||||
pulumi.set(self, "is_default", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def name(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Environment name, for example `staging`.
|
||||
"""
|
||||
return pulumi.get(self, "name")
|
||||
|
||||
@name.setter
|
||||
def name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def name(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "name", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="projectId")
|
||||
def project_id(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def project_id(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Project this environment belongs to.
|
||||
"""
|
||||
return pulumi.get(self, "project_id")
|
||||
|
||||
@project_id.setter
|
||||
def project_id(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def project_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "project_id", value)
|
||||
|
||||
|
||||
@@ -199,13 +199,16 @@ class Environment(pulumi.CustomResource):
|
||||
def __init__(__self__,
|
||||
resource_name: str,
|
||||
opts: Optional[pulumi.ResourceOptions] = None,
|
||||
description: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
env: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
name: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
project_id: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
description: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
env: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
project_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
__props__=None):
|
||||
"""
|
||||
Create a Environment resource with the given unique name, props, and options.
|
||||
An environment inside a Dokploy project, such as `staging` or `production`. Services belong to an environment rather than directly to a project.
|
||||
|
||||
Dokploy creates a default `production` environment with every project; reference it via `dokploy_project.<name>.default_environment_id` instead of declaring it here.
|
||||
|
||||
|
||||
:param str resource_name: The name of the resource.
|
||||
:param pulumi.ResourceOptions opts: Options for the resource.
|
||||
@@ -221,7 +224,10 @@ class Environment(pulumi.CustomResource):
|
||||
args: EnvironmentArgs,
|
||||
opts: Optional[pulumi.ResourceOptions] = None):
|
||||
"""
|
||||
Create a Environment resource with the given unique name, props, and options.
|
||||
An environment inside a Dokploy project, such as `staging` or `production`. Services belong to an environment rather than directly to a project.
|
||||
|
||||
Dokploy creates a default `production` environment with every project; reference it via `dokploy_project.<name>.default_environment_id` instead of declaring it here.
|
||||
|
||||
|
||||
:param str resource_name: The name of the resource.
|
||||
:param EnvironmentArgs args: The arguments to use to populate this resource's properties.
|
||||
@@ -238,10 +244,10 @@ class Environment(pulumi.CustomResource):
|
||||
def _internal_init(__self__,
|
||||
resource_name: str,
|
||||
opts: Optional[pulumi.ResourceOptions] = None,
|
||||
description: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
env: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
name: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
project_id: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
description: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
env: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
project_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
__props__=None):
|
||||
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
||||
if not isinstance(opts, pulumi.ResourceOptions):
|
||||
@@ -269,12 +275,12 @@ class Environment(pulumi.CustomResource):
|
||||
def get(resource_name: str,
|
||||
id: pulumi.Input[str],
|
||||
opts: Optional[pulumi.ResourceOptions] = None,
|
||||
created_at: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
description: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
env: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
is_default: Optional[pulumi.Input[_builtins.bool]] = None,
|
||||
name: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
project_id: Optional[pulumi.Input[_builtins.str]] = None) -> 'Environment':
|
||||
created_at: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
description: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
env: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
is_default: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
project_id: pulumi.Input[Optional[_builtins.str]] = None) -> 'Environment':
|
||||
"""
|
||||
Get an existing Environment resource's state with the given name, id, and optional extra
|
||||
properties used to qualify the lookup.
|
||||
|
||||
+36
-3
@@ -58,46 +58,73 @@ class GetApplicationResult:
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="appName")
|
||||
def app_name(self) -> _builtins.str:
|
||||
"""
|
||||
Docker service name.
|
||||
"""
|
||||
return pulumi.get(self, "app_name")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="applicationStatus")
|
||||
def application_status(self) -> _builtins.str:
|
||||
"""
|
||||
Current status.
|
||||
"""
|
||||
return pulumi.get(self, "application_status")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="buildType")
|
||||
def build_type(self) -> _builtins.str:
|
||||
"""
|
||||
Build strategy.
|
||||
"""
|
||||
return pulumi.get(self, "build_type")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="createdAt")
|
||||
def created_at(self) -> _builtins.str:
|
||||
"""
|
||||
Creation timestamp.
|
||||
"""
|
||||
return pulumi.get(self, "created_at")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def description(self) -> _builtins.str:
|
||||
"""
|
||||
Application description.
|
||||
"""
|
||||
return pulumi.get(self, "description")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="environmentId")
|
||||
def environment_id(self) -> _builtins.str:
|
||||
"""
|
||||
Owning environment.
|
||||
"""
|
||||
return pulumi.get(self, "environment_id")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def id(self) -> _builtins.str:
|
||||
"""
|
||||
Application identifier.
|
||||
"""
|
||||
return pulumi.get(self, "id")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def name(self) -> _builtins.str:
|
||||
"""
|
||||
Application name.
|
||||
"""
|
||||
return pulumi.get(self, "name")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="sourceType")
|
||||
def source_type(self) -> _builtins.str:
|
||||
"""
|
||||
Source of the code or image.
|
||||
"""
|
||||
return pulumi.get(self, "source_type")
|
||||
|
||||
|
||||
@@ -121,7 +148,10 @@ class AwaitableGetApplicationResult(GetApplicationResult):
|
||||
def get_application(id: Optional[_builtins.str] = None,
|
||||
opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetApplicationResult:
|
||||
"""
|
||||
Use this data source to access information about an existing resource.
|
||||
Look up an existing application by ID.
|
||||
|
||||
|
||||
:param _builtins.str id: Application identifier.
|
||||
"""
|
||||
__args__ = dict()
|
||||
__args__['id'] = id
|
||||
@@ -138,10 +168,13 @@ def get_application(id: Optional[_builtins.str] = None,
|
||||
id=pulumi.get(__ret__, 'id'),
|
||||
name=pulumi.get(__ret__, 'name'),
|
||||
source_type=pulumi.get(__ret__, 'source_type'))
|
||||
def get_application_output(id: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
def get_application_output(id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetApplicationResult]:
|
||||
"""
|
||||
Use this data source to access information about an existing resource.
|
||||
Look up an existing application by ID.
|
||||
|
||||
|
||||
:param _builtins.str id: Application identifier.
|
||||
"""
|
||||
__args__ = dict()
|
||||
__args__['id'] = id
|
||||
|
||||
+30
-3
@@ -52,36 +52,57 @@ class GetEnvironmentResult:
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="createdAt")
|
||||
def created_at(self) -> _builtins.str:
|
||||
"""
|
||||
Creation timestamp.
|
||||
"""
|
||||
return pulumi.get(self, "created_at")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def description(self) -> _builtins.str:
|
||||
"""
|
||||
Environment description.
|
||||
"""
|
||||
return pulumi.get(self, "description")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def env(self) -> _builtins.str:
|
||||
"""
|
||||
Environment-wide variables.
|
||||
"""
|
||||
return pulumi.get(self, "env")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def id(self) -> _builtins.str:
|
||||
"""
|
||||
Environment identifier.
|
||||
"""
|
||||
return pulumi.get(self, "id")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="isDefault")
|
||||
def is_default(self) -> _builtins.bool:
|
||||
"""
|
||||
Whether this is the project's default environment.
|
||||
"""
|
||||
return pulumi.get(self, "is_default")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def name(self) -> _builtins.str:
|
||||
"""
|
||||
Environment name.
|
||||
"""
|
||||
return pulumi.get(self, "name")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="projectId")
|
||||
def project_id(self) -> _builtins.str:
|
||||
"""
|
||||
Owning project.
|
||||
"""
|
||||
return pulumi.get(self, "project_id")
|
||||
|
||||
|
||||
@@ -103,7 +124,10 @@ class AwaitableGetEnvironmentResult(GetEnvironmentResult):
|
||||
def get_environment(id: Optional[_builtins.str] = None,
|
||||
opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetEnvironmentResult:
|
||||
"""
|
||||
Use this data source to access information about an existing resource.
|
||||
Look up an existing environment by ID.
|
||||
|
||||
|
||||
:param _builtins.str id: Environment identifier.
|
||||
"""
|
||||
__args__ = dict()
|
||||
__args__['id'] = id
|
||||
@@ -118,10 +142,13 @@ def get_environment(id: Optional[_builtins.str] = None,
|
||||
is_default=pulumi.get(__ret__, 'is_default'),
|
||||
name=pulumi.get(__ret__, 'name'),
|
||||
project_id=pulumi.get(__ret__, 'project_id'))
|
||||
def get_environment_output(id: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
def get_environment_output(id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetEnvironmentResult]:
|
||||
"""
|
||||
Use this data source to access information about an existing resource.
|
||||
Look up an existing environment by ID.
|
||||
|
||||
|
||||
:param _builtins.str id: Environment identifier.
|
||||
"""
|
||||
__args__ = dict()
|
||||
__args__['id'] = id
|
||||
|
||||
Generated
+33
-3
@@ -56,41 +56,65 @@ class GetProjectResult:
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="createdAt")
|
||||
def created_at(self) -> _builtins.str:
|
||||
"""
|
||||
Creation timestamp.
|
||||
"""
|
||||
return pulumi.get(self, "created_at")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="defaultEnvironmentId")
|
||||
def default_environment_id(self) -> _builtins.str:
|
||||
"""
|
||||
ID of the project's default environment.
|
||||
"""
|
||||
return pulumi.get(self, "default_environment_id")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def description(self) -> _builtins.str:
|
||||
"""
|
||||
Project description.
|
||||
"""
|
||||
return pulumi.get(self, "description")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def env(self) -> _builtins.str:
|
||||
"""
|
||||
Project-wide environment variables.
|
||||
"""
|
||||
return pulumi.get(self, "env")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def environments(self) -> Sequence['outputs.GetProjectEnvironmentResult']:
|
||||
"""
|
||||
Every environment in the project.
|
||||
"""
|
||||
return pulumi.get(self, "environments")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def id(self) -> _builtins.str:
|
||||
"""
|
||||
Project identifier.
|
||||
"""
|
||||
return pulumi.get(self, "id")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def name(self) -> _builtins.str:
|
||||
"""
|
||||
Project name.
|
||||
"""
|
||||
return pulumi.get(self, "name")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="organizationId")
|
||||
def organization_id(self) -> _builtins.str:
|
||||
"""
|
||||
Owning organization.
|
||||
"""
|
||||
return pulumi.get(self, "organization_id")
|
||||
|
||||
|
||||
@@ -113,7 +137,10 @@ class AwaitableGetProjectResult(GetProjectResult):
|
||||
def get_project(id: Optional[_builtins.str] = None,
|
||||
opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetProjectResult:
|
||||
"""
|
||||
Use this data source to access information about an existing resource.
|
||||
Look up an existing Dokploy project by ID, including its environments.
|
||||
|
||||
|
||||
:param _builtins.str id: Project identifier.
|
||||
"""
|
||||
__args__ = dict()
|
||||
__args__['id'] = id
|
||||
@@ -129,10 +156,13 @@ def get_project(id: Optional[_builtins.str] = None,
|
||||
id=pulumi.get(__ret__, 'id'),
|
||||
name=pulumi.get(__ret__, 'name'),
|
||||
organization_id=pulumi.get(__ret__, 'organization_id'))
|
||||
def get_project_output(id: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
def get_project_output(id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetProjectResult]:
|
||||
"""
|
||||
Use this data source to access information about an existing resource.
|
||||
Look up an existing Dokploy project by ID, including its environments.
|
||||
|
||||
|
||||
:param _builtins.str id: Project identifier.
|
||||
"""
|
||||
__args__ = dict()
|
||||
__args__['id'] = id
|
||||
|
||||
+5
-2
@@ -35,6 +35,9 @@ class GetProjectsResult:
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def projects(self) -> Sequence['outputs.GetProjectsProjectResult']:
|
||||
"""
|
||||
All visible projects.
|
||||
"""
|
||||
return pulumi.get(self, "projects")
|
||||
|
||||
|
||||
@@ -49,7 +52,7 @@ class AwaitableGetProjectsResult(GetProjectsResult):
|
||||
|
||||
def get_projects(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetProjectsResult:
|
||||
"""
|
||||
Use this data source to access information about an existing resource.
|
||||
List every Dokploy project the API token can see.
|
||||
"""
|
||||
__args__ = dict()
|
||||
opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
|
||||
@@ -59,7 +62,7 @@ def get_projects(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetPro
|
||||
projects=pulumi.get(__ret__, 'projects'))
|
||||
def get_projects_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetProjectsResult]:
|
||||
"""
|
||||
Use this data source to access information about an existing resource.
|
||||
List every Dokploy project the API token can see.
|
||||
"""
|
||||
__args__ = dict()
|
||||
opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
|
||||
|
||||
Generated
+5
-2
@@ -35,6 +35,9 @@ class GetServersResult:
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def servers(self) -> Sequence['outputs.GetServersServerResult']:
|
||||
"""
|
||||
All registered servers.
|
||||
"""
|
||||
return pulumi.get(self, "servers")
|
||||
|
||||
|
||||
@@ -49,7 +52,7 @@ class AwaitableGetServersResult(GetServersResult):
|
||||
|
||||
def get_servers(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetServersResult:
|
||||
"""
|
||||
Use this data source to access information about an existing resource.
|
||||
List the remote servers registered with Dokploy. Use a server's `id` as the `server_id` of an application, stack, or database to deploy it away from the Dokploy host.
|
||||
"""
|
||||
__args__ = dict()
|
||||
opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
|
||||
@@ -59,7 +62,7 @@ def get_servers(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetServ
|
||||
servers=pulumi.get(__ret__, 'servers'))
|
||||
def get_servers_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetServersResult]:
|
||||
"""
|
||||
Use this data source to access information about an existing resource.
|
||||
List the remote servers registered with Dokploy. Use a server's `id` as the `server_id` of an application, stack, or database to deploy it away from the Dokploy host.
|
||||
"""
|
||||
__args__ = dict()
|
||||
opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
|
||||
|
||||
Generated
+1733
File diff suppressed because it is too large
Load Diff
Generated
+290
-280
File diff suppressed because it is too large
Load Diff
Generated
+290
-280
File diff suppressed because it is too large
Load Diff
Generated
+83
-69
@@ -23,16 +23,16 @@ class MountArgs:
|
||||
service_id: pulumi.Input[_builtins.str],
|
||||
service_type: pulumi.Input[_builtins.str],
|
||||
type: pulumi.Input[_builtins.str],
|
||||
content: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
file_path: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
host_path: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
volume_name: Optional[pulumi.Input[_builtins.str]] = None):
|
||||
content: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
file_path: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
host_path: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
volume_name: pulumi.Input[Optional[_builtins.str]] = None):
|
||||
"""
|
||||
The set of arguments for constructing a Mount resource.
|
||||
|
||||
:param pulumi.Input[_builtins.str] mount_path: Path inside the container where the mount appears.
|
||||
:param pulumi.Input[_builtins.str] service_id: ID of the service this mount attaches to. Must match `service_type` — an application ID, a compose ID, a postgres ID, and so on.
|
||||
:param pulumi.Input[_builtins.str] service_type: The kind of service this mount attaches to. Valid values: `application`, `postgres`, `mysql`, `mariadb`, `mongo`, `redis`, `compose`.
|
||||
:param pulumi.Input[_builtins.str] service_type: The kind of service this mount attaches to. Valid values: `application`, `postgres`, `mysql`, `mariadb`, `mongo`, `redis`, `compose`, `libsql`.
|
||||
:param pulumi.Input[_builtins.str] type: The kind of mount to create. Valid values: `bind`, `volume`, `file`.
|
||||
:param pulumi.Input[_builtins.str] content: Contents of the generated file, when `type` is `file`.
|
||||
:param pulumi.Input[_builtins.str] file_path: Path of the generated file, when `type` is `file`.
|
||||
@@ -80,7 +80,7 @@ class MountArgs:
|
||||
@pulumi.getter(name="serviceType")
|
||||
def service_type(self) -> pulumi.Input[_builtins.str]:
|
||||
"""
|
||||
The kind of service this mount attaches to. Valid values: `application`, `postgres`, `mysql`, `mariadb`, `mongo`, `redis`, `compose`.
|
||||
The kind of service this mount attaches to. Valid values: `application`, `postgres`, `mysql`, `mariadb`, `mongo`, `redis`, `compose`, `libsql`.
|
||||
"""
|
||||
return pulumi.get(self, "service_type")
|
||||
|
||||
@@ -102,64 +102,64 @@ class MountArgs:
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def content(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def content(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Contents of the generated file, when `type` is `file`.
|
||||
"""
|
||||
return pulumi.get(self, "content")
|
||||
|
||||
@content.setter
|
||||
def content(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def content(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "content", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="filePath")
|
||||
def file_path(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def file_path(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Path of the generated file, when `type` is `file`.
|
||||
"""
|
||||
return pulumi.get(self, "file_path")
|
||||
|
||||
@file_path.setter
|
||||
def file_path(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def file_path(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "file_path", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="hostPath")
|
||||
def host_path(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def host_path(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Path on the host, when `type` is `bind`.
|
||||
"""
|
||||
return pulumi.get(self, "host_path")
|
||||
|
||||
@host_path.setter
|
||||
def host_path(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def host_path(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "host_path", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="volumeName")
|
||||
def volume_name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def volume_name(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Name of the Docker volume, when `type` is `volume`.
|
||||
"""
|
||||
return pulumi.get(self, "volume_name")
|
||||
|
||||
@volume_name.setter
|
||||
def volume_name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def volume_name(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "volume_name", value)
|
||||
|
||||
|
||||
@pulumi.input_type
|
||||
class _MountState:
|
||||
def __init__(__self__, *,
|
||||
content: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
file_path: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
host_path: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
mount_path: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
service_id: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
service_type: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
type: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
volume_name: Optional[pulumi.Input[_builtins.str]] = None):
|
||||
content: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
file_path: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
host_path: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
mount_path: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
service_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
service_type: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
type: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
volume_name: pulumi.Input[Optional[_builtins.str]] = None):
|
||||
"""
|
||||
Input properties used for looking up and filtering Mount resources.
|
||||
|
||||
@@ -168,7 +168,7 @@ class _MountState:
|
||||
:param pulumi.Input[_builtins.str] host_path: Path on the host, when `type` is `bind`.
|
||||
:param pulumi.Input[_builtins.str] mount_path: Path inside the container where the mount appears.
|
||||
:param pulumi.Input[_builtins.str] service_id: ID of the service this mount attaches to. Must match `service_type` — an application ID, a compose ID, a postgres ID, and so on.
|
||||
:param pulumi.Input[_builtins.str] service_type: The kind of service this mount attaches to. Valid values: `application`, `postgres`, `mysql`, `mariadb`, `mongo`, `redis`, `compose`.
|
||||
:param pulumi.Input[_builtins.str] service_type: The kind of service this mount attaches to. Valid values: `application`, `postgres`, `mysql`, `mariadb`, `mongo`, `redis`, `compose`, `libsql`.
|
||||
:param pulumi.Input[_builtins.str] type: The kind of mount to create. Valid values: `bind`, `volume`, `file`.
|
||||
:param pulumi.Input[_builtins.str] volume_name: Name of the Docker volume, when `type` is `volume`.
|
||||
"""
|
||||
@@ -191,98 +191,98 @@ class _MountState:
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def content(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def content(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Contents of the generated file, when `type` is `file`.
|
||||
"""
|
||||
return pulumi.get(self, "content")
|
||||
|
||||
@content.setter
|
||||
def content(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def content(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "content", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="filePath")
|
||||
def file_path(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def file_path(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Path of the generated file, when `type` is `file`.
|
||||
"""
|
||||
return pulumi.get(self, "file_path")
|
||||
|
||||
@file_path.setter
|
||||
def file_path(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def file_path(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "file_path", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="hostPath")
|
||||
def host_path(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def host_path(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Path on the host, when `type` is `bind`.
|
||||
"""
|
||||
return pulumi.get(self, "host_path")
|
||||
|
||||
@host_path.setter
|
||||
def host_path(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def host_path(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "host_path", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="mountPath")
|
||||
def mount_path(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def mount_path(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Path inside the container where the mount appears.
|
||||
"""
|
||||
return pulumi.get(self, "mount_path")
|
||||
|
||||
@mount_path.setter
|
||||
def mount_path(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def mount_path(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "mount_path", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="serviceId")
|
||||
def service_id(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def service_id(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
ID of the service this mount attaches to. Must match `service_type` — an application ID, a compose ID, a postgres ID, and so on.
|
||||
"""
|
||||
return pulumi.get(self, "service_id")
|
||||
|
||||
@service_id.setter
|
||||
def service_id(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def service_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "service_id", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="serviceType")
|
||||
def service_type(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def service_type(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
The kind of service this mount attaches to. Valid values: `application`, `postgres`, `mysql`, `mariadb`, `mongo`, `redis`, `compose`.
|
||||
The kind of service this mount attaches to. Valid values: `application`, `postgres`, `mysql`, `mariadb`, `mongo`, `redis`, `compose`, `libsql`.
|
||||
"""
|
||||
return pulumi.get(self, "service_type")
|
||||
|
||||
@service_type.setter
|
||||
def service_type(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def service_type(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "service_type", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def type(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def type(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
The kind of mount to create. Valid values: `bind`, `volume`, `file`.
|
||||
"""
|
||||
return pulumi.get(self, "type")
|
||||
|
||||
@type.setter
|
||||
def type(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def type(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "type", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="volumeName")
|
||||
def volume_name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def volume_name(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Name of the Docker volume, when `type` is `volume`.
|
||||
"""
|
||||
return pulumi.get(self, "volume_name")
|
||||
|
||||
@volume_name.setter
|
||||
def volume_name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def volume_name(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "volume_name", value)
|
||||
|
||||
|
||||
@@ -292,17 +292,24 @@ class Mount(pulumi.CustomResource):
|
||||
def __init__(__self__,
|
||||
resource_name: str,
|
||||
opts: Optional[pulumi.ResourceOptions] = None,
|
||||
content: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
file_path: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
host_path: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
mount_path: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
service_id: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
service_type: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
type: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
volume_name: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
content: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
file_path: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
host_path: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
mount_path: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
service_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
service_type: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
type: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
volume_name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
__props__=None):
|
||||
"""
|
||||
Create a Mount resource with the given unique name, props, and options.
|
||||
A volume, bind mount, or config file attached to a Dokploy service.
|
||||
|
||||
* `type = "volume"` — a named Docker volume; set `volume_name`.
|
||||
* `type = "bind"` — a path on the host; set `host_path`.
|
||||
* `type = "file"` — a file rendered from `content`; set `file_path`.
|
||||
|
||||
> **A `volume` mount must set `volume_name`.** Dokploy hands an unset name to Docker as an empty source, which creates a fresh anonymous volume on every deploy and orphans the previous one — the data never survives a redeploy. The provider rejects that combination at plan time.
|
||||
|
||||
|
||||
:param str resource_name: The name of the resource.
|
||||
:param pulumi.ResourceOptions opts: Options for the resource.
|
||||
@@ -311,7 +318,7 @@ class Mount(pulumi.CustomResource):
|
||||
:param pulumi.Input[_builtins.str] host_path: Path on the host, when `type` is `bind`.
|
||||
:param pulumi.Input[_builtins.str] mount_path: Path inside the container where the mount appears.
|
||||
:param pulumi.Input[_builtins.str] service_id: ID of the service this mount attaches to. Must match `service_type` — an application ID, a compose ID, a postgres ID, and so on.
|
||||
:param pulumi.Input[_builtins.str] service_type: The kind of service this mount attaches to. Valid values: `application`, `postgres`, `mysql`, `mariadb`, `mongo`, `redis`, `compose`.
|
||||
:param pulumi.Input[_builtins.str] service_type: The kind of service this mount attaches to. Valid values: `application`, `postgres`, `mysql`, `mariadb`, `mongo`, `redis`, `compose`, `libsql`.
|
||||
:param pulumi.Input[_builtins.str] type: The kind of mount to create. Valid values: `bind`, `volume`, `file`.
|
||||
:param pulumi.Input[_builtins.str] volume_name: Name of the Docker volume, when `type` is `volume`.
|
||||
"""
|
||||
@@ -322,7 +329,14 @@ class Mount(pulumi.CustomResource):
|
||||
args: MountArgs,
|
||||
opts: Optional[pulumi.ResourceOptions] = None):
|
||||
"""
|
||||
Create a Mount resource with the given unique name, props, and options.
|
||||
A volume, bind mount, or config file attached to a Dokploy service.
|
||||
|
||||
* `type = "volume"` — a named Docker volume; set `volume_name`.
|
||||
* `type = "bind"` — a path on the host; set `host_path`.
|
||||
* `type = "file"` — a file rendered from `content`; set `file_path`.
|
||||
|
||||
> **A `volume` mount must set `volume_name`.** Dokploy hands an unset name to Docker as an empty source, which creates a fresh anonymous volume on every deploy and orphans the previous one — the data never survives a redeploy. The provider rejects that combination at plan time.
|
||||
|
||||
|
||||
:param str resource_name: The name of the resource.
|
||||
:param MountArgs args: The arguments to use to populate this resource's properties.
|
||||
@@ -339,14 +353,14 @@ class Mount(pulumi.CustomResource):
|
||||
def _internal_init(__self__,
|
||||
resource_name: str,
|
||||
opts: Optional[pulumi.ResourceOptions] = None,
|
||||
content: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
file_path: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
host_path: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
mount_path: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
service_id: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
service_type: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
type: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
volume_name: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
content: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
file_path: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
host_path: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
mount_path: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
service_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
service_type: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
type: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
volume_name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
__props__=None):
|
||||
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
||||
if not isinstance(opts, pulumi.ResourceOptions):
|
||||
@@ -382,14 +396,14 @@ class Mount(pulumi.CustomResource):
|
||||
def get(resource_name: str,
|
||||
id: pulumi.Input[str],
|
||||
opts: Optional[pulumi.ResourceOptions] = None,
|
||||
content: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
file_path: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
host_path: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
mount_path: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
service_id: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
service_type: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
type: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
volume_name: Optional[pulumi.Input[_builtins.str]] = None) -> 'Mount':
|
||||
content: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
file_path: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
host_path: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
mount_path: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
service_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
service_type: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
type: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
volume_name: pulumi.Input[Optional[_builtins.str]] = None) -> 'Mount':
|
||||
"""
|
||||
Get an existing Mount resource's state with the given name, id, and optional extra
|
||||
properties used to qualify the lookup.
|
||||
@@ -402,7 +416,7 @@ class Mount(pulumi.CustomResource):
|
||||
:param pulumi.Input[_builtins.str] host_path: Path on the host, when `type` is `bind`.
|
||||
:param pulumi.Input[_builtins.str] mount_path: Path inside the container where the mount appears.
|
||||
:param pulumi.Input[_builtins.str] service_id: ID of the service this mount attaches to. Must match `service_type` — an application ID, a compose ID, a postgres ID, and so on.
|
||||
:param pulumi.Input[_builtins.str] service_type: The kind of service this mount attaches to. Valid values: `application`, `postgres`, `mysql`, `mariadb`, `mongo`, `redis`, `compose`.
|
||||
:param pulumi.Input[_builtins.str] service_type: The kind of service this mount attaches to. Valid values: `application`, `postgres`, `mysql`, `mariadb`, `mongo`, `redis`, `compose`, `libsql`.
|
||||
:param pulumi.Input[_builtins.str] type: The kind of mount to create. Valid values: `bind`, `volume`, `file`.
|
||||
:param pulumi.Input[_builtins.str] volume_name: Name of the Docker volume, when `type` is `volume`.
|
||||
"""
|
||||
@@ -464,7 +478,7 @@ class Mount(pulumi.CustomResource):
|
||||
@pulumi.getter(name="serviceType")
|
||||
def service_type(self) -> pulumi.Output[_builtins.str]:
|
||||
"""
|
||||
The kind of service this mount attaches to. Valid values: `application`, `postgres`, `mysql`, `mariadb`, `mongo`, `redis`, `compose`.
|
||||
The kind of service this mount attaches to. Valid values: `application`, `postgres`, `mysql`, `mariadb`, `mongo`, `redis`, `compose`, `libsql`.
|
||||
"""
|
||||
return pulumi.get(self, "service_type")
|
||||
|
||||
|
||||
Generated
+290
-280
File diff suppressed because it is too large
Load Diff
Generated
+595
@@ -0,0 +1,595 @@
|
||||
# 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__ = ['NetworkArgs', 'Network']
|
||||
|
||||
@pulumi.input_type
|
||||
class NetworkArgs:
|
||||
def __init__(__self__, *,
|
||||
attachable: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
driver: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
enable_ipv4: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
enable_ipv6: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
internal: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
ipam: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
mtu: pulumi.Input[Optional[_builtins.int]] = None,
|
||||
name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
server_id: pulumi.Input[Optional[_builtins.str]] = None):
|
||||
"""
|
||||
The set of arguments for constructing a Network resource.
|
||||
|
||||
:param pulumi.Input[_builtins.bool] attachable: Allow standalone containers to attach to an overlay network.
|
||||
:param pulumi.Input[_builtins.str] driver: Network driver. Use `overlay` for multi-node Swarm clusters and `bridge` for a single host. Valid values: `bridge`, `overlay`.
|
||||
:param pulumi.Input[_builtins.bool] enable_ipv4: Enable IPv4 address allocation.
|
||||
:param pulumi.Input[_builtins.bool] enable_ipv6: Enable IPv6 address allocation.
|
||||
:param pulumi.Input[_builtins.bool] internal: Isolate the network from external access.
|
||||
:param pulumi.Input[_builtins.str] ipam: Custom IP address management, as a JSON object with `subnet`, `gateway` and `ipRange` keys. Leave unset to let Docker choose a subnet.
|
||||
:param pulumi.Input[_builtins.int] mtu: Maximum transmission unit for the network. Leave unset to use Docker's default.
|
||||
:param pulumi.Input[_builtins.str] name: Name of the Docker network.
|
||||
:param pulumi.Input[_builtins.str] server_id: Remote server to create the network on. Omit to use the Dokploy host itself.
|
||||
"""
|
||||
if attachable is not None:
|
||||
pulumi.set(__self__, "attachable", attachable)
|
||||
if driver is not None:
|
||||
pulumi.set(__self__, "driver", driver)
|
||||
if enable_ipv4 is not None:
|
||||
pulumi.set(__self__, "enable_ipv4", enable_ipv4)
|
||||
if enable_ipv6 is not None:
|
||||
pulumi.set(__self__, "enable_ipv6", enable_ipv6)
|
||||
if internal is not None:
|
||||
pulumi.set(__self__, "internal", internal)
|
||||
if ipam is not None:
|
||||
pulumi.set(__self__, "ipam", ipam)
|
||||
if mtu is not None:
|
||||
pulumi.set(__self__, "mtu", mtu)
|
||||
if name is not None:
|
||||
pulumi.set(__self__, "name", name)
|
||||
if server_id is not None:
|
||||
pulumi.set(__self__, "server_id", server_id)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def attachable(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
||||
"""
|
||||
Allow standalone containers to attach to an overlay network.
|
||||
"""
|
||||
return pulumi.get(self, "attachable")
|
||||
|
||||
@attachable.setter
|
||||
def attachable(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
||||
pulumi.set(self, "attachable", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def driver(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Network driver. Use `overlay` for multi-node Swarm clusters and `bridge` for a single host. Valid values: `bridge`, `overlay`.
|
||||
"""
|
||||
return pulumi.get(self, "driver")
|
||||
|
||||
@driver.setter
|
||||
def driver(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "driver", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="enableIpv4")
|
||||
def enable_ipv4(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
||||
"""
|
||||
Enable IPv4 address allocation.
|
||||
"""
|
||||
return pulumi.get(self, "enable_ipv4")
|
||||
|
||||
@enable_ipv4.setter
|
||||
def enable_ipv4(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
||||
pulumi.set(self, "enable_ipv4", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="enableIpv6")
|
||||
def enable_ipv6(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
||||
"""
|
||||
Enable IPv6 address allocation.
|
||||
"""
|
||||
return pulumi.get(self, "enable_ipv6")
|
||||
|
||||
@enable_ipv6.setter
|
||||
def enable_ipv6(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
||||
pulumi.set(self, "enable_ipv6", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def internal(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
||||
"""
|
||||
Isolate the network from external access.
|
||||
"""
|
||||
return pulumi.get(self, "internal")
|
||||
|
||||
@internal.setter
|
||||
def internal(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
||||
pulumi.set(self, "internal", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def ipam(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Custom IP address management, as a JSON object with `subnet`, `gateway` and `ipRange` keys. Leave unset to let Docker choose a subnet.
|
||||
"""
|
||||
return pulumi.get(self, "ipam")
|
||||
|
||||
@ipam.setter
|
||||
def ipam(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "ipam", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def mtu(self) -> pulumi.Input[Optional[_builtins.int]]:
|
||||
"""
|
||||
Maximum transmission unit for the network. Leave unset to use Docker's default.
|
||||
"""
|
||||
return pulumi.get(self, "mtu")
|
||||
|
||||
@mtu.setter
|
||||
def mtu(self, value: pulumi.Input[Optional[_builtins.int]]):
|
||||
pulumi.set(self, "mtu", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def name(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Name of the Docker network.
|
||||
"""
|
||||
return pulumi.get(self, "name")
|
||||
|
||||
@name.setter
|
||||
def name(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "name", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="serverId")
|
||||
def server_id(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Remote server to create the network on. Omit to use the Dokploy host itself.
|
||||
"""
|
||||
return pulumi.get(self, "server_id")
|
||||
|
||||
@server_id.setter
|
||||
def server_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "server_id", value)
|
||||
|
||||
|
||||
@pulumi.input_type
|
||||
class _NetworkState:
|
||||
def __init__(__self__, *,
|
||||
attachable: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
created_at: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
driver: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
enable_ipv4: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
enable_ipv6: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
internal: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
ipam: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
mtu: pulumi.Input[Optional[_builtins.int]] = None,
|
||||
name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
organization_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
server_id: pulumi.Input[Optional[_builtins.str]] = None):
|
||||
"""
|
||||
Input properties used for looking up and filtering Network resources.
|
||||
|
||||
:param pulumi.Input[_builtins.bool] attachable: Allow standalone containers to attach to an overlay network.
|
||||
:param pulumi.Input[_builtins.str] created_at: RFC 3339 timestamp of when the network was created.
|
||||
:param pulumi.Input[_builtins.str] driver: Network driver. Use `overlay` for multi-node Swarm clusters and `bridge` for a single host. Valid values: `bridge`, `overlay`.
|
||||
:param pulumi.Input[_builtins.bool] enable_ipv4: Enable IPv4 address allocation.
|
||||
:param pulumi.Input[_builtins.bool] enable_ipv6: Enable IPv6 address allocation.
|
||||
:param pulumi.Input[_builtins.bool] internal: Isolate the network from external access.
|
||||
:param pulumi.Input[_builtins.str] ipam: Custom IP address management, as a JSON object with `subnet`, `gateway` and `ipRange` keys. Leave unset to let Docker choose a subnet.
|
||||
:param pulumi.Input[_builtins.int] mtu: Maximum transmission unit for the network. Leave unset to use Docker's default.
|
||||
:param pulumi.Input[_builtins.str] name: Name of the Docker network.
|
||||
:param pulumi.Input[_builtins.str] organization_id: Organization that owns the network.
|
||||
:param pulumi.Input[_builtins.str] server_id: Remote server to create the network on. Omit to use the Dokploy host itself.
|
||||
"""
|
||||
if attachable is not None:
|
||||
pulumi.set(__self__, "attachable", attachable)
|
||||
if created_at is not None:
|
||||
pulumi.set(__self__, "created_at", created_at)
|
||||
if driver is not None:
|
||||
pulumi.set(__self__, "driver", driver)
|
||||
if enable_ipv4 is not None:
|
||||
pulumi.set(__self__, "enable_ipv4", enable_ipv4)
|
||||
if enable_ipv6 is not None:
|
||||
pulumi.set(__self__, "enable_ipv6", enable_ipv6)
|
||||
if internal is not None:
|
||||
pulumi.set(__self__, "internal", internal)
|
||||
if ipam is not None:
|
||||
pulumi.set(__self__, "ipam", ipam)
|
||||
if mtu is not None:
|
||||
pulumi.set(__self__, "mtu", mtu)
|
||||
if name is not None:
|
||||
pulumi.set(__self__, "name", name)
|
||||
if organization_id is not None:
|
||||
pulumi.set(__self__, "organization_id", organization_id)
|
||||
if server_id is not None:
|
||||
pulumi.set(__self__, "server_id", server_id)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def attachable(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
||||
"""
|
||||
Allow standalone containers to attach to an overlay network.
|
||||
"""
|
||||
return pulumi.get(self, "attachable")
|
||||
|
||||
@attachable.setter
|
||||
def attachable(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
||||
pulumi.set(self, "attachable", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="createdAt")
|
||||
def created_at(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
RFC 3339 timestamp of when the network was created.
|
||||
"""
|
||||
return pulumi.get(self, "created_at")
|
||||
|
||||
@created_at.setter
|
||||
def created_at(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "created_at", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def driver(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Network driver. Use `overlay` for multi-node Swarm clusters and `bridge` for a single host. Valid values: `bridge`, `overlay`.
|
||||
"""
|
||||
return pulumi.get(self, "driver")
|
||||
|
||||
@driver.setter
|
||||
def driver(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "driver", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="enableIpv4")
|
||||
def enable_ipv4(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
||||
"""
|
||||
Enable IPv4 address allocation.
|
||||
"""
|
||||
return pulumi.get(self, "enable_ipv4")
|
||||
|
||||
@enable_ipv4.setter
|
||||
def enable_ipv4(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
||||
pulumi.set(self, "enable_ipv4", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="enableIpv6")
|
||||
def enable_ipv6(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
||||
"""
|
||||
Enable IPv6 address allocation.
|
||||
"""
|
||||
return pulumi.get(self, "enable_ipv6")
|
||||
|
||||
@enable_ipv6.setter
|
||||
def enable_ipv6(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
||||
pulumi.set(self, "enable_ipv6", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def internal(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
||||
"""
|
||||
Isolate the network from external access.
|
||||
"""
|
||||
return pulumi.get(self, "internal")
|
||||
|
||||
@internal.setter
|
||||
def internal(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
||||
pulumi.set(self, "internal", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def ipam(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Custom IP address management, as a JSON object with `subnet`, `gateway` and `ipRange` keys. Leave unset to let Docker choose a subnet.
|
||||
"""
|
||||
return pulumi.get(self, "ipam")
|
||||
|
||||
@ipam.setter
|
||||
def ipam(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "ipam", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def mtu(self) -> pulumi.Input[Optional[_builtins.int]]:
|
||||
"""
|
||||
Maximum transmission unit for the network. Leave unset to use Docker's default.
|
||||
"""
|
||||
return pulumi.get(self, "mtu")
|
||||
|
||||
@mtu.setter
|
||||
def mtu(self, value: pulumi.Input[Optional[_builtins.int]]):
|
||||
pulumi.set(self, "mtu", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def name(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Name of the Docker network.
|
||||
"""
|
||||
return pulumi.get(self, "name")
|
||||
|
||||
@name.setter
|
||||
def name(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "name", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="organizationId")
|
||||
def organization_id(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Organization that owns the network.
|
||||
"""
|
||||
return pulumi.get(self, "organization_id")
|
||||
|
||||
@organization_id.setter
|
||||
def organization_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "organization_id", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="serverId")
|
||||
def server_id(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Remote server to create the network on. Omit to use the Dokploy host itself.
|
||||
"""
|
||||
return pulumi.get(self, "server_id")
|
||||
|
||||
@server_id.setter
|
||||
def server_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "server_id", value)
|
||||
|
||||
|
||||
@pulumi.type_token("dokploy:index/network:Network")
|
||||
class Network(pulumi.CustomResource):
|
||||
@overload
|
||||
def __init__(__self__,
|
||||
resource_name: str,
|
||||
opts: Optional[pulumi.ResourceOptions] = None,
|
||||
attachable: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
driver: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
enable_ipv4: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
enable_ipv6: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
internal: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
ipam: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
mtu: pulumi.Input[Optional[_builtins.int]] = None,
|
||||
name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
server_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
__props__=None):
|
||||
"""
|
||||
A Docker network managed by Dokploy.
|
||||
|
||||
Attach services to it with `network_ids` on `Application`, `Compose` and the database resources. Every service also joins the shared `dokploy-network` unless `detach_dokploy_network` is set.
|
||||
|
||||
> Docker networks are immutable. Dokploy has no update endpoint, so changing any attribute replaces the network — which detaches the services currently using it until they redeploy.
|
||||
|
||||
|
||||
:param str resource_name: The name of the resource.
|
||||
:param pulumi.ResourceOptions opts: Options for the resource.
|
||||
:param pulumi.Input[_builtins.bool] attachable: Allow standalone containers to attach to an overlay network.
|
||||
:param pulumi.Input[_builtins.str] driver: Network driver. Use `overlay` for multi-node Swarm clusters and `bridge` for a single host. Valid values: `bridge`, `overlay`.
|
||||
:param pulumi.Input[_builtins.bool] enable_ipv4: Enable IPv4 address allocation.
|
||||
:param pulumi.Input[_builtins.bool] enable_ipv6: Enable IPv6 address allocation.
|
||||
:param pulumi.Input[_builtins.bool] internal: Isolate the network from external access.
|
||||
:param pulumi.Input[_builtins.str] ipam: Custom IP address management, as a JSON object with `subnet`, `gateway` and `ipRange` keys. Leave unset to let Docker choose a subnet.
|
||||
:param pulumi.Input[_builtins.int] mtu: Maximum transmission unit for the network. Leave unset to use Docker's default.
|
||||
:param pulumi.Input[_builtins.str] name: Name of the Docker network.
|
||||
:param pulumi.Input[_builtins.str] server_id: Remote server to create the network on. Omit to use the Dokploy host itself.
|
||||
"""
|
||||
...
|
||||
@overload
|
||||
def __init__(__self__,
|
||||
resource_name: str,
|
||||
args: Optional[NetworkArgs] = None,
|
||||
opts: Optional[pulumi.ResourceOptions] = None):
|
||||
"""
|
||||
A Docker network managed by Dokploy.
|
||||
|
||||
Attach services to it with `network_ids` on `Application`, `Compose` and the database resources. Every service also joins the shared `dokploy-network` unless `detach_dokploy_network` is set.
|
||||
|
||||
> Docker networks are immutable. Dokploy has no update endpoint, so changing any attribute replaces the network — which detaches the services currently using it until they redeploy.
|
||||
|
||||
|
||||
:param str resource_name: The name of the resource.
|
||||
:param NetworkArgs 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(NetworkArgs, 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,
|
||||
attachable: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
driver: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
enable_ipv4: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
enable_ipv6: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
internal: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
ipam: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
mtu: pulumi.Input[Optional[_builtins.int]] = None,
|
||||
name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
server_id: pulumi.Input[Optional[_builtins.str]] = 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__ = NetworkArgs.__new__(NetworkArgs)
|
||||
|
||||
__props__.__dict__["attachable"] = attachable
|
||||
__props__.__dict__["driver"] = driver
|
||||
__props__.__dict__["enable_ipv4"] = enable_ipv4
|
||||
__props__.__dict__["enable_ipv6"] = enable_ipv6
|
||||
__props__.__dict__["internal"] = internal
|
||||
__props__.__dict__["ipam"] = ipam
|
||||
__props__.__dict__["mtu"] = mtu
|
||||
__props__.__dict__["name"] = name
|
||||
__props__.__dict__["server_id"] = server_id
|
||||
__props__.__dict__["created_at"] = None
|
||||
__props__.__dict__["organization_id"] = None
|
||||
super(Network, __self__).__init__(
|
||||
'dokploy:index/network:Network',
|
||||
resource_name,
|
||||
__props__,
|
||||
opts)
|
||||
|
||||
@staticmethod
|
||||
def get(resource_name: str,
|
||||
id: pulumi.Input[str],
|
||||
opts: Optional[pulumi.ResourceOptions] = None,
|
||||
attachable: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
created_at: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
driver: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
enable_ipv4: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
enable_ipv6: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
internal: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
ipam: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
mtu: pulumi.Input[Optional[_builtins.int]] = None,
|
||||
name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
organization_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
server_id: pulumi.Input[Optional[_builtins.str]] = None) -> 'Network':
|
||||
"""
|
||||
Get an existing Network 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.bool] attachable: Allow standalone containers to attach to an overlay network.
|
||||
:param pulumi.Input[_builtins.str] created_at: RFC 3339 timestamp of when the network was created.
|
||||
:param pulumi.Input[_builtins.str] driver: Network driver. Use `overlay` for multi-node Swarm clusters and `bridge` for a single host. Valid values: `bridge`, `overlay`.
|
||||
:param pulumi.Input[_builtins.bool] enable_ipv4: Enable IPv4 address allocation.
|
||||
:param pulumi.Input[_builtins.bool] enable_ipv6: Enable IPv6 address allocation.
|
||||
:param pulumi.Input[_builtins.bool] internal: Isolate the network from external access.
|
||||
:param pulumi.Input[_builtins.str] ipam: Custom IP address management, as a JSON object with `subnet`, `gateway` and `ipRange` keys. Leave unset to let Docker choose a subnet.
|
||||
:param pulumi.Input[_builtins.int] mtu: Maximum transmission unit for the network. Leave unset to use Docker's default.
|
||||
:param pulumi.Input[_builtins.str] name: Name of the Docker network.
|
||||
:param pulumi.Input[_builtins.str] organization_id: Organization that owns the network.
|
||||
:param pulumi.Input[_builtins.str] server_id: Remote server to create the network on. Omit to use the Dokploy host itself.
|
||||
"""
|
||||
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
||||
|
||||
__props__ = _NetworkState.__new__(_NetworkState)
|
||||
|
||||
__props__.__dict__["attachable"] = attachable
|
||||
__props__.__dict__["created_at"] = created_at
|
||||
__props__.__dict__["driver"] = driver
|
||||
__props__.__dict__["enable_ipv4"] = enable_ipv4
|
||||
__props__.__dict__["enable_ipv6"] = enable_ipv6
|
||||
__props__.__dict__["internal"] = internal
|
||||
__props__.__dict__["ipam"] = ipam
|
||||
__props__.__dict__["mtu"] = mtu
|
||||
__props__.__dict__["name"] = name
|
||||
__props__.__dict__["organization_id"] = organization_id
|
||||
__props__.__dict__["server_id"] = server_id
|
||||
return Network(resource_name, opts=opts, __props__=__props__)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def attachable(self) -> pulumi.Output[_builtins.bool]:
|
||||
"""
|
||||
Allow standalone containers to attach to an overlay network.
|
||||
"""
|
||||
return pulumi.get(self, "attachable")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="createdAt")
|
||||
def created_at(self) -> pulumi.Output[_builtins.str]:
|
||||
"""
|
||||
RFC 3339 timestamp of when the network was created.
|
||||
"""
|
||||
return pulumi.get(self, "created_at")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def driver(self) -> pulumi.Output[_builtins.str]:
|
||||
"""
|
||||
Network driver. Use `overlay` for multi-node Swarm clusters and `bridge` for a single host. Valid values: `bridge`, `overlay`.
|
||||
"""
|
||||
return pulumi.get(self, "driver")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="enableIpv4")
|
||||
def enable_ipv4(self) -> pulumi.Output[_builtins.bool]:
|
||||
"""
|
||||
Enable IPv4 address allocation.
|
||||
"""
|
||||
return pulumi.get(self, "enable_ipv4")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="enableIpv6")
|
||||
def enable_ipv6(self) -> pulumi.Output[_builtins.bool]:
|
||||
"""
|
||||
Enable IPv6 address allocation.
|
||||
"""
|
||||
return pulumi.get(self, "enable_ipv6")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def internal(self) -> pulumi.Output[_builtins.bool]:
|
||||
"""
|
||||
Isolate the network from external access.
|
||||
"""
|
||||
return pulumi.get(self, "internal")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def ipam(self) -> pulumi.Output[Optional[_builtins.str]]:
|
||||
"""
|
||||
Custom IP address management, as a JSON object with `subnet`, `gateway` and `ipRange` keys. Leave unset to let Docker choose a subnet.
|
||||
"""
|
||||
return pulumi.get(self, "ipam")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def mtu(self) -> pulumi.Output[Optional[_builtins.int]]:
|
||||
"""
|
||||
Maximum transmission unit for the network. Leave unset to use Docker's default.
|
||||
"""
|
||||
return pulumi.get(self, "mtu")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def name(self) -> pulumi.Output[_builtins.str]:
|
||||
"""
|
||||
Name of the Docker network.
|
||||
"""
|
||||
return pulumi.get(self, "name")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="organizationId")
|
||||
def organization_id(self) -> pulumi.Output[_builtins.str]:
|
||||
"""
|
||||
Organization that owns the network.
|
||||
"""
|
||||
return pulumi.get(self, "organization_id")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="serverId")
|
||||
def server_id(self) -> pulumi.Output[Optional[_builtins.str]]:
|
||||
"""
|
||||
Remote server to create the network on. Omit to use the Dokploy host itself.
|
||||
"""
|
||||
return pulumi.get(self, "server_id")
|
||||
|
||||
Generated
+37
-35
@@ -23,7 +23,7 @@ class PortArgs:
|
||||
protocol: pulumi.Input[_builtins.str],
|
||||
published_port: pulumi.Input[_builtins.int],
|
||||
target_port: pulumi.Input[_builtins.int],
|
||||
publish_mode: Optional[pulumi.Input[_builtins.str]] = None):
|
||||
publish_mode: pulumi.Input[Optional[_builtins.str]] = None):
|
||||
"""
|
||||
The set of arguments for constructing a Port resource.
|
||||
|
||||
@@ -90,25 +90,25 @@ class PortArgs:
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="publishMode")
|
||||
def publish_mode(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def publish_mode(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Docker Swarm publish mode. `host` binds directly to the node; `ingress` uses the swarm routing mesh. Valid values: `ingress`, `host`.
|
||||
"""
|
||||
return pulumi.get(self, "publish_mode")
|
||||
|
||||
@publish_mode.setter
|
||||
def publish_mode(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def publish_mode(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "publish_mode", value)
|
||||
|
||||
|
||||
@pulumi.input_type
|
||||
class _PortState:
|
||||
def __init__(__self__, *,
|
||||
application_id: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
protocol: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
publish_mode: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
published_port: Optional[pulumi.Input[_builtins.int]] = None,
|
||||
target_port: Optional[pulumi.Input[_builtins.int]] = None):
|
||||
application_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
protocol: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
publish_mode: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
published_port: pulumi.Input[Optional[_builtins.int]] = None,
|
||||
target_port: pulumi.Input[Optional[_builtins.int]] = None):
|
||||
"""
|
||||
Input properties used for looking up and filtering Port resources.
|
||||
|
||||
@@ -131,62 +131,62 @@ class _PortState:
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="applicationId")
|
||||
def application_id(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def application_id(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Application this port belongs to.
|
||||
"""
|
||||
return pulumi.get(self, "application_id")
|
||||
|
||||
@application_id.setter
|
||||
def application_id(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def application_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "application_id", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def protocol(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def protocol(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Transport protocol. Valid values: `tcp`, `udp`.
|
||||
"""
|
||||
return pulumi.get(self, "protocol")
|
||||
|
||||
@protocol.setter
|
||||
def protocol(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def protocol(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "protocol", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="publishMode")
|
||||
def publish_mode(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def publish_mode(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Docker Swarm publish mode. `host` binds directly to the node; `ingress` uses the swarm routing mesh. Valid values: `ingress`, `host`.
|
||||
"""
|
||||
return pulumi.get(self, "publish_mode")
|
||||
|
||||
@publish_mode.setter
|
||||
def publish_mode(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def publish_mode(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "publish_mode", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="publishedPort")
|
||||
def published_port(self) -> Optional[pulumi.Input[_builtins.int]]:
|
||||
def published_port(self) -> pulumi.Input[Optional[_builtins.int]]:
|
||||
"""
|
||||
Port exposed on the host.
|
||||
"""
|
||||
return pulumi.get(self, "published_port")
|
||||
|
||||
@published_port.setter
|
||||
def published_port(self, value: Optional[pulumi.Input[_builtins.int]]):
|
||||
def published_port(self, value: pulumi.Input[Optional[_builtins.int]]):
|
||||
pulumi.set(self, "published_port", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="targetPort")
|
||||
def target_port(self) -> Optional[pulumi.Input[_builtins.int]]:
|
||||
def target_port(self) -> pulumi.Input[Optional[_builtins.int]]:
|
||||
"""
|
||||
Port the container listens on.
|
||||
"""
|
||||
return pulumi.get(self, "target_port")
|
||||
|
||||
@target_port.setter
|
||||
def target_port(self, value: Optional[pulumi.Input[_builtins.int]]):
|
||||
def target_port(self, value: pulumi.Input[Optional[_builtins.int]]):
|
||||
pulumi.set(self, "target_port", value)
|
||||
|
||||
|
||||
@@ -196,14 +196,15 @@ class Port(pulumi.CustomResource):
|
||||
def __init__(__self__,
|
||||
resource_name: str,
|
||||
opts: Optional[pulumi.ResourceOptions] = None,
|
||||
application_id: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
protocol: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
publish_mode: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
published_port: Optional[pulumi.Input[_builtins.int]] = None,
|
||||
target_port: Optional[pulumi.Input[_builtins.int]] = None,
|
||||
application_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
protocol: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
publish_mode: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
published_port: pulumi.Input[Optional[_builtins.int]] = None,
|
||||
target_port: pulumi.Input[Optional[_builtins.int]] = None,
|
||||
__props__=None):
|
||||
"""
|
||||
Create a Port resource with the given unique name, props, and options.
|
||||
A published port that exposes an application directly on the host, bypassing Traefik.
|
||||
|
||||
|
||||
:param str resource_name: The name of the resource.
|
||||
:param pulumi.ResourceOptions opts: Options for the resource.
|
||||
@@ -220,7 +221,8 @@ class Port(pulumi.CustomResource):
|
||||
args: PortArgs,
|
||||
opts: Optional[pulumi.ResourceOptions] = None):
|
||||
"""
|
||||
Create a Port resource with the given unique name, props, and options.
|
||||
A published port that exposes an application directly on the host, bypassing Traefik.
|
||||
|
||||
|
||||
:param str resource_name: The name of the resource.
|
||||
:param PortArgs args: The arguments to use to populate this resource's properties.
|
||||
@@ -237,11 +239,11 @@ class Port(pulumi.CustomResource):
|
||||
def _internal_init(__self__,
|
||||
resource_name: str,
|
||||
opts: Optional[pulumi.ResourceOptions] = None,
|
||||
application_id: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
protocol: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
publish_mode: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
published_port: Optional[pulumi.Input[_builtins.int]] = None,
|
||||
target_port: Optional[pulumi.Input[_builtins.int]] = None,
|
||||
application_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
protocol: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
publish_mode: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
published_port: pulumi.Input[Optional[_builtins.int]] = None,
|
||||
target_port: pulumi.Input[Optional[_builtins.int]] = None,
|
||||
__props__=None):
|
||||
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
||||
if not isinstance(opts, pulumi.ResourceOptions):
|
||||
@@ -274,11 +276,11 @@ class Port(pulumi.CustomResource):
|
||||
def get(resource_name: str,
|
||||
id: pulumi.Input[str],
|
||||
opts: Optional[pulumi.ResourceOptions] = None,
|
||||
application_id: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
protocol: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
publish_mode: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
published_port: Optional[pulumi.Input[_builtins.int]] = None,
|
||||
target_port: Optional[pulumi.Input[_builtins.int]] = None) -> 'Port':
|
||||
application_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
protocol: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
publish_mode: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
published_port: pulumi.Input[Optional[_builtins.int]] = None,
|
||||
target_port: pulumi.Input[Optional[_builtins.int]] = None) -> 'Port':
|
||||
"""
|
||||
Get an existing Port resource's state with the given name, id, and optional extra
|
||||
properties used to qualify the lookup.
|
||||
|
||||
Generated
+284
-274
File diff suppressed because it is too large
Load Diff
Generated
+47
-41
@@ -19,9 +19,9 @@ __all__ = ['ProjectArgs', 'Project']
|
||||
@pulumi.input_type
|
||||
class ProjectArgs:
|
||||
def __init__(__self__, *,
|
||||
description: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
env: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
name: Optional[pulumi.Input[_builtins.str]] = None):
|
||||
description: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
env: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
name: pulumi.Input[Optional[_builtins.str]] = None):
|
||||
"""
|
||||
The set of arguments for constructing a Project resource.
|
||||
|
||||
@@ -38,50 +38,50 @@ class ProjectArgs:
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def description(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def description(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Free-form description.
|
||||
"""
|
||||
return pulumi.get(self, "description")
|
||||
|
||||
@description.setter
|
||||
def description(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def description(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "description", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def env(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def env(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Project-wide environment variables in `KEY=value` format, one per line. These are shared with every service in the project.
|
||||
"""
|
||||
return pulumi.get(self, "env")
|
||||
|
||||
@env.setter
|
||||
def env(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def env(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "env", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def name(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Display name of the project.
|
||||
"""
|
||||
return pulumi.get(self, "name")
|
||||
|
||||
@name.setter
|
||||
def name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def name(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "name", value)
|
||||
|
||||
|
||||
@pulumi.input_type
|
||||
class _ProjectState:
|
||||
def __init__(__self__, *,
|
||||
created_at: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
default_environment_id: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
description: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
env: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
name: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
organization_id: Optional[pulumi.Input[_builtins.str]] = None):
|
||||
created_at: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
default_environment_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
description: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
env: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
organization_id: pulumi.Input[Optional[_builtins.str]] = None):
|
||||
"""
|
||||
Input properties used for looking up and filtering Project resources.
|
||||
|
||||
@@ -107,74 +107,74 @@ class _ProjectState:
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="createdAt")
|
||||
def created_at(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def created_at(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
RFC 3339 timestamp of when the project was created.
|
||||
"""
|
||||
return pulumi.get(self, "created_at")
|
||||
|
||||
@created_at.setter
|
||||
def created_at(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def created_at(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "created_at", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="defaultEnvironmentId")
|
||||
def default_environment_id(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def default_environment_id(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
ID of the `production` environment that Dokploy creates automatically with the project.
|
||||
"""
|
||||
return pulumi.get(self, "default_environment_id")
|
||||
|
||||
@default_environment_id.setter
|
||||
def default_environment_id(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def default_environment_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "default_environment_id", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def description(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def description(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Free-form description.
|
||||
"""
|
||||
return pulumi.get(self, "description")
|
||||
|
||||
@description.setter
|
||||
def description(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def description(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "description", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def env(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def env(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Project-wide environment variables in `KEY=value` format, one per line. These are shared with every service in the project.
|
||||
"""
|
||||
return pulumi.get(self, "env")
|
||||
|
||||
@env.setter
|
||||
def env(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def env(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "env", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def name(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Display name of the project.
|
||||
"""
|
||||
return pulumi.get(self, "name")
|
||||
|
||||
@name.setter
|
||||
def name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def name(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "name", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="organizationId")
|
||||
def organization_id(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def organization_id(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Organization that owns the project.
|
||||
"""
|
||||
return pulumi.get(self, "organization_id")
|
||||
|
||||
@organization_id.setter
|
||||
def organization_id(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def organization_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "organization_id", value)
|
||||
|
||||
|
||||
@@ -184,12 +184,15 @@ class Project(pulumi.CustomResource):
|
||||
def __init__(__self__,
|
||||
resource_name: str,
|
||||
opts: Optional[pulumi.ResourceOptions] = None,
|
||||
description: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
env: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
name: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
description: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
env: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
__props__=None):
|
||||
"""
|
||||
Create a Project resource with the given unique name, props, and options.
|
||||
A Dokploy project: the top-level container for environments and services.
|
||||
|
||||
Creating a project automatically creates a default `production` environment. Its ID is exposed as `default_environment_id`, so services can be attached without declaring a separate `Environment` resource.
|
||||
|
||||
|
||||
:param str resource_name: The name of the resource.
|
||||
:param pulumi.ResourceOptions opts: Options for the resource.
|
||||
@@ -204,7 +207,10 @@ class Project(pulumi.CustomResource):
|
||||
args: Optional[ProjectArgs] = None,
|
||||
opts: Optional[pulumi.ResourceOptions] = None):
|
||||
"""
|
||||
Create a Project resource with the given unique name, props, and options.
|
||||
A Dokploy project: the top-level container for environments and services.
|
||||
|
||||
Creating a project automatically creates a default `production` environment. Its ID is exposed as `default_environment_id`, so services can be attached without declaring a separate `Environment` resource.
|
||||
|
||||
|
||||
:param str resource_name: The name of the resource.
|
||||
:param ProjectArgs args: The arguments to use to populate this resource's properties.
|
||||
@@ -221,9 +227,9 @@ class Project(pulumi.CustomResource):
|
||||
def _internal_init(__self__,
|
||||
resource_name: str,
|
||||
opts: Optional[pulumi.ResourceOptions] = None,
|
||||
description: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
env: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
name: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
description: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
env: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
__props__=None):
|
||||
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
||||
if not isinstance(opts, pulumi.ResourceOptions):
|
||||
@@ -249,12 +255,12 @@ class Project(pulumi.CustomResource):
|
||||
def get(resource_name: str,
|
||||
id: pulumi.Input[str],
|
||||
opts: Optional[pulumi.ResourceOptions] = None,
|
||||
created_at: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
default_environment_id: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
description: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
env: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
name: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
organization_id: Optional[pulumi.Input[_builtins.str]] = None) -> 'Project':
|
||||
created_at: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
default_environment_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
description: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
env: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
organization_id: pulumi.Input[Optional[_builtins.str]] = None) -> 'Project':
|
||||
"""
|
||||
Get an existing Project resource's state with the given name, id, and optional extra
|
||||
properties used to qualify the lookup.
|
||||
|
||||
Generated
+20
-20
@@ -19,10 +19,10 @@ __all__ = ['ProviderArgs', 'Provider']
|
||||
@pulumi.input_type
|
||||
class ProviderArgs:
|
||||
def __init__(__self__, *,
|
||||
api_key: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
host: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
insecure_skip_verify: Optional[pulumi.Input[_builtins.bool]] = None,
|
||||
timeout_seconds: Optional[pulumi.Input[_builtins.int]] = None):
|
||||
api_key: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
host: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
insecure_skip_verify: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
timeout_seconds: pulumi.Input[Optional[_builtins.int]] = None):
|
||||
"""
|
||||
The set of arguments for constructing a Provider resource.
|
||||
|
||||
@@ -48,50 +48,50 @@ class ProviderArgs:
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="apiKey")
|
||||
def api_key(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def api_key(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
API token generated in Dokploy under *Settings > Profile > API/CLI*. May also be set with the `DOKPLOY_API_KEY` environment variable.
|
||||
"""
|
||||
return pulumi.get(self, "api_key")
|
||||
|
||||
@api_key.setter
|
||||
def api_key(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def api_key(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "api_key", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def host(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def host(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Base URL of the Dokploy instance, for example `https://dokploy.example.com`. A trailing `/api` is optional. May also be set with the `DOKPLOY_HOST` environment variable.
|
||||
"""
|
||||
return pulumi.get(self, "host")
|
||||
|
||||
@host.setter
|
||||
def host(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def host(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "host", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="insecureSkipVerify")
|
||||
def insecure_skip_verify(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
||||
def insecure_skip_verify(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
||||
"""
|
||||
Skip TLS certificate verification. Only use this for instances behind a self-signed certificate. Defaults to `false`.
|
||||
"""
|
||||
return pulumi.get(self, "insecure_skip_verify")
|
||||
|
||||
@insecure_skip_verify.setter
|
||||
def insecure_skip_verify(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
||||
def insecure_skip_verify(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
||||
pulumi.set(self, "insecure_skip_verify", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="timeoutSeconds")
|
||||
def timeout_seconds(self) -> Optional[pulumi.Input[_builtins.int]]:
|
||||
def timeout_seconds(self) -> pulumi.Input[Optional[_builtins.int]]:
|
||||
"""
|
||||
Per-request timeout in seconds. Defaults to `60`. May also be set with the `DOKPLOY_TIMEOUT_SECONDS` environment variable.
|
||||
"""
|
||||
return pulumi.get(self, "timeout_seconds")
|
||||
|
||||
@timeout_seconds.setter
|
||||
def timeout_seconds(self, value: Optional[pulumi.Input[_builtins.int]]):
|
||||
def timeout_seconds(self, value: pulumi.Input[Optional[_builtins.int]]):
|
||||
pulumi.set(self, "timeout_seconds", value)
|
||||
|
||||
|
||||
@@ -101,10 +101,10 @@ class Provider(pulumi.ProviderResource):
|
||||
def __init__(__self__,
|
||||
resource_name: str,
|
||||
opts: Optional[pulumi.ResourceOptions] = None,
|
||||
api_key: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
host: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
insecure_skip_verify: Optional[pulumi.Input[_builtins.bool]] = None,
|
||||
timeout_seconds: Optional[pulumi.Input[_builtins.int]] = None,
|
||||
api_key: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
host: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
insecure_skip_verify: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
timeout_seconds: pulumi.Input[Optional[_builtins.int]] = None,
|
||||
__props__=None):
|
||||
"""
|
||||
The provider type for the dokploy package. By default, resources use package-wide configuration
|
||||
@@ -148,10 +148,10 @@ class Provider(pulumi.ProviderResource):
|
||||
def _internal_init(__self__,
|
||||
resource_name: str,
|
||||
opts: Optional[pulumi.ResourceOptions] = None,
|
||||
api_key: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
host: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
insecure_skip_verify: Optional[pulumi.Input[_builtins.bool]] = None,
|
||||
timeout_seconds: Optional[pulumi.Input[_builtins.int]] = None,
|
||||
api_key: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
host: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
insecure_skip_verify: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
timeout_seconds: pulumi.Input[Optional[_builtins.int]] = None,
|
||||
__props__=None):
|
||||
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
||||
if not isinstance(opts, pulumi.ResourceOptions):
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"resource": true,
|
||||
"name": "dokploy",
|
||||
"version": "0.1.0",
|
||||
"version": "0.2.0",
|
||||
"server": "https://gitea.coolify.vojtkov.dev/usr_unknown/pulumi-dokploy/releases/download/v${VERSION}"
|
||||
}
|
||||
|
||||
Generated
+35
-33
@@ -22,7 +22,7 @@ class RedirectArgs:
|
||||
application_id: pulumi.Input[_builtins.str],
|
||||
regex: pulumi.Input[_builtins.str],
|
||||
replacement: pulumi.Input[_builtins.str],
|
||||
permanent: Optional[pulumi.Input[_builtins.bool]] = None):
|
||||
permanent: pulumi.Input[Optional[_builtins.bool]] = None):
|
||||
"""
|
||||
The set of arguments for constructing a Redirect resource.
|
||||
|
||||
@@ -75,25 +75,25 @@ class RedirectArgs:
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def permanent(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
||||
def permanent(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
||||
"""
|
||||
Issue a permanent (301) redirect instead of a temporary (302) one.
|
||||
"""
|
||||
return pulumi.get(self, "permanent")
|
||||
|
||||
@permanent.setter
|
||||
def permanent(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
||||
def permanent(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
||||
pulumi.set(self, "permanent", value)
|
||||
|
||||
|
||||
@pulumi.input_type
|
||||
class _RedirectState:
|
||||
def __init__(__self__, *,
|
||||
application_id: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
created_at: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
permanent: Optional[pulumi.Input[_builtins.bool]] = None,
|
||||
regex: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
replacement: Optional[pulumi.Input[_builtins.str]] = None):
|
||||
application_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
created_at: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
permanent: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
regex: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
replacement: pulumi.Input[Optional[_builtins.str]] = None):
|
||||
"""
|
||||
Input properties used for looking up and filtering Redirect resources.
|
||||
|
||||
@@ -116,62 +116,62 @@ class _RedirectState:
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="applicationId")
|
||||
def application_id(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def application_id(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Application this redirect belongs to.
|
||||
"""
|
||||
return pulumi.get(self, "application_id")
|
||||
|
||||
@application_id.setter
|
||||
def application_id(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def application_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "application_id", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="createdAt")
|
||||
def created_at(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def created_at(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
RFC 3339 timestamp of when the redirect was created.
|
||||
"""
|
||||
return pulumi.get(self, "created_at")
|
||||
|
||||
@created_at.setter
|
||||
def created_at(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def created_at(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "created_at", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def permanent(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
||||
def permanent(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
||||
"""
|
||||
Issue a permanent (301) redirect instead of a temporary (302) one.
|
||||
"""
|
||||
return pulumi.get(self, "permanent")
|
||||
|
||||
@permanent.setter
|
||||
def permanent(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
||||
def permanent(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
||||
pulumi.set(self, "permanent", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def regex(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def regex(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Regular expression matched against the incoming URL.
|
||||
"""
|
||||
return pulumi.get(self, "regex")
|
||||
|
||||
@regex.setter
|
||||
def regex(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def regex(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "regex", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def replacement(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def replacement(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Replacement URL, which may reference capture groups such as `${1}`.
|
||||
"""
|
||||
return pulumi.get(self, "replacement")
|
||||
|
||||
@replacement.setter
|
||||
def replacement(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def replacement(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "replacement", value)
|
||||
|
||||
|
||||
@@ -181,13 +181,14 @@ class Redirect(pulumi.CustomResource):
|
||||
def __init__(__self__,
|
||||
resource_name: str,
|
||||
opts: Optional[pulumi.ResourceOptions] = None,
|
||||
application_id: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
permanent: Optional[pulumi.Input[_builtins.bool]] = None,
|
||||
regex: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
replacement: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
application_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
permanent: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
regex: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
replacement: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
__props__=None):
|
||||
"""
|
||||
Create a Redirect resource with the given unique name, props, and options.
|
||||
A Traefik redirect rule attached to an application.
|
||||
|
||||
|
||||
:param str resource_name: The name of the resource.
|
||||
:param pulumi.ResourceOptions opts: Options for the resource.
|
||||
@@ -203,7 +204,8 @@ class Redirect(pulumi.CustomResource):
|
||||
args: RedirectArgs,
|
||||
opts: Optional[pulumi.ResourceOptions] = None):
|
||||
"""
|
||||
Create a Redirect resource with the given unique name, props, and options.
|
||||
A Traefik redirect rule attached to an application.
|
||||
|
||||
|
||||
:param str resource_name: The name of the resource.
|
||||
:param RedirectArgs args: The arguments to use to populate this resource's properties.
|
||||
@@ -220,10 +222,10 @@ class Redirect(pulumi.CustomResource):
|
||||
def _internal_init(__self__,
|
||||
resource_name: str,
|
||||
opts: Optional[pulumi.ResourceOptions] = None,
|
||||
application_id: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
permanent: Optional[pulumi.Input[_builtins.bool]] = None,
|
||||
regex: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
replacement: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
application_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
permanent: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
regex: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
replacement: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
__props__=None):
|
||||
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
||||
if not isinstance(opts, pulumi.ResourceOptions):
|
||||
@@ -254,11 +256,11 @@ class Redirect(pulumi.CustomResource):
|
||||
def get(resource_name: str,
|
||||
id: pulumi.Input[str],
|
||||
opts: Optional[pulumi.ResourceOptions] = None,
|
||||
application_id: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
created_at: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
permanent: Optional[pulumi.Input[_builtins.bool]] = None,
|
||||
regex: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
replacement: Optional[pulumi.Input[_builtins.str]] = None) -> 'Redirect':
|
||||
application_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
created_at: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
permanent: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
regex: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
replacement: pulumi.Input[Optional[_builtins.str]] = None) -> 'Redirect':
|
||||
"""
|
||||
Get an existing Redirect resource's state with the given name, id, and optional extra
|
||||
properties used to qualify the lookup.
|
||||
|
||||
Generated
+272
-262
File diff suppressed because it is too large
Load Diff
Generated
+59
-57
@@ -23,9 +23,9 @@ class RegistryArgs:
|
||||
registry_name: pulumi.Input[_builtins.str],
|
||||
registry_url: pulumi.Input[_builtins.str],
|
||||
username: pulumi.Input[_builtins.str],
|
||||
image_prefix: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
registry_type: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
server_id: Optional[pulumi.Input[_builtins.str]] = None):
|
||||
image_prefix: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
registry_type: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
server_id: pulumi.Input[Optional[_builtins.str]] = None):
|
||||
"""
|
||||
The set of arguments for constructing a Registry resource.
|
||||
|
||||
@@ -98,52 +98,52 @@ class RegistryArgs:
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="imagePrefix")
|
||||
def image_prefix(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def image_prefix(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Prefix prepended to pushed image names, for example an organization or namespace.
|
||||
"""
|
||||
return pulumi.get(self, "image_prefix")
|
||||
|
||||
@image_prefix.setter
|
||||
def image_prefix(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def image_prefix(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "image_prefix", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="registryType")
|
||||
def registry_type(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def registry_type(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Registry kind. Dokploy currently accepts only `cloud`. Valid values: `cloud`. Defaults to `cloud`.
|
||||
"""
|
||||
return pulumi.get(self, "registry_type")
|
||||
|
||||
@registry_type.setter
|
||||
def registry_type(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def registry_type(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "registry_type", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="serverId")
|
||||
def server_id(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def server_id(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Server this registry is scoped to.
|
||||
"""
|
||||
return pulumi.get(self, "server_id")
|
||||
|
||||
@server_id.setter
|
||||
def server_id(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def server_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "server_id", value)
|
||||
|
||||
|
||||
@pulumi.input_type
|
||||
class _RegistryState:
|
||||
def __init__(__self__, *,
|
||||
created_at: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
image_prefix: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
password: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
registry_name: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
registry_type: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
registry_url: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
server_id: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
username: Optional[pulumi.Input[_builtins.str]] = None):
|
||||
created_at: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
image_prefix: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
password: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
registry_name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
registry_type: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
registry_url: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
server_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
username: pulumi.Input[Optional[_builtins.str]] = None):
|
||||
"""
|
||||
Input properties used for looking up and filtering Registry resources.
|
||||
|
||||
@@ -175,98 +175,98 @@ class _RegistryState:
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="createdAt")
|
||||
def created_at(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def created_at(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
RFC 3339 timestamp of when the registry was created.
|
||||
"""
|
||||
return pulumi.get(self, "created_at")
|
||||
|
||||
@created_at.setter
|
||||
def created_at(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def created_at(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "created_at", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="imagePrefix")
|
||||
def image_prefix(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def image_prefix(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Prefix prepended to pushed image names, for example an organization or namespace.
|
||||
"""
|
||||
return pulumi.get(self, "image_prefix")
|
||||
|
||||
@image_prefix.setter
|
||||
def image_prefix(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def image_prefix(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "image_prefix", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def password(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def password(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Password or access token used to authenticate.
|
||||
"""
|
||||
return pulumi.get(self, "password")
|
||||
|
||||
@password.setter
|
||||
def password(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def password(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "password", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="registryName")
|
||||
def registry_name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def registry_name(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Display name of the registry.
|
||||
"""
|
||||
return pulumi.get(self, "registry_name")
|
||||
|
||||
@registry_name.setter
|
||||
def registry_name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def registry_name(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "registry_name", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="registryType")
|
||||
def registry_type(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def registry_type(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Registry kind. Dokploy currently accepts only `cloud`. Valid values: `cloud`. Defaults to `cloud`.
|
||||
"""
|
||||
return pulumi.get(self, "registry_type")
|
||||
|
||||
@registry_type.setter
|
||||
def registry_type(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def registry_type(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "registry_type", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="registryUrl")
|
||||
def registry_url(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def registry_url(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Registry hostname, for example `ghcr.io`.
|
||||
"""
|
||||
return pulumi.get(self, "registry_url")
|
||||
|
||||
@registry_url.setter
|
||||
def registry_url(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def registry_url(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "registry_url", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="serverId")
|
||||
def server_id(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def server_id(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Server this registry is scoped to.
|
||||
"""
|
||||
return pulumi.get(self, "server_id")
|
||||
|
||||
@server_id.setter
|
||||
def server_id(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def server_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "server_id", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def username(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def username(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Username used to authenticate to the registry.
|
||||
"""
|
||||
return pulumi.get(self, "username")
|
||||
|
||||
@username.setter
|
||||
def username(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def username(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "username", value)
|
||||
|
||||
|
||||
@@ -276,16 +276,17 @@ class Registry(pulumi.CustomResource):
|
||||
def __init__(__self__,
|
||||
resource_name: str,
|
||||
opts: Optional[pulumi.ResourceOptions] = None,
|
||||
image_prefix: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
password: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
registry_name: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
registry_type: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
registry_url: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
server_id: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
username: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
image_prefix: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
password: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
registry_name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
registry_type: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
registry_url: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
server_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
username: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
__props__=None):
|
||||
"""
|
||||
Create a Registry resource with the given unique name, props, and options.
|
||||
A container registry that Dokploy pushes built images to and pulls them from.
|
||||
|
||||
|
||||
:param str resource_name: The name of the resource.
|
||||
:param pulumi.ResourceOptions opts: Options for the resource.
|
||||
@@ -304,7 +305,8 @@ class Registry(pulumi.CustomResource):
|
||||
args: RegistryArgs,
|
||||
opts: Optional[pulumi.ResourceOptions] = None):
|
||||
"""
|
||||
Create a Registry resource with the given unique name, props, and options.
|
||||
A container registry that Dokploy pushes built images to and pulls them from.
|
||||
|
||||
|
||||
:param str resource_name: The name of the resource.
|
||||
:param RegistryArgs args: The arguments to use to populate this resource's properties.
|
||||
@@ -321,13 +323,13 @@ class Registry(pulumi.CustomResource):
|
||||
def _internal_init(__self__,
|
||||
resource_name: str,
|
||||
opts: Optional[pulumi.ResourceOptions] = None,
|
||||
image_prefix: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
password: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
registry_name: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
registry_type: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
registry_url: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
server_id: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
username: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
image_prefix: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
password: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
registry_name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
registry_type: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
registry_url: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
server_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
username: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
__props__=None):
|
||||
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
||||
if not isinstance(opts, pulumi.ResourceOptions):
|
||||
@@ -365,14 +367,14 @@ class Registry(pulumi.CustomResource):
|
||||
def get(resource_name: str,
|
||||
id: pulumi.Input[str],
|
||||
opts: Optional[pulumi.ResourceOptions] = None,
|
||||
created_at: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
image_prefix: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
password: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
registry_name: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
registry_type: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
registry_url: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
server_id: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
username: Optional[pulumi.Input[_builtins.str]] = None) -> 'Registry':
|
||||
created_at: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
image_prefix: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
password: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
registry_name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
registry_type: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
registry_url: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
server_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
username: pulumi.Input[Optional[_builtins.str]] = None) -> 'Registry':
|
||||
"""
|
||||
Get an existing Registry resource's state with the given name, id, and optional extra
|
||||
properties used to qualify the lookup.
|
||||
|
||||
Generated
+814
@@ -0,0 +1,814 @@
|
||||
# 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__ = ['ScheduleArgs', 'Schedule']
|
||||
|
||||
@pulumi.input_type
|
||||
class ScheduleArgs:
|
||||
def __init__(__self__, *,
|
||||
command: pulumi.Input[_builtins.str],
|
||||
cron_expression: pulumi.Input[_builtins.str],
|
||||
app_name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
application_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
compose_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
description: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
enabled: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
schedule_type: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
script: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
server_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
service_name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
shell_type: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
timezone: pulumi.Input[Optional[_builtins.str]] = None):
|
||||
"""
|
||||
The set of arguments for constructing a Schedule resource.
|
||||
|
||||
:param pulumi.Input[_builtins.str] command: Command to run.
|
||||
:param pulumi.Input[_builtins.str] cron_expression: Standard five-field cron expression, for example `0 3 * * *`.
|
||||
:param pulumi.Input[_builtins.str] app_name: Docker service name the schedule targets. Derived by Dokploy when omitted.
|
||||
:param pulumi.Input[_builtins.str] application_id: Application this schedule belongs to.
|
||||
:param pulumi.Input[_builtins.str] compose_id: Compose stack this schedule belongs to.
|
||||
:param pulumi.Input[_builtins.str] description: Free-form description.
|
||||
:param pulumi.Input[_builtins.bool] enabled: Whether the schedule is active.
|
||||
:param pulumi.Input[_builtins.str] name: Display name of the schedule.
|
||||
:param pulumi.Input[_builtins.str] schedule_type: Where the command runs. Valid values: `application`, `compose`, `server`, `dokploy-server`. Defaults to `application`.
|
||||
:param pulumi.Input[_builtins.str] script: Multi-line script to run instead of a single command.
|
||||
:param pulumi.Input[_builtins.str] server_id: Server this schedule runs on.
|
||||
:param pulumi.Input[_builtins.str] service_name: Service inside a Compose stack to run the command in.
|
||||
:param pulumi.Input[_builtins.str] shell_type: Shell used to interpret the command. Valid values: `bash`, `sh`. Defaults to `bash`.
|
||||
:param pulumi.Input[_builtins.str] timezone: IANA timezone the cron expression is evaluated in, for example `Europe/Berlin`.
|
||||
"""
|
||||
pulumi.set(__self__, "command", command)
|
||||
pulumi.set(__self__, "cron_expression", cron_expression)
|
||||
if app_name is not None:
|
||||
pulumi.set(__self__, "app_name", app_name)
|
||||
if application_id is not None:
|
||||
pulumi.set(__self__, "application_id", application_id)
|
||||
if compose_id is not None:
|
||||
pulumi.set(__self__, "compose_id", compose_id)
|
||||
if description is not None:
|
||||
pulumi.set(__self__, "description", description)
|
||||
if enabled is not None:
|
||||
pulumi.set(__self__, "enabled", enabled)
|
||||
if name is not None:
|
||||
pulumi.set(__self__, "name", name)
|
||||
if schedule_type is not None:
|
||||
pulumi.set(__self__, "schedule_type", schedule_type)
|
||||
if script is not None:
|
||||
pulumi.set(__self__, "script", script)
|
||||
if server_id is not None:
|
||||
pulumi.set(__self__, "server_id", server_id)
|
||||
if service_name is not None:
|
||||
pulumi.set(__self__, "service_name", service_name)
|
||||
if shell_type is not None:
|
||||
pulumi.set(__self__, "shell_type", shell_type)
|
||||
if timezone is not None:
|
||||
pulumi.set(__self__, "timezone", timezone)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def command(self) -> pulumi.Input[_builtins.str]:
|
||||
"""
|
||||
Command to run.
|
||||
"""
|
||||
return pulumi.get(self, "command")
|
||||
|
||||
@command.setter
|
||||
def command(self, value: pulumi.Input[_builtins.str]):
|
||||
pulumi.set(self, "command", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="cronExpression")
|
||||
def cron_expression(self) -> pulumi.Input[_builtins.str]:
|
||||
"""
|
||||
Standard five-field cron expression, for example `0 3 * * *`.
|
||||
"""
|
||||
return pulumi.get(self, "cron_expression")
|
||||
|
||||
@cron_expression.setter
|
||||
def cron_expression(self, value: pulumi.Input[_builtins.str]):
|
||||
pulumi.set(self, "cron_expression", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="appName")
|
||||
def app_name(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Docker service name the schedule targets. Derived by Dokploy when omitted.
|
||||
"""
|
||||
return pulumi.get(self, "app_name")
|
||||
|
||||
@app_name.setter
|
||||
def app_name(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "app_name", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="applicationId")
|
||||
def application_id(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Application this schedule belongs to.
|
||||
"""
|
||||
return pulumi.get(self, "application_id")
|
||||
|
||||
@application_id.setter
|
||||
def application_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "application_id", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="composeId")
|
||||
def compose_id(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Compose stack this schedule belongs to.
|
||||
"""
|
||||
return pulumi.get(self, "compose_id")
|
||||
|
||||
@compose_id.setter
|
||||
def compose_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "compose_id", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def description(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Free-form description.
|
||||
"""
|
||||
return pulumi.get(self, "description")
|
||||
|
||||
@description.setter
|
||||
def description(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "description", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def enabled(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
||||
"""
|
||||
Whether the schedule is active.
|
||||
"""
|
||||
return pulumi.get(self, "enabled")
|
||||
|
||||
@enabled.setter
|
||||
def enabled(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
||||
pulumi.set(self, "enabled", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def name(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Display name of the schedule.
|
||||
"""
|
||||
return pulumi.get(self, "name")
|
||||
|
||||
@name.setter
|
||||
def name(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "name", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="scheduleType")
|
||||
def schedule_type(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Where the command runs. Valid values: `application`, `compose`, `server`, `dokploy-server`. Defaults to `application`.
|
||||
"""
|
||||
return pulumi.get(self, "schedule_type")
|
||||
|
||||
@schedule_type.setter
|
||||
def schedule_type(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "schedule_type", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def script(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Multi-line script to run instead of a single command.
|
||||
"""
|
||||
return pulumi.get(self, "script")
|
||||
|
||||
@script.setter
|
||||
def script(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "script", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="serverId")
|
||||
def server_id(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Server this schedule runs on.
|
||||
"""
|
||||
return pulumi.get(self, "server_id")
|
||||
|
||||
@server_id.setter
|
||||
def server_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "server_id", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="serviceName")
|
||||
def service_name(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Service inside a Compose stack to run the command in.
|
||||
"""
|
||||
return pulumi.get(self, "service_name")
|
||||
|
||||
@service_name.setter
|
||||
def service_name(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "service_name", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="shellType")
|
||||
def shell_type(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Shell used to interpret the command. Valid values: `bash`, `sh`. Defaults to `bash`.
|
||||
"""
|
||||
return pulumi.get(self, "shell_type")
|
||||
|
||||
@shell_type.setter
|
||||
def shell_type(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "shell_type", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def timezone(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
IANA timezone the cron expression is evaluated in, for example `Europe/Berlin`.
|
||||
"""
|
||||
return pulumi.get(self, "timezone")
|
||||
|
||||
@timezone.setter
|
||||
def timezone(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "timezone", value)
|
||||
|
||||
|
||||
@pulumi.input_type
|
||||
class _ScheduleState:
|
||||
def __init__(__self__, *,
|
||||
app_name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
application_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
command: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
compose_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
created_at: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
cron_expression: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
description: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
enabled: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
schedule_type: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
script: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
server_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
service_name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
shell_type: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
timezone: pulumi.Input[Optional[_builtins.str]] = None):
|
||||
"""
|
||||
Input properties used for looking up and filtering Schedule resources.
|
||||
|
||||
:param pulumi.Input[_builtins.str] app_name: Docker service name the schedule targets. Derived by Dokploy when omitted.
|
||||
:param pulumi.Input[_builtins.str] application_id: Application this schedule belongs to.
|
||||
:param pulumi.Input[_builtins.str] command: Command to run.
|
||||
:param pulumi.Input[_builtins.str] compose_id: Compose stack this schedule belongs to.
|
||||
:param pulumi.Input[_builtins.str] created_at: RFC 3339 timestamp of when the schedule was created.
|
||||
:param pulumi.Input[_builtins.str] cron_expression: Standard five-field cron expression, for example `0 3 * * *`.
|
||||
:param pulumi.Input[_builtins.str] description: Free-form description.
|
||||
:param pulumi.Input[_builtins.bool] enabled: Whether the schedule is active.
|
||||
:param pulumi.Input[_builtins.str] name: Display name of the schedule.
|
||||
:param pulumi.Input[_builtins.str] schedule_type: Where the command runs. Valid values: `application`, `compose`, `server`, `dokploy-server`. Defaults to `application`.
|
||||
:param pulumi.Input[_builtins.str] script: Multi-line script to run instead of a single command.
|
||||
:param pulumi.Input[_builtins.str] server_id: Server this schedule runs on.
|
||||
:param pulumi.Input[_builtins.str] service_name: Service inside a Compose stack to run the command in.
|
||||
:param pulumi.Input[_builtins.str] shell_type: Shell used to interpret the command. Valid values: `bash`, `sh`. Defaults to `bash`.
|
||||
:param pulumi.Input[_builtins.str] timezone: IANA timezone the cron expression is evaluated in, for example `Europe/Berlin`.
|
||||
"""
|
||||
if app_name is not None:
|
||||
pulumi.set(__self__, "app_name", app_name)
|
||||
if application_id is not None:
|
||||
pulumi.set(__self__, "application_id", application_id)
|
||||
if command is not None:
|
||||
pulumi.set(__self__, "command", command)
|
||||
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 cron_expression is not None:
|
||||
pulumi.set(__self__, "cron_expression", cron_expression)
|
||||
if description is not None:
|
||||
pulumi.set(__self__, "description", description)
|
||||
if enabled is not None:
|
||||
pulumi.set(__self__, "enabled", enabled)
|
||||
if name is not None:
|
||||
pulumi.set(__self__, "name", name)
|
||||
if schedule_type is not None:
|
||||
pulumi.set(__self__, "schedule_type", schedule_type)
|
||||
if script is not None:
|
||||
pulumi.set(__self__, "script", script)
|
||||
if server_id is not None:
|
||||
pulumi.set(__self__, "server_id", server_id)
|
||||
if service_name is not None:
|
||||
pulumi.set(__self__, "service_name", service_name)
|
||||
if shell_type is not None:
|
||||
pulumi.set(__self__, "shell_type", shell_type)
|
||||
if timezone is not None:
|
||||
pulumi.set(__self__, "timezone", timezone)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="appName")
|
||||
def app_name(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Docker service name the schedule targets. Derived by Dokploy when omitted.
|
||||
"""
|
||||
return pulumi.get(self, "app_name")
|
||||
|
||||
@app_name.setter
|
||||
def app_name(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "app_name", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="applicationId")
|
||||
def application_id(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Application this schedule belongs to.
|
||||
"""
|
||||
return pulumi.get(self, "application_id")
|
||||
|
||||
@application_id.setter
|
||||
def application_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "application_id", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def command(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Command to run.
|
||||
"""
|
||||
return pulumi.get(self, "command")
|
||||
|
||||
@command.setter
|
||||
def command(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "command", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="composeId")
|
||||
def compose_id(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Compose stack this schedule belongs to.
|
||||
"""
|
||||
return pulumi.get(self, "compose_id")
|
||||
|
||||
@compose_id.setter
|
||||
def compose_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "compose_id", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="createdAt")
|
||||
def created_at(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
RFC 3339 timestamp of when the schedule was created.
|
||||
"""
|
||||
return pulumi.get(self, "created_at")
|
||||
|
||||
@created_at.setter
|
||||
def created_at(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "created_at", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="cronExpression")
|
||||
def cron_expression(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Standard five-field cron expression, for example `0 3 * * *`.
|
||||
"""
|
||||
return pulumi.get(self, "cron_expression")
|
||||
|
||||
@cron_expression.setter
|
||||
def cron_expression(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "cron_expression", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def description(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Free-form description.
|
||||
"""
|
||||
return pulumi.get(self, "description")
|
||||
|
||||
@description.setter
|
||||
def description(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "description", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def enabled(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
||||
"""
|
||||
Whether the schedule is active.
|
||||
"""
|
||||
return pulumi.get(self, "enabled")
|
||||
|
||||
@enabled.setter
|
||||
def enabled(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
||||
pulumi.set(self, "enabled", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def name(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Display name of the schedule.
|
||||
"""
|
||||
return pulumi.get(self, "name")
|
||||
|
||||
@name.setter
|
||||
def name(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "name", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="scheduleType")
|
||||
def schedule_type(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Where the command runs. Valid values: `application`, `compose`, `server`, `dokploy-server`. Defaults to `application`.
|
||||
"""
|
||||
return pulumi.get(self, "schedule_type")
|
||||
|
||||
@schedule_type.setter
|
||||
def schedule_type(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "schedule_type", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def script(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Multi-line script to run instead of a single command.
|
||||
"""
|
||||
return pulumi.get(self, "script")
|
||||
|
||||
@script.setter
|
||||
def script(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "script", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="serverId")
|
||||
def server_id(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Server this schedule runs on.
|
||||
"""
|
||||
return pulumi.get(self, "server_id")
|
||||
|
||||
@server_id.setter
|
||||
def server_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "server_id", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="serviceName")
|
||||
def service_name(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Service inside a Compose stack to run the command in.
|
||||
"""
|
||||
return pulumi.get(self, "service_name")
|
||||
|
||||
@service_name.setter
|
||||
def service_name(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "service_name", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="shellType")
|
||||
def shell_type(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Shell used to interpret the command. Valid values: `bash`, `sh`. Defaults to `bash`.
|
||||
"""
|
||||
return pulumi.get(self, "shell_type")
|
||||
|
||||
@shell_type.setter
|
||||
def shell_type(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "shell_type", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def timezone(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
IANA timezone the cron expression is evaluated in, for example `Europe/Berlin`.
|
||||
"""
|
||||
return pulumi.get(self, "timezone")
|
||||
|
||||
@timezone.setter
|
||||
def timezone(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "timezone", value)
|
||||
|
||||
|
||||
@pulumi.type_token("dokploy:index/schedule:Schedule")
|
||||
class Schedule(pulumi.CustomResource):
|
||||
@overload
|
||||
def __init__(__self__,
|
||||
resource_name: str,
|
||||
opts: Optional[pulumi.ResourceOptions] = None,
|
||||
app_name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
application_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
command: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
compose_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
cron_expression: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
description: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
enabled: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
schedule_type: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
script: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
server_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
service_name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
shell_type: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
timezone: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
__props__=None):
|
||||
"""
|
||||
A cron job Dokploy runs on a schedule.
|
||||
|
||||
`schedule_type` selects where the command runs:
|
||||
|
||||
* `application` — inside a running application container; set `application_id`.
|
||||
* `compose` — inside one service of a Compose stack; set `compose_id` and `service_name`.
|
||||
* `server` — on a remote server; set `server_id`.
|
||||
* `dokploy-server` — on the Dokploy host itself.
|
||||
|
||||
> A schedule targeting an application runs inside its container, so the container has to be running when the cron fires.
|
||||
|
||||
|
||||
:param str resource_name: The name of the resource.
|
||||
:param pulumi.ResourceOptions opts: Options for the resource.
|
||||
:param pulumi.Input[_builtins.str] app_name: Docker service name the schedule targets. Derived by Dokploy when omitted.
|
||||
:param pulumi.Input[_builtins.str] application_id: Application this schedule belongs to.
|
||||
:param pulumi.Input[_builtins.str] command: Command to run.
|
||||
:param pulumi.Input[_builtins.str] compose_id: Compose stack this schedule belongs to.
|
||||
:param pulumi.Input[_builtins.str] cron_expression: Standard five-field cron expression, for example `0 3 * * *`.
|
||||
:param pulumi.Input[_builtins.str] description: Free-form description.
|
||||
:param pulumi.Input[_builtins.bool] enabled: Whether the schedule is active.
|
||||
:param pulumi.Input[_builtins.str] name: Display name of the schedule.
|
||||
:param pulumi.Input[_builtins.str] schedule_type: Where the command runs. Valid values: `application`, `compose`, `server`, `dokploy-server`. Defaults to `application`.
|
||||
:param pulumi.Input[_builtins.str] script: Multi-line script to run instead of a single command.
|
||||
:param pulumi.Input[_builtins.str] server_id: Server this schedule runs on.
|
||||
:param pulumi.Input[_builtins.str] service_name: Service inside a Compose stack to run the command in.
|
||||
:param pulumi.Input[_builtins.str] shell_type: Shell used to interpret the command. Valid values: `bash`, `sh`. Defaults to `bash`.
|
||||
:param pulumi.Input[_builtins.str] timezone: IANA timezone the cron expression is evaluated in, for example `Europe/Berlin`.
|
||||
"""
|
||||
...
|
||||
@overload
|
||||
def __init__(__self__,
|
||||
resource_name: str,
|
||||
args: ScheduleArgs,
|
||||
opts: Optional[pulumi.ResourceOptions] = None):
|
||||
"""
|
||||
A cron job Dokploy runs on a schedule.
|
||||
|
||||
`schedule_type` selects where the command runs:
|
||||
|
||||
* `application` — inside a running application container; set `application_id`.
|
||||
* `compose` — inside one service of a Compose stack; set `compose_id` and `service_name`.
|
||||
* `server` — on a remote server; set `server_id`.
|
||||
* `dokploy-server` — on the Dokploy host itself.
|
||||
|
||||
> A schedule targeting an application runs inside its container, so the container has to be running when the cron fires.
|
||||
|
||||
|
||||
:param str resource_name: The name of the resource.
|
||||
:param ScheduleArgs 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(ScheduleArgs, 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,
|
||||
app_name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
application_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
command: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
compose_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
cron_expression: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
description: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
enabled: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
schedule_type: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
script: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
server_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
service_name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
shell_type: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
timezone: pulumi.Input[Optional[_builtins.str]] = 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__ = ScheduleArgs.__new__(ScheduleArgs)
|
||||
|
||||
__props__.__dict__["app_name"] = app_name
|
||||
__props__.__dict__["application_id"] = application_id
|
||||
if command is None and not opts.urn:
|
||||
raise TypeError("Missing required property 'command'")
|
||||
__props__.__dict__["command"] = command
|
||||
__props__.__dict__["compose_id"] = compose_id
|
||||
if cron_expression is None and not opts.urn:
|
||||
raise TypeError("Missing required property 'cron_expression'")
|
||||
__props__.__dict__["cron_expression"] = cron_expression
|
||||
__props__.__dict__["description"] = description
|
||||
__props__.__dict__["enabled"] = enabled
|
||||
__props__.__dict__["name"] = name
|
||||
__props__.__dict__["schedule_type"] = schedule_type
|
||||
__props__.__dict__["script"] = script
|
||||
__props__.__dict__["server_id"] = server_id
|
||||
__props__.__dict__["service_name"] = service_name
|
||||
__props__.__dict__["shell_type"] = shell_type
|
||||
__props__.__dict__["timezone"] = timezone
|
||||
__props__.__dict__["created_at"] = None
|
||||
super(Schedule, __self__).__init__(
|
||||
'dokploy:index/schedule:Schedule',
|
||||
resource_name,
|
||||
__props__,
|
||||
opts)
|
||||
|
||||
@staticmethod
|
||||
def get(resource_name: str,
|
||||
id: pulumi.Input[str],
|
||||
opts: Optional[pulumi.ResourceOptions] = None,
|
||||
app_name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
application_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
command: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
compose_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
created_at: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
cron_expression: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
description: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
enabled: pulumi.Input[Optional[_builtins.bool]] = None,
|
||||
name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
schedule_type: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
script: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
server_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
service_name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
shell_type: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
timezone: pulumi.Input[Optional[_builtins.str]] = None) -> 'Schedule':
|
||||
"""
|
||||
Get an existing Schedule 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] app_name: Docker service name the schedule targets. Derived by Dokploy when omitted.
|
||||
:param pulumi.Input[_builtins.str] application_id: Application this schedule belongs to.
|
||||
:param pulumi.Input[_builtins.str] command: Command to run.
|
||||
:param pulumi.Input[_builtins.str] compose_id: Compose stack this schedule belongs to.
|
||||
:param pulumi.Input[_builtins.str] created_at: RFC 3339 timestamp of when the schedule was created.
|
||||
:param pulumi.Input[_builtins.str] cron_expression: Standard five-field cron expression, for example `0 3 * * *`.
|
||||
:param pulumi.Input[_builtins.str] description: Free-form description.
|
||||
:param pulumi.Input[_builtins.bool] enabled: Whether the schedule is active.
|
||||
:param pulumi.Input[_builtins.str] name: Display name of the schedule.
|
||||
:param pulumi.Input[_builtins.str] schedule_type: Where the command runs. Valid values: `application`, `compose`, `server`, `dokploy-server`. Defaults to `application`.
|
||||
:param pulumi.Input[_builtins.str] script: Multi-line script to run instead of a single command.
|
||||
:param pulumi.Input[_builtins.str] server_id: Server this schedule runs on.
|
||||
:param pulumi.Input[_builtins.str] service_name: Service inside a Compose stack to run the command in.
|
||||
:param pulumi.Input[_builtins.str] shell_type: Shell used to interpret the command. Valid values: `bash`, `sh`. Defaults to `bash`.
|
||||
:param pulumi.Input[_builtins.str] timezone: IANA timezone the cron expression is evaluated in, for example `Europe/Berlin`.
|
||||
"""
|
||||
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
||||
|
||||
__props__ = _ScheduleState.__new__(_ScheduleState)
|
||||
|
||||
__props__.__dict__["app_name"] = app_name
|
||||
__props__.__dict__["application_id"] = application_id
|
||||
__props__.__dict__["command"] = command
|
||||
__props__.__dict__["compose_id"] = compose_id
|
||||
__props__.__dict__["created_at"] = created_at
|
||||
__props__.__dict__["cron_expression"] = cron_expression
|
||||
__props__.__dict__["description"] = description
|
||||
__props__.__dict__["enabled"] = enabled
|
||||
__props__.__dict__["name"] = name
|
||||
__props__.__dict__["schedule_type"] = schedule_type
|
||||
__props__.__dict__["script"] = script
|
||||
__props__.__dict__["server_id"] = server_id
|
||||
__props__.__dict__["service_name"] = service_name
|
||||
__props__.__dict__["shell_type"] = shell_type
|
||||
__props__.__dict__["timezone"] = timezone
|
||||
return Schedule(resource_name, opts=opts, __props__=__props__)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="appName")
|
||||
def app_name(self) -> pulumi.Output[_builtins.str]:
|
||||
"""
|
||||
Docker service name the schedule targets. Derived by Dokploy when omitted.
|
||||
"""
|
||||
return pulumi.get(self, "app_name")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="applicationId")
|
||||
def application_id(self) -> pulumi.Output[Optional[_builtins.str]]:
|
||||
"""
|
||||
Application this schedule belongs to.
|
||||
"""
|
||||
return pulumi.get(self, "application_id")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def command(self) -> pulumi.Output[_builtins.str]:
|
||||
"""
|
||||
Command to run.
|
||||
"""
|
||||
return pulumi.get(self, "command")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="composeId")
|
||||
def compose_id(self) -> pulumi.Output[Optional[_builtins.str]]:
|
||||
"""
|
||||
Compose stack this schedule belongs 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 schedule was created.
|
||||
"""
|
||||
return pulumi.get(self, "created_at")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="cronExpression")
|
||||
def cron_expression(self) -> pulumi.Output[_builtins.str]:
|
||||
"""
|
||||
Standard five-field cron expression, for example `0 3 * * *`.
|
||||
"""
|
||||
return pulumi.get(self, "cron_expression")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def description(self) -> pulumi.Output[Optional[_builtins.str]]:
|
||||
"""
|
||||
Free-form description.
|
||||
"""
|
||||
return pulumi.get(self, "description")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def enabled(self) -> pulumi.Output[_builtins.bool]:
|
||||
"""
|
||||
Whether the schedule is active.
|
||||
"""
|
||||
return pulumi.get(self, "enabled")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def name(self) -> pulumi.Output[_builtins.str]:
|
||||
"""
|
||||
Display name of the schedule.
|
||||
"""
|
||||
return pulumi.get(self, "name")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="scheduleType")
|
||||
def schedule_type(self) -> pulumi.Output[_builtins.str]:
|
||||
"""
|
||||
Where the command runs. Valid values: `application`, `compose`, `server`, `dokploy-server`. Defaults to `application`.
|
||||
"""
|
||||
return pulumi.get(self, "schedule_type")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def script(self) -> pulumi.Output[Optional[_builtins.str]]:
|
||||
"""
|
||||
Multi-line script to run instead of a single command.
|
||||
"""
|
||||
return pulumi.get(self, "script")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="serverId")
|
||||
def server_id(self) -> pulumi.Output[Optional[_builtins.str]]:
|
||||
"""
|
||||
Server this schedule runs on.
|
||||
"""
|
||||
return pulumi.get(self, "server_id")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="serviceName")
|
||||
def service_name(self) -> pulumi.Output[Optional[_builtins.str]]:
|
||||
"""
|
||||
Service inside a Compose stack to run the command in.
|
||||
"""
|
||||
return pulumi.get(self, "service_name")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="shellType")
|
||||
def shell_type(self) -> pulumi.Output[_builtins.str]:
|
||||
"""
|
||||
Shell used to interpret the command. Valid values: `bash`, `sh`. Defaults to `bash`.
|
||||
"""
|
||||
return pulumi.get(self, "shell_type")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def timezone(self) -> pulumi.Output[Optional[_builtins.str]]:
|
||||
"""
|
||||
IANA timezone the cron expression is evaluated in, for example `Europe/Berlin`.
|
||||
"""
|
||||
return pulumi.get(self, "timezone")
|
||||
|
||||
Generated
+30
-24
@@ -73,10 +73,10 @@ class SecurityArgs:
|
||||
@pulumi.input_type
|
||||
class _SecurityState:
|
||||
def __init__(__self__, *,
|
||||
application_id: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
created_at: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
password: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
username: Optional[pulumi.Input[_builtins.str]] = None):
|
||||
application_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
created_at: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
password: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
username: pulumi.Input[Optional[_builtins.str]] = None):
|
||||
"""
|
||||
Input properties used for looking up and filtering Security resources.
|
||||
|
||||
@@ -96,50 +96,50 @@ class _SecurityState:
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="applicationId")
|
||||
def application_id(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def application_id(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Application these credentials protect.
|
||||
"""
|
||||
return pulumi.get(self, "application_id")
|
||||
|
||||
@application_id.setter
|
||||
def application_id(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def application_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "application_id", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="createdAt")
|
||||
def created_at(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def created_at(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
RFC 3339 timestamp of when the credentials were created.
|
||||
"""
|
||||
return pulumi.get(self, "created_at")
|
||||
|
||||
@created_at.setter
|
||||
def created_at(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def created_at(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "created_at", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def password(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def password(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Basic auth password.
|
||||
"""
|
||||
return pulumi.get(self, "password")
|
||||
|
||||
@password.setter
|
||||
def password(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def password(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "password", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def username(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def username(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Basic auth username.
|
||||
"""
|
||||
return pulumi.get(self, "username")
|
||||
|
||||
@username.setter
|
||||
def username(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def username(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "username", value)
|
||||
|
||||
|
||||
@@ -149,12 +149,15 @@ class Security(pulumi.CustomResource):
|
||||
def __init__(__self__,
|
||||
resource_name: str,
|
||||
opts: Optional[pulumi.ResourceOptions] = None,
|
||||
application_id: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
password: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
username: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
application_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
password: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
username: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
__props__=None):
|
||||
"""
|
||||
Create a Security resource with the given unique name, props, and options.
|
||||
HTTP basic authentication credentials protecting an application's domains.
|
||||
|
||||
> Dokploy stores the password hashed and does not return it. The value in Terraform state is the one you configured.
|
||||
|
||||
|
||||
:param str resource_name: The name of the resource.
|
||||
:param pulumi.ResourceOptions opts: Options for the resource.
|
||||
@@ -169,7 +172,10 @@ class Security(pulumi.CustomResource):
|
||||
args: SecurityArgs,
|
||||
opts: Optional[pulumi.ResourceOptions] = None):
|
||||
"""
|
||||
Create a Security resource with the given unique name, props, and options.
|
||||
HTTP basic authentication credentials protecting an application's domains.
|
||||
|
||||
> Dokploy stores the password hashed and does not return it. The value in Terraform state is the one you configured.
|
||||
|
||||
|
||||
:param str resource_name: The name of the resource.
|
||||
:param SecurityArgs args: The arguments to use to populate this resource's properties.
|
||||
@@ -186,9 +192,9 @@ class Security(pulumi.CustomResource):
|
||||
def _internal_init(__self__,
|
||||
resource_name: str,
|
||||
opts: Optional[pulumi.ResourceOptions] = None,
|
||||
application_id: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
password: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
username: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
application_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
password: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
username: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
__props__=None):
|
||||
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
||||
if not isinstance(opts, pulumi.ResourceOptions):
|
||||
@@ -220,10 +226,10 @@ class Security(pulumi.CustomResource):
|
||||
def get(resource_name: str,
|
||||
id: pulumi.Input[str],
|
||||
opts: Optional[pulumi.ResourceOptions] = None,
|
||||
application_id: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
created_at: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
password: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
username: Optional[pulumi.Input[_builtins.str]] = None) -> 'Security':
|
||||
application_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
created_at: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
password: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
username: pulumi.Input[Optional[_builtins.str]] = None) -> 'Security':
|
||||
"""
|
||||
Get an existing Security resource's state with the given name, id, and optional extra
|
||||
properties used to qualify the lookup.
|
||||
|
||||
Generated
+50
-40
@@ -21,8 +21,8 @@ class SshKeyArgs:
|
||||
def __init__(__self__, *,
|
||||
private_key: pulumi.Input[_builtins.str],
|
||||
public_key: pulumi.Input[_builtins.str],
|
||||
description: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
name: Optional[pulumi.Input[_builtins.str]] = None):
|
||||
description: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
name: pulumi.Input[Optional[_builtins.str]] = None):
|
||||
"""
|
||||
The set of arguments for constructing a SshKey resource.
|
||||
|
||||
@@ -64,38 +64,38 @@ class SshKeyArgs:
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def description(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def description(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Free-form description.
|
||||
"""
|
||||
return pulumi.get(self, "description")
|
||||
|
||||
@description.setter
|
||||
def description(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def description(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "description", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def name(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Display name of the key pair.
|
||||
"""
|
||||
return pulumi.get(self, "name")
|
||||
|
||||
@name.setter
|
||||
def name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def name(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "name", value)
|
||||
|
||||
|
||||
@pulumi.input_type
|
||||
class _SshKeyState:
|
||||
def __init__(__self__, *,
|
||||
created_at: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
description: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
last_used_at: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
name: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
private_key: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
public_key: Optional[pulumi.Input[_builtins.str]] = None):
|
||||
created_at: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
description: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
last_used_at: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
private_key: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
public_key: pulumi.Input[Optional[_builtins.str]] = None):
|
||||
"""
|
||||
Input properties used for looking up and filtering SshKey resources.
|
||||
|
||||
@@ -121,74 +121,74 @@ class _SshKeyState:
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="createdAt")
|
||||
def created_at(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def created_at(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
RFC 3339 timestamp of when the key was created.
|
||||
"""
|
||||
return pulumi.get(self, "created_at")
|
||||
|
||||
@created_at.setter
|
||||
def created_at(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def created_at(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "created_at", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def description(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def description(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Free-form description.
|
||||
"""
|
||||
return pulumi.get(self, "description")
|
||||
|
||||
@description.setter
|
||||
def description(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def description(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "description", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="lastUsedAt")
|
||||
def last_used_at(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def last_used_at(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
RFC 3339 timestamp of when the key was last used, if ever.
|
||||
"""
|
||||
return pulumi.get(self, "last_used_at")
|
||||
|
||||
@last_used_at.setter
|
||||
def last_used_at(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def last_used_at(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "last_used_at", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def name(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Display name of the key pair.
|
||||
"""
|
||||
return pulumi.get(self, "name")
|
||||
|
||||
@name.setter
|
||||
def name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def name(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "name", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="privateKey")
|
||||
def private_key(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def private_key(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
PEM-encoded private key.
|
||||
"""
|
||||
return pulumi.get(self, "private_key")
|
||||
|
||||
@private_key.setter
|
||||
def private_key(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def private_key(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "private_key", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="publicKey")
|
||||
def public_key(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
def public_key(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
OpenSSH-formatted public key.
|
||||
"""
|
||||
return pulumi.get(self, "public_key")
|
||||
|
||||
@public_key.setter
|
||||
def public_key(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
def public_key(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "public_key", value)
|
||||
|
||||
|
||||
@@ -198,13 +198,18 @@ class SshKey(pulumi.CustomResource):
|
||||
def __init__(__self__,
|
||||
resource_name: str,
|
||||
opts: Optional[pulumi.ResourceOptions] = None,
|
||||
description: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
name: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
private_key: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
public_key: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
description: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
private_key: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
public_key: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
__props__=None):
|
||||
"""
|
||||
Create a SshKey resource with the given unique name, props, and options.
|
||||
An SSH key pair Dokploy uses to clone private Git repositories and to reach remote servers.
|
||||
|
||||
> The private key is stored in Terraform state. Use a state backend with encryption at rest.
|
||||
|
||||
> Dokploy's update endpoint only accepts `name` and `description`. Changing either key forces a new resource.
|
||||
|
||||
|
||||
:param str resource_name: The name of the resource.
|
||||
:param pulumi.ResourceOptions opts: Options for the resource.
|
||||
@@ -220,7 +225,12 @@ class SshKey(pulumi.CustomResource):
|
||||
args: SshKeyArgs,
|
||||
opts: Optional[pulumi.ResourceOptions] = None):
|
||||
"""
|
||||
Create a SshKey resource with the given unique name, props, and options.
|
||||
An SSH key pair Dokploy uses to clone private Git repositories and to reach remote servers.
|
||||
|
||||
> The private key is stored in Terraform state. Use a state backend with encryption at rest.
|
||||
|
||||
> Dokploy's update endpoint only accepts `name` and `description`. Changing either key forces a new resource.
|
||||
|
||||
|
||||
:param str resource_name: The name of the resource.
|
||||
:param SshKeyArgs args: The arguments to use to populate this resource's properties.
|
||||
@@ -237,10 +247,10 @@ class SshKey(pulumi.CustomResource):
|
||||
def _internal_init(__self__,
|
||||
resource_name: str,
|
||||
opts: Optional[pulumi.ResourceOptions] = None,
|
||||
description: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
name: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
private_key: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
public_key: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
description: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
private_key: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
public_key: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
__props__=None):
|
||||
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
||||
if not isinstance(opts, pulumi.ResourceOptions):
|
||||
@@ -272,12 +282,12 @@ class SshKey(pulumi.CustomResource):
|
||||
def get(resource_name: str,
|
||||
id: pulumi.Input[str],
|
||||
opts: Optional[pulumi.ResourceOptions] = None,
|
||||
created_at: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
description: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
last_used_at: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
name: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
private_key: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
public_key: Optional[pulumi.Input[_builtins.str]] = None) -> 'SshKey':
|
||||
created_at: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
description: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
last_used_at: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
private_key: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
public_key: pulumi.Input[Optional[_builtins.str]] = None) -> 'SshKey':
|
||||
"""
|
||||
Get an existing SshKey resource's state with the given name, id, and optional extra
|
||||
properties used to qualify the lookup.
|
||||
|
||||
+345
@@ -0,0 +1,345 @@
|
||||
# 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__ = ['VaultProviderArgs', 'VaultProvider']
|
||||
|
||||
@pulumi.input_type
|
||||
class VaultProviderArgs:
|
||||
def __init__(__self__, *,
|
||||
assignments: pulumi.Input[_builtins.str],
|
||||
config: pulumi.Input[_builtins.str],
|
||||
name: pulumi.Input[Optional[_builtins.str]] = None):
|
||||
"""
|
||||
The set of arguments for constructing a VaultProvider resource.
|
||||
|
||||
:param pulumi.Input[_builtins.str] assignments: JSON array scoping which projects or environments may resolve secrets from this provider. Pass `jsonencode([])` to leave it unscoped.
|
||||
:param pulumi.Input[_builtins.str] config: Provider credentials as a JSON object, including the `providerType` discriminator.
|
||||
:param pulumi.Input[_builtins.str] name: Name of the connection, unique within the organization.
|
||||
"""
|
||||
pulumi.set(__self__, "assignments", assignments)
|
||||
pulumi.set(__self__, "config", config)
|
||||
if name is not None:
|
||||
pulumi.set(__self__, "name", name)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def assignments(self) -> pulumi.Input[_builtins.str]:
|
||||
"""
|
||||
JSON array scoping which projects or environments may resolve secrets from this provider. Pass `jsonencode([])` to leave it unscoped.
|
||||
"""
|
||||
return pulumi.get(self, "assignments")
|
||||
|
||||
@assignments.setter
|
||||
def assignments(self, value: pulumi.Input[_builtins.str]):
|
||||
pulumi.set(self, "assignments", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def config(self) -> pulumi.Input[_builtins.str]:
|
||||
"""
|
||||
Provider credentials as a JSON object, including the `providerType` discriminator.
|
||||
"""
|
||||
return pulumi.get(self, "config")
|
||||
|
||||
@config.setter
|
||||
def config(self, value: pulumi.Input[_builtins.str]):
|
||||
pulumi.set(self, "config", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def name(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Name of the connection, unique within the organization.
|
||||
"""
|
||||
return pulumi.get(self, "name")
|
||||
|
||||
@name.setter
|
||||
def name(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "name", value)
|
||||
|
||||
|
||||
@pulumi.input_type
|
||||
class _VaultProviderState:
|
||||
def __init__(__self__, *,
|
||||
assignments: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
config: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
created_at: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
organization_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
provider_type: pulumi.Input[Optional[_builtins.str]] = None):
|
||||
"""
|
||||
Input properties used for looking up and filtering VaultProvider resources.
|
||||
|
||||
:param pulumi.Input[_builtins.str] assignments: JSON array scoping which projects or environments may resolve secrets from this provider. Pass `jsonencode([])` to leave it unscoped.
|
||||
:param pulumi.Input[_builtins.str] config: Provider credentials as a JSON object, including the `providerType` discriminator.
|
||||
:param pulumi.Input[_builtins.str] created_at: RFC 3339 timestamp of when the connection was created.
|
||||
:param pulumi.Input[_builtins.str] name: Name of the connection, unique within the organization.
|
||||
:param pulumi.Input[_builtins.str] organization_id: Organization that owns the connection.
|
||||
:param pulumi.Input[_builtins.str] provider_type: Provider kind derived from `config`.
|
||||
"""
|
||||
if assignments is not None:
|
||||
pulumi.set(__self__, "assignments", assignments)
|
||||
if config is not None:
|
||||
pulumi.set(__self__, "config", config)
|
||||
if created_at is not None:
|
||||
pulumi.set(__self__, "created_at", created_at)
|
||||
if name is not None:
|
||||
pulumi.set(__self__, "name", name)
|
||||
if organization_id is not None:
|
||||
pulumi.set(__self__, "organization_id", organization_id)
|
||||
if provider_type is not None:
|
||||
pulumi.set(__self__, "provider_type", provider_type)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def assignments(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
JSON array scoping which projects or environments may resolve secrets from this provider. Pass `jsonencode([])` to leave it unscoped.
|
||||
"""
|
||||
return pulumi.get(self, "assignments")
|
||||
|
||||
@assignments.setter
|
||||
def assignments(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "assignments", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def config(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Provider credentials as a JSON object, including the `providerType` discriminator.
|
||||
"""
|
||||
return pulumi.get(self, "config")
|
||||
|
||||
@config.setter
|
||||
def config(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "config", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="createdAt")
|
||||
def created_at(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
RFC 3339 timestamp of when the connection was created.
|
||||
"""
|
||||
return pulumi.get(self, "created_at")
|
||||
|
||||
@created_at.setter
|
||||
def created_at(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "created_at", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def name(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Name of the connection, unique within the organization.
|
||||
"""
|
||||
return pulumi.get(self, "name")
|
||||
|
||||
@name.setter
|
||||
def name(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "name", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="organizationId")
|
||||
def organization_id(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Organization that owns the connection.
|
||||
"""
|
||||
return pulumi.get(self, "organization_id")
|
||||
|
||||
@organization_id.setter
|
||||
def organization_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "organization_id", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="providerType")
|
||||
def provider_type(self) -> pulumi.Input[Optional[_builtins.str]]:
|
||||
"""
|
||||
Provider kind derived from `config`.
|
||||
"""
|
||||
return pulumi.get(self, "provider_type")
|
||||
|
||||
@provider_type.setter
|
||||
def provider_type(self, value: pulumi.Input[Optional[_builtins.str]]):
|
||||
pulumi.set(self, "provider_type", value)
|
||||
|
||||
|
||||
@pulumi.type_token("dokploy:index/vaultProvider:VaultProvider")
|
||||
class VaultProvider(pulumi.CustomResource):
|
||||
@overload
|
||||
def __init__(__self__,
|
||||
resource_name: str,
|
||||
opts: Optional[pulumi.ResourceOptions] = None,
|
||||
assignments: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
config: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
__props__=None):
|
||||
"""
|
||||
An external secret manager Dokploy resolves environment variables from at deploy time.
|
||||
|
||||
Reference a secret from any `env` value with `${{vault.<scope>.<key>}}`. The value is fetched when the deployment runs and is never stored in Dokploy — so rotating it in the vault takes effect on the next deploy with no Terraform change.
|
||||
|
||||
Supported `providerType` values: `hashicorp` (Vault/OpenBao), `infisical`, `aws` (Secrets Manager), `doppler`, `azure` (Key Vault) and `scaleway`.
|
||||
|
||||
|
||||
:param str resource_name: The name of the resource.
|
||||
:param pulumi.ResourceOptions opts: Options for the resource.
|
||||
:param pulumi.Input[_builtins.str] assignments: JSON array scoping which projects or environments may resolve secrets from this provider. Pass `jsonencode([])` to leave it unscoped.
|
||||
:param pulumi.Input[_builtins.str] config: Provider credentials as a JSON object, including the `providerType` discriminator.
|
||||
:param pulumi.Input[_builtins.str] name: Name of the connection, unique within the organization.
|
||||
"""
|
||||
...
|
||||
@overload
|
||||
def __init__(__self__,
|
||||
resource_name: str,
|
||||
args: VaultProviderArgs,
|
||||
opts: Optional[pulumi.ResourceOptions] = None):
|
||||
"""
|
||||
An external secret manager Dokploy resolves environment variables from at deploy time.
|
||||
|
||||
Reference a secret from any `env` value with `${{vault.<scope>.<key>}}`. The value is fetched when the deployment runs and is never stored in Dokploy — so rotating it in the vault takes effect on the next deploy with no Terraform change.
|
||||
|
||||
Supported `providerType` values: `hashicorp` (Vault/OpenBao), `infisical`, `aws` (Secrets Manager), `doppler`, `azure` (Key Vault) and `scaleway`.
|
||||
|
||||
|
||||
:param str resource_name: The name of the resource.
|
||||
:param VaultProviderArgs 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(VaultProviderArgs, 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,
|
||||
assignments: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
config: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
name: pulumi.Input[Optional[_builtins.str]] = 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__ = VaultProviderArgs.__new__(VaultProviderArgs)
|
||||
|
||||
if assignments is None and not opts.urn:
|
||||
raise TypeError("Missing required property 'assignments'")
|
||||
__props__.__dict__["assignments"] = assignments
|
||||
if config is None and not opts.urn:
|
||||
raise TypeError("Missing required property 'config'")
|
||||
__props__.__dict__["config"] = None if config is None else pulumi.Output.secret(config)
|
||||
__props__.__dict__["name"] = name
|
||||
__props__.__dict__["created_at"] = None
|
||||
__props__.__dict__["organization_id"] = None
|
||||
__props__.__dict__["provider_type"] = None
|
||||
secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["config"])
|
||||
opts = pulumi.ResourceOptions.merge(opts, secret_opts)
|
||||
super(VaultProvider, __self__).__init__(
|
||||
'dokploy:index/vaultProvider:VaultProvider',
|
||||
resource_name,
|
||||
__props__,
|
||||
opts)
|
||||
|
||||
@staticmethod
|
||||
def get(resource_name: str,
|
||||
id: pulumi.Input[str],
|
||||
opts: Optional[pulumi.ResourceOptions] = None,
|
||||
assignments: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
config: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
created_at: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
name: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
organization_id: pulumi.Input[Optional[_builtins.str]] = None,
|
||||
provider_type: pulumi.Input[Optional[_builtins.str]] = None) -> 'VaultProvider':
|
||||
"""
|
||||
Get an existing VaultProvider 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] assignments: JSON array scoping which projects or environments may resolve secrets from this provider. Pass `jsonencode([])` to leave it unscoped.
|
||||
:param pulumi.Input[_builtins.str] config: Provider credentials as a JSON object, including the `providerType` discriminator.
|
||||
:param pulumi.Input[_builtins.str] created_at: RFC 3339 timestamp of when the connection was created.
|
||||
:param pulumi.Input[_builtins.str] name: Name of the connection, unique within the organization.
|
||||
:param pulumi.Input[_builtins.str] organization_id: Organization that owns the connection.
|
||||
:param pulumi.Input[_builtins.str] provider_type: Provider kind derived from `config`.
|
||||
"""
|
||||
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
||||
|
||||
__props__ = _VaultProviderState.__new__(_VaultProviderState)
|
||||
|
||||
__props__.__dict__["assignments"] = assignments
|
||||
__props__.__dict__["config"] = config
|
||||
__props__.__dict__["created_at"] = created_at
|
||||
__props__.__dict__["name"] = name
|
||||
__props__.__dict__["organization_id"] = organization_id
|
||||
__props__.__dict__["provider_type"] = provider_type
|
||||
return VaultProvider(resource_name, opts=opts, __props__=__props__)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def assignments(self) -> pulumi.Output[_builtins.str]:
|
||||
"""
|
||||
JSON array scoping which projects or environments may resolve secrets from this provider. Pass `jsonencode([])` to leave it unscoped.
|
||||
"""
|
||||
return pulumi.get(self, "assignments")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def config(self) -> pulumi.Output[_builtins.str]:
|
||||
"""
|
||||
Provider credentials as a JSON object, including the `providerType` discriminator.
|
||||
"""
|
||||
return pulumi.get(self, "config")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="createdAt")
|
||||
def created_at(self) -> pulumi.Output[_builtins.str]:
|
||||
"""
|
||||
RFC 3339 timestamp of when the connection was created.
|
||||
"""
|
||||
return pulumi.get(self, "created_at")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def name(self) -> pulumi.Output[_builtins.str]:
|
||||
"""
|
||||
Name of the connection, unique within the organization.
|
||||
"""
|
||||
return pulumi.get(self, "name")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="organizationId")
|
||||
def organization_id(self) -> pulumi.Output[_builtins.str]:
|
||||
"""
|
||||
Organization that owns the connection.
|
||||
"""
|
||||
return pulumi.get(self, "organization_id")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="providerType")
|
||||
def provider_type(self) -> pulumi.Output[_builtins.str]:
|
||||
"""
|
||||
Provider kind derived from `config`.
|
||||
"""
|
||||
return pulumi.get(self, "provider_type")
|
||||
|
||||
+1041
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user