Files
pulumi-dokploy/sdk/python/pulumi_dokploy/application.py
T
max-voitcov 73386ba0ff
build / build (push) Failing after 11m22s
release / plugin (push) Failing after 31m35s
release / sdks (push) Has been skipped
Bridge what Dokploy v0.30 added, and let the docs through
Six new resources from terraform-provider-dokploy v0.2.0 -- Network,
DnsProvider, VaultProvider, Schedule, VolumeBackup and Libsql -- plus the new
properties on Domain (`enabled`), Compose (`serviceNetworks`, `createEnvFile`,
`icon`) and Application. Verified with `pulumi up` against a live v0.30.2
instance: create, preview-clean, and destroy.

The upstream provider also now refuses a volume Mount with no `volumeName`,
which Dokploy would otherwise turn into an anonymous Docker volume recreated
on every deploy. That surfaces here at preview time, before anything exists.

Two things made that fix nearly invisible to Pulumi users, so this commit
fixes the second one: the bridge resolves the upstream `docs/` through the Go
module cache, where a locally `replace`d dependency never lands, so tfgen was
emitting every resource with no description at all. UpstreamRepoPath now
points at the checkout and all 445 inputs carry documentation -- with names
rendered per language, so Python readers see `volume_name` where TypeScript
readers see `volumeName`.
2026-08-26 00:46:32 +03:00

4688 lines
221 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__ = ['ApplicationArgs', 'Application']
@pulumi.input_type
class ApplicationArgs:
def __init__(__self__, *,
environment_id: pulumi.Input[_builtins.str],
app_name: pulumi.Input[Optional[_builtins.str]] = None,
args: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None,
auto_deploy: pulumi.Input[Optional[_builtins.bool]] = None,
bitbucket_branch: pulumi.Input[Optional[_builtins.str]] = None,
bitbucket_build_path: pulumi.Input[Optional[_builtins.str]] = None,
bitbucket_id: pulumi.Input[Optional[_builtins.str]] = None,
bitbucket_owner: pulumi.Input[Optional[_builtins.str]] = None,
bitbucket_repository: pulumi.Input[Optional[_builtins.str]] = None,
bitbucket_repository_slug: pulumi.Input[Optional[_builtins.str]] = None,
branch: pulumi.Input[Optional[_builtins.str]] = None,
build_args: pulumi.Input[Optional[_builtins.str]] = None,
build_path: pulumi.Input[Optional[_builtins.str]] = None,
build_registry_id: pulumi.Input[Optional[_builtins.str]] = None,
build_secrets: pulumi.Input[Optional[_builtins.str]] = None,
build_server_id: pulumi.Input[Optional[_builtins.str]] = None,
build_type: pulumi.Input[Optional[_builtins.str]] = None,
clean_cache: pulumi.Input[Optional[_builtins.bool]] = None,
command: pulumi.Input[Optional[_builtins.str]] = None,
cpu_limit: pulumi.Input[Optional[_builtins.str]] = None,
cpu_reservation: pulumi.Input[Optional[_builtins.str]] = None,
create_env_file: pulumi.Input[Optional[_builtins.bool]] = None,
custom_git_branch: pulumi.Input[Optional[_builtins.str]] = None,
custom_git_build_path: pulumi.Input[Optional[_builtins.str]] = None,
custom_git_ssh_key_id: pulumi.Input[Optional[_builtins.str]] = None,
custom_git_url: pulumi.Input[Optional[_builtins.str]] = None,
description: pulumi.Input[Optional[_builtins.str]] = None,
detach_dokploy_network: pulumi.Input[Optional[_builtins.bool]] = None,
docker_build_stage: pulumi.Input[Optional[_builtins.str]] = None,
docker_context_path: pulumi.Input[Optional[_builtins.str]] = None,
docker_image: pulumi.Input[Optional[_builtins.str]] = None,
dockerfile: pulumi.Input[Optional[_builtins.str]] = None,
enable_submodules: pulumi.Input[Optional[_builtins.bool]] = None,
enabled: pulumi.Input[Optional[_builtins.bool]] = None,
endpoint_spec_swarm: pulumi.Input[Optional[_builtins.str]] = None,
env: pulumi.Input[Optional[_builtins.str]] = None,
gitea_branch: pulumi.Input[Optional[_builtins.str]] = None,
gitea_build_path: pulumi.Input[Optional[_builtins.str]] = None,
gitea_id: pulumi.Input[Optional[_builtins.str]] = None,
gitea_owner: pulumi.Input[Optional[_builtins.str]] = None,
gitea_repository: pulumi.Input[Optional[_builtins.str]] = None,
github_id: pulumi.Input[Optional[_builtins.str]] = None,
gitlab_branch: pulumi.Input[Optional[_builtins.str]] = None,
gitlab_build_path: pulumi.Input[Optional[_builtins.str]] = None,
gitlab_id: pulumi.Input[Optional[_builtins.str]] = None,
gitlab_owner: pulumi.Input[Optional[_builtins.str]] = None,
gitlab_path_namespace: pulumi.Input[Optional[_builtins.str]] = None,
gitlab_project_id: pulumi.Input[Optional[_builtins.int]] = None,
gitlab_repository: pulumi.Input[Optional[_builtins.str]] = None,
health_check_swarm: pulumi.Input[Optional[_builtins.str]] = None,
heroku_version: pulumi.Input[Optional[_builtins.str]] = None,
icon: pulumi.Input[Optional[_builtins.str]] = None,
is_preview_deployments_active: pulumi.Input[Optional[_builtins.bool]] = None,
is_static_spa: pulumi.Input[Optional[_builtins.bool]] = None,
labels_swarm: pulumi.Input[Optional[_builtins.str]] = None,
memory_limit: pulumi.Input[Optional[_builtins.str]] = None,
memory_reservation: pulumi.Input[Optional[_builtins.str]] = None,
mode_swarm: pulumi.Input[Optional[_builtins.str]] = None,
name: pulumi.Input[Optional[_builtins.str]] = None,
network_ids: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None,
network_swarm: pulumi.Input[Optional[_builtins.str]] = None,
owner: pulumi.Input[Optional[_builtins.str]] = None,
password: pulumi.Input[Optional[_builtins.str]] = None,
placement_swarm: pulumi.Input[Optional[_builtins.str]] = None,
preview_build_args: pulumi.Input[Optional[_builtins.str]] = None,
preview_build_secrets: pulumi.Input[Optional[_builtins.str]] = None,
preview_certificate_type: pulumi.Input[Optional[_builtins.str]] = None,
preview_custom_cert_resolver: pulumi.Input[Optional[_builtins.str]] = None,
preview_env: pulumi.Input[Optional[_builtins.str]] = None,
preview_https: pulumi.Input[Optional[_builtins.bool]] = None,
preview_labels: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None,
preview_limit: pulumi.Input[Optional[_builtins.int]] = None,
preview_path: pulumi.Input[Optional[_builtins.str]] = None,
preview_port: pulumi.Input[Optional[_builtins.int]] = None,
preview_require_collaborator_permissions: pulumi.Input[Optional[_builtins.bool]] = None,
preview_wildcard: pulumi.Input[Optional[_builtins.str]] = None,
publish_directory: pulumi.Input[Optional[_builtins.str]] = None,
railpack_version: pulumi.Input[Optional[_builtins.str]] = None,
registry_id: pulumi.Input[Optional[_builtins.str]] = None,
registry_url: pulumi.Input[Optional[_builtins.str]] = None,
replicas: pulumi.Input[Optional[_builtins.int]] = None,
repository: pulumi.Input[Optional[_builtins.str]] = None,
restart_policy_swarm: pulumi.Input[Optional[_builtins.str]] = None,
rollback_active: pulumi.Input[Optional[_builtins.bool]] = None,
rollback_config_swarm: pulumi.Input[Optional[_builtins.str]] = None,
rollback_registry_id: pulumi.Input[Optional[_builtins.str]] = None,
server_id: pulumi.Input[Optional[_builtins.str]] = None,
source_type: pulumi.Input[Optional[_builtins.str]] = None,
stop_grace_period_swarm: pulumi.Input[Optional[_builtins.int]] = None,
subtitle: pulumi.Input[Optional[_builtins.str]] = None,
title: pulumi.Input[Optional[_builtins.str]] = None,
trigger_type: pulumi.Input[Optional[_builtins.str]] = None,
ulimits_swarm: pulumi.Input[Optional[_builtins.str]] = None,
update_config_swarm: pulumi.Input[Optional[_builtins.str]] = None,
username: pulumi.Input[Optional[_builtins.str]] = None,
watch_paths: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None):
"""
The set of arguments for constructing a Application resource.
:param pulumi.Input[_builtins.str] environment_id: Environment this application belongs to.
:param pulumi.Input[_builtins.str] app_name: Unique Docker service name. Generated by Dokploy when omitted. Changing it forces a new application.
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] args: Arguments appended to the container command.
:param pulumi.Input[_builtins.bool] auto_deploy: Deploy automatically when the configured trigger fires.
:param pulumi.Input[_builtins.str] bitbucket_branch: Bitbucket branch to build.
:param pulumi.Input[_builtins.str] bitbucket_build_path: Path within the Bitbucket repository to build from.
:param pulumi.Input[_builtins.str] bitbucket_id: ID of the configured Bitbucket provider connection.
:param pulumi.Input[_builtins.str] bitbucket_owner: Bitbucket repository owner.
:param pulumi.Input[_builtins.str] bitbucket_repository: Bitbucket repository name.
:param pulumi.Input[_builtins.str] bitbucket_repository_slug: Bitbucket repository slug.
:param pulumi.Input[_builtins.str] branch: GitHub branch to build.
:param pulumi.Input[_builtins.str] build_args: Docker build arguments in `KEY=value` format, one per line.
:param pulumi.Input[_builtins.str] build_path: Path within the GitHub repository to build from.
:param pulumi.Input[_builtins.str] build_registry_id: Registry used by a dedicated build server.
:param pulumi.Input[_builtins.str] build_secrets: Docker build secrets in `KEY=value` format, one per line.
:param pulumi.Input[_builtins.str] build_server_id: Server that performs builds, when separate from the deploy server.
:param pulumi.Input[_builtins.str] build_type: How the application is built. Valid values: `dockerfile`, `heroku_buildpacks`, `paketo_buildpacks`, `nixpacks`, `static`, `railpack`.
:param pulumi.Input[_builtins.bool] clean_cache: Discard the build cache on the next deployment.
: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.bool] create_env_file: Write the environment variables to a `.env` file in the container.
:param pulumi.Input[_builtins.str] custom_git_branch: Branch to build for a custom Git remote.
:param pulumi.Input[_builtins.str] custom_git_build_path: Path within a custom Git repository to build from.
:param pulumi.Input[_builtins.str] custom_git_ssh_key_id: SSH key used to clone a private custom Git remote.
:param pulumi.Input[_builtins.str] custom_git_url: Git remote URL, when `source_type` is `git`.
: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_build_stage: Target stage for a multi-stage Docker build.
:param pulumi.Input[_builtins.str] docker_context_path: Docker build context path.
:param pulumi.Input[_builtins.str] docker_image: Docker image reference, when `source_type` is `docker`.
:param pulumi.Input[_builtins.str] dockerfile: Path to the Dockerfile, when `build_type` is `dockerfile`.
:param pulumi.Input[_builtins.bool] enable_submodules: Clone Git submodules when checking out the repository.
:param pulumi.Input[_builtins.bool] enabled: Whether the application is enabled.
:param pulumi.Input[_builtins.str] endpoint_spec_swarm: Docker Swarm endpoint specification, as a JSON object.
:param pulumi.Input[_builtins.str] env: Runtime environment variables in `KEY=value` format, one per line.
:param pulumi.Input[_builtins.str] gitea_branch: Gitea branch to build.
:param pulumi.Input[_builtins.str] gitea_build_path: Path within the Gitea repository to build from.
:param pulumi.Input[_builtins.str] gitea_id: ID of the configured Gitea provider connection.
:param pulumi.Input[_builtins.str] gitea_owner: Gitea repository owner.
:param pulumi.Input[_builtins.str] gitea_repository: Gitea repository name.
:param pulumi.Input[_builtins.str] github_id: ID of the configured GitHub provider connection.
:param pulumi.Input[_builtins.str] gitlab_branch: GitLab branch to build.
:param pulumi.Input[_builtins.str] gitlab_build_path: Path within the GitLab repository to build from.
:param pulumi.Input[_builtins.str] gitlab_id: ID of the configured GitLab provider connection.
:param pulumi.Input[_builtins.str] gitlab_owner: GitLab repository owner.
:param pulumi.Input[_builtins.str] gitlab_path_namespace: Full GitLab namespace path.
:param pulumi.Input[_builtins.int] gitlab_project_id: Numeric GitLab project ID.
:param pulumi.Input[_builtins.str] gitlab_repository: GitLab repository name.
:param pulumi.Input[_builtins.str] health_check_swarm: Docker Swarm health check configuration, as a JSON object.
:param pulumi.Input[_builtins.str] heroku_version: Heroku buildpack stack version.
:param pulumi.Input[_builtins.str] icon: Icon shown next to the service in the Dokploy UI.
:param pulumi.Input[_builtins.bool] is_preview_deployments_active: Build a preview deployment for each pull request.
:param pulumi.Input[_builtins.bool] is_static_spa: Serve a static build as a single-page application.
: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 application.
: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] owner: GitHub repository owner.
:param pulumi.Input[_builtins.str] password: Registry password, when pulling a private image.
:param pulumi.Input[_builtins.str] placement_swarm: Docker Swarm placement constraints, as a JSON object.
:param pulumi.Input[_builtins.str] preview_build_args: Build arguments applied to preview deployments.
:param pulumi.Input[_builtins.str] preview_build_secrets: Build secrets applied to preview deployments.
:param pulumi.Input[_builtins.str] preview_certificate_type: Certificate strategy for preview deployments. Valid values: `letsencrypt`, `none`, `custom`.
:param pulumi.Input[_builtins.str] preview_custom_cert_resolver: Traefik certificate resolver for preview deployments.
:param pulumi.Input[_builtins.str] preview_env: Environment variables applied to preview deployments.
:param pulumi.Input[_builtins.bool] preview_https: Serve preview deployments over HTTPS.
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] preview_labels: Pull request labels that opt into preview deployments.
:param pulumi.Input[_builtins.int] preview_limit: Maximum number of concurrent preview deployments.
:param pulumi.Input[_builtins.str] preview_path: Base path for preview deployments.
:param pulumi.Input[_builtins.int] preview_port: Container port exposed by preview deployments.
:param pulumi.Input[_builtins.bool] preview_require_collaborator_permissions: Only build previews for pull requests opened by users with repository collaborator permissions.
:param pulumi.Input[_builtins.str] preview_wildcard: Wildcard domain used to expose preview deployments.
:param pulumi.Input[_builtins.str] publish_directory: Directory served when `build_type` is `static`.
:param pulumi.Input[_builtins.str] railpack_version: Railpack version.
:param pulumi.Input[_builtins.str] registry_id: Registry used to push the built image.
:param pulumi.Input[_builtins.str] registry_url: Registry URL, when pulling a private image.
:param pulumi.Input[_builtins.int] replicas: Number of replicas to run.
:param pulumi.Input[_builtins.str] repository: GitHub repository name.
:param pulumi.Input[_builtins.str] restart_policy_swarm: Docker Swarm restart policy, as a JSON object.
:param pulumi.Input[_builtins.bool] rollback_active: Keep previous images so deployments can be rolled back.
:param pulumi.Input[_builtins.str] rollback_config_swarm: Docker Swarm rollback configuration, as a JSON object.
:param pulumi.Input[_builtins.str] rollback_registry_id: Registry used to store rollback images.
:param pulumi.Input[_builtins.str] server_id: Remote server to deploy on. Omit to use the Dokploy host itself.
:param pulumi.Input[_builtins.str] source_type: Where the application's code or image comes from. Valid values: `docker`, `git`, `github`, `gitlab`, `bitbucket`, `gitea`, `drop`.
:param pulumi.Input[_builtins.int] stop_grace_period_swarm: Grace period in nanoseconds before a container is killed.
:param pulumi.Input[_builtins.str] subtitle: Display subtitle shown in the Dokploy UI.
:param pulumi.Input[_builtins.str] title: Display title shown in the Dokploy UI.
:param pulumi.Input[_builtins.str] trigger_type: What triggers an automatic GitHub deployment. Valid values: `push`, `tag`.
: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.
:param pulumi.Input[_builtins.str] username: Registry username, when pulling a private image.
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] watch_paths: Glob patterns that limit which changed paths trigger an automatic deployment.
"""
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 auto_deploy is not None:
pulumi.set(__self__, "auto_deploy", auto_deploy)
if bitbucket_branch is not None:
pulumi.set(__self__, "bitbucket_branch", bitbucket_branch)
if bitbucket_build_path is not None:
pulumi.set(__self__, "bitbucket_build_path", bitbucket_build_path)
if bitbucket_id is not None:
pulumi.set(__self__, "bitbucket_id", bitbucket_id)
if bitbucket_owner is not None:
pulumi.set(__self__, "bitbucket_owner", bitbucket_owner)
if bitbucket_repository is not None:
pulumi.set(__self__, "bitbucket_repository", bitbucket_repository)
if bitbucket_repository_slug is not None:
pulumi.set(__self__, "bitbucket_repository_slug", bitbucket_repository_slug)
if branch is not None:
pulumi.set(__self__, "branch", branch)
if build_args is not None:
pulumi.set(__self__, "build_args", build_args)
if build_path is not None:
pulumi.set(__self__, "build_path", build_path)
if build_registry_id is not None:
pulumi.set(__self__, "build_registry_id", build_registry_id)
if build_secrets is not None:
pulumi.set(__self__, "build_secrets", build_secrets)
if build_server_id is not None:
pulumi.set(__self__, "build_server_id", build_server_id)
if build_type is not None:
pulumi.set(__self__, "build_type", build_type)
if clean_cache is not None:
pulumi.set(__self__, "clean_cache", clean_cache)
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 create_env_file is not None:
pulumi.set(__self__, "create_env_file", create_env_file)
if custom_git_branch is not None:
pulumi.set(__self__, "custom_git_branch", custom_git_branch)
if custom_git_build_path is not None:
pulumi.set(__self__, "custom_git_build_path", custom_git_build_path)
if custom_git_ssh_key_id is not None:
pulumi.set(__self__, "custom_git_ssh_key_id", custom_git_ssh_key_id)
if custom_git_url is not None:
pulumi.set(__self__, "custom_git_url", custom_git_url)
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_build_stage is not None:
pulumi.set(__self__, "docker_build_stage", docker_build_stage)
if docker_context_path is not None:
pulumi.set(__self__, "docker_context_path", docker_context_path)
if docker_image is not None:
pulumi.set(__self__, "docker_image", docker_image)
if dockerfile is not None:
pulumi.set(__self__, "dockerfile", dockerfile)
if enable_submodules is not None:
pulumi.set(__self__, "enable_submodules", enable_submodules)
if enabled is not None:
pulumi.set(__self__, "enabled", enabled)
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 gitea_branch is not None:
pulumi.set(__self__, "gitea_branch", gitea_branch)
if gitea_build_path is not None:
pulumi.set(__self__, "gitea_build_path", gitea_build_path)
if gitea_id is not None:
pulumi.set(__self__, "gitea_id", gitea_id)
if gitea_owner is not None:
pulumi.set(__self__, "gitea_owner", gitea_owner)
if gitea_repository is not None:
pulumi.set(__self__, "gitea_repository", gitea_repository)
if github_id is not None:
pulumi.set(__self__, "github_id", github_id)
if gitlab_branch is not None:
pulumi.set(__self__, "gitlab_branch", gitlab_branch)
if gitlab_build_path is not None:
pulumi.set(__self__, "gitlab_build_path", gitlab_build_path)
if gitlab_id is not None:
pulumi.set(__self__, "gitlab_id", gitlab_id)
if gitlab_owner is not None:
pulumi.set(__self__, "gitlab_owner", gitlab_owner)
if gitlab_path_namespace is not None:
pulumi.set(__self__, "gitlab_path_namespace", gitlab_path_namespace)
if gitlab_project_id is not None:
pulumi.set(__self__, "gitlab_project_id", gitlab_project_id)
if gitlab_repository is not None:
pulumi.set(__self__, "gitlab_repository", gitlab_repository)
if health_check_swarm is not None:
pulumi.set(__self__, "health_check_swarm", health_check_swarm)
if heroku_version is not None:
pulumi.set(__self__, "heroku_version", heroku_version)
if icon is not None:
pulumi.set(__self__, "icon", icon)
if is_preview_deployments_active is not None:
pulumi.set(__self__, "is_preview_deployments_active", is_preview_deployments_active)
if is_static_spa is not None:
pulumi.set(__self__, "is_static_spa", is_static_spa)
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 owner is not None:
pulumi.set(__self__, "owner", owner)
if password is not None:
pulumi.set(__self__, "password", password)
if placement_swarm is not None:
pulumi.set(__self__, "placement_swarm", placement_swarm)
if preview_build_args is not None:
pulumi.set(__self__, "preview_build_args", preview_build_args)
if preview_build_secrets is not None:
pulumi.set(__self__, "preview_build_secrets", preview_build_secrets)
if preview_certificate_type is not None:
pulumi.set(__self__, "preview_certificate_type", preview_certificate_type)
if preview_custom_cert_resolver is not None:
pulumi.set(__self__, "preview_custom_cert_resolver", preview_custom_cert_resolver)
if preview_env is not None:
pulumi.set(__self__, "preview_env", preview_env)
if preview_https is not None:
pulumi.set(__self__, "preview_https", preview_https)
if preview_labels is not None:
pulumi.set(__self__, "preview_labels", preview_labels)
if preview_limit is not None:
pulumi.set(__self__, "preview_limit", preview_limit)
if preview_path is not None:
pulumi.set(__self__, "preview_path", preview_path)
if preview_port is not None:
pulumi.set(__self__, "preview_port", preview_port)
if preview_require_collaborator_permissions is not None:
pulumi.set(__self__, "preview_require_collaborator_permissions", preview_require_collaborator_permissions)
if preview_wildcard is not None:
pulumi.set(__self__, "preview_wildcard", preview_wildcard)
if publish_directory is not None:
pulumi.set(__self__, "publish_directory", publish_directory)
if railpack_version is not None:
pulumi.set(__self__, "railpack_version", railpack_version)
if registry_id is not None:
pulumi.set(__self__, "registry_id", registry_id)
if registry_url is not None:
pulumi.set(__self__, "registry_url", registry_url)
if replicas is not None:
pulumi.set(__self__, "replicas", replicas)
if repository is not None:
pulumi.set(__self__, "repository", repository)
if restart_policy_swarm is not None:
pulumi.set(__self__, "restart_policy_swarm", restart_policy_swarm)
if rollback_active is not None:
pulumi.set(__self__, "rollback_active", rollback_active)
if rollback_config_swarm is not None:
pulumi.set(__self__, "rollback_config_swarm", rollback_config_swarm)
if rollback_registry_id is not None:
pulumi.set(__self__, "rollback_registry_id", rollback_registry_id)
if server_id is not None:
pulumi.set(__self__, "server_id", server_id)
if source_type is not None:
pulumi.set(__self__, "source_type", source_type)
if stop_grace_period_swarm is not None:
pulumi.set(__self__, "stop_grace_period_swarm", stop_grace_period_swarm)
if subtitle is not None:
pulumi.set(__self__, "subtitle", subtitle)
if title is not None:
pulumi.set(__self__, "title", title)
if trigger_type is not None:
pulumi.set(__self__, "trigger_type", trigger_type)
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)
if username is not None:
pulumi.set(__self__, "username", username)
if watch_paths is not None:
pulumi.set(__self__, "watch_paths", watch_paths)
@_builtins.property
@pulumi.getter(name="environmentId")
def environment_id(self) -> pulumi.Input[_builtins.str]:
"""
Environment this application belongs to.
"""
return pulumi.get(self, "environment_id")
@environment_id.setter
def environment_id(self, value: pulumi.Input[_builtins.str]):
pulumi.set(self, "environment_id", value)
@_builtins.property
@pulumi.getter(name="appName")
def app_name(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Unique Docker service name. Generated by Dokploy when omitted. Changing it forces a new application.
"""
return pulumi.get(self, "app_name")
@app_name.setter
def app_name(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "app_name", value)
@_builtins.property
@pulumi.getter
def args(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]:
"""
Arguments appended to the container command.
"""
return pulumi.get(self, "args")
@args.setter
def args(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]):
pulumi.set(self, "args", value)
@_builtins.property
@pulumi.getter(name="autoDeploy")
def auto_deploy(self) -> pulumi.Input[Optional[_builtins.bool]]:
"""
Deploy automatically when the configured trigger fires.
"""
return pulumi.get(self, "auto_deploy")
@auto_deploy.setter
def auto_deploy(self, value: pulumi.Input[Optional[_builtins.bool]]):
pulumi.set(self, "auto_deploy", value)
@_builtins.property
@pulumi.getter(name="bitbucketBranch")
def bitbucket_branch(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Bitbucket branch to build.
"""
return pulumi.get(self, "bitbucket_branch")
@bitbucket_branch.setter
def bitbucket_branch(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "bitbucket_branch", value)
@_builtins.property
@pulumi.getter(name="bitbucketBuildPath")
def bitbucket_build_path(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Path within the Bitbucket repository to build from.
"""
return pulumi.get(self, "bitbucket_build_path")
@bitbucket_build_path.setter
def bitbucket_build_path(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "bitbucket_build_path", value)
@_builtins.property
@pulumi.getter(name="bitbucketId")
def bitbucket_id(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
ID of the configured Bitbucket provider connection.
"""
return pulumi.get(self, "bitbucket_id")
@bitbucket_id.setter
def bitbucket_id(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "bitbucket_id", value)
@_builtins.property
@pulumi.getter(name="bitbucketOwner")
def bitbucket_owner(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Bitbucket repository owner.
"""
return pulumi.get(self, "bitbucket_owner")
@bitbucket_owner.setter
def bitbucket_owner(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "bitbucket_owner", value)
@_builtins.property
@pulumi.getter(name="bitbucketRepository")
def bitbucket_repository(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Bitbucket repository name.
"""
return pulumi.get(self, "bitbucket_repository")
@bitbucket_repository.setter
def bitbucket_repository(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "bitbucket_repository", value)
@_builtins.property
@pulumi.getter(name="bitbucketRepositorySlug")
def bitbucket_repository_slug(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Bitbucket repository slug.
"""
return pulumi.get(self, "bitbucket_repository_slug")
@bitbucket_repository_slug.setter
def bitbucket_repository_slug(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "bitbucket_repository_slug", value)
@_builtins.property
@pulumi.getter
def branch(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
GitHub branch to build.
"""
return pulumi.get(self, "branch")
@branch.setter
def branch(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "branch", value)
@_builtins.property
@pulumi.getter(name="buildArgs")
def build_args(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Docker build arguments in `KEY=value` format, one per line.
"""
return pulumi.get(self, "build_args")
@build_args.setter
def build_args(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "build_args", value)
@_builtins.property
@pulumi.getter(name="buildPath")
def build_path(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Path within the GitHub repository to build from.
"""
return pulumi.get(self, "build_path")
@build_path.setter
def build_path(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "build_path", value)
@_builtins.property
@pulumi.getter(name="buildRegistryId")
def build_registry_id(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Registry used by a dedicated build server.
"""
return pulumi.get(self, "build_registry_id")
@build_registry_id.setter
def build_registry_id(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "build_registry_id", value)
@_builtins.property
@pulumi.getter(name="buildSecrets")
def build_secrets(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Docker build secrets in `KEY=value` format, one per line.
"""
return pulumi.get(self, "build_secrets")
@build_secrets.setter
def build_secrets(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "build_secrets", value)
@_builtins.property
@pulumi.getter(name="buildServerId")
def build_server_id(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Server that performs builds, when separate from the deploy server.
"""
return pulumi.get(self, "build_server_id")
@build_server_id.setter
def build_server_id(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "build_server_id", value)
@_builtins.property
@pulumi.getter(name="buildType")
def build_type(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
How the application is built. Valid values: `dockerfile`, `heroku_buildpacks`, `paketo_buildpacks`, `nixpacks`, `static`, `railpack`.
"""
return pulumi.get(self, "build_type")
@build_type.setter
def build_type(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "build_type", value)
@_builtins.property
@pulumi.getter(name="cleanCache")
def clean_cache(self) -> pulumi.Input[Optional[_builtins.bool]]:
"""
Discard the build cache on the next deployment.
"""
return pulumi.get(self, "clean_cache")
@clean_cache.setter
def clean_cache(self, value: pulumi.Input[Optional[_builtins.bool]]):
pulumi.set(self, "clean_cache", value)
@_builtins.property
@pulumi.getter
def command(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Override the container entrypoint command.
"""
return pulumi.get(self, "command")
@command.setter
def command(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "command", value)
@_builtins.property
@pulumi.getter(name="cpuLimit")
def cpu_limit(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Hard CPU limit, for example `1`.
"""
return pulumi.get(self, "cpu_limit")
@cpu_limit.setter
def cpu_limit(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "cpu_limit", value)
@_builtins.property
@pulumi.getter(name="cpuReservation")
def cpu_reservation(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Soft CPU reservation, for example `0.5`.
"""
return pulumi.get(self, "cpu_reservation")
@cpu_reservation.setter
def cpu_reservation(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "cpu_reservation", value)
@_builtins.property
@pulumi.getter(name="createEnvFile")
def create_env_file(self) -> pulumi.Input[Optional[_builtins.bool]]:
"""
Write the environment variables to a `.env` file in the container.
"""
return pulumi.get(self, "create_env_file")
@create_env_file.setter
def create_env_file(self, value: pulumi.Input[Optional[_builtins.bool]]):
pulumi.set(self, "create_env_file", value)
@_builtins.property
@pulumi.getter(name="customGitBranch")
def custom_git_branch(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Branch to build for a custom Git remote.
"""
return pulumi.get(self, "custom_git_branch")
@custom_git_branch.setter
def custom_git_branch(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "custom_git_branch", value)
@_builtins.property
@pulumi.getter(name="customGitBuildPath")
def custom_git_build_path(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Path within a custom Git repository to build from.
"""
return pulumi.get(self, "custom_git_build_path")
@custom_git_build_path.setter
def custom_git_build_path(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "custom_git_build_path", value)
@_builtins.property
@pulumi.getter(name="customGitSshKeyId")
def custom_git_ssh_key_id(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
SSH key used to clone a private custom Git remote.
"""
return pulumi.get(self, "custom_git_ssh_key_id")
@custom_git_ssh_key_id.setter
def custom_git_ssh_key_id(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "custom_git_ssh_key_id", value)
@_builtins.property
@pulumi.getter(name="customGitUrl")
def custom_git_url(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Git remote URL, when `source_type` is `git`.
"""
return pulumi.get(self, "custom_git_url")
@custom_git_url.setter
def custom_git_url(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "custom_git_url", value)
@_builtins.property
@pulumi.getter
def description(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Free-form description.
"""
return pulumi.get(self, "description")
@description.setter
def description(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "description", value)
@_builtins.property
@pulumi.getter(name="detachDokployNetwork")
def detach_dokploy_network(self) -> pulumi.Input[Optional[_builtins.bool]]:
"""
Detach the service from the shared `dokploy-network`.
"""
return pulumi.get(self, "detach_dokploy_network")
@detach_dokploy_network.setter
def detach_dokploy_network(self, value: pulumi.Input[Optional[_builtins.bool]]):
pulumi.set(self, "detach_dokploy_network", value)
@_builtins.property
@pulumi.getter(name="dockerBuildStage")
def docker_build_stage(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Target stage for a multi-stage Docker build.
"""
return pulumi.get(self, "docker_build_stage")
@docker_build_stage.setter
def docker_build_stage(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "docker_build_stage", value)
@_builtins.property
@pulumi.getter(name="dockerContextPath")
def docker_context_path(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Docker build context path.
"""
return pulumi.get(self, "docker_context_path")
@docker_context_path.setter
def docker_context_path(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "docker_context_path", value)
@_builtins.property
@pulumi.getter(name="dockerImage")
def docker_image(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Docker image reference, when `source_type` is `docker`.
"""
return pulumi.get(self, "docker_image")
@docker_image.setter
def docker_image(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "docker_image", value)
@_builtins.property
@pulumi.getter
def dockerfile(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Path to the Dockerfile, when `build_type` is `dockerfile`.
"""
return pulumi.get(self, "dockerfile")
@dockerfile.setter
def dockerfile(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "dockerfile", value)
@_builtins.property
@pulumi.getter(name="enableSubmodules")
def enable_submodules(self) -> pulumi.Input[Optional[_builtins.bool]]:
"""
Clone Git submodules when checking out the repository.
"""
return pulumi.get(self, "enable_submodules")
@enable_submodules.setter
def enable_submodules(self, value: pulumi.Input[Optional[_builtins.bool]]):
pulumi.set(self, "enable_submodules", value)
@_builtins.property
@pulumi.getter
def enabled(self) -> pulumi.Input[Optional[_builtins.bool]]:
"""
Whether the application is enabled.
"""
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="endpointSpecSwarm")
def endpoint_spec_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Docker Swarm endpoint specification, as a JSON object.
"""
return pulumi.get(self, "endpoint_spec_swarm")
@endpoint_spec_swarm.setter
def endpoint_spec_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "endpoint_spec_swarm", value)
@_builtins.property
@pulumi.getter
def env(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Runtime environment variables in `KEY=value` format, one per line.
"""
return pulumi.get(self, "env")
@env.setter
def env(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "env", value)
@_builtins.property
@pulumi.getter(name="giteaBranch")
def gitea_branch(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Gitea branch to build.
"""
return pulumi.get(self, "gitea_branch")
@gitea_branch.setter
def gitea_branch(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "gitea_branch", value)
@_builtins.property
@pulumi.getter(name="giteaBuildPath")
def gitea_build_path(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Path within the Gitea repository to build from.
"""
return pulumi.get(self, "gitea_build_path")
@gitea_build_path.setter
def gitea_build_path(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "gitea_build_path", value)
@_builtins.property
@pulumi.getter(name="giteaId")
def gitea_id(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
ID of the configured Gitea provider connection.
"""
return pulumi.get(self, "gitea_id")
@gitea_id.setter
def gitea_id(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "gitea_id", value)
@_builtins.property
@pulumi.getter(name="giteaOwner")
def gitea_owner(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Gitea repository owner.
"""
return pulumi.get(self, "gitea_owner")
@gitea_owner.setter
def gitea_owner(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "gitea_owner", value)
@_builtins.property
@pulumi.getter(name="giteaRepository")
def gitea_repository(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Gitea repository name.
"""
return pulumi.get(self, "gitea_repository")
@gitea_repository.setter
def gitea_repository(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "gitea_repository", value)
@_builtins.property
@pulumi.getter(name="githubId")
def github_id(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
ID of the configured GitHub provider connection.
"""
return pulumi.get(self, "github_id")
@github_id.setter
def github_id(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "github_id", value)
@_builtins.property
@pulumi.getter(name="gitlabBranch")
def gitlab_branch(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
GitLab branch to build.
"""
return pulumi.get(self, "gitlab_branch")
@gitlab_branch.setter
def gitlab_branch(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "gitlab_branch", value)
@_builtins.property
@pulumi.getter(name="gitlabBuildPath")
def gitlab_build_path(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Path within the GitLab repository to build from.
"""
return pulumi.get(self, "gitlab_build_path")
@gitlab_build_path.setter
def gitlab_build_path(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "gitlab_build_path", value)
@_builtins.property
@pulumi.getter(name="gitlabId")
def gitlab_id(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
ID of the configured GitLab provider connection.
"""
return pulumi.get(self, "gitlab_id")
@gitlab_id.setter
def gitlab_id(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "gitlab_id", value)
@_builtins.property
@pulumi.getter(name="gitlabOwner")
def gitlab_owner(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
GitLab repository owner.
"""
return pulumi.get(self, "gitlab_owner")
@gitlab_owner.setter
def gitlab_owner(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "gitlab_owner", value)
@_builtins.property
@pulumi.getter(name="gitlabPathNamespace")
def gitlab_path_namespace(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Full GitLab namespace path.
"""
return pulumi.get(self, "gitlab_path_namespace")
@gitlab_path_namespace.setter
def gitlab_path_namespace(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "gitlab_path_namespace", value)
@_builtins.property
@pulumi.getter(name="gitlabProjectId")
def gitlab_project_id(self) -> pulumi.Input[Optional[_builtins.int]]:
"""
Numeric GitLab project ID.
"""
return pulumi.get(self, "gitlab_project_id")
@gitlab_project_id.setter
def gitlab_project_id(self, value: pulumi.Input[Optional[_builtins.int]]):
pulumi.set(self, "gitlab_project_id", value)
@_builtins.property
@pulumi.getter(name="gitlabRepository")
def gitlab_repository(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
GitLab repository name.
"""
return pulumi.get(self, "gitlab_repository")
@gitlab_repository.setter
def gitlab_repository(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "gitlab_repository", value)
@_builtins.property
@pulumi.getter(name="healthCheckSwarm")
def health_check_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Docker Swarm health check configuration, as a JSON object.
"""
return pulumi.get(self, "health_check_swarm")
@health_check_swarm.setter
def health_check_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "health_check_swarm", value)
@_builtins.property
@pulumi.getter(name="herokuVersion")
def heroku_version(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Heroku buildpack stack version.
"""
return pulumi.get(self, "heroku_version")
@heroku_version.setter
def heroku_version(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "heroku_version", value)
@_builtins.property
@pulumi.getter
def icon(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Icon shown next to the service in the Dokploy UI.
"""
return pulumi.get(self, "icon")
@icon.setter
def icon(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "icon", value)
@_builtins.property
@pulumi.getter(name="isPreviewDeploymentsActive")
def is_preview_deployments_active(self) -> pulumi.Input[Optional[_builtins.bool]]:
"""
Build a preview deployment for each pull request.
"""
return pulumi.get(self, "is_preview_deployments_active")
@is_preview_deployments_active.setter
def is_preview_deployments_active(self, value: pulumi.Input[Optional[_builtins.bool]]):
pulumi.set(self, "is_preview_deployments_active", value)
@_builtins.property
@pulumi.getter(name="isStaticSpa")
def is_static_spa(self) -> pulumi.Input[Optional[_builtins.bool]]:
"""
Serve a static build as a single-page application.
"""
return pulumi.get(self, "is_static_spa")
@is_static_spa.setter
def is_static_spa(self, value: pulumi.Input[Optional[_builtins.bool]]):
pulumi.set(self, "is_static_spa", value)
@_builtins.property
@pulumi.getter(name="labelsSwarm")
def labels_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Docker Swarm service labels, as a JSON object.
"""
return pulumi.get(self, "labels_swarm")
@labels_swarm.setter
def labels_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "labels_swarm", value)
@_builtins.property
@pulumi.getter(name="memoryLimit")
def memory_limit(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Hard memory limit, for example `512m`.
"""
return pulumi.get(self, "memory_limit")
@memory_limit.setter
def memory_limit(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "memory_limit", value)
@_builtins.property
@pulumi.getter(name="memoryReservation")
def memory_reservation(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Soft memory reservation, for example `256m`.
"""
return pulumi.get(self, "memory_reservation")
@memory_reservation.setter
def memory_reservation(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "memory_reservation", value)
@_builtins.property
@pulumi.getter(name="modeSwarm")
def mode_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Docker Swarm service mode, as a JSON object.
"""
return pulumi.get(self, "mode_swarm")
@mode_swarm.setter
def mode_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "mode_swarm", value)
@_builtins.property
@pulumi.getter
def name(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Display name of the application.
"""
return pulumi.get(self, "name")
@name.setter
def name(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "name", value)
@_builtins.property
@pulumi.getter(name="networkIds")
def network_ids(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]:
"""
IDs of additional Docker networks to attach.
"""
return pulumi.get(self, "network_ids")
@network_ids.setter
def network_ids(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]):
pulumi.set(self, "network_ids", value)
@_builtins.property
@pulumi.getter(name="networkSwarm")
def network_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Docker Swarm network attachments, as a JSON array.
"""
return pulumi.get(self, "network_swarm")
@network_swarm.setter
def network_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "network_swarm", value)
@_builtins.property
@pulumi.getter
def owner(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
GitHub repository owner.
"""
return pulumi.get(self, "owner")
@owner.setter
def owner(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "owner", value)
@_builtins.property
@pulumi.getter
def password(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Registry password, when pulling a private image.
"""
return pulumi.get(self, "password")
@password.setter
def password(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "password", value)
@_builtins.property
@pulumi.getter(name="placementSwarm")
def placement_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Docker Swarm placement constraints, as a JSON object.
"""
return pulumi.get(self, "placement_swarm")
@placement_swarm.setter
def placement_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "placement_swarm", value)
@_builtins.property
@pulumi.getter(name="previewBuildArgs")
def preview_build_args(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Build arguments applied to preview deployments.
"""
return pulumi.get(self, "preview_build_args")
@preview_build_args.setter
def preview_build_args(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "preview_build_args", value)
@_builtins.property
@pulumi.getter(name="previewBuildSecrets")
def preview_build_secrets(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Build secrets applied to preview deployments.
"""
return pulumi.get(self, "preview_build_secrets")
@preview_build_secrets.setter
def preview_build_secrets(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "preview_build_secrets", value)
@_builtins.property
@pulumi.getter(name="previewCertificateType")
def preview_certificate_type(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Certificate strategy for preview deployments. Valid values: `letsencrypt`, `none`, `custom`.
"""
return pulumi.get(self, "preview_certificate_type")
@preview_certificate_type.setter
def preview_certificate_type(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "preview_certificate_type", value)
@_builtins.property
@pulumi.getter(name="previewCustomCertResolver")
def preview_custom_cert_resolver(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Traefik certificate resolver for preview deployments.
"""
return pulumi.get(self, "preview_custom_cert_resolver")
@preview_custom_cert_resolver.setter
def preview_custom_cert_resolver(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "preview_custom_cert_resolver", value)
@_builtins.property
@pulumi.getter(name="previewEnv")
def preview_env(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Environment variables applied to preview deployments.
"""
return pulumi.get(self, "preview_env")
@preview_env.setter
def preview_env(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "preview_env", value)
@_builtins.property
@pulumi.getter(name="previewHttps")
def preview_https(self) -> pulumi.Input[Optional[_builtins.bool]]:
"""
Serve preview deployments over HTTPS.
"""
return pulumi.get(self, "preview_https")
@preview_https.setter
def preview_https(self, value: pulumi.Input[Optional[_builtins.bool]]):
pulumi.set(self, "preview_https", value)
@_builtins.property
@pulumi.getter(name="previewLabels")
def preview_labels(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]:
"""
Pull request labels that opt into preview deployments.
"""
return pulumi.get(self, "preview_labels")
@preview_labels.setter
def preview_labels(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]):
pulumi.set(self, "preview_labels", value)
@_builtins.property
@pulumi.getter(name="previewLimit")
def preview_limit(self) -> pulumi.Input[Optional[_builtins.int]]:
"""
Maximum number of concurrent preview deployments.
"""
return pulumi.get(self, "preview_limit")
@preview_limit.setter
def preview_limit(self, value: pulumi.Input[Optional[_builtins.int]]):
pulumi.set(self, "preview_limit", value)
@_builtins.property
@pulumi.getter(name="previewPath")
def preview_path(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Base path for preview deployments.
"""
return pulumi.get(self, "preview_path")
@preview_path.setter
def preview_path(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "preview_path", value)
@_builtins.property
@pulumi.getter(name="previewPort")
def preview_port(self) -> pulumi.Input[Optional[_builtins.int]]:
"""
Container port exposed by preview deployments.
"""
return pulumi.get(self, "preview_port")
@preview_port.setter
def preview_port(self, value: pulumi.Input[Optional[_builtins.int]]):
pulumi.set(self, "preview_port", value)
@_builtins.property
@pulumi.getter(name="previewRequireCollaboratorPermissions")
def preview_require_collaborator_permissions(self) -> pulumi.Input[Optional[_builtins.bool]]:
"""
Only build previews for pull requests opened by users with repository collaborator permissions.
"""
return pulumi.get(self, "preview_require_collaborator_permissions")
@preview_require_collaborator_permissions.setter
def preview_require_collaborator_permissions(self, value: pulumi.Input[Optional[_builtins.bool]]):
pulumi.set(self, "preview_require_collaborator_permissions", value)
@_builtins.property
@pulumi.getter(name="previewWildcard")
def preview_wildcard(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Wildcard domain used to expose preview deployments.
"""
return pulumi.get(self, "preview_wildcard")
@preview_wildcard.setter
def preview_wildcard(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "preview_wildcard", value)
@_builtins.property
@pulumi.getter(name="publishDirectory")
def publish_directory(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Directory served when `build_type` is `static`.
"""
return pulumi.get(self, "publish_directory")
@publish_directory.setter
def publish_directory(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "publish_directory", value)
@_builtins.property
@pulumi.getter(name="railpackVersion")
def railpack_version(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Railpack version.
"""
return pulumi.get(self, "railpack_version")
@railpack_version.setter
def railpack_version(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "railpack_version", value)
@_builtins.property
@pulumi.getter(name="registryId")
def registry_id(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Registry used to push the built image.
"""
return pulumi.get(self, "registry_id")
@registry_id.setter
def registry_id(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "registry_id", value)
@_builtins.property
@pulumi.getter(name="registryUrl")
def registry_url(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Registry URL, when pulling a private image.
"""
return pulumi.get(self, "registry_url")
@registry_url.setter
def registry_url(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "registry_url", value)
@_builtins.property
@pulumi.getter
def replicas(self) -> pulumi.Input[Optional[_builtins.int]]:
"""
Number of replicas to run.
"""
return pulumi.get(self, "replicas")
@replicas.setter
def replicas(self, value: pulumi.Input[Optional[_builtins.int]]):
pulumi.set(self, "replicas", value)
@_builtins.property
@pulumi.getter
def repository(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
GitHub repository name.
"""
return pulumi.get(self, "repository")
@repository.setter
def repository(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "repository", value)
@_builtins.property
@pulumi.getter(name="restartPolicySwarm")
def restart_policy_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Docker Swarm restart policy, as a JSON object.
"""
return pulumi.get(self, "restart_policy_swarm")
@restart_policy_swarm.setter
def restart_policy_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "restart_policy_swarm", value)
@_builtins.property
@pulumi.getter(name="rollbackActive")
def rollback_active(self) -> pulumi.Input[Optional[_builtins.bool]]:
"""
Keep previous images so deployments can be rolled back.
"""
return pulumi.get(self, "rollback_active")
@rollback_active.setter
def rollback_active(self, value: pulumi.Input[Optional[_builtins.bool]]):
pulumi.set(self, "rollback_active", value)
@_builtins.property
@pulumi.getter(name="rollbackConfigSwarm")
def rollback_config_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Docker Swarm rollback configuration, as a JSON object.
"""
return pulumi.get(self, "rollback_config_swarm")
@rollback_config_swarm.setter
def rollback_config_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "rollback_config_swarm", value)
@_builtins.property
@pulumi.getter(name="rollbackRegistryId")
def rollback_registry_id(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Registry used to store rollback images.
"""
return pulumi.get(self, "rollback_registry_id")
@rollback_registry_id.setter
def rollback_registry_id(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "rollback_registry_id", value)
@_builtins.property
@pulumi.getter(name="serverId")
def server_id(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Remote server to deploy on. Omit to use the Dokploy host itself.
"""
return pulumi.get(self, "server_id")
@server_id.setter
def server_id(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "server_id", value)
@_builtins.property
@pulumi.getter(name="sourceType")
def source_type(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Where the application's code or image comes from. Valid values: `docker`, `git`, `github`, `gitlab`, `bitbucket`, `gitea`, `drop`.
"""
return pulumi.get(self, "source_type")
@source_type.setter
def source_type(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "source_type", value)
@_builtins.property
@pulumi.getter(name="stopGracePeriodSwarm")
def stop_grace_period_swarm(self) -> pulumi.Input[Optional[_builtins.int]]:
"""
Grace period in nanoseconds before a container is killed.
"""
return pulumi.get(self, "stop_grace_period_swarm")
@stop_grace_period_swarm.setter
def stop_grace_period_swarm(self, value: pulumi.Input[Optional[_builtins.int]]):
pulumi.set(self, "stop_grace_period_swarm", value)
@_builtins.property
@pulumi.getter
def subtitle(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Display subtitle shown in the Dokploy UI.
"""
return pulumi.get(self, "subtitle")
@subtitle.setter
def subtitle(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "subtitle", value)
@_builtins.property
@pulumi.getter
def title(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Display title shown in the Dokploy UI.
"""
return pulumi.get(self, "title")
@title.setter
def title(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "title", value)
@_builtins.property
@pulumi.getter(name="triggerType")
def trigger_type(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
What triggers an automatic GitHub deployment. Valid values: `push`, `tag`.
"""
return pulumi.get(self, "trigger_type")
@trigger_type.setter
def trigger_type(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "trigger_type", value)
@_builtins.property
@pulumi.getter(name="ulimitsSwarm")
def ulimits_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Docker Swarm ulimits, as a JSON object.
"""
return pulumi.get(self, "ulimits_swarm")
@ulimits_swarm.setter
def ulimits_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "ulimits_swarm", value)
@_builtins.property
@pulumi.getter(name="updateConfigSwarm")
def update_config_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Docker Swarm rolling update configuration, as a JSON object.
"""
return pulumi.get(self, "update_config_swarm")
@update_config_swarm.setter
def update_config_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "update_config_swarm", value)
@_builtins.property
@pulumi.getter
def username(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Registry username, when pulling a private image.
"""
return pulumi.get(self, "username")
@username.setter
def username(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "username", value)
@_builtins.property
@pulumi.getter(name="watchPaths")
def watch_paths(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]:
"""
Glob patterns that limit which changed paths trigger an automatic deployment.
"""
return pulumi.get(self, "watch_paths")
@watch_paths.setter
def watch_paths(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]):
pulumi.set(self, "watch_paths", value)
@pulumi.input_type
class _ApplicationState:
def __init__(__self__, *,
app_name: pulumi.Input[Optional[_builtins.str]] = None,
application_status: pulumi.Input[Optional[_builtins.str]] = None,
args: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None,
auto_deploy: pulumi.Input[Optional[_builtins.bool]] = None,
bitbucket_branch: pulumi.Input[Optional[_builtins.str]] = None,
bitbucket_build_path: pulumi.Input[Optional[_builtins.str]] = None,
bitbucket_id: pulumi.Input[Optional[_builtins.str]] = None,
bitbucket_owner: pulumi.Input[Optional[_builtins.str]] = None,
bitbucket_repository: pulumi.Input[Optional[_builtins.str]] = None,
bitbucket_repository_slug: pulumi.Input[Optional[_builtins.str]] = None,
branch: pulumi.Input[Optional[_builtins.str]] = None,
build_args: pulumi.Input[Optional[_builtins.str]] = None,
build_path: pulumi.Input[Optional[_builtins.str]] = None,
build_registry_id: pulumi.Input[Optional[_builtins.str]] = None,
build_secrets: pulumi.Input[Optional[_builtins.str]] = None,
build_server_id: pulumi.Input[Optional[_builtins.str]] = None,
build_type: pulumi.Input[Optional[_builtins.str]] = None,
clean_cache: pulumi.Input[Optional[_builtins.bool]] = None,
command: pulumi.Input[Optional[_builtins.str]] = None,
cpu_limit: pulumi.Input[Optional[_builtins.str]] = None,
cpu_reservation: pulumi.Input[Optional[_builtins.str]] = None,
create_env_file: pulumi.Input[Optional[_builtins.bool]] = None,
created_at: pulumi.Input[Optional[_builtins.str]] = None,
custom_git_branch: pulumi.Input[Optional[_builtins.str]] = None,
custom_git_build_path: pulumi.Input[Optional[_builtins.str]] = None,
custom_git_ssh_key_id: pulumi.Input[Optional[_builtins.str]] = None,
custom_git_url: pulumi.Input[Optional[_builtins.str]] = None,
description: pulumi.Input[Optional[_builtins.str]] = None,
detach_dokploy_network: pulumi.Input[Optional[_builtins.bool]] = None,
docker_build_stage: pulumi.Input[Optional[_builtins.str]] = None,
docker_context_path: pulumi.Input[Optional[_builtins.str]] = None,
docker_image: pulumi.Input[Optional[_builtins.str]] = None,
dockerfile: pulumi.Input[Optional[_builtins.str]] = None,
enable_submodules: pulumi.Input[Optional[_builtins.bool]] = None,
enabled: pulumi.Input[Optional[_builtins.bool]] = None,
endpoint_spec_swarm: pulumi.Input[Optional[_builtins.str]] = None,
env: pulumi.Input[Optional[_builtins.str]] = None,
environment_id: pulumi.Input[Optional[_builtins.str]] = None,
gitea_branch: pulumi.Input[Optional[_builtins.str]] = None,
gitea_build_path: pulumi.Input[Optional[_builtins.str]] = None,
gitea_id: pulumi.Input[Optional[_builtins.str]] = None,
gitea_owner: pulumi.Input[Optional[_builtins.str]] = None,
gitea_repository: pulumi.Input[Optional[_builtins.str]] = None,
github_id: pulumi.Input[Optional[_builtins.str]] = None,
gitlab_branch: pulumi.Input[Optional[_builtins.str]] = None,
gitlab_build_path: pulumi.Input[Optional[_builtins.str]] = None,
gitlab_id: pulumi.Input[Optional[_builtins.str]] = None,
gitlab_owner: pulumi.Input[Optional[_builtins.str]] = None,
gitlab_path_namespace: pulumi.Input[Optional[_builtins.str]] = None,
gitlab_project_id: pulumi.Input[Optional[_builtins.int]] = None,
gitlab_repository: pulumi.Input[Optional[_builtins.str]] = None,
health_check_swarm: pulumi.Input[Optional[_builtins.str]] = None,
heroku_version: pulumi.Input[Optional[_builtins.str]] = None,
icon: pulumi.Input[Optional[_builtins.str]] = None,
is_preview_deployments_active: pulumi.Input[Optional[_builtins.bool]] = None,
is_static_spa: pulumi.Input[Optional[_builtins.bool]] = None,
labels_swarm: pulumi.Input[Optional[_builtins.str]] = None,
memory_limit: pulumi.Input[Optional[_builtins.str]] = None,
memory_reservation: pulumi.Input[Optional[_builtins.str]] = None,
mode_swarm: pulumi.Input[Optional[_builtins.str]] = None,
name: pulumi.Input[Optional[_builtins.str]] = None,
network_ids: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None,
network_swarm: pulumi.Input[Optional[_builtins.str]] = None,
owner: pulumi.Input[Optional[_builtins.str]] = None,
password: pulumi.Input[Optional[_builtins.str]] = None,
placement_swarm: pulumi.Input[Optional[_builtins.str]] = None,
preview_build_args: pulumi.Input[Optional[_builtins.str]] = None,
preview_build_secrets: pulumi.Input[Optional[_builtins.str]] = None,
preview_certificate_type: pulumi.Input[Optional[_builtins.str]] = None,
preview_custom_cert_resolver: pulumi.Input[Optional[_builtins.str]] = None,
preview_env: pulumi.Input[Optional[_builtins.str]] = None,
preview_https: pulumi.Input[Optional[_builtins.bool]] = None,
preview_labels: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None,
preview_limit: pulumi.Input[Optional[_builtins.int]] = None,
preview_path: pulumi.Input[Optional[_builtins.str]] = None,
preview_port: pulumi.Input[Optional[_builtins.int]] = None,
preview_require_collaborator_permissions: pulumi.Input[Optional[_builtins.bool]] = None,
preview_wildcard: pulumi.Input[Optional[_builtins.str]] = None,
publish_directory: pulumi.Input[Optional[_builtins.str]] = None,
railpack_version: pulumi.Input[Optional[_builtins.str]] = None,
registry_id: pulumi.Input[Optional[_builtins.str]] = None,
registry_url: pulumi.Input[Optional[_builtins.str]] = None,
replicas: pulumi.Input[Optional[_builtins.int]] = None,
repository: pulumi.Input[Optional[_builtins.str]] = None,
restart_policy_swarm: pulumi.Input[Optional[_builtins.str]] = None,
rollback_active: pulumi.Input[Optional[_builtins.bool]] = None,
rollback_config_swarm: pulumi.Input[Optional[_builtins.str]] = None,
rollback_registry_id: pulumi.Input[Optional[_builtins.str]] = None,
server_id: pulumi.Input[Optional[_builtins.str]] = None,
source_type: pulumi.Input[Optional[_builtins.str]] = None,
stop_grace_period_swarm: pulumi.Input[Optional[_builtins.int]] = None,
subtitle: pulumi.Input[Optional[_builtins.str]] = None,
title: pulumi.Input[Optional[_builtins.str]] = None,
trigger_type: pulumi.Input[Optional[_builtins.str]] = None,
ulimits_swarm: pulumi.Input[Optional[_builtins.str]] = None,
update_config_swarm: pulumi.Input[Optional[_builtins.str]] = None,
username: pulumi.Input[Optional[_builtins.str]] = None,
watch_paths: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None):
"""
Input properties used for looking up and filtering Application resources.
:param pulumi.Input[_builtins.str] app_name: Unique Docker service name. Generated by Dokploy when omitted. Changing it forces a new application.
: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.bool] auto_deploy: Deploy automatically when the configured trigger fires.
:param pulumi.Input[_builtins.str] bitbucket_branch: Bitbucket branch to build.
:param pulumi.Input[_builtins.str] bitbucket_build_path: Path within the Bitbucket repository to build from.
:param pulumi.Input[_builtins.str] bitbucket_id: ID of the configured Bitbucket provider connection.
:param pulumi.Input[_builtins.str] bitbucket_owner: Bitbucket repository owner.
:param pulumi.Input[_builtins.str] bitbucket_repository: Bitbucket repository name.
:param pulumi.Input[_builtins.str] bitbucket_repository_slug: Bitbucket repository slug.
:param pulumi.Input[_builtins.str] branch: GitHub branch to build.
:param pulumi.Input[_builtins.str] build_args: Docker build arguments in `KEY=value` format, one per line.
:param pulumi.Input[_builtins.str] build_path: Path within the GitHub repository to build from.
:param pulumi.Input[_builtins.str] build_registry_id: Registry used by a dedicated build server.
:param pulumi.Input[_builtins.str] build_secrets: Docker build secrets in `KEY=value` format, one per line.
:param pulumi.Input[_builtins.str] build_server_id: Server that performs builds, when separate from the deploy server.
:param pulumi.Input[_builtins.str] build_type: How the application is built. Valid values: `dockerfile`, `heroku_buildpacks`, `paketo_buildpacks`, `nixpacks`, `static`, `railpack`.
:param pulumi.Input[_builtins.bool] clean_cache: Discard the build cache on the next deployment.
: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.bool] create_env_file: Write the environment variables to a `.env` file in the container.
:param pulumi.Input[_builtins.str] created_at: RFC 3339 timestamp of when the application was created.
:param pulumi.Input[_builtins.str] custom_git_branch: Branch to build for a custom Git remote.
:param pulumi.Input[_builtins.str] custom_git_build_path: Path within a custom Git repository to build from.
:param pulumi.Input[_builtins.str] custom_git_ssh_key_id: SSH key used to clone a private custom Git remote.
:param pulumi.Input[_builtins.str] custom_git_url: Git remote URL, when `source_type` is `git`.
: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_build_stage: Target stage for a multi-stage Docker build.
:param pulumi.Input[_builtins.str] docker_context_path: Docker build context path.
:param pulumi.Input[_builtins.str] docker_image: Docker image reference, when `source_type` is `docker`.
:param pulumi.Input[_builtins.str] dockerfile: Path to the Dockerfile, when `build_type` is `dockerfile`.
:param pulumi.Input[_builtins.bool] enable_submodules: Clone Git submodules when checking out the repository.
:param pulumi.Input[_builtins.bool] enabled: Whether the application is enabled.
:param pulumi.Input[_builtins.str] endpoint_spec_swarm: Docker Swarm endpoint specification, as a JSON object.
:param pulumi.Input[_builtins.str] env: Runtime environment variables in `KEY=value` format, one per line.
:param pulumi.Input[_builtins.str] environment_id: Environment this application belongs to.
:param pulumi.Input[_builtins.str] gitea_branch: Gitea branch to build.
:param pulumi.Input[_builtins.str] gitea_build_path: Path within the Gitea repository to build from.
:param pulumi.Input[_builtins.str] gitea_id: ID of the configured Gitea provider connection.
:param pulumi.Input[_builtins.str] gitea_owner: Gitea repository owner.
:param pulumi.Input[_builtins.str] gitea_repository: Gitea repository name.
:param pulumi.Input[_builtins.str] github_id: ID of the configured GitHub provider connection.
:param pulumi.Input[_builtins.str] gitlab_branch: GitLab branch to build.
:param pulumi.Input[_builtins.str] gitlab_build_path: Path within the GitLab repository to build from.
:param pulumi.Input[_builtins.str] gitlab_id: ID of the configured GitLab provider connection.
:param pulumi.Input[_builtins.str] gitlab_owner: GitLab repository owner.
:param pulumi.Input[_builtins.str] gitlab_path_namespace: Full GitLab namespace path.
:param pulumi.Input[_builtins.int] gitlab_project_id: Numeric GitLab project ID.
:param pulumi.Input[_builtins.str] gitlab_repository: GitLab repository name.
:param pulumi.Input[_builtins.str] health_check_swarm: Docker Swarm health check configuration, as a JSON object.
:param pulumi.Input[_builtins.str] heroku_version: Heroku buildpack stack version.
:param pulumi.Input[_builtins.str] icon: Icon shown next to the service in the Dokploy UI.
:param pulumi.Input[_builtins.bool] is_preview_deployments_active: Build a preview deployment for each pull request.
:param pulumi.Input[_builtins.bool] is_static_spa: Serve a static build as a single-page application.
: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 application.
: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] owner: GitHub repository owner.
:param pulumi.Input[_builtins.str] password: Registry password, when pulling a private image.
:param pulumi.Input[_builtins.str] placement_swarm: Docker Swarm placement constraints, as a JSON object.
:param pulumi.Input[_builtins.str] preview_build_args: Build arguments applied to preview deployments.
:param pulumi.Input[_builtins.str] preview_build_secrets: Build secrets applied to preview deployments.
:param pulumi.Input[_builtins.str] preview_certificate_type: Certificate strategy for preview deployments. Valid values: `letsencrypt`, `none`, `custom`.
:param pulumi.Input[_builtins.str] preview_custom_cert_resolver: Traefik certificate resolver for preview deployments.
:param pulumi.Input[_builtins.str] preview_env: Environment variables applied to preview deployments.
:param pulumi.Input[_builtins.bool] preview_https: Serve preview deployments over HTTPS.
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] preview_labels: Pull request labels that opt into preview deployments.
:param pulumi.Input[_builtins.int] preview_limit: Maximum number of concurrent preview deployments.
:param pulumi.Input[_builtins.str] preview_path: Base path for preview deployments.
:param pulumi.Input[_builtins.int] preview_port: Container port exposed by preview deployments.
:param pulumi.Input[_builtins.bool] preview_require_collaborator_permissions: Only build previews for pull requests opened by users with repository collaborator permissions.
:param pulumi.Input[_builtins.str] preview_wildcard: Wildcard domain used to expose preview deployments.
:param pulumi.Input[_builtins.str] publish_directory: Directory served when `build_type` is `static`.
:param pulumi.Input[_builtins.str] railpack_version: Railpack version.
:param pulumi.Input[_builtins.str] registry_id: Registry used to push the built image.
:param pulumi.Input[_builtins.str] registry_url: Registry URL, when pulling a private image.
:param pulumi.Input[_builtins.int] replicas: Number of replicas to run.
:param pulumi.Input[_builtins.str] repository: GitHub repository name.
:param pulumi.Input[_builtins.str] restart_policy_swarm: Docker Swarm restart policy, as a JSON object.
:param pulumi.Input[_builtins.bool] rollback_active: Keep previous images so deployments can be rolled back.
:param pulumi.Input[_builtins.str] rollback_config_swarm: Docker Swarm rollback configuration, as a JSON object.
:param pulumi.Input[_builtins.str] rollback_registry_id: Registry used to store rollback images.
:param pulumi.Input[_builtins.str] server_id: Remote server to deploy on. Omit to use the Dokploy host itself.
:param pulumi.Input[_builtins.str] source_type: Where the application's code or image comes from. Valid values: `docker`, `git`, `github`, `gitlab`, `bitbucket`, `gitea`, `drop`.
:param pulumi.Input[_builtins.int] stop_grace_period_swarm: Grace period in nanoseconds before a container is killed.
:param pulumi.Input[_builtins.str] subtitle: Display subtitle shown in the Dokploy UI.
:param pulumi.Input[_builtins.str] title: Display title shown in the Dokploy UI.
:param pulumi.Input[_builtins.str] trigger_type: What triggers an automatic GitHub deployment. Valid values: `push`, `tag`.
: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.
:param pulumi.Input[_builtins.str] username: Registry username, when pulling a private image.
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] watch_paths: Glob patterns that limit which changed paths trigger an automatic deployment.
"""
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 auto_deploy is not None:
pulumi.set(__self__, "auto_deploy", auto_deploy)
if bitbucket_branch is not None:
pulumi.set(__self__, "bitbucket_branch", bitbucket_branch)
if bitbucket_build_path is not None:
pulumi.set(__self__, "bitbucket_build_path", bitbucket_build_path)
if bitbucket_id is not None:
pulumi.set(__self__, "bitbucket_id", bitbucket_id)
if bitbucket_owner is not None:
pulumi.set(__self__, "bitbucket_owner", bitbucket_owner)
if bitbucket_repository is not None:
pulumi.set(__self__, "bitbucket_repository", bitbucket_repository)
if bitbucket_repository_slug is not None:
pulumi.set(__self__, "bitbucket_repository_slug", bitbucket_repository_slug)
if branch is not None:
pulumi.set(__self__, "branch", branch)
if build_args is not None:
pulumi.set(__self__, "build_args", build_args)
if build_path is not None:
pulumi.set(__self__, "build_path", build_path)
if build_registry_id is not None:
pulumi.set(__self__, "build_registry_id", build_registry_id)
if build_secrets is not None:
pulumi.set(__self__, "build_secrets", build_secrets)
if build_server_id is not None:
pulumi.set(__self__, "build_server_id", build_server_id)
if build_type is not None:
pulumi.set(__self__, "build_type", build_type)
if clean_cache is not None:
pulumi.set(__self__, "clean_cache", clean_cache)
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 create_env_file is not None:
pulumi.set(__self__, "create_env_file", create_env_file)
if created_at is not None:
pulumi.set(__self__, "created_at", created_at)
if custom_git_branch is not None:
pulumi.set(__self__, "custom_git_branch", custom_git_branch)
if custom_git_build_path is not None:
pulumi.set(__self__, "custom_git_build_path", custom_git_build_path)
if custom_git_ssh_key_id is not None:
pulumi.set(__self__, "custom_git_ssh_key_id", custom_git_ssh_key_id)
if custom_git_url is not None:
pulumi.set(__self__, "custom_git_url", custom_git_url)
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_build_stage is not None:
pulumi.set(__self__, "docker_build_stage", docker_build_stage)
if docker_context_path is not None:
pulumi.set(__self__, "docker_context_path", docker_context_path)
if docker_image is not None:
pulumi.set(__self__, "docker_image", docker_image)
if dockerfile is not None:
pulumi.set(__self__, "dockerfile", dockerfile)
if enable_submodules is not None:
pulumi.set(__self__, "enable_submodules", enable_submodules)
if enabled is not None:
pulumi.set(__self__, "enabled", enabled)
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 gitea_branch is not None:
pulumi.set(__self__, "gitea_branch", gitea_branch)
if gitea_build_path is not None:
pulumi.set(__self__, "gitea_build_path", gitea_build_path)
if gitea_id is not None:
pulumi.set(__self__, "gitea_id", gitea_id)
if gitea_owner is not None:
pulumi.set(__self__, "gitea_owner", gitea_owner)
if gitea_repository is not None:
pulumi.set(__self__, "gitea_repository", gitea_repository)
if github_id is not None:
pulumi.set(__self__, "github_id", github_id)
if gitlab_branch is not None:
pulumi.set(__self__, "gitlab_branch", gitlab_branch)
if gitlab_build_path is not None:
pulumi.set(__self__, "gitlab_build_path", gitlab_build_path)
if gitlab_id is not None:
pulumi.set(__self__, "gitlab_id", gitlab_id)
if gitlab_owner is not None:
pulumi.set(__self__, "gitlab_owner", gitlab_owner)
if gitlab_path_namespace is not None:
pulumi.set(__self__, "gitlab_path_namespace", gitlab_path_namespace)
if gitlab_project_id is not None:
pulumi.set(__self__, "gitlab_project_id", gitlab_project_id)
if gitlab_repository is not None:
pulumi.set(__self__, "gitlab_repository", gitlab_repository)
if health_check_swarm is not None:
pulumi.set(__self__, "health_check_swarm", health_check_swarm)
if heroku_version is not None:
pulumi.set(__self__, "heroku_version", heroku_version)
if icon is not None:
pulumi.set(__self__, "icon", icon)
if is_preview_deployments_active is not None:
pulumi.set(__self__, "is_preview_deployments_active", is_preview_deployments_active)
if is_static_spa is not None:
pulumi.set(__self__, "is_static_spa", is_static_spa)
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 owner is not None:
pulumi.set(__self__, "owner", owner)
if password is not None:
pulumi.set(__self__, "password", password)
if placement_swarm is not None:
pulumi.set(__self__, "placement_swarm", placement_swarm)
if preview_build_args is not None:
pulumi.set(__self__, "preview_build_args", preview_build_args)
if preview_build_secrets is not None:
pulumi.set(__self__, "preview_build_secrets", preview_build_secrets)
if preview_certificate_type is not None:
pulumi.set(__self__, "preview_certificate_type", preview_certificate_type)
if preview_custom_cert_resolver is not None:
pulumi.set(__self__, "preview_custom_cert_resolver", preview_custom_cert_resolver)
if preview_env is not None:
pulumi.set(__self__, "preview_env", preview_env)
if preview_https is not None:
pulumi.set(__self__, "preview_https", preview_https)
if preview_labels is not None:
pulumi.set(__self__, "preview_labels", preview_labels)
if preview_limit is not None:
pulumi.set(__self__, "preview_limit", preview_limit)
if preview_path is not None:
pulumi.set(__self__, "preview_path", preview_path)
if preview_port is not None:
pulumi.set(__self__, "preview_port", preview_port)
if preview_require_collaborator_permissions is not None:
pulumi.set(__self__, "preview_require_collaborator_permissions", preview_require_collaborator_permissions)
if preview_wildcard is not None:
pulumi.set(__self__, "preview_wildcard", preview_wildcard)
if publish_directory is not None:
pulumi.set(__self__, "publish_directory", publish_directory)
if railpack_version is not None:
pulumi.set(__self__, "railpack_version", railpack_version)
if registry_id is not None:
pulumi.set(__self__, "registry_id", registry_id)
if registry_url is not None:
pulumi.set(__self__, "registry_url", registry_url)
if replicas is not None:
pulumi.set(__self__, "replicas", replicas)
if repository is not None:
pulumi.set(__self__, "repository", repository)
if restart_policy_swarm is not None:
pulumi.set(__self__, "restart_policy_swarm", restart_policy_swarm)
if rollback_active is not None:
pulumi.set(__self__, "rollback_active", rollback_active)
if rollback_config_swarm is not None:
pulumi.set(__self__, "rollback_config_swarm", rollback_config_swarm)
if rollback_registry_id is not None:
pulumi.set(__self__, "rollback_registry_id", rollback_registry_id)
if server_id is not None:
pulumi.set(__self__, "server_id", server_id)
if source_type is not None:
pulumi.set(__self__, "source_type", source_type)
if stop_grace_period_swarm is not None:
pulumi.set(__self__, "stop_grace_period_swarm", stop_grace_period_swarm)
if subtitle is not None:
pulumi.set(__self__, "subtitle", subtitle)
if title is not None:
pulumi.set(__self__, "title", title)
if trigger_type is not None:
pulumi.set(__self__, "trigger_type", trigger_type)
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)
if username is not None:
pulumi.set(__self__, "username", username)
if watch_paths is not None:
pulumi.set(__self__, "watch_paths", watch_paths)
@_builtins.property
@pulumi.getter(name="appName")
def app_name(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Unique Docker service name. Generated by Dokploy when omitted. Changing it forces a new application.
"""
return pulumi.get(self, "app_name")
@app_name.setter
def app_name(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "app_name", value)
@_builtins.property
@pulumi.getter(name="applicationStatus")
def application_status(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Current status reported by Dokploy: `idle`, `running`, `done` or `error`.
"""
return pulumi.get(self, "application_status")
@application_status.setter
def application_status(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "application_status", value)
@_builtins.property
@pulumi.getter
def args(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]:
"""
Arguments appended to the container command.
"""
return pulumi.get(self, "args")
@args.setter
def args(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]):
pulumi.set(self, "args", value)
@_builtins.property
@pulumi.getter(name="autoDeploy")
def auto_deploy(self) -> pulumi.Input[Optional[_builtins.bool]]:
"""
Deploy automatically when the configured trigger fires.
"""
return pulumi.get(self, "auto_deploy")
@auto_deploy.setter
def auto_deploy(self, value: pulumi.Input[Optional[_builtins.bool]]):
pulumi.set(self, "auto_deploy", value)
@_builtins.property
@pulumi.getter(name="bitbucketBranch")
def bitbucket_branch(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Bitbucket branch to build.
"""
return pulumi.get(self, "bitbucket_branch")
@bitbucket_branch.setter
def bitbucket_branch(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "bitbucket_branch", value)
@_builtins.property
@pulumi.getter(name="bitbucketBuildPath")
def bitbucket_build_path(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Path within the Bitbucket repository to build from.
"""
return pulumi.get(self, "bitbucket_build_path")
@bitbucket_build_path.setter
def bitbucket_build_path(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "bitbucket_build_path", value)
@_builtins.property
@pulumi.getter(name="bitbucketId")
def bitbucket_id(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
ID of the configured Bitbucket provider connection.
"""
return pulumi.get(self, "bitbucket_id")
@bitbucket_id.setter
def bitbucket_id(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "bitbucket_id", value)
@_builtins.property
@pulumi.getter(name="bitbucketOwner")
def bitbucket_owner(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Bitbucket repository owner.
"""
return pulumi.get(self, "bitbucket_owner")
@bitbucket_owner.setter
def bitbucket_owner(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "bitbucket_owner", value)
@_builtins.property
@pulumi.getter(name="bitbucketRepository")
def bitbucket_repository(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Bitbucket repository name.
"""
return pulumi.get(self, "bitbucket_repository")
@bitbucket_repository.setter
def bitbucket_repository(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "bitbucket_repository", value)
@_builtins.property
@pulumi.getter(name="bitbucketRepositorySlug")
def bitbucket_repository_slug(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Bitbucket repository slug.
"""
return pulumi.get(self, "bitbucket_repository_slug")
@bitbucket_repository_slug.setter
def bitbucket_repository_slug(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "bitbucket_repository_slug", value)
@_builtins.property
@pulumi.getter
def branch(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
GitHub branch to build.
"""
return pulumi.get(self, "branch")
@branch.setter
def branch(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "branch", value)
@_builtins.property
@pulumi.getter(name="buildArgs")
def build_args(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Docker build arguments in `KEY=value` format, one per line.
"""
return pulumi.get(self, "build_args")
@build_args.setter
def build_args(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "build_args", value)
@_builtins.property
@pulumi.getter(name="buildPath")
def build_path(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Path within the GitHub repository to build from.
"""
return pulumi.get(self, "build_path")
@build_path.setter
def build_path(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "build_path", value)
@_builtins.property
@pulumi.getter(name="buildRegistryId")
def build_registry_id(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Registry used by a dedicated build server.
"""
return pulumi.get(self, "build_registry_id")
@build_registry_id.setter
def build_registry_id(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "build_registry_id", value)
@_builtins.property
@pulumi.getter(name="buildSecrets")
def build_secrets(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Docker build secrets in `KEY=value` format, one per line.
"""
return pulumi.get(self, "build_secrets")
@build_secrets.setter
def build_secrets(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "build_secrets", value)
@_builtins.property
@pulumi.getter(name="buildServerId")
def build_server_id(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Server that performs builds, when separate from the deploy server.
"""
return pulumi.get(self, "build_server_id")
@build_server_id.setter
def build_server_id(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "build_server_id", value)
@_builtins.property
@pulumi.getter(name="buildType")
def build_type(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
How the application is built. Valid values: `dockerfile`, `heroku_buildpacks`, `paketo_buildpacks`, `nixpacks`, `static`, `railpack`.
"""
return pulumi.get(self, "build_type")
@build_type.setter
def build_type(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "build_type", value)
@_builtins.property
@pulumi.getter(name="cleanCache")
def clean_cache(self) -> pulumi.Input[Optional[_builtins.bool]]:
"""
Discard the build cache on the next deployment.
"""
return pulumi.get(self, "clean_cache")
@clean_cache.setter
def clean_cache(self, value: pulumi.Input[Optional[_builtins.bool]]):
pulumi.set(self, "clean_cache", value)
@_builtins.property
@pulumi.getter
def command(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Override the container entrypoint command.
"""
return pulumi.get(self, "command")
@command.setter
def command(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "command", value)
@_builtins.property
@pulumi.getter(name="cpuLimit")
def cpu_limit(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Hard CPU limit, for example `1`.
"""
return pulumi.get(self, "cpu_limit")
@cpu_limit.setter
def cpu_limit(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "cpu_limit", value)
@_builtins.property
@pulumi.getter(name="cpuReservation")
def cpu_reservation(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Soft CPU reservation, for example `0.5`.
"""
return pulumi.get(self, "cpu_reservation")
@cpu_reservation.setter
def cpu_reservation(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "cpu_reservation", value)
@_builtins.property
@pulumi.getter(name="createEnvFile")
def create_env_file(self) -> pulumi.Input[Optional[_builtins.bool]]:
"""
Write the environment variables to a `.env` file in the container.
"""
return pulumi.get(self, "create_env_file")
@create_env_file.setter
def create_env_file(self, value: pulumi.Input[Optional[_builtins.bool]]):
pulumi.set(self, "create_env_file", value)
@_builtins.property
@pulumi.getter(name="createdAt")
def created_at(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
RFC 3339 timestamp of when the application 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="customGitBranch")
def custom_git_branch(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Branch to build for a custom Git remote.
"""
return pulumi.get(self, "custom_git_branch")
@custom_git_branch.setter
def custom_git_branch(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "custom_git_branch", value)
@_builtins.property
@pulumi.getter(name="customGitBuildPath")
def custom_git_build_path(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Path within a custom Git repository to build from.
"""
return pulumi.get(self, "custom_git_build_path")
@custom_git_build_path.setter
def custom_git_build_path(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "custom_git_build_path", value)
@_builtins.property
@pulumi.getter(name="customGitSshKeyId")
def custom_git_ssh_key_id(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
SSH key used to clone a private custom Git remote.
"""
return pulumi.get(self, "custom_git_ssh_key_id")
@custom_git_ssh_key_id.setter
def custom_git_ssh_key_id(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "custom_git_ssh_key_id", value)
@_builtins.property
@pulumi.getter(name="customGitUrl")
def custom_git_url(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Git remote URL, when `source_type` is `git`.
"""
return pulumi.get(self, "custom_git_url")
@custom_git_url.setter
def custom_git_url(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "custom_git_url", value)
@_builtins.property
@pulumi.getter
def description(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Free-form description.
"""
return pulumi.get(self, "description")
@description.setter
def description(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "description", value)
@_builtins.property
@pulumi.getter(name="detachDokployNetwork")
def detach_dokploy_network(self) -> pulumi.Input[Optional[_builtins.bool]]:
"""
Detach the service from the shared `dokploy-network`.
"""
return pulumi.get(self, "detach_dokploy_network")
@detach_dokploy_network.setter
def detach_dokploy_network(self, value: pulumi.Input[Optional[_builtins.bool]]):
pulumi.set(self, "detach_dokploy_network", value)
@_builtins.property
@pulumi.getter(name="dockerBuildStage")
def docker_build_stage(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Target stage for a multi-stage Docker build.
"""
return pulumi.get(self, "docker_build_stage")
@docker_build_stage.setter
def docker_build_stage(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "docker_build_stage", value)
@_builtins.property
@pulumi.getter(name="dockerContextPath")
def docker_context_path(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Docker build context path.
"""
return pulumi.get(self, "docker_context_path")
@docker_context_path.setter
def docker_context_path(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "docker_context_path", value)
@_builtins.property
@pulumi.getter(name="dockerImage")
def docker_image(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Docker image reference, when `source_type` is `docker`.
"""
return pulumi.get(self, "docker_image")
@docker_image.setter
def docker_image(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "docker_image", value)
@_builtins.property
@pulumi.getter
def dockerfile(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Path to the Dockerfile, when `build_type` is `dockerfile`.
"""
return pulumi.get(self, "dockerfile")
@dockerfile.setter
def dockerfile(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "dockerfile", value)
@_builtins.property
@pulumi.getter(name="enableSubmodules")
def enable_submodules(self) -> pulumi.Input[Optional[_builtins.bool]]:
"""
Clone Git submodules when checking out the repository.
"""
return pulumi.get(self, "enable_submodules")
@enable_submodules.setter
def enable_submodules(self, value: pulumi.Input[Optional[_builtins.bool]]):
pulumi.set(self, "enable_submodules", value)
@_builtins.property
@pulumi.getter
def enabled(self) -> pulumi.Input[Optional[_builtins.bool]]:
"""
Whether the application is enabled.
"""
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="endpointSpecSwarm")
def endpoint_spec_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Docker Swarm endpoint specification, as a JSON object.
"""
return pulumi.get(self, "endpoint_spec_swarm")
@endpoint_spec_swarm.setter
def endpoint_spec_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "endpoint_spec_swarm", value)
@_builtins.property
@pulumi.getter
def env(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Runtime environment variables in `KEY=value` format, one per line.
"""
return pulumi.get(self, "env")
@env.setter
def env(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "env", value)
@_builtins.property
@pulumi.getter(name="environmentId")
def environment_id(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Environment this application belongs to.
"""
return pulumi.get(self, "environment_id")
@environment_id.setter
def environment_id(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "environment_id", value)
@_builtins.property
@pulumi.getter(name="giteaBranch")
def gitea_branch(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Gitea branch to build.
"""
return pulumi.get(self, "gitea_branch")
@gitea_branch.setter
def gitea_branch(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "gitea_branch", value)
@_builtins.property
@pulumi.getter(name="giteaBuildPath")
def gitea_build_path(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Path within the Gitea repository to build from.
"""
return pulumi.get(self, "gitea_build_path")
@gitea_build_path.setter
def gitea_build_path(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "gitea_build_path", value)
@_builtins.property
@pulumi.getter(name="giteaId")
def gitea_id(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
ID of the configured Gitea provider connection.
"""
return pulumi.get(self, "gitea_id")
@gitea_id.setter
def gitea_id(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "gitea_id", value)
@_builtins.property
@pulumi.getter(name="giteaOwner")
def gitea_owner(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Gitea repository owner.
"""
return pulumi.get(self, "gitea_owner")
@gitea_owner.setter
def gitea_owner(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "gitea_owner", value)
@_builtins.property
@pulumi.getter(name="giteaRepository")
def gitea_repository(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Gitea repository name.
"""
return pulumi.get(self, "gitea_repository")
@gitea_repository.setter
def gitea_repository(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "gitea_repository", value)
@_builtins.property
@pulumi.getter(name="githubId")
def github_id(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
ID of the configured GitHub provider connection.
"""
return pulumi.get(self, "github_id")
@github_id.setter
def github_id(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "github_id", value)
@_builtins.property
@pulumi.getter(name="gitlabBranch")
def gitlab_branch(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
GitLab branch to build.
"""
return pulumi.get(self, "gitlab_branch")
@gitlab_branch.setter
def gitlab_branch(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "gitlab_branch", value)
@_builtins.property
@pulumi.getter(name="gitlabBuildPath")
def gitlab_build_path(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Path within the GitLab repository to build from.
"""
return pulumi.get(self, "gitlab_build_path")
@gitlab_build_path.setter
def gitlab_build_path(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "gitlab_build_path", value)
@_builtins.property
@pulumi.getter(name="gitlabId")
def gitlab_id(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
ID of the configured GitLab provider connection.
"""
return pulumi.get(self, "gitlab_id")
@gitlab_id.setter
def gitlab_id(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "gitlab_id", value)
@_builtins.property
@pulumi.getter(name="gitlabOwner")
def gitlab_owner(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
GitLab repository owner.
"""
return pulumi.get(self, "gitlab_owner")
@gitlab_owner.setter
def gitlab_owner(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "gitlab_owner", value)
@_builtins.property
@pulumi.getter(name="gitlabPathNamespace")
def gitlab_path_namespace(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Full GitLab namespace path.
"""
return pulumi.get(self, "gitlab_path_namespace")
@gitlab_path_namespace.setter
def gitlab_path_namespace(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "gitlab_path_namespace", value)
@_builtins.property
@pulumi.getter(name="gitlabProjectId")
def gitlab_project_id(self) -> pulumi.Input[Optional[_builtins.int]]:
"""
Numeric GitLab project ID.
"""
return pulumi.get(self, "gitlab_project_id")
@gitlab_project_id.setter
def gitlab_project_id(self, value: pulumi.Input[Optional[_builtins.int]]):
pulumi.set(self, "gitlab_project_id", value)
@_builtins.property
@pulumi.getter(name="gitlabRepository")
def gitlab_repository(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
GitLab repository name.
"""
return pulumi.get(self, "gitlab_repository")
@gitlab_repository.setter
def gitlab_repository(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "gitlab_repository", value)
@_builtins.property
@pulumi.getter(name="healthCheckSwarm")
def health_check_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Docker Swarm health check configuration, as a JSON object.
"""
return pulumi.get(self, "health_check_swarm")
@health_check_swarm.setter
def health_check_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "health_check_swarm", value)
@_builtins.property
@pulumi.getter(name="herokuVersion")
def heroku_version(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Heroku buildpack stack version.
"""
return pulumi.get(self, "heroku_version")
@heroku_version.setter
def heroku_version(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "heroku_version", value)
@_builtins.property
@pulumi.getter
def icon(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Icon shown next to the service in the Dokploy UI.
"""
return pulumi.get(self, "icon")
@icon.setter
def icon(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "icon", value)
@_builtins.property
@pulumi.getter(name="isPreviewDeploymentsActive")
def is_preview_deployments_active(self) -> pulumi.Input[Optional[_builtins.bool]]:
"""
Build a preview deployment for each pull request.
"""
return pulumi.get(self, "is_preview_deployments_active")
@is_preview_deployments_active.setter
def is_preview_deployments_active(self, value: pulumi.Input[Optional[_builtins.bool]]):
pulumi.set(self, "is_preview_deployments_active", value)
@_builtins.property
@pulumi.getter(name="isStaticSpa")
def is_static_spa(self) -> pulumi.Input[Optional[_builtins.bool]]:
"""
Serve a static build as a single-page application.
"""
return pulumi.get(self, "is_static_spa")
@is_static_spa.setter
def is_static_spa(self, value: pulumi.Input[Optional[_builtins.bool]]):
pulumi.set(self, "is_static_spa", value)
@_builtins.property
@pulumi.getter(name="labelsSwarm")
def labels_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Docker Swarm service labels, as a JSON object.
"""
return pulumi.get(self, "labels_swarm")
@labels_swarm.setter
def labels_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "labels_swarm", value)
@_builtins.property
@pulumi.getter(name="memoryLimit")
def memory_limit(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Hard memory limit, for example `512m`.
"""
return pulumi.get(self, "memory_limit")
@memory_limit.setter
def memory_limit(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "memory_limit", value)
@_builtins.property
@pulumi.getter(name="memoryReservation")
def memory_reservation(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Soft memory reservation, for example `256m`.
"""
return pulumi.get(self, "memory_reservation")
@memory_reservation.setter
def memory_reservation(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "memory_reservation", value)
@_builtins.property
@pulumi.getter(name="modeSwarm")
def mode_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Docker Swarm service mode, as a JSON object.
"""
return pulumi.get(self, "mode_swarm")
@mode_swarm.setter
def mode_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "mode_swarm", value)
@_builtins.property
@pulumi.getter
def name(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Display name of the application.
"""
return pulumi.get(self, "name")
@name.setter
def name(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "name", value)
@_builtins.property
@pulumi.getter(name="networkIds")
def network_ids(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]:
"""
IDs of additional Docker networks to attach.
"""
return pulumi.get(self, "network_ids")
@network_ids.setter
def network_ids(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]):
pulumi.set(self, "network_ids", value)
@_builtins.property
@pulumi.getter(name="networkSwarm")
def network_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Docker Swarm network attachments, as a JSON array.
"""
return pulumi.get(self, "network_swarm")
@network_swarm.setter
def network_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "network_swarm", value)
@_builtins.property
@pulumi.getter
def owner(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
GitHub repository owner.
"""
return pulumi.get(self, "owner")
@owner.setter
def owner(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "owner", value)
@_builtins.property
@pulumi.getter
def password(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Registry password, when pulling a private image.
"""
return pulumi.get(self, "password")
@password.setter
def password(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "password", value)
@_builtins.property
@pulumi.getter(name="placementSwarm")
def placement_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Docker Swarm placement constraints, as a JSON object.
"""
return pulumi.get(self, "placement_swarm")
@placement_swarm.setter
def placement_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "placement_swarm", value)
@_builtins.property
@pulumi.getter(name="previewBuildArgs")
def preview_build_args(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Build arguments applied to preview deployments.
"""
return pulumi.get(self, "preview_build_args")
@preview_build_args.setter
def preview_build_args(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "preview_build_args", value)
@_builtins.property
@pulumi.getter(name="previewBuildSecrets")
def preview_build_secrets(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Build secrets applied to preview deployments.
"""
return pulumi.get(self, "preview_build_secrets")
@preview_build_secrets.setter
def preview_build_secrets(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "preview_build_secrets", value)
@_builtins.property
@pulumi.getter(name="previewCertificateType")
def preview_certificate_type(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Certificate strategy for preview deployments. Valid values: `letsencrypt`, `none`, `custom`.
"""
return pulumi.get(self, "preview_certificate_type")
@preview_certificate_type.setter
def preview_certificate_type(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "preview_certificate_type", value)
@_builtins.property
@pulumi.getter(name="previewCustomCertResolver")
def preview_custom_cert_resolver(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Traefik certificate resolver for preview deployments.
"""
return pulumi.get(self, "preview_custom_cert_resolver")
@preview_custom_cert_resolver.setter
def preview_custom_cert_resolver(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "preview_custom_cert_resolver", value)
@_builtins.property
@pulumi.getter(name="previewEnv")
def preview_env(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Environment variables applied to preview deployments.
"""
return pulumi.get(self, "preview_env")
@preview_env.setter
def preview_env(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "preview_env", value)
@_builtins.property
@pulumi.getter(name="previewHttps")
def preview_https(self) -> pulumi.Input[Optional[_builtins.bool]]:
"""
Serve preview deployments over HTTPS.
"""
return pulumi.get(self, "preview_https")
@preview_https.setter
def preview_https(self, value: pulumi.Input[Optional[_builtins.bool]]):
pulumi.set(self, "preview_https", value)
@_builtins.property
@pulumi.getter(name="previewLabels")
def preview_labels(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]:
"""
Pull request labels that opt into preview deployments.
"""
return pulumi.get(self, "preview_labels")
@preview_labels.setter
def preview_labels(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]):
pulumi.set(self, "preview_labels", value)
@_builtins.property
@pulumi.getter(name="previewLimit")
def preview_limit(self) -> pulumi.Input[Optional[_builtins.int]]:
"""
Maximum number of concurrent preview deployments.
"""
return pulumi.get(self, "preview_limit")
@preview_limit.setter
def preview_limit(self, value: pulumi.Input[Optional[_builtins.int]]):
pulumi.set(self, "preview_limit", value)
@_builtins.property
@pulumi.getter(name="previewPath")
def preview_path(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Base path for preview deployments.
"""
return pulumi.get(self, "preview_path")
@preview_path.setter
def preview_path(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "preview_path", value)
@_builtins.property
@pulumi.getter(name="previewPort")
def preview_port(self) -> pulumi.Input[Optional[_builtins.int]]:
"""
Container port exposed by preview deployments.
"""
return pulumi.get(self, "preview_port")
@preview_port.setter
def preview_port(self, value: pulumi.Input[Optional[_builtins.int]]):
pulumi.set(self, "preview_port", value)
@_builtins.property
@pulumi.getter(name="previewRequireCollaboratorPermissions")
def preview_require_collaborator_permissions(self) -> pulumi.Input[Optional[_builtins.bool]]:
"""
Only build previews for pull requests opened by users with repository collaborator permissions.
"""
return pulumi.get(self, "preview_require_collaborator_permissions")
@preview_require_collaborator_permissions.setter
def preview_require_collaborator_permissions(self, value: pulumi.Input[Optional[_builtins.bool]]):
pulumi.set(self, "preview_require_collaborator_permissions", value)
@_builtins.property
@pulumi.getter(name="previewWildcard")
def preview_wildcard(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Wildcard domain used to expose preview deployments.
"""
return pulumi.get(self, "preview_wildcard")
@preview_wildcard.setter
def preview_wildcard(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "preview_wildcard", value)
@_builtins.property
@pulumi.getter(name="publishDirectory")
def publish_directory(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Directory served when `build_type` is `static`.
"""
return pulumi.get(self, "publish_directory")
@publish_directory.setter
def publish_directory(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "publish_directory", value)
@_builtins.property
@pulumi.getter(name="railpackVersion")
def railpack_version(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Railpack version.
"""
return pulumi.get(self, "railpack_version")
@railpack_version.setter
def railpack_version(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "railpack_version", value)
@_builtins.property
@pulumi.getter(name="registryId")
def registry_id(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Registry used to push the built image.
"""
return pulumi.get(self, "registry_id")
@registry_id.setter
def registry_id(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "registry_id", value)
@_builtins.property
@pulumi.getter(name="registryUrl")
def registry_url(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Registry URL, when pulling a private image.
"""
return pulumi.get(self, "registry_url")
@registry_url.setter
def registry_url(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "registry_url", value)
@_builtins.property
@pulumi.getter
def replicas(self) -> pulumi.Input[Optional[_builtins.int]]:
"""
Number of replicas to run.
"""
return pulumi.get(self, "replicas")
@replicas.setter
def replicas(self, value: pulumi.Input[Optional[_builtins.int]]):
pulumi.set(self, "replicas", value)
@_builtins.property
@pulumi.getter
def repository(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
GitHub repository name.
"""
return pulumi.get(self, "repository")
@repository.setter
def repository(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "repository", value)
@_builtins.property
@pulumi.getter(name="restartPolicySwarm")
def restart_policy_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Docker Swarm restart policy, as a JSON object.
"""
return pulumi.get(self, "restart_policy_swarm")
@restart_policy_swarm.setter
def restart_policy_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "restart_policy_swarm", value)
@_builtins.property
@pulumi.getter(name="rollbackActive")
def rollback_active(self) -> pulumi.Input[Optional[_builtins.bool]]:
"""
Keep previous images so deployments can be rolled back.
"""
return pulumi.get(self, "rollback_active")
@rollback_active.setter
def rollback_active(self, value: pulumi.Input[Optional[_builtins.bool]]):
pulumi.set(self, "rollback_active", value)
@_builtins.property
@pulumi.getter(name="rollbackConfigSwarm")
def rollback_config_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Docker Swarm rollback configuration, as a JSON object.
"""
return pulumi.get(self, "rollback_config_swarm")
@rollback_config_swarm.setter
def rollback_config_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "rollback_config_swarm", value)
@_builtins.property
@pulumi.getter(name="rollbackRegistryId")
def rollback_registry_id(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Registry used to store rollback images.
"""
return pulumi.get(self, "rollback_registry_id")
@rollback_registry_id.setter
def rollback_registry_id(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "rollback_registry_id", value)
@_builtins.property
@pulumi.getter(name="serverId")
def server_id(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Remote server to deploy on. Omit to use the Dokploy host itself.
"""
return pulumi.get(self, "server_id")
@server_id.setter
def server_id(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "server_id", value)
@_builtins.property
@pulumi.getter(name="sourceType")
def source_type(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Where the application's code or image comes from. Valid values: `docker`, `git`, `github`, `gitlab`, `bitbucket`, `gitea`, `drop`.
"""
return pulumi.get(self, "source_type")
@source_type.setter
def source_type(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "source_type", value)
@_builtins.property
@pulumi.getter(name="stopGracePeriodSwarm")
def stop_grace_period_swarm(self) -> pulumi.Input[Optional[_builtins.int]]:
"""
Grace period in nanoseconds before a container is killed.
"""
return pulumi.get(self, "stop_grace_period_swarm")
@stop_grace_period_swarm.setter
def stop_grace_period_swarm(self, value: pulumi.Input[Optional[_builtins.int]]):
pulumi.set(self, "stop_grace_period_swarm", value)
@_builtins.property
@pulumi.getter
def subtitle(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Display subtitle shown in the Dokploy UI.
"""
return pulumi.get(self, "subtitle")
@subtitle.setter
def subtitle(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "subtitle", value)
@_builtins.property
@pulumi.getter
def title(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Display title shown in the Dokploy UI.
"""
return pulumi.get(self, "title")
@title.setter
def title(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "title", value)
@_builtins.property
@pulumi.getter(name="triggerType")
def trigger_type(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
What triggers an automatic GitHub deployment. Valid values: `push`, `tag`.
"""
return pulumi.get(self, "trigger_type")
@trigger_type.setter
def trigger_type(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "trigger_type", value)
@_builtins.property
@pulumi.getter(name="ulimitsSwarm")
def ulimits_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Docker Swarm ulimits, as a JSON object.
"""
return pulumi.get(self, "ulimits_swarm")
@ulimits_swarm.setter
def ulimits_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "ulimits_swarm", value)
@_builtins.property
@pulumi.getter(name="updateConfigSwarm")
def update_config_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Docker Swarm rolling update configuration, as a JSON object.
"""
return pulumi.get(self, "update_config_swarm")
@update_config_swarm.setter
def update_config_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "update_config_swarm", value)
@_builtins.property
@pulumi.getter
def username(self) -> pulumi.Input[Optional[_builtins.str]]:
"""
Registry username, when pulling a private image.
"""
return pulumi.get(self, "username")
@username.setter
def username(self, value: pulumi.Input[Optional[_builtins.str]]):
pulumi.set(self, "username", value)
@_builtins.property
@pulumi.getter(name="watchPaths")
def watch_paths(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]:
"""
Glob patterns that limit which changed paths trigger an automatic deployment.
"""
return pulumi.get(self, "watch_paths")
@watch_paths.setter
def watch_paths(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]):
pulumi.set(self, "watch_paths", value)
@pulumi.type_token("dokploy:index/application:Application")
class Application(pulumi.CustomResource):
@overload
def __init__(__self__,
resource_name: str,
opts: Optional[pulumi.ResourceOptions] = None,
app_name: pulumi.Input[Optional[_builtins.str]] = None,
args: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None,
auto_deploy: pulumi.Input[Optional[_builtins.bool]] = None,
bitbucket_branch: pulumi.Input[Optional[_builtins.str]] = None,
bitbucket_build_path: pulumi.Input[Optional[_builtins.str]] = None,
bitbucket_id: pulumi.Input[Optional[_builtins.str]] = None,
bitbucket_owner: pulumi.Input[Optional[_builtins.str]] = None,
bitbucket_repository: pulumi.Input[Optional[_builtins.str]] = None,
bitbucket_repository_slug: pulumi.Input[Optional[_builtins.str]] = None,
branch: pulumi.Input[Optional[_builtins.str]] = None,
build_args: pulumi.Input[Optional[_builtins.str]] = None,
build_path: pulumi.Input[Optional[_builtins.str]] = None,
build_registry_id: pulumi.Input[Optional[_builtins.str]] = None,
build_secrets: pulumi.Input[Optional[_builtins.str]] = None,
build_server_id: pulumi.Input[Optional[_builtins.str]] = None,
build_type: pulumi.Input[Optional[_builtins.str]] = None,
clean_cache: pulumi.Input[Optional[_builtins.bool]] = None,
command: pulumi.Input[Optional[_builtins.str]] = None,
cpu_limit: pulumi.Input[Optional[_builtins.str]] = None,
cpu_reservation: pulumi.Input[Optional[_builtins.str]] = None,
create_env_file: pulumi.Input[Optional[_builtins.bool]] = None,
custom_git_branch: pulumi.Input[Optional[_builtins.str]] = None,
custom_git_build_path: pulumi.Input[Optional[_builtins.str]] = None,
custom_git_ssh_key_id: pulumi.Input[Optional[_builtins.str]] = None,
custom_git_url: pulumi.Input[Optional[_builtins.str]] = None,
description: pulumi.Input[Optional[_builtins.str]] = None,
detach_dokploy_network: pulumi.Input[Optional[_builtins.bool]] = None,
docker_build_stage: pulumi.Input[Optional[_builtins.str]] = None,
docker_context_path: pulumi.Input[Optional[_builtins.str]] = None,
docker_image: pulumi.Input[Optional[_builtins.str]] = None,
dockerfile: pulumi.Input[Optional[_builtins.str]] = None,
enable_submodules: pulumi.Input[Optional[_builtins.bool]] = None,
enabled: pulumi.Input[Optional[_builtins.bool]] = None,
endpoint_spec_swarm: pulumi.Input[Optional[_builtins.str]] = None,
env: pulumi.Input[Optional[_builtins.str]] = None,
environment_id: pulumi.Input[Optional[_builtins.str]] = None,
gitea_branch: pulumi.Input[Optional[_builtins.str]] = None,
gitea_build_path: pulumi.Input[Optional[_builtins.str]] = None,
gitea_id: pulumi.Input[Optional[_builtins.str]] = None,
gitea_owner: pulumi.Input[Optional[_builtins.str]] = None,
gitea_repository: pulumi.Input[Optional[_builtins.str]] = None,
github_id: pulumi.Input[Optional[_builtins.str]] = None,
gitlab_branch: pulumi.Input[Optional[_builtins.str]] = None,
gitlab_build_path: pulumi.Input[Optional[_builtins.str]] = None,
gitlab_id: pulumi.Input[Optional[_builtins.str]] = None,
gitlab_owner: pulumi.Input[Optional[_builtins.str]] = None,
gitlab_path_namespace: pulumi.Input[Optional[_builtins.str]] = None,
gitlab_project_id: pulumi.Input[Optional[_builtins.int]] = None,
gitlab_repository: pulumi.Input[Optional[_builtins.str]] = None,
health_check_swarm: pulumi.Input[Optional[_builtins.str]] = None,
heroku_version: pulumi.Input[Optional[_builtins.str]] = None,
icon: pulumi.Input[Optional[_builtins.str]] = None,
is_preview_deployments_active: pulumi.Input[Optional[_builtins.bool]] = None,
is_static_spa: pulumi.Input[Optional[_builtins.bool]] = None,
labels_swarm: pulumi.Input[Optional[_builtins.str]] = None,
memory_limit: pulumi.Input[Optional[_builtins.str]] = None,
memory_reservation: pulumi.Input[Optional[_builtins.str]] = None,
mode_swarm: pulumi.Input[Optional[_builtins.str]] = None,
name: pulumi.Input[Optional[_builtins.str]] = None,
network_ids: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None,
network_swarm: pulumi.Input[Optional[_builtins.str]] = None,
owner: pulumi.Input[Optional[_builtins.str]] = None,
password: pulumi.Input[Optional[_builtins.str]] = None,
placement_swarm: pulumi.Input[Optional[_builtins.str]] = None,
preview_build_args: pulumi.Input[Optional[_builtins.str]] = None,
preview_build_secrets: pulumi.Input[Optional[_builtins.str]] = None,
preview_certificate_type: pulumi.Input[Optional[_builtins.str]] = None,
preview_custom_cert_resolver: pulumi.Input[Optional[_builtins.str]] = None,
preview_env: pulumi.Input[Optional[_builtins.str]] = None,
preview_https: pulumi.Input[Optional[_builtins.bool]] = None,
preview_labels: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None,
preview_limit: pulumi.Input[Optional[_builtins.int]] = None,
preview_path: pulumi.Input[Optional[_builtins.str]] = None,
preview_port: pulumi.Input[Optional[_builtins.int]] = None,
preview_require_collaborator_permissions: pulumi.Input[Optional[_builtins.bool]] = None,
preview_wildcard: pulumi.Input[Optional[_builtins.str]] = None,
publish_directory: pulumi.Input[Optional[_builtins.str]] = None,
railpack_version: pulumi.Input[Optional[_builtins.str]] = None,
registry_id: pulumi.Input[Optional[_builtins.str]] = None,
registry_url: pulumi.Input[Optional[_builtins.str]] = None,
replicas: pulumi.Input[Optional[_builtins.int]] = None,
repository: pulumi.Input[Optional[_builtins.str]] = None,
restart_policy_swarm: pulumi.Input[Optional[_builtins.str]] = None,
rollback_active: pulumi.Input[Optional[_builtins.bool]] = None,
rollback_config_swarm: pulumi.Input[Optional[_builtins.str]] = None,
rollback_registry_id: pulumi.Input[Optional[_builtins.str]] = None,
server_id: pulumi.Input[Optional[_builtins.str]] = None,
source_type: pulumi.Input[Optional[_builtins.str]] = None,
stop_grace_period_swarm: pulumi.Input[Optional[_builtins.int]] = None,
subtitle: pulumi.Input[Optional[_builtins.str]] = None,
title: pulumi.Input[Optional[_builtins.str]] = None,
trigger_type: pulumi.Input[Optional[_builtins.str]] = None,
ulimits_swarm: pulumi.Input[Optional[_builtins.str]] = None,
update_config_swarm: pulumi.Input[Optional[_builtins.str]] = None,
username: pulumi.Input[Optional[_builtins.str]] = None,
watch_paths: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None,
__props__=None):
"""
A Dokploy application: a single service built from a Git repository, a Docker image, or an uploaded artifact.
Dokploy's `application.create` endpoint accepts only a handful of fields, so this resource creates the application and then applies the rest of the configuration through `application.update`.
> Creating this resource does **not** deploy the application. Trigger a deployment from the Dokploy UI, the CLI, or a `terraform_data` provisioner calling `application.deploy`.
: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 application.
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] args: Arguments appended to the container command.
:param pulumi.Input[_builtins.bool] auto_deploy: Deploy automatically when the configured trigger fires.
:param pulumi.Input[_builtins.str] bitbucket_branch: Bitbucket branch to build.
:param pulumi.Input[_builtins.str] bitbucket_build_path: Path within the Bitbucket repository to build from.
:param pulumi.Input[_builtins.str] bitbucket_id: ID of the configured Bitbucket provider connection.
:param pulumi.Input[_builtins.str] bitbucket_owner: Bitbucket repository owner.
:param pulumi.Input[_builtins.str] bitbucket_repository: Bitbucket repository name.
:param pulumi.Input[_builtins.str] bitbucket_repository_slug: Bitbucket repository slug.
:param pulumi.Input[_builtins.str] branch: GitHub branch to build.
:param pulumi.Input[_builtins.str] build_args: Docker build arguments in `KEY=value` format, one per line.
:param pulumi.Input[_builtins.str] build_path: Path within the GitHub repository to build from.
:param pulumi.Input[_builtins.str] build_registry_id: Registry used by a dedicated build server.
:param pulumi.Input[_builtins.str] build_secrets: Docker build secrets in `KEY=value` format, one per line.
:param pulumi.Input[_builtins.str] build_server_id: Server that performs builds, when separate from the deploy server.
:param pulumi.Input[_builtins.str] build_type: How the application is built. Valid values: `dockerfile`, `heroku_buildpacks`, `paketo_buildpacks`, `nixpacks`, `static`, `railpack`.
:param pulumi.Input[_builtins.bool] clean_cache: Discard the build cache on the next deployment.
: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.bool] create_env_file: Write the environment variables to a `.env` file in the container.
:param pulumi.Input[_builtins.str] custom_git_branch: Branch to build for a custom Git remote.
:param pulumi.Input[_builtins.str] custom_git_build_path: Path within a custom Git repository to build from.
:param pulumi.Input[_builtins.str] custom_git_ssh_key_id: SSH key used to clone a private custom Git remote.
:param pulumi.Input[_builtins.str] custom_git_url: Git remote URL, when `source_type` is `git`.
: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_build_stage: Target stage for a multi-stage Docker build.
:param pulumi.Input[_builtins.str] docker_context_path: Docker build context path.
:param pulumi.Input[_builtins.str] docker_image: Docker image reference, when `source_type` is `docker`.
:param pulumi.Input[_builtins.str] dockerfile: Path to the Dockerfile, when `build_type` is `dockerfile`.
:param pulumi.Input[_builtins.bool] enable_submodules: Clone Git submodules when checking out the repository.
:param pulumi.Input[_builtins.bool] enabled: Whether the application is enabled.
:param pulumi.Input[_builtins.str] endpoint_spec_swarm: Docker Swarm endpoint specification, as a JSON object.
:param pulumi.Input[_builtins.str] env: Runtime environment variables in `KEY=value` format, one per line.
:param pulumi.Input[_builtins.str] environment_id: Environment this application belongs to.
:param pulumi.Input[_builtins.str] gitea_branch: Gitea branch to build.
:param pulumi.Input[_builtins.str] gitea_build_path: Path within the Gitea repository to build from.
:param pulumi.Input[_builtins.str] gitea_id: ID of the configured Gitea provider connection.
:param pulumi.Input[_builtins.str] gitea_owner: Gitea repository owner.
:param pulumi.Input[_builtins.str] gitea_repository: Gitea repository name.
:param pulumi.Input[_builtins.str] github_id: ID of the configured GitHub provider connection.
:param pulumi.Input[_builtins.str] gitlab_branch: GitLab branch to build.
:param pulumi.Input[_builtins.str] gitlab_build_path: Path within the GitLab repository to build from.
:param pulumi.Input[_builtins.str] gitlab_id: ID of the configured GitLab provider connection.
:param pulumi.Input[_builtins.str] gitlab_owner: GitLab repository owner.
:param pulumi.Input[_builtins.str] gitlab_path_namespace: Full GitLab namespace path.
:param pulumi.Input[_builtins.int] gitlab_project_id: Numeric GitLab project ID.
:param pulumi.Input[_builtins.str] gitlab_repository: GitLab repository name.
:param pulumi.Input[_builtins.str] health_check_swarm: Docker Swarm health check configuration, as a JSON object.
:param pulumi.Input[_builtins.str] heroku_version: Heroku buildpack stack version.
:param pulumi.Input[_builtins.str] icon: Icon shown next to the service in the Dokploy UI.
:param pulumi.Input[_builtins.bool] is_preview_deployments_active: Build a preview deployment for each pull request.
:param pulumi.Input[_builtins.bool] is_static_spa: Serve a static build as a single-page application.
: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 application.
: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] owner: GitHub repository owner.
:param pulumi.Input[_builtins.str] password: Registry password, when pulling a private image.
:param pulumi.Input[_builtins.str] placement_swarm: Docker Swarm placement constraints, as a JSON object.
:param pulumi.Input[_builtins.str] preview_build_args: Build arguments applied to preview deployments.
:param pulumi.Input[_builtins.str] preview_build_secrets: Build secrets applied to preview deployments.
:param pulumi.Input[_builtins.str] preview_certificate_type: Certificate strategy for preview deployments. Valid values: `letsencrypt`, `none`, `custom`.
:param pulumi.Input[_builtins.str] preview_custom_cert_resolver: Traefik certificate resolver for preview deployments.
:param pulumi.Input[_builtins.str] preview_env: Environment variables applied to preview deployments.
:param pulumi.Input[_builtins.bool] preview_https: Serve preview deployments over HTTPS.
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] preview_labels: Pull request labels that opt into preview deployments.
:param pulumi.Input[_builtins.int] preview_limit: Maximum number of concurrent preview deployments.
:param pulumi.Input[_builtins.str] preview_path: Base path for preview deployments.
:param pulumi.Input[_builtins.int] preview_port: Container port exposed by preview deployments.
:param pulumi.Input[_builtins.bool] preview_require_collaborator_permissions: Only build previews for pull requests opened by users with repository collaborator permissions.
:param pulumi.Input[_builtins.str] preview_wildcard: Wildcard domain used to expose preview deployments.
:param pulumi.Input[_builtins.str] publish_directory: Directory served when `build_type` is `static`.
:param pulumi.Input[_builtins.str] railpack_version: Railpack version.
:param pulumi.Input[_builtins.str] registry_id: Registry used to push the built image.
:param pulumi.Input[_builtins.str] registry_url: Registry URL, when pulling a private image.
:param pulumi.Input[_builtins.int] replicas: Number of replicas to run.
:param pulumi.Input[_builtins.str] repository: GitHub repository name.
:param pulumi.Input[_builtins.str] restart_policy_swarm: Docker Swarm restart policy, as a JSON object.
:param pulumi.Input[_builtins.bool] rollback_active: Keep previous images so deployments can be rolled back.
:param pulumi.Input[_builtins.str] rollback_config_swarm: Docker Swarm rollback configuration, as a JSON object.
:param pulumi.Input[_builtins.str] rollback_registry_id: Registry used to store rollback images.
:param pulumi.Input[_builtins.str] server_id: Remote server to deploy on. Omit to use the Dokploy host itself.
:param pulumi.Input[_builtins.str] source_type: Where the application's code or image comes from. Valid values: `docker`, `git`, `github`, `gitlab`, `bitbucket`, `gitea`, `drop`.
:param pulumi.Input[_builtins.int] stop_grace_period_swarm: Grace period in nanoseconds before a container is killed.
:param pulumi.Input[_builtins.str] subtitle: Display subtitle shown in the Dokploy UI.
:param pulumi.Input[_builtins.str] title: Display title shown in the Dokploy UI.
:param pulumi.Input[_builtins.str] trigger_type: What triggers an automatic GitHub deployment. Valid values: `push`, `tag`.
: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.
:param pulumi.Input[_builtins.str] username: Registry username, when pulling a private image.
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] watch_paths: Glob patterns that limit which changed paths trigger an automatic deployment.
"""
...
@overload
def __init__(__self__,
resource_name: str,
args: ApplicationArgs,
opts: Optional[pulumi.ResourceOptions] = None):
"""
A Dokploy application: a single service built from a Git repository, a Docker image, or an uploaded artifact.
Dokploy's `application.create` endpoint accepts only a handful of fields, so this resource creates the application and then applies the rest of the configuration through `application.update`.
> Creating this resource does **not** deploy the application. Trigger a deployment from the Dokploy UI, the CLI, or a `terraform_data` provisioner calling `application.deploy`.
:param str resource_name: The name of the resource.
:param ApplicationArgs 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(ApplicationArgs, 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,
args: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None,
auto_deploy: pulumi.Input[Optional[_builtins.bool]] = None,
bitbucket_branch: pulumi.Input[Optional[_builtins.str]] = None,
bitbucket_build_path: pulumi.Input[Optional[_builtins.str]] = None,
bitbucket_id: pulumi.Input[Optional[_builtins.str]] = None,
bitbucket_owner: pulumi.Input[Optional[_builtins.str]] = None,
bitbucket_repository: pulumi.Input[Optional[_builtins.str]] = None,
bitbucket_repository_slug: pulumi.Input[Optional[_builtins.str]] = None,
branch: pulumi.Input[Optional[_builtins.str]] = None,
build_args: pulumi.Input[Optional[_builtins.str]] = None,
build_path: pulumi.Input[Optional[_builtins.str]] = None,
build_registry_id: pulumi.Input[Optional[_builtins.str]] = None,
build_secrets: pulumi.Input[Optional[_builtins.str]] = None,
build_server_id: pulumi.Input[Optional[_builtins.str]] = None,
build_type: pulumi.Input[Optional[_builtins.str]] = None,
clean_cache: pulumi.Input[Optional[_builtins.bool]] = None,
command: pulumi.Input[Optional[_builtins.str]] = None,
cpu_limit: pulumi.Input[Optional[_builtins.str]] = None,
cpu_reservation: pulumi.Input[Optional[_builtins.str]] = None,
create_env_file: pulumi.Input[Optional[_builtins.bool]] = None,
custom_git_branch: pulumi.Input[Optional[_builtins.str]] = None,
custom_git_build_path: pulumi.Input[Optional[_builtins.str]] = None,
custom_git_ssh_key_id: pulumi.Input[Optional[_builtins.str]] = None,
custom_git_url: pulumi.Input[Optional[_builtins.str]] = None,
description: pulumi.Input[Optional[_builtins.str]] = None,
detach_dokploy_network: pulumi.Input[Optional[_builtins.bool]] = None,
docker_build_stage: pulumi.Input[Optional[_builtins.str]] = None,
docker_context_path: pulumi.Input[Optional[_builtins.str]] = None,
docker_image: pulumi.Input[Optional[_builtins.str]] = None,
dockerfile: pulumi.Input[Optional[_builtins.str]] = None,
enable_submodules: pulumi.Input[Optional[_builtins.bool]] = None,
enabled: pulumi.Input[Optional[_builtins.bool]] = None,
endpoint_spec_swarm: pulumi.Input[Optional[_builtins.str]] = None,
env: pulumi.Input[Optional[_builtins.str]] = None,
environment_id: pulumi.Input[Optional[_builtins.str]] = None,
gitea_branch: pulumi.Input[Optional[_builtins.str]] = None,
gitea_build_path: pulumi.Input[Optional[_builtins.str]] = None,
gitea_id: pulumi.Input[Optional[_builtins.str]] = None,
gitea_owner: pulumi.Input[Optional[_builtins.str]] = None,
gitea_repository: pulumi.Input[Optional[_builtins.str]] = None,
github_id: pulumi.Input[Optional[_builtins.str]] = None,
gitlab_branch: pulumi.Input[Optional[_builtins.str]] = None,
gitlab_build_path: pulumi.Input[Optional[_builtins.str]] = None,
gitlab_id: pulumi.Input[Optional[_builtins.str]] = None,
gitlab_owner: pulumi.Input[Optional[_builtins.str]] = None,
gitlab_path_namespace: pulumi.Input[Optional[_builtins.str]] = None,
gitlab_project_id: pulumi.Input[Optional[_builtins.int]] = None,
gitlab_repository: pulumi.Input[Optional[_builtins.str]] = None,
health_check_swarm: pulumi.Input[Optional[_builtins.str]] = None,
heroku_version: pulumi.Input[Optional[_builtins.str]] = None,
icon: pulumi.Input[Optional[_builtins.str]] = None,
is_preview_deployments_active: pulumi.Input[Optional[_builtins.bool]] = None,
is_static_spa: pulumi.Input[Optional[_builtins.bool]] = None,
labels_swarm: pulumi.Input[Optional[_builtins.str]] = None,
memory_limit: pulumi.Input[Optional[_builtins.str]] = None,
memory_reservation: pulumi.Input[Optional[_builtins.str]] = None,
mode_swarm: pulumi.Input[Optional[_builtins.str]] = None,
name: pulumi.Input[Optional[_builtins.str]] = None,
network_ids: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None,
network_swarm: pulumi.Input[Optional[_builtins.str]] = None,
owner: pulumi.Input[Optional[_builtins.str]] = None,
password: pulumi.Input[Optional[_builtins.str]] = None,
placement_swarm: pulumi.Input[Optional[_builtins.str]] = None,
preview_build_args: pulumi.Input[Optional[_builtins.str]] = None,
preview_build_secrets: pulumi.Input[Optional[_builtins.str]] = None,
preview_certificate_type: pulumi.Input[Optional[_builtins.str]] = None,
preview_custom_cert_resolver: pulumi.Input[Optional[_builtins.str]] = None,
preview_env: pulumi.Input[Optional[_builtins.str]] = None,
preview_https: pulumi.Input[Optional[_builtins.bool]] = None,
preview_labels: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None,
preview_limit: pulumi.Input[Optional[_builtins.int]] = None,
preview_path: pulumi.Input[Optional[_builtins.str]] = None,
preview_port: pulumi.Input[Optional[_builtins.int]] = None,
preview_require_collaborator_permissions: pulumi.Input[Optional[_builtins.bool]] = None,
preview_wildcard: pulumi.Input[Optional[_builtins.str]] = None,
publish_directory: pulumi.Input[Optional[_builtins.str]] = None,
railpack_version: pulumi.Input[Optional[_builtins.str]] = None,
registry_id: pulumi.Input[Optional[_builtins.str]] = None,
registry_url: pulumi.Input[Optional[_builtins.str]] = None,
replicas: pulumi.Input[Optional[_builtins.int]] = None,
repository: pulumi.Input[Optional[_builtins.str]] = None,
restart_policy_swarm: pulumi.Input[Optional[_builtins.str]] = None,
rollback_active: pulumi.Input[Optional[_builtins.bool]] = None,
rollback_config_swarm: pulumi.Input[Optional[_builtins.str]] = None,
rollback_registry_id: pulumi.Input[Optional[_builtins.str]] = None,
server_id: pulumi.Input[Optional[_builtins.str]] = None,
source_type: pulumi.Input[Optional[_builtins.str]] = None,
stop_grace_period_swarm: pulumi.Input[Optional[_builtins.int]] = None,
subtitle: pulumi.Input[Optional[_builtins.str]] = None,
title: pulumi.Input[Optional[_builtins.str]] = None,
trigger_type: pulumi.Input[Optional[_builtins.str]] = None,
ulimits_swarm: pulumi.Input[Optional[_builtins.str]] = None,
update_config_swarm: pulumi.Input[Optional[_builtins.str]] = None,
username: pulumi.Input[Optional[_builtins.str]] = None,
watch_paths: pulumi.Input[Optional[Sequence[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__ = ApplicationArgs.__new__(ApplicationArgs)
__props__.__dict__["app_name"] = app_name
__props__.__dict__["args"] = args
__props__.__dict__["auto_deploy"] = auto_deploy
__props__.__dict__["bitbucket_branch"] = bitbucket_branch
__props__.__dict__["bitbucket_build_path"] = bitbucket_build_path
__props__.__dict__["bitbucket_id"] = bitbucket_id
__props__.__dict__["bitbucket_owner"] = bitbucket_owner
__props__.__dict__["bitbucket_repository"] = bitbucket_repository
__props__.__dict__["bitbucket_repository_slug"] = bitbucket_repository_slug
__props__.__dict__["branch"] = branch
__props__.__dict__["build_args"] = build_args
__props__.__dict__["build_path"] = build_path
__props__.__dict__["build_registry_id"] = build_registry_id
__props__.__dict__["build_secrets"] = None if build_secrets is None else pulumi.Output.secret(build_secrets)
__props__.__dict__["build_server_id"] = build_server_id
__props__.__dict__["build_type"] = build_type
__props__.__dict__["clean_cache"] = clean_cache
__props__.__dict__["command"] = command
__props__.__dict__["cpu_limit"] = cpu_limit
__props__.__dict__["cpu_reservation"] = cpu_reservation
__props__.__dict__["create_env_file"] = create_env_file
__props__.__dict__["custom_git_branch"] = custom_git_branch
__props__.__dict__["custom_git_build_path"] = custom_git_build_path
__props__.__dict__["custom_git_ssh_key_id"] = custom_git_ssh_key_id
__props__.__dict__["custom_git_url"] = custom_git_url
__props__.__dict__["description"] = description
__props__.__dict__["detach_dokploy_network"] = detach_dokploy_network
__props__.__dict__["docker_build_stage"] = docker_build_stage
__props__.__dict__["docker_context_path"] = docker_context_path
__props__.__dict__["docker_image"] = docker_image
__props__.__dict__["dockerfile"] = dockerfile
__props__.__dict__["enable_submodules"] = enable_submodules
__props__.__dict__["enabled"] = enabled
__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__["gitea_branch"] = gitea_branch
__props__.__dict__["gitea_build_path"] = gitea_build_path
__props__.__dict__["gitea_id"] = gitea_id
__props__.__dict__["gitea_owner"] = gitea_owner
__props__.__dict__["gitea_repository"] = gitea_repository
__props__.__dict__["github_id"] = github_id
__props__.__dict__["gitlab_branch"] = gitlab_branch
__props__.__dict__["gitlab_build_path"] = gitlab_build_path
__props__.__dict__["gitlab_id"] = gitlab_id
__props__.__dict__["gitlab_owner"] = gitlab_owner
__props__.__dict__["gitlab_path_namespace"] = gitlab_path_namespace
__props__.__dict__["gitlab_project_id"] = gitlab_project_id
__props__.__dict__["gitlab_repository"] = gitlab_repository
__props__.__dict__["health_check_swarm"] = health_check_swarm
__props__.__dict__["heroku_version"] = heroku_version
__props__.__dict__["icon"] = icon
__props__.__dict__["is_preview_deployments_active"] = is_preview_deployments_active
__props__.__dict__["is_static_spa"] = is_static_spa
__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__["owner"] = owner
__props__.__dict__["password"] = None if password is None else pulumi.Output.secret(password)
__props__.__dict__["placement_swarm"] = placement_swarm
__props__.__dict__["preview_build_args"] = preview_build_args
__props__.__dict__["preview_build_secrets"] = None if preview_build_secrets is None else pulumi.Output.secret(preview_build_secrets)
__props__.__dict__["preview_certificate_type"] = preview_certificate_type
__props__.__dict__["preview_custom_cert_resolver"] = preview_custom_cert_resolver
__props__.__dict__["preview_env"] = preview_env
__props__.__dict__["preview_https"] = preview_https
__props__.__dict__["preview_labels"] = preview_labels
__props__.__dict__["preview_limit"] = preview_limit
__props__.__dict__["preview_path"] = preview_path
__props__.__dict__["preview_port"] = preview_port
__props__.__dict__["preview_require_collaborator_permissions"] = preview_require_collaborator_permissions
__props__.__dict__["preview_wildcard"] = preview_wildcard
__props__.__dict__["publish_directory"] = publish_directory
__props__.__dict__["railpack_version"] = railpack_version
__props__.__dict__["registry_id"] = registry_id
__props__.__dict__["registry_url"] = registry_url
__props__.__dict__["replicas"] = replicas
__props__.__dict__["repository"] = repository
__props__.__dict__["restart_policy_swarm"] = restart_policy_swarm
__props__.__dict__["rollback_active"] = rollback_active
__props__.__dict__["rollback_config_swarm"] = rollback_config_swarm
__props__.__dict__["rollback_registry_id"] = rollback_registry_id
__props__.__dict__["server_id"] = server_id
__props__.__dict__["source_type"] = source_type
__props__.__dict__["stop_grace_period_swarm"] = stop_grace_period_swarm
__props__.__dict__["subtitle"] = subtitle
__props__.__dict__["title"] = title
__props__.__dict__["trigger_type"] = trigger_type
__props__.__dict__["ulimits_swarm"] = ulimits_swarm
__props__.__dict__["update_config_swarm"] = update_config_swarm
__props__.__dict__["username"] = username
__props__.__dict__["watch_paths"] = watch_paths
__props__.__dict__["application_status"] = None
__props__.__dict__["created_at"] = None
secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["buildSecrets", "password", "previewBuildSecrets"])
opts = pulumi.ResourceOptions.merge(opts, secret_opts)
super(Application, __self__).__init__(
'dokploy:index/application:Application',
resource_name,
__props__,
opts)
@staticmethod
def get(resource_name: str,
id: pulumi.Input[str],
opts: Optional[pulumi.ResourceOptions] = None,
app_name: pulumi.Input[Optional[_builtins.str]] = None,
application_status: pulumi.Input[Optional[_builtins.str]] = None,
args: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None,
auto_deploy: pulumi.Input[Optional[_builtins.bool]] = None,
bitbucket_branch: pulumi.Input[Optional[_builtins.str]] = None,
bitbucket_build_path: pulumi.Input[Optional[_builtins.str]] = None,
bitbucket_id: pulumi.Input[Optional[_builtins.str]] = None,
bitbucket_owner: pulumi.Input[Optional[_builtins.str]] = None,
bitbucket_repository: pulumi.Input[Optional[_builtins.str]] = None,
bitbucket_repository_slug: pulumi.Input[Optional[_builtins.str]] = None,
branch: pulumi.Input[Optional[_builtins.str]] = None,
build_args: pulumi.Input[Optional[_builtins.str]] = None,
build_path: pulumi.Input[Optional[_builtins.str]] = None,
build_registry_id: pulumi.Input[Optional[_builtins.str]] = None,
build_secrets: pulumi.Input[Optional[_builtins.str]] = None,
build_server_id: pulumi.Input[Optional[_builtins.str]] = None,
build_type: pulumi.Input[Optional[_builtins.str]] = None,
clean_cache: pulumi.Input[Optional[_builtins.bool]] = None,
command: pulumi.Input[Optional[_builtins.str]] = None,
cpu_limit: pulumi.Input[Optional[_builtins.str]] = None,
cpu_reservation: pulumi.Input[Optional[_builtins.str]] = None,
create_env_file: pulumi.Input[Optional[_builtins.bool]] = None,
created_at: pulumi.Input[Optional[_builtins.str]] = None,
custom_git_branch: pulumi.Input[Optional[_builtins.str]] = None,
custom_git_build_path: pulumi.Input[Optional[_builtins.str]] = None,
custom_git_ssh_key_id: pulumi.Input[Optional[_builtins.str]] = None,
custom_git_url: pulumi.Input[Optional[_builtins.str]] = None,
description: pulumi.Input[Optional[_builtins.str]] = None,
detach_dokploy_network: pulumi.Input[Optional[_builtins.bool]] = None,
docker_build_stage: pulumi.Input[Optional[_builtins.str]] = None,
docker_context_path: pulumi.Input[Optional[_builtins.str]] = None,
docker_image: pulumi.Input[Optional[_builtins.str]] = None,
dockerfile: pulumi.Input[Optional[_builtins.str]] = None,
enable_submodules: pulumi.Input[Optional[_builtins.bool]] = None,
enabled: pulumi.Input[Optional[_builtins.bool]] = None,
endpoint_spec_swarm: pulumi.Input[Optional[_builtins.str]] = None,
env: pulumi.Input[Optional[_builtins.str]] = None,
environment_id: pulumi.Input[Optional[_builtins.str]] = None,
gitea_branch: pulumi.Input[Optional[_builtins.str]] = None,
gitea_build_path: pulumi.Input[Optional[_builtins.str]] = None,
gitea_id: pulumi.Input[Optional[_builtins.str]] = None,
gitea_owner: pulumi.Input[Optional[_builtins.str]] = None,
gitea_repository: pulumi.Input[Optional[_builtins.str]] = None,
github_id: pulumi.Input[Optional[_builtins.str]] = None,
gitlab_branch: pulumi.Input[Optional[_builtins.str]] = None,
gitlab_build_path: pulumi.Input[Optional[_builtins.str]] = None,
gitlab_id: pulumi.Input[Optional[_builtins.str]] = None,
gitlab_owner: pulumi.Input[Optional[_builtins.str]] = None,
gitlab_path_namespace: pulumi.Input[Optional[_builtins.str]] = None,
gitlab_project_id: pulumi.Input[Optional[_builtins.int]] = None,
gitlab_repository: pulumi.Input[Optional[_builtins.str]] = None,
health_check_swarm: pulumi.Input[Optional[_builtins.str]] = None,
heroku_version: pulumi.Input[Optional[_builtins.str]] = None,
icon: pulumi.Input[Optional[_builtins.str]] = None,
is_preview_deployments_active: pulumi.Input[Optional[_builtins.bool]] = None,
is_static_spa: pulumi.Input[Optional[_builtins.bool]] = None,
labels_swarm: pulumi.Input[Optional[_builtins.str]] = None,
memory_limit: pulumi.Input[Optional[_builtins.str]] = None,
memory_reservation: pulumi.Input[Optional[_builtins.str]] = None,
mode_swarm: pulumi.Input[Optional[_builtins.str]] = None,
name: pulumi.Input[Optional[_builtins.str]] = None,
network_ids: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None,
network_swarm: pulumi.Input[Optional[_builtins.str]] = None,
owner: pulumi.Input[Optional[_builtins.str]] = None,
password: pulumi.Input[Optional[_builtins.str]] = None,
placement_swarm: pulumi.Input[Optional[_builtins.str]] = None,
preview_build_args: pulumi.Input[Optional[_builtins.str]] = None,
preview_build_secrets: pulumi.Input[Optional[_builtins.str]] = None,
preview_certificate_type: pulumi.Input[Optional[_builtins.str]] = None,
preview_custom_cert_resolver: pulumi.Input[Optional[_builtins.str]] = None,
preview_env: pulumi.Input[Optional[_builtins.str]] = None,
preview_https: pulumi.Input[Optional[_builtins.bool]] = None,
preview_labels: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None,
preview_limit: pulumi.Input[Optional[_builtins.int]] = None,
preview_path: pulumi.Input[Optional[_builtins.str]] = None,
preview_port: pulumi.Input[Optional[_builtins.int]] = None,
preview_require_collaborator_permissions: pulumi.Input[Optional[_builtins.bool]] = None,
preview_wildcard: pulumi.Input[Optional[_builtins.str]] = None,
publish_directory: pulumi.Input[Optional[_builtins.str]] = None,
railpack_version: pulumi.Input[Optional[_builtins.str]] = None,
registry_id: pulumi.Input[Optional[_builtins.str]] = None,
registry_url: pulumi.Input[Optional[_builtins.str]] = None,
replicas: pulumi.Input[Optional[_builtins.int]] = None,
repository: pulumi.Input[Optional[_builtins.str]] = None,
restart_policy_swarm: pulumi.Input[Optional[_builtins.str]] = None,
rollback_active: pulumi.Input[Optional[_builtins.bool]] = None,
rollback_config_swarm: pulumi.Input[Optional[_builtins.str]] = None,
rollback_registry_id: pulumi.Input[Optional[_builtins.str]] = None,
server_id: pulumi.Input[Optional[_builtins.str]] = None,
source_type: pulumi.Input[Optional[_builtins.str]] = None,
stop_grace_period_swarm: pulumi.Input[Optional[_builtins.int]] = None,
subtitle: pulumi.Input[Optional[_builtins.str]] = None,
title: pulumi.Input[Optional[_builtins.str]] = None,
trigger_type: pulumi.Input[Optional[_builtins.str]] = None,
ulimits_swarm: pulumi.Input[Optional[_builtins.str]] = None,
update_config_swarm: pulumi.Input[Optional[_builtins.str]] = None,
username: pulumi.Input[Optional[_builtins.str]] = None,
watch_paths: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None) -> 'Application':
"""
Get an existing Application 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 application.
: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.bool] auto_deploy: Deploy automatically when the configured trigger fires.
:param pulumi.Input[_builtins.str] bitbucket_branch: Bitbucket branch to build.
:param pulumi.Input[_builtins.str] bitbucket_build_path: Path within the Bitbucket repository to build from.
:param pulumi.Input[_builtins.str] bitbucket_id: ID of the configured Bitbucket provider connection.
:param pulumi.Input[_builtins.str] bitbucket_owner: Bitbucket repository owner.
:param pulumi.Input[_builtins.str] bitbucket_repository: Bitbucket repository name.
:param pulumi.Input[_builtins.str] bitbucket_repository_slug: Bitbucket repository slug.
:param pulumi.Input[_builtins.str] branch: GitHub branch to build.
:param pulumi.Input[_builtins.str] build_args: Docker build arguments in `KEY=value` format, one per line.
:param pulumi.Input[_builtins.str] build_path: Path within the GitHub repository to build from.
:param pulumi.Input[_builtins.str] build_registry_id: Registry used by a dedicated build server.
:param pulumi.Input[_builtins.str] build_secrets: Docker build secrets in `KEY=value` format, one per line.
:param pulumi.Input[_builtins.str] build_server_id: Server that performs builds, when separate from the deploy server.
:param pulumi.Input[_builtins.str] build_type: How the application is built. Valid values: `dockerfile`, `heroku_buildpacks`, `paketo_buildpacks`, `nixpacks`, `static`, `railpack`.
:param pulumi.Input[_builtins.bool] clean_cache: Discard the build cache on the next deployment.
: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.bool] create_env_file: Write the environment variables to a `.env` file in the container.
:param pulumi.Input[_builtins.str] created_at: RFC 3339 timestamp of when the application was created.
:param pulumi.Input[_builtins.str] custom_git_branch: Branch to build for a custom Git remote.
:param pulumi.Input[_builtins.str] custom_git_build_path: Path within a custom Git repository to build from.
:param pulumi.Input[_builtins.str] custom_git_ssh_key_id: SSH key used to clone a private custom Git remote.
:param pulumi.Input[_builtins.str] custom_git_url: Git remote URL, when `source_type` is `git`.
: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_build_stage: Target stage for a multi-stage Docker build.
:param pulumi.Input[_builtins.str] docker_context_path: Docker build context path.
:param pulumi.Input[_builtins.str] docker_image: Docker image reference, when `source_type` is `docker`.
:param pulumi.Input[_builtins.str] dockerfile: Path to the Dockerfile, when `build_type` is `dockerfile`.
:param pulumi.Input[_builtins.bool] enable_submodules: Clone Git submodules when checking out the repository.
:param pulumi.Input[_builtins.bool] enabled: Whether the application is enabled.
:param pulumi.Input[_builtins.str] endpoint_spec_swarm: Docker Swarm endpoint specification, as a JSON object.
:param pulumi.Input[_builtins.str] env: Runtime environment variables in `KEY=value` format, one per line.
:param pulumi.Input[_builtins.str] environment_id: Environment this application belongs to.
:param pulumi.Input[_builtins.str] gitea_branch: Gitea branch to build.
:param pulumi.Input[_builtins.str] gitea_build_path: Path within the Gitea repository to build from.
:param pulumi.Input[_builtins.str] gitea_id: ID of the configured Gitea provider connection.
:param pulumi.Input[_builtins.str] gitea_owner: Gitea repository owner.
:param pulumi.Input[_builtins.str] gitea_repository: Gitea repository name.
:param pulumi.Input[_builtins.str] github_id: ID of the configured GitHub provider connection.
:param pulumi.Input[_builtins.str] gitlab_branch: GitLab branch to build.
:param pulumi.Input[_builtins.str] gitlab_build_path: Path within the GitLab repository to build from.
:param pulumi.Input[_builtins.str] gitlab_id: ID of the configured GitLab provider connection.
:param pulumi.Input[_builtins.str] gitlab_owner: GitLab repository owner.
:param pulumi.Input[_builtins.str] gitlab_path_namespace: Full GitLab namespace path.
:param pulumi.Input[_builtins.int] gitlab_project_id: Numeric GitLab project ID.
:param pulumi.Input[_builtins.str] gitlab_repository: GitLab repository name.
:param pulumi.Input[_builtins.str] health_check_swarm: Docker Swarm health check configuration, as a JSON object.
:param pulumi.Input[_builtins.str] heroku_version: Heroku buildpack stack version.
:param pulumi.Input[_builtins.str] icon: Icon shown next to the service in the Dokploy UI.
:param pulumi.Input[_builtins.bool] is_preview_deployments_active: Build a preview deployment for each pull request.
:param pulumi.Input[_builtins.bool] is_static_spa: Serve a static build as a single-page application.
: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 application.
: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] owner: GitHub repository owner.
:param pulumi.Input[_builtins.str] password: Registry password, when pulling a private image.
:param pulumi.Input[_builtins.str] placement_swarm: Docker Swarm placement constraints, as a JSON object.
:param pulumi.Input[_builtins.str] preview_build_args: Build arguments applied to preview deployments.
:param pulumi.Input[_builtins.str] preview_build_secrets: Build secrets applied to preview deployments.
:param pulumi.Input[_builtins.str] preview_certificate_type: Certificate strategy for preview deployments. Valid values: `letsencrypt`, `none`, `custom`.
:param pulumi.Input[_builtins.str] preview_custom_cert_resolver: Traefik certificate resolver for preview deployments.
:param pulumi.Input[_builtins.str] preview_env: Environment variables applied to preview deployments.
:param pulumi.Input[_builtins.bool] preview_https: Serve preview deployments over HTTPS.
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] preview_labels: Pull request labels that opt into preview deployments.
:param pulumi.Input[_builtins.int] preview_limit: Maximum number of concurrent preview deployments.
:param pulumi.Input[_builtins.str] preview_path: Base path for preview deployments.
:param pulumi.Input[_builtins.int] preview_port: Container port exposed by preview deployments.
:param pulumi.Input[_builtins.bool] preview_require_collaborator_permissions: Only build previews for pull requests opened by users with repository collaborator permissions.
:param pulumi.Input[_builtins.str] preview_wildcard: Wildcard domain used to expose preview deployments.
:param pulumi.Input[_builtins.str] publish_directory: Directory served when `build_type` is `static`.
:param pulumi.Input[_builtins.str] railpack_version: Railpack version.
:param pulumi.Input[_builtins.str] registry_id: Registry used to push the built image.
:param pulumi.Input[_builtins.str] registry_url: Registry URL, when pulling a private image.
:param pulumi.Input[_builtins.int] replicas: Number of replicas to run.
:param pulumi.Input[_builtins.str] repository: GitHub repository name.
:param pulumi.Input[_builtins.str] restart_policy_swarm: Docker Swarm restart policy, as a JSON object.
:param pulumi.Input[_builtins.bool] rollback_active: Keep previous images so deployments can be rolled back.
:param pulumi.Input[_builtins.str] rollback_config_swarm: Docker Swarm rollback configuration, as a JSON object.
:param pulumi.Input[_builtins.str] rollback_registry_id: Registry used to store rollback images.
:param pulumi.Input[_builtins.str] server_id: Remote server to deploy on. Omit to use the Dokploy host itself.
:param pulumi.Input[_builtins.str] source_type: Where the application's code or image comes from. Valid values: `docker`, `git`, `github`, `gitlab`, `bitbucket`, `gitea`, `drop`.
:param pulumi.Input[_builtins.int] stop_grace_period_swarm: Grace period in nanoseconds before a container is killed.
:param pulumi.Input[_builtins.str] subtitle: Display subtitle shown in the Dokploy UI.
:param pulumi.Input[_builtins.str] title: Display title shown in the Dokploy UI.
:param pulumi.Input[_builtins.str] trigger_type: What triggers an automatic GitHub deployment. Valid values: `push`, `tag`.
: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.
:param pulumi.Input[_builtins.str] username: Registry username, when pulling a private image.
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] watch_paths: Glob patterns that limit which changed paths trigger an automatic deployment.
"""
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
__props__ = _ApplicationState.__new__(_ApplicationState)
__props__.__dict__["app_name"] = app_name
__props__.__dict__["application_status"] = application_status
__props__.__dict__["args"] = args
__props__.__dict__["auto_deploy"] = auto_deploy
__props__.__dict__["bitbucket_branch"] = bitbucket_branch
__props__.__dict__["bitbucket_build_path"] = bitbucket_build_path
__props__.__dict__["bitbucket_id"] = bitbucket_id
__props__.__dict__["bitbucket_owner"] = bitbucket_owner
__props__.__dict__["bitbucket_repository"] = bitbucket_repository
__props__.__dict__["bitbucket_repository_slug"] = bitbucket_repository_slug
__props__.__dict__["branch"] = branch
__props__.__dict__["build_args"] = build_args
__props__.__dict__["build_path"] = build_path
__props__.__dict__["build_registry_id"] = build_registry_id
__props__.__dict__["build_secrets"] = build_secrets
__props__.__dict__["build_server_id"] = build_server_id
__props__.__dict__["build_type"] = build_type
__props__.__dict__["clean_cache"] = clean_cache
__props__.__dict__["command"] = command
__props__.__dict__["cpu_limit"] = cpu_limit
__props__.__dict__["cpu_reservation"] = cpu_reservation
__props__.__dict__["create_env_file"] = create_env_file
__props__.__dict__["created_at"] = created_at
__props__.__dict__["custom_git_branch"] = custom_git_branch
__props__.__dict__["custom_git_build_path"] = custom_git_build_path
__props__.__dict__["custom_git_ssh_key_id"] = custom_git_ssh_key_id
__props__.__dict__["custom_git_url"] = custom_git_url
__props__.__dict__["description"] = description
__props__.__dict__["detach_dokploy_network"] = detach_dokploy_network
__props__.__dict__["docker_build_stage"] = docker_build_stage
__props__.__dict__["docker_context_path"] = docker_context_path
__props__.__dict__["docker_image"] = docker_image
__props__.__dict__["dockerfile"] = dockerfile
__props__.__dict__["enable_submodules"] = enable_submodules
__props__.__dict__["enabled"] = enabled
__props__.__dict__["endpoint_spec_swarm"] = endpoint_spec_swarm
__props__.__dict__["env"] = env
__props__.__dict__["environment_id"] = environment_id
__props__.__dict__["gitea_branch"] = gitea_branch
__props__.__dict__["gitea_build_path"] = gitea_build_path
__props__.__dict__["gitea_id"] = gitea_id
__props__.__dict__["gitea_owner"] = gitea_owner
__props__.__dict__["gitea_repository"] = gitea_repository
__props__.__dict__["github_id"] = github_id
__props__.__dict__["gitlab_branch"] = gitlab_branch
__props__.__dict__["gitlab_build_path"] = gitlab_build_path
__props__.__dict__["gitlab_id"] = gitlab_id
__props__.__dict__["gitlab_owner"] = gitlab_owner
__props__.__dict__["gitlab_path_namespace"] = gitlab_path_namespace
__props__.__dict__["gitlab_project_id"] = gitlab_project_id
__props__.__dict__["gitlab_repository"] = gitlab_repository
__props__.__dict__["health_check_swarm"] = health_check_swarm
__props__.__dict__["heroku_version"] = heroku_version
__props__.__dict__["icon"] = icon
__props__.__dict__["is_preview_deployments_active"] = is_preview_deployments_active
__props__.__dict__["is_static_spa"] = is_static_spa
__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__["owner"] = owner
__props__.__dict__["password"] = password
__props__.__dict__["placement_swarm"] = placement_swarm
__props__.__dict__["preview_build_args"] = preview_build_args
__props__.__dict__["preview_build_secrets"] = preview_build_secrets
__props__.__dict__["preview_certificate_type"] = preview_certificate_type
__props__.__dict__["preview_custom_cert_resolver"] = preview_custom_cert_resolver
__props__.__dict__["preview_env"] = preview_env
__props__.__dict__["preview_https"] = preview_https
__props__.__dict__["preview_labels"] = preview_labels
__props__.__dict__["preview_limit"] = preview_limit
__props__.__dict__["preview_path"] = preview_path
__props__.__dict__["preview_port"] = preview_port
__props__.__dict__["preview_require_collaborator_permissions"] = preview_require_collaborator_permissions
__props__.__dict__["preview_wildcard"] = preview_wildcard
__props__.__dict__["publish_directory"] = publish_directory
__props__.__dict__["railpack_version"] = railpack_version
__props__.__dict__["registry_id"] = registry_id
__props__.__dict__["registry_url"] = registry_url
__props__.__dict__["replicas"] = replicas
__props__.__dict__["repository"] = repository
__props__.__dict__["restart_policy_swarm"] = restart_policy_swarm
__props__.__dict__["rollback_active"] = rollback_active
__props__.__dict__["rollback_config_swarm"] = rollback_config_swarm
__props__.__dict__["rollback_registry_id"] = rollback_registry_id
__props__.__dict__["server_id"] = server_id
__props__.__dict__["source_type"] = source_type
__props__.__dict__["stop_grace_period_swarm"] = stop_grace_period_swarm
__props__.__dict__["subtitle"] = subtitle
__props__.__dict__["title"] = title
__props__.__dict__["trigger_type"] = trigger_type
__props__.__dict__["ulimits_swarm"] = ulimits_swarm
__props__.__dict__["update_config_swarm"] = update_config_swarm
__props__.__dict__["username"] = username
__props__.__dict__["watch_paths"] = watch_paths
return Application(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 application.
"""
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(name="autoDeploy")
def auto_deploy(self) -> pulumi.Output[_builtins.bool]:
"""
Deploy automatically when the configured trigger fires.
"""
return pulumi.get(self, "auto_deploy")
@_builtins.property
@pulumi.getter(name="bitbucketBranch")
def bitbucket_branch(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
Bitbucket branch to build.
"""
return pulumi.get(self, "bitbucket_branch")
@_builtins.property
@pulumi.getter(name="bitbucketBuildPath")
def bitbucket_build_path(self) -> pulumi.Output[_builtins.str]:
"""
Path within the Bitbucket repository to build from.
"""
return pulumi.get(self, "bitbucket_build_path")
@_builtins.property
@pulumi.getter(name="bitbucketId")
def bitbucket_id(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
ID of the configured Bitbucket provider connection.
"""
return pulumi.get(self, "bitbucket_id")
@_builtins.property
@pulumi.getter(name="bitbucketOwner")
def bitbucket_owner(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
Bitbucket repository owner.
"""
return pulumi.get(self, "bitbucket_owner")
@_builtins.property
@pulumi.getter(name="bitbucketRepository")
def bitbucket_repository(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
Bitbucket repository name.
"""
return pulumi.get(self, "bitbucket_repository")
@_builtins.property
@pulumi.getter(name="bitbucketRepositorySlug")
def bitbucket_repository_slug(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
Bitbucket repository slug.
"""
return pulumi.get(self, "bitbucket_repository_slug")
@_builtins.property
@pulumi.getter
def branch(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
GitHub branch to build.
"""
return pulumi.get(self, "branch")
@_builtins.property
@pulumi.getter(name="buildArgs")
def build_args(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
Docker build arguments in `KEY=value` format, one per line.
"""
return pulumi.get(self, "build_args")
@_builtins.property
@pulumi.getter(name="buildPath")
def build_path(self) -> pulumi.Output[_builtins.str]:
"""
Path within the GitHub repository to build from.
"""
return pulumi.get(self, "build_path")
@_builtins.property
@pulumi.getter(name="buildRegistryId")
def build_registry_id(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
Registry used by a dedicated build server.
"""
return pulumi.get(self, "build_registry_id")
@_builtins.property
@pulumi.getter(name="buildSecrets")
def build_secrets(self) -> pulumi.Output[_builtins.str]:
"""
Docker build secrets in `KEY=value` format, one per line.
"""
return pulumi.get(self, "build_secrets")
@_builtins.property
@pulumi.getter(name="buildServerId")
def build_server_id(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
Server that performs builds, when separate from the deploy server.
"""
return pulumi.get(self, "build_server_id")
@_builtins.property
@pulumi.getter(name="buildType")
def build_type(self) -> pulumi.Output[_builtins.str]:
"""
How the application is built. Valid values: `dockerfile`, `heroku_buildpacks`, `paketo_buildpacks`, `nixpacks`, `static`, `railpack`.
"""
return pulumi.get(self, "build_type")
@_builtins.property
@pulumi.getter(name="cleanCache")
def clean_cache(self) -> pulumi.Output[_builtins.bool]:
"""
Discard the build cache on the next deployment.
"""
return pulumi.get(self, "clean_cache")
@_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="createEnvFile")
def create_env_file(self) -> pulumi.Output[_builtins.bool]:
"""
Write the environment variables to a `.env` file in the container.
"""
return pulumi.get(self, "create_env_file")
@_builtins.property
@pulumi.getter(name="createdAt")
def created_at(self) -> pulumi.Output[_builtins.str]:
"""
RFC 3339 timestamp of when the application was created.
"""
return pulumi.get(self, "created_at")
@_builtins.property
@pulumi.getter(name="customGitBranch")
def custom_git_branch(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
Branch to build for a custom Git remote.
"""
return pulumi.get(self, "custom_git_branch")
@_builtins.property
@pulumi.getter(name="customGitBuildPath")
def custom_git_build_path(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
Path within a custom Git repository to build from.
"""
return pulumi.get(self, "custom_git_build_path")
@_builtins.property
@pulumi.getter(name="customGitSshKeyId")
def custom_git_ssh_key_id(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
SSH key used to clone a private custom Git remote.
"""
return pulumi.get(self, "custom_git_ssh_key_id")
@_builtins.property
@pulumi.getter(name="customGitUrl")
def custom_git_url(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
Git remote URL, when `source_type` is `git`.
"""
return pulumi.get(self, "custom_git_url")
@_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="dockerBuildStage")
def docker_build_stage(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
Target stage for a multi-stage Docker build.
"""
return pulumi.get(self, "docker_build_stage")
@_builtins.property
@pulumi.getter(name="dockerContextPath")
def docker_context_path(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
Docker build context path.
"""
return pulumi.get(self, "docker_context_path")
@_builtins.property
@pulumi.getter(name="dockerImage")
def docker_image(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
Docker image reference, when `source_type` is `docker`.
"""
return pulumi.get(self, "docker_image")
@_builtins.property
@pulumi.getter
def dockerfile(self) -> pulumi.Output[_builtins.str]:
"""
Path to the Dockerfile, when `build_type` is `dockerfile`.
"""
return pulumi.get(self, "dockerfile")
@_builtins.property
@pulumi.getter(name="enableSubmodules")
def enable_submodules(self) -> pulumi.Output[_builtins.bool]:
"""
Clone Git submodules when checking out the repository.
"""
return pulumi.get(self, "enable_submodules")
@_builtins.property
@pulumi.getter
def enabled(self) -> pulumi.Output[_builtins.bool]:
"""
Whether the application is enabled.
"""
return pulumi.get(self, "enabled")
@_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]]:
"""
Runtime 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 application belongs to.
"""
return pulumi.get(self, "environment_id")
@_builtins.property
@pulumi.getter(name="giteaBranch")
def gitea_branch(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
Gitea branch to build.
"""
return pulumi.get(self, "gitea_branch")
@_builtins.property
@pulumi.getter(name="giteaBuildPath")
def gitea_build_path(self) -> pulumi.Output[_builtins.str]:
"""
Path within the Gitea repository to build from.
"""
return pulumi.get(self, "gitea_build_path")
@_builtins.property
@pulumi.getter(name="giteaId")
def gitea_id(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
ID of the configured Gitea provider connection.
"""
return pulumi.get(self, "gitea_id")
@_builtins.property
@pulumi.getter(name="giteaOwner")
def gitea_owner(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
Gitea repository owner.
"""
return pulumi.get(self, "gitea_owner")
@_builtins.property
@pulumi.getter(name="giteaRepository")
def gitea_repository(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
Gitea repository name.
"""
return pulumi.get(self, "gitea_repository")
@_builtins.property
@pulumi.getter(name="githubId")
def github_id(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
ID of the configured GitHub provider connection.
"""
return pulumi.get(self, "github_id")
@_builtins.property
@pulumi.getter(name="gitlabBranch")
def gitlab_branch(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
GitLab branch to build.
"""
return pulumi.get(self, "gitlab_branch")
@_builtins.property
@pulumi.getter(name="gitlabBuildPath")
def gitlab_build_path(self) -> pulumi.Output[_builtins.str]:
"""
Path within the GitLab repository to build from.
"""
return pulumi.get(self, "gitlab_build_path")
@_builtins.property
@pulumi.getter(name="gitlabId")
def gitlab_id(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
ID of the configured GitLab provider connection.
"""
return pulumi.get(self, "gitlab_id")
@_builtins.property
@pulumi.getter(name="gitlabOwner")
def gitlab_owner(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
GitLab repository owner.
"""
return pulumi.get(self, "gitlab_owner")
@_builtins.property
@pulumi.getter(name="gitlabPathNamespace")
def gitlab_path_namespace(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
Full GitLab namespace path.
"""
return pulumi.get(self, "gitlab_path_namespace")
@_builtins.property
@pulumi.getter(name="gitlabProjectId")
def gitlab_project_id(self) -> pulumi.Output[Optional[_builtins.int]]:
"""
Numeric GitLab project ID.
"""
return pulumi.get(self, "gitlab_project_id")
@_builtins.property
@pulumi.getter(name="gitlabRepository")
def gitlab_repository(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
GitLab repository name.
"""
return pulumi.get(self, "gitlab_repository")
@_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="herokuVersion")
def heroku_version(self) -> pulumi.Output[_builtins.str]:
"""
Heroku buildpack stack version.
"""
return pulumi.get(self, "heroku_version")
@_builtins.property
@pulumi.getter
def icon(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
Icon shown next to the service in the Dokploy UI.
"""
return pulumi.get(self, "icon")
@_builtins.property
@pulumi.getter(name="isPreviewDeploymentsActive")
def is_preview_deployments_active(self) -> pulumi.Output[_builtins.bool]:
"""
Build a preview deployment for each pull request.
"""
return pulumi.get(self, "is_preview_deployments_active")
@_builtins.property
@pulumi.getter(name="isStaticSpa")
def is_static_spa(self) -> pulumi.Output[_builtins.bool]:
"""
Serve a static build as a single-page application.
"""
return pulumi.get(self, "is_static_spa")
@_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 application.
"""
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
def owner(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
GitHub repository owner.
"""
return pulumi.get(self, "owner")
@_builtins.property
@pulumi.getter
def password(self) -> pulumi.Output[_builtins.str]:
"""
Registry password, when pulling a private image.
"""
return pulumi.get(self, "password")
@_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(name="previewBuildArgs")
def preview_build_args(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
Build arguments applied to preview deployments.
"""
return pulumi.get(self, "preview_build_args")
@_builtins.property
@pulumi.getter(name="previewBuildSecrets")
def preview_build_secrets(self) -> pulumi.Output[_builtins.str]:
"""
Build secrets applied to preview deployments.
"""
return pulumi.get(self, "preview_build_secrets")
@_builtins.property
@pulumi.getter(name="previewCertificateType")
def preview_certificate_type(self) -> pulumi.Output[_builtins.str]:
"""
Certificate strategy for preview deployments. Valid values: `letsencrypt`, `none`, `custom`.
"""
return pulumi.get(self, "preview_certificate_type")
@_builtins.property
@pulumi.getter(name="previewCustomCertResolver")
def preview_custom_cert_resolver(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
Traefik certificate resolver for preview deployments.
"""
return pulumi.get(self, "preview_custom_cert_resolver")
@_builtins.property
@pulumi.getter(name="previewEnv")
def preview_env(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
Environment variables applied to preview deployments.
"""
return pulumi.get(self, "preview_env")
@_builtins.property
@pulumi.getter(name="previewHttps")
def preview_https(self) -> pulumi.Output[_builtins.bool]:
"""
Serve preview deployments over HTTPS.
"""
return pulumi.get(self, "preview_https")
@_builtins.property
@pulumi.getter(name="previewLabels")
def preview_labels(self) -> pulumi.Output[Sequence[_builtins.str]]:
"""
Pull request labels that opt into preview deployments.
"""
return pulumi.get(self, "preview_labels")
@_builtins.property
@pulumi.getter(name="previewLimit")
def preview_limit(self) -> pulumi.Output[_builtins.int]:
"""
Maximum number of concurrent preview deployments.
"""
return pulumi.get(self, "preview_limit")
@_builtins.property
@pulumi.getter(name="previewPath")
def preview_path(self) -> pulumi.Output[_builtins.str]:
"""
Base path for preview deployments.
"""
return pulumi.get(self, "preview_path")
@_builtins.property
@pulumi.getter(name="previewPort")
def preview_port(self) -> pulumi.Output[_builtins.int]:
"""
Container port exposed by preview deployments.
"""
return pulumi.get(self, "preview_port")
@_builtins.property
@pulumi.getter(name="previewRequireCollaboratorPermissions")
def preview_require_collaborator_permissions(self) -> pulumi.Output[_builtins.bool]:
"""
Only build previews for pull requests opened by users with repository collaborator permissions.
"""
return pulumi.get(self, "preview_require_collaborator_permissions")
@_builtins.property
@pulumi.getter(name="previewWildcard")
def preview_wildcard(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
Wildcard domain used to expose preview deployments.
"""
return pulumi.get(self, "preview_wildcard")
@_builtins.property
@pulumi.getter(name="publishDirectory")
def publish_directory(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
Directory served when `build_type` is `static`.
"""
return pulumi.get(self, "publish_directory")
@_builtins.property
@pulumi.getter(name="railpackVersion")
def railpack_version(self) -> pulumi.Output[_builtins.str]:
"""
Railpack version.
"""
return pulumi.get(self, "railpack_version")
@_builtins.property
@pulumi.getter(name="registryId")
def registry_id(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
Registry used to push the built image.
"""
return pulumi.get(self, "registry_id")
@_builtins.property
@pulumi.getter(name="registryUrl")
def registry_url(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
Registry URL, when pulling a private image.
"""
return pulumi.get(self, "registry_url")
@_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
def repository(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
GitHub repository name.
"""
return pulumi.get(self, "repository")
@_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="rollbackActive")
def rollback_active(self) -> pulumi.Output[_builtins.bool]:
"""
Keep previous images so deployments can be rolled back.
"""
return pulumi.get(self, "rollback_active")
@_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="rollbackRegistryId")
def rollback_registry_id(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
Registry used to store rollback images.
"""
return pulumi.get(self, "rollback_registry_id")
@_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="sourceType")
def source_type(self) -> pulumi.Output[_builtins.str]:
"""
Where the application's code or image comes from. Valid values: `docker`, `git`, `github`, `gitlab`, `bitbucket`, `gitea`, `drop`.
"""
return pulumi.get(self, "source_type")
@_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
def subtitle(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
Display subtitle shown in the Dokploy UI.
"""
return pulumi.get(self, "subtitle")
@_builtins.property
@pulumi.getter
def title(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
Display title shown in the Dokploy UI.
"""
return pulumi.get(self, "title")
@_builtins.property
@pulumi.getter(name="triggerType")
def trigger_type(self) -> pulumi.Output[_builtins.str]:
"""
What triggers an automatic GitHub deployment. Valid values: `push`, `tag`.
"""
return pulumi.get(self, "trigger_type")
@_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")
@_builtins.property
@pulumi.getter
def username(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
Registry username, when pulling a private image.
"""
return pulumi.get(self, "username")
@_builtins.property
@pulumi.getter(name="watchPaths")
def watch_paths(self) -> pulumi.Output[Sequence[_builtins.str]]:
"""
Glob patterns that limit which changed paths trigger an automatic deployment.
"""
return pulumi.get(self, "watch_paths")