Files
pulumi-dokploy/sdk/python/pulumi_dokploy/libsql.py
T
max-voitcov 73386ba0ff
build / build (push) Failing after 11m22s
release / plugin (push) Failing after 31m35s
release / sdks (push) Has been skipped
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`.
2026-08-26 00:46:32 +03:00

1734 lines
81 KiB
Python
Generated

# coding=utf-8
# *** WARNING: this file was generated by pulumi-language-python. ***
# *** Do not edit by hand unless you're certain you know what you are doing! ***
import builtins as _builtins
import warnings
import sys
import pulumi
import pulumi.runtime
from typing import Any, Mapping, Optional, Sequence, Union, overload
if sys.version_info >= (3, 11):
from typing import NotRequired, TypedDict, TypeAlias
else:
from typing_extensions import NotRequired, TypedDict, TypeAlias
from . import _utilities
__all__ = ['LibsqlArgs', 'Libsql']
@pulumi.input_type
class LibsqlArgs:
def __init__(__self__, *,
database_password: pulumi.Input[_builtins.str],
database_user: pulumi.Input[_builtins.str],
docker_image: pulumi.Input[_builtins.str],
environment_id: pulumi.Input[_builtins.str],
app_name: pulumi.Input[Optional[_builtins.str]] = None,
command: pulumi.Input[Optional[_builtins.str]] = None,
cpu_limit: pulumi.Input[Optional[_builtins.str]] = None,
cpu_reservation: pulumi.Input[Optional[_builtins.str]] = None,
description: pulumi.Input[Optional[_builtins.str]] = None,
detach_dokploy_network: pulumi.Input[Optional[_builtins.bool]] = None,
enable_namespaces: pulumi.Input[Optional[_builtins.bool]] = None,
endpoint_spec_swarm: pulumi.Input[Optional[_builtins.str]] = None,
env: pulumi.Input[Optional[_builtins.str]] = None,
external_admin_port: pulumi.Input[Optional[_builtins.int]] = None,
external_grpc_port: pulumi.Input[Optional[_builtins.int]] = None,
external_port: pulumi.Input[Optional[_builtins.int]] = None,
health_check_swarm: pulumi.Input[Optional[_builtins.str]] = None,
labels_swarm: pulumi.Input[Optional[_builtins.str]] = None,
memory_limit: pulumi.Input[Optional[_builtins.str]] = None,
memory_reservation: pulumi.Input[Optional[_builtins.str]] = None,
mode_swarm: pulumi.Input[Optional[_builtins.str]] = None,
name: pulumi.Input[Optional[_builtins.str]] = None,
network_ids: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None,
network_swarm: pulumi.Input[Optional[_builtins.str]] = None,
placement_swarm: pulumi.Input[Optional[_builtins.str]] = None,
replicas: pulumi.Input[Optional[_builtins.int]] = None,
restart_policy_swarm: pulumi.Input[Optional[_builtins.str]] = None,
rollback_config_swarm: pulumi.Input[Optional[_builtins.str]] = None,
server_id: pulumi.Input[Optional[_builtins.str]] = None,
sqld_node: pulumi.Input[Optional[_builtins.str]] = None,
sqld_primary_url: pulumi.Input[Optional[_builtins.str]] = None,
stop_grace_period_swarm: pulumi.Input[Optional[_builtins.int]] = None,
update_config_swarm: pulumi.Input[Optional[_builtins.str]] = None):
"""
The set of arguments for constructing a Libsql resource.
:param pulumi.Input[_builtins.str] database_password: Password for the database user.
:param pulumi.Input[_builtins.str] database_user: Database user to create.
:param pulumi.Input[_builtins.str] docker_image: libSQL server image to run, for example `ghcr.io/tursodatabase/libsql-server:latest`.
:param pulumi.Input[_builtins.str] environment_id: Environment this database belongs to.
:param pulumi.Input[_builtins.str] app_name: Unique Docker service name. Generated from `name` when omitted, because Dokploy's libSQL endpoint does not generate one. Changing it forces a new database.
:param pulumi.Input[_builtins.str] command: Override the container entrypoint command.
:param pulumi.Input[_builtins.str] cpu_limit: Hard CPU limit, for example `1`.
:param pulumi.Input[_builtins.str] cpu_reservation: Soft CPU reservation, for example `0.5`.
:param pulumi.Input[_builtins.str] description: Free-form description.
:param pulumi.Input[_builtins.bool] detach_dokploy_network: Detach the service from the shared `dokploy-network`.
:param pulumi.Input[_builtins.bool] enable_namespaces: Serve multiple logical databases from one instance through libSQL namespaces.
:param pulumi.Input[_builtins.str] endpoint_spec_swarm: Docker Swarm endpoint specification, as a JSON object.
:param pulumi.Input[_builtins.str] env: Environment variables in `KEY=value` format, one per line.
:param pulumi.Input[_builtins.int] external_admin_port: Host port exposing the admin API.
:param pulumi.Input[_builtins.int] external_grpc_port: Host port exposing the gRPC replication endpoint.
:param pulumi.Input[_builtins.int] external_port: Host port exposing the HTTP API.
:param pulumi.Input[_builtins.str] health_check_swarm: Docker Swarm health check configuration, as a JSON object.
:param pulumi.Input[_builtins.str] labels_swarm: Docker Swarm service labels, as a JSON object.
:param pulumi.Input[_builtins.str] memory_limit: Hard memory limit, for example `512m`.
:param pulumi.Input[_builtins.str] memory_reservation: Soft memory reservation, for example `256m`.
:param pulumi.Input[_builtins.str] mode_swarm: Docker Swarm service mode, as a JSON object.
:param pulumi.Input[_builtins.str] name: Display name of the database.
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] network_ids: IDs of additional Docker networks to attach.
:param pulumi.Input[_builtins.str] network_swarm: Docker Swarm network attachments, as a JSON array.
:param pulumi.Input[_builtins.str] placement_swarm: Docker Swarm placement constraints, as a JSON object.
:param pulumi.Input[_builtins.int] replicas: Number of replicas to run.
:param pulumi.Input[_builtins.str] restart_policy_swarm: Docker Swarm restart policy, as a JSON object.
:param pulumi.Input[_builtins.str] rollback_config_swarm: Docker Swarm rollback configuration, as a JSON object.
:param pulumi.Input[_builtins.str] server_id: Remote server to deploy on. Omit to use the Dokploy host itself.
:param pulumi.Input[_builtins.str] sqld_node: Role this node plays in a libSQL cluster. Valid values: `primary`, `replica`. Defaults to `primary`.
:param pulumi.Input[_builtins.str] sqld_primary_url: URL of the primary node, when `sqld_node` is `replica`.
:param pulumi.Input[_builtins.int] stop_grace_period_swarm: Grace period in nanoseconds before a container is killed.
:param pulumi.Input[_builtins.str] update_config_swarm: Docker Swarm rolling update configuration, as a JSON object.
"""
pulumi.set(__self__, "database_password", database_password)
pulumi.set(__self__, "database_user", database_user)
pulumi.set(__self__, "docker_image", docker_image)
pulumi.set(__self__, "environment_id", environment_id)
if app_name is not None:
pulumi.set(__self__, "app_name", app_name)
if command is not None:
pulumi.set(__self__, "command", command)
if cpu_limit is not None:
pulumi.set(__self__, "cpu_limit", cpu_limit)
if cpu_reservation is not None:
pulumi.set(__self__, "cpu_reservation", cpu_reservation)
if description is not None:
pulumi.set(__self__, "description", description)
if detach_dokploy_network is not None:
pulumi.set(__self__, "detach_dokploy_network", detach_dokploy_network)
if enable_namespaces is not None:
pulumi.set(__self__, "enable_namespaces", enable_namespaces)
if endpoint_spec_swarm is not None:
pulumi.set(__self__, "endpoint_spec_swarm", endpoint_spec_swarm)
if env is not None:
pulumi.set(__self__, "env", env)
if external_admin_port is not None:
pulumi.set(__self__, "external_admin_port", external_admin_port)
if external_grpc_port is not None:
pulumi.set(__self__, "external_grpc_port", external_grpc_port)
if external_port is not None:
pulumi.set(__self__, "external_port", external_port)
if health_check_swarm is not None:
pulumi.set(__self__, "health_check_swarm", health_check_swarm)
if labels_swarm is not None:
pulumi.set(__self__, "labels_swarm", labels_swarm)
if memory_limit is not None:
pulumi.set(__self__, "memory_limit", memory_limit)
if memory_reservation is not None:
pulumi.set(__self__, "memory_reservation", memory_reservation)
if mode_swarm is not None:
pulumi.set(__self__, "mode_swarm", mode_swarm)
if name is not None:
pulumi.set(__self__, "name", name)
if network_ids is not None:
pulumi.set(__self__, "network_ids", network_ids)
if network_swarm is not None:
pulumi.set(__self__, "network_swarm", network_swarm)
if placement_swarm is not None:
pulumi.set(__self__, "placement_swarm", placement_swarm)
if replicas is not None:
pulumi.set(__self__, "replicas", replicas)
if restart_policy_swarm is not None:
pulumi.set(__self__, "restart_policy_swarm", restart_policy_swarm)
if rollback_config_swarm is not None:
pulumi.set(__self__, "rollback_config_swarm", rollback_config_swarm)
if server_id is not None:
pulumi.set(__self__, "server_id", server_id)
if sqld_node is not None:
pulumi.set(__self__, "sqld_node", sqld_node)
if sqld_primary_url is not None:
pulumi.set(__self__, "sqld_primary_url", sqld_primary_url)
if stop_grace_period_swarm is not None:
pulumi.set(__self__, "stop_grace_period_swarm", stop_grace_period_swarm)
if update_config_swarm is not None:
pulumi.set(__self__, "update_config_swarm", update_config_swarm)
@_builtins.property
@pulumi.getter(name="databasePassword")
def database_password(self) -> pulumi.Input[_builtins.str]:
"""
Password for the database user.
"""
return pulumi.get(self, "database_password")
@database_password.setter
def database_password(self, value: pulumi.Input[_builtins.str]):
pulumi.set(self, "database_password", value)
@_builtins.property
@pulumi.getter(name="databaseUser")
def database_user(self) -> pulumi.Input[_builtins.str]:
"""
Database user to create.
"""
return pulumi.get(self, "database_user")
@database_user.setter
def database_user(self, value: pulumi.Input[_builtins.str]):
pulumi.set(self, "database_user", value)
@_builtins.property
@pulumi.getter(name="dockerImage")
def docker_image(self) -> pulumi.Input[_builtins.str]:
"""
libSQL server image to run, for example `ghcr.io/tursodatabase/libsql-server:latest`.
"""
return pulumi.get(self, "docker_image")
@docker_image.setter
def docker_image(self, value: pulumi.Input[_builtins.str]):
pulumi.set(self, "docker_image", value)
@_builtins.property
@pulumi.getter(name="environmentId")
def environment_id(self) -> pulumi.Input[_builtins.str]:
"""
Environment this database belongs to.
"""
return pulumi.get(self, "environment_id")
@environment_id.setter
def environment_id(self, value: pulumi.Input[_builtins.str]):
pulumi.set(self, "environment_id", value)
@_builtins.property
@pulumi.getter(name="appName")
def app_name(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Unique Docker service name. Generated from `name` when omitted, because Dokploy's libSQL endpoint does not generate one. Changing it forces a new database.
"""
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
def command(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Override the container entrypoint command.
"""
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="cpuLimit")
def cpu_limit(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Hard CPU limit, for example `1`.
"""
return pulumi.get(self, "cpu_limit")
@cpu_limit.setter
def cpu_limit(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "cpu_limit", value)
@_builtins.property
@pulumi.getter(name="cpuReservation")
def cpu_reservation(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Soft CPU reservation, for example `0.5`.
"""
return pulumi.get(self, "cpu_reservation")
@cpu_reservation.setter
def cpu_reservation(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "cpu_reservation", 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(name="detachDokployNetwork")
def detach_dokploy_network(self) -> pulumi.Input[Optional[_builtins.bool]]:
"""
Detach the service from the shared `dokploy-network`.
"""
return pulumi.get(self, "detach_dokploy_network")
@detach_dokploy_network.setter
def detach_dokploy_network(self, value: pulumi.Input[Optional[_builtins.bool]]):
pulumi.set(self, "detach_dokploy_network", value)
@_builtins.property
@pulumi.getter(name="enableNamespaces")
def enable_namespaces(self) -> pulumi.Input[Optional[_builtins.bool]]:
"""
Serve multiple logical databases from one instance through libSQL namespaces.
"""
return pulumi.get(self, "enable_namespaces")
@enable_namespaces.setter
def enable_namespaces(self, value: pulumi.Input[Optional[_builtins.bool]]):
pulumi.set(self, "enable_namespaces", value)
@_builtins.property
@pulumi.getter(name="endpointSpecSwarm")
def endpoint_spec_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Docker Swarm endpoint specification, as a JSON object.
"""
return pulumi.get(self, "endpoint_spec_swarm")
@endpoint_spec_swarm.setter
def endpoint_spec_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "endpoint_spec_swarm", value)
@_builtins.property
@pulumi.getter
def env(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Environment variables in `KEY=value` format, one per line.
"""
return pulumi.get(self, "env")
@env.setter
def env(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "env", value)
@_builtins.property
@pulumi.getter(name="externalAdminPort")
def external_admin_port(self) -> pulumi.Input[Optional[_builtins.int]]:
"""
Host port exposing the admin API.
"""
return pulumi.get(self, "external_admin_port")
@external_admin_port.setter
def external_admin_port(self, value: pulumi.Input[Optional[_builtins.int]]):
pulumi.set(self, "external_admin_port", value)
@_builtins.property
@pulumi.getter(name="externalGrpcPort")
def external_grpc_port(self) -> pulumi.Input[Optional[_builtins.int]]:
"""
Host port exposing the gRPC replication endpoint.
"""
return pulumi.get(self, "external_grpc_port")
@external_grpc_port.setter
def external_grpc_port(self, value: pulumi.Input[Optional[_builtins.int]]):
pulumi.set(self, "external_grpc_port", value)
@_builtins.property
@pulumi.getter(name="externalPort")
def external_port(self) -> pulumi.Input[Optional[_builtins.int]]:
"""
Host port exposing the HTTP API.
"""
return pulumi.get(self, "external_port")
@external_port.setter
def external_port(self, value: pulumi.Input[Optional[_builtins.int]]):
pulumi.set(self, "external_port", value)
@_builtins.property
@pulumi.getter(name="healthCheckSwarm")
def health_check_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Docker Swarm health check configuration, as a JSON object.
"""
return pulumi.get(self, "health_check_swarm")
@health_check_swarm.setter
def health_check_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "health_check_swarm", value)
@_builtins.property
@pulumi.getter(name="labelsSwarm")
def labels_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Docker Swarm service labels, as a JSON object.
"""
return pulumi.get(self, "labels_swarm")
@labels_swarm.setter
def labels_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "labels_swarm", value)
@_builtins.property
@pulumi.getter(name="memoryLimit")
def memory_limit(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Hard memory limit, for example `512m`.
"""
return pulumi.get(self, "memory_limit")
@memory_limit.setter
def memory_limit(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "memory_limit", value)
@_builtins.property
@pulumi.getter(name="memoryReservation")
def memory_reservation(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Soft memory reservation, for example `256m`.
"""
return pulumi.get(self, "memory_reservation")
@memory_reservation.setter
def memory_reservation(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "memory_reservation", value)
@_builtins.property
@pulumi.getter(name="modeSwarm")
def mode_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Docker Swarm service mode, as a JSON object.
"""
return pulumi.get(self, "mode_swarm")
@mode_swarm.setter
def mode_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "mode_swarm", value)
@_builtins.property
@pulumi.getter
def name(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Display name of the database.
"""
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="networkIds")
def network_ids(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]:
"""
IDs of additional Docker networks to attach.
"""
return pulumi.get(self, "network_ids")
@network_ids.setter
def network_ids(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]):
pulumi.set(self, "network_ids", value)
@_builtins.property
@pulumi.getter(name="networkSwarm")
def network_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Docker Swarm network attachments, as a JSON array.
"""
return pulumi.get(self, "network_swarm")
@network_swarm.setter
def network_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "network_swarm", value)
@_builtins.property
@pulumi.getter(name="placementSwarm")
def placement_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Docker Swarm placement constraints, as a JSON object.
"""
return pulumi.get(self, "placement_swarm")
@placement_swarm.setter
def placement_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "placement_swarm", value)
@_builtins.property
@pulumi.getter
def replicas(self) -> pulumi.Input[Optional[_builtins.int]]:
"""
Number of replicas to run.
"""
return pulumi.get(self, "replicas")
@replicas.setter
def replicas(self, value: pulumi.Input[Optional[_builtins.int]]):
pulumi.set(self, "replicas", value)
@_builtins.property
@pulumi.getter(name="restartPolicySwarm")
def restart_policy_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Docker Swarm restart policy, as a JSON object.
"""
return pulumi.get(self, "restart_policy_swarm")
@restart_policy_swarm.setter
def restart_policy_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "restart_policy_swarm", value)
@_builtins.property
@pulumi.getter(name="rollbackConfigSwarm")
def rollback_config_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Docker Swarm rollback configuration, as a JSON object.
"""
return pulumi.get(self, "rollback_config_swarm")
@rollback_config_swarm.setter
def rollback_config_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "rollback_config_swarm", value)
@_builtins.property
@pulumi.getter(name="serverId")
def server_id(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Remote server to deploy 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)
@_builtins.property
@pulumi.getter(name="sqldNode")
def sqld_node(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Role this node plays in a libSQL cluster. Valid values: `primary`, `replica`. Defaults to `primary`.
"""
return pulumi.get(self, "sqld_node")
@sqld_node.setter
def sqld_node(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "sqld_node", value)
@_builtins.property
@pulumi.getter(name="sqldPrimaryUrl")
def sqld_primary_url(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
URL of the primary node, when `sqld_node` is `replica`.
"""
return pulumi.get(self, "sqld_primary_url")
@sqld_primary_url.setter
def sqld_primary_url(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "sqld_primary_url", value)
@_builtins.property
@pulumi.getter(name="stopGracePeriodSwarm")
def stop_grace_period_swarm(self) -> pulumi.Input[Optional[_builtins.int]]:
"""
Grace period in nanoseconds before a container is killed.
"""
return pulumi.get(self, "stop_grace_period_swarm")
@stop_grace_period_swarm.setter
def stop_grace_period_swarm(self, value: pulumi.Input[Optional[_builtins.int]]):
pulumi.set(self, "stop_grace_period_swarm", value)
@_builtins.property
@pulumi.getter(name="updateConfigSwarm")
def update_config_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Docker Swarm rolling update configuration, as a JSON object.
"""
return pulumi.get(self, "update_config_swarm")
@update_config_swarm.setter
def update_config_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "update_config_swarm", value)
@pulumi.input_type
class _LibsqlState:
def __init__(__self__, *,
app_name: pulumi.Input[Optional[_builtins.str]] = None,
application_status: pulumi.Input[Optional[_builtins.str]] = None,
command: pulumi.Input[Optional[_builtins.str]] = None,
cpu_limit: pulumi.Input[Optional[_builtins.str]] = None,
cpu_reservation: pulumi.Input[Optional[_builtins.str]] = None,
created_at: pulumi.Input[Optional[_builtins.str]] = None,
database_password: pulumi.Input[Optional[_builtins.str]] = None,
database_user: pulumi.Input[Optional[_builtins.str]] = None,
description: pulumi.Input[Optional[_builtins.str]] = None,
detach_dokploy_network: pulumi.Input[Optional[_builtins.bool]] = None,
docker_image: pulumi.Input[Optional[_builtins.str]] = None,
enable_namespaces: pulumi.Input[Optional[_builtins.bool]] = None,
endpoint_spec_swarm: pulumi.Input[Optional[_builtins.str]] = None,
env: pulumi.Input[Optional[_builtins.str]] = None,
environment_id: pulumi.Input[Optional[_builtins.str]] = None,
external_admin_port: pulumi.Input[Optional[_builtins.int]] = None,
external_grpc_port: pulumi.Input[Optional[_builtins.int]] = None,
external_port: pulumi.Input[Optional[_builtins.int]] = None,
health_check_swarm: pulumi.Input[Optional[_builtins.str]] = None,
labels_swarm: pulumi.Input[Optional[_builtins.str]] = None,
memory_limit: pulumi.Input[Optional[_builtins.str]] = None,
memory_reservation: pulumi.Input[Optional[_builtins.str]] = None,
mode_swarm: pulumi.Input[Optional[_builtins.str]] = None,
name: pulumi.Input[Optional[_builtins.str]] = None,
network_ids: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None,
network_swarm: pulumi.Input[Optional[_builtins.str]] = None,
placement_swarm: pulumi.Input[Optional[_builtins.str]] = None,
replicas: pulumi.Input[Optional[_builtins.int]] = None,
restart_policy_swarm: pulumi.Input[Optional[_builtins.str]] = None,
rollback_config_swarm: pulumi.Input[Optional[_builtins.str]] = None,
server_id: pulumi.Input[Optional[_builtins.str]] = None,
sqld_node: pulumi.Input[Optional[_builtins.str]] = None,
sqld_primary_url: pulumi.Input[Optional[_builtins.str]] = None,
stop_grace_period_swarm: pulumi.Input[Optional[_builtins.int]] = None,
update_config_swarm: pulumi.Input[Optional[_builtins.str]] = None):
"""
Input properties used for looking up and filtering Libsql resources.
:param pulumi.Input[_builtins.str] app_name: Unique Docker service name. Generated from `name` when omitted, because Dokploy's libSQL endpoint does not generate one. Changing it forces a new database.
:param pulumi.Input[_builtins.str] application_status: Current status reported by Dokploy: `idle`, `running`, `done` or `error`.
:param pulumi.Input[_builtins.str] command: Override the container entrypoint command.
:param pulumi.Input[_builtins.str] cpu_limit: Hard CPU limit, for example `1`.
:param pulumi.Input[_builtins.str] cpu_reservation: Soft CPU reservation, for example `0.5`.
:param pulumi.Input[_builtins.str] created_at: RFC 3339 timestamp of when the database was created.
:param pulumi.Input[_builtins.str] database_password: Password for the database user.
:param pulumi.Input[_builtins.str] database_user: Database user to create.
:param pulumi.Input[_builtins.str] description: Free-form description.
:param pulumi.Input[_builtins.bool] detach_dokploy_network: Detach the service from the shared `dokploy-network`.
:param pulumi.Input[_builtins.str] docker_image: libSQL server image to run, for example `ghcr.io/tursodatabase/libsql-server:latest`.
:param pulumi.Input[_builtins.bool] enable_namespaces: Serve multiple logical databases from one instance through libSQL namespaces.
:param pulumi.Input[_builtins.str] endpoint_spec_swarm: Docker Swarm endpoint specification, as a JSON object.
:param pulumi.Input[_builtins.str] env: Environment variables in `KEY=value` format, one per line.
:param pulumi.Input[_builtins.str] environment_id: Environment this database belongs to.
:param pulumi.Input[_builtins.int] external_admin_port: Host port exposing the admin API.
:param pulumi.Input[_builtins.int] external_grpc_port: Host port exposing the gRPC replication endpoint.
:param pulumi.Input[_builtins.int] external_port: Host port exposing the HTTP API.
:param pulumi.Input[_builtins.str] health_check_swarm: Docker Swarm health check configuration, as a JSON object.
:param pulumi.Input[_builtins.str] labels_swarm: Docker Swarm service labels, as a JSON object.
:param pulumi.Input[_builtins.str] memory_limit: Hard memory limit, for example `512m`.
:param pulumi.Input[_builtins.str] memory_reservation: Soft memory reservation, for example `256m`.
:param pulumi.Input[_builtins.str] mode_swarm: Docker Swarm service mode, as a JSON object.
:param pulumi.Input[_builtins.str] name: Display name of the database.
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] network_ids: IDs of additional Docker networks to attach.
:param pulumi.Input[_builtins.str] network_swarm: Docker Swarm network attachments, as a JSON array.
:param pulumi.Input[_builtins.str] placement_swarm: Docker Swarm placement constraints, as a JSON object.
:param pulumi.Input[_builtins.int] replicas: Number of replicas to run.
:param pulumi.Input[_builtins.str] restart_policy_swarm: Docker Swarm restart policy, as a JSON object.
:param pulumi.Input[_builtins.str] rollback_config_swarm: Docker Swarm rollback configuration, as a JSON object.
:param pulumi.Input[_builtins.str] server_id: Remote server to deploy on. Omit to use the Dokploy host itself.
:param pulumi.Input[_builtins.str] sqld_node: Role this node plays in a libSQL cluster. Valid values: `primary`, `replica`. Defaults to `primary`.
:param pulumi.Input[_builtins.str] sqld_primary_url: URL of the primary node, when `sqld_node` is `replica`.
:param pulumi.Input[_builtins.int] stop_grace_period_swarm: Grace period in nanoseconds before a container is killed.
:param pulumi.Input[_builtins.str] update_config_swarm: Docker Swarm rolling update configuration, as a JSON object.
"""
if app_name is not None:
pulumi.set(__self__, "app_name", app_name)
if application_status is not None:
pulumi.set(__self__, "application_status", application_status)
if command is not None:
pulumi.set(__self__, "command", command)
if cpu_limit is not None:
pulumi.set(__self__, "cpu_limit", cpu_limit)
if cpu_reservation is not None:
pulumi.set(__self__, "cpu_reservation", cpu_reservation)
if created_at is not None:
pulumi.set(__self__, "created_at", created_at)
if database_password is not None:
pulumi.set(__self__, "database_password", database_password)
if database_user is not None:
pulumi.set(__self__, "database_user", database_user)
if description is not None:
pulumi.set(__self__, "description", description)
if detach_dokploy_network is not None:
pulumi.set(__self__, "detach_dokploy_network", detach_dokploy_network)
if docker_image is not None:
pulumi.set(__self__, "docker_image", docker_image)
if enable_namespaces is not None:
pulumi.set(__self__, "enable_namespaces", enable_namespaces)
if endpoint_spec_swarm is not None:
pulumi.set(__self__, "endpoint_spec_swarm", endpoint_spec_swarm)
if env is not None:
pulumi.set(__self__, "env", env)
if environment_id is not None:
pulumi.set(__self__, "environment_id", environment_id)
if external_admin_port is not None:
pulumi.set(__self__, "external_admin_port", external_admin_port)
if external_grpc_port is not None:
pulumi.set(__self__, "external_grpc_port", external_grpc_port)
if external_port is not None:
pulumi.set(__self__, "external_port", external_port)
if health_check_swarm is not None:
pulumi.set(__self__, "health_check_swarm", health_check_swarm)
if labels_swarm is not None:
pulumi.set(__self__, "labels_swarm", labels_swarm)
if memory_limit is not None:
pulumi.set(__self__, "memory_limit", memory_limit)
if memory_reservation is not None:
pulumi.set(__self__, "memory_reservation", memory_reservation)
if mode_swarm is not None:
pulumi.set(__self__, "mode_swarm", mode_swarm)
if name is not None:
pulumi.set(__self__, "name", name)
if network_ids is not None:
pulumi.set(__self__, "network_ids", network_ids)
if network_swarm is not None:
pulumi.set(__self__, "network_swarm", network_swarm)
if placement_swarm is not None:
pulumi.set(__self__, "placement_swarm", placement_swarm)
if replicas is not None:
pulumi.set(__self__, "replicas", replicas)
if restart_policy_swarm is not None:
pulumi.set(__self__, "restart_policy_swarm", restart_policy_swarm)
if rollback_config_swarm is not None:
pulumi.set(__self__, "rollback_config_swarm", rollback_config_swarm)
if server_id is not None:
pulumi.set(__self__, "server_id", server_id)
if sqld_node is not None:
pulumi.set(__self__, "sqld_node", sqld_node)
if sqld_primary_url is not None:
pulumi.set(__self__, "sqld_primary_url", sqld_primary_url)
if stop_grace_period_swarm is not None:
pulumi.set(__self__, "stop_grace_period_swarm", stop_grace_period_swarm)
if update_config_swarm is not None:
pulumi.set(__self__, "update_config_swarm", update_config_swarm)
@_builtins.property
@pulumi.getter(name="appName")
def app_name(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Unique Docker service name. Generated from `name` when omitted, because Dokploy's libSQL endpoint does not generate one. Changing it forces a new database.
"""
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="applicationStatus")
def application_status(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Current status reported by Dokploy: `idle`, `running`, `done` or `error`.
"""
return pulumi.get(self, "application_status")
@application_status.setter
def application_status(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "application_status", value)
@_builtins.property
@pulumi.getter
def command(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Override the container entrypoint command.
"""
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="cpuLimit")
def cpu_limit(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Hard CPU limit, for example `1`.
"""
return pulumi.get(self, "cpu_limit")
@cpu_limit.setter
def cpu_limit(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "cpu_limit", value)
@_builtins.property
@pulumi.getter(name="cpuReservation")
def cpu_reservation(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Soft CPU reservation, for example `0.5`.
"""
return pulumi.get(self, "cpu_reservation")
@cpu_reservation.setter
def cpu_reservation(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "cpu_reservation", value)
@_builtins.property
@pulumi.getter(name="createdAt")
def created_at(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
RFC 3339 timestamp of when the database 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="databasePassword")
def database_password(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Password for the database user.
"""
return pulumi.get(self, "database_password")
@database_password.setter
def database_password(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "database_password", value)
@_builtins.property
@pulumi.getter(name="databaseUser")
def database_user(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Database user to create.
"""
return pulumi.get(self, "database_user")
@database_user.setter
def database_user(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "database_user", 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(name="detachDokployNetwork")
def detach_dokploy_network(self) -> pulumi.Input[Optional[_builtins.bool]]:
"""
Detach the service from the shared `dokploy-network`.
"""
return pulumi.get(self, "detach_dokploy_network")
@detach_dokploy_network.setter
def detach_dokploy_network(self, value: pulumi.Input[Optional[_builtins.bool]]):
pulumi.set(self, "detach_dokploy_network", value)
@_builtins.property
@pulumi.getter(name="dockerImage")
def docker_image(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
libSQL server image to run, for example `ghcr.io/tursodatabase/libsql-server:latest`.
"""
return pulumi.get(self, "docker_image")
@docker_image.setter
def docker_image(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "docker_image", value)
@_builtins.property
@pulumi.getter(name="enableNamespaces")
def enable_namespaces(self) -> pulumi.Input[Optional[_builtins.bool]]:
"""
Serve multiple logical databases from one instance through libSQL namespaces.
"""
return pulumi.get(self, "enable_namespaces")
@enable_namespaces.setter
def enable_namespaces(self, value: pulumi.Input[Optional[_builtins.bool]]):
pulumi.set(self, "enable_namespaces", value)
@_builtins.property
@pulumi.getter(name="endpointSpecSwarm")
def endpoint_spec_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Docker Swarm endpoint specification, as a JSON object.
"""
return pulumi.get(self, "endpoint_spec_swarm")
@endpoint_spec_swarm.setter
def endpoint_spec_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "endpoint_spec_swarm", value)
@_builtins.property
@pulumi.getter
def env(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Environment variables in `KEY=value` format, one per line.
"""
return pulumi.get(self, "env")
@env.setter
def env(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "env", value)
@_builtins.property
@pulumi.getter(name="environmentId")
def environment_id(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Environment this database belongs to.
"""
return pulumi.get(self, "environment_id")
@environment_id.setter
def environment_id(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "environment_id", value)
@_builtins.property
@pulumi.getter(name="externalAdminPort")
def external_admin_port(self) -> pulumi.Input[Optional[_builtins.int]]:
"""
Host port exposing the admin API.
"""
return pulumi.get(self, "external_admin_port")
@external_admin_port.setter
def external_admin_port(self, value: pulumi.Input[Optional[_builtins.int]]):
pulumi.set(self, "external_admin_port", value)
@_builtins.property
@pulumi.getter(name="externalGrpcPort")
def external_grpc_port(self) -> pulumi.Input[Optional[_builtins.int]]:
"""
Host port exposing the gRPC replication endpoint.
"""
return pulumi.get(self, "external_grpc_port")
@external_grpc_port.setter
def external_grpc_port(self, value: pulumi.Input[Optional[_builtins.int]]):
pulumi.set(self, "external_grpc_port", value)
@_builtins.property
@pulumi.getter(name="externalPort")
def external_port(self) -> pulumi.Input[Optional[_builtins.int]]:
"""
Host port exposing the HTTP API.
"""
return pulumi.get(self, "external_port")
@external_port.setter
def external_port(self, value: pulumi.Input[Optional[_builtins.int]]):
pulumi.set(self, "external_port", value)
@_builtins.property
@pulumi.getter(name="healthCheckSwarm")
def health_check_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Docker Swarm health check configuration, as a JSON object.
"""
return pulumi.get(self, "health_check_swarm")
@health_check_swarm.setter
def health_check_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "health_check_swarm", value)
@_builtins.property
@pulumi.getter(name="labelsSwarm")
def labels_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Docker Swarm service labels, as a JSON object.
"""
return pulumi.get(self, "labels_swarm")
@labels_swarm.setter
def labels_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "labels_swarm", value)
@_builtins.property
@pulumi.getter(name="memoryLimit")
def memory_limit(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Hard memory limit, for example `512m`.
"""
return pulumi.get(self, "memory_limit")
@memory_limit.setter
def memory_limit(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "memory_limit", value)
@_builtins.property
@pulumi.getter(name="memoryReservation")
def memory_reservation(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Soft memory reservation, for example `256m`.
"""
return pulumi.get(self, "memory_reservation")
@memory_reservation.setter
def memory_reservation(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "memory_reservation", value)
@_builtins.property
@pulumi.getter(name="modeSwarm")
def mode_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Docker Swarm service mode, as a JSON object.
"""
return pulumi.get(self, "mode_swarm")
@mode_swarm.setter
def mode_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "mode_swarm", value)
@_builtins.property
@pulumi.getter
def name(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Display name of the database.
"""
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="networkIds")
def network_ids(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]:
"""
IDs of additional Docker networks to attach.
"""
return pulumi.get(self, "network_ids")
@network_ids.setter
def network_ids(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]):
pulumi.set(self, "network_ids", value)
@_builtins.property
@pulumi.getter(name="networkSwarm")
def network_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Docker Swarm network attachments, as a JSON array.
"""
return pulumi.get(self, "network_swarm")
@network_swarm.setter
def network_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "network_swarm", value)
@_builtins.property
@pulumi.getter(name="placementSwarm")
def placement_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Docker Swarm placement constraints, as a JSON object.
"""
return pulumi.get(self, "placement_swarm")
@placement_swarm.setter
def placement_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "placement_swarm", value)
@_builtins.property
@pulumi.getter
def replicas(self) -> pulumi.Input[Optional[_builtins.int]]:
"""
Number of replicas to run.
"""
return pulumi.get(self, "replicas")
@replicas.setter
def replicas(self, value: pulumi.Input[Optional[_builtins.int]]):
pulumi.set(self, "replicas", value)
@_builtins.property
@pulumi.getter(name="restartPolicySwarm")
def restart_policy_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Docker Swarm restart policy, as a JSON object.
"""
return pulumi.get(self, "restart_policy_swarm")
@restart_policy_swarm.setter
def restart_policy_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "restart_policy_swarm", value)
@_builtins.property
@pulumi.getter(name="rollbackConfigSwarm")
def rollback_config_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Docker Swarm rollback configuration, as a JSON object.
"""
return pulumi.get(self, "rollback_config_swarm")
@rollback_config_swarm.setter
def rollback_config_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "rollback_config_swarm", value)
@_builtins.property
@pulumi.getter(name="serverId")
def server_id(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Remote server to deploy 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)
@_builtins.property
@pulumi.getter(name="sqldNode")
def sqld_node(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Role this node plays in a libSQL cluster. Valid values: `primary`, `replica`. Defaults to `primary`.
"""
return pulumi.get(self, "sqld_node")
@sqld_node.setter
def sqld_node(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "sqld_node", value)
@_builtins.property
@pulumi.getter(name="sqldPrimaryUrl")
def sqld_primary_url(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
URL of the primary node, when `sqld_node` is `replica`.
"""
return pulumi.get(self, "sqld_primary_url")
@sqld_primary_url.setter
def sqld_primary_url(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "sqld_primary_url", value)
@_builtins.property
@pulumi.getter(name="stopGracePeriodSwarm")
def stop_grace_period_swarm(self) -> pulumi.Input[Optional[_builtins.int]]:
"""
Grace period in nanoseconds before a container is killed.
"""
return pulumi.get(self, "stop_grace_period_swarm")
@stop_grace_period_swarm.setter
def stop_grace_period_swarm(self, value: pulumi.Input[Optional[_builtins.int]]):
pulumi.set(self, "stop_grace_period_swarm", value)
@_builtins.property
@pulumi.getter(name="updateConfigSwarm")
def update_config_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Docker Swarm rolling update configuration, as a JSON object.
"""
return pulumi.get(self, "update_config_swarm")
@update_config_swarm.setter
def update_config_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "update_config_swarm", value)
@pulumi.type_token("dokploy:index/libsql:Libsql")
class Libsql(pulumi.CustomResource):
@overload
def __init__(__self__,
resource_name: str,
opts: Optional[pulumi.ResourceOptions] = None,
app_name: pulumi.Input[Optional[_builtins.str]] = None,
command: pulumi.Input[Optional[_builtins.str]] = None,
cpu_limit: pulumi.Input[Optional[_builtins.str]] = None,
cpu_reservation: pulumi.Input[Optional[_builtins.str]] = None,
database_password: pulumi.Input[Optional[_builtins.str]] = None,
database_user: pulumi.Input[Optional[_builtins.str]] = None,
description: pulumi.Input[Optional[_builtins.str]] = None,
detach_dokploy_network: pulumi.Input[Optional[_builtins.bool]] = None,
docker_image: pulumi.Input[Optional[_builtins.str]] = None,
enable_namespaces: pulumi.Input[Optional[_builtins.bool]] = None,
endpoint_spec_swarm: pulumi.Input[Optional[_builtins.str]] = None,
env: pulumi.Input[Optional[_builtins.str]] = None,
environment_id: pulumi.Input[Optional[_builtins.str]] = None,
external_admin_port: pulumi.Input[Optional[_builtins.int]] = None,
external_grpc_port: pulumi.Input[Optional[_builtins.int]] = None,
external_port: pulumi.Input[Optional[_builtins.int]] = None,
health_check_swarm: pulumi.Input[Optional[_builtins.str]] = None,
labels_swarm: pulumi.Input[Optional[_builtins.str]] = None,
memory_limit: pulumi.Input[Optional[_builtins.str]] = None,
memory_reservation: pulumi.Input[Optional[_builtins.str]] = None,
mode_swarm: pulumi.Input[Optional[_builtins.str]] = None,
name: pulumi.Input[Optional[_builtins.str]] = None,
network_ids: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None,
network_swarm: pulumi.Input[Optional[_builtins.str]] = None,
placement_swarm: pulumi.Input[Optional[_builtins.str]] = None,
replicas: pulumi.Input[Optional[_builtins.int]] = None,
restart_policy_swarm: pulumi.Input[Optional[_builtins.str]] = None,
rollback_config_swarm: pulumi.Input[Optional[_builtins.str]] = None,
server_id: pulumi.Input[Optional[_builtins.str]] = None,
sqld_node: pulumi.Input[Optional[_builtins.str]] = None,
sqld_primary_url: pulumi.Input[Optional[_builtins.str]] = None,
stop_grace_period_swarm: pulumi.Input[Optional[_builtins.int]] = None,
update_config_swarm: pulumi.Input[Optional[_builtins.str]] = None,
__props__=None):
"""
A managed libSQL instance running on Dokploy.
> Creating this resource provisions the service definition but does **not** start a deployment. Deploy it from the Dokploy UI or CLI.
> Credentials are stored in Terraform state. Use a state backend with encryption at rest.
libSQL runs as a `sqld` server. A `primary` node owns the data; a `replica` node follows a primary named by `sqld_primary_url`.
:param str resource_name: The name of the resource.
:param pulumi.ResourceOptions opts: Options for the resource.
:param pulumi.Input[_builtins.str] app_name: Unique Docker service name. Generated from `name` when omitted, because Dokploy's libSQL endpoint does not generate one. Changing it forces a new database.
:param pulumi.Input[_builtins.str] command: Override the container entrypoint command.
:param pulumi.Input[_builtins.str] cpu_limit: Hard CPU limit, for example `1`.
:param pulumi.Input[_builtins.str] cpu_reservation: Soft CPU reservation, for example `0.5`.
:param pulumi.Input[_builtins.str] database_password: Password for the database user.
:param pulumi.Input[_builtins.str] database_user: Database user to create.
:param pulumi.Input[_builtins.str] description: Free-form description.
:param pulumi.Input[_builtins.bool] detach_dokploy_network: Detach the service from the shared `dokploy-network`.
:param pulumi.Input[_builtins.str] docker_image: libSQL server image to run, for example `ghcr.io/tursodatabase/libsql-server:latest`.
:param pulumi.Input[_builtins.bool] enable_namespaces: Serve multiple logical databases from one instance through libSQL namespaces.
:param pulumi.Input[_builtins.str] endpoint_spec_swarm: Docker Swarm endpoint specification, as a JSON object.
:param pulumi.Input[_builtins.str] env: Environment variables in `KEY=value` format, one per line.
:param pulumi.Input[_builtins.str] environment_id: Environment this database belongs to.
:param pulumi.Input[_builtins.int] external_admin_port: Host port exposing the admin API.
:param pulumi.Input[_builtins.int] external_grpc_port: Host port exposing the gRPC replication endpoint.
:param pulumi.Input[_builtins.int] external_port: Host port exposing the HTTP API.
:param pulumi.Input[_builtins.str] health_check_swarm: Docker Swarm health check configuration, as a JSON object.
:param pulumi.Input[_builtins.str] labels_swarm: Docker Swarm service labels, as a JSON object.
:param pulumi.Input[_builtins.str] memory_limit: Hard memory limit, for example `512m`.
:param pulumi.Input[_builtins.str] memory_reservation: Soft memory reservation, for example `256m`.
:param pulumi.Input[_builtins.str] mode_swarm: Docker Swarm service mode, as a JSON object.
:param pulumi.Input[_builtins.str] name: Display name of the database.
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] network_ids: IDs of additional Docker networks to attach.
:param pulumi.Input[_builtins.str] network_swarm: Docker Swarm network attachments, as a JSON array.
:param pulumi.Input[_builtins.str] placement_swarm: Docker Swarm placement constraints, as a JSON object.
:param pulumi.Input[_builtins.int] replicas: Number of replicas to run.
:param pulumi.Input[_builtins.str] restart_policy_swarm: Docker Swarm restart policy, as a JSON object.
:param pulumi.Input[_builtins.str] rollback_config_swarm: Docker Swarm rollback configuration, as a JSON object.
:param pulumi.Input[_builtins.str] server_id: Remote server to deploy on. Omit to use the Dokploy host itself.
:param pulumi.Input[_builtins.str] sqld_node: Role this node plays in a libSQL cluster. Valid values: `primary`, `replica`. Defaults to `primary`.
:param pulumi.Input[_builtins.str] sqld_primary_url: URL of the primary node, when `sqld_node` is `replica`.
:param pulumi.Input[_builtins.int] stop_grace_period_swarm: Grace period in nanoseconds before a container is killed.
:param pulumi.Input[_builtins.str] update_config_swarm: Docker Swarm rolling update configuration, as a JSON object.
"""
...
@overload
def __init__(__self__,
resource_name: str,
args: LibsqlArgs,
opts: Optional[pulumi.ResourceOptions] = None):
"""
A managed libSQL instance running on Dokploy.
> Creating this resource provisions the service definition but does **not** start a deployment. Deploy it from the Dokploy UI or CLI.
> Credentials are stored in Terraform state. Use a state backend with encryption at rest.
libSQL runs as a `sqld` server. A `primary` node owns the data; a `replica` node follows a primary named by `sqld_primary_url`.
:param str resource_name: The name of the resource.
:param LibsqlArgs 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(LibsqlArgs, 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,
command: pulumi.Input[Optional[_builtins.str]] = None,
cpu_limit: pulumi.Input[Optional[_builtins.str]] = None,
cpu_reservation: pulumi.Input[Optional[_builtins.str]] = None,
database_password: pulumi.Input[Optional[_builtins.str]] = None,
database_user: pulumi.Input[Optional[_builtins.str]] = None,
description: pulumi.Input[Optional[_builtins.str]] = None,
detach_dokploy_network: pulumi.Input[Optional[_builtins.bool]] = None,
docker_image: pulumi.Input[Optional[_builtins.str]] = None,
enable_namespaces: pulumi.Input[Optional[_builtins.bool]] = None,
endpoint_spec_swarm: pulumi.Input[Optional[_builtins.str]] = None,
env: pulumi.Input[Optional[_builtins.str]] = None,
environment_id: pulumi.Input[Optional[_builtins.str]] = None,
external_admin_port: pulumi.Input[Optional[_builtins.int]] = None,
external_grpc_port: pulumi.Input[Optional[_builtins.int]] = None,
external_port: pulumi.Input[Optional[_builtins.int]] = None,
health_check_swarm: pulumi.Input[Optional[_builtins.str]] = None,
labels_swarm: pulumi.Input[Optional[_builtins.str]] = None,
memory_limit: pulumi.Input[Optional[_builtins.str]] = None,
memory_reservation: pulumi.Input[Optional[_builtins.str]] = None,
mode_swarm: pulumi.Input[Optional[_builtins.str]] = None,
name: pulumi.Input[Optional[_builtins.str]] = None,
network_ids: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None,
network_swarm: pulumi.Input[Optional[_builtins.str]] = None,
placement_swarm: pulumi.Input[Optional[_builtins.str]] = None,
replicas: pulumi.Input[Optional[_builtins.int]] = None,
restart_policy_swarm: pulumi.Input[Optional[_builtins.str]] = None,
rollback_config_swarm: pulumi.Input[Optional[_builtins.str]] = None,
server_id: pulumi.Input[Optional[_builtins.str]] = None,
sqld_node: pulumi.Input[Optional[_builtins.str]] = None,
sqld_primary_url: pulumi.Input[Optional[_builtins.str]] = None,
stop_grace_period_swarm: pulumi.Input[Optional[_builtins.int]] = None,
update_config_swarm: 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__ = LibsqlArgs.__new__(LibsqlArgs)
__props__.__dict__["app_name"] = app_name
__props__.__dict__["command"] = command
__props__.__dict__["cpu_limit"] = cpu_limit
__props__.__dict__["cpu_reservation"] = cpu_reservation
if database_password is None and not opts.urn:
raise TypeError("Missing required property 'database_password'")
__props__.__dict__["database_password"] = None if database_password is None else pulumi.Output.secret(database_password)
if database_user is None and not opts.urn:
raise TypeError("Missing required property 'database_user'")
__props__.__dict__["database_user"] = database_user
__props__.__dict__["description"] = description
__props__.__dict__["detach_dokploy_network"] = detach_dokploy_network
if docker_image is None and not opts.urn:
raise TypeError("Missing required property 'docker_image'")
__props__.__dict__["docker_image"] = docker_image
__props__.__dict__["enable_namespaces"] = enable_namespaces
__props__.__dict__["endpoint_spec_swarm"] = endpoint_spec_swarm
__props__.__dict__["env"] = env
if environment_id is None and not opts.urn:
raise TypeError("Missing required property 'environment_id'")
__props__.__dict__["environment_id"] = environment_id
__props__.__dict__["external_admin_port"] = external_admin_port
__props__.__dict__["external_grpc_port"] = external_grpc_port
__props__.__dict__["external_port"] = external_port
__props__.__dict__["health_check_swarm"] = health_check_swarm
__props__.__dict__["labels_swarm"] = labels_swarm
__props__.__dict__["memory_limit"] = memory_limit
__props__.__dict__["memory_reservation"] = memory_reservation
__props__.__dict__["mode_swarm"] = mode_swarm
__props__.__dict__["name"] = name
__props__.__dict__["network_ids"] = network_ids
__props__.__dict__["network_swarm"] = network_swarm
__props__.__dict__["placement_swarm"] = placement_swarm
__props__.__dict__["replicas"] = replicas
__props__.__dict__["restart_policy_swarm"] = restart_policy_swarm
__props__.__dict__["rollback_config_swarm"] = rollback_config_swarm
__props__.__dict__["server_id"] = server_id
__props__.__dict__["sqld_node"] = sqld_node
__props__.__dict__["sqld_primary_url"] = sqld_primary_url
__props__.__dict__["stop_grace_period_swarm"] = stop_grace_period_swarm
__props__.__dict__["update_config_swarm"] = update_config_swarm
__props__.__dict__["application_status"] = None
__props__.__dict__["created_at"] = None
secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["databasePassword"])
opts = pulumi.ResourceOptions.merge(opts, secret_opts)
super(Libsql, __self__).__init__(
'dokploy:index/libsql:Libsql',
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_status: pulumi.Input[Optional[_builtins.str]] = None,
command: pulumi.Input[Optional[_builtins.str]] = None,
cpu_limit: pulumi.Input[Optional[_builtins.str]] = None,
cpu_reservation: pulumi.Input[Optional[_builtins.str]] = None,
created_at: pulumi.Input[Optional[_builtins.str]] = None,
database_password: pulumi.Input[Optional[_builtins.str]] = None,
database_user: pulumi.Input[Optional[_builtins.str]] = None,
description: pulumi.Input[Optional[_builtins.str]] = None,
detach_dokploy_network: pulumi.Input[Optional[_builtins.bool]] = None,
docker_image: pulumi.Input[Optional[_builtins.str]] = None,
enable_namespaces: pulumi.Input[Optional[_builtins.bool]] = None,
endpoint_spec_swarm: pulumi.Input[Optional[_builtins.str]] = None,
env: pulumi.Input[Optional[_builtins.str]] = None,
environment_id: pulumi.Input[Optional[_builtins.str]] = None,
external_admin_port: pulumi.Input[Optional[_builtins.int]] = None,
external_grpc_port: pulumi.Input[Optional[_builtins.int]] = None,
external_port: pulumi.Input[Optional[_builtins.int]] = None,
health_check_swarm: pulumi.Input[Optional[_builtins.str]] = None,
labels_swarm: pulumi.Input[Optional[_builtins.str]] = None,
memory_limit: pulumi.Input[Optional[_builtins.str]] = None,
memory_reservation: pulumi.Input[Optional[_builtins.str]] = None,
mode_swarm: pulumi.Input[Optional[_builtins.str]] = None,
name: pulumi.Input[Optional[_builtins.str]] = None,
network_ids: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None,
network_swarm: pulumi.Input[Optional[_builtins.str]] = None,
placement_swarm: pulumi.Input[Optional[_builtins.str]] = None,
replicas: pulumi.Input[Optional[_builtins.int]] = None,
restart_policy_swarm: pulumi.Input[Optional[_builtins.str]] = None,
rollback_config_swarm: pulumi.Input[Optional[_builtins.str]] = None,
server_id: pulumi.Input[Optional[_builtins.str]] = None,
sqld_node: pulumi.Input[Optional[_builtins.str]] = None,
sqld_primary_url: pulumi.Input[Optional[_builtins.str]] = None,
stop_grace_period_swarm: pulumi.Input[Optional[_builtins.int]] = None,
update_config_swarm: pulumi.Input[Optional[_builtins.str]] = None) -> 'Libsql':
"""
Get an existing Libsql 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: Unique Docker service name. Generated from `name` when omitted, because Dokploy's libSQL endpoint does not generate one. Changing it forces a new database.
:param pulumi.Input[_builtins.str] application_status: Current status reported by Dokploy: `idle`, `running`, `done` or `error`.
:param pulumi.Input[_builtins.str] command: Override the container entrypoint command.
:param pulumi.Input[_builtins.str] cpu_limit: Hard CPU limit, for example `1`.
:param pulumi.Input[_builtins.str] cpu_reservation: Soft CPU reservation, for example `0.5`.
:param pulumi.Input[_builtins.str] created_at: RFC 3339 timestamp of when the database was created.
:param pulumi.Input[_builtins.str] database_password: Password for the database user.
:param pulumi.Input[_builtins.str] database_user: Database user to create.
:param pulumi.Input[_builtins.str] description: Free-form description.
:param pulumi.Input[_builtins.bool] detach_dokploy_network: Detach the service from the shared `dokploy-network`.
:param pulumi.Input[_builtins.str] docker_image: libSQL server image to run, for example `ghcr.io/tursodatabase/libsql-server:latest`.
:param pulumi.Input[_builtins.bool] enable_namespaces: Serve multiple logical databases from one instance through libSQL namespaces.
:param pulumi.Input[_builtins.str] endpoint_spec_swarm: Docker Swarm endpoint specification, as a JSON object.
:param pulumi.Input[_builtins.str] env: Environment variables in `KEY=value` format, one per line.
:param pulumi.Input[_builtins.str] environment_id: Environment this database belongs to.
:param pulumi.Input[_builtins.int] external_admin_port: Host port exposing the admin API.
:param pulumi.Input[_builtins.int] external_grpc_port: Host port exposing the gRPC replication endpoint.
:param pulumi.Input[_builtins.int] external_port: Host port exposing the HTTP API.
:param pulumi.Input[_builtins.str] health_check_swarm: Docker Swarm health check configuration, as a JSON object.
:param pulumi.Input[_builtins.str] labels_swarm: Docker Swarm service labels, as a JSON object.
:param pulumi.Input[_builtins.str] memory_limit: Hard memory limit, for example `512m`.
:param pulumi.Input[_builtins.str] memory_reservation: Soft memory reservation, for example `256m`.
:param pulumi.Input[_builtins.str] mode_swarm: Docker Swarm service mode, as a JSON object.
:param pulumi.Input[_builtins.str] name: Display name of the database.
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] network_ids: IDs of additional Docker networks to attach.
:param pulumi.Input[_builtins.str] network_swarm: Docker Swarm network attachments, as a JSON array.
:param pulumi.Input[_builtins.str] placement_swarm: Docker Swarm placement constraints, as a JSON object.
:param pulumi.Input[_builtins.int] replicas: Number of replicas to run.
:param pulumi.Input[_builtins.str] restart_policy_swarm: Docker Swarm restart policy, as a JSON object.
:param pulumi.Input[_builtins.str] rollback_config_swarm: Docker Swarm rollback configuration, as a JSON object.
:param pulumi.Input[_builtins.str] server_id: Remote server to deploy on. Omit to use the Dokploy host itself.
:param pulumi.Input[_builtins.str] sqld_node: Role this node plays in a libSQL cluster. Valid values: `primary`, `replica`. Defaults to `primary`.
:param pulumi.Input[_builtins.str] sqld_primary_url: URL of the primary node, when `sqld_node` is `replica`.
:param pulumi.Input[_builtins.int] stop_grace_period_swarm: Grace period in nanoseconds before a container is killed.
:param pulumi.Input[_builtins.str] update_config_swarm: Docker Swarm rolling update configuration, as a JSON object.
"""
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
__props__ = _LibsqlState.__new__(_LibsqlState)
__props__.__dict__["app_name"] = app_name
__props__.__dict__["application_status"] = application_status
__props__.__dict__["command"] = command
__props__.__dict__["cpu_limit"] = cpu_limit
__props__.__dict__["cpu_reservation"] = cpu_reservation
__props__.__dict__["created_at"] = created_at
__props__.__dict__["database_password"] = database_password
__props__.__dict__["database_user"] = database_user
__props__.__dict__["description"] = description
__props__.__dict__["detach_dokploy_network"] = detach_dokploy_network
__props__.__dict__["docker_image"] = docker_image
__props__.__dict__["enable_namespaces"] = enable_namespaces
__props__.__dict__["endpoint_spec_swarm"] = endpoint_spec_swarm
__props__.__dict__["env"] = env
__props__.__dict__["environment_id"] = environment_id
__props__.__dict__["external_admin_port"] = external_admin_port
__props__.__dict__["external_grpc_port"] = external_grpc_port
__props__.__dict__["external_port"] = external_port
__props__.__dict__["health_check_swarm"] = health_check_swarm
__props__.__dict__["labels_swarm"] = labels_swarm
__props__.__dict__["memory_limit"] = memory_limit
__props__.__dict__["memory_reservation"] = memory_reservation
__props__.__dict__["mode_swarm"] = mode_swarm
__props__.__dict__["name"] = name
__props__.__dict__["network_ids"] = network_ids
__props__.__dict__["network_swarm"] = network_swarm
__props__.__dict__["placement_swarm"] = placement_swarm
__props__.__dict__["replicas"] = replicas
__props__.__dict__["restart_policy_swarm"] = restart_policy_swarm
__props__.__dict__["rollback_config_swarm"] = rollback_config_swarm
__props__.__dict__["server_id"] = server_id
__props__.__dict__["sqld_node"] = sqld_node
__props__.__dict__["sqld_primary_url"] = sqld_primary_url
__props__.__dict__["stop_grace_period_swarm"] = stop_grace_period_swarm
__props__.__dict__["update_config_swarm"] = update_config_swarm
return Libsql(resource_name, opts=opts, __props__=__props__)
@_builtins.property
@pulumi.getter(name="appName")
def app_name(self) -> pulumi.Output[_builtins.str]:
"""
Unique Docker service name. Generated from `name` when omitted, because Dokploy's libSQL endpoint does not generate one. Changing it forces a new database.
"""
return pulumi.get(self, "app_name")
@_builtins.property
@pulumi.getter(name="applicationStatus")
def application_status(self) -> pulumi.Output[_builtins.str]:
"""
Current status reported by Dokploy: `idle`, `running`, `done` or `error`.
"""
return pulumi.get(self, "application_status")
@_builtins.property
@pulumi.getter
def command(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
Override the container entrypoint command.
"""
return pulumi.get(self, "command")
@_builtins.property
@pulumi.getter(name="cpuLimit")
def cpu_limit(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
Hard CPU limit, for example `1`.
"""
return pulumi.get(self, "cpu_limit")
@_builtins.property
@pulumi.getter(name="cpuReservation")
def cpu_reservation(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
Soft CPU reservation, for example `0.5`.
"""
return pulumi.get(self, "cpu_reservation")
@_builtins.property
@pulumi.getter(name="createdAt")
def created_at(self) -> pulumi.Output[_builtins.str]:
"""
RFC 3339 timestamp of when the database was created.
"""
return pulumi.get(self, "created_at")
@_builtins.property
@pulumi.getter(name="databasePassword")
def database_password(self) -> pulumi.Output[_builtins.str]:
"""
Password for the database user.
"""
return pulumi.get(self, "database_password")
@_builtins.property
@pulumi.getter(name="databaseUser")
def database_user(self) -> pulumi.Output[_builtins.str]:
"""
Database user to create.
"""
return pulumi.get(self, "database_user")
@_builtins.property
@pulumi.getter
def description(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
Free-form description.
"""
return pulumi.get(self, "description")
@_builtins.property
@pulumi.getter(name="detachDokployNetwork")
def detach_dokploy_network(self) -> pulumi.Output[_builtins.bool]:
"""
Detach the service from the shared `dokploy-network`.
"""
return pulumi.get(self, "detach_dokploy_network")
@_builtins.property
@pulumi.getter(name="dockerImage")
def docker_image(self) -> pulumi.Output[_builtins.str]:
"""
libSQL server image to run, for example `ghcr.io/tursodatabase/libsql-server:latest`.
"""
return pulumi.get(self, "docker_image")
@_builtins.property
@pulumi.getter(name="enableNamespaces")
def enable_namespaces(self) -> pulumi.Output[_builtins.bool]:
"""
Serve multiple logical databases from one instance through libSQL namespaces.
"""
return pulumi.get(self, "enable_namespaces")
@_builtins.property
@pulumi.getter(name="endpointSpecSwarm")
def endpoint_spec_swarm(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
Docker Swarm endpoint specification, as a JSON object.
"""
return pulumi.get(self, "endpoint_spec_swarm")
@_builtins.property
@pulumi.getter
def env(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
Environment variables in `KEY=value` format, one per line.
"""
return pulumi.get(self, "env")
@_builtins.property
@pulumi.getter(name="environmentId")
def environment_id(self) -> pulumi.Output[_builtins.str]:
"""
Environment this database belongs to.
"""
return pulumi.get(self, "environment_id")
@_builtins.property
@pulumi.getter(name="externalAdminPort")
def external_admin_port(self) -> pulumi.Output[Optional[_builtins.int]]:
"""
Host port exposing the admin API.
"""
return pulumi.get(self, "external_admin_port")
@_builtins.property
@pulumi.getter(name="externalGrpcPort")
def external_grpc_port(self) -> pulumi.Output[Optional[_builtins.int]]:
"""
Host port exposing the gRPC replication endpoint.
"""
return pulumi.get(self, "external_grpc_port")
@_builtins.property
@pulumi.getter(name="externalPort")
def external_port(self) -> pulumi.Output[Optional[_builtins.int]]:
"""
Host port exposing the HTTP API.
"""
return pulumi.get(self, "external_port")
@_builtins.property
@pulumi.getter(name="healthCheckSwarm")
def health_check_swarm(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
Docker Swarm health check configuration, as a JSON object.
"""
return pulumi.get(self, "health_check_swarm")
@_builtins.property
@pulumi.getter(name="labelsSwarm")
def labels_swarm(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
Docker Swarm service labels, as a JSON object.
"""
return pulumi.get(self, "labels_swarm")
@_builtins.property
@pulumi.getter(name="memoryLimit")
def memory_limit(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
Hard memory limit, for example `512m`.
"""
return pulumi.get(self, "memory_limit")
@_builtins.property
@pulumi.getter(name="memoryReservation")
def memory_reservation(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
Soft memory reservation, for example `256m`.
"""
return pulumi.get(self, "memory_reservation")
@_builtins.property
@pulumi.getter(name="modeSwarm")
def mode_swarm(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
Docker Swarm service mode, as a JSON object.
"""
return pulumi.get(self, "mode_swarm")
@_builtins.property
@pulumi.getter
def name(self) -> pulumi.Output[_builtins.str]:
"""
Display name of the database.
"""
return pulumi.get(self, "name")
@_builtins.property
@pulumi.getter(name="networkIds")
def network_ids(self) -> pulumi.Output[Sequence[_builtins.str]]:
"""
IDs of additional Docker networks to attach.
"""
return pulumi.get(self, "network_ids")
@_builtins.property
@pulumi.getter(name="networkSwarm")
def network_swarm(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
Docker Swarm network attachments, as a JSON array.
"""
return pulumi.get(self, "network_swarm")
@_builtins.property
@pulumi.getter(name="placementSwarm")
def placement_swarm(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
Docker Swarm placement constraints, as a JSON object.
"""
return pulumi.get(self, "placement_swarm")
@_builtins.property
@pulumi.getter
def replicas(self) -> pulumi.Output[_builtins.int]:
"""
Number of replicas to run.
"""
return pulumi.get(self, "replicas")
@_builtins.property
@pulumi.getter(name="restartPolicySwarm")
def restart_policy_swarm(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
Docker Swarm restart policy, as a JSON object.
"""
return pulumi.get(self, "restart_policy_swarm")
@_builtins.property
@pulumi.getter(name="rollbackConfigSwarm")
def rollback_config_swarm(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
Docker Swarm rollback configuration, as a JSON object.
"""
return pulumi.get(self, "rollback_config_swarm")
@_builtins.property
@pulumi.getter(name="serverId")
def server_id(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
Remote server to deploy on. Omit to use the Dokploy host itself.
"""
return pulumi.get(self, "server_id")
@_builtins.property
@pulumi.getter(name="sqldNode")
def sqld_node(self) -> pulumi.Output[_builtins.str]:
"""
Role this node plays in a libSQL cluster. Valid values: `primary`, `replica`. Defaults to `primary`.
"""
return pulumi.get(self, "sqld_node")
@_builtins.property
@pulumi.getter(name="sqldPrimaryUrl")
def sqld_primary_url(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
URL of the primary node, when `sqld_node` is `replica`.
"""
return pulumi.get(self, "sqld_primary_url")
@_builtins.property
@pulumi.getter(name="stopGracePeriodSwarm")
def stop_grace_period_swarm(self) -> pulumi.Output[Optional[_builtins.int]]:
"""
Grace period in nanoseconds before a container is killed.
"""
return pulumi.get(self, "stop_grace_period_swarm")
@_builtins.property
@pulumi.getter(name="updateConfigSwarm")
def update_config_swarm(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
Docker Swarm rolling update configuration, as a JSON object.
"""
return pulumi.get(self, "update_config_swarm")