@tag1consulting/pulumi-lagoon 0.2.5

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.
Files changed (66) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +1 -0
  3. package/bin/config/index.d.ts +1 -0
  4. package/bin/config/index.js +21 -0
  5. package/bin/config/index.js.map +1 -0
  6. package/bin/config/vars.d.ts +20 -0
  7. package/bin/config/vars.js +38 -0
  8. package/bin/config/vars.js.map +1 -0
  9. package/bin/index.d.ts +7 -0
  10. package/bin/index.js +26 -0
  11. package/bin/index.js.map +1 -0
  12. package/bin/lagoon/deployTarget.d.ts +107 -0
  13. package/bin/lagoon/deployTarget.js +82 -0
  14. package/bin/lagoon/deployTarget.js.map +1 -0
  15. package/bin/lagoon/deployTargetConfig.d.ts +82 -0
  16. package/bin/lagoon/deployTargetConfig.js +74 -0
  17. package/bin/lagoon/deployTargetConfig.js.map +1 -0
  18. package/bin/lagoon/environment.d.ts +121 -0
  19. package/bin/lagoon/environment.js +92 -0
  20. package/bin/lagoon/environment.js.map +1 -0
  21. package/bin/lagoon/group.d.ts +53 -0
  22. package/bin/lagoon/group.js +63 -0
  23. package/bin/lagoon/group.js.map +1 -0
  24. package/bin/lagoon/index.d.ts +36 -0
  25. package/bin/lagoon/index.js +66 -0
  26. package/bin/lagoon/index.js.map +1 -0
  27. package/bin/lagoon/notificationEmail.d.ts +50 -0
  28. package/bin/lagoon/notificationEmail.js +66 -0
  29. package/bin/lagoon/notificationEmail.js.map +1 -0
  30. package/bin/lagoon/notificationMicrosoftTeams.d.ts +50 -0
  31. package/bin/lagoon/notificationMicrosoftTeams.js +68 -0
  32. package/bin/lagoon/notificationMicrosoftTeams.js.map +1 -0
  33. package/bin/lagoon/notificationRocketChat.d.ts +58 -0
  34. package/bin/lagoon/notificationRocketChat.js +73 -0
  35. package/bin/lagoon/notificationRocketChat.js.map +1 -0
  36. package/bin/lagoon/notificationSlack.d.ts +58 -0
  37. package/bin/lagoon/notificationSlack.js +73 -0
  38. package/bin/lagoon/notificationSlack.js.map +1 -0
  39. package/bin/lagoon/project.d.ts +113 -0
  40. package/bin/lagoon/project.js +85 -0
  41. package/bin/lagoon/project.js.map +1 -0
  42. package/bin/lagoon/projectNotification.d.ts +61 -0
  43. package/bin/lagoon/projectNotification.js +71 -0
  44. package/bin/lagoon/projectNotification.js.map +1 -0
  45. package/bin/lagoon/task.d.ts +141 -0
  46. package/bin/lagoon/task.js +93 -0
  47. package/bin/lagoon/task.js.map +1 -0
  48. package/bin/lagoon/variable.d.ts +77 -0
  49. package/bin/lagoon/variable.js +80 -0
  50. package/bin/lagoon/variable.js.map +1 -0
  51. package/bin/provider.d.ts +57 -0
  52. package/bin/provider.js +45 -0
  53. package/bin/provider.js.map +1 -0
  54. package/bin/types/index.d.ts +3 -0
  55. package/bin/types/index.js +11 -0
  56. package/bin/types/index.js.map +1 -0
  57. package/bin/types/input.d.ts +8 -0
  58. package/bin/types/input.js +5 -0
  59. package/bin/types/input.js.map +1 -0
  60. package/bin/types/output.d.ts +7 -0
  61. package/bin/types/output.js +5 -0
  62. package/bin/types/output.js.map +1 -0
  63. package/bin/utilities.d.ts +4 -0
  64. package/bin/utilities.js +91 -0
  65. package/bin/utilities.js.map +1 -0
  66. package/package.json +33 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notificationEmail.js","sourceRoot":"","sources":["../../lagoon/notificationEmail.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAE1C;;GAEG;AACH,MAAa,iBAAkB,SAAQ,MAAM,CAAC,cAAc;IACxD;;;;;;;OAOG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,IAAmC;QAC5F,OAAO,IAAI,iBAAiB,CAAC,IAAI,EAAE,SAAgB,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9E,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,iBAAiB,CAAC,YAAY,CAAC;IAClE,CAAC;IAYD;;;;;;OAMG;IACH,YAAY,IAAY,EAAE,IAA2B,EAAE,IAAmC;QACtF,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;YACV,IAAI,IAAI,EAAE,YAAY,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC/C,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;aAC/D;YACD,IAAI,IAAI,EAAE,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACvC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;aACvD;YACD,cAAc,CAAC,cAAc,CAAC,GAAG,IAAI,EAAE,YAAY,CAAC;YACpD,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC;YACpC,cAAc,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SAClD;aAAM;YACH,cAAc,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YACnD,cAAc,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC/C,cAAc,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SAC9C;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACtE,CAAC;;AAhEL,8CAiEC;AApDG,gBAAgB;AACO,8BAAY,GAAG,iCAAiC,CAAC"}
@@ -0,0 +1,50 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * Manages a Lagoon Microsoft Teams notification configuration.
4
+ */
5
+ export declare class NotificationMicrosoftTeams extends pulumi.CustomResource {
6
+ /**
7
+ * Get an existing NotificationMicrosoftTeams 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): NotificationMicrosoftTeams;
15
+ /**
16
+ * Returns true if the given object is an instance of NotificationMicrosoftTeams. 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 NotificationMicrosoftTeams;
20
+ readonly lagoonId: pulumi.Output<number>;
21
+ /**
22
+ * The notification name.
23
+ */
24
+ readonly name: pulumi.Output<string>;
25
+ /**
26
+ * The Microsoft Teams webhook URL (stored as secret).
27
+ */
28
+ readonly webhook: pulumi.Output<string>;
29
+ /**
30
+ * Create a NotificationMicrosoftTeams resource with the given unique name, arguments, and options.
31
+ *
32
+ * @param name The _unique_ name of the resource.
33
+ * @param args The arguments to use to populate this resource's properties.
34
+ * @param opts A bag of options that control this resource's behavior.
35
+ */
36
+ constructor(name: string, args: NotificationMicrosoftTeamsArgs, opts?: pulumi.CustomResourceOptions);
37
+ }
38
+ /**
39
+ * The set of arguments for constructing a NotificationMicrosoftTeams resource.
40
+ */
41
+ export interface NotificationMicrosoftTeamsArgs {
42
+ /**
43
+ * The notification name.
44
+ */
45
+ name: pulumi.Input<string>;
46
+ /**
47
+ * The Microsoft Teams webhook URL (stored as secret).
48
+ */
49
+ webhook: pulumi.Input<string>;
50
+ }
@@ -0,0 +1,68 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.NotificationMicrosoftTeams = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * Manages a Lagoon Microsoft Teams notification configuration.
10
+ */
11
+ class NotificationMicrosoftTeams extends pulumi.CustomResource {
12
+ /**
13
+ * Get an existing NotificationMicrosoftTeams resource's state with the given name, ID, and optional extra
14
+ * properties used to qualify the lookup.
15
+ *
16
+ * @param name The _unique_ name of the resulting resource.
17
+ * @param id The _unique_ provider ID of the resource to lookup.
18
+ * @param opts Optional settings to control the behavior of the CustomResource.
19
+ */
20
+ static get(name, id, opts) {
21
+ return new NotificationMicrosoftTeams(name, undefined, { ...opts, id: id });
22
+ }
23
+ /**
24
+ * Returns true if the given object is an instance of NotificationMicrosoftTeams. This is designed to work even
25
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
26
+ */
27
+ static isInstance(obj) {
28
+ if (obj === undefined || obj === null) {
29
+ return false;
30
+ }
31
+ return obj['__pulumiType'] === NotificationMicrosoftTeams.__pulumiType;
32
+ }
33
+ /**
34
+ * Create a NotificationMicrosoftTeams resource with the given unique name, arguments, and options.
35
+ *
36
+ * @param name The _unique_ name of the resource.
37
+ * @param args The arguments to use to populate this resource's properties.
38
+ * @param opts A bag of options that control this resource's behavior.
39
+ */
40
+ constructor(name, args, opts) {
41
+ let resourceInputs = {};
42
+ opts = opts || {};
43
+ if (!opts.id) {
44
+ if (args?.name === undefined && !opts.urn) {
45
+ throw new Error("Missing required property 'name'");
46
+ }
47
+ if (args?.webhook === undefined && !opts.urn) {
48
+ throw new Error("Missing required property 'webhook'");
49
+ }
50
+ resourceInputs["name"] = args?.name;
51
+ resourceInputs["webhook"] = args?.webhook ? pulumi.secret(args.webhook) : undefined;
52
+ resourceInputs["lagoonId"] = undefined /*out*/;
53
+ }
54
+ else {
55
+ resourceInputs["lagoonId"] = undefined /*out*/;
56
+ resourceInputs["name"] = undefined /*out*/;
57
+ resourceInputs["webhook"] = undefined /*out*/;
58
+ }
59
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
60
+ const secretOpts = { additionalSecretOutputs: ["webhook"] };
61
+ opts = pulumi.mergeOptions(opts, secretOpts);
62
+ super(NotificationMicrosoftTeams.__pulumiType, name, resourceInputs, opts);
63
+ }
64
+ }
65
+ exports.NotificationMicrosoftTeams = NotificationMicrosoftTeams;
66
+ /** @internal */
67
+ NotificationMicrosoftTeams.__pulumiType = 'lagoon:lagoon:NotificationMicrosoftTeams';
68
+ //# sourceMappingURL=notificationMicrosoftTeams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notificationMicrosoftTeams.js","sourceRoot":"","sources":["../../lagoon/notificationMicrosoftTeams.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAE1C;;GAEG;AACH,MAAa,0BAA2B,SAAQ,MAAM,CAAC,cAAc;IACjE;;;;;;;OAOG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,IAAmC;QAC5F,OAAO,IAAI,0BAA0B,CAAC,IAAI,EAAE,SAAgB,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACvF,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,0BAA0B,CAAC,YAAY,CAAC;IAC3E,CAAC;IAYD;;;;;;OAMG;IACH,YAAY,IAAY,EAAE,IAAoC,EAAE,IAAmC;QAC/F,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;YACV,IAAI,IAAI,EAAE,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACvC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;aACvD;YACD,IAAI,IAAI,EAAE,OAAO,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC1C,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;aAC1D;YACD,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC;YACpC,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACpF,cAAc,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SAClD;aAAM;YACH,cAAc,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC/C,cAAc,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC3C,cAAc,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SACjD;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,MAAM,UAAU,GAAG,EAAE,uBAAuB,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5D,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC7C,KAAK,CAAC,0BAA0B,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC/E,CAAC;;AAlEL,gEAmEC;AAtDG,gBAAgB;AACO,uCAAY,GAAG,0CAA0C,CAAC"}
@@ -0,0 +1,58 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * Manages a Lagoon RocketChat notification configuration.
4
+ */
5
+ export declare class NotificationRocketChat extends pulumi.CustomResource {
6
+ /**
7
+ * Get an existing NotificationRocketChat 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): NotificationRocketChat;
15
+ /**
16
+ * Returns true if the given object is an instance of NotificationRocketChat. 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 NotificationRocketChat;
20
+ /**
21
+ * The RocketChat channel.
22
+ */
23
+ readonly channel: pulumi.Output<string>;
24
+ readonly lagoonId: pulumi.Output<number>;
25
+ /**
26
+ * The notification name.
27
+ */
28
+ readonly name: pulumi.Output<string>;
29
+ /**
30
+ * The RocketChat webhook URL (stored as secret).
31
+ */
32
+ readonly webhook: pulumi.Output<string>;
33
+ /**
34
+ * Create a NotificationRocketChat resource with the given unique name, arguments, and options.
35
+ *
36
+ * @param name The _unique_ name of the resource.
37
+ * @param args The arguments to use to populate this resource's properties.
38
+ * @param opts A bag of options that control this resource's behavior.
39
+ */
40
+ constructor(name: string, args: NotificationRocketChatArgs, opts?: pulumi.CustomResourceOptions);
41
+ }
42
+ /**
43
+ * The set of arguments for constructing a NotificationRocketChat resource.
44
+ */
45
+ export interface NotificationRocketChatArgs {
46
+ /**
47
+ * The RocketChat channel.
48
+ */
49
+ channel: pulumi.Input<string>;
50
+ /**
51
+ * The notification name.
52
+ */
53
+ name: pulumi.Input<string>;
54
+ /**
55
+ * The RocketChat webhook URL (stored as secret).
56
+ */
57
+ webhook: pulumi.Input<string>;
58
+ }
@@ -0,0 +1,73 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.NotificationRocketChat = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * Manages a Lagoon RocketChat notification configuration.
10
+ */
11
+ class NotificationRocketChat extends pulumi.CustomResource {
12
+ /**
13
+ * Get an existing NotificationRocketChat resource's state with the given name, ID, and optional extra
14
+ * properties used to qualify the lookup.
15
+ *
16
+ * @param name The _unique_ name of the resulting resource.
17
+ * @param id The _unique_ provider ID of the resource to lookup.
18
+ * @param opts Optional settings to control the behavior of the CustomResource.
19
+ */
20
+ static get(name, id, opts) {
21
+ return new NotificationRocketChat(name, undefined, { ...opts, id: id });
22
+ }
23
+ /**
24
+ * Returns true if the given object is an instance of NotificationRocketChat. This is designed to work even
25
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
26
+ */
27
+ static isInstance(obj) {
28
+ if (obj === undefined || obj === null) {
29
+ return false;
30
+ }
31
+ return obj['__pulumiType'] === NotificationRocketChat.__pulumiType;
32
+ }
33
+ /**
34
+ * Create a NotificationRocketChat resource with the given unique name, arguments, and options.
35
+ *
36
+ * @param name The _unique_ name of the resource.
37
+ * @param args The arguments to use to populate this resource's properties.
38
+ * @param opts A bag of options that control this resource's behavior.
39
+ */
40
+ constructor(name, args, opts) {
41
+ let resourceInputs = {};
42
+ opts = opts || {};
43
+ if (!opts.id) {
44
+ if (args?.channel === undefined && !opts.urn) {
45
+ throw new Error("Missing required property 'channel'");
46
+ }
47
+ if (args?.name === undefined && !opts.urn) {
48
+ throw new Error("Missing required property 'name'");
49
+ }
50
+ if (args?.webhook === undefined && !opts.urn) {
51
+ throw new Error("Missing required property 'webhook'");
52
+ }
53
+ resourceInputs["channel"] = args?.channel;
54
+ resourceInputs["name"] = args?.name;
55
+ resourceInputs["webhook"] = args?.webhook ? pulumi.secret(args.webhook) : undefined;
56
+ resourceInputs["lagoonId"] = undefined /*out*/;
57
+ }
58
+ else {
59
+ resourceInputs["channel"] = undefined /*out*/;
60
+ resourceInputs["lagoonId"] = undefined /*out*/;
61
+ resourceInputs["name"] = undefined /*out*/;
62
+ resourceInputs["webhook"] = undefined /*out*/;
63
+ }
64
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
65
+ const secretOpts = { additionalSecretOutputs: ["webhook"] };
66
+ opts = pulumi.mergeOptions(opts, secretOpts);
67
+ super(NotificationRocketChat.__pulumiType, name, resourceInputs, opts);
68
+ }
69
+ }
70
+ exports.NotificationRocketChat = NotificationRocketChat;
71
+ /** @internal */
72
+ NotificationRocketChat.__pulumiType = 'lagoon:lagoon:NotificationRocketChat';
73
+ //# sourceMappingURL=notificationRocketChat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notificationRocketChat.js","sourceRoot":"","sources":["../../lagoon/notificationRocketChat.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAE1C;;GAEG;AACH,MAAa,sBAAuB,SAAQ,MAAM,CAAC,cAAc;IAC7D;;;;;;;OAOG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,IAAmC;QAC5F,OAAO,IAAI,sBAAsB,CAAC,IAAI,EAAE,SAAgB,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACnF,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,sBAAsB,CAAC,YAAY,CAAC;IACvE,CAAC;IAgBD;;;;;;OAMG;IACH,YAAY,IAAY,EAAE,IAAgC,EAAE,IAAmC;QAC3F,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;YACV,IAAI,IAAI,EAAE,OAAO,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC1C,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;aAC1D;YACD,IAAI,IAAI,EAAE,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACvC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;aACvD;YACD,IAAI,IAAI,EAAE,OAAO,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC1C,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;aAC1D;YACD,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC;YAC1C,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC;YACpC,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACpF,cAAc,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SAClD;aAAM;YACH,cAAc,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC9C,cAAc,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC/C,cAAc,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC3C,cAAc,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SACjD;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,MAAM,UAAU,GAAG,EAAE,uBAAuB,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5D,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC7C,KAAK,CAAC,sBAAsB,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC3E,CAAC;;AA3EL,wDA4EC;AA/DG,gBAAgB;AACO,mCAAY,GAAG,sCAAsC,CAAC"}
@@ -0,0 +1,58 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * Manages a Lagoon Slack notification configuration.
4
+ */
5
+ export declare class NotificationSlack extends pulumi.CustomResource {
6
+ /**
7
+ * Get an existing NotificationSlack 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): NotificationSlack;
15
+ /**
16
+ * Returns true if the given object is an instance of NotificationSlack. 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 NotificationSlack;
20
+ /**
21
+ * The Slack channel (e.g., '#deployments').
22
+ */
23
+ readonly channel: pulumi.Output<string>;
24
+ readonly lagoonId: pulumi.Output<number>;
25
+ /**
26
+ * The notification name.
27
+ */
28
+ readonly name: pulumi.Output<string>;
29
+ /**
30
+ * The Slack webhook URL (stored as secret).
31
+ */
32
+ readonly webhook: pulumi.Output<string>;
33
+ /**
34
+ * Create a NotificationSlack resource with the given unique name, arguments, and options.
35
+ *
36
+ * @param name The _unique_ name of the resource.
37
+ * @param args The arguments to use to populate this resource's properties.
38
+ * @param opts A bag of options that control this resource's behavior.
39
+ */
40
+ constructor(name: string, args: NotificationSlackArgs, opts?: pulumi.CustomResourceOptions);
41
+ }
42
+ /**
43
+ * The set of arguments for constructing a NotificationSlack resource.
44
+ */
45
+ export interface NotificationSlackArgs {
46
+ /**
47
+ * The Slack channel (e.g., '#deployments').
48
+ */
49
+ channel: pulumi.Input<string>;
50
+ /**
51
+ * The notification name.
52
+ */
53
+ name: pulumi.Input<string>;
54
+ /**
55
+ * The Slack webhook URL (stored as secret).
56
+ */
57
+ webhook: pulumi.Input<string>;
58
+ }
@@ -0,0 +1,73 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.NotificationSlack = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * Manages a Lagoon Slack notification configuration.
10
+ */
11
+ class NotificationSlack extends pulumi.CustomResource {
12
+ /**
13
+ * Get an existing NotificationSlack resource's state with the given name, ID, and optional extra
14
+ * properties used to qualify the lookup.
15
+ *
16
+ * @param name The _unique_ name of the resulting resource.
17
+ * @param id The _unique_ provider ID of the resource to lookup.
18
+ * @param opts Optional settings to control the behavior of the CustomResource.
19
+ */
20
+ static get(name, id, opts) {
21
+ return new NotificationSlack(name, undefined, { ...opts, id: id });
22
+ }
23
+ /**
24
+ * Returns true if the given object is an instance of NotificationSlack. This is designed to work even
25
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
26
+ */
27
+ static isInstance(obj) {
28
+ if (obj === undefined || obj === null) {
29
+ return false;
30
+ }
31
+ return obj['__pulumiType'] === NotificationSlack.__pulumiType;
32
+ }
33
+ /**
34
+ * Create a NotificationSlack resource with the given unique name, arguments, and options.
35
+ *
36
+ * @param name The _unique_ name of the resource.
37
+ * @param args The arguments to use to populate this resource's properties.
38
+ * @param opts A bag of options that control this resource's behavior.
39
+ */
40
+ constructor(name, args, opts) {
41
+ let resourceInputs = {};
42
+ opts = opts || {};
43
+ if (!opts.id) {
44
+ if (args?.channel === undefined && !opts.urn) {
45
+ throw new Error("Missing required property 'channel'");
46
+ }
47
+ if (args?.name === undefined && !opts.urn) {
48
+ throw new Error("Missing required property 'name'");
49
+ }
50
+ if (args?.webhook === undefined && !opts.urn) {
51
+ throw new Error("Missing required property 'webhook'");
52
+ }
53
+ resourceInputs["channel"] = args?.channel;
54
+ resourceInputs["name"] = args?.name;
55
+ resourceInputs["webhook"] = args?.webhook ? pulumi.secret(args.webhook) : undefined;
56
+ resourceInputs["lagoonId"] = undefined /*out*/;
57
+ }
58
+ else {
59
+ resourceInputs["channel"] = undefined /*out*/;
60
+ resourceInputs["lagoonId"] = undefined /*out*/;
61
+ resourceInputs["name"] = undefined /*out*/;
62
+ resourceInputs["webhook"] = undefined /*out*/;
63
+ }
64
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
65
+ const secretOpts = { additionalSecretOutputs: ["webhook"] };
66
+ opts = pulumi.mergeOptions(opts, secretOpts);
67
+ super(NotificationSlack.__pulumiType, name, resourceInputs, opts);
68
+ }
69
+ }
70
+ exports.NotificationSlack = NotificationSlack;
71
+ /** @internal */
72
+ NotificationSlack.__pulumiType = 'lagoon:lagoon:NotificationSlack';
73
+ //# sourceMappingURL=notificationSlack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notificationSlack.js","sourceRoot":"","sources":["../../lagoon/notificationSlack.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAE1C;;GAEG;AACH,MAAa,iBAAkB,SAAQ,MAAM,CAAC,cAAc;IACxD;;;;;;;OAOG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,IAAmC;QAC5F,OAAO,IAAI,iBAAiB,CAAC,IAAI,EAAE,SAAgB,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9E,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,iBAAiB,CAAC,YAAY,CAAC;IAClE,CAAC;IAgBD;;;;;;OAMG;IACH,YAAY,IAAY,EAAE,IAA2B,EAAE,IAAmC;QACtF,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;YACV,IAAI,IAAI,EAAE,OAAO,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC1C,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;aAC1D;YACD,IAAI,IAAI,EAAE,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACvC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;aACvD;YACD,IAAI,IAAI,EAAE,OAAO,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC1C,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;aAC1D;YACD,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC;YAC1C,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC;YACpC,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACpF,cAAc,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SAClD;aAAM;YACH,cAAc,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC9C,cAAc,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC/C,cAAc,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC3C,cAAc,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SACjD;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,MAAM,UAAU,GAAG,EAAE,uBAAuB,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5D,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC7C,KAAK,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACtE,CAAC;;AA3EL,8CA4EC;AA/DG,gBAAgB;AACO,8BAAY,GAAG,iCAAiC,CAAC"}
@@ -0,0 +1,113 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * Manages a Lagoon project (application/site).
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
+ /**
21
+ * Whether to auto-idle environments (1=yes, 0=no).
22
+ */
23
+ readonly autoIdle: pulumi.Output<number | undefined>;
24
+ /**
25
+ * Regex pattern for branches to deploy.
26
+ */
27
+ readonly branches: pulumi.Output<string | undefined>;
28
+ /**
29
+ * The creation timestamp of the project.
30
+ */
31
+ readonly created: pulumi.Output<string>;
32
+ /**
33
+ * The deploy target (Kubernetes cluster) ID.
34
+ */
35
+ readonly deploytargetId: pulumi.Output<number>;
36
+ /**
37
+ * The Git repository URL (SSH or HTTPS format).
38
+ */
39
+ readonly gitUrl: pulumi.Output<string>;
40
+ /**
41
+ * The Lagoon-assigned numeric ID of the project.
42
+ */
43
+ readonly lagoonId: pulumi.Output<number>;
44
+ /**
45
+ * The project name. Must be unique, lowercase alphanumeric with hyphens.
46
+ */
47
+ readonly name: pulumi.Output<string>;
48
+ /**
49
+ * Namespace pattern for the project on the cluster.
50
+ */
51
+ readonly openshiftProjectPattern: pulumi.Output<string | undefined>;
52
+ /**
53
+ * Name of the production branch/environment.
54
+ */
55
+ readonly productionEnvironment: pulumi.Output<string | undefined>;
56
+ /**
57
+ * Regex pattern for pull requests to deploy.
58
+ */
59
+ readonly pullrequests: pulumi.Output<string | undefined>;
60
+ /**
61
+ * Whether to calculate storage (1=yes, 0=no).
62
+ */
63
+ readonly storageCalc: pulumi.Output<number | undefined>;
64
+ /**
65
+ * Create a Project resource with the given unique name, arguments, and options.
66
+ *
67
+ * @param name The _unique_ name of the resource.
68
+ * @param args The arguments to use to populate this resource's properties.
69
+ * @param opts A bag of options that control this resource's behavior.
70
+ */
71
+ constructor(name: string, args: ProjectArgs, opts?: pulumi.CustomResourceOptions);
72
+ }
73
+ /**
74
+ * The set of arguments for constructing a Project resource.
75
+ */
76
+ export interface ProjectArgs {
77
+ /**
78
+ * Whether to auto-idle environments (1=yes, 0=no).
79
+ */
80
+ autoIdle?: pulumi.Input<number>;
81
+ /**
82
+ * Regex pattern for branches to deploy.
83
+ */
84
+ branches?: pulumi.Input<string>;
85
+ /**
86
+ * The deploy target (Kubernetes cluster) ID.
87
+ */
88
+ deploytargetId: pulumi.Input<number>;
89
+ /**
90
+ * The Git repository URL (SSH or HTTPS format).
91
+ */
92
+ gitUrl: pulumi.Input<string>;
93
+ /**
94
+ * The project name. Must be unique, lowercase alphanumeric with hyphens.
95
+ */
96
+ name: pulumi.Input<string>;
97
+ /**
98
+ * Namespace pattern for the project on the cluster.
99
+ */
100
+ openshiftProjectPattern?: pulumi.Input<string>;
101
+ /**
102
+ * Name of the production branch/environment.
103
+ */
104
+ productionEnvironment?: pulumi.Input<string>;
105
+ /**
106
+ * Regex pattern for pull requests to deploy.
107
+ */
108
+ pullrequests?: pulumi.Input<string>;
109
+ /**
110
+ * Whether to calculate storage (1=yes, 0=no).
111
+ */
112
+ storageCalc?: pulumi.Input<number>;
113
+ }
@@ -0,0 +1,85 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.Project = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * Manages a Lagoon project (application/site).
10
+ */
11
+ class Project extends pulumi.CustomResource {
12
+ /**
13
+ * Get an existing Project resource's state with the given name, ID, and optional extra
14
+ * properties used to qualify the lookup.
15
+ *
16
+ * @param name The _unique_ name of the resulting resource.
17
+ * @param id The _unique_ provider ID of the resource to lookup.
18
+ * @param opts Optional settings to control the behavior of the CustomResource.
19
+ */
20
+ static get(name, id, opts) {
21
+ return new Project(name, undefined, { ...opts, id: id });
22
+ }
23
+ /**
24
+ * Returns true if the given object is an instance of Project. This is designed to work even
25
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
26
+ */
27
+ static isInstance(obj) {
28
+ if (obj === undefined || obj === null) {
29
+ return false;
30
+ }
31
+ return obj['__pulumiType'] === Project.__pulumiType;
32
+ }
33
+ /**
34
+ * Create a Project resource with the given unique name, arguments, and options.
35
+ *
36
+ * @param name The _unique_ name of the resource.
37
+ * @param args The arguments to use to populate this resource's properties.
38
+ * @param opts A bag of options that control this resource's behavior.
39
+ */
40
+ constructor(name, args, opts) {
41
+ let resourceInputs = {};
42
+ opts = opts || {};
43
+ if (!opts.id) {
44
+ if (args?.deploytargetId === undefined && !opts.urn) {
45
+ throw new Error("Missing required property 'deploytargetId'");
46
+ }
47
+ if (args?.gitUrl === undefined && !opts.urn) {
48
+ throw new Error("Missing required property 'gitUrl'");
49
+ }
50
+ if (args?.name === undefined && !opts.urn) {
51
+ throw new Error("Missing required property 'name'");
52
+ }
53
+ resourceInputs["autoIdle"] = args?.autoIdle;
54
+ resourceInputs["branches"] = args?.branches;
55
+ resourceInputs["deploytargetId"] = args?.deploytargetId;
56
+ resourceInputs["gitUrl"] = args?.gitUrl;
57
+ resourceInputs["name"] = args?.name;
58
+ resourceInputs["openshiftProjectPattern"] = args?.openshiftProjectPattern;
59
+ resourceInputs["productionEnvironment"] = args?.productionEnvironment;
60
+ resourceInputs["pullrequests"] = args?.pullrequests;
61
+ resourceInputs["storageCalc"] = args?.storageCalc;
62
+ resourceInputs["created"] = undefined /*out*/;
63
+ resourceInputs["lagoonId"] = undefined /*out*/;
64
+ }
65
+ else {
66
+ resourceInputs["autoIdle"] = undefined /*out*/;
67
+ resourceInputs["branches"] = undefined /*out*/;
68
+ resourceInputs["created"] = undefined /*out*/;
69
+ resourceInputs["deploytargetId"] = undefined /*out*/;
70
+ resourceInputs["gitUrl"] = undefined /*out*/;
71
+ resourceInputs["lagoonId"] = undefined /*out*/;
72
+ resourceInputs["name"] = undefined /*out*/;
73
+ resourceInputs["openshiftProjectPattern"] = undefined /*out*/;
74
+ resourceInputs["productionEnvironment"] = undefined /*out*/;
75
+ resourceInputs["pullrequests"] = undefined /*out*/;
76
+ resourceInputs["storageCalc"] = undefined /*out*/;
77
+ }
78
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
79
+ super(Project.__pulumiType, name, resourceInputs, opts);
80
+ }
81
+ }
82
+ exports.Project = Project;
83
+ /** @internal */
84
+ Project.__pulumiType = 'lagoon:lagoon:Project';
85
+ //# sourceMappingURL=project.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../lagoon/project.ts"],"names":[],"mappings":"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"}