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:
2026-08-08 15:28:16 +03:00
commit bb3c15135b
175 changed files with 61774 additions and 0 deletions

130
sdk/dotnet/Provider.cs generated Normal file
View File

@@ -0,0 +1,130 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
using Pulumi;
namespace Maxvojtkov.Dokploy
{
/// <summary>
/// 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.
/// </summary>
[DokployResourceType("pulumi:providers:dokploy")]
public partial class Provider : global::Pulumi.ProviderResource
{
/// <summary>
/// API token generated in Dokploy under *Settings &gt; Profile &gt; API/CLI*. May also be set with the `DOKPLOY_API_KEY` environment variable.
/// </summary>
[Output("apiKey")]
public Output<string?> ApiKey { get; private set; } = null!;
/// <summary>
/// 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.
/// </summary>
[Output("host")]
public Output<string?> Host { get; private set; } = null!;
/// <summary>
/// Create a Provider resource with the given unique name, arguments, and options.
/// </summary>
///
/// <param name="name">The unique name of the resource</param>
/// <param name="args">The arguments used to populate this resource's properties</param>
/// <param name="options">A bag of options that control this resource's behavior</param>
public Provider(string name, ProviderArgs? args = null, CustomResourceOptions? options = null)
: base("dokploy", name, args ?? new ProviderArgs(), MakeResourceOptions(options, ""))
{
}
private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input<string>? id)
{
var defaultOptions = new CustomResourceOptions
{
Version = Utilities.Version,
PluginDownloadURL = "github://api.github.com/maxvojtkov/pulumi-dokploy",
AdditionalSecretOutputs =
{
"apiKey",
},
};
var merged = CustomResourceOptions.Merge(defaultOptions, options);
// Override the ID if one was specified for consistency with other language SDKs.
merged.Id = id ?? merged.Id;
return merged;
}
/// <summary>
/// This function returns a Terraform config object with terraform-namecased keys,to be used with the Terraform Module Provider.
/// </summary>
public global::Pulumi.Output<ProviderTerraformConfigResult> TerraformConfig()
=> global::Pulumi.Deployment.Instance.Call<ProviderTerraformConfigResult>("pulumi:providers:dokploy/terraformConfig", CallArgs.Empty, this);
}
public sealed class ProviderArgs : global::Pulumi.ResourceArgs
{
[Input("apiKey")]
private Input<string>? _apiKey;
/// <summary>
/// API token generated in Dokploy under *Settings &gt; Profile &gt; API/CLI*. May also be set with the `DOKPLOY_API_KEY` environment variable.
/// </summary>
public Input<string>? ApiKey
{
get => _apiKey;
set
{
var emptySecret = Output.CreateSecret(0);
_apiKey = Output.Tuple<Input<string>?, int>(value, emptySecret).Apply(t => t.Item1);
}
}
/// <summary>
/// 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.
/// </summary>
[Input("host")]
public Input<string>? Host { get; set; }
/// <summary>
/// Skip TLS certificate verification. Only use this for instances behind a self-signed certificate. Defaults to `False`.
/// </summary>
[Input("insecureSkipVerify", json: true)]
public Input<bool>? InsecureSkipVerify { get; set; }
/// <summary>
/// Per-request timeout in seconds. Defaults to `60`. May also be set with the `DOKPLOY_TIMEOUT_SECONDS` environment variable.
/// </summary>
[Input("timeoutSeconds", json: true)]
public Input<int>? TimeoutSeconds { get; set; }
public ProviderArgs()
{
ApiKey = Utilities.GetEnv("DOKPLOY_API_KEY");
Host = Utilities.GetEnv("DOKPLOY_HOST");
TimeoutSeconds = Utilities.GetEnvInt32("DOKPLOY_TIMEOUT_SECONDS");
}
public static new ProviderArgs Empty => new ProviderArgs();
}
/// <summary>
/// The results of the <see cref="Provider.TerraformConfig"/> method.
/// </summary>
[OutputType]
public sealed class ProviderTerraformConfigResult
{
public readonly ImmutableDictionary<string, object> Result;
[OutputConstructor]
private ProviderTerraformConfigResult(ImmutableDictionary<string, object> result)
{
Result = result;
}
}
}