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`.
1042 lines
46 KiB
Python
Generated
1042 lines
46 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__ = ['VolumeBackupArgs', 'VolumeBackup']
|
|
|
|
@pulumi.input_type
|
|
class VolumeBackupArgs:
|
|
def __init__(__self__, *,
|
|
cron_expression: pulumi.Input[_builtins.str],
|
|
destination_id: pulumi.Input[_builtins.str],
|
|
prefix: pulumi.Input[_builtins.str],
|
|
volume_name: pulumi.Input[_builtins.str],
|
|
app_name: pulumi.Input[Optional[_builtins.str]] = None,
|
|
application_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
compose_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
enabled: pulumi.Input[Optional[_builtins.bool]] = None,
|
|
keep_latest_count: pulumi.Input[Optional[_builtins.int]] = None,
|
|
libsql_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
mariadb_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
mongo_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
mysql_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
name: pulumi.Input[Optional[_builtins.str]] = None,
|
|
postgres_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
redis_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
service_name: pulumi.Input[Optional[_builtins.str]] = None,
|
|
service_type: pulumi.Input[Optional[_builtins.str]] = None,
|
|
turn_off: pulumi.Input[Optional[_builtins.bool]] = None):
|
|
"""
|
|
The set of arguments for constructing a VolumeBackup resource.
|
|
|
|
:param pulumi.Input[_builtins.str] cron_expression: Standard five-field cron expression, for example `0 4 * * *`.
|
|
:param pulumi.Input[_builtins.str] destination_id: Backup destination (S3-compatible bucket) to upload to.
|
|
:param pulumi.Input[_builtins.str] prefix: Path prefix inside the destination bucket, for example `backups/shop/`.
|
|
:param pulumi.Input[_builtins.str] volume_name: Name of the Docker volume to back up.
|
|
:param pulumi.Input[_builtins.str] app_name: Docker service name that owns the volume. Derived by Dokploy when omitted.
|
|
:param pulumi.Input[_builtins.str] application_id: Application that owns the volume.
|
|
:param pulumi.Input[_builtins.str] compose_id: Compose stack that owns the volume.
|
|
:param pulumi.Input[_builtins.bool] enabled: Whether the backup schedule is active.
|
|
:param pulumi.Input[_builtins.int] keep_latest_count: Number of backups to retain. Older ones are pruned.
|
|
:param pulumi.Input[_builtins.str] libsql_id: libSQL instance that owns the volume.
|
|
:param pulumi.Input[_builtins.str] mariadb_id: MariaDB instance that owns the volume.
|
|
:param pulumi.Input[_builtins.str] mongo_id: MongoDB instance that owns the volume.
|
|
:param pulumi.Input[_builtins.str] mysql_id: MySQL instance that owns the volume.
|
|
:param pulumi.Input[_builtins.str] name: Display name of the backup job.
|
|
:param pulumi.Input[_builtins.str] postgres_id: PostgreSQL instance that owns the volume.
|
|
:param pulumi.Input[_builtins.str] redis_id: Redis instance that owns the volume.
|
|
:param pulumi.Input[_builtins.str] service_name: Service inside a Compose stack that owns the volume.
|
|
:param pulumi.Input[_builtins.str] service_type: The kind of service that owns the volume. Valid values: `application`, `postgres`, `mysql`, `mariadb`, `mongo`, `redis`, `compose`, `libsql`. Defaults to `application`.
|
|
:param pulumi.Input[_builtins.bool] turn_off: Stop the service while the backup runs. Slower, but guarantees a consistent copy of data that is being written to.
|
|
"""
|
|
pulumi.set(__self__, "cron_expression", cron_expression)
|
|
pulumi.set(__self__, "destination_id", destination_id)
|
|
pulumi.set(__self__, "prefix", prefix)
|
|
pulumi.set(__self__, "volume_name", volume_name)
|
|
if app_name is not None:
|
|
pulumi.set(__self__, "app_name", app_name)
|
|
if application_id is not None:
|
|
pulumi.set(__self__, "application_id", application_id)
|
|
if compose_id is not None:
|
|
pulumi.set(__self__, "compose_id", compose_id)
|
|
if enabled is not None:
|
|
pulumi.set(__self__, "enabled", enabled)
|
|
if keep_latest_count is not None:
|
|
pulumi.set(__self__, "keep_latest_count", keep_latest_count)
|
|
if libsql_id is not None:
|
|
pulumi.set(__self__, "libsql_id", libsql_id)
|
|
if mariadb_id is not None:
|
|
pulumi.set(__self__, "mariadb_id", mariadb_id)
|
|
if mongo_id is not None:
|
|
pulumi.set(__self__, "mongo_id", mongo_id)
|
|
if mysql_id is not None:
|
|
pulumi.set(__self__, "mysql_id", mysql_id)
|
|
if name is not None:
|
|
pulumi.set(__self__, "name", name)
|
|
if postgres_id is not None:
|
|
pulumi.set(__self__, "postgres_id", postgres_id)
|
|
if redis_id is not None:
|
|
pulumi.set(__self__, "redis_id", redis_id)
|
|
if service_name is not None:
|
|
pulumi.set(__self__, "service_name", service_name)
|
|
if service_type is not None:
|
|
pulumi.set(__self__, "service_type", service_type)
|
|
if turn_off is not None:
|
|
pulumi.set(__self__, "turn_off", turn_off)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="cronExpression")
|
|
def cron_expression(self) -> pulumi.Input[_builtins.str]:
|
|
"""
|
|
Standard five-field cron expression, for example `0 4 * * *`.
|
|
"""
|
|
return pulumi.get(self, "cron_expression")
|
|
|
|
@cron_expression.setter
|
|
def cron_expression(self, value: pulumi.Input[_builtins.str]):
|
|
pulumi.set(self, "cron_expression", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="destinationId")
|
|
def destination_id(self) -> pulumi.Input[_builtins.str]:
|
|
"""
|
|
Backup destination (S3-compatible bucket) to upload to.
|
|
"""
|
|
return pulumi.get(self, "destination_id")
|
|
|
|
@destination_id.setter
|
|
def destination_id(self, value: pulumi.Input[_builtins.str]):
|
|
pulumi.set(self, "destination_id", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def prefix(self) -> pulumi.Input[_builtins.str]:
|
|
"""
|
|
Path prefix inside the destination bucket, for example `backups/shop/`.
|
|
"""
|
|
return pulumi.get(self, "prefix")
|
|
|
|
@prefix.setter
|
|
def prefix(self, value: pulumi.Input[_builtins.str]):
|
|
pulumi.set(self, "prefix", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="volumeName")
|
|
def volume_name(self) -> pulumi.Input[_builtins.str]:
|
|
"""
|
|
Name of the Docker volume to back up.
|
|
"""
|
|
return pulumi.get(self, "volume_name")
|
|
|
|
@volume_name.setter
|
|
def volume_name(self, value: pulumi.Input[_builtins.str]):
|
|
pulumi.set(self, "volume_name", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="appName")
|
|
def app_name(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Docker service name that owns the volume. Derived by Dokploy when omitted.
|
|
"""
|
|
return pulumi.get(self, "app_name")
|
|
|
|
@app_name.setter
|
|
def app_name(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "app_name", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="applicationId")
|
|
def application_id(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Application that owns the volume.
|
|
"""
|
|
return pulumi.get(self, "application_id")
|
|
|
|
@application_id.setter
|
|
def application_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "application_id", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="composeId")
|
|
def compose_id(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Compose stack that owns the volume.
|
|
"""
|
|
return pulumi.get(self, "compose_id")
|
|
|
|
@compose_id.setter
|
|
def compose_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "compose_id", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def enabled(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
|
"""
|
|
Whether the backup schedule is active.
|
|
"""
|
|
return pulumi.get(self, "enabled")
|
|
|
|
@enabled.setter
|
|
def enabled(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
|
pulumi.set(self, "enabled", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="keepLatestCount")
|
|
def keep_latest_count(self) -> pulumi.Input[Optional[_builtins.int]]:
|
|
"""
|
|
Number of backups to retain. Older ones are pruned.
|
|
"""
|
|
return pulumi.get(self, "keep_latest_count")
|
|
|
|
@keep_latest_count.setter
|
|
def keep_latest_count(self, value: pulumi.Input[Optional[_builtins.int]]):
|
|
pulumi.set(self, "keep_latest_count", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="libsqlId")
|
|
def libsql_id(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
libSQL instance that owns the volume.
|
|
"""
|
|
return pulumi.get(self, "libsql_id")
|
|
|
|
@libsql_id.setter
|
|
def libsql_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "libsql_id", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="mariadbId")
|
|
def mariadb_id(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
MariaDB instance that owns the volume.
|
|
"""
|
|
return pulumi.get(self, "mariadb_id")
|
|
|
|
@mariadb_id.setter
|
|
def mariadb_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "mariadb_id", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="mongoId")
|
|
def mongo_id(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
MongoDB instance that owns the volume.
|
|
"""
|
|
return pulumi.get(self, "mongo_id")
|
|
|
|
@mongo_id.setter
|
|
def mongo_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "mongo_id", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="mysqlId")
|
|
def mysql_id(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
MySQL instance that owns the volume.
|
|
"""
|
|
return pulumi.get(self, "mysql_id")
|
|
|
|
@mysql_id.setter
|
|
def mysql_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "mysql_id", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def name(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Display name of the backup job.
|
|
"""
|
|
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="postgresId")
|
|
def postgres_id(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
PostgreSQL instance that owns the volume.
|
|
"""
|
|
return pulumi.get(self, "postgres_id")
|
|
|
|
@postgres_id.setter
|
|
def postgres_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "postgres_id", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="redisId")
|
|
def redis_id(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Redis instance that owns the volume.
|
|
"""
|
|
return pulumi.get(self, "redis_id")
|
|
|
|
@redis_id.setter
|
|
def redis_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "redis_id", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="serviceName")
|
|
def service_name(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Service inside a Compose stack that owns the volume.
|
|
"""
|
|
return pulumi.get(self, "service_name")
|
|
|
|
@service_name.setter
|
|
def service_name(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "service_name", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="serviceType")
|
|
def service_type(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
The kind of service that owns the volume. Valid values: `application`, `postgres`, `mysql`, `mariadb`, `mongo`, `redis`, `compose`, `libsql`. Defaults to `application`.
|
|
"""
|
|
return pulumi.get(self, "service_type")
|
|
|
|
@service_type.setter
|
|
def service_type(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "service_type", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="turnOff")
|
|
def turn_off(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
|
"""
|
|
Stop the service while the backup runs. Slower, but guarantees a consistent copy of data that is being written to.
|
|
"""
|
|
return pulumi.get(self, "turn_off")
|
|
|
|
@turn_off.setter
|
|
def turn_off(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
|
pulumi.set(self, "turn_off", value)
|
|
|
|
|
|
@pulumi.input_type
|
|
class _VolumeBackupState:
|
|
def __init__(__self__, *,
|
|
app_name: pulumi.Input[Optional[_builtins.str]] = None,
|
|
application_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
compose_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
created_at: pulumi.Input[Optional[_builtins.str]] = None,
|
|
cron_expression: pulumi.Input[Optional[_builtins.str]] = None,
|
|
destination_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
enabled: pulumi.Input[Optional[_builtins.bool]] = None,
|
|
keep_latest_count: pulumi.Input[Optional[_builtins.int]] = None,
|
|
libsql_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
mariadb_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
mongo_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
mysql_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
name: pulumi.Input[Optional[_builtins.str]] = None,
|
|
postgres_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
prefix: pulumi.Input[Optional[_builtins.str]] = None,
|
|
redis_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
service_name: pulumi.Input[Optional[_builtins.str]] = None,
|
|
service_type: pulumi.Input[Optional[_builtins.str]] = None,
|
|
turn_off: pulumi.Input[Optional[_builtins.bool]] = None,
|
|
volume_name: pulumi.Input[Optional[_builtins.str]] = None):
|
|
"""
|
|
Input properties used for looking up and filtering VolumeBackup resources.
|
|
|
|
:param pulumi.Input[_builtins.str] app_name: Docker service name that owns the volume. Derived by Dokploy when omitted.
|
|
:param pulumi.Input[_builtins.str] application_id: Application that owns the volume.
|
|
:param pulumi.Input[_builtins.str] compose_id: Compose stack that owns the volume.
|
|
:param pulumi.Input[_builtins.str] created_at: RFC 3339 timestamp of when the backup job was created.
|
|
:param pulumi.Input[_builtins.str] cron_expression: Standard five-field cron expression, for example `0 4 * * *`.
|
|
:param pulumi.Input[_builtins.str] destination_id: Backup destination (S3-compatible bucket) to upload to.
|
|
:param pulumi.Input[_builtins.bool] enabled: Whether the backup schedule is active.
|
|
:param pulumi.Input[_builtins.int] keep_latest_count: Number of backups to retain. Older ones are pruned.
|
|
:param pulumi.Input[_builtins.str] libsql_id: libSQL instance that owns the volume.
|
|
:param pulumi.Input[_builtins.str] mariadb_id: MariaDB instance that owns the volume.
|
|
:param pulumi.Input[_builtins.str] mongo_id: MongoDB instance that owns the volume.
|
|
:param pulumi.Input[_builtins.str] mysql_id: MySQL instance that owns the volume.
|
|
:param pulumi.Input[_builtins.str] name: Display name of the backup job.
|
|
:param pulumi.Input[_builtins.str] postgres_id: PostgreSQL instance that owns the volume.
|
|
:param pulumi.Input[_builtins.str] prefix: Path prefix inside the destination bucket, for example `backups/shop/`.
|
|
:param pulumi.Input[_builtins.str] redis_id: Redis instance that owns the volume.
|
|
:param pulumi.Input[_builtins.str] service_name: Service inside a Compose stack that owns the volume.
|
|
:param pulumi.Input[_builtins.str] service_type: The kind of service that owns the volume. Valid values: `application`, `postgres`, `mysql`, `mariadb`, `mongo`, `redis`, `compose`, `libsql`. Defaults to `application`.
|
|
:param pulumi.Input[_builtins.bool] turn_off: Stop the service while the backup runs. Slower, but guarantees a consistent copy of data that is being written to.
|
|
:param pulumi.Input[_builtins.str] volume_name: Name of the Docker volume to back up.
|
|
"""
|
|
if app_name is not None:
|
|
pulumi.set(__self__, "app_name", app_name)
|
|
if application_id is not None:
|
|
pulumi.set(__self__, "application_id", application_id)
|
|
if compose_id is not None:
|
|
pulumi.set(__self__, "compose_id", compose_id)
|
|
if created_at is not None:
|
|
pulumi.set(__self__, "created_at", created_at)
|
|
if cron_expression is not None:
|
|
pulumi.set(__self__, "cron_expression", cron_expression)
|
|
if destination_id is not None:
|
|
pulumi.set(__self__, "destination_id", destination_id)
|
|
if enabled is not None:
|
|
pulumi.set(__self__, "enabled", enabled)
|
|
if keep_latest_count is not None:
|
|
pulumi.set(__self__, "keep_latest_count", keep_latest_count)
|
|
if libsql_id is not None:
|
|
pulumi.set(__self__, "libsql_id", libsql_id)
|
|
if mariadb_id is not None:
|
|
pulumi.set(__self__, "mariadb_id", mariadb_id)
|
|
if mongo_id is not None:
|
|
pulumi.set(__self__, "mongo_id", mongo_id)
|
|
if mysql_id is not None:
|
|
pulumi.set(__self__, "mysql_id", mysql_id)
|
|
if name is not None:
|
|
pulumi.set(__self__, "name", name)
|
|
if postgres_id is not None:
|
|
pulumi.set(__self__, "postgres_id", postgres_id)
|
|
if prefix is not None:
|
|
pulumi.set(__self__, "prefix", prefix)
|
|
if redis_id is not None:
|
|
pulumi.set(__self__, "redis_id", redis_id)
|
|
if service_name is not None:
|
|
pulumi.set(__self__, "service_name", service_name)
|
|
if service_type is not None:
|
|
pulumi.set(__self__, "service_type", service_type)
|
|
if turn_off is not None:
|
|
pulumi.set(__self__, "turn_off", turn_off)
|
|
if volume_name is not None:
|
|
pulumi.set(__self__, "volume_name", volume_name)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="appName")
|
|
def app_name(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Docker service name that owns the volume. Derived by Dokploy when omitted.
|
|
"""
|
|
return pulumi.get(self, "app_name")
|
|
|
|
@app_name.setter
|
|
def app_name(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "app_name", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="applicationId")
|
|
def application_id(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Application that owns the volume.
|
|
"""
|
|
return pulumi.get(self, "application_id")
|
|
|
|
@application_id.setter
|
|
def application_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "application_id", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="composeId")
|
|
def compose_id(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Compose stack that owns the volume.
|
|
"""
|
|
return pulumi.get(self, "compose_id")
|
|
|
|
@compose_id.setter
|
|
def compose_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "compose_id", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="createdAt")
|
|
def created_at(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
RFC 3339 timestamp of when the backup job was created.
|
|
"""
|
|
return pulumi.get(self, "created_at")
|
|
|
|
@created_at.setter
|
|
def created_at(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "created_at", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="cronExpression")
|
|
def cron_expression(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Standard five-field cron expression, for example `0 4 * * *`.
|
|
"""
|
|
return pulumi.get(self, "cron_expression")
|
|
|
|
@cron_expression.setter
|
|
def cron_expression(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "cron_expression", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="destinationId")
|
|
def destination_id(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Backup destination (S3-compatible bucket) to upload to.
|
|
"""
|
|
return pulumi.get(self, "destination_id")
|
|
|
|
@destination_id.setter
|
|
def destination_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "destination_id", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def enabled(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
|
"""
|
|
Whether the backup schedule is active.
|
|
"""
|
|
return pulumi.get(self, "enabled")
|
|
|
|
@enabled.setter
|
|
def enabled(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
|
pulumi.set(self, "enabled", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="keepLatestCount")
|
|
def keep_latest_count(self) -> pulumi.Input[Optional[_builtins.int]]:
|
|
"""
|
|
Number of backups to retain. Older ones are pruned.
|
|
"""
|
|
return pulumi.get(self, "keep_latest_count")
|
|
|
|
@keep_latest_count.setter
|
|
def keep_latest_count(self, value: pulumi.Input[Optional[_builtins.int]]):
|
|
pulumi.set(self, "keep_latest_count", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="libsqlId")
|
|
def libsql_id(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
libSQL instance that owns the volume.
|
|
"""
|
|
return pulumi.get(self, "libsql_id")
|
|
|
|
@libsql_id.setter
|
|
def libsql_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "libsql_id", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="mariadbId")
|
|
def mariadb_id(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
MariaDB instance that owns the volume.
|
|
"""
|
|
return pulumi.get(self, "mariadb_id")
|
|
|
|
@mariadb_id.setter
|
|
def mariadb_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "mariadb_id", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="mongoId")
|
|
def mongo_id(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
MongoDB instance that owns the volume.
|
|
"""
|
|
return pulumi.get(self, "mongo_id")
|
|
|
|
@mongo_id.setter
|
|
def mongo_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "mongo_id", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="mysqlId")
|
|
def mysql_id(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
MySQL instance that owns the volume.
|
|
"""
|
|
return pulumi.get(self, "mysql_id")
|
|
|
|
@mysql_id.setter
|
|
def mysql_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "mysql_id", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def name(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Display name of the backup job.
|
|
"""
|
|
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="postgresId")
|
|
def postgres_id(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
PostgreSQL instance that owns the volume.
|
|
"""
|
|
return pulumi.get(self, "postgres_id")
|
|
|
|
@postgres_id.setter
|
|
def postgres_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "postgres_id", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def prefix(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Path prefix inside the destination bucket, for example `backups/shop/`.
|
|
"""
|
|
return pulumi.get(self, "prefix")
|
|
|
|
@prefix.setter
|
|
def prefix(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "prefix", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="redisId")
|
|
def redis_id(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Redis instance that owns the volume.
|
|
"""
|
|
return pulumi.get(self, "redis_id")
|
|
|
|
@redis_id.setter
|
|
def redis_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "redis_id", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="serviceName")
|
|
def service_name(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Service inside a Compose stack that owns the volume.
|
|
"""
|
|
return pulumi.get(self, "service_name")
|
|
|
|
@service_name.setter
|
|
def service_name(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "service_name", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="serviceType")
|
|
def service_type(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
The kind of service that owns the volume. Valid values: `application`, `postgres`, `mysql`, `mariadb`, `mongo`, `redis`, `compose`, `libsql`. Defaults to `application`.
|
|
"""
|
|
return pulumi.get(self, "service_type")
|
|
|
|
@service_type.setter
|
|
def service_type(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "service_type", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="turnOff")
|
|
def turn_off(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
|
"""
|
|
Stop the service while the backup runs. Slower, but guarantees a consistent copy of data that is being written to.
|
|
"""
|
|
return pulumi.get(self, "turn_off")
|
|
|
|
@turn_off.setter
|
|
def turn_off(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
|
pulumi.set(self, "turn_off", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="volumeName")
|
|
def volume_name(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Name of the Docker volume to back up.
|
|
"""
|
|
return pulumi.get(self, "volume_name")
|
|
|
|
@volume_name.setter
|
|
def volume_name(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "volume_name", value)
|
|
|
|
|
|
@pulumi.type_token("dokploy:index/volumeBackup:VolumeBackup")
|
|
class VolumeBackup(pulumi.CustomResource):
|
|
@overload
|
|
def __init__(__self__,
|
|
resource_name: str,
|
|
opts: Optional[pulumi.ResourceOptions] = None,
|
|
app_name: pulumi.Input[Optional[_builtins.str]] = None,
|
|
application_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
compose_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
cron_expression: pulumi.Input[Optional[_builtins.str]] = None,
|
|
destination_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
enabled: pulumi.Input[Optional[_builtins.bool]] = None,
|
|
keep_latest_count: pulumi.Input[Optional[_builtins.int]] = None,
|
|
libsql_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
mariadb_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
mongo_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
mysql_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
name: pulumi.Input[Optional[_builtins.str]] = None,
|
|
postgres_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
prefix: pulumi.Input[Optional[_builtins.str]] = None,
|
|
redis_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
service_name: pulumi.Input[Optional[_builtins.str]] = None,
|
|
service_type: pulumi.Input[Optional[_builtins.str]] = None,
|
|
turn_off: pulumi.Input[Optional[_builtins.bool]] = None,
|
|
volume_name: pulumi.Input[Optional[_builtins.str]] = None,
|
|
__props__=None):
|
|
"""
|
|
A scheduled backup of a Docker volume to a configured `Destination`.
|
|
|
|
This is the counterpart to a `Mount` with `type = "volume"`: the mount gives the volume a stable name, and this resource copies its contents off the host on a schedule.
|
|
|
|
Set exactly one of the `*_id` attributes to say which service owns the volume.
|
|
|
|
|
|
:param str resource_name: The name of the resource.
|
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
:param pulumi.Input[_builtins.str] app_name: Docker service name that owns the volume. Derived by Dokploy when omitted.
|
|
:param pulumi.Input[_builtins.str] application_id: Application that owns the volume.
|
|
:param pulumi.Input[_builtins.str] compose_id: Compose stack that owns the volume.
|
|
:param pulumi.Input[_builtins.str] cron_expression: Standard five-field cron expression, for example `0 4 * * *`.
|
|
:param pulumi.Input[_builtins.str] destination_id: Backup destination (S3-compatible bucket) to upload to.
|
|
:param pulumi.Input[_builtins.bool] enabled: Whether the backup schedule is active.
|
|
:param pulumi.Input[_builtins.int] keep_latest_count: Number of backups to retain. Older ones are pruned.
|
|
:param pulumi.Input[_builtins.str] libsql_id: libSQL instance that owns the volume.
|
|
:param pulumi.Input[_builtins.str] mariadb_id: MariaDB instance that owns the volume.
|
|
:param pulumi.Input[_builtins.str] mongo_id: MongoDB instance that owns the volume.
|
|
:param pulumi.Input[_builtins.str] mysql_id: MySQL instance that owns the volume.
|
|
:param pulumi.Input[_builtins.str] name: Display name of the backup job.
|
|
:param pulumi.Input[_builtins.str] postgres_id: PostgreSQL instance that owns the volume.
|
|
:param pulumi.Input[_builtins.str] prefix: Path prefix inside the destination bucket, for example `backups/shop/`.
|
|
:param pulumi.Input[_builtins.str] redis_id: Redis instance that owns the volume.
|
|
:param pulumi.Input[_builtins.str] service_name: Service inside a Compose stack that owns the volume.
|
|
:param pulumi.Input[_builtins.str] service_type: The kind of service that owns the volume. Valid values: `application`, `postgres`, `mysql`, `mariadb`, `mongo`, `redis`, `compose`, `libsql`. Defaults to `application`.
|
|
:param pulumi.Input[_builtins.bool] turn_off: Stop the service while the backup runs. Slower, but guarantees a consistent copy of data that is being written to.
|
|
:param pulumi.Input[_builtins.str] volume_name: Name of the Docker volume to back up.
|
|
"""
|
|
...
|
|
@overload
|
|
def __init__(__self__,
|
|
resource_name: str,
|
|
args: VolumeBackupArgs,
|
|
opts: Optional[pulumi.ResourceOptions] = None):
|
|
"""
|
|
A scheduled backup of a Docker volume to a configured `Destination`.
|
|
|
|
This is the counterpart to a `Mount` with `type = "volume"`: the mount gives the volume a stable name, and this resource copies its contents off the host on a schedule.
|
|
|
|
Set exactly one of the `*_id` attributes to say which service owns the volume.
|
|
|
|
|
|
:param str resource_name: The name of the resource.
|
|
:param VolumeBackupArgs 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(VolumeBackupArgs, pulumi.ResourceOptions, *args, **kwargs)
|
|
if resource_args is not None:
|
|
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
|
else:
|
|
__self__._internal_init(resource_name, *args, **kwargs)
|
|
|
|
def _internal_init(__self__,
|
|
resource_name: str,
|
|
opts: Optional[pulumi.ResourceOptions] = None,
|
|
app_name: pulumi.Input[Optional[_builtins.str]] = None,
|
|
application_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
compose_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
cron_expression: pulumi.Input[Optional[_builtins.str]] = None,
|
|
destination_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
enabled: pulumi.Input[Optional[_builtins.bool]] = None,
|
|
keep_latest_count: pulumi.Input[Optional[_builtins.int]] = None,
|
|
libsql_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
mariadb_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
mongo_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
mysql_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
name: pulumi.Input[Optional[_builtins.str]] = None,
|
|
postgres_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
prefix: pulumi.Input[Optional[_builtins.str]] = None,
|
|
redis_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
service_name: pulumi.Input[Optional[_builtins.str]] = None,
|
|
service_type: pulumi.Input[Optional[_builtins.str]] = None,
|
|
turn_off: pulumi.Input[Optional[_builtins.bool]] = None,
|
|
volume_name: pulumi.Input[Optional[_builtins.str]] = None,
|
|
__props__=None):
|
|
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
|
if not isinstance(opts, pulumi.ResourceOptions):
|
|
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__ = VolumeBackupArgs.__new__(VolumeBackupArgs)
|
|
|
|
__props__.__dict__["app_name"] = app_name
|
|
__props__.__dict__["application_id"] = application_id
|
|
__props__.__dict__["compose_id"] = compose_id
|
|
if cron_expression is None and not opts.urn:
|
|
raise TypeError("Missing required property 'cron_expression'")
|
|
__props__.__dict__["cron_expression"] = cron_expression
|
|
if destination_id is None and not opts.urn:
|
|
raise TypeError("Missing required property 'destination_id'")
|
|
__props__.__dict__["destination_id"] = destination_id
|
|
__props__.__dict__["enabled"] = enabled
|
|
__props__.__dict__["keep_latest_count"] = keep_latest_count
|
|
__props__.__dict__["libsql_id"] = libsql_id
|
|
__props__.__dict__["mariadb_id"] = mariadb_id
|
|
__props__.__dict__["mongo_id"] = mongo_id
|
|
__props__.__dict__["mysql_id"] = mysql_id
|
|
__props__.__dict__["name"] = name
|
|
__props__.__dict__["postgres_id"] = postgres_id
|
|
if prefix is None and not opts.urn:
|
|
raise TypeError("Missing required property 'prefix'")
|
|
__props__.__dict__["prefix"] = prefix
|
|
__props__.__dict__["redis_id"] = redis_id
|
|
__props__.__dict__["service_name"] = service_name
|
|
__props__.__dict__["service_type"] = service_type
|
|
__props__.__dict__["turn_off"] = turn_off
|
|
if volume_name is None and not opts.urn:
|
|
raise TypeError("Missing required property 'volume_name'")
|
|
__props__.__dict__["volume_name"] = volume_name
|
|
__props__.__dict__["created_at"] = None
|
|
super(VolumeBackup, __self__).__init__(
|
|
'dokploy:index/volumeBackup:VolumeBackup',
|
|
resource_name,
|
|
__props__,
|
|
opts)
|
|
|
|
@staticmethod
|
|
def get(resource_name: str,
|
|
id: pulumi.Input[str],
|
|
opts: Optional[pulumi.ResourceOptions] = None,
|
|
app_name: pulumi.Input[Optional[_builtins.str]] = None,
|
|
application_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
compose_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
created_at: pulumi.Input[Optional[_builtins.str]] = None,
|
|
cron_expression: pulumi.Input[Optional[_builtins.str]] = None,
|
|
destination_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
enabled: pulumi.Input[Optional[_builtins.bool]] = None,
|
|
keep_latest_count: pulumi.Input[Optional[_builtins.int]] = None,
|
|
libsql_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
mariadb_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
mongo_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
mysql_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
name: pulumi.Input[Optional[_builtins.str]] = None,
|
|
postgres_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
prefix: pulumi.Input[Optional[_builtins.str]] = None,
|
|
redis_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
service_name: pulumi.Input[Optional[_builtins.str]] = None,
|
|
service_type: pulumi.Input[Optional[_builtins.str]] = None,
|
|
turn_off: pulumi.Input[Optional[_builtins.bool]] = None,
|
|
volume_name: pulumi.Input[Optional[_builtins.str]] = None) -> 'VolumeBackup':
|
|
"""
|
|
Get an existing VolumeBackup resource's state with the given name, id, and optional extra
|
|
properties used to qualify the lookup.
|
|
|
|
:param str resource_name: The unique name of the resulting resource.
|
|
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
:param pulumi.Input[_builtins.str] app_name: Docker service name that owns the volume. Derived by Dokploy when omitted.
|
|
:param pulumi.Input[_builtins.str] application_id: Application that owns the volume.
|
|
:param pulumi.Input[_builtins.str] compose_id: Compose stack that owns the volume.
|
|
:param pulumi.Input[_builtins.str] created_at: RFC 3339 timestamp of when the backup job was created.
|
|
:param pulumi.Input[_builtins.str] cron_expression: Standard five-field cron expression, for example `0 4 * * *`.
|
|
:param pulumi.Input[_builtins.str] destination_id: Backup destination (S3-compatible bucket) to upload to.
|
|
:param pulumi.Input[_builtins.bool] enabled: Whether the backup schedule is active.
|
|
:param pulumi.Input[_builtins.int] keep_latest_count: Number of backups to retain. Older ones are pruned.
|
|
:param pulumi.Input[_builtins.str] libsql_id: libSQL instance that owns the volume.
|
|
:param pulumi.Input[_builtins.str] mariadb_id: MariaDB instance that owns the volume.
|
|
:param pulumi.Input[_builtins.str] mongo_id: MongoDB instance that owns the volume.
|
|
:param pulumi.Input[_builtins.str] mysql_id: MySQL instance that owns the volume.
|
|
:param pulumi.Input[_builtins.str] name: Display name of the backup job.
|
|
:param pulumi.Input[_builtins.str] postgres_id: PostgreSQL instance that owns the volume.
|
|
:param pulumi.Input[_builtins.str] prefix: Path prefix inside the destination bucket, for example `backups/shop/`.
|
|
:param pulumi.Input[_builtins.str] redis_id: Redis instance that owns the volume.
|
|
:param pulumi.Input[_builtins.str] service_name: Service inside a Compose stack that owns the volume.
|
|
:param pulumi.Input[_builtins.str] service_type: The kind of service that owns the volume. Valid values: `application`, `postgres`, `mysql`, `mariadb`, `mongo`, `redis`, `compose`, `libsql`. Defaults to `application`.
|
|
:param pulumi.Input[_builtins.bool] turn_off: Stop the service while the backup runs. Slower, but guarantees a consistent copy of data that is being written to.
|
|
:param pulumi.Input[_builtins.str] volume_name: Name of the Docker volume to back up.
|
|
"""
|
|
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
|
|
|
__props__ = _VolumeBackupState.__new__(_VolumeBackupState)
|
|
|
|
__props__.__dict__["app_name"] = app_name
|
|
__props__.__dict__["application_id"] = application_id
|
|
__props__.__dict__["compose_id"] = compose_id
|
|
__props__.__dict__["created_at"] = created_at
|
|
__props__.__dict__["cron_expression"] = cron_expression
|
|
__props__.__dict__["destination_id"] = destination_id
|
|
__props__.__dict__["enabled"] = enabled
|
|
__props__.__dict__["keep_latest_count"] = keep_latest_count
|
|
__props__.__dict__["libsql_id"] = libsql_id
|
|
__props__.__dict__["mariadb_id"] = mariadb_id
|
|
__props__.__dict__["mongo_id"] = mongo_id
|
|
__props__.__dict__["mysql_id"] = mysql_id
|
|
__props__.__dict__["name"] = name
|
|
__props__.__dict__["postgres_id"] = postgres_id
|
|
__props__.__dict__["prefix"] = prefix
|
|
__props__.__dict__["redis_id"] = redis_id
|
|
__props__.__dict__["service_name"] = service_name
|
|
__props__.__dict__["service_type"] = service_type
|
|
__props__.__dict__["turn_off"] = turn_off
|
|
__props__.__dict__["volume_name"] = volume_name
|
|
return VolumeBackup(resource_name, opts=opts, __props__=__props__)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="appName")
|
|
def app_name(self) -> pulumi.Output[_builtins.str]:
|
|
"""
|
|
Docker service name that owns the volume. Derived by Dokploy when omitted.
|
|
"""
|
|
return pulumi.get(self, "app_name")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="applicationId")
|
|
def application_id(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
"""
|
|
Application that owns the volume.
|
|
"""
|
|
return pulumi.get(self, "application_id")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="composeId")
|
|
def compose_id(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
"""
|
|
Compose stack that owns the volume.
|
|
"""
|
|
return pulumi.get(self, "compose_id")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="createdAt")
|
|
def created_at(self) -> pulumi.Output[_builtins.str]:
|
|
"""
|
|
RFC 3339 timestamp of when the backup job was created.
|
|
"""
|
|
return pulumi.get(self, "created_at")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="cronExpression")
|
|
def cron_expression(self) -> pulumi.Output[_builtins.str]:
|
|
"""
|
|
Standard five-field cron expression, for example `0 4 * * *`.
|
|
"""
|
|
return pulumi.get(self, "cron_expression")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="destinationId")
|
|
def destination_id(self) -> pulumi.Output[_builtins.str]:
|
|
"""
|
|
Backup destination (S3-compatible bucket) to upload to.
|
|
"""
|
|
return pulumi.get(self, "destination_id")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def enabled(self) -> pulumi.Output[_builtins.bool]:
|
|
"""
|
|
Whether the backup schedule is active.
|
|
"""
|
|
return pulumi.get(self, "enabled")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="keepLatestCount")
|
|
def keep_latest_count(self) -> pulumi.Output[_builtins.int]:
|
|
"""
|
|
Number of backups to retain. Older ones are pruned.
|
|
"""
|
|
return pulumi.get(self, "keep_latest_count")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="libsqlId")
|
|
def libsql_id(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
"""
|
|
libSQL instance that owns the volume.
|
|
"""
|
|
return pulumi.get(self, "libsql_id")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="mariadbId")
|
|
def mariadb_id(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
"""
|
|
MariaDB instance that owns the volume.
|
|
"""
|
|
return pulumi.get(self, "mariadb_id")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="mongoId")
|
|
def mongo_id(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
"""
|
|
MongoDB instance that owns the volume.
|
|
"""
|
|
return pulumi.get(self, "mongo_id")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="mysqlId")
|
|
def mysql_id(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
"""
|
|
MySQL instance that owns the volume.
|
|
"""
|
|
return pulumi.get(self, "mysql_id")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def name(self) -> pulumi.Output[_builtins.str]:
|
|
"""
|
|
Display name of the backup job.
|
|
"""
|
|
return pulumi.get(self, "name")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="postgresId")
|
|
def postgres_id(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
"""
|
|
PostgreSQL instance that owns the volume.
|
|
"""
|
|
return pulumi.get(self, "postgres_id")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def prefix(self) -> pulumi.Output[_builtins.str]:
|
|
"""
|
|
Path prefix inside the destination bucket, for example `backups/shop/`.
|
|
"""
|
|
return pulumi.get(self, "prefix")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="redisId")
|
|
def redis_id(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
"""
|
|
Redis instance that owns the volume.
|
|
"""
|
|
return pulumi.get(self, "redis_id")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="serviceName")
|
|
def service_name(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
"""
|
|
Service inside a Compose stack that owns the volume.
|
|
"""
|
|
return pulumi.get(self, "service_name")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="serviceType")
|
|
def service_type(self) -> pulumi.Output[_builtins.str]:
|
|
"""
|
|
The kind of service that owns the volume. Valid values: `application`, `postgres`, `mysql`, `mariadb`, `mongo`, `redis`, `compose`, `libsql`. Defaults to `application`.
|
|
"""
|
|
return pulumi.get(self, "service_type")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="turnOff")
|
|
def turn_off(self) -> pulumi.Output[_builtins.bool]:
|
|
"""
|
|
Stop the service while the backup runs. Slower, but guarantees a consistent copy of data that is being written to.
|
|
"""
|
|
return pulumi.get(self, "turn_off")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="volumeName")
|
|
def volume_name(self) -> pulumi.Output[_builtins.str]:
|
|
"""
|
|
Name of the Docker volume to back up.
|
|
"""
|
|
return pulumi.get(self, "volume_name")
|
|
|