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:
130
sdk/dotnet/Provider.cs
generated
Normal file
130
sdk/dotnet/Provider.cs
generated
Normal 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 > Profile > 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 > Profile > 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user