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

2138 lines
97 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__ = ['ComposeArgs', 'Compose']
@pulumi.input_type
class ComposeArgs:
def __init__(__self__, *,
environment_id: pulumi.Input[_builtins.str],
app_name: Optional[pulumi.Input[_builtins.str]] = None,
auto_deploy: Optional[pulumi.Input[_builtins.bool]] = None,
bitbucket_branch: Optional[pulumi.Input[_builtins.str]] = None,
bitbucket_id: Optional[pulumi.Input[_builtins.str]] = None,
bitbucket_owner: Optional[pulumi.Input[_builtins.str]] = None,
bitbucket_repository: Optional[pulumi.Input[_builtins.str]] = None,
bitbucket_repository_slug: Optional[pulumi.Input[_builtins.str]] = None,
branch: Optional[pulumi.Input[_builtins.str]] = None,
command: Optional[pulumi.Input[_builtins.str]] = None,
compose_file: Optional[pulumi.Input[_builtins.str]] = None,
compose_path: Optional[pulumi.Input[_builtins.str]] = None,
compose_type: Optional[pulumi.Input[_builtins.str]] = None,
custom_git_branch: Optional[pulumi.Input[_builtins.str]] = None,
custom_git_ssh_key_id: Optional[pulumi.Input[_builtins.str]] = None,
custom_git_url: Optional[pulumi.Input[_builtins.str]] = None,
delete_volumes: Optional[pulumi.Input[_builtins.bool]] = None,
description: Optional[pulumi.Input[_builtins.str]] = None,
enable_submodules: Optional[pulumi.Input[_builtins.bool]] = None,
env: Optional[pulumi.Input[_builtins.str]] = None,
gitea_branch: Optional[pulumi.Input[_builtins.str]] = None,
gitea_id: Optional[pulumi.Input[_builtins.str]] = None,
gitea_owner: Optional[pulumi.Input[_builtins.str]] = None,
gitea_repository: Optional[pulumi.Input[_builtins.str]] = None,
github_id: Optional[pulumi.Input[_builtins.str]] = None,
gitlab_branch: Optional[pulumi.Input[_builtins.str]] = None,
gitlab_id: Optional[pulumi.Input[_builtins.str]] = None,
gitlab_owner: Optional[pulumi.Input[_builtins.str]] = None,
gitlab_path_namespace: Optional[pulumi.Input[_builtins.str]] = None,
gitlab_project_id: Optional[pulumi.Input[_builtins.int]] = None,
gitlab_repository: Optional[pulumi.Input[_builtins.str]] = None,
isolated_deployment: Optional[pulumi.Input[_builtins.bool]] = None,
isolated_deployments_volume: Optional[pulumi.Input[_builtins.bool]] = None,
name: Optional[pulumi.Input[_builtins.str]] = None,
owner: Optional[pulumi.Input[_builtins.str]] = None,
randomize: Optional[pulumi.Input[_builtins.bool]] = None,
repository: Optional[pulumi.Input[_builtins.str]] = None,
server_id: Optional[pulumi.Input[_builtins.str]] = None,
source_type: Optional[pulumi.Input[_builtins.str]] = None,
suffix: Optional[pulumi.Input[_builtins.str]] = None,
trigger_type: Optional[pulumi.Input[_builtins.str]] = None,
watch_paths: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None):
"""
The set of arguments for constructing a Compose resource.
:param pulumi.Input[_builtins.str] environment_id: Environment this stack belongs to.
:param pulumi.Input[_builtins.str] app_name: Unique Docker stack name. Generated by Dokploy when omitted. Changing it forces a new stack.
:param pulumi.Input[_builtins.bool] auto_deploy: Deploy automatically when the configured trigger fires.
:param pulumi.Input[_builtins.str] bitbucket_branch: Bitbucket branch to deploy.
: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 deploy.
:param pulumi.Input[_builtins.str] command: Custom `docker compose` command to run.
:param pulumi.Input[_builtins.str] compose_file: Inline Compose file contents. Used when `source_type` is `raw`.
:param pulumi.Input[_builtins.str] compose_path: Path to the Compose file within the repository.
:param pulumi.Input[_builtins.str] compose_type: Whether to run the stack with Docker Compose or Docker Swarm. Valid values: `docker-compose`, `stack`.
:param pulumi.Input[_builtins.str] custom_git_branch: Branch to deploy for a custom Git remote.
: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.bool] delete_volumes: Whether to delete the stack's Docker volumes when this resource is destroyed. Defaults to `false`, which preserves the data.
:param pulumi.Input[_builtins.str] description: Free-form description.
:param pulumi.Input[_builtins.bool] enable_submodules: Clone Git submodules when checking out the repository.
:param pulumi.Input[_builtins.str] env: Environment variables in `KEY=value` format, one per line.
:param pulumi.Input[_builtins.str] gitea_branch: Gitea branch to deploy.
: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 deploy.
: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.bool] isolated_deployment: Run the stack on its own isolated Docker network.
:param pulumi.Input[_builtins.bool] isolated_deployments_volume: Prefix volume names for isolated deployments. Retained for backwards compatibility.
:param pulumi.Input[_builtins.str] name: Display name of the stack.
:param pulumi.Input[_builtins.str] owner: GitHub repository owner.
:param pulumi.Input[_builtins.bool] randomize: Append a random suffix to service and volume names.
:param pulumi.Input[_builtins.str] repository: GitHub repository name.
: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 Compose file comes from. Valid values: `git`, `github`, `gitlab`, `bitbucket`, `gitea`, `raw`.
:param pulumi.Input[_builtins.str] suffix: Suffix appended to generated resource names.
:param pulumi.Input[_builtins.str] trigger_type: What triggers an automatic deployment. Valid values: `push`, `tag`.
: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 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_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 command is not None:
pulumi.set(__self__, "command", command)
if compose_file is not None:
pulumi.set(__self__, "compose_file", compose_file)
if compose_path is not None:
pulumi.set(__self__, "compose_path", compose_path)
if compose_type is not None:
pulumi.set(__self__, "compose_type", compose_type)
if custom_git_branch is not None:
pulumi.set(__self__, "custom_git_branch", custom_git_branch)
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 delete_volumes is not None:
pulumi.set(__self__, "delete_volumes", delete_volumes)
if description is not None:
pulumi.set(__self__, "description", description)
if enable_submodules is not None:
pulumi.set(__self__, "enable_submodules", enable_submodules)
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_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_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 isolated_deployment is not None:
pulumi.set(__self__, "isolated_deployment", isolated_deployment)
if isolated_deployments_volume is not None:
pulumi.set(__self__, "isolated_deployments_volume", isolated_deployments_volume)
if name is not None:
pulumi.set(__self__, "name", name)
if owner is not None:
pulumi.set(__self__, "owner", owner)
if randomize is not None:
pulumi.set(__self__, "randomize", randomize)
if repository is not None:
pulumi.set(__self__, "repository", repository)
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 suffix is not None:
pulumi.set(__self__, "suffix", suffix)
if trigger_type is not None:
pulumi.set(__self__, "trigger_type", trigger_type)
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 stack belongs to.
"""
return pulumi.get(self, "environment_id")
@environment_id.setter
def environment_id(self, value: pulumi.Input[_builtins.str]):
pulumi.set(self, "environment_id", value)
@_builtins.property
@pulumi.getter(name="appName")
def app_name(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Unique Docker stack name. Generated by Dokploy when omitted. Changing it forces a new stack.
"""
return pulumi.get(self, "app_name")
@app_name.setter
def app_name(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "app_name", value)
@_builtins.property
@pulumi.getter(name="autoDeploy")
def auto_deploy(self) -> Optional[pulumi.Input[_builtins.bool]]:
"""
Deploy automatically when the configured trigger fires.
"""
return pulumi.get(self, "auto_deploy")
@auto_deploy.setter
def auto_deploy(self, value: Optional[pulumi.Input[_builtins.bool]]):
pulumi.set(self, "auto_deploy", value)
@_builtins.property
@pulumi.getter(name="bitbucketBranch")
def bitbucket_branch(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Bitbucket branch to deploy.
"""
return pulumi.get(self, "bitbucket_branch")
@bitbucket_branch.setter
def bitbucket_branch(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "bitbucket_branch", value)
@_builtins.property
@pulumi.getter(name="bitbucketId")
def bitbucket_id(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
ID of the configured Bitbucket provider connection.
"""
return pulumi.get(self, "bitbucket_id")
@bitbucket_id.setter
def bitbucket_id(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "bitbucket_id", value)
@_builtins.property
@pulumi.getter(name="bitbucketOwner")
def bitbucket_owner(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Bitbucket repository owner.
"""
return pulumi.get(self, "bitbucket_owner")
@bitbucket_owner.setter
def bitbucket_owner(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "bitbucket_owner", value)
@_builtins.property
@pulumi.getter(name="bitbucketRepository")
def bitbucket_repository(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Bitbucket repository name.
"""
return pulumi.get(self, "bitbucket_repository")
@bitbucket_repository.setter
def bitbucket_repository(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "bitbucket_repository", value)
@_builtins.property
@pulumi.getter(name="bitbucketRepositorySlug")
def bitbucket_repository_slug(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Bitbucket repository slug.
"""
return pulumi.get(self, "bitbucket_repository_slug")
@bitbucket_repository_slug.setter
def bitbucket_repository_slug(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "bitbucket_repository_slug", value)
@_builtins.property
@pulumi.getter
def branch(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
GitHub branch to deploy.
"""
return pulumi.get(self, "branch")
@branch.setter
def branch(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "branch", value)
@_builtins.property
@pulumi.getter
def command(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Custom `docker compose` command to run.
"""
return pulumi.get(self, "command")
@command.setter
def command(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "command", value)
@_builtins.property
@pulumi.getter(name="composeFile")
def compose_file(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Inline Compose file contents. Used when `source_type` is `raw`.
"""
return pulumi.get(self, "compose_file")
@compose_file.setter
def compose_file(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "compose_file", value)
@_builtins.property
@pulumi.getter(name="composePath")
def compose_path(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Path to the Compose file within the repository.
"""
return pulumi.get(self, "compose_path")
@compose_path.setter
def compose_path(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "compose_path", value)
@_builtins.property
@pulumi.getter(name="composeType")
def compose_type(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Whether to run the stack with Docker Compose or Docker Swarm. Valid values: `docker-compose`, `stack`.
"""
return pulumi.get(self, "compose_type")
@compose_type.setter
def compose_type(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "compose_type", value)
@_builtins.property
@pulumi.getter(name="customGitBranch")
def custom_git_branch(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Branch to deploy for a custom Git remote.
"""
return pulumi.get(self, "custom_git_branch")
@custom_git_branch.setter
def custom_git_branch(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "custom_git_branch", value)
@_builtins.property
@pulumi.getter(name="customGitSshKeyId")
def custom_git_ssh_key_id(self) -> Optional[pulumi.Input[_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: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "custom_git_ssh_key_id", value)
@_builtins.property
@pulumi.getter(name="customGitUrl")
def custom_git_url(self) -> Optional[pulumi.Input[_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: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "custom_git_url", value)
@_builtins.property
@pulumi.getter(name="deleteVolumes")
def delete_volumes(self) -> Optional[pulumi.Input[_builtins.bool]]:
"""
Whether to delete the stack's Docker volumes when this resource is destroyed. Defaults to `false`, which preserves the data.
"""
return pulumi.get(self, "delete_volumes")
@delete_volumes.setter
def delete_volumes(self, value: Optional[pulumi.Input[_builtins.bool]]):
pulumi.set(self, "delete_volumes", value)
@_builtins.property
@pulumi.getter
def description(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Free-form description.
"""
return pulumi.get(self, "description")
@description.setter
def description(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "description", value)
@_builtins.property
@pulumi.getter(name="enableSubmodules")
def enable_submodules(self) -> Optional[pulumi.Input[_builtins.bool]]:
"""
Clone Git submodules when checking out the repository.
"""
return pulumi.get(self, "enable_submodules")
@enable_submodules.setter
def enable_submodules(self, value: Optional[pulumi.Input[_builtins.bool]]):
pulumi.set(self, "enable_submodules", value)
@_builtins.property
@pulumi.getter
def env(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Environment variables in `KEY=value` format, one per line.
"""
return pulumi.get(self, "env")
@env.setter
def env(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "env", value)
@_builtins.property
@pulumi.getter(name="giteaBranch")
def gitea_branch(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Gitea branch to deploy.
"""
return pulumi.get(self, "gitea_branch")
@gitea_branch.setter
def gitea_branch(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "gitea_branch", value)
@_builtins.property
@pulumi.getter(name="giteaId")
def gitea_id(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
ID of the configured Gitea provider connection.
"""
return pulumi.get(self, "gitea_id")
@gitea_id.setter
def gitea_id(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "gitea_id", value)
@_builtins.property
@pulumi.getter(name="giteaOwner")
def gitea_owner(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Gitea repository owner.
"""
return pulumi.get(self, "gitea_owner")
@gitea_owner.setter
def gitea_owner(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "gitea_owner", value)
@_builtins.property
@pulumi.getter(name="giteaRepository")
def gitea_repository(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Gitea repository name.
"""
return pulumi.get(self, "gitea_repository")
@gitea_repository.setter
def gitea_repository(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "gitea_repository", value)
@_builtins.property
@pulumi.getter(name="githubId")
def github_id(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
ID of the configured GitHub provider connection.
"""
return pulumi.get(self, "github_id")
@github_id.setter
def github_id(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "github_id", value)
@_builtins.property
@pulumi.getter(name="gitlabBranch")
def gitlab_branch(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
GitLab branch to deploy.
"""
return pulumi.get(self, "gitlab_branch")
@gitlab_branch.setter
def gitlab_branch(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "gitlab_branch", value)
@_builtins.property
@pulumi.getter(name="gitlabId")
def gitlab_id(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
ID of the configured GitLab provider connection.
"""
return pulumi.get(self, "gitlab_id")
@gitlab_id.setter
def gitlab_id(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "gitlab_id", value)
@_builtins.property
@pulumi.getter(name="gitlabOwner")
def gitlab_owner(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
GitLab repository owner.
"""
return pulumi.get(self, "gitlab_owner")
@gitlab_owner.setter
def gitlab_owner(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "gitlab_owner", value)
@_builtins.property
@pulumi.getter(name="gitlabPathNamespace")
def gitlab_path_namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Full GitLab namespace path.
"""
return pulumi.get(self, "gitlab_path_namespace")
@gitlab_path_namespace.setter
def gitlab_path_namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "gitlab_path_namespace", value)
@_builtins.property
@pulumi.getter(name="gitlabProjectId")
def gitlab_project_id(self) -> Optional[pulumi.Input[_builtins.int]]:
"""
Numeric GitLab project ID.
"""
return pulumi.get(self, "gitlab_project_id")
@gitlab_project_id.setter
def gitlab_project_id(self, value: Optional[pulumi.Input[_builtins.int]]):
pulumi.set(self, "gitlab_project_id", value)
@_builtins.property
@pulumi.getter(name="gitlabRepository")
def gitlab_repository(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
GitLab repository name.
"""
return pulumi.get(self, "gitlab_repository")
@gitlab_repository.setter
def gitlab_repository(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "gitlab_repository", value)
@_builtins.property
@pulumi.getter(name="isolatedDeployment")
def isolated_deployment(self) -> Optional[pulumi.Input[_builtins.bool]]:
"""
Run the stack on its own isolated Docker network.
"""
return pulumi.get(self, "isolated_deployment")
@isolated_deployment.setter
def isolated_deployment(self, value: Optional[pulumi.Input[_builtins.bool]]):
pulumi.set(self, "isolated_deployment", value)
@_builtins.property
@pulumi.getter(name="isolatedDeploymentsVolume")
def isolated_deployments_volume(self) -> Optional[pulumi.Input[_builtins.bool]]:
"""
Prefix volume names for isolated deployments. Retained for backwards compatibility.
"""
return pulumi.get(self, "isolated_deployments_volume")
@isolated_deployments_volume.setter
def isolated_deployments_volume(self, value: Optional[pulumi.Input[_builtins.bool]]):
pulumi.set(self, "isolated_deployments_volume", value)
@_builtins.property
@pulumi.getter
def name(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Display name of the stack.
"""
return pulumi.get(self, "name")
@name.setter
def name(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "name", value)
@_builtins.property
@pulumi.getter
def owner(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
GitHub repository owner.
"""
return pulumi.get(self, "owner")
@owner.setter
def owner(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "owner", value)
@_builtins.property
@pulumi.getter
def randomize(self) -> Optional[pulumi.Input[_builtins.bool]]:
"""
Append a random suffix to service and volume names.
"""
return pulumi.get(self, "randomize")
@randomize.setter
def randomize(self, value: Optional[pulumi.Input[_builtins.bool]]):
pulumi.set(self, "randomize", value)
@_builtins.property
@pulumi.getter
def repository(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
GitHub repository name.
"""
return pulumi.get(self, "repository")
@repository.setter
def repository(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "repository", value)
@_builtins.property
@pulumi.getter(name="serverId")
def server_id(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Remote server to deploy on. Omit to use the Dokploy host itself.
"""
return pulumi.get(self, "server_id")
@server_id.setter
def server_id(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "server_id", value)
@_builtins.property
@pulumi.getter(name="sourceType")
def source_type(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Where the Compose file comes from. Valid values: `git`, `github`, `gitlab`, `bitbucket`, `gitea`, `raw`.
"""
return pulumi.get(self, "source_type")
@source_type.setter
def source_type(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "source_type", value)
@_builtins.property
@pulumi.getter
def suffix(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Suffix appended to generated resource names.
"""
return pulumi.get(self, "suffix")
@suffix.setter
def suffix(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "suffix", value)
@_builtins.property
@pulumi.getter(name="triggerType")
def trigger_type(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
What triggers an automatic deployment. Valid values: `push`, `tag`.
"""
return pulumi.get(self, "trigger_type")
@trigger_type.setter
def trigger_type(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "trigger_type", value)
@_builtins.property
@pulumi.getter(name="watchPaths")
def watch_paths(self) -> Optional[pulumi.Input[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: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
pulumi.set(self, "watch_paths", value)
@pulumi.input_type
class _ComposeState:
def __init__(__self__, *,
app_name: Optional[pulumi.Input[_builtins.str]] = None,
auto_deploy: Optional[pulumi.Input[_builtins.bool]] = None,
bitbucket_branch: Optional[pulumi.Input[_builtins.str]] = None,
bitbucket_id: Optional[pulumi.Input[_builtins.str]] = None,
bitbucket_owner: Optional[pulumi.Input[_builtins.str]] = None,
bitbucket_repository: Optional[pulumi.Input[_builtins.str]] = None,
bitbucket_repository_slug: Optional[pulumi.Input[_builtins.str]] = None,
branch: Optional[pulumi.Input[_builtins.str]] = None,
command: Optional[pulumi.Input[_builtins.str]] = None,
compose_file: Optional[pulumi.Input[_builtins.str]] = None,
compose_path: Optional[pulumi.Input[_builtins.str]] = None,
compose_status: Optional[pulumi.Input[_builtins.str]] = None,
compose_type: Optional[pulumi.Input[_builtins.str]] = None,
created_at: Optional[pulumi.Input[_builtins.str]] = None,
custom_git_branch: Optional[pulumi.Input[_builtins.str]] = None,
custom_git_ssh_key_id: Optional[pulumi.Input[_builtins.str]] = None,
custom_git_url: Optional[pulumi.Input[_builtins.str]] = None,
delete_volumes: Optional[pulumi.Input[_builtins.bool]] = None,
description: Optional[pulumi.Input[_builtins.str]] = None,
enable_submodules: Optional[pulumi.Input[_builtins.bool]] = None,
env: Optional[pulumi.Input[_builtins.str]] = None,
environment_id: Optional[pulumi.Input[_builtins.str]] = None,
gitea_branch: Optional[pulumi.Input[_builtins.str]] = None,
gitea_id: Optional[pulumi.Input[_builtins.str]] = None,
gitea_owner: Optional[pulumi.Input[_builtins.str]] = None,
gitea_repository: Optional[pulumi.Input[_builtins.str]] = None,
github_id: Optional[pulumi.Input[_builtins.str]] = None,
gitlab_branch: Optional[pulumi.Input[_builtins.str]] = None,
gitlab_id: Optional[pulumi.Input[_builtins.str]] = None,
gitlab_owner: Optional[pulumi.Input[_builtins.str]] = None,
gitlab_path_namespace: Optional[pulumi.Input[_builtins.str]] = None,
gitlab_project_id: Optional[pulumi.Input[_builtins.int]] = None,
gitlab_repository: Optional[pulumi.Input[_builtins.str]] = None,
isolated_deployment: Optional[pulumi.Input[_builtins.bool]] = None,
isolated_deployments_volume: Optional[pulumi.Input[_builtins.bool]] = None,
name: Optional[pulumi.Input[_builtins.str]] = None,
owner: Optional[pulumi.Input[_builtins.str]] = None,
randomize: Optional[pulumi.Input[_builtins.bool]] = None,
repository: Optional[pulumi.Input[_builtins.str]] = None,
server_id: Optional[pulumi.Input[_builtins.str]] = None,
source_type: Optional[pulumi.Input[_builtins.str]] = None,
suffix: Optional[pulumi.Input[_builtins.str]] = None,
trigger_type: Optional[pulumi.Input[_builtins.str]] = None,
watch_paths: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None):
"""
Input properties used for looking up and filtering Compose resources.
:param pulumi.Input[_builtins.str] app_name: Unique Docker stack name. Generated by Dokploy when omitted. Changing it forces a new stack.
:param pulumi.Input[_builtins.bool] auto_deploy: Deploy automatically when the configured trigger fires.
:param pulumi.Input[_builtins.str] bitbucket_branch: Bitbucket branch to deploy.
: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 deploy.
:param pulumi.Input[_builtins.str] command: Custom `docker compose` command to run.
:param pulumi.Input[_builtins.str] compose_file: Inline Compose file contents. Used when `source_type` is `raw`.
:param pulumi.Input[_builtins.str] compose_path: Path to the Compose file within the repository.
:param pulumi.Input[_builtins.str] compose_status: Current status reported by Dokploy: `idle`, `running`, `done` or `error`.
:param pulumi.Input[_builtins.str] compose_type: Whether to run the stack with Docker Compose or Docker Swarm. Valid values: `docker-compose`, `stack`.
:param pulumi.Input[_builtins.str] created_at: RFC 3339 timestamp of when the stack was created.
:param pulumi.Input[_builtins.str] custom_git_branch: Branch to deploy for a custom Git remote.
: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.bool] delete_volumes: Whether to delete the stack's Docker volumes when this resource is destroyed. Defaults to `false`, which preserves the data.
:param pulumi.Input[_builtins.str] description: Free-form description.
:param pulumi.Input[_builtins.bool] enable_submodules: Clone Git submodules when checking out the repository.
:param pulumi.Input[_builtins.str] env: Environment variables in `KEY=value` format, one per line.
:param pulumi.Input[_builtins.str] environment_id: Environment this stack belongs to.
:param pulumi.Input[_builtins.str] gitea_branch: Gitea branch to deploy.
: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 deploy.
: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.bool] isolated_deployment: Run the stack on its own isolated Docker network.
:param pulumi.Input[_builtins.bool] isolated_deployments_volume: Prefix volume names for isolated deployments. Retained for backwards compatibility.
:param pulumi.Input[_builtins.str] name: Display name of the stack.
:param pulumi.Input[_builtins.str] owner: GitHub repository owner.
:param pulumi.Input[_builtins.bool] randomize: Append a random suffix to service and volume names.
:param pulumi.Input[_builtins.str] repository: GitHub repository name.
: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 Compose file comes from. Valid values: `git`, `github`, `gitlab`, `bitbucket`, `gitea`, `raw`.
:param pulumi.Input[_builtins.str] suffix: Suffix appended to generated resource names.
:param pulumi.Input[_builtins.str] trigger_type: What triggers an automatic deployment. Valid values: `push`, `tag`.
: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 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_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 command is not None:
pulumi.set(__self__, "command", command)
if compose_file is not None:
pulumi.set(__self__, "compose_file", compose_file)
if compose_path is not None:
pulumi.set(__self__, "compose_path", compose_path)
if compose_status is not None:
pulumi.set(__self__, "compose_status", compose_status)
if compose_type is not None:
pulumi.set(__self__, "compose_type", compose_type)
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_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 delete_volumes is not None:
pulumi.set(__self__, "delete_volumes", delete_volumes)
if description is not None:
pulumi.set(__self__, "description", description)
if enable_submodules is not None:
pulumi.set(__self__, "enable_submodules", enable_submodules)
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_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_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 isolated_deployment is not None:
pulumi.set(__self__, "isolated_deployment", isolated_deployment)
if isolated_deployments_volume is not None:
pulumi.set(__self__, "isolated_deployments_volume", isolated_deployments_volume)
if name is not None:
pulumi.set(__self__, "name", name)
if owner is not None:
pulumi.set(__self__, "owner", owner)
if randomize is not None:
pulumi.set(__self__, "randomize", randomize)
if repository is not None:
pulumi.set(__self__, "repository", repository)
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 suffix is not None:
pulumi.set(__self__, "suffix", suffix)
if trigger_type is not None:
pulumi.set(__self__, "trigger_type", trigger_type)
if watch_paths is not None:
pulumi.set(__self__, "watch_paths", watch_paths)
@_builtins.property
@pulumi.getter(name="appName")
def app_name(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Unique Docker stack name. Generated by Dokploy when omitted. Changing it forces a new stack.
"""
return pulumi.get(self, "app_name")
@app_name.setter
def app_name(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "app_name", value)
@_builtins.property
@pulumi.getter(name="autoDeploy")
def auto_deploy(self) -> Optional[pulumi.Input[_builtins.bool]]:
"""
Deploy automatically when the configured trigger fires.
"""
return pulumi.get(self, "auto_deploy")
@auto_deploy.setter
def auto_deploy(self, value: Optional[pulumi.Input[_builtins.bool]]):
pulumi.set(self, "auto_deploy", value)
@_builtins.property
@pulumi.getter(name="bitbucketBranch")
def bitbucket_branch(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Bitbucket branch to deploy.
"""
return pulumi.get(self, "bitbucket_branch")
@bitbucket_branch.setter
def bitbucket_branch(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "bitbucket_branch", value)
@_builtins.property
@pulumi.getter(name="bitbucketId")
def bitbucket_id(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
ID of the configured Bitbucket provider connection.
"""
return pulumi.get(self, "bitbucket_id")
@bitbucket_id.setter
def bitbucket_id(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "bitbucket_id", value)
@_builtins.property
@pulumi.getter(name="bitbucketOwner")
def bitbucket_owner(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Bitbucket repository owner.
"""
return pulumi.get(self, "bitbucket_owner")
@bitbucket_owner.setter
def bitbucket_owner(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "bitbucket_owner", value)
@_builtins.property
@pulumi.getter(name="bitbucketRepository")
def bitbucket_repository(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Bitbucket repository name.
"""
return pulumi.get(self, "bitbucket_repository")
@bitbucket_repository.setter
def bitbucket_repository(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "bitbucket_repository", value)
@_builtins.property
@pulumi.getter(name="bitbucketRepositorySlug")
def bitbucket_repository_slug(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Bitbucket repository slug.
"""
return pulumi.get(self, "bitbucket_repository_slug")
@bitbucket_repository_slug.setter
def bitbucket_repository_slug(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "bitbucket_repository_slug", value)
@_builtins.property
@pulumi.getter
def branch(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
GitHub branch to deploy.
"""
return pulumi.get(self, "branch")
@branch.setter
def branch(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "branch", value)
@_builtins.property
@pulumi.getter
def command(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Custom `docker compose` command to run.
"""
return pulumi.get(self, "command")
@command.setter
def command(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "command", value)
@_builtins.property
@pulumi.getter(name="composeFile")
def compose_file(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Inline Compose file contents. Used when `source_type` is `raw`.
"""
return pulumi.get(self, "compose_file")
@compose_file.setter
def compose_file(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "compose_file", value)
@_builtins.property
@pulumi.getter(name="composePath")
def compose_path(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Path to the Compose file within the repository.
"""
return pulumi.get(self, "compose_path")
@compose_path.setter
def compose_path(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "compose_path", value)
@_builtins.property
@pulumi.getter(name="composeStatus")
def compose_status(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Current status reported by Dokploy: `idle`, `running`, `done` or `error`.
"""
return pulumi.get(self, "compose_status")
@compose_status.setter
def compose_status(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "compose_status", value)
@_builtins.property
@pulumi.getter(name="composeType")
def compose_type(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Whether to run the stack with Docker Compose or Docker Swarm. Valid values: `docker-compose`, `stack`.
"""
return pulumi.get(self, "compose_type")
@compose_type.setter
def compose_type(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "compose_type", value)
@_builtins.property
@pulumi.getter(name="createdAt")
def created_at(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
RFC 3339 timestamp of when the stack was created.
"""
return pulumi.get(self, "created_at")
@created_at.setter
def created_at(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "created_at", value)
@_builtins.property
@pulumi.getter(name="customGitBranch")
def custom_git_branch(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Branch to deploy for a custom Git remote.
"""
return pulumi.get(self, "custom_git_branch")
@custom_git_branch.setter
def custom_git_branch(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "custom_git_branch", value)
@_builtins.property
@pulumi.getter(name="customGitSshKeyId")
def custom_git_ssh_key_id(self) -> Optional[pulumi.Input[_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: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "custom_git_ssh_key_id", value)
@_builtins.property
@pulumi.getter(name="customGitUrl")
def custom_git_url(self) -> Optional[pulumi.Input[_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: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "custom_git_url", value)
@_builtins.property
@pulumi.getter(name="deleteVolumes")
def delete_volumes(self) -> Optional[pulumi.Input[_builtins.bool]]:
"""
Whether to delete the stack's Docker volumes when this resource is destroyed. Defaults to `false`, which preserves the data.
"""
return pulumi.get(self, "delete_volumes")
@delete_volumes.setter
def delete_volumes(self, value: Optional[pulumi.Input[_builtins.bool]]):
pulumi.set(self, "delete_volumes", value)
@_builtins.property
@pulumi.getter
def description(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Free-form description.
"""
return pulumi.get(self, "description")
@description.setter
def description(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "description", value)
@_builtins.property
@pulumi.getter(name="enableSubmodules")
def enable_submodules(self) -> Optional[pulumi.Input[_builtins.bool]]:
"""
Clone Git submodules when checking out the repository.
"""
return pulumi.get(self, "enable_submodules")
@enable_submodules.setter
def enable_submodules(self, value: Optional[pulumi.Input[_builtins.bool]]):
pulumi.set(self, "enable_submodules", value)
@_builtins.property
@pulumi.getter
def env(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Environment variables in `KEY=value` format, one per line.
"""
return pulumi.get(self, "env")
@env.setter
def env(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "env", value)
@_builtins.property
@pulumi.getter(name="environmentId")
def environment_id(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Environment this stack belongs to.
"""
return pulumi.get(self, "environment_id")
@environment_id.setter
def environment_id(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "environment_id", value)
@_builtins.property
@pulumi.getter(name="giteaBranch")
def gitea_branch(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Gitea branch to deploy.
"""
return pulumi.get(self, "gitea_branch")
@gitea_branch.setter
def gitea_branch(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "gitea_branch", value)
@_builtins.property
@pulumi.getter(name="giteaId")
def gitea_id(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
ID of the configured Gitea provider connection.
"""
return pulumi.get(self, "gitea_id")
@gitea_id.setter
def gitea_id(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "gitea_id", value)
@_builtins.property
@pulumi.getter(name="giteaOwner")
def gitea_owner(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Gitea repository owner.
"""
return pulumi.get(self, "gitea_owner")
@gitea_owner.setter
def gitea_owner(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "gitea_owner", value)
@_builtins.property
@pulumi.getter(name="giteaRepository")
def gitea_repository(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Gitea repository name.
"""
return pulumi.get(self, "gitea_repository")
@gitea_repository.setter
def gitea_repository(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "gitea_repository", value)
@_builtins.property
@pulumi.getter(name="githubId")
def github_id(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
ID of the configured GitHub provider connection.
"""
return pulumi.get(self, "github_id")
@github_id.setter
def github_id(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "github_id", value)
@_builtins.property
@pulumi.getter(name="gitlabBranch")
def gitlab_branch(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
GitLab branch to deploy.
"""
return pulumi.get(self, "gitlab_branch")
@gitlab_branch.setter
def gitlab_branch(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "gitlab_branch", value)
@_builtins.property
@pulumi.getter(name="gitlabId")
def gitlab_id(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
ID of the configured GitLab provider connection.
"""
return pulumi.get(self, "gitlab_id")
@gitlab_id.setter
def gitlab_id(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "gitlab_id", value)
@_builtins.property
@pulumi.getter(name="gitlabOwner")
def gitlab_owner(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
GitLab repository owner.
"""
return pulumi.get(self, "gitlab_owner")
@gitlab_owner.setter
def gitlab_owner(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "gitlab_owner", value)
@_builtins.property
@pulumi.getter(name="gitlabPathNamespace")
def gitlab_path_namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Full GitLab namespace path.
"""
return pulumi.get(self, "gitlab_path_namespace")
@gitlab_path_namespace.setter
def gitlab_path_namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "gitlab_path_namespace", value)
@_builtins.property
@pulumi.getter(name="gitlabProjectId")
def gitlab_project_id(self) -> Optional[pulumi.Input[_builtins.int]]:
"""
Numeric GitLab project ID.
"""
return pulumi.get(self, "gitlab_project_id")
@gitlab_project_id.setter
def gitlab_project_id(self, value: Optional[pulumi.Input[_builtins.int]]):
pulumi.set(self, "gitlab_project_id", value)
@_builtins.property
@pulumi.getter(name="gitlabRepository")
def gitlab_repository(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
GitLab repository name.
"""
return pulumi.get(self, "gitlab_repository")
@gitlab_repository.setter
def gitlab_repository(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "gitlab_repository", value)
@_builtins.property
@pulumi.getter(name="isolatedDeployment")
def isolated_deployment(self) -> Optional[pulumi.Input[_builtins.bool]]:
"""
Run the stack on its own isolated Docker network.
"""
return pulumi.get(self, "isolated_deployment")
@isolated_deployment.setter
def isolated_deployment(self, value: Optional[pulumi.Input[_builtins.bool]]):
pulumi.set(self, "isolated_deployment", value)
@_builtins.property
@pulumi.getter(name="isolatedDeploymentsVolume")
def isolated_deployments_volume(self) -> Optional[pulumi.Input[_builtins.bool]]:
"""
Prefix volume names for isolated deployments. Retained for backwards compatibility.
"""
return pulumi.get(self, "isolated_deployments_volume")
@isolated_deployments_volume.setter
def isolated_deployments_volume(self, value: Optional[pulumi.Input[_builtins.bool]]):
pulumi.set(self, "isolated_deployments_volume", value)
@_builtins.property
@pulumi.getter
def name(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Display name of the stack.
"""
return pulumi.get(self, "name")
@name.setter
def name(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "name", value)
@_builtins.property
@pulumi.getter
def owner(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
GitHub repository owner.
"""
return pulumi.get(self, "owner")
@owner.setter
def owner(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "owner", value)
@_builtins.property
@pulumi.getter
def randomize(self) -> Optional[pulumi.Input[_builtins.bool]]:
"""
Append a random suffix to service and volume names.
"""
return pulumi.get(self, "randomize")
@randomize.setter
def randomize(self, value: Optional[pulumi.Input[_builtins.bool]]):
pulumi.set(self, "randomize", value)
@_builtins.property
@pulumi.getter
def repository(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
GitHub repository name.
"""
return pulumi.get(self, "repository")
@repository.setter
def repository(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "repository", value)
@_builtins.property
@pulumi.getter(name="serverId")
def server_id(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Remote server to deploy on. Omit to use the Dokploy host itself.
"""
return pulumi.get(self, "server_id")
@server_id.setter
def server_id(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "server_id", value)
@_builtins.property
@pulumi.getter(name="sourceType")
def source_type(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Where the Compose file comes from. Valid values: `git`, `github`, `gitlab`, `bitbucket`, `gitea`, `raw`.
"""
return pulumi.get(self, "source_type")
@source_type.setter
def source_type(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "source_type", value)
@_builtins.property
@pulumi.getter
def suffix(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Suffix appended to generated resource names.
"""
return pulumi.get(self, "suffix")
@suffix.setter
def suffix(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "suffix", value)
@_builtins.property
@pulumi.getter(name="triggerType")
def trigger_type(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
What triggers an automatic deployment. Valid values: `push`, `tag`.
"""
return pulumi.get(self, "trigger_type")
@trigger_type.setter
def trigger_type(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "trigger_type", value)
@_builtins.property
@pulumi.getter(name="watchPaths")
def watch_paths(self) -> Optional[pulumi.Input[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: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
pulumi.set(self, "watch_paths", value)
@pulumi.type_token("dokploy:index/compose:Compose")
class Compose(pulumi.CustomResource):
@overload
def __init__(__self__,
resource_name: str,
opts: Optional[pulumi.ResourceOptions] = None,
app_name: Optional[pulumi.Input[_builtins.str]] = None,
auto_deploy: Optional[pulumi.Input[_builtins.bool]] = None,
bitbucket_branch: Optional[pulumi.Input[_builtins.str]] = None,
bitbucket_id: Optional[pulumi.Input[_builtins.str]] = None,
bitbucket_owner: Optional[pulumi.Input[_builtins.str]] = None,
bitbucket_repository: Optional[pulumi.Input[_builtins.str]] = None,
bitbucket_repository_slug: Optional[pulumi.Input[_builtins.str]] = None,
branch: Optional[pulumi.Input[_builtins.str]] = None,
command: Optional[pulumi.Input[_builtins.str]] = None,
compose_file: Optional[pulumi.Input[_builtins.str]] = None,
compose_path: Optional[pulumi.Input[_builtins.str]] = None,
compose_type: Optional[pulumi.Input[_builtins.str]] = None,
custom_git_branch: Optional[pulumi.Input[_builtins.str]] = None,
custom_git_ssh_key_id: Optional[pulumi.Input[_builtins.str]] = None,
custom_git_url: Optional[pulumi.Input[_builtins.str]] = None,
delete_volumes: Optional[pulumi.Input[_builtins.bool]] = None,
description: Optional[pulumi.Input[_builtins.str]] = None,
enable_submodules: Optional[pulumi.Input[_builtins.bool]] = None,
env: Optional[pulumi.Input[_builtins.str]] = None,
environment_id: Optional[pulumi.Input[_builtins.str]] = None,
gitea_branch: Optional[pulumi.Input[_builtins.str]] = None,
gitea_id: Optional[pulumi.Input[_builtins.str]] = None,
gitea_owner: Optional[pulumi.Input[_builtins.str]] = None,
gitea_repository: Optional[pulumi.Input[_builtins.str]] = None,
github_id: Optional[pulumi.Input[_builtins.str]] = None,
gitlab_branch: Optional[pulumi.Input[_builtins.str]] = None,
gitlab_id: Optional[pulumi.Input[_builtins.str]] = None,
gitlab_owner: Optional[pulumi.Input[_builtins.str]] = None,
gitlab_path_namespace: Optional[pulumi.Input[_builtins.str]] = None,
gitlab_project_id: Optional[pulumi.Input[_builtins.int]] = None,
gitlab_repository: Optional[pulumi.Input[_builtins.str]] = None,
isolated_deployment: Optional[pulumi.Input[_builtins.bool]] = None,
isolated_deployments_volume: Optional[pulumi.Input[_builtins.bool]] = None,
name: Optional[pulumi.Input[_builtins.str]] = None,
owner: Optional[pulumi.Input[_builtins.str]] = None,
randomize: Optional[pulumi.Input[_builtins.bool]] = None,
repository: Optional[pulumi.Input[_builtins.str]] = None,
server_id: Optional[pulumi.Input[_builtins.str]] = None,
source_type: Optional[pulumi.Input[_builtins.str]] = None,
suffix: Optional[pulumi.Input[_builtins.str]] = None,
trigger_type: Optional[pulumi.Input[_builtins.str]] = None,
watch_paths: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
__props__=None):
"""
Create a Compose resource with the given unique name, props, and options.
:param str resource_name: The name of the resource.
:param pulumi.ResourceOptions opts: Options for the resource.
:param pulumi.Input[_builtins.str] app_name: Unique Docker stack name. Generated by Dokploy when omitted. Changing it forces a new stack.
:param pulumi.Input[_builtins.bool] auto_deploy: Deploy automatically when the configured trigger fires.
:param pulumi.Input[_builtins.str] bitbucket_branch: Bitbucket branch to deploy.
: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 deploy.
:param pulumi.Input[_builtins.str] command: Custom `docker compose` command to run.
:param pulumi.Input[_builtins.str] compose_file: Inline Compose file contents. Used when `source_type` is `raw`.
:param pulumi.Input[_builtins.str] compose_path: Path to the Compose file within the repository.
:param pulumi.Input[_builtins.str] compose_type: Whether to run the stack with Docker Compose or Docker Swarm. Valid values: `docker-compose`, `stack`.
:param pulumi.Input[_builtins.str] custom_git_branch: Branch to deploy for a custom Git remote.
: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.bool] delete_volumes: Whether to delete the stack's Docker volumes when this resource is destroyed. Defaults to `false`, which preserves the data.
:param pulumi.Input[_builtins.str] description: Free-form description.
:param pulumi.Input[_builtins.bool] enable_submodules: Clone Git submodules when checking out the repository.
:param pulumi.Input[_builtins.str] env: Environment variables in `KEY=value` format, one per line.
:param pulumi.Input[_builtins.str] environment_id: Environment this stack belongs to.
:param pulumi.Input[_builtins.str] gitea_branch: Gitea branch to deploy.
: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 deploy.
: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.bool] isolated_deployment: Run the stack on its own isolated Docker network.
:param pulumi.Input[_builtins.bool] isolated_deployments_volume: Prefix volume names for isolated deployments. Retained for backwards compatibility.
:param pulumi.Input[_builtins.str] name: Display name of the stack.
:param pulumi.Input[_builtins.str] owner: GitHub repository owner.
:param pulumi.Input[_builtins.bool] randomize: Append a random suffix to service and volume names.
:param pulumi.Input[_builtins.str] repository: GitHub repository name.
: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 Compose file comes from. Valid values: `git`, `github`, `gitlab`, `bitbucket`, `gitea`, `raw`.
:param pulumi.Input[_builtins.str] suffix: Suffix appended to generated resource names.
:param pulumi.Input[_builtins.str] trigger_type: What triggers an automatic deployment. Valid values: `push`, `tag`.
: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: ComposeArgs,
opts: Optional[pulumi.ResourceOptions] = None):
"""
Create a Compose resource with the given unique name, props, and options.
:param str resource_name: The name of the resource.
:param ComposeArgs 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(ComposeArgs, pulumi.ResourceOptions, *args, **kwargs)
if resource_args is not None:
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
else:
__self__._internal_init(resource_name, *args, **kwargs)
def _internal_init(__self__,
resource_name: str,
opts: Optional[pulumi.ResourceOptions] = None,
app_name: Optional[pulumi.Input[_builtins.str]] = None,
auto_deploy: Optional[pulumi.Input[_builtins.bool]] = None,
bitbucket_branch: Optional[pulumi.Input[_builtins.str]] = None,
bitbucket_id: Optional[pulumi.Input[_builtins.str]] = None,
bitbucket_owner: Optional[pulumi.Input[_builtins.str]] = None,
bitbucket_repository: Optional[pulumi.Input[_builtins.str]] = None,
bitbucket_repository_slug: Optional[pulumi.Input[_builtins.str]] = None,
branch: Optional[pulumi.Input[_builtins.str]] = None,
command: Optional[pulumi.Input[_builtins.str]] = None,
compose_file: Optional[pulumi.Input[_builtins.str]] = None,
compose_path: Optional[pulumi.Input[_builtins.str]] = None,
compose_type: Optional[pulumi.Input[_builtins.str]] = None,
custom_git_branch: Optional[pulumi.Input[_builtins.str]] = None,
custom_git_ssh_key_id: Optional[pulumi.Input[_builtins.str]] = None,
custom_git_url: Optional[pulumi.Input[_builtins.str]] = None,
delete_volumes: Optional[pulumi.Input[_builtins.bool]] = None,
description: Optional[pulumi.Input[_builtins.str]] = None,
enable_submodules: Optional[pulumi.Input[_builtins.bool]] = None,
env: Optional[pulumi.Input[_builtins.str]] = None,
environment_id: Optional[pulumi.Input[_builtins.str]] = None,
gitea_branch: Optional[pulumi.Input[_builtins.str]] = None,
gitea_id: Optional[pulumi.Input[_builtins.str]] = None,
gitea_owner: Optional[pulumi.Input[_builtins.str]] = None,
gitea_repository: Optional[pulumi.Input[_builtins.str]] = None,
github_id: Optional[pulumi.Input[_builtins.str]] = None,
gitlab_branch: Optional[pulumi.Input[_builtins.str]] = None,
gitlab_id: Optional[pulumi.Input[_builtins.str]] = None,
gitlab_owner: Optional[pulumi.Input[_builtins.str]] = None,
gitlab_path_namespace: Optional[pulumi.Input[_builtins.str]] = None,
gitlab_project_id: Optional[pulumi.Input[_builtins.int]] = None,
gitlab_repository: Optional[pulumi.Input[_builtins.str]] = None,
isolated_deployment: Optional[pulumi.Input[_builtins.bool]] = None,
isolated_deployments_volume: Optional[pulumi.Input[_builtins.bool]] = None,
name: Optional[pulumi.Input[_builtins.str]] = None,
owner: Optional[pulumi.Input[_builtins.str]] = None,
randomize: Optional[pulumi.Input[_builtins.bool]] = None,
repository: Optional[pulumi.Input[_builtins.str]] = None,
server_id: Optional[pulumi.Input[_builtins.str]] = None,
source_type: Optional[pulumi.Input[_builtins.str]] = None,
suffix: Optional[pulumi.Input[_builtins.str]] = None,
trigger_type: Optional[pulumi.Input[_builtins.str]] = None,
watch_paths: Optional[pulumi.Input[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__ = ComposeArgs.__new__(ComposeArgs)
__props__.__dict__["app_name"] = app_name
__props__.__dict__["auto_deploy"] = auto_deploy
__props__.__dict__["bitbucket_branch"] = bitbucket_branch
__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__["command"] = command
__props__.__dict__["compose_file"] = compose_file
__props__.__dict__["compose_path"] = compose_path
__props__.__dict__["compose_type"] = compose_type
__props__.__dict__["custom_git_branch"] = custom_git_branch
__props__.__dict__["custom_git_ssh_key_id"] = custom_git_ssh_key_id
__props__.__dict__["custom_git_url"] = custom_git_url
__props__.__dict__["delete_volumes"] = delete_volumes
__props__.__dict__["description"] = description
__props__.__dict__["enable_submodules"] = enable_submodules
__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_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_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__["isolated_deployment"] = isolated_deployment
__props__.__dict__["isolated_deployments_volume"] = isolated_deployments_volume
__props__.__dict__["name"] = name
__props__.__dict__["owner"] = owner
__props__.__dict__["randomize"] = randomize
__props__.__dict__["repository"] = repository
__props__.__dict__["server_id"] = server_id
__props__.__dict__["source_type"] = source_type
__props__.__dict__["suffix"] = suffix
__props__.__dict__["trigger_type"] = trigger_type
__props__.__dict__["watch_paths"] = watch_paths
__props__.__dict__["compose_status"] = None
__props__.__dict__["created_at"] = None
super(Compose, __self__).__init__(
'dokploy:index/compose:Compose',
resource_name,
__props__,
opts)
@staticmethod
def get(resource_name: str,
id: pulumi.Input[str],
opts: Optional[pulumi.ResourceOptions] = None,
app_name: Optional[pulumi.Input[_builtins.str]] = None,
auto_deploy: Optional[pulumi.Input[_builtins.bool]] = None,
bitbucket_branch: Optional[pulumi.Input[_builtins.str]] = None,
bitbucket_id: Optional[pulumi.Input[_builtins.str]] = None,
bitbucket_owner: Optional[pulumi.Input[_builtins.str]] = None,
bitbucket_repository: Optional[pulumi.Input[_builtins.str]] = None,
bitbucket_repository_slug: Optional[pulumi.Input[_builtins.str]] = None,
branch: Optional[pulumi.Input[_builtins.str]] = None,
command: Optional[pulumi.Input[_builtins.str]] = None,
compose_file: Optional[pulumi.Input[_builtins.str]] = None,
compose_path: Optional[pulumi.Input[_builtins.str]] = None,
compose_status: Optional[pulumi.Input[_builtins.str]] = None,
compose_type: Optional[pulumi.Input[_builtins.str]] = None,
created_at: Optional[pulumi.Input[_builtins.str]] = None,
custom_git_branch: Optional[pulumi.Input[_builtins.str]] = None,
custom_git_ssh_key_id: Optional[pulumi.Input[_builtins.str]] = None,
custom_git_url: Optional[pulumi.Input[_builtins.str]] = None,
delete_volumes: Optional[pulumi.Input[_builtins.bool]] = None,
description: Optional[pulumi.Input[_builtins.str]] = None,
enable_submodules: Optional[pulumi.Input[_builtins.bool]] = None,
env: Optional[pulumi.Input[_builtins.str]] = None,
environment_id: Optional[pulumi.Input[_builtins.str]] = None,
gitea_branch: Optional[pulumi.Input[_builtins.str]] = None,
gitea_id: Optional[pulumi.Input[_builtins.str]] = None,
gitea_owner: Optional[pulumi.Input[_builtins.str]] = None,
gitea_repository: Optional[pulumi.Input[_builtins.str]] = None,
github_id: Optional[pulumi.Input[_builtins.str]] = None,
gitlab_branch: Optional[pulumi.Input[_builtins.str]] = None,
gitlab_id: Optional[pulumi.Input[_builtins.str]] = None,
gitlab_owner: Optional[pulumi.Input[_builtins.str]] = None,
gitlab_path_namespace: Optional[pulumi.Input[_builtins.str]] = None,
gitlab_project_id: Optional[pulumi.Input[_builtins.int]] = None,
gitlab_repository: Optional[pulumi.Input[_builtins.str]] = None,
isolated_deployment: Optional[pulumi.Input[_builtins.bool]] = None,
isolated_deployments_volume: Optional[pulumi.Input[_builtins.bool]] = None,
name: Optional[pulumi.Input[_builtins.str]] = None,
owner: Optional[pulumi.Input[_builtins.str]] = None,
randomize: Optional[pulumi.Input[_builtins.bool]] = None,
repository: Optional[pulumi.Input[_builtins.str]] = None,
server_id: Optional[pulumi.Input[_builtins.str]] = None,
source_type: Optional[pulumi.Input[_builtins.str]] = None,
suffix: Optional[pulumi.Input[_builtins.str]] = None,
trigger_type: Optional[pulumi.Input[_builtins.str]] = None,
watch_paths: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None) -> 'Compose':
"""
Get an existing Compose 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 stack name. Generated by Dokploy when omitted. Changing it forces a new stack.
:param pulumi.Input[_builtins.bool] auto_deploy: Deploy automatically when the configured trigger fires.
:param pulumi.Input[_builtins.str] bitbucket_branch: Bitbucket branch to deploy.
: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 deploy.
:param pulumi.Input[_builtins.str] command: Custom `docker compose` command to run.
:param pulumi.Input[_builtins.str] compose_file: Inline Compose file contents. Used when `source_type` is `raw`.
:param pulumi.Input[_builtins.str] compose_path: Path to the Compose file within the repository.
:param pulumi.Input[_builtins.str] compose_status: Current status reported by Dokploy: `idle`, `running`, `done` or `error`.
:param pulumi.Input[_builtins.str] compose_type: Whether to run the stack with Docker Compose or Docker Swarm. Valid values: `docker-compose`, `stack`.
:param pulumi.Input[_builtins.str] created_at: RFC 3339 timestamp of when the stack was created.
:param pulumi.Input[_builtins.str] custom_git_branch: Branch to deploy for a custom Git remote.
: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.bool] delete_volumes: Whether to delete the stack's Docker volumes when this resource is destroyed. Defaults to `false`, which preserves the data.
:param pulumi.Input[_builtins.str] description: Free-form description.
:param pulumi.Input[_builtins.bool] enable_submodules: Clone Git submodules when checking out the repository.
:param pulumi.Input[_builtins.str] env: Environment variables in `KEY=value` format, one per line.
:param pulumi.Input[_builtins.str] environment_id: Environment this stack belongs to.
:param pulumi.Input[_builtins.str] gitea_branch: Gitea branch to deploy.
: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 deploy.
: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.bool] isolated_deployment: Run the stack on its own isolated Docker network.
:param pulumi.Input[_builtins.bool] isolated_deployments_volume: Prefix volume names for isolated deployments. Retained for backwards compatibility.
:param pulumi.Input[_builtins.str] name: Display name of the stack.
:param pulumi.Input[_builtins.str] owner: GitHub repository owner.
:param pulumi.Input[_builtins.bool] randomize: Append a random suffix to service and volume names.
:param pulumi.Input[_builtins.str] repository: GitHub repository name.
: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 Compose file comes from. Valid values: `git`, `github`, `gitlab`, `bitbucket`, `gitea`, `raw`.
:param pulumi.Input[_builtins.str] suffix: Suffix appended to generated resource names.
:param pulumi.Input[_builtins.str] trigger_type: What triggers an automatic deployment. Valid values: `push`, `tag`.
: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__ = _ComposeState.__new__(_ComposeState)
__props__.__dict__["app_name"] = app_name
__props__.__dict__["auto_deploy"] = auto_deploy
__props__.__dict__["bitbucket_branch"] = bitbucket_branch
__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__["command"] = command
__props__.__dict__["compose_file"] = compose_file
__props__.__dict__["compose_path"] = compose_path
__props__.__dict__["compose_status"] = compose_status
__props__.__dict__["compose_type"] = compose_type
__props__.__dict__["created_at"] = created_at
__props__.__dict__["custom_git_branch"] = custom_git_branch
__props__.__dict__["custom_git_ssh_key_id"] = custom_git_ssh_key_id
__props__.__dict__["custom_git_url"] = custom_git_url
__props__.__dict__["delete_volumes"] = delete_volumes
__props__.__dict__["description"] = description
__props__.__dict__["enable_submodules"] = enable_submodules
__props__.__dict__["env"] = env
__props__.__dict__["environment_id"] = environment_id
__props__.__dict__["gitea_branch"] = gitea_branch
__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_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__["isolated_deployment"] = isolated_deployment
__props__.__dict__["isolated_deployments_volume"] = isolated_deployments_volume
__props__.__dict__["name"] = name
__props__.__dict__["owner"] = owner
__props__.__dict__["randomize"] = randomize
__props__.__dict__["repository"] = repository
__props__.__dict__["server_id"] = server_id
__props__.__dict__["source_type"] = source_type
__props__.__dict__["suffix"] = suffix
__props__.__dict__["trigger_type"] = trigger_type
__props__.__dict__["watch_paths"] = watch_paths
return Compose(resource_name, opts=opts, __props__=__props__)
@_builtins.property
@pulumi.getter(name="appName")
def app_name(self) -> pulumi.Output[_builtins.str]:
"""
Unique Docker stack name. Generated by Dokploy when omitted. Changing it forces a new stack.
"""
return pulumi.get(self, "app_name")
@_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 deploy.
"""
return pulumi.get(self, "bitbucket_branch")
@_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 deploy.
"""
return pulumi.get(self, "branch")
@_builtins.property
@pulumi.getter
def command(self) -> pulumi.Output[_builtins.str]:
"""
Custom `docker compose` command to run.
"""
return pulumi.get(self, "command")
@_builtins.property
@pulumi.getter(name="composeFile")
def compose_file(self) -> pulumi.Output[_builtins.str]:
"""
Inline Compose file contents. Used when `source_type` is `raw`.
"""
return pulumi.get(self, "compose_file")
@_builtins.property
@pulumi.getter(name="composePath")
def compose_path(self) -> pulumi.Output[_builtins.str]:
"""
Path to the Compose file within the repository.
"""
return pulumi.get(self, "compose_path")
@_builtins.property
@pulumi.getter(name="composeStatus")
def compose_status(self) -> pulumi.Output[_builtins.str]:
"""
Current status reported by Dokploy: `idle`, `running`, `done` or `error`.
"""
return pulumi.get(self, "compose_status")
@_builtins.property
@pulumi.getter(name="composeType")
def compose_type(self) -> pulumi.Output[_builtins.str]:
"""
Whether to run the stack with Docker Compose or Docker Swarm. Valid values: `docker-compose`, `stack`.
"""
return pulumi.get(self, "compose_type")
@_builtins.property
@pulumi.getter(name="createdAt")
def created_at(self) -> pulumi.Output[_builtins.str]:
"""
RFC 3339 timestamp of when the stack 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 deploy for a custom Git remote.
"""
return pulumi.get(self, "custom_git_branch")
@_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(name="deleteVolumes")
def delete_volumes(self) -> pulumi.Output[Optional[_builtins.bool]]:
"""
Whether to delete the stack's Docker volumes when this resource is destroyed. Defaults to `false`, which preserves the data.
"""
return pulumi.get(self, "delete_volumes")
@_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="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 env(self) -> pulumi.Output[Optional[_builtins.str]]:
"""
Environment variables in `KEY=value` format, one per line.
"""
return pulumi.get(self, "env")
@_builtins.property
@pulumi.getter(name="environmentId")
def environment_id(self) -> pulumi.Output[_builtins.str]:
"""
Environment this stack 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 deploy.
"""
return pulumi.get(self, "gitea_branch")
@_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 deploy.
"""
return pulumi.get(self, "gitlab_branch")
@_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="isolatedDeployment")
def isolated_deployment(self) -> pulumi.Output[_builtins.bool]:
"""
Run the stack on its own isolated Docker network.
"""
return pulumi.get(self, "isolated_deployment")
@_builtins.property
@pulumi.getter(name="isolatedDeploymentsVolume")
def isolated_deployments_volume(self) -> pulumi.Output[_builtins.bool]:
"""
Prefix volume names for isolated deployments. Retained for backwards compatibility.
"""
return pulumi.get(self, "isolated_deployments_volume")
@_builtins.property
@pulumi.getter
def name(self) -> pulumi.Output[_builtins.str]:
"""
Display name of the stack.
"""
return pulumi.get(self, "name")
@_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 randomize(self) -> pulumi.Output[_builtins.bool]:
"""
Append a random suffix to service and volume names.
"""
return pulumi.get(self, "randomize")
@_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="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 Compose file comes from. Valid values: `git`, `github`, `gitlab`, `bitbucket`, `gitea`, `raw`.
"""
return pulumi.get(self, "source_type")
@_builtins.property
@pulumi.getter
def suffix(self) -> pulumi.Output[_builtins.str]:
"""
Suffix appended to generated resource names.
"""
return pulumi.get(self, "suffix")
@_builtins.property
@pulumi.getter(name="triggerType")
def trigger_type(self) -> pulumi.Output[_builtins.str]:
"""
What triggers an automatic deployment. Valid values: `push`, `tag`.
"""
return pulumi.get(self, "trigger_type")
@_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")