@incident-io/pulumi 0.1.0-alpha.1
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/LICENSE +7 -0
- package/README.md +69 -0
- package/alertAttribute.d.ts +230 -0
- package/alertAttribute.d.ts.map +1 -0
- package/alertAttribute.js +219 -0
- package/alertAttribute.js.map +1 -0
- package/alertRoute.d.ts +511 -0
- package/alertRoute.d.ts.map +1 -0
- package/alertRoute.js +432 -0
- package/alertRoute.js.map +1 -0
- package/alertSource.d.ts +347 -0
- package/alertSource.d.ts.map +1 -0
- package/alertSource.js +241 -0
- package/alertSource.js.map +1 -0
- package/alertSourceAttribute.d.ts +180 -0
- package/alertSourceAttribute.d.ts.map +1 -0
- package/alertSourceAttribute.js +107 -0
- package/alertSourceAttribute.js.map +1 -0
- package/alertSourceAttributeBeta.d.ts +188 -0
- package/alertSourceAttributeBeta.d.ts.map +1 -0
- package/alertSourceAttributeBeta.js +115 -0
- package/alertSourceAttributeBeta.js.map +1 -0
- package/alertSourceBeta.d.ts +244 -0
- package/alertSourceBeta.d.ts.map +1 -0
- package/alertSourceBeta.js +138 -0
- package/alertSourceBeta.js.map +1 -0
- package/apiKey.d.ts +276 -0
- package/apiKey.d.ts.map +1 -0
- package/apiKey.js +211 -0
- package/apiKey.js.map +1 -0
- package/catalogEntries.d.ts +241 -0
- package/catalogEntries.d.ts.map +1 -0
- package/catalogEntries.js +242 -0
- package/catalogEntries.js.map +1 -0
- package/catalogEntry.d.ts +183 -0
- package/catalogEntry.d.ts.map +1 -0
- package/catalogEntry.js +159 -0
- package/catalogEntry.js.map +1 -0
- package/catalogType.d.ts +169 -0
- package/catalogType.d.ts.map +1 -0
- package/catalogType.js +132 -0
- package/catalogType.js.map +1 -0
- package/catalogTypeAttribute.d.ts +190 -0
- package/catalogTypeAttribute.d.ts.map +1 -0
- package/catalogTypeAttribute.js +153 -0
- package/catalogTypeAttribute.js.map +1 -0
- package/config/index.d.ts +2 -0
- package/config/index.d.ts.map +1 -0
- package/config/index.js +21 -0
- package/config/index.js.map +1 -0
- package/config/vars.d.ts +13 -0
- package/config/vars.d.ts.map +1 -0
- package/config/vars.js +49 -0
- package/config/vars.js.map +1 -0
- package/customField.d.ts +260 -0
- package/customField.d.ts.map +1 -0
- package/customField.js +226 -0
- package/customField.js.map +1 -0
- package/customFieldOption.d.ts +107 -0
- package/customFieldOption.d.ts.map +1 -0
- package/customFieldOption.js +116 -0
- package/customFieldOption.js.map +1 -0
- package/escalationPath.d.ts +257 -0
- package/escalationPath.d.ts.map +1 -0
- package/escalationPath.js +228 -0
- package/escalationPath.js.map +1 -0
- package/escalationPathBeta.d.ts +134 -0
- package/escalationPathBeta.d.ts.map +1 -0
- package/escalationPathBeta.js +105 -0
- package/escalationPathBeta.js.map +1 -0
- package/getAlertAttribute.d.ts +81 -0
- package/getAlertAttribute.d.ts.map +1 -0
- package/getAlertAttribute.js +75 -0
- package/getAlertAttribute.js.map +1 -0
- package/getAlertSource.d.ts +169 -0
- package/getAlertSource.d.ts.map +1 -0
- package/getAlertSource.js +103 -0
- package/getAlertSource.js.map +1 -0
- package/getAlertSourceAttribute.d.ts +131 -0
- package/getAlertSourceAttribute.d.ts.map +1 -0
- package/getAlertSourceAttribute.js +85 -0
- package/getAlertSourceAttribute.js.map +1 -0
- package/getAlertSourceAttributeBeta.d.ts +131 -0
- package/getAlertSourceAttributeBeta.d.ts.map +1 -0
- package/getAlertSourceAttributeBeta.js +85 -0
- package/getAlertSourceAttributeBeta.js.map +1 -0
- package/getApiKey.d.ts +167 -0
- package/getApiKey.d.ts.map +1 -0
- package/getApiKey.js +145 -0
- package/getApiKey.js.map +1 -0
- package/getCatalogEntry.d.ts +77 -0
- package/getCatalogEntry.d.ts.map +1 -0
- package/getCatalogEntry.js +59 -0
- package/getCatalogEntry.js.map +1 -0
- package/getCatalogType.d.ts +163 -0
- package/getCatalogType.d.ts.map +1 -0
- package/getCatalogType.js +135 -0
- package/getCatalogType.js.map +1 -0
- package/getCatalogTypeAttribute.d.ts +73 -0
- package/getCatalogTypeAttribute.d.ts.map +1 -0
- package/getCatalogTypeAttribute.js +53 -0
- package/getCatalogTypeAttribute.js.map +1 -0
- package/getCustomField.d.ts +67 -0
- package/getCustomField.d.ts.map +1 -0
- package/getCustomField.js +51 -0
- package/getCustomField.js.map +1 -0
- package/getCustomFieldOption.d.ts +65 -0
- package/getCustomFieldOption.d.ts.map +1 -0
- package/getCustomFieldOption.js +55 -0
- package/getCustomFieldOption.js.map +1 -0
- package/getEscalationPath.d.ts +100 -0
- package/getEscalationPath.d.ts.map +1 -0
- package/getEscalationPath.js +83 -0
- package/getEscalationPath.js.map +1 -0
- package/getEscalationPathBeta.d.ts +100 -0
- package/getEscalationPathBeta.d.ts.map +1 -0
- package/getEscalationPathBeta.js +83 -0
- package/getEscalationPathBeta.js.map +1 -0
- package/getIncidentRole.d.ts +111 -0
- package/getIncidentRole.d.ts.map +1 -0
- package/getIncidentRole.js +105 -0
- package/getIncidentRole.js.map +1 -0
- package/getIncidentTemplate.d.ts +98 -0
- package/getIncidentTemplate.d.ts.map +1 -0
- package/getIncidentTemplate.js +95 -0
- package/getIncidentTemplate.js.map +1 -0
- package/getIncidentTimestamp.d.ts +107 -0
- package/getIncidentTimestamp.d.ts.map +1 -0
- package/getIncidentTimestamp.js +109 -0
- package/getIncidentTimestamp.js.map +1 -0
- package/getIncidentType.d.ts +121 -0
- package/getIncidentType.d.ts.map +1 -0
- package/getIncidentType.js +107 -0
- package/getIncidentType.js.map +1 -0
- package/getIpAllowlist.d.ts +62 -0
- package/getIpAllowlist.d.ts.map +1 -0
- package/getIpAllowlist.js +77 -0
- package/getIpAllowlist.js.map +1 -0
- package/getPolicy.d.ts +97 -0
- package/getPolicy.d.ts.map +1 -0
- package/getPolicy.js +91 -0
- package/getPolicy.js.map +1 -0
- package/getRichText.d.ts +111 -0
- package/getRichText.d.ts.map +1 -0
- package/getRichText.js +107 -0
- package/getRichText.js.map +1 -0
- package/getSchedule.d.ts +89 -0
- package/getSchedule.d.ts.map +1 -0
- package/getSchedule.js +87 -0
- package/getSchedule.js.map +1 -0
- package/getScheduleBeta.d.ts +85 -0
- package/getScheduleBeta.d.ts.map +1 -0
- package/getScheduleBeta.js +83 -0
- package/getScheduleBeta.js.map +1 -0
- package/getScheduleReplica.d.ts +116 -0
- package/getScheduleReplica.d.ts.map +1 -0
- package/getScheduleReplica.js +79 -0
- package/getScheduleReplica.js.map +1 -0
- package/getScheduleRotation.d.ts +166 -0
- package/getScheduleRotation.d.ts.map +1 -0
- package/getScheduleRotation.js +127 -0
- package/getScheduleRotation.js.map +1 -0
- package/getScheduleRotationBeta.d.ts +122 -0
- package/getScheduleRotationBeta.d.ts.map +1 -0
- package/getScheduleRotationBeta.js +83 -0
- package/getScheduleRotationBeta.js.map +1 -0
- package/getScheduleSyncRule.d.ts +91 -0
- package/getScheduleSyncRule.d.ts.map +1 -0
- package/getScheduleSyncRule.js +79 -0
- package/getScheduleSyncRule.js.map +1 -0
- package/getScheduleSyncTarget.d.ts +100 -0
- package/getScheduleSyncTarget.d.ts.map +1 -0
- package/getScheduleSyncTarget.js +93 -0
- package/getScheduleSyncTarget.js.map +1 -0
- package/getSecret.d.ts +115 -0
- package/getSecret.d.ts.map +1 -0
- package/getSecret.js +97 -0
- package/getSecret.js.map +1 -0
- package/getSeverity.d.ts +117 -0
- package/getSeverity.d.ts.map +1 -0
- package/getSeverity.js +115 -0
- package/getSeverity.js.map +1 -0
- package/getStatus.d.ts +125 -0
- package/getStatus.d.ts.map +1 -0
- package/getStatus.js +119 -0
- package/getStatus.js.map +1 -0
- package/getUser.d.ts +52 -0
- package/getUser.d.ts.map +1 -0
- package/getUser.js +61 -0
- package/getUser.js.map +1 -0
- package/getWorkflow.d.ts +103 -0
- package/getWorkflow.d.ts.map +1 -0
- package/getWorkflow.js +77 -0
- package/getWorkflow.js.map +1 -0
- package/incidentRole.d.ts +109 -0
- package/incidentRole.d.ts.map +1 -0
- package/incidentRole.js +111 -0
- package/incidentRole.js.map +1 -0
- package/incidentTemplate.d.ts +200 -0
- package/incidentTemplate.d.ts.map +1 -0
- package/incidentTemplate.js +207 -0
- package/incidentTemplate.js.map +1 -0
- package/index.d.ts +188 -0
- package/index.d.ts.map +1 -0
- package/index.js +303 -0
- package/index.js.map +1 -0
- package/maintenanceWindow.d.ts +255 -0
- package/maintenanceWindow.d.ts.map +1 -0
- package/maintenanceWindow.js +148 -0
- package/maintenanceWindow.js.map +1 -0
- package/package.json +33 -0
- package/policy.d.ts +476 -0
- package/policy.d.ts.map +1 -0
- package/policy.js +387 -0
- package/policy.js.map +1 -0
- package/provider.d.ts +62 -0
- package/provider.d.ts.map +1 -0
- package/provider.js +80 -0
- package/provider.js.map +1 -0
- package/schedule.d.ts +120 -0
- package/schedule.d.ts.map +1 -0
- package/schedule.js +114 -0
- package/schedule.js.map +1 -0
- package/scheduleBeta.d.ts +104 -0
- package/scheduleBeta.d.ts.map +1 -0
- package/scheduleBeta.js +98 -0
- package/scheduleBeta.js.map +1 -0
- package/scheduleReplica.d.ts +178 -0
- package/scheduleReplica.d.ts.map +1 -0
- package/scheduleReplica.js +134 -0
- package/scheduleReplica.js.map +1 -0
- package/scheduleRotation.d.ts +287 -0
- package/scheduleRotation.d.ts.map +1 -0
- package/scheduleRotation.js +224 -0
- package/scheduleRotation.js.map +1 -0
- package/scheduleRotationBeta.d.ts +184 -0
- package/scheduleRotationBeta.d.ts.map +1 -0
- package/scheduleRotationBeta.js +121 -0
- package/scheduleRotationBeta.js.map +1 -0
- package/scheduleSyncRule.d.ts +154 -0
- package/scheduleSyncRule.d.ts.map +1 -0
- package/scheduleSyncRule.js +146 -0
- package/scheduleSyncRule.js.map +1 -0
- package/scheduleSyncTarget.d.ts +108 -0
- package/scheduleSyncTarget.d.ts.map +1 -0
- package/scheduleSyncTarget.js +106 -0
- package/scheduleSyncTarget.js.map +1 -0
- package/secret.d.ts +276 -0
- package/secret.d.ts.map +1 -0
- package/secret.js +234 -0
- package/secret.js.map +1 -0
- package/severity.d.ts +96 -0
- package/severity.d.ts.map +1 -0
- package/severity.js +102 -0
- package/severity.js.map +1 -0
- package/status.d.ts +121 -0
- package/status.d.ts.map +1 -0
- package/status.js +120 -0
- package/status.js.map +1 -0
- package/types/index.d.ts +4 -0
- package/types/index.d.ts.map +1 -0
- package/types/index.js +34 -0
- package/types/index.js.map +1 -0
- package/types/input.d.ts +23630 -0
- package/types/input.d.ts.map +1 -0
- package/types/input.js +5 -0
- package/types/input.js.map +1 -0
- package/types/output.d.ts +19726 -0
- package/types/output.d.ts.map +1 -0
- package/types/output.js +5 -0
- package/types/output.js.map +1 -0
- package/utilities.d.ts +5 -0
- package/utilities.d.ts.map +1 -0
- package/utilities.js +114 -0
- package/utilities.js.map +1 -0
- package/workflow.d.ts +736 -0
- package/workflow.d.ts.map +1 -0
- package/workflow.js +608 -0
- package/workflow.js.map +1 -0
package/schedule.js
ADDED
|
@@ -0,0 +1,114 @@
|
|
|
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.Schedule = void 0;
|
|
29
|
+
const pulumi = __importStar(require("@pulumi/pulumi"));
|
|
30
|
+
const utilities = __importStar(require("./utilities"));
|
|
31
|
+
/**
|
|
32
|
+
* Manage an on-call schedule.
|
|
33
|
+
*
|
|
34
|
+
* A schedule holds the rotations that decide who is on call. This resource manages
|
|
35
|
+
* only the schedule itself — its name, timezone, owning teams and public holidays.
|
|
36
|
+
* Rotations are managed separately, as `incident.ScheduleRotation`, so
|
|
37
|
+
* adding or editing one never means rewriting the whole schedule.
|
|
38
|
+
*
|
|
39
|
+
* A schedule created here starts with no rotations, and nobody is on call until one
|
|
40
|
+
* is added.
|
|
41
|
+
*
|
|
42
|
+
* ## Example Usage
|
|
43
|
+
*
|
|
44
|
+
* ```typescript
|
|
45
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
46
|
+
* import * as incident from "@incident-io/pulumi";
|
|
47
|
+
*
|
|
48
|
+
* // A schedule holds the rotations that decide who is on call. This resource covers
|
|
49
|
+
* // the schedule itself; rotations are managed separately, so a schedule created
|
|
50
|
+
* // here has none and nobody is on call until one is added.
|
|
51
|
+
* const platform = new incident.Schedule("platform", {
|
|
52
|
+
* name: "Platform on-call",
|
|
53
|
+
* timezone: "Europe/London",
|
|
54
|
+
* teamIds: [platformTeam.id],
|
|
55
|
+
* holidaysPublicConfig: {
|
|
56
|
+
* countryCodes: [
|
|
57
|
+
* "GB",
|
|
58
|
+
* "FR",
|
|
59
|
+
* ],
|
|
60
|
+
* },
|
|
61
|
+
* });
|
|
62
|
+
* ```
|
|
63
|
+
*/
|
|
64
|
+
class Schedule extends pulumi.CustomResource {
|
|
65
|
+
/**
|
|
66
|
+
* Get an existing Schedule resource's state with the given name, ID, and optional extra
|
|
67
|
+
* properties used to qualify the lookup.
|
|
68
|
+
*
|
|
69
|
+
* @param name The _unique_ name of the resulting resource.
|
|
70
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
71
|
+
* @param state Any extra arguments used during the lookup.
|
|
72
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
73
|
+
*/
|
|
74
|
+
static get(name, id, state, opts) {
|
|
75
|
+
return new Schedule(name, state, { ...opts, id: id });
|
|
76
|
+
}
|
|
77
|
+
/** @internal */
|
|
78
|
+
static __pulumiType = 'incident:index/schedule:Schedule';
|
|
79
|
+
/**
|
|
80
|
+
* Returns true if the given object is an instance of Schedule. This is designed to work even
|
|
81
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
82
|
+
*/
|
|
83
|
+
static isInstance(obj) {
|
|
84
|
+
if (obj === undefined || obj === null) {
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
return obj['__pulumiType'] === Schedule.__pulumiType;
|
|
88
|
+
}
|
|
89
|
+
constructor(name, argsOrState, opts) {
|
|
90
|
+
let resourceInputs = {};
|
|
91
|
+
opts = opts || {};
|
|
92
|
+
if (opts.id) {
|
|
93
|
+
const state = argsOrState;
|
|
94
|
+
resourceInputs["holidaysPublicConfig"] = state?.holidaysPublicConfig;
|
|
95
|
+
resourceInputs["name"] = state?.name;
|
|
96
|
+
resourceInputs["teamIds"] = state?.teamIds;
|
|
97
|
+
resourceInputs["timezone"] = state?.timezone;
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
const args = argsOrState;
|
|
101
|
+
if (args?.timezone === undefined && !opts.urn) {
|
|
102
|
+
throw new Error("Missing required property 'timezone'");
|
|
103
|
+
}
|
|
104
|
+
resourceInputs["holidaysPublicConfig"] = args?.holidaysPublicConfig;
|
|
105
|
+
resourceInputs["name"] = args?.name;
|
|
106
|
+
resourceInputs["teamIds"] = args?.teamIds;
|
|
107
|
+
resourceInputs["timezone"] = args?.timezone;
|
|
108
|
+
}
|
|
109
|
+
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
|
110
|
+
super(Schedule.__pulumiType, name, resourceInputs, opts);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
exports.Schedule = Schedule;
|
|
114
|
+
//# sourceMappingURL=schedule.js.map
|
package/schedule.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schedule.js","sourceRoot":"","sources":["../schedule.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;;;;;;;;;;;;;;;;;;;;;;;;AAEjF,uDAAyC;AAGzC,uDAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAa,QAAS,SAAQ,MAAM,CAAC,cAAc;IAC/C;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAqB,EAAE,IAAmC;QACnH,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,gBAAgB;IACT,MAAM,CAAU,YAAY,GAAG,kCAAkC,CAAC;IAEzE;;;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,QAAQ,CAAC,YAAY,CAAC;IACzD,CAAC;IA2BD,YAAY,IAAY,EAAE,WAA0C,EAAE,IAAmC;QACrG,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAwC,CAAC;YACvD,cAAc,CAAC,sBAAsB,CAAC,GAAG,KAAK,EAAE,oBAAoB,CAAC;YACrE,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;YACrC,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC;YAC3C,cAAc,CAAC,UAAU,CAAC,GAAG,KAAK,EAAE,QAAQ,CAAC;SAChD;aAAM;YACH,MAAM,IAAI,GAAG,WAAuC,CAAC;YACrD,IAAI,IAAI,EAAE,QAAQ,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC3C,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;aAC3D;YACD,cAAc,CAAC,sBAAsB,CAAC,GAAG,IAAI,EAAE,oBAAoB,CAAC;YACpE,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC;YACpC,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC;YAC1C,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC;SAC/C;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,QAAQ,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;;AA1EL,4BA2EC"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import * as pulumi from "@pulumi/pulumi";
|
|
2
|
+
import * as inputs from "./types/input";
|
|
3
|
+
import * as outputs from "./types/output";
|
|
4
|
+
/**
|
|
5
|
+
* `incident.ScheduleBeta` was renamed to `incident.Schedule` in v7.0.
|
|
6
|
+
*
|
|
7
|
+
* This name still works and still manages the same thing, so upgrading to v7 needs no change
|
|
8
|
+
* to a configuration that uses it. It is deprecated: every plan naming it warns, and it will
|
|
9
|
+
* be removed in v8.0.
|
|
10
|
+
*
|
|
11
|
+
* To move onto the new name:
|
|
12
|
+
*
|
|
13
|
+
* ```typescript
|
|
14
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* Both names are the same resource, backed by the same schema and the same API, so the move
|
|
18
|
+
* carries your state across and the plan after it is empty. See `incident.Schedule` for the
|
|
19
|
+
* documentation.
|
|
20
|
+
*/
|
|
21
|
+
export declare class ScheduleBeta extends pulumi.CustomResource {
|
|
22
|
+
/**
|
|
23
|
+
* Get an existing ScheduleBeta resource's state with the given name, ID, and optional extra
|
|
24
|
+
* properties used to qualify the lookup.
|
|
25
|
+
*
|
|
26
|
+
* @param name The _unique_ name of the resulting resource.
|
|
27
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
28
|
+
* @param state Any extra arguments used during the lookup.
|
|
29
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
30
|
+
*/
|
|
31
|
+
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ScheduleBetaState, opts?: pulumi.CustomResourceOptions): ScheduleBeta;
|
|
32
|
+
/**
|
|
33
|
+
* Returns true if the given object is an instance of ScheduleBeta. This is designed to work even
|
|
34
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
35
|
+
*/
|
|
36
|
+
static isInstance(obj: any): obj is ScheduleBeta;
|
|
37
|
+
/**
|
|
38
|
+
* Public holidays to show on this schedule. Omit the block entirely to show none.
|
|
39
|
+
*/
|
|
40
|
+
readonly holidaysPublicConfig: pulumi.Output<outputs.ScheduleBetaHolidaysPublicConfig | undefined>;
|
|
41
|
+
/**
|
|
42
|
+
* Human readable name for the schedule
|
|
43
|
+
*/
|
|
44
|
+
readonly name: pulumi.Output<string>;
|
|
45
|
+
/**
|
|
46
|
+
* IDs of teams that own this schedule
|
|
47
|
+
*/
|
|
48
|
+
readonly teamIds: pulumi.Output<string[] | undefined>;
|
|
49
|
+
/**
|
|
50
|
+
* Timezone the schedule's rotations are anchored to, as an IANA name. Changing this replaces the schedule: a timezone is what its rotations are anchored to, and we don't support moving an existing schedule to another one.
|
|
51
|
+
*/
|
|
52
|
+
readonly timezone: pulumi.Output<string>;
|
|
53
|
+
/**
|
|
54
|
+
* Create a ScheduleBeta resource with the given unique name, arguments, and options.
|
|
55
|
+
*
|
|
56
|
+
* @param name The _unique_ name of the resource.
|
|
57
|
+
* @param args The arguments to use to populate this resource's properties.
|
|
58
|
+
* @param opts A bag of options that control this resource's behavior.
|
|
59
|
+
*/
|
|
60
|
+
constructor(name: string, args: ScheduleBetaArgs, opts?: pulumi.CustomResourceOptions);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Input properties used for looking up and filtering ScheduleBeta resources.
|
|
64
|
+
*/
|
|
65
|
+
export interface ScheduleBetaState {
|
|
66
|
+
/**
|
|
67
|
+
* Public holidays to show on this schedule. Omit the block entirely to show none.
|
|
68
|
+
*/
|
|
69
|
+
holidaysPublicConfig?: pulumi.Input<inputs.ScheduleBetaHolidaysPublicConfig | undefined>;
|
|
70
|
+
/**
|
|
71
|
+
* Human readable name for the schedule
|
|
72
|
+
*/
|
|
73
|
+
name?: pulumi.Input<string | undefined>;
|
|
74
|
+
/**
|
|
75
|
+
* IDs of teams that own this schedule
|
|
76
|
+
*/
|
|
77
|
+
teamIds?: pulumi.Input<pulumi.Input<string>[] | undefined>;
|
|
78
|
+
/**
|
|
79
|
+
* Timezone the schedule's rotations are anchored to, as an IANA name. Changing this replaces the schedule: a timezone is what its rotations are anchored to, and we don't support moving an existing schedule to another one.
|
|
80
|
+
*/
|
|
81
|
+
timezone?: pulumi.Input<string | undefined>;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* The set of arguments for constructing a ScheduleBeta resource.
|
|
85
|
+
*/
|
|
86
|
+
export interface ScheduleBetaArgs {
|
|
87
|
+
/**
|
|
88
|
+
* Public holidays to show on this schedule. Omit the block entirely to show none.
|
|
89
|
+
*/
|
|
90
|
+
holidaysPublicConfig?: pulumi.Input<inputs.ScheduleBetaHolidaysPublicConfig | undefined>;
|
|
91
|
+
/**
|
|
92
|
+
* Human readable name for the schedule
|
|
93
|
+
*/
|
|
94
|
+
name?: pulumi.Input<string | undefined>;
|
|
95
|
+
/**
|
|
96
|
+
* IDs of teams that own this schedule
|
|
97
|
+
*/
|
|
98
|
+
teamIds?: pulumi.Input<pulumi.Input<string>[] | undefined>;
|
|
99
|
+
/**
|
|
100
|
+
* Timezone the schedule's rotations are anchored to, as an IANA name. Changing this replaces the schedule: a timezone is what its rotations are anchored to, and we don't support moving an existing schedule to another one.
|
|
101
|
+
*/
|
|
102
|
+
timezone: pulumi.Input<string>;
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=scheduleBeta.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scheduleBeta.d.ts","sourceRoot":"","sources":["../scheduleBeta.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAG1C;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,YAAa,SAAQ,MAAM,CAAC,cAAc;IACnD;;;;;;;;OAQG;WACW,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,iBAAiB,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,qBAAqB,GAAG,YAAY;IAO1I;;;OAGG;WACW,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,YAAY;IAOvD;;OAEG;IACH,SAAwB,oBAAoB,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,gCAAgC,GAAG,SAAS,CAAC,CAAC;IAClH;;OAEG;IACH,SAAwB,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACpD;;OAEG;IACH,SAAwB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IACrE;;OAEG;IACH,SAAwB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAExD;;;;;;OAMG;gBACS,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,qBAAqB;CAuBxF;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,gCAAgC,GAAG,SAAS,CAAC,CAAC;IACzF;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACxC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;IAC3D;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAC/C;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,gCAAgC,GAAG,SAAS,CAAC,CAAC;IACzF;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACxC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;IAC3D;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;CAClC"}
|
package/scheduleBeta.js
ADDED
|
@@ -0,0 +1,98 @@
|
|
|
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.ScheduleBeta = void 0;
|
|
29
|
+
const pulumi = __importStar(require("@pulumi/pulumi"));
|
|
30
|
+
const utilities = __importStar(require("./utilities"));
|
|
31
|
+
/**
|
|
32
|
+
* `incident.ScheduleBeta` was renamed to `incident.Schedule` in v7.0.
|
|
33
|
+
*
|
|
34
|
+
* This name still works and still manages the same thing, so upgrading to v7 needs no change
|
|
35
|
+
* to a configuration that uses it. It is deprecated: every plan naming it warns, and it will
|
|
36
|
+
* be removed in v8.0.
|
|
37
|
+
*
|
|
38
|
+
* To move onto the new name:
|
|
39
|
+
*
|
|
40
|
+
* ```typescript
|
|
41
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
42
|
+
* ```
|
|
43
|
+
*
|
|
44
|
+
* Both names are the same resource, backed by the same schema and the same API, so the move
|
|
45
|
+
* carries your state across and the plan after it is empty. See `incident.Schedule` for the
|
|
46
|
+
* documentation.
|
|
47
|
+
*/
|
|
48
|
+
class ScheduleBeta extends pulumi.CustomResource {
|
|
49
|
+
/**
|
|
50
|
+
* Get an existing ScheduleBeta resource's state with the given name, ID, and optional extra
|
|
51
|
+
* properties used to qualify the lookup.
|
|
52
|
+
*
|
|
53
|
+
* @param name The _unique_ name of the resulting resource.
|
|
54
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
55
|
+
* @param state Any extra arguments used during the lookup.
|
|
56
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
57
|
+
*/
|
|
58
|
+
static get(name, id, state, opts) {
|
|
59
|
+
return new ScheduleBeta(name, state, { ...opts, id: id });
|
|
60
|
+
}
|
|
61
|
+
/** @internal */
|
|
62
|
+
static __pulumiType = 'incident:index/scheduleBeta:ScheduleBeta';
|
|
63
|
+
/**
|
|
64
|
+
* Returns true if the given object is an instance of ScheduleBeta. This is designed to work even
|
|
65
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
66
|
+
*/
|
|
67
|
+
static isInstance(obj) {
|
|
68
|
+
if (obj === undefined || obj === null) {
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
return obj['__pulumiType'] === ScheduleBeta.__pulumiType;
|
|
72
|
+
}
|
|
73
|
+
constructor(name, argsOrState, opts) {
|
|
74
|
+
let resourceInputs = {};
|
|
75
|
+
opts = opts || {};
|
|
76
|
+
if (opts.id) {
|
|
77
|
+
const state = argsOrState;
|
|
78
|
+
resourceInputs["holidaysPublicConfig"] = state?.holidaysPublicConfig;
|
|
79
|
+
resourceInputs["name"] = state?.name;
|
|
80
|
+
resourceInputs["teamIds"] = state?.teamIds;
|
|
81
|
+
resourceInputs["timezone"] = state?.timezone;
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
const args = argsOrState;
|
|
85
|
+
if (args?.timezone === undefined && !opts.urn) {
|
|
86
|
+
throw new Error("Missing required property 'timezone'");
|
|
87
|
+
}
|
|
88
|
+
resourceInputs["holidaysPublicConfig"] = args?.holidaysPublicConfig;
|
|
89
|
+
resourceInputs["name"] = args?.name;
|
|
90
|
+
resourceInputs["teamIds"] = args?.teamIds;
|
|
91
|
+
resourceInputs["timezone"] = args?.timezone;
|
|
92
|
+
}
|
|
93
|
+
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
|
94
|
+
super(ScheduleBeta.__pulumiType, name, resourceInputs, opts);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
exports.ScheduleBeta = ScheduleBeta;
|
|
98
|
+
//# sourceMappingURL=scheduleBeta.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scheduleBeta.js","sourceRoot":"","sources":["../scheduleBeta.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;;;;;;;;;;;;;;;;;;;;;;;;AAEjF,uDAAyC;AAGzC,uDAAyC;AAEzC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAa,YAAa,SAAQ,MAAM,CAAC,cAAc;IACnD;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAyB,EAAE,IAAmC;QACvH,OAAO,IAAI,YAAY,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,gBAAgB;IACT,MAAM,CAAU,YAAY,GAAG,0CAA0C,CAAC;IAEjF;;;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,YAAY,CAAC,YAAY,CAAC;IAC7D,CAAC;IA2BD,YAAY,IAAY,EAAE,WAAkD,EAAE,IAAmC;QAC7G,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAA4C,CAAC;YAC3D,cAAc,CAAC,sBAAsB,CAAC,GAAG,KAAK,EAAE,oBAAoB,CAAC;YACrE,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;YACrC,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC;YAC3C,cAAc,CAAC,UAAU,CAAC,GAAG,KAAK,EAAE,QAAQ,CAAC;SAChD;aAAM;YACH,MAAM,IAAI,GAAG,WAA2C,CAAC;YACzD,IAAI,IAAI,EAAE,QAAQ,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC3C,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;aAC3D;YACD,cAAc,CAAC,sBAAsB,CAAC,GAAG,IAAI,EAAE,oBAAoB,CAAC;YACpE,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC;YACpC,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC;YAC1C,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC;SAC/C;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC;;AA1EL,oCA2EC"}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import * as pulumi from "@pulumi/pulumi";
|
|
2
|
+
import * as inputs from "./types/input";
|
|
3
|
+
import * as outputs from "./types/output";
|
|
4
|
+
/**
|
|
5
|
+
* Manage a schedule replica that mirrors an incident.io schedule into an external provider such as PagerDuty, Opsgenie, or Jira Service Management.
|
|
6
|
+
*
|
|
7
|
+
* The API does not support updating a replica in place: changing any configuration forces a new resource.
|
|
8
|
+
*
|
|
9
|
+
* ## Example Usage
|
|
10
|
+
*
|
|
11
|
+
* ```typescript
|
|
12
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
13
|
+
* import * as incident from "@incident-io/pulumi";
|
|
14
|
+
*
|
|
15
|
+
* // Mirror a schedule into a PagerDuty schedule. The replica_provider_id is the
|
|
16
|
+
* // PagerDuty schedule ID; replica_fallback_user_id is a PagerDuty user used when
|
|
17
|
+
* // nobody is on-call in incident.io.
|
|
18
|
+
* const platformPagerduty = new incident.ScheduleReplica("platform_pagerduty", {
|
|
19
|
+
* scheduleId: platform.id,
|
|
20
|
+
* replicaProvider: "pagerduty",
|
|
21
|
+
* replicaProviderId: "PO8107X",
|
|
22
|
+
* replicaFallbackUserId: "PA7AXXN",
|
|
23
|
+
* mirrorWindowDays: 14,
|
|
24
|
+
* sources: [{
|
|
25
|
+
* rotationId: "primary",
|
|
26
|
+
* layerId: "primary",
|
|
27
|
+
* }],
|
|
28
|
+
* });
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export declare class ScheduleReplica extends pulumi.CustomResource {
|
|
32
|
+
/**
|
|
33
|
+
* Get an existing ScheduleReplica resource's state with the given name, ID, and optional extra
|
|
34
|
+
* properties used to qualify the lookup.
|
|
35
|
+
*
|
|
36
|
+
* @param name The _unique_ name of the resulting resource.
|
|
37
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
38
|
+
* @param state Any extra arguments used during the lookup.
|
|
39
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
40
|
+
*/
|
|
41
|
+
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ScheduleReplicaState, opts?: pulumi.CustomResourceOptions): ScheduleReplica;
|
|
42
|
+
/**
|
|
43
|
+
* Returns true if the given object is an instance of ScheduleReplica. This is designed to work even
|
|
44
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
45
|
+
*/
|
|
46
|
+
static isInstance(obj: any): obj is ScheduleReplica;
|
|
47
|
+
/**
|
|
48
|
+
* When this schedule replica was first created
|
|
49
|
+
*/
|
|
50
|
+
readonly createdAt: pulumi.Output<string>;
|
|
51
|
+
/**
|
|
52
|
+
* The most recent error encountered while syncing this replica to the external provider, if any. Common errors include unmapped users or connectivity issues with the external provider. Null if the last sync was successful.
|
|
53
|
+
*/
|
|
54
|
+
readonly lastSyncError: pulumi.Output<string>;
|
|
55
|
+
/**
|
|
56
|
+
* When the replica was last successfully synced to the external provider. Null if the replica has never been successfully synced.
|
|
57
|
+
*/
|
|
58
|
+
readonly lastSyncedAt: pulumi.Output<string>;
|
|
59
|
+
/**
|
|
60
|
+
* How many days ahead to mirror this schedule into the external provider. Defaults to 14 if not set; maximum 90.
|
|
61
|
+
*/
|
|
62
|
+
readonly mirrorWindowDays: pulumi.Output<number>;
|
|
63
|
+
/**
|
|
64
|
+
* The ID of a user in the external provider that will be assigned whenever nobody is on-call in the incident.io schedule. External providers typically require someone to always be on-call, so this user fills gaps where incident.io has no one scheduled.
|
|
65
|
+
*/
|
|
66
|
+
readonly replicaFallbackUserId: pulumi.Output<string>;
|
|
67
|
+
/**
|
|
68
|
+
* The external provider where this schedule is replicated to. Possible values are: `native`, `pagerduty`, `opsgenie`, `jsm`.
|
|
69
|
+
*/
|
|
70
|
+
readonly replicaProvider: pulumi.Output<string>;
|
|
71
|
+
/**
|
|
72
|
+
* The ID of the schedule in the external provider that this replica syncs to. For PagerDuty this is the schedule ID (e.g. PO8107X), for Opsgenie the schedule ID, and for Jira Service Management the schedule ID.
|
|
73
|
+
*/
|
|
74
|
+
readonly replicaProviderId: pulumi.Output<string>;
|
|
75
|
+
/**
|
|
76
|
+
* The ID of the incident.io schedule that this replica is syncing from
|
|
77
|
+
*/
|
|
78
|
+
readonly scheduleId: pulumi.Output<string>;
|
|
79
|
+
/**
|
|
80
|
+
* The specific rotation and layer combinations from the schedule that are being replicated. Each source identifies a single layer within a rotation to sync to the external provider.
|
|
81
|
+
*/
|
|
82
|
+
readonly sources: pulumi.Output<outputs.ScheduleReplicaSource[]>;
|
|
83
|
+
/**
|
|
84
|
+
* When this schedule replica was last updated
|
|
85
|
+
*/
|
|
86
|
+
readonly updatedAt: pulumi.Output<string>;
|
|
87
|
+
/**
|
|
88
|
+
* The mapping status of each incident.io user in the schedule to their corresponding user in the external provider. Users must be mapped for the replica to sync their on-call shifts correctly.
|
|
89
|
+
*/
|
|
90
|
+
readonly userStatuses: pulumi.Output<outputs.ScheduleReplicaUserStatus[]>;
|
|
91
|
+
/**
|
|
92
|
+
* Create a ScheduleReplica resource with the given unique name, arguments, and options.
|
|
93
|
+
*
|
|
94
|
+
* @param name The _unique_ name of the resource.
|
|
95
|
+
* @param args The arguments to use to populate this resource's properties.
|
|
96
|
+
* @param opts A bag of options that control this resource's behavior.
|
|
97
|
+
*/
|
|
98
|
+
constructor(name: string, args: ScheduleReplicaArgs, opts?: pulumi.CustomResourceOptions);
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Input properties used for looking up and filtering ScheduleReplica resources.
|
|
102
|
+
*/
|
|
103
|
+
export interface ScheduleReplicaState {
|
|
104
|
+
/**
|
|
105
|
+
* When this schedule replica was first created
|
|
106
|
+
*/
|
|
107
|
+
createdAt?: pulumi.Input<string | undefined>;
|
|
108
|
+
/**
|
|
109
|
+
* The most recent error encountered while syncing this replica to the external provider, if any. Common errors include unmapped users or connectivity issues with the external provider. Null if the last sync was successful.
|
|
110
|
+
*/
|
|
111
|
+
lastSyncError?: pulumi.Input<string | undefined>;
|
|
112
|
+
/**
|
|
113
|
+
* When the replica was last successfully synced to the external provider. Null if the replica has never been successfully synced.
|
|
114
|
+
*/
|
|
115
|
+
lastSyncedAt?: pulumi.Input<string | undefined>;
|
|
116
|
+
/**
|
|
117
|
+
* How many days ahead to mirror this schedule into the external provider. Defaults to 14 if not set; maximum 90.
|
|
118
|
+
*/
|
|
119
|
+
mirrorWindowDays?: pulumi.Input<number | undefined>;
|
|
120
|
+
/**
|
|
121
|
+
* The ID of a user in the external provider that will be assigned whenever nobody is on-call in the incident.io schedule. External providers typically require someone to always be on-call, so this user fills gaps where incident.io has no one scheduled.
|
|
122
|
+
*/
|
|
123
|
+
replicaFallbackUserId?: pulumi.Input<string | undefined>;
|
|
124
|
+
/**
|
|
125
|
+
* The external provider where this schedule is replicated to. Possible values are: `native`, `pagerduty`, `opsgenie`, `jsm`.
|
|
126
|
+
*/
|
|
127
|
+
replicaProvider?: pulumi.Input<string | undefined>;
|
|
128
|
+
/**
|
|
129
|
+
* The ID of the schedule in the external provider that this replica syncs to. For PagerDuty this is the schedule ID (e.g. PO8107X), for Opsgenie the schedule ID, and for Jira Service Management the schedule ID.
|
|
130
|
+
*/
|
|
131
|
+
replicaProviderId?: pulumi.Input<string | undefined>;
|
|
132
|
+
/**
|
|
133
|
+
* The ID of the incident.io schedule that this replica is syncing from
|
|
134
|
+
*/
|
|
135
|
+
scheduleId?: pulumi.Input<string | undefined>;
|
|
136
|
+
/**
|
|
137
|
+
* The specific rotation and layer combinations from the schedule that are being replicated. Each source identifies a single layer within a rotation to sync to the external provider.
|
|
138
|
+
*/
|
|
139
|
+
sources?: pulumi.Input<pulumi.Input<inputs.ScheduleReplicaSource>[] | undefined>;
|
|
140
|
+
/**
|
|
141
|
+
* When this schedule replica was last updated
|
|
142
|
+
*/
|
|
143
|
+
updatedAt?: pulumi.Input<string | undefined>;
|
|
144
|
+
/**
|
|
145
|
+
* The mapping status of each incident.io user in the schedule to their corresponding user in the external provider. Users must be mapped for the replica to sync their on-call shifts correctly.
|
|
146
|
+
*/
|
|
147
|
+
userStatuses?: pulumi.Input<pulumi.Input<inputs.ScheduleReplicaUserStatus>[] | undefined>;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* The set of arguments for constructing a ScheduleReplica resource.
|
|
151
|
+
*/
|
|
152
|
+
export interface ScheduleReplicaArgs {
|
|
153
|
+
/**
|
|
154
|
+
* How many days ahead to mirror this schedule into the external provider. Defaults to 14 if not set; maximum 90.
|
|
155
|
+
*/
|
|
156
|
+
mirrorWindowDays?: pulumi.Input<number | undefined>;
|
|
157
|
+
/**
|
|
158
|
+
* The ID of a user in the external provider that will be assigned whenever nobody is on-call in the incident.io schedule. External providers typically require someone to always be on-call, so this user fills gaps where incident.io has no one scheduled.
|
|
159
|
+
*/
|
|
160
|
+
replicaFallbackUserId: pulumi.Input<string>;
|
|
161
|
+
/**
|
|
162
|
+
* The external provider where this schedule is replicated to. Possible values are: `native`, `pagerduty`, `opsgenie`, `jsm`.
|
|
163
|
+
*/
|
|
164
|
+
replicaProvider: pulumi.Input<string>;
|
|
165
|
+
/**
|
|
166
|
+
* The ID of the schedule in the external provider that this replica syncs to. For PagerDuty this is the schedule ID (e.g. PO8107X), for Opsgenie the schedule ID, and for Jira Service Management the schedule ID.
|
|
167
|
+
*/
|
|
168
|
+
replicaProviderId: pulumi.Input<string>;
|
|
169
|
+
/**
|
|
170
|
+
* The ID of the incident.io schedule that this replica is syncing from
|
|
171
|
+
*/
|
|
172
|
+
scheduleId: pulumi.Input<string>;
|
|
173
|
+
/**
|
|
174
|
+
* The specific rotation and layer combinations from the schedule that are being replicated. Each source identifies a single layer within a rotation to sync to the external provider.
|
|
175
|
+
*/
|
|
176
|
+
sources: pulumi.Input<pulumi.Input<inputs.ScheduleReplicaSource>[]>;
|
|
177
|
+
}
|
|
178
|
+
//# sourceMappingURL=scheduleReplica.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scheduleReplica.d.ts","sourceRoot":"","sources":["../scheduleReplica.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,134 @@
|
|
|
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.ScheduleReplica = void 0;
|
|
29
|
+
const pulumi = __importStar(require("@pulumi/pulumi"));
|
|
30
|
+
const utilities = __importStar(require("./utilities"));
|
|
31
|
+
/**
|
|
32
|
+
* Manage a schedule replica that mirrors an incident.io schedule into an external provider such as PagerDuty, Opsgenie, or Jira Service Management.
|
|
33
|
+
*
|
|
34
|
+
* The API does not support updating a replica in place: changing any configuration forces a new resource.
|
|
35
|
+
*
|
|
36
|
+
* ## Example Usage
|
|
37
|
+
*
|
|
38
|
+
* ```typescript
|
|
39
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
40
|
+
* import * as incident from "@incident-io/pulumi";
|
|
41
|
+
*
|
|
42
|
+
* // Mirror a schedule into a PagerDuty schedule. The replica_provider_id is the
|
|
43
|
+
* // PagerDuty schedule ID; replica_fallback_user_id is a PagerDuty user used when
|
|
44
|
+
* // nobody is on-call in incident.io.
|
|
45
|
+
* const platformPagerduty = new incident.ScheduleReplica("platform_pagerduty", {
|
|
46
|
+
* scheduleId: platform.id,
|
|
47
|
+
* replicaProvider: "pagerduty",
|
|
48
|
+
* replicaProviderId: "PO8107X",
|
|
49
|
+
* replicaFallbackUserId: "PA7AXXN",
|
|
50
|
+
* mirrorWindowDays: 14,
|
|
51
|
+
* sources: [{
|
|
52
|
+
* rotationId: "primary",
|
|
53
|
+
* layerId: "primary",
|
|
54
|
+
* }],
|
|
55
|
+
* });
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
class ScheduleReplica extends pulumi.CustomResource {
|
|
59
|
+
/**
|
|
60
|
+
* Get an existing ScheduleReplica resource's state with the given name, ID, and optional extra
|
|
61
|
+
* properties used to qualify the lookup.
|
|
62
|
+
*
|
|
63
|
+
* @param name The _unique_ name of the resulting resource.
|
|
64
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
65
|
+
* @param state Any extra arguments used during the lookup.
|
|
66
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
67
|
+
*/
|
|
68
|
+
static get(name, id, state, opts) {
|
|
69
|
+
return new ScheduleReplica(name, state, { ...opts, id: id });
|
|
70
|
+
}
|
|
71
|
+
/** @internal */
|
|
72
|
+
static __pulumiType = 'incident:index/scheduleReplica:ScheduleReplica';
|
|
73
|
+
/**
|
|
74
|
+
* Returns true if the given object is an instance of ScheduleReplica. This is designed to work even
|
|
75
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
76
|
+
*/
|
|
77
|
+
static isInstance(obj) {
|
|
78
|
+
if (obj === undefined || obj === null) {
|
|
79
|
+
return false;
|
|
80
|
+
}
|
|
81
|
+
return obj['__pulumiType'] === ScheduleReplica.__pulumiType;
|
|
82
|
+
}
|
|
83
|
+
constructor(name, argsOrState, opts) {
|
|
84
|
+
let resourceInputs = {};
|
|
85
|
+
opts = opts || {};
|
|
86
|
+
if (opts.id) {
|
|
87
|
+
const state = argsOrState;
|
|
88
|
+
resourceInputs["createdAt"] = state?.createdAt;
|
|
89
|
+
resourceInputs["lastSyncError"] = state?.lastSyncError;
|
|
90
|
+
resourceInputs["lastSyncedAt"] = state?.lastSyncedAt;
|
|
91
|
+
resourceInputs["mirrorWindowDays"] = state?.mirrorWindowDays;
|
|
92
|
+
resourceInputs["replicaFallbackUserId"] = state?.replicaFallbackUserId;
|
|
93
|
+
resourceInputs["replicaProvider"] = state?.replicaProvider;
|
|
94
|
+
resourceInputs["replicaProviderId"] = state?.replicaProviderId;
|
|
95
|
+
resourceInputs["scheduleId"] = state?.scheduleId;
|
|
96
|
+
resourceInputs["sources"] = state?.sources;
|
|
97
|
+
resourceInputs["updatedAt"] = state?.updatedAt;
|
|
98
|
+
resourceInputs["userStatuses"] = state?.userStatuses;
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
const args = argsOrState;
|
|
102
|
+
if (args?.replicaFallbackUserId === undefined && !opts.urn) {
|
|
103
|
+
throw new Error("Missing required property 'replicaFallbackUserId'");
|
|
104
|
+
}
|
|
105
|
+
if (args?.replicaProvider === undefined && !opts.urn) {
|
|
106
|
+
throw new Error("Missing required property 'replicaProvider'");
|
|
107
|
+
}
|
|
108
|
+
if (args?.replicaProviderId === undefined && !opts.urn) {
|
|
109
|
+
throw new Error("Missing required property 'replicaProviderId'");
|
|
110
|
+
}
|
|
111
|
+
if (args?.scheduleId === undefined && !opts.urn) {
|
|
112
|
+
throw new Error("Missing required property 'scheduleId'");
|
|
113
|
+
}
|
|
114
|
+
if (args?.sources === undefined && !opts.urn) {
|
|
115
|
+
throw new Error("Missing required property 'sources'");
|
|
116
|
+
}
|
|
117
|
+
resourceInputs["mirrorWindowDays"] = args?.mirrorWindowDays;
|
|
118
|
+
resourceInputs["replicaFallbackUserId"] = args?.replicaFallbackUserId;
|
|
119
|
+
resourceInputs["replicaProvider"] = args?.replicaProvider;
|
|
120
|
+
resourceInputs["replicaProviderId"] = args?.replicaProviderId;
|
|
121
|
+
resourceInputs["scheduleId"] = args?.scheduleId;
|
|
122
|
+
resourceInputs["sources"] = args?.sources;
|
|
123
|
+
resourceInputs["createdAt"] = undefined /*out*/;
|
|
124
|
+
resourceInputs["lastSyncError"] = undefined /*out*/;
|
|
125
|
+
resourceInputs["lastSyncedAt"] = undefined /*out*/;
|
|
126
|
+
resourceInputs["updatedAt"] = undefined /*out*/;
|
|
127
|
+
resourceInputs["userStatuses"] = undefined /*out*/;
|
|
128
|
+
}
|
|
129
|
+
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
|
130
|
+
super(ScheduleReplica.__pulumiType, name, resourceInputs, opts);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
exports.ScheduleReplica = ScheduleReplica;
|
|
134
|
+
//# sourceMappingURL=scheduleReplica.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scheduleReplica.js","sourceRoot":"","sources":["../scheduleReplica.ts"],"names":[],"mappings":"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"}
|