Files
pulumi-dokploy/sdk/dotnet/Destination.cs
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

287 lines
9.7 KiB
C#
Generated

// *** 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
{
[DokployResourceType("dokploy:index/destination:Destination")]
public partial class Destination : global::Pulumi.CustomResource
{
/// <summary>
/// S3 access key ID.
/// </summary>
[Output("accessKey")]
public Output<string> AccessKey { get; private set; } = null!;
/// <summary>
/// Extra flags passed to the underlying `Rclone` invocation.
/// </summary>
[Output("additionalFlags")]
public Output<ImmutableArray<string>> AdditionalFlags { get; private set; } = null!;
/// <summary>
/// Bucket name.
/// </summary>
[Output("bucket")]
public Output<string> Bucket { get; private set; } = null!;
/// <summary>
/// Timestamp of when the destination was created.
/// </summary>
[Output("createdAt")]
public Output<string> CreatedAt { get; private set; } = null!;
/// <summary>
/// S3 endpoint URL.
/// </summary>
[Output("endpoint")]
public Output<string> Endpoint { get; private set; } = null!;
/// <summary>
/// Display name of the destination.
/// </summary>
[Output("name")]
public Output<string> Name { get; private set; } = null!;
/// <summary>
/// Provider label, for example `S3` or `Cloudflare`. Named `ProviderName` because `Provider` is reserved by Terraform.
/// </summary>
[Output("providerName")]
public Output<string?> ProviderName { get; private set; } = null!;
/// <summary>
/// Bucket region, for example `us-east-1`.
/// </summary>
[Output("region")]
public Output<string> Region { get; private set; } = null!;
/// <summary>
/// S3 secret access key.
/// </summary>
[Output("secretAccessKey")]
public Output<string> SecretAccessKey { get; private set; } = null!;
/// <summary>
/// Server this destination is scoped to.
/// </summary>
[Output("serverId")]
public Output<string?> ServerId { get; private set; } = null!;
/// <summary>
/// Create a Destination 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 Destination(string name, DestinationArgs args, CustomResourceOptions? options = null)
: base("dokploy:index/destination:Destination", name, args ?? new DestinationArgs(), MakeResourceOptions(options, ""))
{
}
private Destination(string name, Input<string> id, DestinationState? state = null, CustomResourceOptions? options = null)
: base("dokploy:index/destination:Destination", name, state, MakeResourceOptions(options, id))
{
}
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 =
{
"secretAccessKey",
},
};
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>
/// Get an existing Destination resource's state with the given name, ID, and optional extra
/// properties used to qualify the lookup.
/// </summary>
///
/// <param name="name">The unique name of the resulting resource.</param>
/// <param name="id">The unique provider ID of the resource to lookup.</param>
/// <param name="state">Any extra arguments used during the lookup.</param>
/// <param name="options">A bag of options that control this resource's behavior</param>
public static Destination Get(string name, Input<string> id, DestinationState? state = null, CustomResourceOptions? options = null)
{
return new Destination(name, id, state, options);
}
}
public sealed class DestinationArgs : global::Pulumi.ResourceArgs
{
/// <summary>
/// S3 access key ID.
/// </summary>
[Input("accessKey", required: true)]
public Input<string> AccessKey { get; set; } = null!;
[Input("additionalFlags")]
private InputList<string>? _additionalFlags;
/// <summary>
/// Extra flags passed to the underlying `Rclone` invocation.
/// </summary>
public InputList<string> AdditionalFlags
{
get => _additionalFlags ?? (_additionalFlags = new InputList<string>());
set => _additionalFlags = value;
}
/// <summary>
/// Bucket name.
/// </summary>
[Input("bucket", required: true)]
public Input<string> Bucket { get; set; } = null!;
/// <summary>
/// S3 endpoint URL.
/// </summary>
[Input("endpoint", required: true)]
public Input<string> Endpoint { get; set; } = null!;
/// <summary>
/// Display name of the destination.
/// </summary>
[Input("name")]
public Input<string>? Name { get; set; }
/// <summary>
/// Provider label, for example `S3` or `Cloudflare`. Named `ProviderName` because `Provider` is reserved by Terraform.
/// </summary>
[Input("providerName")]
public Input<string>? ProviderName { get; set; }
/// <summary>
/// Bucket region, for example `us-east-1`.
/// </summary>
[Input("region", required: true)]
public Input<string> Region { get; set; } = null!;
[Input("secretAccessKey", required: true)]
private Input<string>? _secretAccessKey;
/// <summary>
/// S3 secret access key.
/// </summary>
public Input<string>? SecretAccessKey
{
get => _secretAccessKey;
set
{
var emptySecret = Output.CreateSecret(0);
_secretAccessKey = Output.Tuple<Input<string>?, int>(value, emptySecret).Apply(t => t.Item1);
}
}
/// <summary>
/// Server this destination is scoped to.
/// </summary>
[Input("serverId")]
public Input<string>? ServerId { get; set; }
public DestinationArgs()
{
}
public static new DestinationArgs Empty => new DestinationArgs();
}
public sealed class DestinationState : global::Pulumi.ResourceArgs
{
/// <summary>
/// S3 access key ID.
/// </summary>
[Input("accessKey")]
public Input<string>? AccessKey { get; set; }
[Input("additionalFlags")]
private InputList<string>? _additionalFlags;
/// <summary>
/// Extra flags passed to the underlying `Rclone` invocation.
/// </summary>
public InputList<string> AdditionalFlags
{
get => _additionalFlags ?? (_additionalFlags = new InputList<string>());
set => _additionalFlags = value;
}
/// <summary>
/// Bucket name.
/// </summary>
[Input("bucket")]
public Input<string>? Bucket { get; set; }
/// <summary>
/// Timestamp of when the destination was created.
/// </summary>
[Input("createdAt")]
public Input<string>? CreatedAt { get; set; }
/// <summary>
/// S3 endpoint URL.
/// </summary>
[Input("endpoint")]
public Input<string>? Endpoint { get; set; }
/// <summary>
/// Display name of the destination.
/// </summary>
[Input("name")]
public Input<string>? Name { get; set; }
/// <summary>
/// Provider label, for example `S3` or `Cloudflare`. Named `ProviderName` because `Provider` is reserved by Terraform.
/// </summary>
[Input("providerName")]
public Input<string>? ProviderName { get; set; }
/// <summary>
/// Bucket region, for example `us-east-1`.
/// </summary>
[Input("region")]
public Input<string>? Region { get; set; }
[Input("secretAccessKey")]
private Input<string>? _secretAccessKey;
/// <summary>
/// S3 secret access key.
/// </summary>
public Input<string>? SecretAccessKey
{
get => _secretAccessKey;
set
{
var emptySecret = Output.CreateSecret(0);
_secretAccessKey = Output.Tuple<Input<string>?, int>(value, emptySecret).Apply(t => t.Item1);
}
}
/// <summary>
/// Server this destination is scoped to.
/// </summary>
[Input("serverId")]
public Input<string>? ServerId { get; set; }
public DestinationState()
{
}
public static new DestinationState Empty => new DestinationState();
}
}