Files
pulumi-dokploy/sdk/python/pulumi_dokploy/get_project.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

180 lines
6.6 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
from . import outputs
__all__ = [
'GetProjectResult',
'AwaitableGetProjectResult',
'get_project',
'get_project_output',
]
@pulumi.output_type
class GetProjectResult:
"""
A collection of values returned by getProject.
"""
def __init__(__self__, created_at=None, default_environment_id=None, description=None, env=None, environments=None, id=None, name=None, organization_id=None):
if created_at and not isinstance(created_at, str):
raise TypeError("Expected argument 'created_at' to be a str")
pulumi.set(__self__, "created_at", created_at)
if default_environment_id and not isinstance(default_environment_id, str):
raise TypeError("Expected argument 'default_environment_id' to be a str")
pulumi.set(__self__, "default_environment_id", default_environment_id)
if description and not isinstance(description, str):
raise TypeError("Expected argument 'description' to be a str")
pulumi.set(__self__, "description", description)
if env and not isinstance(env, str):
raise TypeError("Expected argument 'env' to be a str")
pulumi.set(__self__, "env", env)
if environments and not isinstance(environments, list):
raise TypeError("Expected argument 'environments' to be a list")
pulumi.set(__self__, "environments", environments)
if id and not isinstance(id, str):
raise TypeError("Expected argument 'id' to be a str")
pulumi.set(__self__, "id", id)
if name and not isinstance(name, str):
raise TypeError("Expected argument 'name' to be a str")
pulumi.set(__self__, "name", name)
if organization_id and not isinstance(organization_id, str):
raise TypeError("Expected argument 'organization_id' to be a str")
pulumi.set(__self__, "organization_id", organization_id)
@_builtins.property
@pulumi.getter(name="createdAt")
def created_at(self) -> _builtins.str:
"""
Creation timestamp.
"""
return pulumi.get(self, "created_at")
@_builtins.property
@pulumi.getter(name="defaultEnvironmentId")
def default_environment_id(self) -> _builtins.str:
"""
ID of the project's default environment.
"""
return pulumi.get(self, "default_environment_id")
@_builtins.property
@pulumi.getter
def description(self) -> _builtins.str:
"""
Project description.
"""
return pulumi.get(self, "description")
@_builtins.property
@pulumi.getter
def env(self) -> _builtins.str:
"""
Project-wide environment variables.
"""
return pulumi.get(self, "env")
@_builtins.property
@pulumi.getter
def environments(self) -> Sequence['outputs.GetProjectEnvironmentResult']:
"""
Every environment in the project.
"""
return pulumi.get(self, "environments")
@_builtins.property
@pulumi.getter
def id(self) -> _builtins.str:
"""
Project identifier.
"""
return pulumi.get(self, "id")
@_builtins.property
@pulumi.getter
def name(self) -> _builtins.str:
"""
Project name.
"""
return pulumi.get(self, "name")
@_builtins.property
@pulumi.getter(name="organizationId")
def organization_id(self) -> _builtins.str:
"""
Owning organization.
"""
return pulumi.get(self, "organization_id")
class AwaitableGetProjectResult(GetProjectResult):
# pylint: disable=using-constant-test
def __await__(self):
if False:
yield self
return GetProjectResult(
created_at=self.created_at,
default_environment_id=self.default_environment_id,
description=self.description,
env=self.env,
environments=self.environments,
id=self.id,
name=self.name,
organization_id=self.organization_id)
def get_project(id: Optional[_builtins.str] = None,
opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetProjectResult:
"""
Look up an existing Dokploy project by ID, including its environments.
:param _builtins.str id: Project identifier.
"""
__args__ = dict()
__args__['id'] = id
opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
__ret__ = pulumi.runtime.invoke('dokploy:index/getProject:getProject', __args__, opts=opts, typ=GetProjectResult).value
return AwaitableGetProjectResult(
created_at=pulumi.get(__ret__, 'created_at'),
default_environment_id=pulumi.get(__ret__, 'default_environment_id'),
description=pulumi.get(__ret__, 'description'),
env=pulumi.get(__ret__, 'env'),
environments=pulumi.get(__ret__, 'environments'),
id=pulumi.get(__ret__, 'id'),
name=pulumi.get(__ret__, 'name'),
organization_id=pulumi.get(__ret__, 'organization_id'))
def get_project_output(id: pulumi.Input[Optional[_builtins.str]] = None,
opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetProjectResult]:
"""
Look up an existing Dokploy project by ID, including its environments.
:param _builtins.str id: Project identifier.
"""
__args__ = dict()
__args__['id'] = id
opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
__ret__ = pulumi.runtime.invoke_output('dokploy:index/getProject:getProject', __args__, opts=opts, typ=GetProjectResult)
return __ret__.apply(lambda __response__: GetProjectResult(
created_at=pulumi.get(__response__, 'created_at'),
default_environment_id=pulumi.get(__response__, 'default_environment_id'),
description=pulumi.get(__response__, 'description'),
env=pulumi.get(__response__, 'env'),
environments=pulumi.get(__response__, 'environments'),
id=pulumi.get(__response__, 'id'),
name=pulumi.get(__response__, 'name'),
organization_id=pulumi.get(__response__, 'organization_id')))