Files
Max Vojtkov bb3c15135b Bridge terraform-provider-dokploy into a Pulumi provider
18 resources and 5 data sources mapped into the dokploy:index module, with
SDKs generated for TypeScript, Python, Go and .NET.
2026-08-08 15:28:16 +03:00

1531 lines
71 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__ = ['RedisArgs', 'Redis']
@pulumi.input_type
class RedisArgs:
def __init__(__self__, *,
database_password: pulumi.Input[_builtins.str],
docker_image: pulumi.Input[_builtins.str],
environment_id: pulumi.Input[_builtins.str],
app_name: Optional[pulumi.Input[_builtins.str]] = None,
args: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
command: Optional[pulumi.Input[_builtins.str]] = None,
cpu_limit: Optional[pulumi.Input[_builtins.str]] = None,
cpu_reservation: Optional[pulumi.Input[_builtins.str]] = None,
description: Optional[pulumi.Input[_builtins.str]] = None,
detach_dokploy_network: Optional[pulumi.Input[_builtins.bool]] = None,
endpoint_spec_swarm: Optional[pulumi.Input[_builtins.str]] = None,
env: Optional[pulumi.Input[_builtins.str]] = None,
external_port: Optional[pulumi.Input[_builtins.int]] = None,
health_check_swarm: Optional[pulumi.Input[_builtins.str]] = None,
labels_swarm: Optional[pulumi.Input[_builtins.str]] = None,
memory_limit: Optional[pulumi.Input[_builtins.str]] = None,
memory_reservation: Optional[pulumi.Input[_builtins.str]] = None,
mode_swarm: Optional[pulumi.Input[_builtins.str]] = None,
name: Optional[pulumi.Input[_builtins.str]] = None,
network_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
network_swarm: Optional[pulumi.Input[_builtins.str]] = None,
placement_swarm: Optional[pulumi.Input[_builtins.str]] = None,
replicas: Optional[pulumi.Input[_builtins.int]] = None,
restart_policy_swarm: Optional[pulumi.Input[_builtins.str]] = None,
rollback_config_swarm: Optional[pulumi.Input[_builtins.str]] = None,
server_id: Optional[pulumi.Input[_builtins.str]] = None,
stop_grace_period_swarm: Optional[pulumi.Input[_builtins.int]] = None,
ulimits_swarm: Optional[pulumi.Input[_builtins.str]] = None,
update_config_swarm: Optional[pulumi.Input[_builtins.str]] = None):
"""
The set of arguments for constructing a Redis resource.
:param pulumi.Input[_builtins.str] database_password: Password used to authenticate to Redis.
:param pulumi.Input[_builtins.str] docker_image: Redis image to run, for example `redis:7`.
:param pulumi.Input[_builtins.str] environment_id: Environment this database belongs to.
:param pulumi.Input[_builtins.str] app_name: Unique Docker service name. Generated by Dokploy when omitted. Changing it forces a new database.
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] args: Arguments appended to the container command.
: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.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_port: Host port to expose the database on. Leave unset to keep the database reachable only from inside the Docker network.
: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.int] stop_grace_period_swarm: Grace period in nanoseconds before a container is killed.
:param pulumi.Input[_builtins.str] ulimits_swarm: Docker Swarm ulimits, as a JSON object.
: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__, "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 args is not None:
pulumi.set(__self__, "args", args)
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 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_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 stop_grace_period_swarm is not None:
pulumi.set(__self__, "stop_grace_period_swarm", stop_grace_period_swarm)
if ulimits_swarm is not None:
pulumi.set(__self__, "ulimits_swarm", ulimits_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 used to authenticate to Redis.
"""
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="dockerImage")
def docker_image(self) -> pulumi.Input[_builtins.str]:
"""
Redis image to run, for example `redis:7`.
"""
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) -> Optional[pulumi.Input[_builtins.str]]:
"""
Unique Docker service name. Generated by Dokploy when omitted. Changing it forces a new database.
"""
return pulumi.get(self, "app_name")
@app_name.setter
def app_name(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "app_name", value)
@_builtins.property
@pulumi.getter
def args(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
"""
Arguments appended to the container command.
"""
return pulumi.get(self, "args")
@args.setter
def args(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
pulumi.set(self, "args", value)
@_builtins.property
@pulumi.getter
def command(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Override the container entrypoint command.
"""
return pulumi.get(self, "command")
@command.setter
def command(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "command", value)
@_builtins.property
@pulumi.getter(name="cpuLimit")
def cpu_limit(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Hard CPU limit, for example `1`.
"""
return pulumi.get(self, "cpu_limit")
@cpu_limit.setter
def cpu_limit(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "cpu_limit", value)
@_builtins.property
@pulumi.getter(name="cpuReservation")
def cpu_reservation(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Soft CPU reservation, for example `0.5`.
"""
return pulumi.get(self, "cpu_reservation")
@cpu_reservation.setter
def cpu_reservation(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "cpu_reservation", value)
@_builtins.property
@pulumi.getter
def description(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Free-form description.
"""
return pulumi.get(self, "description")
@description.setter
def description(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "description", value)
@_builtins.property
@pulumi.getter(name="detachDokployNetwork")
def detach_dokploy_network(self) -> Optional[pulumi.Input[_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: Optional[pulumi.Input[_builtins.bool]]):
pulumi.set(self, "detach_dokploy_network", value)
@_builtins.property
@pulumi.getter(name="endpointSpecSwarm")
def endpoint_spec_swarm(self) -> Optional[pulumi.Input[_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: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "endpoint_spec_swarm", value)
@_builtins.property
@pulumi.getter
def env(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Environment variables in `KEY=value` format, one per line.
"""
return pulumi.get(self, "env")
@env.setter
def env(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "env", value)
@_builtins.property
@pulumi.getter(name="externalPort")
def external_port(self) -> Optional[pulumi.Input[_builtins.int]]:
"""
Host port to expose the database on. Leave unset to keep the database reachable only from inside the Docker network.
"""
return pulumi.get(self, "external_port")
@external_port.setter
def external_port(self, value: Optional[pulumi.Input[_builtins.int]]):
pulumi.set(self, "external_port", value)
@_builtins.property
@pulumi.getter(name="healthCheckSwarm")
def health_check_swarm(self) -> Optional[pulumi.Input[_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: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "health_check_swarm", value)
@_builtins.property
@pulumi.getter(name="labelsSwarm")
def labels_swarm(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Docker Swarm service labels, as a JSON object.
"""
return pulumi.get(self, "labels_swarm")
@labels_swarm.setter
def labels_swarm(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "labels_swarm", value)
@_builtins.property
@pulumi.getter(name="memoryLimit")
def memory_limit(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Hard memory limit, for example `512m`.
"""
return pulumi.get(self, "memory_limit")
@memory_limit.setter
def memory_limit(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "memory_limit", value)
@_builtins.property
@pulumi.getter(name="memoryReservation")
def memory_reservation(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Soft memory reservation, for example `256m`.
"""
return pulumi.get(self, "memory_reservation")
@memory_reservation.setter
def memory_reservation(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "memory_reservation", value)
@_builtins.property
@pulumi.getter(name="modeSwarm")
def mode_swarm(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Docker Swarm service mode, as a JSON object.
"""
return pulumi.get(self, "mode_swarm")
@mode_swarm.setter
def mode_swarm(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "mode_swarm", value)
@_builtins.property
@pulumi.getter
def name(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Display name of the database.
"""
return pulumi.get(self, "name")
@name.setter
def name(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "name", value)
@_builtins.property
@pulumi.getter(name="networkIds")
def network_ids(self) -> Optional[pulumi.Input[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: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
pulumi.set(self, "network_ids", value)
@_builtins.property
@pulumi.getter(name="networkSwarm")
def network_swarm(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Docker Swarm network attachments, as a JSON array.
"""
return pulumi.get(self, "network_swarm")
@network_swarm.setter
def network_swarm(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "network_swarm", value)
@_builtins.property
@pulumi.getter(name="placementSwarm")
def placement_swarm(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Docker Swarm placement constraints, as a JSON object.
"""
return pulumi.get(self, "placement_swarm")
@placement_swarm.setter
def placement_swarm(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "placement_swarm", value)
@_builtins.property
@pulumi.getter
def replicas(self) -> Optional[pulumi.Input[_builtins.int]]:
"""
Number of replicas to run.
"""
return pulumi.get(self, "replicas")
@replicas.setter
def replicas(self, value: Optional[pulumi.Input[_builtins.int]]):
pulumi.set(self, "replicas", value)
@_builtins.property
@pulumi.getter(name="restartPolicySwarm")
def restart_policy_swarm(self) -> Optional[pulumi.Input[_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: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "restart_policy_swarm", value)
@_builtins.property
@pulumi.getter(name="rollbackConfigSwarm")
def rollback_config_swarm(self) -> Optional[pulumi.Input[_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: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "rollback_config_swarm", value)
@_builtins.property
@pulumi.getter(name="serverId")
def server_id(self) -> Optional[pulumi.Input[_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: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "server_id", value)
@_builtins.property
@pulumi.getter(name="stopGracePeriodSwarm")
def stop_grace_period_swarm(self) -> Optional[pulumi.Input[_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: Optional[pulumi.Input[_builtins.int]]):
pulumi.set(self, "stop_grace_period_swarm", value)
@_builtins.property
@pulumi.getter(name="ulimitsSwarm")
def ulimits_swarm(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Docker Swarm ulimits, as a JSON object.
"""
return pulumi.get(self, "ulimits_swarm")
@ulimits_swarm.setter
def ulimits_swarm(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "ulimits_swarm", value)
@_builtins.property
@pulumi.getter(name="updateConfigSwarm")
def update_config_swarm(self) -> Optional[pulumi.Input[_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: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "update_config_swarm", value)
@pulumi.input_type
class _RedisState:
def __init__(__self__, *,
app_name: Optional[pulumi.Input[_builtins.str]] = None,
application_status: Optional[pulumi.Input[_builtins.str]] = None,
args: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
command: Optional[pulumi.Input[_builtins.str]] = None,
cpu_limit: Optional[pulumi.Input[_builtins.str]] = None,
cpu_reservation: Optional[pulumi.Input[_builtins.str]] = None,
created_at: Optional[pulumi.Input[_builtins.str]] = None,
database_password: Optional[pulumi.Input[_builtins.str]] = None,
description: Optional[pulumi.Input[_builtins.str]] = None,
detach_dokploy_network: Optional[pulumi.Input[_builtins.bool]] = None,
docker_image: Optional[pulumi.Input[_builtins.str]] = None,
endpoint_spec_swarm: Optional[pulumi.Input[_builtins.str]] = None,
env: Optional[pulumi.Input[_builtins.str]] = None,
environment_id: Optional[pulumi.Input[_builtins.str]] = None,
external_port: Optional[pulumi.Input[_builtins.int]] = None,
health_check_swarm: Optional[pulumi.Input[_builtins.str]] = None,
labels_swarm: Optional[pulumi.Input[_builtins.str]] = None,
memory_limit: Optional[pulumi.Input[_builtins.str]] = None,
memory_reservation: Optional[pulumi.Input[_builtins.str]] = None,
mode_swarm: Optional[pulumi.Input[_builtins.str]] = None,
name: Optional[pulumi.Input[_builtins.str]] = None,
network_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
network_swarm: Optional[pulumi.Input[_builtins.str]] = None,
placement_swarm: Optional[pulumi.Input[_builtins.str]] = None,
replicas: Optional[pulumi.Input[_builtins.int]] = None,
restart_policy_swarm: Optional[pulumi.Input[_builtins.str]] = None,
rollback_config_swarm: Optional[pulumi.Input[_builtins.str]] = None,
server_id: Optional[pulumi.Input[_builtins.str]] = None,
stop_grace_period_swarm: Optional[pulumi.Input[_builtins.int]] = None,
ulimits_swarm: Optional[pulumi.Input[_builtins.str]] = None,
update_config_swarm: Optional[pulumi.Input[_builtins.str]] = None):
"""
Input properties used for looking up and filtering Redis resources.
:param pulumi.Input[_builtins.str] app_name: Unique Docker service name. Generated by Dokploy when omitted. 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[Sequence[pulumi.Input[_builtins.str]]] args: Arguments appended to the container command.
: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 used to authenticate to Redis.
: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: Redis image to run, for example `redis:7`.
: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_port: Host port to expose the database on. Leave unset to keep the database reachable only from inside the Docker network.
: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.int] stop_grace_period_swarm: Grace period in nanoseconds before a container is killed.
:param pulumi.Input[_builtins.str] ulimits_swarm: Docker Swarm ulimits, as a JSON object.
: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 args is not None:
pulumi.set(__self__, "args", args)
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 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 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_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 stop_grace_period_swarm is not None:
pulumi.set(__self__, "stop_grace_period_swarm", stop_grace_period_swarm)
if ulimits_swarm is not None:
pulumi.set(__self__, "ulimits_swarm", ulimits_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) -> Optional[pulumi.Input[_builtins.str]]:
"""
Unique Docker service name. Generated by Dokploy when omitted. Changing it forces a new database.
"""
return pulumi.get(self, "app_name")
@app_name.setter
def app_name(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "app_name", value)
@_builtins.property
@pulumi.getter(name="applicationStatus")
def application_status(self) -> Optional[pulumi.Input[_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: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "application_status", value)
@_builtins.property
@pulumi.getter
def args(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
"""
Arguments appended to the container command.
"""
return pulumi.get(self, "args")
@args.setter
def args(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
pulumi.set(self, "args", value)
@_builtins.property
@pulumi.getter
def command(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Override the container entrypoint command.
"""
return pulumi.get(self, "command")
@command.setter
def command(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "command", value)
@_builtins.property
@pulumi.getter(name="cpuLimit")
def cpu_limit(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Hard CPU limit, for example `1`.
"""
return pulumi.get(self, "cpu_limit")
@cpu_limit.setter
def cpu_limit(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "cpu_limit", value)
@_builtins.property
@pulumi.getter(name="cpuReservation")
def cpu_reservation(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Soft CPU reservation, for example `0.5`.
"""
return pulumi.get(self, "cpu_reservation")
@cpu_reservation.setter
def cpu_reservation(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "cpu_reservation", value)
@_builtins.property
@pulumi.getter(name="createdAt")
def created_at(self) -> Optional[pulumi.Input[_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: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "created_at", value)
@_builtins.property
@pulumi.getter(name="databasePassword")
def database_password(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Password used to authenticate to Redis.
"""
return pulumi.get(self, "database_password")
@database_password.setter
def database_password(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "database_password", value)
@_builtins.property
@pulumi.getter
def description(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Free-form description.
"""
return pulumi.get(self, "description")
@description.setter
def description(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "description", value)
@_builtins.property
@pulumi.getter(name="detachDokployNetwork")
def detach_dokploy_network(self) -> Optional[pulumi.Input[_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: Optional[pulumi.Input[_builtins.bool]]):
pulumi.set(self, "detach_dokploy_network", value)
@_builtins.property
@pulumi.getter(name="dockerImage")
def docker_image(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Redis image to run, for example `redis:7`.
"""
return pulumi.get(self, "docker_image")
@docker_image.setter
def docker_image(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "docker_image", value)
@_builtins.property
@pulumi.getter(name="endpointSpecSwarm")
def endpoint_spec_swarm(self) -> Optional[pulumi.Input[_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: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "endpoint_spec_swarm", value)
@_builtins.property
@pulumi.getter
def env(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Environment variables in `KEY=value` format, one per line.
"""
return pulumi.get(self, "env")
@env.setter
def env(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "env", value)
@_builtins.property
@pulumi.getter(name="environmentId")
def environment_id(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Environment this database belongs to.
"""
return pulumi.get(self, "environment_id")
@environment_id.setter
def environment_id(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "environment_id", value)
@_builtins.property
@pulumi.getter(name="externalPort")
def external_port(self) -> Optional[pulumi.Input[_builtins.int]]:
"""
Host port to expose the database on. Leave unset to keep the database reachable only from inside the Docker network.
"""
return pulumi.get(self, "external_port")
@external_port.setter
def external_port(self, value: Optional[pulumi.Input[_builtins.int]]):
pulumi.set(self, "external_port", value)
@_builtins.property
@pulumi.getter(name="healthCheckSwarm")
def health_check_swarm(self) -> Optional[pulumi.Input[_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: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "health_check_swarm", value)
@_builtins.property
@pulumi.getter(name="labelsSwarm")
def labels_swarm(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Docker Swarm service labels, as a JSON object.
"""
return pulumi.get(self, "labels_swarm")
@labels_swarm.setter
def labels_swarm(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "labels_swarm", value)
@_builtins.property
@pulumi.getter(name="memoryLimit")
def memory_limit(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Hard memory limit, for example `512m`.
"""
return pulumi.get(self, "memory_limit")
@memory_limit.setter
def memory_limit(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "memory_limit", value)
@_builtins.property
@pulumi.getter(name="memoryReservation")
def memory_reservation(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Soft memory reservation, for example `256m`.
"""
return pulumi.get(self, "memory_reservation")
@memory_reservation.setter
def memory_reservation(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "memory_reservation", value)
@_builtins.property
@pulumi.getter(name="modeSwarm")
def mode_swarm(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Docker Swarm service mode, as a JSON object.
"""
return pulumi.get(self, "mode_swarm")
@mode_swarm.setter
def mode_swarm(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "mode_swarm", value)
@_builtins.property
@pulumi.getter
def name(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Display name of the database.
"""
return pulumi.get(self, "name")
@name.setter
def name(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "name", value)
@_builtins.property
@pulumi.getter(name="networkIds")
def network_ids(self) -> Optional[pulumi.Input[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: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
pulumi.set(self, "network_ids", value)
@_builtins.property
@pulumi.getter(name="networkSwarm")
def network_swarm(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Docker Swarm network attachments, as a JSON array.
"""
return pulumi.get(self, "network_swarm")
@network_swarm.setter
def network_swarm(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "network_swarm", value)
@_builtins.property
@pulumi.getter(name="placementSwarm")
def placement_swarm(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Docker Swarm placement constraints, as a JSON object.
"""
return pulumi.get(self, "placement_swarm")
@placement_swarm.setter
def placement_swarm(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "placement_swarm", value)
@_builtins.property
@pulumi.getter
def replicas(self) -> Optional[pulumi.Input[_builtins.int]]:
"""
Number of replicas to run.
"""
return pulumi.get(self, "replicas")
@replicas.setter
def replicas(self, value: Optional[pulumi.Input[_builtins.int]]):
pulumi.set(self, "replicas", value)
@_builtins.property
@pulumi.getter(name="restartPolicySwarm")
def restart_policy_swarm(self) -> Optional[pulumi.Input[_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: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "restart_policy_swarm", value)
@_builtins.property
@pulumi.getter(name="rollbackConfigSwarm")
def rollback_config_swarm(self) -> Optional[pulumi.Input[_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: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "rollback_config_swarm", value)
@_builtins.property
@pulumi.getter(name="serverId")
def server_id(self) -> Optional[pulumi.Input[_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: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "server_id", value)
@_builtins.property
@pulumi.getter(name="stopGracePeriodSwarm")
def stop_grace_period_swarm(self) -> Optional[pulumi.Input[_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: Optional[pulumi.Input[_builtins.int]]):
pulumi.set(self, "stop_grace_period_swarm", value)
@_builtins.property
@pulumi.getter(name="ulimitsSwarm")
def ulimits_swarm(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Docker Swarm ulimits, as a JSON object.
"""
return pulumi.get(self, "ulimits_swarm")
@ulimits_swarm.setter
def ulimits_swarm(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "ulimits_swarm", value)
@_builtins.property
@pulumi.getter(name="updateConfigSwarm")
def update_config_swarm(self) -> Optional[pulumi.Input[_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: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "update_config_swarm", value)
@pulumi.type_token("dokploy:index/redis:Redis")
class Redis(pulumi.CustomResource):
@overload
def __init__(__self__,
resource_name: str,
opts: Optional[pulumi.ResourceOptions] = None,
app_name: Optional[pulumi.Input[_builtins.str]] = None,
args: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
command: Optional[pulumi.Input[_builtins.str]] = None,
cpu_limit: Optional[pulumi.Input[_builtins.str]] = None,
cpu_reservation: Optional[pulumi.Input[_builtins.str]] = None,
database_password: Optional[pulumi.Input[_builtins.str]] = None,
description: Optional[pulumi.Input[_builtins.str]] = None,
detach_dokploy_network: Optional[pulumi.Input[_builtins.bool]] = None,
docker_image: Optional[pulumi.Input[_builtins.str]] = None,
endpoint_spec_swarm: Optional[pulumi.Input[_builtins.str]] = None,
env: Optional[pulumi.Input[_builtins.str]] = None,
environment_id: Optional[pulumi.Input[_builtins.str]] = None,
external_port: Optional[pulumi.Input[_builtins.int]] = None,
health_check_swarm: Optional[pulumi.Input[_builtins.str]] = None,
labels_swarm: Optional[pulumi.Input[_builtins.str]] = None,
memory_limit: Optional[pulumi.Input[_builtins.str]] = None,
memory_reservation: Optional[pulumi.Input[_builtins.str]] = None,
mode_swarm: Optional[pulumi.Input[_builtins.str]] = None,
name: Optional[pulumi.Input[_builtins.str]] = None,
network_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
network_swarm: Optional[pulumi.Input[_builtins.str]] = None,
placement_swarm: Optional[pulumi.Input[_builtins.str]] = None,
replicas: Optional[pulumi.Input[_builtins.int]] = None,
restart_policy_swarm: Optional[pulumi.Input[_builtins.str]] = None,
rollback_config_swarm: Optional[pulumi.Input[_builtins.str]] = None,
server_id: Optional[pulumi.Input[_builtins.str]] = None,
stop_grace_period_swarm: Optional[pulumi.Input[_builtins.int]] = None,
ulimits_swarm: Optional[pulumi.Input[_builtins.str]] = None,
update_config_swarm: Optional[pulumi.Input[_builtins.str]] = None,
__props__=None):
"""
Create a Redis resource with the given unique name, props, and options.
:param str resource_name: The name of the resource.
:param pulumi.ResourceOptions opts: Options for the resource.
:param pulumi.Input[_builtins.str] app_name: Unique Docker service name. Generated by Dokploy when omitted. Changing it forces a new database.
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] args: Arguments appended to the container command.
: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 used to authenticate to Redis.
: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: Redis image to run, for example `redis:7`.
: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_port: Host port to expose the database on. Leave unset to keep the database reachable only from inside the Docker network.
: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.int] stop_grace_period_swarm: Grace period in nanoseconds before a container is killed.
:param pulumi.Input[_builtins.str] ulimits_swarm: Docker Swarm ulimits, as a JSON object.
: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: RedisArgs,
opts: Optional[pulumi.ResourceOptions] = None):
"""
Create a Redis resource with the given unique name, props, and options.
:param str resource_name: The name of the resource.
:param RedisArgs 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(RedisArgs, 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: Optional[pulumi.Input[_builtins.str]] = None,
args: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
command: Optional[pulumi.Input[_builtins.str]] = None,
cpu_limit: Optional[pulumi.Input[_builtins.str]] = None,
cpu_reservation: Optional[pulumi.Input[_builtins.str]] = None,
database_password: Optional[pulumi.Input[_builtins.str]] = None,
description: Optional[pulumi.Input[_builtins.str]] = None,
detach_dokploy_network: Optional[pulumi.Input[_builtins.bool]] = None,
docker_image: Optional[pulumi.Input[_builtins.str]] = None,
endpoint_spec_swarm: Optional[pulumi.Input[_builtins.str]] = None,
env: Optional[pulumi.Input[_builtins.str]] = None,
environment_id: Optional[pulumi.Input[_builtins.str]] = None,
external_port: Optional[pulumi.Input[_builtins.int]] = None,
health_check_swarm: Optional[pulumi.Input[_builtins.str]] = None,
labels_swarm: Optional[pulumi.Input[_builtins.str]] = None,
memory_limit: Optional[pulumi.Input[_builtins.str]] = None,
memory_reservation: Optional[pulumi.Input[_builtins.str]] = None,
mode_swarm: Optional[pulumi.Input[_builtins.str]] = None,
name: Optional[pulumi.Input[_builtins.str]] = None,
network_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
network_swarm: Optional[pulumi.Input[_builtins.str]] = None,
placement_swarm: Optional[pulumi.Input[_builtins.str]] = None,
replicas: Optional[pulumi.Input[_builtins.int]] = None,
restart_policy_swarm: Optional[pulumi.Input[_builtins.str]] = None,
rollback_config_swarm: Optional[pulumi.Input[_builtins.str]] = None,
server_id: Optional[pulumi.Input[_builtins.str]] = None,
stop_grace_period_swarm: Optional[pulumi.Input[_builtins.int]] = None,
ulimits_swarm: Optional[pulumi.Input[_builtins.str]] = None,
update_config_swarm: Optional[pulumi.Input[_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__ = RedisArgs.__new__(RedisArgs)
__props__.__dict__["app_name"] = app_name
__props__.__dict__["args"] = args
__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)
__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__["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_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__["stop_grace_period_swarm"] = stop_grace_period_swarm
__props__.__dict__["ulimits_swarm"] = ulimits_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(Redis, __self__).__init__(
'dokploy:index/redis:Redis',
resource_name,
__props__,
opts)
@staticmethod
def get(resource_name: str,
id: pulumi.Input[str],
opts: Optional[pulumi.ResourceOptions] = None,
app_name: Optional[pulumi.Input[_builtins.str]] = None,
application_status: Optional[pulumi.Input[_builtins.str]] = None,
args: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
command: Optional[pulumi.Input[_builtins.str]] = None,
cpu_limit: Optional[pulumi.Input[_builtins.str]] = None,
cpu_reservation: Optional[pulumi.Input[_builtins.str]] = None,
created_at: Optional[pulumi.Input[_builtins.str]] = None,
database_password: Optional[pulumi.Input[_builtins.str]] = None,
description: Optional[pulumi.Input[_builtins.str]] = None,
detach_dokploy_network: Optional[pulumi.Input[_builtins.bool]] = None,
docker_image: Optional[pulumi.Input[_builtins.str]] = None,
endpoint_spec_swarm: Optional[pulumi.Input[_builtins.str]] = None,
env: Optional[pulumi.Input[_builtins.str]] = None,
environment_id: Optional[pulumi.Input[_builtins.str]] = None,
external_port: Optional[pulumi.Input[_builtins.int]] = None,
health_check_swarm: Optional[pulumi.Input[_builtins.str]] = None,
labels_swarm: Optional[pulumi.Input[_builtins.str]] = None,
memory_limit: Optional[pulumi.Input[_builtins.str]] = None,
memory_reservation: Optional[pulumi.Input[_builtins.str]] = None,
mode_swarm: Optional[pulumi.Input[_builtins.str]] = None,
name: Optional[pulumi.Input[_builtins.str]] = None,
network_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
network_swarm: Optional[pulumi.Input[_builtins.str]] = None,
placement_swarm: Optional[pulumi.Input[_builtins.str]] = None,
replicas: Optional[pulumi.Input[_builtins.int]] = None,
restart_policy_swarm: Optional[pulumi.Input[_builtins.str]] = None,
rollback_config_swarm: Optional[pulumi.Input[_builtins.str]] = None,
server_id: Optional[pulumi.Input[_builtins.str]] = None,
stop_grace_period_swarm: Optional[pulumi.Input[_builtins.int]] = None,
ulimits_swarm: Optional[pulumi.Input[_builtins.str]] = None,
update_config_swarm: Optional[pulumi.Input[_builtins.str]] = None) -> 'Redis':
"""
Get an existing Redis 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 by Dokploy when omitted. 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[Sequence[pulumi.Input[_builtins.str]]] args: Arguments appended to the container command.
: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 used to authenticate to Redis.
: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: Redis image to run, for example `redis:7`.
: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_port: Host port to expose the database on. Leave unset to keep the database reachable only from inside the Docker network.
: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.int] stop_grace_period_swarm: Grace period in nanoseconds before a container is killed.
:param pulumi.Input[_builtins.str] ulimits_swarm: Docker Swarm ulimits, as a JSON object.
: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__ = _RedisState.__new__(_RedisState)
__props__.__dict__["app_name"] = app_name
__props__.__dict__["application_status"] = application_status
__props__.__dict__["args"] = args
__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__["description"] = description
__props__.__dict__["detach_dokploy_network"] = detach_dokploy_network
__props__.__dict__["docker_image"] = docker_image
__props__.__dict__["endpoint_spec_swarm"] = endpoint_spec_swarm
__props__.__dict__["env"] = env
__props__.__dict__["environment_id"] = environment_id
__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__["stop_grace_period_swarm"] = stop_grace_period_swarm
__props__.__dict__["ulimits_swarm"] = ulimits_swarm
__props__.__dict__["update_config_swarm"] = update_config_swarm
return Redis(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 by Dokploy when omitted. 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 args(self) -> pulumi.Output[Sequence[_builtins.str]]:
"""
Arguments appended to the container command.
"""
return pulumi.get(self, "args")
@_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 used to authenticate to Redis.
"""
return pulumi.get(self, "database_password")
@_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]:
"""
Redis image to run, for example `redis:7`.
"""
return pulumi.get(self, "docker_image")
@_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="externalPort")
def external_port(self) -> pulumi.Output[Optional[_builtins.int]]:
"""
Host port to expose the database on. Leave unset to keep the database reachable only from inside the Docker network.
"""
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="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="ulimitsSwarm")
def ulimits_swarm(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
Docker Swarm ulimits, as a JSON object.
"""
return pulumi.get(self, "ulimits_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")