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