@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.
Files changed (279) hide show
  1. package/LICENSE +7 -0
  2. package/README.md +69 -0
  3. package/alertAttribute.d.ts +230 -0
  4. package/alertAttribute.d.ts.map +1 -0
  5. package/alertAttribute.js +219 -0
  6. package/alertAttribute.js.map +1 -0
  7. package/alertRoute.d.ts +511 -0
  8. package/alertRoute.d.ts.map +1 -0
  9. package/alertRoute.js +432 -0
  10. package/alertRoute.js.map +1 -0
  11. package/alertSource.d.ts +347 -0
  12. package/alertSource.d.ts.map +1 -0
  13. package/alertSource.js +241 -0
  14. package/alertSource.js.map +1 -0
  15. package/alertSourceAttribute.d.ts +180 -0
  16. package/alertSourceAttribute.d.ts.map +1 -0
  17. package/alertSourceAttribute.js +107 -0
  18. package/alertSourceAttribute.js.map +1 -0
  19. package/alertSourceAttributeBeta.d.ts +188 -0
  20. package/alertSourceAttributeBeta.d.ts.map +1 -0
  21. package/alertSourceAttributeBeta.js +115 -0
  22. package/alertSourceAttributeBeta.js.map +1 -0
  23. package/alertSourceBeta.d.ts +244 -0
  24. package/alertSourceBeta.d.ts.map +1 -0
  25. package/alertSourceBeta.js +138 -0
  26. package/alertSourceBeta.js.map +1 -0
  27. package/apiKey.d.ts +276 -0
  28. package/apiKey.d.ts.map +1 -0
  29. package/apiKey.js +211 -0
  30. package/apiKey.js.map +1 -0
  31. package/catalogEntries.d.ts +241 -0
  32. package/catalogEntries.d.ts.map +1 -0
  33. package/catalogEntries.js +242 -0
  34. package/catalogEntries.js.map +1 -0
  35. package/catalogEntry.d.ts +183 -0
  36. package/catalogEntry.d.ts.map +1 -0
  37. package/catalogEntry.js +159 -0
  38. package/catalogEntry.js.map +1 -0
  39. package/catalogType.d.ts +169 -0
  40. package/catalogType.d.ts.map +1 -0
  41. package/catalogType.js +132 -0
  42. package/catalogType.js.map +1 -0
  43. package/catalogTypeAttribute.d.ts +190 -0
  44. package/catalogTypeAttribute.d.ts.map +1 -0
  45. package/catalogTypeAttribute.js +153 -0
  46. package/catalogTypeAttribute.js.map +1 -0
  47. package/config/index.d.ts +2 -0
  48. package/config/index.d.ts.map +1 -0
  49. package/config/index.js +21 -0
  50. package/config/index.js.map +1 -0
  51. package/config/vars.d.ts +13 -0
  52. package/config/vars.d.ts.map +1 -0
  53. package/config/vars.js +49 -0
  54. package/config/vars.js.map +1 -0
  55. package/customField.d.ts +260 -0
  56. package/customField.d.ts.map +1 -0
  57. package/customField.js +226 -0
  58. package/customField.js.map +1 -0
  59. package/customFieldOption.d.ts +107 -0
  60. package/customFieldOption.d.ts.map +1 -0
  61. package/customFieldOption.js +116 -0
  62. package/customFieldOption.js.map +1 -0
  63. package/escalationPath.d.ts +257 -0
  64. package/escalationPath.d.ts.map +1 -0
  65. package/escalationPath.js +228 -0
  66. package/escalationPath.js.map +1 -0
  67. package/escalationPathBeta.d.ts +134 -0
  68. package/escalationPathBeta.d.ts.map +1 -0
  69. package/escalationPathBeta.js +105 -0
  70. package/escalationPathBeta.js.map +1 -0
  71. package/getAlertAttribute.d.ts +81 -0
  72. package/getAlertAttribute.d.ts.map +1 -0
  73. package/getAlertAttribute.js +75 -0
  74. package/getAlertAttribute.js.map +1 -0
  75. package/getAlertSource.d.ts +169 -0
  76. package/getAlertSource.d.ts.map +1 -0
  77. package/getAlertSource.js +103 -0
  78. package/getAlertSource.js.map +1 -0
  79. package/getAlertSourceAttribute.d.ts +131 -0
  80. package/getAlertSourceAttribute.d.ts.map +1 -0
  81. package/getAlertSourceAttribute.js +85 -0
  82. package/getAlertSourceAttribute.js.map +1 -0
  83. package/getAlertSourceAttributeBeta.d.ts +131 -0
  84. package/getAlertSourceAttributeBeta.d.ts.map +1 -0
  85. package/getAlertSourceAttributeBeta.js +85 -0
  86. package/getAlertSourceAttributeBeta.js.map +1 -0
  87. package/getApiKey.d.ts +167 -0
  88. package/getApiKey.d.ts.map +1 -0
  89. package/getApiKey.js +145 -0
  90. package/getApiKey.js.map +1 -0
  91. package/getCatalogEntry.d.ts +77 -0
  92. package/getCatalogEntry.d.ts.map +1 -0
  93. package/getCatalogEntry.js +59 -0
  94. package/getCatalogEntry.js.map +1 -0
  95. package/getCatalogType.d.ts +163 -0
  96. package/getCatalogType.d.ts.map +1 -0
  97. package/getCatalogType.js +135 -0
  98. package/getCatalogType.js.map +1 -0
  99. package/getCatalogTypeAttribute.d.ts +73 -0
  100. package/getCatalogTypeAttribute.d.ts.map +1 -0
  101. package/getCatalogTypeAttribute.js +53 -0
  102. package/getCatalogTypeAttribute.js.map +1 -0
  103. package/getCustomField.d.ts +67 -0
  104. package/getCustomField.d.ts.map +1 -0
  105. package/getCustomField.js +51 -0
  106. package/getCustomField.js.map +1 -0
  107. package/getCustomFieldOption.d.ts +65 -0
  108. package/getCustomFieldOption.d.ts.map +1 -0
  109. package/getCustomFieldOption.js +55 -0
  110. package/getCustomFieldOption.js.map +1 -0
  111. package/getEscalationPath.d.ts +100 -0
  112. package/getEscalationPath.d.ts.map +1 -0
  113. package/getEscalationPath.js +83 -0
  114. package/getEscalationPath.js.map +1 -0
  115. package/getEscalationPathBeta.d.ts +100 -0
  116. package/getEscalationPathBeta.d.ts.map +1 -0
  117. package/getEscalationPathBeta.js +83 -0
  118. package/getEscalationPathBeta.js.map +1 -0
  119. package/getIncidentRole.d.ts +111 -0
  120. package/getIncidentRole.d.ts.map +1 -0
  121. package/getIncidentRole.js +105 -0
  122. package/getIncidentRole.js.map +1 -0
  123. package/getIncidentTemplate.d.ts +98 -0
  124. package/getIncidentTemplate.d.ts.map +1 -0
  125. package/getIncidentTemplate.js +95 -0
  126. package/getIncidentTemplate.js.map +1 -0
  127. package/getIncidentTimestamp.d.ts +107 -0
  128. package/getIncidentTimestamp.d.ts.map +1 -0
  129. package/getIncidentTimestamp.js +109 -0
  130. package/getIncidentTimestamp.js.map +1 -0
  131. package/getIncidentType.d.ts +121 -0
  132. package/getIncidentType.d.ts.map +1 -0
  133. package/getIncidentType.js +107 -0
  134. package/getIncidentType.js.map +1 -0
  135. package/getIpAllowlist.d.ts +62 -0
  136. package/getIpAllowlist.d.ts.map +1 -0
  137. package/getIpAllowlist.js +77 -0
  138. package/getIpAllowlist.js.map +1 -0
  139. package/getPolicy.d.ts +97 -0
  140. package/getPolicy.d.ts.map +1 -0
  141. package/getPolicy.js +91 -0
  142. package/getPolicy.js.map +1 -0
  143. package/getRichText.d.ts +111 -0
  144. package/getRichText.d.ts.map +1 -0
  145. package/getRichText.js +107 -0
  146. package/getRichText.js.map +1 -0
  147. package/getSchedule.d.ts +89 -0
  148. package/getSchedule.d.ts.map +1 -0
  149. package/getSchedule.js +87 -0
  150. package/getSchedule.js.map +1 -0
  151. package/getScheduleBeta.d.ts +85 -0
  152. package/getScheduleBeta.d.ts.map +1 -0
  153. package/getScheduleBeta.js +83 -0
  154. package/getScheduleBeta.js.map +1 -0
  155. package/getScheduleReplica.d.ts +116 -0
  156. package/getScheduleReplica.d.ts.map +1 -0
  157. package/getScheduleReplica.js +79 -0
  158. package/getScheduleReplica.js.map +1 -0
  159. package/getScheduleRotation.d.ts +166 -0
  160. package/getScheduleRotation.d.ts.map +1 -0
  161. package/getScheduleRotation.js +127 -0
  162. package/getScheduleRotation.js.map +1 -0
  163. package/getScheduleRotationBeta.d.ts +122 -0
  164. package/getScheduleRotationBeta.d.ts.map +1 -0
  165. package/getScheduleRotationBeta.js +83 -0
  166. package/getScheduleRotationBeta.js.map +1 -0
  167. package/getScheduleSyncRule.d.ts +91 -0
  168. package/getScheduleSyncRule.d.ts.map +1 -0
  169. package/getScheduleSyncRule.js +79 -0
  170. package/getScheduleSyncRule.js.map +1 -0
  171. package/getScheduleSyncTarget.d.ts +100 -0
  172. package/getScheduleSyncTarget.d.ts.map +1 -0
  173. package/getScheduleSyncTarget.js +93 -0
  174. package/getScheduleSyncTarget.js.map +1 -0
  175. package/getSecret.d.ts +115 -0
  176. package/getSecret.d.ts.map +1 -0
  177. package/getSecret.js +97 -0
  178. package/getSecret.js.map +1 -0
  179. package/getSeverity.d.ts +117 -0
  180. package/getSeverity.d.ts.map +1 -0
  181. package/getSeverity.js +115 -0
  182. package/getSeverity.js.map +1 -0
  183. package/getStatus.d.ts +125 -0
  184. package/getStatus.d.ts.map +1 -0
  185. package/getStatus.js +119 -0
  186. package/getStatus.js.map +1 -0
  187. package/getUser.d.ts +52 -0
  188. package/getUser.d.ts.map +1 -0
  189. package/getUser.js +61 -0
  190. package/getUser.js.map +1 -0
  191. package/getWorkflow.d.ts +103 -0
  192. package/getWorkflow.d.ts.map +1 -0
  193. package/getWorkflow.js +77 -0
  194. package/getWorkflow.js.map +1 -0
  195. package/incidentRole.d.ts +109 -0
  196. package/incidentRole.d.ts.map +1 -0
  197. package/incidentRole.js +111 -0
  198. package/incidentRole.js.map +1 -0
  199. package/incidentTemplate.d.ts +200 -0
  200. package/incidentTemplate.d.ts.map +1 -0
  201. package/incidentTemplate.js +207 -0
  202. package/incidentTemplate.js.map +1 -0
  203. package/index.d.ts +188 -0
  204. package/index.d.ts.map +1 -0
  205. package/index.js +303 -0
  206. package/index.js.map +1 -0
  207. package/maintenanceWindow.d.ts +255 -0
  208. package/maintenanceWindow.d.ts.map +1 -0
  209. package/maintenanceWindow.js +148 -0
  210. package/maintenanceWindow.js.map +1 -0
  211. package/package.json +33 -0
  212. package/policy.d.ts +476 -0
  213. package/policy.d.ts.map +1 -0
  214. package/policy.js +387 -0
  215. package/policy.js.map +1 -0
  216. package/provider.d.ts +62 -0
  217. package/provider.d.ts.map +1 -0
  218. package/provider.js +80 -0
  219. package/provider.js.map +1 -0
  220. package/schedule.d.ts +120 -0
  221. package/schedule.d.ts.map +1 -0
  222. package/schedule.js +114 -0
  223. package/schedule.js.map +1 -0
  224. package/scheduleBeta.d.ts +104 -0
  225. package/scheduleBeta.d.ts.map +1 -0
  226. package/scheduleBeta.js +98 -0
  227. package/scheduleBeta.js.map +1 -0
  228. package/scheduleReplica.d.ts +178 -0
  229. package/scheduleReplica.d.ts.map +1 -0
  230. package/scheduleReplica.js +134 -0
  231. package/scheduleReplica.js.map +1 -0
  232. package/scheduleRotation.d.ts +287 -0
  233. package/scheduleRotation.d.ts.map +1 -0
  234. package/scheduleRotation.js +224 -0
  235. package/scheduleRotation.js.map +1 -0
  236. package/scheduleRotationBeta.d.ts +184 -0
  237. package/scheduleRotationBeta.d.ts.map +1 -0
  238. package/scheduleRotationBeta.js +121 -0
  239. package/scheduleRotationBeta.js.map +1 -0
  240. package/scheduleSyncRule.d.ts +154 -0
  241. package/scheduleSyncRule.d.ts.map +1 -0
  242. package/scheduleSyncRule.js +146 -0
  243. package/scheduleSyncRule.js.map +1 -0
  244. package/scheduleSyncTarget.d.ts +108 -0
  245. package/scheduleSyncTarget.d.ts.map +1 -0
  246. package/scheduleSyncTarget.js +106 -0
  247. package/scheduleSyncTarget.js.map +1 -0
  248. package/secret.d.ts +276 -0
  249. package/secret.d.ts.map +1 -0
  250. package/secret.js +234 -0
  251. package/secret.js.map +1 -0
  252. package/severity.d.ts +96 -0
  253. package/severity.d.ts.map +1 -0
  254. package/severity.js +102 -0
  255. package/severity.js.map +1 -0
  256. package/status.d.ts +121 -0
  257. package/status.d.ts.map +1 -0
  258. package/status.js +120 -0
  259. package/status.js.map +1 -0
  260. package/types/index.d.ts +4 -0
  261. package/types/index.d.ts.map +1 -0
  262. package/types/index.js +34 -0
  263. package/types/index.js.map +1 -0
  264. package/types/input.d.ts +23630 -0
  265. package/types/input.d.ts.map +1 -0
  266. package/types/input.js +5 -0
  267. package/types/input.js.map +1 -0
  268. package/types/output.d.ts +19726 -0
  269. package/types/output.d.ts.map +1 -0
  270. package/types/output.js +5 -0
  271. package/types/output.js.map +1 -0
  272. package/utilities.d.ts +5 -0
  273. package/utilities.d.ts.map +1 -0
  274. package/utilities.js +114 -0
  275. package/utilities.js.map +1 -0
  276. package/workflow.d.ts +736 -0
  277. package/workflow.d.ts.map +1 -0
  278. package/workflow.js +608 -0
  279. package/workflow.js.map +1 -0
package/getApiKey.js ADDED
@@ -0,0 +1,145 @@
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.getApiKeyOutput = exports.getApiKey = void 0;
29
+ const pulumi = __importStar(require("@pulumi/pulumi"));
30
+ const utilities = __importStar(require("./utilities"));
31
+ /**
32
+ * Manage API keys for your organization.
33
+ *
34
+ * This API lets you view, create, update, delete, and rotate API keys programmatically, including configuring account-level roles and roles scoped to specific teams.
35
+ *
36
+ * Common use cases include:
37
+ * - **API key rotation**: You can issue a new access token for any API key using the `Rotate` endpoint.
38
+ * - **Managing keys at scale**: use the `Show`, `List`, `Create`, `Update`, and `Delete` endpoints to automate API key lifecycle management.
39
+ *
40
+ * ## Permissions model
41
+ *
42
+ * To use these endpoints, your API key must have the `apiKeysManage` role granted at either the account level or for specific teams.
43
+ *
44
+ * In addition, the following rules apply, when a "caller" API key is managing a "target" API key:
45
+ *
46
+ * - A caller key can only assign roles whose scopes are a subset of its own scopes. For example, a key with `viewer` and `incidentCreator` can assign those roles to a target key, but cannot assign the `incidentEditor` role, since it has additional scopes.
47
+ * - The same applies at the team level: A caller key with `schedulesEditor` at the account level can create a target key with that role for a specific team, but a key with `schedulesEditor` only for one team (Team A, say) cannot assign it at the account level or for another team, Team B.
48
+ * - The `apiKeysManage` role cannot be assigned via the API. To create a key with that role, you must go to Settings → API keys in the dashboard, and click "Add new", creating a key with the "View, create, edit, delete or rotate API keys" role (`apiKeysManage`).
49
+ * - The `Delete` endpoint does not check whether the calling API key holds the scopes of the key being deleted. However, a team-scoped key can only delete keys belonging to its teams.
50
+ * - To rotate the token of an API key, use the Rotate endpoint or by clicking "Rotate token" on any API key listed in the dashboard. The same permissions limitations apply as when creating or updating an API key.
51
+ *
52
+ * ## Finding role names and team IDs
53
+ *
54
+ * To find valid values for `roleNames`, `teamIds`, and `teamRoleNames`, go to Settings → API keys in the dashboard. Click to either edit an existing key or create a new one, select the desired roles and teams, and then use the copy button to get hold of the role and team identifiers as JSON.
55
+ *
56
+ * Use this data source to look up an existing API key, either by `id` or by `name`. This is how you read the roles held by a key somebody created in the dashboard without managing it as an `incident.ApiKey` resource. Set exactly one of the two lookup attributes; setting both, or neither, is rejected at plan time.
57
+ *
58
+ * A key's token is returned only when incident.io issues one, so there is no token attribute here: a lookup can tell you what a key may do and when it was last used, but never how to authenticate as it.
59
+ *
60
+ * ## Example Usage
61
+ *
62
+ * ```typescript
63
+ * import * as pulumi from "@pulumi/pulumi";
64
+ * import * as incident from "@incident-io/pulumi";
65
+ *
66
+ * // Look up an existing API key by name, such as one created in the dashboard.
67
+ * const ci = incident.getApiKey({
68
+ * name: "CI deploy key",
69
+ * });
70
+ * // Or by ID, to reference a key another module manages. Names aren't unique, so an ID is
71
+ * // the way through an ambiguous lookup.
72
+ * const reporting = incident.getApiKey({
73
+ * id: "01G0J1EXE7AXZ2C93K61WBPYEH",
74
+ * });
75
+ * export const ciKeyRoles = ci.then(ci => ci.roleNames);
76
+ * export const ciKeyLastUsedAt = ci.then(ci => ci.lastUsedAt);
77
+ * ```
78
+ */
79
+ function getApiKey(args, opts) {
80
+ args = args || {};
81
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
82
+ return pulumi.runtime.invoke("incident:index/getApiKey:getApiKey", {
83
+ "id": args.id,
84
+ "name": args.name,
85
+ }, opts);
86
+ }
87
+ exports.getApiKey = getApiKey;
88
+ /**
89
+ * Manage API keys for your organization.
90
+ *
91
+ * This API lets you view, create, update, delete, and rotate API keys programmatically, including configuring account-level roles and roles scoped to specific teams.
92
+ *
93
+ * Common use cases include:
94
+ * - **API key rotation**: You can issue a new access token for any API key using the `Rotate` endpoint.
95
+ * - **Managing keys at scale**: use the `Show`, `List`, `Create`, `Update`, and `Delete` endpoints to automate API key lifecycle management.
96
+ *
97
+ * ## Permissions model
98
+ *
99
+ * To use these endpoints, your API key must have the `apiKeysManage` role granted at either the account level or for specific teams.
100
+ *
101
+ * In addition, the following rules apply, when a "caller" API key is managing a "target" API key:
102
+ *
103
+ * - A caller key can only assign roles whose scopes are a subset of its own scopes. For example, a key with `viewer` and `incidentCreator` can assign those roles to a target key, but cannot assign the `incidentEditor` role, since it has additional scopes.
104
+ * - The same applies at the team level: A caller key with `schedulesEditor` at the account level can create a target key with that role for a specific team, but a key with `schedulesEditor` only for one team (Team A, say) cannot assign it at the account level or for another team, Team B.
105
+ * - The `apiKeysManage` role cannot be assigned via the API. To create a key with that role, you must go to Settings → API keys in the dashboard, and click "Add new", creating a key with the "View, create, edit, delete or rotate API keys" role (`apiKeysManage`).
106
+ * - The `Delete` endpoint does not check whether the calling API key holds the scopes of the key being deleted. However, a team-scoped key can only delete keys belonging to its teams.
107
+ * - To rotate the token of an API key, use the Rotate endpoint or by clicking "Rotate token" on any API key listed in the dashboard. The same permissions limitations apply as when creating or updating an API key.
108
+ *
109
+ * ## Finding role names and team IDs
110
+ *
111
+ * To find valid values for `roleNames`, `teamIds`, and `teamRoleNames`, go to Settings → API keys in the dashboard. Click to either edit an existing key or create a new one, select the desired roles and teams, and then use the copy button to get hold of the role and team identifiers as JSON.
112
+ *
113
+ * Use this data source to look up an existing API key, either by `id` or by `name`. This is how you read the roles held by a key somebody created in the dashboard without managing it as an `incident.ApiKey` resource. Set exactly one of the two lookup attributes; setting both, or neither, is rejected at plan time.
114
+ *
115
+ * A key's token is returned only when incident.io issues one, so there is no token attribute here: a lookup can tell you what a key may do and when it was last used, but never how to authenticate as it.
116
+ *
117
+ * ## Example Usage
118
+ *
119
+ * ```typescript
120
+ * import * as pulumi from "@pulumi/pulumi";
121
+ * import * as incident from "@incident-io/pulumi";
122
+ *
123
+ * // Look up an existing API key by name, such as one created in the dashboard.
124
+ * const ci = incident.getApiKey({
125
+ * name: "CI deploy key",
126
+ * });
127
+ * // Or by ID, to reference a key another module manages. Names aren't unique, so an ID is
128
+ * // the way through an ambiguous lookup.
129
+ * const reporting = incident.getApiKey({
130
+ * id: "01G0J1EXE7AXZ2C93K61WBPYEH",
131
+ * });
132
+ * export const ciKeyRoles = ci.then(ci => ci.roleNames);
133
+ * export const ciKeyLastUsedAt = ci.then(ci => ci.lastUsedAt);
134
+ * ```
135
+ */
136
+ function getApiKeyOutput(args, opts) {
137
+ args = args || {};
138
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
139
+ return pulumi.runtime.invokeOutput("incident:index/getApiKey:getApiKey", {
140
+ "id": args.id,
141
+ "name": args.name,
142
+ }, opts);
143
+ }
144
+ exports.getApiKeyOutput = getApiKeyOutput;
145
+ //# sourceMappingURL=getApiKey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getApiKey.js","sourceRoot":"","sources":["../getApiKey.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;;;;;;;;;;;;;;;;;;;;;;;;AAEjF,uDAAyC;AACzC,uDAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,SAAgB,SAAS,CAAC,IAAoB,EAAE,IAA2B;IACvE,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IAClB,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,oCAAoC,EAAE;QAC/D,IAAI,EAAE,IAAI,CAAC,EAAE;QACb,MAAM,EAAE,IAAI,CAAC,IAAI;KACpB,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAPD,8BAOC;AAyDD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,SAAgB,eAAe,CAAC,IAA0B,EAAE,IAAiC;IACzF,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IAClB,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,oCAAoC,EAAE;QACrE,IAAI,EAAE,IAAI,CAAC,EAAE;QACb,MAAM,EAAE,IAAI,CAAC,IAAI;KACpB,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAPD,0CAOC"}
@@ -0,0 +1,77 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as outputs from "./types/output";
3
+ /**
4
+ * This data source provides information about a catalog entry.
5
+ * It can be used to look up a catalog entry by providing the catalogTypeId and an identifier.
6
+ *
7
+ * The API will automatically match the identifier against names, external IDs, and aliases.
8
+ */
9
+ export declare function getCatalogEntry(args: GetCatalogEntryArgs, opts?: pulumi.InvokeOptions): Promise<GetCatalogEntryResult>;
10
+ /**
11
+ * A collection of arguments for invoking getCatalogEntry.
12
+ */
13
+ export interface GetCatalogEntryArgs {
14
+ /**
15
+ * ID of this catalog type
16
+ */
17
+ catalogTypeId: string;
18
+ /**
19
+ * The identifier to use for finding the catalog entry. This can be a name, external ID, or alias.
20
+ */
21
+ identifier: string;
22
+ }
23
+ /**
24
+ * A collection of values returned by getCatalogEntry.
25
+ */
26
+ export interface GetCatalogEntryResult {
27
+ /**
28
+ * Optional aliases that can be used to reference this entry
29
+ */
30
+ readonly aliases: string[];
31
+ readonly attributeValues: outputs.GetCatalogEntryAttributeValue[];
32
+ /**
33
+ * ID of this catalog type
34
+ */
35
+ readonly catalogTypeId: string;
36
+ /**
37
+ * An optional alternative ID for this entry, which is ensured to be unique for the type
38
+ */
39
+ readonly externalId: string;
40
+ /**
41
+ * The ID of the catalog entry
42
+ */
43
+ readonly id: string;
44
+ /**
45
+ * The identifier to use for finding the catalog entry. This can be a name, external ID, or alias.
46
+ */
47
+ readonly identifier: string;
48
+ /**
49
+ * Name is the human readable name of this entry
50
+ */
51
+ readonly name: string;
52
+ /**
53
+ * When catalog type is ranked, this is used to help order things
54
+ */
55
+ readonly rank: number;
56
+ }
57
+ /**
58
+ * This data source provides information about a catalog entry.
59
+ * It can be used to look up a catalog entry by providing the catalogTypeId and an identifier.
60
+ *
61
+ * The API will automatically match the identifier against names, external IDs, and aliases.
62
+ */
63
+ export declare function getCatalogEntryOutput(args: GetCatalogEntryOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetCatalogEntryResult>;
64
+ /**
65
+ * A collection of arguments for invoking getCatalogEntry.
66
+ */
67
+ export interface GetCatalogEntryOutputArgs {
68
+ /**
69
+ * ID of this catalog type
70
+ */
71
+ catalogTypeId: pulumi.Input<string>;
72
+ /**
73
+ * The identifier to use for finding the catalog entry. This can be a name, external ID, or alias.
74
+ */
75
+ identifier: pulumi.Input<string>;
76
+ }
77
+ //# sourceMappingURL=getCatalogEntry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCatalogEntry.d.ts","sourceRoot":"","sources":["../getCatalogEntry.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAEzC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAG1C;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,mBAAmB,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,aAAa,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAMtH;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IAClC;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,6BAA6B,EAAE,CAAC;IAClE;;OAEG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACzB;AACD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,yBAAyB,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAM9I;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACtC;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACpC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;CACpC"}
@@ -0,0 +1,59 @@
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.getCatalogEntryOutput = exports.getCatalogEntry = void 0;
29
+ const pulumi = __importStar(require("@pulumi/pulumi"));
30
+ const utilities = __importStar(require("./utilities"));
31
+ /**
32
+ * This data source provides information about a catalog entry.
33
+ * It can be used to look up a catalog entry by providing the catalogTypeId and an identifier.
34
+ *
35
+ * The API will automatically match the identifier against names, external IDs, and aliases.
36
+ */
37
+ function getCatalogEntry(args, opts) {
38
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
39
+ return pulumi.runtime.invoke("incident:index/getCatalogEntry:getCatalogEntry", {
40
+ "catalogTypeId": args.catalogTypeId,
41
+ "identifier": args.identifier,
42
+ }, opts);
43
+ }
44
+ exports.getCatalogEntry = getCatalogEntry;
45
+ /**
46
+ * This data source provides information about a catalog entry.
47
+ * It can be used to look up a catalog entry by providing the catalogTypeId and an identifier.
48
+ *
49
+ * The API will automatically match the identifier against names, external IDs, and aliases.
50
+ */
51
+ function getCatalogEntryOutput(args, opts) {
52
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
53
+ return pulumi.runtime.invokeOutput("incident:index/getCatalogEntry:getCatalogEntry", {
54
+ "catalogTypeId": args.catalogTypeId,
55
+ "identifier": args.identifier,
56
+ }, opts);
57
+ }
58
+ exports.getCatalogEntryOutput = getCatalogEntryOutput;
59
+ //# sourceMappingURL=getCatalogEntry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCatalogEntry.js","sourceRoot":"","sources":["../getCatalogEntry.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;;;;;;;;;;;;;;;;;;;;;;;;AAEjF,uDAAyC;AAGzC,uDAAyC;AAEzC;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,IAAyB,EAAE,IAA2B;IAClF,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,gDAAgD,EAAE;QAC3E,eAAe,EAAE,IAAI,CAAC,aAAa;QACnC,YAAY,EAAE,IAAI,CAAC,UAAU;KAChC,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAND,0CAMC;AAkDD;;;;;GAKG;AACH,SAAgB,qBAAqB,CAAC,IAA+B,EAAE,IAAiC;IACpG,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,gDAAgD,EAAE;QACjF,eAAe,EAAE,IAAI,CAAC,aAAa;QACnC,YAAY,EAAE,IAAI,CAAC,UAAU;KAChC,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAND,sDAMC"}
@@ -0,0 +1,163 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * This data source provides information about a catalog type.
4
+ *
5
+ * ## Example Usage
6
+ *
7
+ * ```typescript
8
+ * import * as pulumi from "@pulumi/pulumi";
9
+ * import * as incident from "@incident-io/pulumi";
10
+ *
11
+ * // Reference the catalog type by its name.
12
+ * const service = incident.getCatalogType({
13
+ * name: "Service",
14
+ * });
15
+ * // An entry's values are keyed by attribute ID, so look the attributes up by name rather
16
+ * // than pinning IDs that differ between workspaces.
17
+ * const serviceDescription = service.then(service => incident.getCatalogTypeAttribute({
18
+ * catalogTypeId: service.id,
19
+ * name: "Description",
20
+ * }));
21
+ * const serviceTags = service.then(service => incident.getCatalogTypeAttribute({
22
+ * catalogTypeId: service.id,
23
+ * name: "Tags",
24
+ * }));
25
+ * // Now provision the entries for the catalog type.
26
+ * const services = new incident.CatalogEntries("services", {
27
+ * catalogEntriesId: service.then(service => service.id),
28
+ * entries: {
29
+ * primary: {
30
+ * name: "artist-web",
31
+ * attributeValues: Promise.all([serviceDescription, serviceTags]).then(([serviceDescription, serviceTags]) => {
32
+ * [serviceDescription.id]: {
33
+ * value: "public-websites",
34
+ * },
35
+ * [serviceTags.id]: {
36
+ * arrayValue: ["java"],
37
+ * },
38
+ * }),
39
+ * },
40
+ * },
41
+ * });
42
+ * ```
43
+ */
44
+ export declare function getCatalogType(args?: GetCatalogTypeArgs, opts?: pulumi.InvokeOptions): Promise<GetCatalogTypeResult>;
45
+ /**
46
+ * A collection of arguments for invoking getCatalogType.
47
+ */
48
+ export interface GetCatalogTypeArgs {
49
+ /**
50
+ * The categories that this type belongs to, to be shown in the web dashboard. Possible values are: `customer`, `issue-tracker`, `product-feature`, `service`, `on-call`, `team`, `user`.
51
+ */
52
+ categories?: string[];
53
+ /**
54
+ * Name is the human readable name of this type
55
+ */
56
+ name?: string;
57
+ /**
58
+ * The type name of this catalog type, to be used when defining attributes. This is immutable once a CatalogType has been created. For non-externally sync types, it must follow the pattern Custom["SomeName"]
59
+ */
60
+ typeName?: string;
61
+ }
62
+ /**
63
+ * A collection of values returned by getCatalogType.
64
+ */
65
+ export interface GetCatalogTypeResult {
66
+ /**
67
+ * How to refer to this type when saying that something holds its entries: the `type` of an alert attribute or catalog attribute, or the `as` of an engine expression. Take it from here rather than writing it out - a type that one of our integrations owns is referenced by its registry name rather than its ID, so the two don't have the same shape.
68
+ */
69
+ readonly attributeType: string;
70
+ /**
71
+ * The categories that this type belongs to, to be shown in the web dashboard. Possible values are: `customer`, `issue-tracker`, `product-feature`, `service`, `on-call`, `team`, `user`.
72
+ */
73
+ readonly categories?: string[];
74
+ /**
75
+ * Human readble description of this type
76
+ */
77
+ readonly description: string;
78
+ /**
79
+ * ID of this catalog type
80
+ */
81
+ readonly id: string;
82
+ /**
83
+ * Name is the human readable name of this type
84
+ */
85
+ readonly name: string;
86
+ /**
87
+ * IDs of the teams that own this catalog type
88
+ */
89
+ readonly owningTeamIds: string[];
90
+ /**
91
+ * The url of the external repository where this type is managed. If set, users will not be able to edit the catalog type (or its entries) via the UI, and will instead be provided a link to this URL.
92
+ */
93
+ readonly sourceRepoUrl: string;
94
+ /**
95
+ * The type name of this catalog type, to be used when defining attributes. This is immutable once a CatalogType has been created. For non-externally sync types, it must follow the pattern Custom["SomeName"]
96
+ */
97
+ readonly typeName: string;
98
+ /**
99
+ * If enabled, you can refer to entries of this type by their name, as well as their external ID and any aliases.
100
+ */
101
+ readonly useNameAsIdentifier: boolean;
102
+ }
103
+ /**
104
+ * This data source provides information about a catalog type.
105
+ *
106
+ * ## Example Usage
107
+ *
108
+ * ```typescript
109
+ * import * as pulumi from "@pulumi/pulumi";
110
+ * import * as incident from "@incident-io/pulumi";
111
+ *
112
+ * // Reference the catalog type by its name.
113
+ * const service = incident.getCatalogType({
114
+ * name: "Service",
115
+ * });
116
+ * // An entry's values are keyed by attribute ID, so look the attributes up by name rather
117
+ * // than pinning IDs that differ between workspaces.
118
+ * const serviceDescription = service.then(service => incident.getCatalogTypeAttribute({
119
+ * catalogTypeId: service.id,
120
+ * name: "Description",
121
+ * }));
122
+ * const serviceTags = service.then(service => incident.getCatalogTypeAttribute({
123
+ * catalogTypeId: service.id,
124
+ * name: "Tags",
125
+ * }));
126
+ * // Now provision the entries for the catalog type.
127
+ * const services = new incident.CatalogEntries("services", {
128
+ * catalogEntriesId: service.then(service => service.id),
129
+ * entries: {
130
+ * primary: {
131
+ * name: "artist-web",
132
+ * attributeValues: Promise.all([serviceDescription, serviceTags]).then(([serviceDescription, serviceTags]) => {
133
+ * [serviceDescription.id]: {
134
+ * value: "public-websites",
135
+ * },
136
+ * [serviceTags.id]: {
137
+ * arrayValue: ["java"],
138
+ * },
139
+ * }),
140
+ * },
141
+ * },
142
+ * });
143
+ * ```
144
+ */
145
+ export declare function getCatalogTypeOutput(args?: GetCatalogTypeOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetCatalogTypeResult>;
146
+ /**
147
+ * A collection of arguments for invoking getCatalogType.
148
+ */
149
+ export interface GetCatalogTypeOutputArgs {
150
+ /**
151
+ * The categories that this type belongs to, to be shown in the web dashboard. Possible values are: `customer`, `issue-tracker`, `product-feature`, `service`, `on-call`, `team`, `user`.
152
+ */
153
+ categories?: pulumi.Input<pulumi.Input<string>[] | undefined>;
154
+ /**
155
+ * Name is the human readable name of this type
156
+ */
157
+ name?: pulumi.Input<string | undefined>;
158
+ /**
159
+ * The type name of this catalog type, to be used when defining attributes. This is immutable once a CatalogType has been created. For non-externally sync types, it must follow the pattern Custom["SomeName"]
160
+ */
161
+ typeName?: pulumi.Input<string | undefined>;
162
+ }
163
+ //# sourceMappingURL=getCatalogType.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCatalogType.d.ts","sourceRoot":"","sources":["../getCatalogType.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAGzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,cAAc,CAAC,IAAI,CAAC,EAAE,kBAAkB,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,aAAa,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAQpH;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC;;OAEG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B;;OAEG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC;IACjC;;OAEG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;CACzC;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,CAAC,EAAE,wBAAwB,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAQ5I;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACrC;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;IAC9D;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACxC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAC/C"}
@@ -0,0 +1,135 @@
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.getCatalogTypeOutput = exports.getCatalogType = void 0;
29
+ const pulumi = __importStar(require("@pulumi/pulumi"));
30
+ const utilities = __importStar(require("./utilities"));
31
+ /**
32
+ * This data source provides information about a catalog type.
33
+ *
34
+ * ## Example Usage
35
+ *
36
+ * ```typescript
37
+ * import * as pulumi from "@pulumi/pulumi";
38
+ * import * as incident from "@incident-io/pulumi";
39
+ *
40
+ * // Reference the catalog type by its name.
41
+ * const service = incident.getCatalogType({
42
+ * name: "Service",
43
+ * });
44
+ * // An entry's values are keyed by attribute ID, so look the attributes up by name rather
45
+ * // than pinning IDs that differ between workspaces.
46
+ * const serviceDescription = service.then(service => incident.getCatalogTypeAttribute({
47
+ * catalogTypeId: service.id,
48
+ * name: "Description",
49
+ * }));
50
+ * const serviceTags = service.then(service => incident.getCatalogTypeAttribute({
51
+ * catalogTypeId: service.id,
52
+ * name: "Tags",
53
+ * }));
54
+ * // Now provision the entries for the catalog type.
55
+ * const services = new incident.CatalogEntries("services", {
56
+ * catalogEntriesId: service.then(service => service.id),
57
+ * entries: {
58
+ * primary: {
59
+ * name: "artist-web",
60
+ * attributeValues: Promise.all([serviceDescription, serviceTags]).then(([serviceDescription, serviceTags]) => {
61
+ * [serviceDescription.id]: {
62
+ * value: "public-websites",
63
+ * },
64
+ * [serviceTags.id]: {
65
+ * arrayValue: ["java"],
66
+ * },
67
+ * }),
68
+ * },
69
+ * },
70
+ * });
71
+ * ```
72
+ */
73
+ function getCatalogType(args, opts) {
74
+ args = args || {};
75
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
76
+ return pulumi.runtime.invoke("incident:index/getCatalogType:getCatalogType", {
77
+ "categories": args.categories,
78
+ "name": args.name,
79
+ "typeName": args.typeName,
80
+ }, opts);
81
+ }
82
+ exports.getCatalogType = getCatalogType;
83
+ /**
84
+ * This data source provides information about a catalog type.
85
+ *
86
+ * ## Example Usage
87
+ *
88
+ * ```typescript
89
+ * import * as pulumi from "@pulumi/pulumi";
90
+ * import * as incident from "@incident-io/pulumi";
91
+ *
92
+ * // Reference the catalog type by its name.
93
+ * const service = incident.getCatalogType({
94
+ * name: "Service",
95
+ * });
96
+ * // An entry's values are keyed by attribute ID, so look the attributes up by name rather
97
+ * // than pinning IDs that differ between workspaces.
98
+ * const serviceDescription = service.then(service => incident.getCatalogTypeAttribute({
99
+ * catalogTypeId: service.id,
100
+ * name: "Description",
101
+ * }));
102
+ * const serviceTags = service.then(service => incident.getCatalogTypeAttribute({
103
+ * catalogTypeId: service.id,
104
+ * name: "Tags",
105
+ * }));
106
+ * // Now provision the entries for the catalog type.
107
+ * const services = new incident.CatalogEntries("services", {
108
+ * catalogEntriesId: service.then(service => service.id),
109
+ * entries: {
110
+ * primary: {
111
+ * name: "artist-web",
112
+ * attributeValues: Promise.all([serviceDescription, serviceTags]).then(([serviceDescription, serviceTags]) => {
113
+ * [serviceDescription.id]: {
114
+ * value: "public-websites",
115
+ * },
116
+ * [serviceTags.id]: {
117
+ * arrayValue: ["java"],
118
+ * },
119
+ * }),
120
+ * },
121
+ * },
122
+ * });
123
+ * ```
124
+ */
125
+ function getCatalogTypeOutput(args, opts) {
126
+ args = args || {};
127
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
128
+ return pulumi.runtime.invokeOutput("incident:index/getCatalogType:getCatalogType", {
129
+ "categories": args.categories,
130
+ "name": args.name,
131
+ "typeName": args.typeName,
132
+ }, opts);
133
+ }
134
+ exports.getCatalogTypeOutput = getCatalogTypeOutput;
135
+ //# sourceMappingURL=getCatalogType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCatalogType.js","sourceRoot":"","sources":["../getCatalogType.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;;;;;;;;;;;;;;;;;;;;;;;;AAEjF,uDAAyC;AACzC,uDAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,SAAgB,cAAc,CAAC,IAAyB,EAAE,IAA2B;IACjF,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IAClB,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,8CAA8C,EAAE;QACzE,YAAY,EAAE,IAAI,CAAC,UAAU;QAC7B,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,UAAU,EAAE,IAAI,CAAC,QAAQ;KAC5B,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AARD,wCAQC;AA6DD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,SAAgB,oBAAoB,CAAC,IAA+B,EAAE,IAAiC;IACnG,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IAClB,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,8CAA8C,EAAE;QAC/E,YAAY,EAAE,IAAI,CAAC,UAAU;QAC7B,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,UAAU,EAAE,IAAI,CAAC,QAAQ;KAC5B,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AARD,oDAQC"}