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

220
sdk/nodejs/destination.ts generated Normal file
View File

@@ -0,0 +1,220 @@
// *** WARNING: this file was generated by pulumi-language-nodejs. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
import * as pulumi from "@pulumi/pulumi";
import * as utilities from "./utilities";
export class Destination extends pulumi.CustomResource {
/**
* Get an existing Destination resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param state Any extra arguments used during the lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DestinationState, opts?: pulumi.CustomResourceOptions): Destination {
return new Destination(name, <any>state, { ...opts, id: id });
}
/** @internal */
public static readonly __pulumiType = 'dokploy:index/destination:Destination';
/**
* Returns true if the given object is an instance of Destination. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
public static isInstance(obj: any): obj is Destination {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === Destination.__pulumiType;
}
/**
* S3 access key ID.
*/
declare public readonly accessKey: pulumi.Output<string>;
/**
* Extra flags passed to the underlying `rclone` invocation.
*/
declare public readonly additionalFlags: pulumi.Output<string[]>;
/**
* Bucket name.
*/
declare public readonly bucket: pulumi.Output<string>;
/**
* Timestamp of when the destination was created.
*/
declare public /*out*/ readonly createdAt: pulumi.Output<string>;
/**
* S3 endpoint URL.
*/
declare public readonly endpoint: pulumi.Output<string>;
/**
* Display name of the destination.
*/
declare public readonly name: pulumi.Output<string>;
/**
* Provider label, for example `s3` or `cloudflare`. Named `providerName` because `provider` is reserved by Terraform.
*/
declare public readonly providerName: pulumi.Output<string | undefined>;
/**
* Bucket region, for example `us-east-1`.
*/
declare public readonly region: pulumi.Output<string>;
/**
* S3 secret access key.
*/
declare public readonly secretAccessKey: pulumi.Output<string>;
/**
* Server this destination is scoped to.
*/
declare public readonly serverId: pulumi.Output<string | undefined>;
/**
* Create a Destination resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args: DestinationArgs, opts?: pulumi.CustomResourceOptions)
constructor(name: string, argsOrState?: DestinationArgs | DestinationState, opts?: pulumi.CustomResourceOptions) {
let resourceInputs: pulumi.Inputs = {};
opts = opts || {};
if (opts.id) {
const state = argsOrState as DestinationState | undefined;
resourceInputs["accessKey"] = state?.accessKey;
resourceInputs["additionalFlags"] = state?.additionalFlags;
resourceInputs["bucket"] = state?.bucket;
resourceInputs["createdAt"] = state?.createdAt;
resourceInputs["endpoint"] = state?.endpoint;
resourceInputs["name"] = state?.name;
resourceInputs["providerName"] = state?.providerName;
resourceInputs["region"] = state?.region;
resourceInputs["secretAccessKey"] = state?.secretAccessKey;
resourceInputs["serverId"] = state?.serverId;
} else {
const args = argsOrState as DestinationArgs | undefined;
if (args?.accessKey === undefined && !opts.urn) {
throw new Error("Missing required property 'accessKey'");
}
if (args?.bucket === undefined && !opts.urn) {
throw new Error("Missing required property 'bucket'");
}
if (args?.endpoint === undefined && !opts.urn) {
throw new Error("Missing required property 'endpoint'");
}
if (args?.region === undefined && !opts.urn) {
throw new Error("Missing required property 'region'");
}
if (args?.secretAccessKey === undefined && !opts.urn) {
throw new Error("Missing required property 'secretAccessKey'");
}
resourceInputs["accessKey"] = args?.accessKey;
resourceInputs["additionalFlags"] = args?.additionalFlags;
resourceInputs["bucket"] = args?.bucket;
resourceInputs["endpoint"] = args?.endpoint;
resourceInputs["name"] = args?.name;
resourceInputs["providerName"] = args?.providerName;
resourceInputs["region"] = args?.region;
resourceInputs["secretAccessKey"] = args?.secretAccessKey ? pulumi.secret(args.secretAccessKey) : undefined;
resourceInputs["serverId"] = args?.serverId;
resourceInputs["createdAt"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
const secretOpts = { additionalSecretOutputs: ["secretAccessKey"] };
opts = pulumi.mergeOptions(opts, secretOpts);
super(Destination.__pulumiType, name, resourceInputs, opts);
}
}
/**
* Input properties used for looking up and filtering Destination resources.
*/
export interface DestinationState {
/**
* S3 access key ID.
*/
accessKey?: pulumi.Input<string>;
/**
* Extra flags passed to the underlying `rclone` invocation.
*/
additionalFlags?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Bucket name.
*/
bucket?: pulumi.Input<string>;
/**
* Timestamp of when the destination was created.
*/
createdAt?: pulumi.Input<string>;
/**
* S3 endpoint URL.
*/
endpoint?: pulumi.Input<string>;
/**
* Display name of the destination.
*/
name?: pulumi.Input<string>;
/**
* Provider label, for example `s3` or `cloudflare`. Named `providerName` because `provider` is reserved by Terraform.
*/
providerName?: pulumi.Input<string>;
/**
* Bucket region, for example `us-east-1`.
*/
region?: pulumi.Input<string>;
/**
* S3 secret access key.
*/
secretAccessKey?: pulumi.Input<string>;
/**
* Server this destination is scoped to.
*/
serverId?: pulumi.Input<string>;
}
/**
* The set of arguments for constructing a Destination resource.
*/
export interface DestinationArgs {
/**
* S3 access key ID.
*/
accessKey: pulumi.Input<string>;
/**
* Extra flags passed to the underlying `rclone` invocation.
*/
additionalFlags?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Bucket name.
*/
bucket: pulumi.Input<string>;
/**
* S3 endpoint URL.
*/
endpoint: pulumi.Input<string>;
/**
* Display name of the destination.
*/
name?: pulumi.Input<string>;
/**
* Provider label, for example `s3` or `cloudflare`. Named `providerName` because `provider` is reserved by Terraform.
*/
providerName?: pulumi.Input<string>;
/**
* Bucket region, for example `us-east-1`.
*/
region: pulumi.Input<string>;
/**
* S3 secret access key.
*/
secretAccessKey: pulumi.Input<string>;
/**
* Server this destination is scoped to.
*/
serverId?: pulumi.Input<string>;
}