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.
This commit is contained in:
217
sdk/python/pulumi_dokploy/provider.py
generated
Normal file
217
sdk/python/pulumi_dokploy/provider.py
generated
Normal file
@@ -0,0 +1,217 @@
|
||||
# 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__ = ['ProviderArgs', 'Provider']
|
||||
|
||||
@pulumi.input_type
|
||||
class ProviderArgs:
|
||||
def __init__(__self__, *,
|
||||
api_key: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
host: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
insecure_skip_verify: Optional[pulumi.Input[_builtins.bool]] = None,
|
||||
timeout_seconds: Optional[pulumi.Input[_builtins.int]] = None):
|
||||
"""
|
||||
The set of arguments for constructing a Provider resource.
|
||||
|
||||
:param pulumi.Input[_builtins.str] api_key: API token generated in Dokploy under *Settings > Profile > API/CLI*. May also be set with the `DOKPLOY_API_KEY` environment variable.
|
||||
:param pulumi.Input[_builtins.str] host: Base URL of the Dokploy instance, for example `https://dokploy.example.com`. A trailing `/api` is optional. May also be set with the `DOKPLOY_HOST` environment variable.
|
||||
:param pulumi.Input[_builtins.bool] insecure_skip_verify: Skip TLS certificate verification. Only use this for instances behind a self-signed certificate. Defaults to `false`.
|
||||
:param pulumi.Input[_builtins.int] timeout_seconds: Per-request timeout in seconds. Defaults to `60`. May also be set with the `DOKPLOY_TIMEOUT_SECONDS` environment variable.
|
||||
"""
|
||||
if api_key is None:
|
||||
api_key = _utilities.get_env('DOKPLOY_API_KEY')
|
||||
if api_key is not None:
|
||||
pulumi.set(__self__, "api_key", api_key)
|
||||
if host is None:
|
||||
host = _utilities.get_env('DOKPLOY_HOST')
|
||||
if host is not None:
|
||||
pulumi.set(__self__, "host", host)
|
||||
if insecure_skip_verify is not None:
|
||||
pulumi.set(__self__, "insecure_skip_verify", insecure_skip_verify)
|
||||
if timeout_seconds is None:
|
||||
timeout_seconds = _utilities.get_env_int('DOKPLOY_TIMEOUT_SECONDS')
|
||||
if timeout_seconds is not None:
|
||||
pulumi.set(__self__, "timeout_seconds", timeout_seconds)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="apiKey")
|
||||
def api_key(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
"""
|
||||
API token generated in Dokploy under *Settings > Profile > API/CLI*. May also be set with the `DOKPLOY_API_KEY` environment variable.
|
||||
"""
|
||||
return pulumi.get(self, "api_key")
|
||||
|
||||
@api_key.setter
|
||||
def api_key(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
pulumi.set(self, "api_key", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def host(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
"""
|
||||
Base URL of the Dokploy instance, for example `https://dokploy.example.com`. A trailing `/api` is optional. May also be set with the `DOKPLOY_HOST` environment variable.
|
||||
"""
|
||||
return pulumi.get(self, "host")
|
||||
|
||||
@host.setter
|
||||
def host(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
pulumi.set(self, "host", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="insecureSkipVerify")
|
||||
def insecure_skip_verify(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
||||
"""
|
||||
Skip TLS certificate verification. Only use this for instances behind a self-signed certificate. Defaults to `false`.
|
||||
"""
|
||||
return pulumi.get(self, "insecure_skip_verify")
|
||||
|
||||
@insecure_skip_verify.setter
|
||||
def insecure_skip_verify(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
||||
pulumi.set(self, "insecure_skip_verify", value)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="timeoutSeconds")
|
||||
def timeout_seconds(self) -> Optional[pulumi.Input[_builtins.int]]:
|
||||
"""
|
||||
Per-request timeout in seconds. Defaults to `60`. May also be set with the `DOKPLOY_TIMEOUT_SECONDS` environment variable.
|
||||
"""
|
||||
return pulumi.get(self, "timeout_seconds")
|
||||
|
||||
@timeout_seconds.setter
|
||||
def timeout_seconds(self, value: Optional[pulumi.Input[_builtins.int]]):
|
||||
pulumi.set(self, "timeout_seconds", value)
|
||||
|
||||
|
||||
@pulumi.type_token("pulumi:providers:dokploy")
|
||||
class Provider(pulumi.ProviderResource):
|
||||
@overload
|
||||
def __init__(__self__,
|
||||
resource_name: str,
|
||||
opts: Optional[pulumi.ResourceOptions] = None,
|
||||
api_key: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
host: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
insecure_skip_verify: Optional[pulumi.Input[_builtins.bool]] = None,
|
||||
timeout_seconds: Optional[pulumi.Input[_builtins.int]] = None,
|
||||
__props__=None):
|
||||
"""
|
||||
The provider type for the dokploy package. By default, resources use package-wide configuration
|
||||
settings, however an explicit `Provider` instance may be created and passed during resource
|
||||
construction to achieve fine-grained programmatic control over provider settings. See the
|
||||
[documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.
|
||||
|
||||
|
||||
:param str resource_name: The name of the resource.
|
||||
:param pulumi.ResourceOptions opts: Options for the resource.
|
||||
:param pulumi.Input[_builtins.str] api_key: API token generated in Dokploy under *Settings > Profile > API/CLI*. May also be set with the `DOKPLOY_API_KEY` environment variable.
|
||||
:param pulumi.Input[_builtins.str] host: Base URL of the Dokploy instance, for example `https://dokploy.example.com`. A trailing `/api` is optional. May also be set with the `DOKPLOY_HOST` environment variable.
|
||||
:param pulumi.Input[_builtins.bool] insecure_skip_verify: Skip TLS certificate verification. Only use this for instances behind a self-signed certificate. Defaults to `false`.
|
||||
:param pulumi.Input[_builtins.int] timeout_seconds: Per-request timeout in seconds. Defaults to `60`. May also be set with the `DOKPLOY_TIMEOUT_SECONDS` environment variable.
|
||||
"""
|
||||
...
|
||||
@overload
|
||||
def __init__(__self__,
|
||||
resource_name: str,
|
||||
args: Optional[ProviderArgs] = None,
|
||||
opts: Optional[pulumi.ResourceOptions] = None):
|
||||
"""
|
||||
The provider type for the dokploy package. By default, resources use package-wide configuration
|
||||
settings, however an explicit `Provider` instance may be created and passed during resource
|
||||
construction to achieve fine-grained programmatic control over provider settings. See the
|
||||
[documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.
|
||||
|
||||
|
||||
:param str resource_name: The name of the resource.
|
||||
:param ProviderArgs 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(ProviderArgs, 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,
|
||||
api_key: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
host: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
insecure_skip_verify: Optional[pulumi.Input[_builtins.bool]] = None,
|
||||
timeout_seconds: Optional[pulumi.Input[_builtins.int]] = 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__ = ProviderArgs.__new__(ProviderArgs)
|
||||
|
||||
if api_key is None:
|
||||
api_key = _utilities.get_env('DOKPLOY_API_KEY')
|
||||
__props__.__dict__["api_key"] = None if api_key is None else pulumi.Output.secret(api_key)
|
||||
if host is None:
|
||||
host = _utilities.get_env('DOKPLOY_HOST')
|
||||
__props__.__dict__["host"] = host
|
||||
__props__.__dict__["insecure_skip_verify"] = pulumi.Output.from_input(insecure_skip_verify).apply(pulumi.runtime.to_json) if insecure_skip_verify is not None else None
|
||||
if timeout_seconds is None:
|
||||
timeout_seconds = _utilities.get_env_int('DOKPLOY_TIMEOUT_SECONDS')
|
||||
__props__.__dict__["timeout_seconds"] = pulumi.Output.from_input(timeout_seconds).apply(pulumi.runtime.to_json) if timeout_seconds is not None else None
|
||||
secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["apiKey"])
|
||||
opts = pulumi.ResourceOptions.merge(opts, secret_opts)
|
||||
super(Provider, __self__).__init__(
|
||||
'dokploy',
|
||||
resource_name,
|
||||
__props__,
|
||||
opts)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="apiKey")
|
||||
def api_key(self) -> pulumi.Output[Optional[_builtins.str]]:
|
||||
"""
|
||||
API token generated in Dokploy under *Settings > Profile > API/CLI*. May also be set with the `DOKPLOY_API_KEY` environment variable.
|
||||
"""
|
||||
return pulumi.get(self, "api_key")
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def host(self) -> pulumi.Output[Optional[_builtins.str]]:
|
||||
"""
|
||||
Base URL of the Dokploy instance, for example `https://dokploy.example.com`. A trailing `/api` is optional. May also be set with the `DOKPLOY_HOST` environment variable.
|
||||
"""
|
||||
return pulumi.get(self, "host")
|
||||
|
||||
@pulumi.output_type
|
||||
class TerraformConfigResult:
|
||||
def __init__(__self__, result=None):
|
||||
if result and not isinstance(result, dict):
|
||||
raise TypeError("Expected argument 'result' to be a dict")
|
||||
pulumi.set(__self__, "result", result)
|
||||
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def result(self) -> Mapping[str, Any]:
|
||||
return pulumi.get(self, "result")
|
||||
|
||||
def terraform_config(__self__) -> pulumi.Output['Provider.TerraformConfigResult']:
|
||||
"""
|
||||
This function returns a Terraform config object with terraform-namecased keys,to be used with the Terraform Module Provider.
|
||||
"""
|
||||
__args__ = dict()
|
||||
__args__['__self__'] = __self__
|
||||
return pulumi.runtime.call('pulumi:providers:dokploy/terraformConfig', __args__, res=__self__, typ=Provider.TerraformConfigResult)
|
||||
|
||||
Reference in New Issue
Block a user