@bambamboole/coolify 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js ADDED
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by pulumi-language-nodejs. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
16
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
17
+ }) : function(o, v) {
18
+ o["default"] = v;
19
+ });
20
+ var __importStar = (this && this.__importStar) || function (mod) {
21
+ if (mod && mod.__esModule) return mod;
22
+ var result = {};
23
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
24
+ __setModuleDefault(result, mod);
25
+ return result;
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.config = exports.Server = exports.S3Storage = exports.Provider = exports.Project = exports.PrivateKey = exports.Deployment = exports.Database = exports.Application = void 0;
29
+ const pulumi = __importStar(require("@pulumi/pulumi"));
30
+ const utilities = __importStar(require("./utilities"));
31
+ exports.Application = null;
32
+ utilities.lazyLoad(exports, ["Application"], () => require("./application"));
33
+ exports.Database = null;
34
+ utilities.lazyLoad(exports, ["Database"], () => require("./database"));
35
+ exports.Deployment = null;
36
+ utilities.lazyLoad(exports, ["Deployment"], () => require("./deployment"));
37
+ exports.PrivateKey = null;
38
+ utilities.lazyLoad(exports, ["PrivateKey"], () => require("./privateKey"));
39
+ exports.Project = null;
40
+ utilities.lazyLoad(exports, ["Project"], () => require("./project"));
41
+ exports.Provider = null;
42
+ utilities.lazyLoad(exports, ["Provider"], () => require("./provider"));
43
+ exports.S3Storage = null;
44
+ utilities.lazyLoad(exports, ["S3Storage"], () => require("./s3storage"));
45
+ exports.Server = null;
46
+ utilities.lazyLoad(exports, ["Server"], () => require("./server"));
47
+ // Export sub-modules:
48
+ const config = __importStar(require("./config"));
49
+ exports.config = config;
50
+ const _module = {
51
+ version: utilities.getVersion(),
52
+ construct: (name, type, urn) => {
53
+ switch (type) {
54
+ case "coolify:index:Application":
55
+ return new exports.Application(name, undefined, { urn });
56
+ case "coolify:index:Database":
57
+ return new exports.Database(name, undefined, { urn });
58
+ case "coolify:index:Deployment":
59
+ return new exports.Deployment(name, undefined, { urn });
60
+ case "coolify:index:PrivateKey":
61
+ return new exports.PrivateKey(name, undefined, { urn });
62
+ case "coolify:index:Project":
63
+ return new exports.Project(name, undefined, { urn });
64
+ case "coolify:index:S3Storage":
65
+ return new exports.S3Storage(name, undefined, { urn });
66
+ case "coolify:index:Server":
67
+ return new exports.Server(name, undefined, { urn });
68
+ default:
69
+ throw new Error(`unknown resource type ${type}`);
70
+ }
71
+ },
72
+ };
73
+ pulumi.runtime.registerResourceModule("coolify", "index", _module);
74
+ pulumi.runtime.registerResourcePackage("coolify", {
75
+ version: utilities.getVersion(),
76
+ constructProvider: (name, type, urn) => {
77
+ if (type !== "pulumi:providers:coolify") {
78
+ throw new Error(`unknown provider type ${type}`);
79
+ }
80
+ return new exports.Provider(name, undefined, { urn });
81
+ },
82
+ });
83
+ //# sourceMappingURL=index.js.map
package/index.ts ADDED
@@ -0,0 +1,88 @@
1
+ // *** WARNING: this file was generated by pulumi-language-nodejs. ***
2
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
3
+
4
+ import * as pulumi from "@pulumi/pulumi";
5
+ import * as utilities from "./utilities";
6
+
7
+ // Export members:
8
+ export { ApplicationArgs } from "./application";
9
+ export type Application = import("./application").Application;
10
+ export const Application: typeof import("./application").Application = null as any;
11
+ utilities.lazyLoad(exports, ["Application"], () => require("./application"));
12
+
13
+ export { DatabaseArgs } from "./database";
14
+ export type Database = import("./database").Database;
15
+ export const Database: typeof import("./database").Database = null as any;
16
+ utilities.lazyLoad(exports, ["Database"], () => require("./database"));
17
+
18
+ export { DeploymentArgs } from "./deployment";
19
+ export type Deployment = import("./deployment").Deployment;
20
+ export const Deployment: typeof import("./deployment").Deployment = null as any;
21
+ utilities.lazyLoad(exports, ["Deployment"], () => require("./deployment"));
22
+
23
+ export { PrivateKeyArgs } from "./privateKey";
24
+ export type PrivateKey = import("./privateKey").PrivateKey;
25
+ export const PrivateKey: typeof import("./privateKey").PrivateKey = null as any;
26
+ utilities.lazyLoad(exports, ["PrivateKey"], () => require("./privateKey"));
27
+
28
+ export { ProjectArgs } from "./project";
29
+ export type Project = import("./project").Project;
30
+ export const Project: typeof import("./project").Project = null as any;
31
+ utilities.lazyLoad(exports, ["Project"], () => require("./project"));
32
+
33
+ export { ProviderArgs } from "./provider";
34
+ export type Provider = import("./provider").Provider;
35
+ export const Provider: typeof import("./provider").Provider = null as any;
36
+ utilities.lazyLoad(exports, ["Provider"], () => require("./provider"));
37
+
38
+ export { S3StorageArgs } from "./s3storage";
39
+ export type S3Storage = import("./s3storage").S3Storage;
40
+ export const S3Storage: typeof import("./s3storage").S3Storage = null as any;
41
+ utilities.lazyLoad(exports, ["S3Storage"], () => require("./s3storage"));
42
+
43
+ export { ServerArgs } from "./server";
44
+ export type Server = import("./server").Server;
45
+ export const Server: typeof import("./server").Server = null as any;
46
+ utilities.lazyLoad(exports, ["Server"], () => require("./server"));
47
+
48
+
49
+ // Export sub-modules:
50
+ import * as config from "./config";
51
+
52
+ export {
53
+ config,
54
+ };
55
+
56
+ const _module = {
57
+ version: utilities.getVersion(),
58
+ construct: (name: string, type: string, urn: string): pulumi.Resource => {
59
+ switch (type) {
60
+ case "coolify:index:Application":
61
+ return new Application(name, <any>undefined, { urn })
62
+ case "coolify:index:Database":
63
+ return new Database(name, <any>undefined, { urn })
64
+ case "coolify:index:Deployment":
65
+ return new Deployment(name, <any>undefined, { urn })
66
+ case "coolify:index:PrivateKey":
67
+ return new PrivateKey(name, <any>undefined, { urn })
68
+ case "coolify:index:Project":
69
+ return new Project(name, <any>undefined, { urn })
70
+ case "coolify:index:S3Storage":
71
+ return new S3Storage(name, <any>undefined, { urn })
72
+ case "coolify:index:Server":
73
+ return new Server(name, <any>undefined, { urn })
74
+ default:
75
+ throw new Error(`unknown resource type ${type}`);
76
+ }
77
+ },
78
+ };
79
+ pulumi.runtime.registerResourceModule("coolify", "index", _module)
80
+ pulumi.runtime.registerResourcePackage("coolify", {
81
+ version: utilities.getVersion(),
82
+ constructProvider: (name: string, type: string, urn: string): pulumi.ProviderResource => {
83
+ if (type !== "pulumi:providers:coolify") {
84
+ throw new Error(`unknown provider type ${type}`);
85
+ }
86
+ return new Provider(name, <any>undefined, { urn });
87
+ },
88
+ });
package/package.json ADDED
@@ -0,0 +1,36 @@
1
+ {
2
+ "name": "@bambamboole/coolify",
3
+ "version": "0.4.0",
4
+ "homepage": "https://coolify.io",
5
+ "repository": "https://github.com/bambamboole/pulumi-provider-coolify",
6
+ "license": "Apache-2.0",
7
+ "scripts": {
8
+ "build": "tsc",
9
+ "prepare": "tsc"
10
+ },
11
+ "dependencies": {
12
+ "@pulumi/pulumi": "^3.142.0"
13
+ },
14
+ "devDependencies": {
15
+ "@types/node": "^20",
16
+ "typescript": "^4.7.0"
17
+ },
18
+ "pulumi": {
19
+ "resource": true,
20
+ "name": "coolify",
21
+ "version": "0.1.0",
22
+ "server": "https://github.com/bambamboole/pulumi-provider-coolify/releases/download/v$%7BVERSION%7D"
23
+ },
24
+ "main": "index.js",
25
+ "typings": "index.d.ts",
26
+ "files": [
27
+ "*.js",
28
+ "*.d.ts",
29
+ "*.ts",
30
+ "README.md",
31
+ "LICENSE"
32
+ ],
33
+ "publishConfig": {
34
+ "access": "public"
35
+ }
36
+ }
@@ -0,0 +1,47 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * A Coolify SSH private key.
4
+ */
5
+ export declare class PrivateKey extends pulumi.CustomResource {
6
+ /**
7
+ * Get an existing PrivateKey resource's state with the given name, ID, and optional extra
8
+ * properties used to qualify the lookup.
9
+ *
10
+ * @param name The _unique_ name of the resulting resource.
11
+ * @param id The _unique_ provider ID of the resource to lookup.
12
+ * @param opts Optional settings to control the behavior of the CustomResource.
13
+ */
14
+ static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): PrivateKey;
15
+ /**
16
+ * Returns true if the given object is an instance of PrivateKey. This is designed to work even
17
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
18
+ */
19
+ static isInstance(obj: any): obj is PrivateKey;
20
+ readonly description: pulumi.Output<string>;
21
+ readonly name: pulumi.Output<string>;
22
+ /**
23
+ * Public key derived from the private key.
24
+ */
25
+ readonly publicKey: pulumi.Output<string | undefined>;
26
+ readonly uuid: pulumi.Output<string>;
27
+ /**
28
+ * Create a PrivateKey resource with the given unique name, arguments, and options.
29
+ *
30
+ * @param name The _unique_ name of the resource.
31
+ * @param args The arguments to use to populate this resource's properties.
32
+ * @param opts A bag of options that control this resource's behavior.
33
+ */
34
+ constructor(name: string, args: PrivateKeyArgs, opts?: pulumi.CustomResourceOptions);
35
+ }
36
+ /**
37
+ * The set of arguments for constructing a PrivateKey resource.
38
+ */
39
+ export interface PrivateKeyArgs {
40
+ description?: pulumi.Input<string | undefined>;
41
+ name: pulumi.Input<string>;
42
+ /**
43
+ * PEM private key material. Required to create a missing key; never stored in state.
44
+ */
45
+ privateKey?: pulumi.Input<string | undefined>;
46
+ }
47
+ //# sourceMappingURL=privateKey.d.ts.map
package/privateKey.js ADDED
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by pulumi-language-nodejs. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
16
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
17
+ }) : function(o, v) {
18
+ o["default"] = v;
19
+ });
20
+ var __importStar = (this && this.__importStar) || function (mod) {
21
+ if (mod && mod.__esModule) return mod;
22
+ var result = {};
23
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
24
+ __setModuleDefault(result, mod);
25
+ return result;
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.PrivateKey = void 0;
29
+ const pulumi = __importStar(require("@pulumi/pulumi"));
30
+ const utilities = __importStar(require("./utilities"));
31
+ /**
32
+ * A Coolify SSH private key.
33
+ */
34
+ class PrivateKey extends pulumi.CustomResource {
35
+ /**
36
+ * Get an existing PrivateKey resource's state with the given name, ID, and optional extra
37
+ * properties used to qualify the lookup.
38
+ *
39
+ * @param name The _unique_ name of the resulting resource.
40
+ * @param id The _unique_ provider ID of the resource to lookup.
41
+ * @param opts Optional settings to control the behavior of the CustomResource.
42
+ */
43
+ static get(name, id, opts) {
44
+ return new PrivateKey(name, undefined, { ...opts, id: id });
45
+ }
46
+ /** @internal */
47
+ static __pulumiType = 'coolify:index:PrivateKey';
48
+ /**
49
+ * Returns true if the given object is an instance of PrivateKey. This is designed to work even
50
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
51
+ */
52
+ static isInstance(obj) {
53
+ if (obj === undefined || obj === null) {
54
+ return false;
55
+ }
56
+ return obj['__pulumiType'] === PrivateKey.__pulumiType;
57
+ }
58
+ /**
59
+ * Create a PrivateKey resource with the given unique name, arguments, and options.
60
+ *
61
+ * @param name The _unique_ name of the resource.
62
+ * @param args The arguments to use to populate this resource's properties.
63
+ * @param opts A bag of options that control this resource's behavior.
64
+ */
65
+ constructor(name, args, opts) {
66
+ let resourceInputs = {};
67
+ opts = opts || {};
68
+ if (!opts.id) {
69
+ if (args?.name === undefined && !opts.urn) {
70
+ throw new Error("Missing required property 'name'");
71
+ }
72
+ resourceInputs["description"] = args?.description;
73
+ resourceInputs["name"] = args?.name;
74
+ resourceInputs["privateKey"] = args?.privateKey ? pulumi.secret(args.privateKey) : undefined;
75
+ resourceInputs["publicKey"] = undefined /*out*/;
76
+ resourceInputs["uuid"] = undefined /*out*/;
77
+ }
78
+ else {
79
+ resourceInputs["description"] = undefined /*out*/;
80
+ resourceInputs["name"] = undefined /*out*/;
81
+ resourceInputs["publicKey"] = undefined /*out*/;
82
+ resourceInputs["uuid"] = undefined /*out*/;
83
+ }
84
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
85
+ super(PrivateKey.__pulumiType, name, resourceInputs, opts);
86
+ }
87
+ }
88
+ exports.PrivateKey = PrivateKey;
89
+ //# sourceMappingURL=privateKey.js.map
package/privateKey.ts ADDED
@@ -0,0 +1,85 @@
1
+ // *** WARNING: this file was generated by pulumi-language-nodejs. ***
2
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
3
+
4
+ import * as pulumi from "@pulumi/pulumi";
5
+ import * as utilities from "./utilities";
6
+
7
+ /**
8
+ * A Coolify SSH private key.
9
+ */
10
+ export class PrivateKey extends pulumi.CustomResource {
11
+ /**
12
+ * Get an existing PrivateKey resource's state with the given name, ID, and optional extra
13
+ * properties used to qualify the lookup.
14
+ *
15
+ * @param name The _unique_ name of the resulting resource.
16
+ * @param id The _unique_ provider ID of the resource to lookup.
17
+ * @param opts Optional settings to control the behavior of the CustomResource.
18
+ */
19
+ public static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): PrivateKey {
20
+ return new PrivateKey(name, undefined as any, { ...opts, id: id });
21
+ }
22
+
23
+ /** @internal */
24
+ public static readonly __pulumiType = 'coolify:index:PrivateKey';
25
+
26
+ /**
27
+ * Returns true if the given object is an instance of PrivateKey. This is designed to work even
28
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
29
+ */
30
+ public static isInstance(obj: any): obj is PrivateKey {
31
+ if (obj === undefined || obj === null) {
32
+ return false;
33
+ }
34
+ return obj['__pulumiType'] === PrivateKey.__pulumiType;
35
+ }
36
+
37
+ declare public readonly description: pulumi.Output<string>;
38
+ declare public readonly name: pulumi.Output<string>;
39
+ /**
40
+ * Public key derived from the private key.
41
+ */
42
+ declare public /*out*/ readonly publicKey: pulumi.Output<string | undefined>;
43
+ declare public /*out*/ readonly uuid: pulumi.Output<string>;
44
+
45
+ /**
46
+ * Create a PrivateKey resource with the given unique name, arguments, and options.
47
+ *
48
+ * @param name The _unique_ name of the resource.
49
+ * @param args The arguments to use to populate this resource's properties.
50
+ * @param opts A bag of options that control this resource's behavior.
51
+ */
52
+ constructor(name: string, args: PrivateKeyArgs, opts?: pulumi.CustomResourceOptions) {
53
+ let resourceInputs: pulumi.Inputs = {};
54
+ opts = opts || {};
55
+ if (!opts.id) {
56
+ if (args?.name === undefined && !opts.urn) {
57
+ throw new Error("Missing required property 'name'");
58
+ }
59
+ resourceInputs["description"] = args?.description;
60
+ resourceInputs["name"] = args?.name;
61
+ resourceInputs["privateKey"] = args?.privateKey ? pulumi.secret(args.privateKey) : undefined;
62
+ resourceInputs["publicKey"] = undefined /*out*/;
63
+ resourceInputs["uuid"] = undefined /*out*/;
64
+ } else {
65
+ resourceInputs["description"] = undefined /*out*/;
66
+ resourceInputs["name"] = undefined /*out*/;
67
+ resourceInputs["publicKey"] = undefined /*out*/;
68
+ resourceInputs["uuid"] = undefined /*out*/;
69
+ }
70
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
71
+ super(PrivateKey.__pulumiType, name, resourceInputs, opts);
72
+ }
73
+ }
74
+
75
+ /**
76
+ * The set of arguments for constructing a PrivateKey resource.
77
+ */
78
+ export interface PrivateKeyArgs {
79
+ description?: pulumi.Input<string | undefined>;
80
+ name: pulumi.Input<string>;
81
+ /**
82
+ * PEM private key material. Required to create a missing key; never stored in state.
83
+ */
84
+ privateKey?: pulumi.Input<string | undefined>;
85
+ }
package/project.d.ts ADDED
@@ -0,0 +1,53 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * A Coolify project with its environments.
4
+ */
5
+ export declare class Project extends pulumi.CustomResource {
6
+ /**
7
+ * Get an existing Project resource's state with the given name, ID, and optional extra
8
+ * properties used to qualify the lookup.
9
+ *
10
+ * @param name The _unique_ name of the resulting resource.
11
+ * @param id The _unique_ provider ID of the resource to lookup.
12
+ * @param opts Optional settings to control the behavior of the CustomResource.
13
+ */
14
+ static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): Project;
15
+ /**
16
+ * Returns true if the given object is an instance of Project. This is designed to work even
17
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
18
+ */
19
+ static isInstance(obj: any): obj is Project;
20
+ readonly description: pulumi.Output<string>;
21
+ readonly environments: pulumi.Output<string[]>;
22
+ readonly name: pulumi.Output<string>;
23
+ /**
24
+ * UUID of the project in Coolify.
25
+ */
26
+ readonly uuid: pulumi.Output<string>;
27
+ /**
28
+ * Create a Project resource with the given unique name, arguments, and options.
29
+ *
30
+ * @param name The _unique_ name of the resource.
31
+ * @param args The arguments to use to populate this resource's properties.
32
+ * @param opts A bag of options that control this resource's behavior.
33
+ */
34
+ constructor(name: string, args: ProjectArgs, opts?: pulumi.CustomResourceOptions);
35
+ }
36
+ /**
37
+ * The set of arguments for constructing a Project resource.
38
+ */
39
+ export interface ProjectArgs {
40
+ /**
41
+ * Description of the project.
42
+ */
43
+ description?: pulumi.Input<string | undefined>;
44
+ /**
45
+ * Environments that must exist in the project. Only added; never removed.
46
+ */
47
+ environments?: pulumi.Input<pulumi.Input<string>[] | undefined>;
48
+ /**
49
+ * Name of the project.
50
+ */
51
+ name: pulumi.Input<string>;
52
+ }
53
+ //# sourceMappingURL=project.d.ts.map
package/project.js ADDED
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by pulumi-language-nodejs. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
16
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
17
+ }) : function(o, v) {
18
+ o["default"] = v;
19
+ });
20
+ var __importStar = (this && this.__importStar) || function (mod) {
21
+ if (mod && mod.__esModule) return mod;
22
+ var result = {};
23
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
24
+ __setModuleDefault(result, mod);
25
+ return result;
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.Project = void 0;
29
+ const pulumi = __importStar(require("@pulumi/pulumi"));
30
+ const utilities = __importStar(require("./utilities"));
31
+ /**
32
+ * A Coolify project with its environments.
33
+ */
34
+ class Project extends pulumi.CustomResource {
35
+ /**
36
+ * Get an existing Project resource's state with the given name, ID, and optional extra
37
+ * properties used to qualify the lookup.
38
+ *
39
+ * @param name The _unique_ name of the resulting resource.
40
+ * @param id The _unique_ provider ID of the resource to lookup.
41
+ * @param opts Optional settings to control the behavior of the CustomResource.
42
+ */
43
+ static get(name, id, opts) {
44
+ return new Project(name, undefined, { ...opts, id: id });
45
+ }
46
+ /** @internal */
47
+ static __pulumiType = 'coolify:index:Project';
48
+ /**
49
+ * Returns true if the given object is an instance of Project. This is designed to work even
50
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
51
+ */
52
+ static isInstance(obj) {
53
+ if (obj === undefined || obj === null) {
54
+ return false;
55
+ }
56
+ return obj['__pulumiType'] === Project.__pulumiType;
57
+ }
58
+ /**
59
+ * Create a Project resource with the given unique name, arguments, and options.
60
+ *
61
+ * @param name The _unique_ name of the resource.
62
+ * @param args The arguments to use to populate this resource's properties.
63
+ * @param opts A bag of options that control this resource's behavior.
64
+ */
65
+ constructor(name, args, opts) {
66
+ let resourceInputs = {};
67
+ opts = opts || {};
68
+ if (!opts.id) {
69
+ if (args?.name === undefined && !opts.urn) {
70
+ throw new Error("Missing required property 'name'");
71
+ }
72
+ resourceInputs["description"] = args?.description;
73
+ resourceInputs["environments"] = args?.environments;
74
+ resourceInputs["name"] = args?.name;
75
+ resourceInputs["uuid"] = undefined /*out*/;
76
+ }
77
+ else {
78
+ resourceInputs["description"] = undefined /*out*/;
79
+ resourceInputs["environments"] = undefined /*out*/;
80
+ resourceInputs["name"] = undefined /*out*/;
81
+ resourceInputs["uuid"] = undefined /*out*/;
82
+ }
83
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
84
+ super(Project.__pulumiType, name, resourceInputs, opts);
85
+ }
86
+ }
87
+ exports.Project = Project;
88
+ //# sourceMappingURL=project.js.map
package/project.ts ADDED
@@ -0,0 +1,90 @@
1
+ // *** WARNING: this file was generated by pulumi-language-nodejs. ***
2
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
3
+
4
+ import * as pulumi from "@pulumi/pulumi";
5
+ import * as utilities from "./utilities";
6
+
7
+ /**
8
+ * A Coolify project with its environments.
9
+ */
10
+ export class Project extends pulumi.CustomResource {
11
+ /**
12
+ * Get an existing Project resource's state with the given name, ID, and optional extra
13
+ * properties used to qualify the lookup.
14
+ *
15
+ * @param name The _unique_ name of the resulting resource.
16
+ * @param id The _unique_ provider ID of the resource to lookup.
17
+ * @param opts Optional settings to control the behavior of the CustomResource.
18
+ */
19
+ public static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): Project {
20
+ return new Project(name, undefined as any, { ...opts, id: id });
21
+ }
22
+
23
+ /** @internal */
24
+ public static readonly __pulumiType = 'coolify:index:Project';
25
+
26
+ /**
27
+ * Returns true if the given object is an instance of Project. This is designed to work even
28
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
29
+ */
30
+ public static isInstance(obj: any): obj is Project {
31
+ if (obj === undefined || obj === null) {
32
+ return false;
33
+ }
34
+ return obj['__pulumiType'] === Project.__pulumiType;
35
+ }
36
+
37
+ declare public readonly description: pulumi.Output<string>;
38
+ declare public readonly environments: pulumi.Output<string[]>;
39
+ declare public readonly name: pulumi.Output<string>;
40
+ /**
41
+ * UUID of the project in Coolify.
42
+ */
43
+ declare public /*out*/ readonly uuid: pulumi.Output<string>;
44
+
45
+ /**
46
+ * Create a Project resource with the given unique name, arguments, and options.
47
+ *
48
+ * @param name The _unique_ name of the resource.
49
+ * @param args The arguments to use to populate this resource's properties.
50
+ * @param opts A bag of options that control this resource's behavior.
51
+ */
52
+ constructor(name: string, args: ProjectArgs, opts?: pulumi.CustomResourceOptions) {
53
+ let resourceInputs: pulumi.Inputs = {};
54
+ opts = opts || {};
55
+ if (!opts.id) {
56
+ if (args?.name === undefined && !opts.urn) {
57
+ throw new Error("Missing required property 'name'");
58
+ }
59
+ resourceInputs["description"] = args?.description;
60
+ resourceInputs["environments"] = args?.environments;
61
+ resourceInputs["name"] = args?.name;
62
+ resourceInputs["uuid"] = undefined /*out*/;
63
+ } else {
64
+ resourceInputs["description"] = undefined /*out*/;
65
+ resourceInputs["environments"] = undefined /*out*/;
66
+ resourceInputs["name"] = undefined /*out*/;
67
+ resourceInputs["uuid"] = undefined /*out*/;
68
+ }
69
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
70
+ super(Project.__pulumiType, name, resourceInputs, opts);
71
+ }
72
+ }
73
+
74
+ /**
75
+ * The set of arguments for constructing a Project resource.
76
+ */
77
+ export interface ProjectArgs {
78
+ /**
79
+ * Description of the project.
80
+ */
81
+ description?: pulumi.Input<string | undefined>;
82
+ /**
83
+ * Environments that must exist in the project. Only added; never removed.
84
+ */
85
+ environments?: pulumi.Input<pulumi.Input<string>[] | undefined>;
86
+ /**
87
+ * Name of the project.
88
+ */
89
+ name: pulumi.Input<string>;
90
+ }