18 resources and 5 data sources mapped into the dokploy:index module, with SDKs generated for TypeScript, Python, Go and .NET.
539 lines
20 KiB
TypeScript
Generated
539 lines
20 KiB
TypeScript
Generated
// *** 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 Postgres extends pulumi.CustomResource {
|
|
/**
|
|
* Get an existing Postgres 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?: PostgresState, opts?: pulumi.CustomResourceOptions): Postgres {
|
|
return new Postgres(name, <any>state, { ...opts, id: id });
|
|
}
|
|
|
|
/** @internal */
|
|
public static readonly __pulumiType = 'dokploy:index/postgres:Postgres';
|
|
|
|
/**
|
|
* Returns true if the given object is an instance of Postgres. 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 Postgres {
|
|
if (obj === undefined || obj === null) {
|
|
return false;
|
|
}
|
|
return obj['__pulumiType'] === Postgres.__pulumiType;
|
|
}
|
|
|
|
/**
|
|
* Unique Docker service name. Generated by Dokploy when omitted. Changing it forces a new database.
|
|
*/
|
|
declare public readonly appName: pulumi.Output<string>;
|
|
/**
|
|
* Current status reported by Dokploy: `idle`, `running`, `done` or `error`.
|
|
*/
|
|
declare public /*out*/ readonly applicationStatus: pulumi.Output<string>;
|
|
/**
|
|
* Arguments appended to the container command.
|
|
*/
|
|
declare public readonly args: pulumi.Output<string[]>;
|
|
/**
|
|
* Override the container entrypoint command.
|
|
*/
|
|
declare public readonly command: pulumi.Output<string | undefined>;
|
|
/**
|
|
* Hard CPU limit, for example `1`.
|
|
*/
|
|
declare public readonly cpuLimit: pulumi.Output<string | undefined>;
|
|
/**
|
|
* Soft CPU reservation, for example `0.5`.
|
|
*/
|
|
declare public readonly cpuReservation: pulumi.Output<string | undefined>;
|
|
/**
|
|
* RFC 3339 timestamp of when the database was created.
|
|
*/
|
|
declare public /*out*/ readonly createdAt: pulumi.Output<string>;
|
|
/**
|
|
* Name of the database to create.
|
|
*/
|
|
declare public readonly databaseName: pulumi.Output<string>;
|
|
/**
|
|
* Password for the database user.
|
|
*/
|
|
declare public readonly databasePassword: pulumi.Output<string>;
|
|
/**
|
|
* Database user to create.
|
|
*/
|
|
declare public readonly databaseUser: pulumi.Output<string>;
|
|
/**
|
|
* Free-form description.
|
|
*/
|
|
declare public readonly description: pulumi.Output<string | undefined>;
|
|
/**
|
|
* Detach the service from the shared `dokploy-network`.
|
|
*/
|
|
declare public readonly detachDokployNetwork: pulumi.Output<boolean>;
|
|
/**
|
|
* PostgreSQL image to run, for example `postgres:16`.
|
|
*/
|
|
declare public readonly dockerImage: pulumi.Output<string>;
|
|
/**
|
|
* Docker Swarm endpoint specification, as a JSON object.
|
|
*/
|
|
declare public readonly endpointSpecSwarm: pulumi.Output<string | undefined>;
|
|
/**
|
|
* Environment variables in `KEY=value` format, one per line.
|
|
*/
|
|
declare public readonly env: pulumi.Output<string | undefined>;
|
|
/**
|
|
* Environment this database belongs to.
|
|
*/
|
|
declare public readonly environmentId: pulumi.Output<string>;
|
|
/**
|
|
* Host port to expose the database on. Leave unset to keep the database reachable only from inside the Docker network.
|
|
*/
|
|
declare public readonly externalPort: pulumi.Output<number | undefined>;
|
|
/**
|
|
* Docker Swarm health check configuration, as a JSON object.
|
|
*/
|
|
declare public readonly healthCheckSwarm: pulumi.Output<string | undefined>;
|
|
/**
|
|
* Docker Swarm service labels, as a JSON object.
|
|
*/
|
|
declare public readonly labelsSwarm: pulumi.Output<string | undefined>;
|
|
/**
|
|
* Hard memory limit, for example `512m`.
|
|
*/
|
|
declare public readonly memoryLimit: pulumi.Output<string | undefined>;
|
|
/**
|
|
* Soft memory reservation, for example `256m`.
|
|
*/
|
|
declare public readonly memoryReservation: pulumi.Output<string | undefined>;
|
|
/**
|
|
* Docker Swarm service mode, as a JSON object.
|
|
*/
|
|
declare public readonly modeSwarm: pulumi.Output<string | undefined>;
|
|
/**
|
|
* Display name of the database.
|
|
*/
|
|
declare public readonly name: pulumi.Output<string>;
|
|
/**
|
|
* IDs of additional Docker networks to attach.
|
|
*/
|
|
declare public readonly networkIds: pulumi.Output<string[]>;
|
|
/**
|
|
* Docker Swarm network attachments, as a JSON array.
|
|
*/
|
|
declare public readonly networkSwarm: pulumi.Output<string | undefined>;
|
|
/**
|
|
* Docker Swarm placement constraints, as a JSON object.
|
|
*/
|
|
declare public readonly placementSwarm: pulumi.Output<string | undefined>;
|
|
/**
|
|
* Number of replicas to run.
|
|
*/
|
|
declare public readonly replicas: pulumi.Output<number>;
|
|
/**
|
|
* Docker Swarm restart policy, as a JSON object.
|
|
*/
|
|
declare public readonly restartPolicySwarm: pulumi.Output<string | undefined>;
|
|
/**
|
|
* Docker Swarm rollback configuration, as a JSON object.
|
|
*/
|
|
declare public readonly rollbackConfigSwarm: pulumi.Output<string | undefined>;
|
|
/**
|
|
* Remote server to deploy on. Omit to use the Dokploy host itself.
|
|
*/
|
|
declare public readonly serverId: pulumi.Output<string | undefined>;
|
|
/**
|
|
* Grace period in nanoseconds before a container is killed.
|
|
*/
|
|
declare public readonly stopGracePeriodSwarm: pulumi.Output<number | undefined>;
|
|
/**
|
|
* Docker Swarm ulimits, as a JSON object.
|
|
*/
|
|
declare public readonly ulimitsSwarm: pulumi.Output<string | undefined>;
|
|
/**
|
|
* Docker Swarm rolling update configuration, as a JSON object.
|
|
*/
|
|
declare public readonly updateConfigSwarm: pulumi.Output<string | undefined>;
|
|
|
|
/**
|
|
* Create a Postgres 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: PostgresArgs, opts?: pulumi.CustomResourceOptions)
|
|
constructor(name: string, argsOrState?: PostgresArgs | PostgresState, opts?: pulumi.CustomResourceOptions) {
|
|
let resourceInputs: pulumi.Inputs = {};
|
|
opts = opts || {};
|
|
if (opts.id) {
|
|
const state = argsOrState as PostgresState | undefined;
|
|
resourceInputs["appName"] = state?.appName;
|
|
resourceInputs["applicationStatus"] = state?.applicationStatus;
|
|
resourceInputs["args"] = state?.args;
|
|
resourceInputs["command"] = state?.command;
|
|
resourceInputs["cpuLimit"] = state?.cpuLimit;
|
|
resourceInputs["cpuReservation"] = state?.cpuReservation;
|
|
resourceInputs["createdAt"] = state?.createdAt;
|
|
resourceInputs["databaseName"] = state?.databaseName;
|
|
resourceInputs["databasePassword"] = state?.databasePassword;
|
|
resourceInputs["databaseUser"] = state?.databaseUser;
|
|
resourceInputs["description"] = state?.description;
|
|
resourceInputs["detachDokployNetwork"] = state?.detachDokployNetwork;
|
|
resourceInputs["dockerImage"] = state?.dockerImage;
|
|
resourceInputs["endpointSpecSwarm"] = state?.endpointSpecSwarm;
|
|
resourceInputs["env"] = state?.env;
|
|
resourceInputs["environmentId"] = state?.environmentId;
|
|
resourceInputs["externalPort"] = state?.externalPort;
|
|
resourceInputs["healthCheckSwarm"] = state?.healthCheckSwarm;
|
|
resourceInputs["labelsSwarm"] = state?.labelsSwarm;
|
|
resourceInputs["memoryLimit"] = state?.memoryLimit;
|
|
resourceInputs["memoryReservation"] = state?.memoryReservation;
|
|
resourceInputs["modeSwarm"] = state?.modeSwarm;
|
|
resourceInputs["name"] = state?.name;
|
|
resourceInputs["networkIds"] = state?.networkIds;
|
|
resourceInputs["networkSwarm"] = state?.networkSwarm;
|
|
resourceInputs["placementSwarm"] = state?.placementSwarm;
|
|
resourceInputs["replicas"] = state?.replicas;
|
|
resourceInputs["restartPolicySwarm"] = state?.restartPolicySwarm;
|
|
resourceInputs["rollbackConfigSwarm"] = state?.rollbackConfigSwarm;
|
|
resourceInputs["serverId"] = state?.serverId;
|
|
resourceInputs["stopGracePeriodSwarm"] = state?.stopGracePeriodSwarm;
|
|
resourceInputs["ulimitsSwarm"] = state?.ulimitsSwarm;
|
|
resourceInputs["updateConfigSwarm"] = state?.updateConfigSwarm;
|
|
} else {
|
|
const args = argsOrState as PostgresArgs | undefined;
|
|
if (args?.databaseName === undefined && !opts.urn) {
|
|
throw new Error("Missing required property 'databaseName'");
|
|
}
|
|
if (args?.databasePassword === undefined && !opts.urn) {
|
|
throw new Error("Missing required property 'databasePassword'");
|
|
}
|
|
if (args?.databaseUser === undefined && !opts.urn) {
|
|
throw new Error("Missing required property 'databaseUser'");
|
|
}
|
|
if (args?.dockerImage === undefined && !opts.urn) {
|
|
throw new Error("Missing required property 'dockerImage'");
|
|
}
|
|
if (args?.environmentId === undefined && !opts.urn) {
|
|
throw new Error("Missing required property 'environmentId'");
|
|
}
|
|
resourceInputs["appName"] = args?.appName;
|
|
resourceInputs["args"] = args?.args;
|
|
resourceInputs["command"] = args?.command;
|
|
resourceInputs["cpuLimit"] = args?.cpuLimit;
|
|
resourceInputs["cpuReservation"] = args?.cpuReservation;
|
|
resourceInputs["databaseName"] = args?.databaseName;
|
|
resourceInputs["databasePassword"] = args?.databasePassword ? pulumi.secret(args.databasePassword) : undefined;
|
|
resourceInputs["databaseUser"] = args?.databaseUser;
|
|
resourceInputs["description"] = args?.description;
|
|
resourceInputs["detachDokployNetwork"] = args?.detachDokployNetwork;
|
|
resourceInputs["dockerImage"] = args?.dockerImage;
|
|
resourceInputs["endpointSpecSwarm"] = args?.endpointSpecSwarm;
|
|
resourceInputs["env"] = args?.env;
|
|
resourceInputs["environmentId"] = args?.environmentId;
|
|
resourceInputs["externalPort"] = args?.externalPort;
|
|
resourceInputs["healthCheckSwarm"] = args?.healthCheckSwarm;
|
|
resourceInputs["labelsSwarm"] = args?.labelsSwarm;
|
|
resourceInputs["memoryLimit"] = args?.memoryLimit;
|
|
resourceInputs["memoryReservation"] = args?.memoryReservation;
|
|
resourceInputs["modeSwarm"] = args?.modeSwarm;
|
|
resourceInputs["name"] = args?.name;
|
|
resourceInputs["networkIds"] = args?.networkIds;
|
|
resourceInputs["networkSwarm"] = args?.networkSwarm;
|
|
resourceInputs["placementSwarm"] = args?.placementSwarm;
|
|
resourceInputs["replicas"] = args?.replicas;
|
|
resourceInputs["restartPolicySwarm"] = args?.restartPolicySwarm;
|
|
resourceInputs["rollbackConfigSwarm"] = args?.rollbackConfigSwarm;
|
|
resourceInputs["serverId"] = args?.serverId;
|
|
resourceInputs["stopGracePeriodSwarm"] = args?.stopGracePeriodSwarm;
|
|
resourceInputs["ulimitsSwarm"] = args?.ulimitsSwarm;
|
|
resourceInputs["updateConfigSwarm"] = args?.updateConfigSwarm;
|
|
resourceInputs["applicationStatus"] = undefined /*out*/;
|
|
resourceInputs["createdAt"] = undefined /*out*/;
|
|
}
|
|
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
|
const secretOpts = { additionalSecretOutputs: ["databasePassword"] };
|
|
opts = pulumi.mergeOptions(opts, secretOpts);
|
|
super(Postgres.__pulumiType, name, resourceInputs, opts);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Input properties used for looking up and filtering Postgres resources.
|
|
*/
|
|
export interface PostgresState {
|
|
/**
|
|
* Unique Docker service name. Generated by Dokploy when omitted. Changing it forces a new database.
|
|
*/
|
|
appName?: pulumi.Input<string>;
|
|
/**
|
|
* Current status reported by Dokploy: `idle`, `running`, `done` or `error`.
|
|
*/
|
|
applicationStatus?: pulumi.Input<string>;
|
|
/**
|
|
* Arguments appended to the container command.
|
|
*/
|
|
args?: pulumi.Input<pulumi.Input<string>[]>;
|
|
/**
|
|
* Override the container entrypoint command.
|
|
*/
|
|
command?: pulumi.Input<string>;
|
|
/**
|
|
* Hard CPU limit, for example `1`.
|
|
*/
|
|
cpuLimit?: pulumi.Input<string>;
|
|
/**
|
|
* Soft CPU reservation, for example `0.5`.
|
|
*/
|
|
cpuReservation?: pulumi.Input<string>;
|
|
/**
|
|
* RFC 3339 timestamp of when the database was created.
|
|
*/
|
|
createdAt?: pulumi.Input<string>;
|
|
/**
|
|
* Name of the database to create.
|
|
*/
|
|
databaseName?: pulumi.Input<string>;
|
|
/**
|
|
* Password for the database user.
|
|
*/
|
|
databasePassword?: pulumi.Input<string>;
|
|
/**
|
|
* Database user to create.
|
|
*/
|
|
databaseUser?: pulumi.Input<string>;
|
|
/**
|
|
* Free-form description.
|
|
*/
|
|
description?: pulumi.Input<string>;
|
|
/**
|
|
* Detach the service from the shared `dokploy-network`.
|
|
*/
|
|
detachDokployNetwork?: pulumi.Input<boolean>;
|
|
/**
|
|
* PostgreSQL image to run, for example `postgres:16`.
|
|
*/
|
|
dockerImage?: pulumi.Input<string>;
|
|
/**
|
|
* Docker Swarm endpoint specification, as a JSON object.
|
|
*/
|
|
endpointSpecSwarm?: pulumi.Input<string>;
|
|
/**
|
|
* Environment variables in `KEY=value` format, one per line.
|
|
*/
|
|
env?: pulumi.Input<string>;
|
|
/**
|
|
* Environment this database belongs to.
|
|
*/
|
|
environmentId?: pulumi.Input<string>;
|
|
/**
|
|
* Host port to expose the database on. Leave unset to keep the database reachable only from inside the Docker network.
|
|
*/
|
|
externalPort?: pulumi.Input<number>;
|
|
/**
|
|
* Docker Swarm health check configuration, as a JSON object.
|
|
*/
|
|
healthCheckSwarm?: pulumi.Input<string>;
|
|
/**
|
|
* Docker Swarm service labels, as a JSON object.
|
|
*/
|
|
labelsSwarm?: pulumi.Input<string>;
|
|
/**
|
|
* Hard memory limit, for example `512m`.
|
|
*/
|
|
memoryLimit?: pulumi.Input<string>;
|
|
/**
|
|
* Soft memory reservation, for example `256m`.
|
|
*/
|
|
memoryReservation?: pulumi.Input<string>;
|
|
/**
|
|
* Docker Swarm service mode, as a JSON object.
|
|
*/
|
|
modeSwarm?: pulumi.Input<string>;
|
|
/**
|
|
* Display name of the database.
|
|
*/
|
|
name?: pulumi.Input<string>;
|
|
/**
|
|
* IDs of additional Docker networks to attach.
|
|
*/
|
|
networkIds?: pulumi.Input<pulumi.Input<string>[]>;
|
|
/**
|
|
* Docker Swarm network attachments, as a JSON array.
|
|
*/
|
|
networkSwarm?: pulumi.Input<string>;
|
|
/**
|
|
* Docker Swarm placement constraints, as a JSON object.
|
|
*/
|
|
placementSwarm?: pulumi.Input<string>;
|
|
/**
|
|
* Number of replicas to run.
|
|
*/
|
|
replicas?: pulumi.Input<number>;
|
|
/**
|
|
* Docker Swarm restart policy, as a JSON object.
|
|
*/
|
|
restartPolicySwarm?: pulumi.Input<string>;
|
|
/**
|
|
* Docker Swarm rollback configuration, as a JSON object.
|
|
*/
|
|
rollbackConfigSwarm?: pulumi.Input<string>;
|
|
/**
|
|
* Remote server to deploy on. Omit to use the Dokploy host itself.
|
|
*/
|
|
serverId?: pulumi.Input<string>;
|
|
/**
|
|
* Grace period in nanoseconds before a container is killed.
|
|
*/
|
|
stopGracePeriodSwarm?: pulumi.Input<number>;
|
|
/**
|
|
* Docker Swarm ulimits, as a JSON object.
|
|
*/
|
|
ulimitsSwarm?: pulumi.Input<string>;
|
|
/**
|
|
* Docker Swarm rolling update configuration, as a JSON object.
|
|
*/
|
|
updateConfigSwarm?: pulumi.Input<string>;
|
|
}
|
|
|
|
/**
|
|
* The set of arguments for constructing a Postgres resource.
|
|
*/
|
|
export interface PostgresArgs {
|
|
/**
|
|
* Unique Docker service name. Generated by Dokploy when omitted. Changing it forces a new database.
|
|
*/
|
|
appName?: pulumi.Input<string>;
|
|
/**
|
|
* Arguments appended to the container command.
|
|
*/
|
|
args?: pulumi.Input<pulumi.Input<string>[]>;
|
|
/**
|
|
* Override the container entrypoint command.
|
|
*/
|
|
command?: pulumi.Input<string>;
|
|
/**
|
|
* Hard CPU limit, for example `1`.
|
|
*/
|
|
cpuLimit?: pulumi.Input<string>;
|
|
/**
|
|
* Soft CPU reservation, for example `0.5`.
|
|
*/
|
|
cpuReservation?: pulumi.Input<string>;
|
|
/**
|
|
* Name of the database to create.
|
|
*/
|
|
databaseName: pulumi.Input<string>;
|
|
/**
|
|
* Password for the database user.
|
|
*/
|
|
databasePassword: pulumi.Input<string>;
|
|
/**
|
|
* Database user to create.
|
|
*/
|
|
databaseUser: pulumi.Input<string>;
|
|
/**
|
|
* Free-form description.
|
|
*/
|
|
description?: pulumi.Input<string>;
|
|
/**
|
|
* Detach the service from the shared `dokploy-network`.
|
|
*/
|
|
detachDokployNetwork?: pulumi.Input<boolean>;
|
|
/**
|
|
* PostgreSQL image to run, for example `postgres:16`.
|
|
*/
|
|
dockerImage: pulumi.Input<string>;
|
|
/**
|
|
* Docker Swarm endpoint specification, as a JSON object.
|
|
*/
|
|
endpointSpecSwarm?: pulumi.Input<string>;
|
|
/**
|
|
* Environment variables in `KEY=value` format, one per line.
|
|
*/
|
|
env?: pulumi.Input<string>;
|
|
/**
|
|
* Environment this database belongs to.
|
|
*/
|
|
environmentId: pulumi.Input<string>;
|
|
/**
|
|
* Host port to expose the database on. Leave unset to keep the database reachable only from inside the Docker network.
|
|
*/
|
|
externalPort?: pulumi.Input<number>;
|
|
/**
|
|
* Docker Swarm health check configuration, as a JSON object.
|
|
*/
|
|
healthCheckSwarm?: pulumi.Input<string>;
|
|
/**
|
|
* Docker Swarm service labels, as a JSON object.
|
|
*/
|
|
labelsSwarm?: pulumi.Input<string>;
|
|
/**
|
|
* Hard memory limit, for example `512m`.
|
|
*/
|
|
memoryLimit?: pulumi.Input<string>;
|
|
/**
|
|
* Soft memory reservation, for example `256m`.
|
|
*/
|
|
memoryReservation?: pulumi.Input<string>;
|
|
/**
|
|
* Docker Swarm service mode, as a JSON object.
|
|
*/
|
|
modeSwarm?: pulumi.Input<string>;
|
|
/**
|
|
* Display name of the database.
|
|
*/
|
|
name?: pulumi.Input<string>;
|
|
/**
|
|
* IDs of additional Docker networks to attach.
|
|
*/
|
|
networkIds?: pulumi.Input<pulumi.Input<string>[]>;
|
|
/**
|
|
* Docker Swarm network attachments, as a JSON array.
|
|
*/
|
|
networkSwarm?: pulumi.Input<string>;
|
|
/**
|
|
* Docker Swarm placement constraints, as a JSON object.
|
|
*/
|
|
placementSwarm?: pulumi.Input<string>;
|
|
/**
|
|
* Number of replicas to run.
|
|
*/
|
|
replicas?: pulumi.Input<number>;
|
|
/**
|
|
* Docker Swarm restart policy, as a JSON object.
|
|
*/
|
|
restartPolicySwarm?: pulumi.Input<string>;
|
|
/**
|
|
* Docker Swarm rollback configuration, as a JSON object.
|
|
*/
|
|
rollbackConfigSwarm?: pulumi.Input<string>;
|
|
/**
|
|
* Remote server to deploy on. Omit to use the Dokploy host itself.
|
|
*/
|
|
serverId?: pulumi.Input<string>;
|
|
/**
|
|
* Grace period in nanoseconds before a container is killed.
|
|
*/
|
|
stopGracePeriodSwarm?: pulumi.Input<number>;
|
|
/**
|
|
* Docker Swarm ulimits, as a JSON object.
|
|
*/
|
|
ulimitsSwarm?: pulumi.Input<string>;
|
|
/**
|
|
* Docker Swarm rolling update configuration, as a JSON object.
|
|
*/
|
|
updateConfigSwarm?: pulumi.Input<string>;
|
|
}
|