@pulumiverse/grafana 0.2.1-alpha.1709570924

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 (252) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +54 -0
  3. package/annotation.d.ts +151 -0
  4. package/annotation.js +79 -0
  5. package/annotation.js.map +1 -0
  6. package/apiKey.d.ts +77 -0
  7. package/apiKey.js +80 -0
  8. package/apiKey.js.map +1 -0
  9. package/cloudAccessPolicy.d.ts +156 -0
  10. package/cloudAccessPolicy.js +115 -0
  11. package/cloudAccessPolicy.js.map +1 -0
  12. package/cloudAccessPolicyToken.d.ts +151 -0
  13. package/cloudAccessPolicyToken.js +108 -0
  14. package/cloudAccessPolicyToken.js.map +1 -0
  15. package/cloudApiKey.d.ts +102 -0
  16. package/cloudApiKey.js +85 -0
  17. package/cloudApiKey.js.map +1 -0
  18. package/cloudPluginInstallation.d.ts +96 -0
  19. package/cloudPluginInstallation.js +86 -0
  20. package/cloudPluginInstallation.js.map +1 -0
  21. package/cloudStack.d.ts +291 -0
  22. package/cloudStack.js +142 -0
  23. package/cloudStack.js.map +1 -0
  24. package/cloudStackApiKey.d.ts +52 -0
  25. package/cloudStackApiKey.js +67 -0
  26. package/cloudStackApiKey.js.map +1 -0
  27. package/cloudStackServiceAccount.d.ts +97 -0
  28. package/cloudStackServiceAccount.js +80 -0
  29. package/cloudStackServiceAccount.js.map +1 -0
  30. package/cloudStackServiceAccountToken.d.ts +78 -0
  31. package/cloudStackServiceAccountToken.js +93 -0
  32. package/cloudStackServiceAccountToken.js.map +1 -0
  33. package/config/index.d.ts +1 -0
  34. package/config/index.js +21 -0
  35. package/config/index.js.map +1 -0
  36. package/config/vars.d.ts +89 -0
  37. package/config/vars.js +131 -0
  38. package/config/vars.js.map +1 -0
  39. package/contactPoint.d.ts +310 -0
  40. package/contactPoint.js +119 -0
  41. package/contactPoint.js.map +1 -0
  42. package/dashboard.d.ts +154 -0
  43. package/dashboard.js +94 -0
  44. package/dashboard.js.map +1 -0
  45. package/dashboardPermission.d.ts +131 -0
  46. package/dashboardPermission.js +97 -0
  47. package/dashboardPermission.js.map +1 -0
  48. package/dataSource.d.ts +294 -0
  49. package/dataSource.js +164 -0
  50. package/dataSource.js.map +1 -0
  51. package/dataSourcePermission.d.ts +124 -0
  52. package/dataSourcePermission.js +109 -0
  53. package/dataSourcePermission.js.map +1 -0
  54. package/folder.d.ts +127 -0
  55. package/folder.js +95 -0
  56. package/folder.js.map +1 -0
  57. package/folderPermission.d.ts +106 -0
  58. package/folderPermission.js +91 -0
  59. package/folderPermission.js.map +1 -0
  60. package/getCloudIps.d.ts +56 -0
  61. package/getCloudIps.js +41 -0
  62. package/getCloudIps.js.map +1 -0
  63. package/getCloudOrganization.d.ts +37 -0
  64. package/getCloudOrganization.js +21 -0
  65. package/getCloudOrganization.js.map +1 -0
  66. package/getCloudStack.d.ts +130 -0
  67. package/getCloudStack.js +25 -0
  68. package/getCloudStack.js.map +1 -0
  69. package/getDashboard.d.ts +134 -0
  70. package/getDashboard.js +81 -0
  71. package/getDashboard.js.map +1 -0
  72. package/getDashboards.d.ts +74 -0
  73. package/getDashboards.js +36 -0
  74. package/getDashboards.js.map +1 -0
  75. package/getDataSource.d.ts +156 -0
  76. package/getDataSource.js +95 -0
  77. package/getDataSource.js.map +1 -0
  78. package/getFolder.d.ts +82 -0
  79. package/getFolder.js +59 -0
  80. package/getFolder.js.map +1 -0
  81. package/getFolders.d.ts +61 -0
  82. package/getFolders.js +61 -0
  83. package/getFolders.js.map +1 -0
  84. package/getLibraryPanel.d.ts +108 -0
  85. package/getLibraryPanel.js +28 -0
  86. package/getLibraryPanel.js.map +1 -0
  87. package/getOnCallSlackChannel.d.ts +66 -0
  88. package/getOnCallSlackChannel.js +47 -0
  89. package/getOnCallSlackChannel.js.map +1 -0
  90. package/getOncallAction.d.ts +46 -0
  91. package/getOncallAction.js +31 -0
  92. package/getOncallAction.js.map +1 -0
  93. package/getOncallEscalationChain.d.ts +62 -0
  94. package/getOncallEscalationChain.js +47 -0
  95. package/getOncallEscalationChain.js.map +1 -0
  96. package/getOncallOutgoingWebhook.d.ts +62 -0
  97. package/getOncallOutgoingWebhook.js +47 -0
  98. package/getOncallOutgoingWebhook.js.map +1 -0
  99. package/getOncallSchedule.d.ts +68 -0
  100. package/getOncallSchedule.js +49 -0
  101. package/getOncallSchedule.js.map +1 -0
  102. package/getOncallTeam.d.ts +60 -0
  103. package/getOncallTeam.js +43 -0
  104. package/getOncallTeam.js.map +1 -0
  105. package/getOncallUser.d.ts +70 -0
  106. package/getOncallUser.js +47 -0
  107. package/getOncallUser.js.map +1 -0
  108. package/getOncallUserGroup.d.ts +54 -0
  109. package/getOncallUserGroup.js +47 -0
  110. package/getOncallUserGroup.js.map +1 -0
  111. package/getOrganization.d.ts +94 -0
  112. package/getOrganization.js +67 -0
  113. package/getOrganization.js.map +1 -0
  114. package/getOrganizationPreferences.d.ts +62 -0
  115. package/getOrganizationPreferences.js +43 -0
  116. package/getOrganizationPreferences.js.map +1 -0
  117. package/getRole.d.ts +147 -0
  118. package/getRole.js +95 -0
  119. package/getRole.js.map +1 -0
  120. package/getSlos.d.ts +31 -0
  121. package/getSlos.js +31 -0
  122. package/getSlos.js.map +1 -0
  123. package/getSyntheticMonitoringProbe.d.ts +88 -0
  124. package/getSyntheticMonitoringProbe.js +47 -0
  125. package/getSyntheticMonitoringProbe.js.map +1 -0
  126. package/getSyntheticMonitoringProbes.d.ts +64 -0
  127. package/getSyntheticMonitoringProbes.js +44 -0
  128. package/getSyntheticMonitoringProbes.js.map +1 -0
  129. package/getTeam.d.ts +83 -0
  130. package/getTeam.js +67 -0
  131. package/getTeam.js.map +1 -0
  132. package/getUser.d.ts +128 -0
  133. package/getUser.js +84 -0
  134. package/getUser.js.map +1 -0
  135. package/getUsers.d.ts +61 -0
  136. package/getUsers.js +61 -0
  137. package/getUsers.js.map +1 -0
  138. package/index.d.ts +228 -0
  139. package/index.js +353 -0
  140. package/index.js.map +1 -0
  141. package/libraryPanel.d.ts +193 -0
  142. package/libraryPanel.js +103 -0
  143. package/libraryPanel.js.map +1 -0
  144. package/machineLearningHoliday.d.ts +103 -0
  145. package/machineLearningHoliday.js +62 -0
  146. package/machineLearningHoliday.js.map +1 -0
  147. package/machineLearningJob.d.ts +201 -0
  148. package/machineLearningJob.js +83 -0
  149. package/machineLearningJob.js.map +1 -0
  150. package/machineLearningOutlierDetector.d.ts +159 -0
  151. package/machineLearningOutlierDetector.js +84 -0
  152. package/machineLearningOutlierDetector.js.map +1 -0
  153. package/messageTemplate.d.ts +86 -0
  154. package/messageTemplate.js +80 -0
  155. package/messageTemplate.js.map +1 -0
  156. package/muteTiming.d.ts +106 -0
  157. package/muteTiming.js +95 -0
  158. package/muteTiming.js.map +1 -0
  159. package/notificationPolicy.d.ts +186 -0
  160. package/notificationPolicy.js +141 -0
  161. package/notificationPolicy.js.map +1 -0
  162. package/oncallEscalation.d.ts +227 -0
  163. package/oncallEscalation.js +124 -0
  164. package/oncallEscalation.js.map +1 -0
  165. package/oncallEscalationChain.d.ts +80 -0
  166. package/oncallEscalationChain.js +71 -0
  167. package/oncallEscalationChain.js.map +1 -0
  168. package/oncallIntegration.d.ts +116 -0
  169. package/oncallIntegration.js +75 -0
  170. package/oncallIntegration.js.map +1 -0
  171. package/oncallOnCallShift.d.ts +237 -0
  172. package/oncallOnCallShift.js +97 -0
  173. package/oncallOnCallShift.js.map +1 -0
  174. package/oncallOutgoingWebhook.d.ts +152 -0
  175. package/oncallOutgoingWebhook.js +88 -0
  176. package/oncallOutgoingWebhook.js.map +1 -0
  177. package/oncallRoute.d.ts +175 -0
  178. package/oncallRoute.js +116 -0
  179. package/oncallRoute.js.map +1 -0
  180. package/oncallSchedule.d.ts +187 -0
  181. package/oncallSchedule.js +109 -0
  182. package/oncallSchedule.js.map +1 -0
  183. package/organization.d.ts +193 -0
  184. package/organization.js +96 -0
  185. package/organization.js.map +1 -0
  186. package/organizationPreference.d.ts +125 -0
  187. package/organizationPreference.js +76 -0
  188. package/organizationPreference.js.map +1 -0
  189. package/package.json +30 -0
  190. package/package.json.bak +29 -0
  191. package/package.json.dev +29 -0
  192. package/playlist.d.ts +72 -0
  193. package/playlist.js +65 -0
  194. package/playlist.js.map +1 -0
  195. package/provider.d.ts +166 -0
  196. package/provider.js +64 -0
  197. package/provider.js.map +1 -0
  198. package/report.d.ts +241 -0
  199. package/report.js +110 -0
  200. package/report.js.map +1 -0
  201. package/role.d.ts +210 -0
  202. package/role.js +109 -0
  203. package/role.js.map +1 -0
  204. package/roleAssignment.d.ts +131 -0
  205. package/roleAssignment.js +95 -0
  206. package/roleAssignment.js.map +1 -0
  207. package/ruleGroup.d.ts +203 -0
  208. package/ruleGroup.js +174 -0
  209. package/ruleGroup.js.map +1 -0
  210. package/scripts/install-pulumi-plugin.js +21 -0
  211. package/serviceAccount.d.ts +102 -0
  212. package/serviceAccount.js +73 -0
  213. package/serviceAccount.js.map +1 -0
  214. package/serviceAccountPermission.d.ts +110 -0
  215. package/serviceAccountPermission.js +95 -0
  216. package/serviceAccountPermission.js.map +1 -0
  217. package/serviceAccountToken.d.ts +72 -0
  218. package/serviceAccountToken.js +85 -0
  219. package/serviceAccountToken.js.map +1 -0
  220. package/slo.d.ts +131 -0
  221. package/slo.js +77 -0
  222. package/slo.js.map +1 -0
  223. package/syntheticMonitoringCheck.d.ts +555 -0
  224. package/syntheticMonitoringCheck.js +464 -0
  225. package/syntheticMonitoringCheck.js.map +1 -0
  226. package/syntheticMonitoringInstallation.d.ts +112 -0
  227. package/syntheticMonitoringInstallation.js +95 -0
  228. package/syntheticMonitoringInstallation.js.map +1 -0
  229. package/syntheticMonitoringProbe.d.ts +164 -0
  230. package/syntheticMonitoringProbe.js +108 -0
  231. package/syntheticMonitoringProbe.js.map +1 -0
  232. package/team.d.ts +165 -0
  233. package/team.js +89 -0
  234. package/team.js.map +1 -0
  235. package/teamExternalGroup.d.ts +84 -0
  236. package/teamExternalGroup.js +81 -0
  237. package/teamExternalGroup.js.map +1 -0
  238. package/types/index.d.ts +3 -0
  239. package/types/index.js +11 -0
  240. package/types/index.js.map +1 -0
  241. package/types/input.d.ts +1914 -0
  242. package/types/input.js +5 -0
  243. package/types/input.js.map +1 -0
  244. package/types/output.d.ts +2011 -0
  245. package/types/output.js +5 -0
  246. package/types/output.js.map +1 -0
  247. package/user.d.ts +132 -0
  248. package/user.js +95 -0
  249. package/user.js.map +1 -0
  250. package/utilities.d.ts +4 -0
  251. package/utilities.js +69 -0
  252. package/utilities.js.map +1 -0
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.DataSourcePermission = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * * [HTTP API](https://grafana.com/docs/grafana/latest/developers/http_api/datasource_permissions/)
10
+ *
11
+ * ## Example Usage
12
+ *
13
+ * ```typescript
14
+ * import * as pulumi from "@pulumi/pulumi";
15
+ * import * as grafana from "@pulumiverse/grafana";
16
+ *
17
+ * const team = new grafana.Team("team", {});
18
+ * const foo = new grafana.DataSource("foo", {
19
+ * type: "cloudwatch",
20
+ * jsonDataEncoded: JSON.stringify({
21
+ * defaultRegion: "us-east-1",
22
+ * authType: "keys",
23
+ * }),
24
+ * secureJsonDataEncoded: JSON.stringify({
25
+ * accessKey: "123",
26
+ * secretKey: "456",
27
+ * }),
28
+ * });
29
+ * const user = new grafana.User("user", {
30
+ * email: "test-ds-permissions@example.com",
31
+ * login: "test-ds-permissions",
32
+ * password: "hunter2",
33
+ * });
34
+ * const sa = new grafana.ServiceAccount("sa", {role: "Viewer"});
35
+ * const fooPermissions = new grafana.DataSourcePermission("fooPermissions", {
36
+ * datasourceId: foo.id,
37
+ * permissions: [
38
+ * {
39
+ * teamId: team.id,
40
+ * permission: "Query",
41
+ * },
42
+ * {
43
+ * userId: user.id,
44
+ * permission: "Edit",
45
+ * },
46
+ * {
47
+ * builtInRole: "Viewer",
48
+ * permission: "Query",
49
+ * },
50
+ * {
51
+ * userId: sa.id,
52
+ * permission: "Query",
53
+ * },
54
+ * ],
55
+ * });
56
+ * ```
57
+ */
58
+ class DataSourcePermission extends pulumi.CustomResource {
59
+ /**
60
+ * Get an existing DataSourcePermission 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 DataSourcePermission(name, state, Object.assign(Object.assign({}, opts), { id: id }));
70
+ }
71
+ /**
72
+ * Returns true if the given object is an instance of DataSourcePermission. This is designed to work even
73
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
74
+ */
75
+ static isInstance(obj) {
76
+ if (obj === undefined || obj === null) {
77
+ return false;
78
+ }
79
+ return obj['__pulumiType'] === DataSourcePermission.__pulumiType;
80
+ }
81
+ constructor(name, argsOrState, opts) {
82
+ let resourceInputs = {};
83
+ opts = opts || {};
84
+ if (opts.id) {
85
+ const state = argsOrState;
86
+ resourceInputs["datasourceId"] = state ? state.datasourceId : undefined;
87
+ resourceInputs["orgId"] = state ? state.orgId : undefined;
88
+ resourceInputs["permissions"] = state ? state.permissions : undefined;
89
+ }
90
+ else {
91
+ const args = argsOrState;
92
+ if ((!args || args.datasourceId === undefined) && !opts.urn) {
93
+ throw new Error("Missing required property 'datasourceId'");
94
+ }
95
+ if ((!args || args.permissions === undefined) && !opts.urn) {
96
+ throw new Error("Missing required property 'permissions'");
97
+ }
98
+ resourceInputs["datasourceId"] = args ? args.datasourceId : undefined;
99
+ resourceInputs["orgId"] = args ? args.orgId : undefined;
100
+ resourceInputs["permissions"] = args ? args.permissions : undefined;
101
+ }
102
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
103
+ super(DataSourcePermission.__pulumiType, name, resourceInputs, opts);
104
+ }
105
+ }
106
+ exports.DataSourcePermission = DataSourcePermission;
107
+ /** @internal */
108
+ DataSourcePermission.__pulumiType = 'grafana:index/dataSourcePermission:DataSourcePermission';
109
+ //# sourceMappingURL=dataSourcePermission.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataSourcePermission.js","sourceRoot":"","sources":["../dataSourcePermission.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,MAAa,oBAAqB,SAAQ,MAAM,CAAC,cAAc;IAC3D;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAiC,EAAE,IAAmC;QAC/H,OAAO,IAAI,oBAAoB,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IAC3E,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,oBAAoB,CAAC,YAAY,CAAC;IACrE,CAAC;IAuBD,YAAY,IAAY,EAAE,WAAkE,EAAE,IAAmC;QAC7H,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAoD,CAAC;YACnE,cAAc,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;YACxE,cAAc,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1D,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;SACzE;aAAM;YACH,MAAM,IAAI,GAAG,WAAmD,CAAC;YACjE,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACzD,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;aAC/D;YACD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACxD,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;aAC9D;YACD,cAAc,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;YACtE,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YACxD,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;SACvE;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,oBAAoB,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACzE,CAAC;;AAvEL,oDAwEC;AA1DG,gBAAgB;AACO,iCAAY,GAAG,yDAAyD,CAAC"}
package/folder.d.ts ADDED
@@ -0,0 +1,127 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * * [Official documentation](https://grafana.com/docs/grafana/latest/dashboards/manage-dashboards/)
4
+ * * [HTTP API](https://grafana.com/docs/grafana/latest/developers/http_api/folder/)
5
+ *
6
+ * ## Example Usage
7
+ *
8
+ * ```typescript
9
+ * import * as pulumi from "@pulumi/pulumi";
10
+ * import * as grafana from "@pulumiverse/grafana";
11
+ *
12
+ * const testFolderFolder = new grafana.Folder("testFolderFolder", {title: "Terraform Test Folder"});
13
+ * const testFolderDashboard = new grafana.Dashboard("testFolderDashboard", {
14
+ * folder: testFolderFolder.id,
15
+ * configJson: `{
16
+ * "title": "Dashboard in folder",
17
+ * "uid": "dashboard-in-folder"
18
+ * }
19
+ * `,
20
+ * });
21
+ * const testFolderWithUid = new grafana.Folder("testFolderWithUid", {
22
+ * uid: "test-folder-uid",
23
+ * title: "Terraform Test Folder With UID",
24
+ * });
25
+ * ```
26
+ *
27
+ * ## Import
28
+ *
29
+ * ```sh
30
+ * $ pulumi import grafana:index/folder:Folder by_integer_id {{folder_id}}
31
+ * ```
32
+ *
33
+ * ```sh
34
+ * $ pulumi import grafana:index/folder:Folder by_uid {{folder_uid}}
35
+ * ```
36
+ */
37
+ export declare class Folder extends pulumi.CustomResource {
38
+ /**
39
+ * Get an existing Folder resource's state with the given name, ID, and optional extra
40
+ * properties used to qualify the lookup.
41
+ *
42
+ * @param name The _unique_ name of the resulting resource.
43
+ * @param id The _unique_ provider ID of the resource to lookup.
44
+ * @param state Any extra arguments used during the lookup.
45
+ * @param opts Optional settings to control the behavior of the CustomResource.
46
+ */
47
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: FolderState, opts?: pulumi.CustomResourceOptions): Folder;
48
+ /**
49
+ * Returns true if the given object is an instance of Folder. This is designed to work even
50
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
51
+ */
52
+ static isInstance(obj: any): obj is Folder;
53
+ /**
54
+ * The Organization ID. If not set, the Org ID defined in the provider block will be used.
55
+ */
56
+ readonly orgId: pulumi.Output<string | undefined>;
57
+ /**
58
+ * Prevent deletion of the folder if it is not empty (contains dashboards or alert rules). Defaults to `false`.
59
+ */
60
+ readonly preventDestroyIfNotEmpty: pulumi.Output<boolean | undefined>;
61
+ /**
62
+ * The title of the folder.
63
+ */
64
+ readonly title: pulumi.Output<string>;
65
+ /**
66
+ * Unique identifier.
67
+ */
68
+ readonly uid: pulumi.Output<string>;
69
+ /**
70
+ * The full URL of the folder.
71
+ */
72
+ readonly url: pulumi.Output<string>;
73
+ /**
74
+ * Create a Folder resource with the given unique name, arguments, and options.
75
+ *
76
+ * @param name The _unique_ name of the resource.
77
+ * @param args The arguments to use to populate this resource's properties.
78
+ * @param opts A bag of options that control this resource's behavior.
79
+ */
80
+ constructor(name: string, args: FolderArgs, opts?: pulumi.CustomResourceOptions);
81
+ }
82
+ /**
83
+ * Input properties used for looking up and filtering Folder resources.
84
+ */
85
+ export interface FolderState {
86
+ /**
87
+ * The Organization ID. If not set, the Org ID defined in the provider block will be used.
88
+ */
89
+ orgId?: pulumi.Input<string>;
90
+ /**
91
+ * Prevent deletion of the folder if it is not empty (contains dashboards or alert rules). Defaults to `false`.
92
+ */
93
+ preventDestroyIfNotEmpty?: pulumi.Input<boolean>;
94
+ /**
95
+ * The title of the folder.
96
+ */
97
+ title?: pulumi.Input<string>;
98
+ /**
99
+ * Unique identifier.
100
+ */
101
+ uid?: pulumi.Input<string>;
102
+ /**
103
+ * The full URL of the folder.
104
+ */
105
+ url?: pulumi.Input<string>;
106
+ }
107
+ /**
108
+ * The set of arguments for constructing a Folder resource.
109
+ */
110
+ export interface FolderArgs {
111
+ /**
112
+ * The Organization ID. If not set, the Org ID defined in the provider block will be used.
113
+ */
114
+ orgId?: pulumi.Input<string>;
115
+ /**
116
+ * Prevent deletion of the folder if it is not empty (contains dashboards or alert rules). Defaults to `false`.
117
+ */
118
+ preventDestroyIfNotEmpty?: pulumi.Input<boolean>;
119
+ /**
120
+ * The title of the folder.
121
+ */
122
+ title: pulumi.Input<string>;
123
+ /**
124
+ * Unique identifier.
125
+ */
126
+ uid?: pulumi.Input<string>;
127
+ }
package/folder.js ADDED
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.Folder = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * * [Official documentation](https://grafana.com/docs/grafana/latest/dashboards/manage-dashboards/)
10
+ * * [HTTP API](https://grafana.com/docs/grafana/latest/developers/http_api/folder/)
11
+ *
12
+ * ## Example Usage
13
+ *
14
+ * ```typescript
15
+ * import * as pulumi from "@pulumi/pulumi";
16
+ * import * as grafana from "@pulumiverse/grafana";
17
+ *
18
+ * const testFolderFolder = new grafana.Folder("testFolderFolder", {title: "Terraform Test Folder"});
19
+ * const testFolderDashboard = new grafana.Dashboard("testFolderDashboard", {
20
+ * folder: testFolderFolder.id,
21
+ * configJson: `{
22
+ * "title": "Dashboard in folder",
23
+ * "uid": "dashboard-in-folder"
24
+ * }
25
+ * `,
26
+ * });
27
+ * const testFolderWithUid = new grafana.Folder("testFolderWithUid", {
28
+ * uid: "test-folder-uid",
29
+ * title: "Terraform Test Folder With UID",
30
+ * });
31
+ * ```
32
+ *
33
+ * ## Import
34
+ *
35
+ * ```sh
36
+ * $ pulumi import grafana:index/folder:Folder by_integer_id {{folder_id}}
37
+ * ```
38
+ *
39
+ * ```sh
40
+ * $ pulumi import grafana:index/folder:Folder by_uid {{folder_uid}}
41
+ * ```
42
+ */
43
+ class Folder extends pulumi.CustomResource {
44
+ /**
45
+ * Get an existing Folder resource's state with the given name, ID, and optional extra
46
+ * properties used to qualify the lookup.
47
+ *
48
+ * @param name The _unique_ name of the resulting resource.
49
+ * @param id The _unique_ provider ID of the resource to lookup.
50
+ * @param state Any extra arguments used during the lookup.
51
+ * @param opts Optional settings to control the behavior of the CustomResource.
52
+ */
53
+ static get(name, id, state, opts) {
54
+ return new Folder(name, state, Object.assign(Object.assign({}, opts), { id: id }));
55
+ }
56
+ /**
57
+ * Returns true if the given object is an instance of Folder. This is designed to work even
58
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
59
+ */
60
+ static isInstance(obj) {
61
+ if (obj === undefined || obj === null) {
62
+ return false;
63
+ }
64
+ return obj['__pulumiType'] === Folder.__pulumiType;
65
+ }
66
+ constructor(name, argsOrState, opts) {
67
+ let resourceInputs = {};
68
+ opts = opts || {};
69
+ if (opts.id) {
70
+ const state = argsOrState;
71
+ resourceInputs["orgId"] = state ? state.orgId : undefined;
72
+ resourceInputs["preventDestroyIfNotEmpty"] = state ? state.preventDestroyIfNotEmpty : undefined;
73
+ resourceInputs["title"] = state ? state.title : undefined;
74
+ resourceInputs["uid"] = state ? state.uid : undefined;
75
+ resourceInputs["url"] = state ? state.url : undefined;
76
+ }
77
+ else {
78
+ const args = argsOrState;
79
+ if ((!args || args.title === undefined) && !opts.urn) {
80
+ throw new Error("Missing required property 'title'");
81
+ }
82
+ resourceInputs["orgId"] = args ? args.orgId : undefined;
83
+ resourceInputs["preventDestroyIfNotEmpty"] = args ? args.preventDestroyIfNotEmpty : undefined;
84
+ resourceInputs["title"] = args ? args.title : undefined;
85
+ resourceInputs["uid"] = args ? args.uid : undefined;
86
+ resourceInputs["url"] = undefined /*out*/;
87
+ }
88
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
89
+ super(Folder.__pulumiType, name, resourceInputs, opts);
90
+ }
91
+ }
92
+ exports.Folder = Folder;
93
+ /** @internal */
94
+ Folder.__pulumiType = 'grafana:index/folder:Folder';
95
+ //# sourceMappingURL=folder.js.map
package/folder.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"folder.js","sourceRoot":"","sources":["../folder.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAa,MAAO,SAAQ,MAAM,CAAC,cAAc;IAC7C;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAmB,EAAE,IAAmC;QACjH,OAAO,IAAI,MAAM,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IAC7D,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,MAAM,CAAC,YAAY,CAAC;IACvD,CAAC;IA+BD,YAAY,IAAY,EAAE,WAAsC,EAAE,IAAmC;QACjG,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAsC,CAAC;YACrD,cAAc,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1D,cAAc,CAAC,0BAA0B,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC,SAAS,CAAC;YAChG,cAAc,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1D,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;YACtD,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;SACzD;aAAM;YACH,MAAM,IAAI,GAAG,WAAqC,CAAC;YACnD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAClD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;aACxD;YACD,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YACxD,cAAc,CAAC,0BAA0B,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9F,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YACxD,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;YACpD,cAAc,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SAC7C;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;;AAhFL,wBAiFC;AAnEG,gBAAgB;AACO,mBAAY,GAAG,6BAA6B,CAAC"}
@@ -0,0 +1,106 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as inputs from "./types/input";
3
+ import * as outputs from "./types/output";
4
+ /**
5
+ * * [Official documentation](https://grafana.com/docs/grafana/latest/administration/roles-and-permissions/access-control/)
6
+ * * [HTTP API](https://grafana.com/docs/grafana/latest/developers/http_api/folder_permissions/)
7
+ *
8
+ * ## Example Usage
9
+ *
10
+ * ```typescript
11
+ * import * as pulumi from "@pulumi/pulumi";
12
+ * import * as grafana from "@pulumiverse/grafana";
13
+ *
14
+ * const team = new grafana.Team("team", {});
15
+ * const user = new grafana.User("user", {email: "user.name@example.com"});
16
+ * const collection = new grafana.Folder("collection", {title: "Folder Title"});
17
+ * const collectionPermission = new grafana.FolderPermission("collectionPermission", {
18
+ * folderUid: collection.uid,
19
+ * permissions: [
20
+ * {
21
+ * role: "Editor",
22
+ * permission: "Edit",
23
+ * },
24
+ * {
25
+ * teamId: team.id,
26
+ * permission: "View",
27
+ * },
28
+ * {
29
+ * userId: user.id,
30
+ * permission: "Admin",
31
+ * },
32
+ * ],
33
+ * });
34
+ * ```
35
+ */
36
+ export declare class FolderPermission extends pulumi.CustomResource {
37
+ /**
38
+ * Get an existing FolderPermission resource's state with the given name, ID, and optional extra
39
+ * properties used to qualify the lookup.
40
+ *
41
+ * @param name The _unique_ name of the resulting resource.
42
+ * @param id The _unique_ provider ID of the resource to lookup.
43
+ * @param state Any extra arguments used during the lookup.
44
+ * @param opts Optional settings to control the behavior of the CustomResource.
45
+ */
46
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: FolderPermissionState, opts?: pulumi.CustomResourceOptions): FolderPermission;
47
+ /**
48
+ * Returns true if the given object is an instance of FolderPermission. This is designed to work even
49
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
50
+ */
51
+ static isInstance(obj: any): obj is FolderPermission;
52
+ /**
53
+ * The UID of the folder.
54
+ */
55
+ readonly folderUid: pulumi.Output<string>;
56
+ /**
57
+ * The Organization ID. If not set, the Org ID defined in the provider block will be used.
58
+ */
59
+ readonly orgId: pulumi.Output<string | undefined>;
60
+ /**
61
+ * The permission items to add/update. Items that are omitted from the list will be removed.
62
+ */
63
+ readonly permissions: pulumi.Output<outputs.FolderPermissionPermission[]>;
64
+ /**
65
+ * Create a FolderPermission resource with the given unique name, arguments, and options.
66
+ *
67
+ * @param name The _unique_ name of the resource.
68
+ * @param args The arguments to use to populate this resource's properties.
69
+ * @param opts A bag of options that control this resource's behavior.
70
+ */
71
+ constructor(name: string, args: FolderPermissionArgs, opts?: pulumi.CustomResourceOptions);
72
+ }
73
+ /**
74
+ * Input properties used for looking up and filtering FolderPermission resources.
75
+ */
76
+ export interface FolderPermissionState {
77
+ /**
78
+ * The UID of the folder.
79
+ */
80
+ folderUid?: pulumi.Input<string>;
81
+ /**
82
+ * The Organization ID. If not set, the Org ID defined in the provider block will be used.
83
+ */
84
+ orgId?: pulumi.Input<string>;
85
+ /**
86
+ * The permission items to add/update. Items that are omitted from the list will be removed.
87
+ */
88
+ permissions?: pulumi.Input<pulumi.Input<inputs.FolderPermissionPermission>[]>;
89
+ }
90
+ /**
91
+ * The set of arguments for constructing a FolderPermission resource.
92
+ */
93
+ export interface FolderPermissionArgs {
94
+ /**
95
+ * The UID of the folder.
96
+ */
97
+ folderUid: pulumi.Input<string>;
98
+ /**
99
+ * The Organization ID. If not set, the Org ID defined in the provider block will be used.
100
+ */
101
+ orgId?: pulumi.Input<string>;
102
+ /**
103
+ * The permission items to add/update. Items that are omitted from the list will be removed.
104
+ */
105
+ permissions: pulumi.Input<pulumi.Input<inputs.FolderPermissionPermission>[]>;
106
+ }
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.FolderPermission = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * * [Official documentation](https://grafana.com/docs/grafana/latest/administration/roles-and-permissions/access-control/)
10
+ * * [HTTP API](https://grafana.com/docs/grafana/latest/developers/http_api/folder_permissions/)
11
+ *
12
+ * ## Example Usage
13
+ *
14
+ * ```typescript
15
+ * import * as pulumi from "@pulumi/pulumi";
16
+ * import * as grafana from "@pulumiverse/grafana";
17
+ *
18
+ * const team = new grafana.Team("team", {});
19
+ * const user = new grafana.User("user", {email: "user.name@example.com"});
20
+ * const collection = new grafana.Folder("collection", {title: "Folder Title"});
21
+ * const collectionPermission = new grafana.FolderPermission("collectionPermission", {
22
+ * folderUid: collection.uid,
23
+ * permissions: [
24
+ * {
25
+ * role: "Editor",
26
+ * permission: "Edit",
27
+ * },
28
+ * {
29
+ * teamId: team.id,
30
+ * permission: "View",
31
+ * },
32
+ * {
33
+ * userId: user.id,
34
+ * permission: "Admin",
35
+ * },
36
+ * ],
37
+ * });
38
+ * ```
39
+ */
40
+ class FolderPermission extends pulumi.CustomResource {
41
+ /**
42
+ * Get an existing FolderPermission resource's state with the given name, ID, and optional extra
43
+ * properties used to qualify the lookup.
44
+ *
45
+ * @param name The _unique_ name of the resulting resource.
46
+ * @param id The _unique_ provider ID of the resource to lookup.
47
+ * @param state Any extra arguments used during the lookup.
48
+ * @param opts Optional settings to control the behavior of the CustomResource.
49
+ */
50
+ static get(name, id, state, opts) {
51
+ return new FolderPermission(name, state, Object.assign(Object.assign({}, opts), { id: id }));
52
+ }
53
+ /**
54
+ * Returns true if the given object is an instance of FolderPermission. This is designed to work even
55
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
56
+ */
57
+ static isInstance(obj) {
58
+ if (obj === undefined || obj === null) {
59
+ return false;
60
+ }
61
+ return obj['__pulumiType'] === FolderPermission.__pulumiType;
62
+ }
63
+ constructor(name, argsOrState, opts) {
64
+ let resourceInputs = {};
65
+ opts = opts || {};
66
+ if (opts.id) {
67
+ const state = argsOrState;
68
+ resourceInputs["folderUid"] = state ? state.folderUid : undefined;
69
+ resourceInputs["orgId"] = state ? state.orgId : undefined;
70
+ resourceInputs["permissions"] = state ? state.permissions : undefined;
71
+ }
72
+ else {
73
+ const args = argsOrState;
74
+ if ((!args || args.folderUid === undefined) && !opts.urn) {
75
+ throw new Error("Missing required property 'folderUid'");
76
+ }
77
+ if ((!args || args.permissions === undefined) && !opts.urn) {
78
+ throw new Error("Missing required property 'permissions'");
79
+ }
80
+ resourceInputs["folderUid"] = args ? args.folderUid : undefined;
81
+ resourceInputs["orgId"] = args ? args.orgId : undefined;
82
+ resourceInputs["permissions"] = args ? args.permissions : undefined;
83
+ }
84
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
85
+ super(FolderPermission.__pulumiType, name, resourceInputs, opts);
86
+ }
87
+ }
88
+ exports.FolderPermission = FolderPermission;
89
+ /** @internal */
90
+ FolderPermission.__pulumiType = 'grafana:index/folderPermission:FolderPermission';
91
+ //# sourceMappingURL=folderPermission.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"folderPermission.js","sourceRoot":"","sources":["../folderPermission.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAa,gBAAiB,SAAQ,MAAM,CAAC,cAAc;IACvD;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAA6B,EAAE,IAAmC;QAC3H,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IACvE,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,gBAAgB,CAAC,YAAY,CAAC;IACjE,CAAC;IAuBD,YAAY,IAAY,EAAE,WAA0D,EAAE,IAAmC;QACrH,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAgD,CAAC;YAC/D,cAAc,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;YAClE,cAAc,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1D,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;SACzE;aAAM;YACH,MAAM,IAAI,GAAG,WAA+C,CAAC;YAC7D,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACtD,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;aAC5D;YACD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACxD,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;aAC9D;YACD,cAAc,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;YAChE,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YACxD,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;SACvE;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACrE,CAAC;;AAvEL,4CAwEC;AA1DG,gBAAgB;AACO,6BAAY,GAAG,iDAAiD,CAAC"}
@@ -0,0 +1,56 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * Data source for retrieving sets of cloud IPs. See https://grafana.com/docs/grafana-cloud/reference/allow-list/ for more info
4
+ *
5
+ * ## Example Usage
6
+ *
7
+ * ```typescript
8
+ * import * as pulumi from "@pulumi/pulumi";
9
+ * import * as grafana from "@pulumi/grafana";
10
+ *
11
+ * const test = grafana.getCloudIps({});
12
+ * ```
13
+ */
14
+ export declare function getCloudIps(opts?: pulumi.InvokeOptions): Promise<GetCloudIpsResult>;
15
+ /**
16
+ * A collection of values returned by getCloudIps.
17
+ */
18
+ export interface GetCloudIpsResult {
19
+ /**
20
+ * Set of IP addresses that are used for hosted alerts.
21
+ */
22
+ readonly hostedAlerts: string[];
23
+ /**
24
+ * Set of IP addresses that are used for hosted Grafana.
25
+ */
26
+ readonly hostedGrafanas: string[];
27
+ /**
28
+ * Set of IP addresses that are used for hosted logs.
29
+ */
30
+ readonly hostedLogs: string[];
31
+ /**
32
+ * Set of IP addresses that are used for hosted metrics.
33
+ */
34
+ readonly hostedMetrics: string[];
35
+ /**
36
+ * Set of IP addresses that are used for hosted traces.
37
+ */
38
+ readonly hostedTraces: string[];
39
+ /**
40
+ * The provider-assigned unique ID for this managed resource.
41
+ */
42
+ readonly id: string;
43
+ }
44
+ /**
45
+ * Data source for retrieving sets of cloud IPs. See https://grafana.com/docs/grafana-cloud/reference/allow-list/ for more info
46
+ *
47
+ * ## Example Usage
48
+ *
49
+ * ```typescript
50
+ * import * as pulumi from "@pulumi/pulumi";
51
+ * import * as grafana from "@pulumi/grafana";
52
+ *
53
+ * const test = grafana.getCloudIps({});
54
+ * ```
55
+ */
56
+ export declare function getCloudIpsOutput(opts?: pulumi.InvokeOptions): pulumi.Output<GetCloudIpsResult>;
package/getCloudIps.js ADDED
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.getCloudIpsOutput = exports.getCloudIps = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * Data source for retrieving sets of cloud IPs. See https://grafana.com/docs/grafana-cloud/reference/allow-list/ for more info
10
+ *
11
+ * ## Example Usage
12
+ *
13
+ * ```typescript
14
+ * import * as pulumi from "@pulumi/pulumi";
15
+ * import * as grafana from "@pulumi/grafana";
16
+ *
17
+ * const test = grafana.getCloudIps({});
18
+ * ```
19
+ */
20
+ function getCloudIps(opts) {
21
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
22
+ return pulumi.runtime.invoke("grafana:index/getCloudIps:getCloudIps", {}, opts);
23
+ }
24
+ exports.getCloudIps = getCloudIps;
25
+ /**
26
+ * Data source for retrieving sets of cloud IPs. See https://grafana.com/docs/grafana-cloud/reference/allow-list/ for more info
27
+ *
28
+ * ## Example Usage
29
+ *
30
+ * ```typescript
31
+ * import * as pulumi from "@pulumi/pulumi";
32
+ * import * as grafana from "@pulumi/grafana";
33
+ *
34
+ * const test = grafana.getCloudIps({});
35
+ * ```
36
+ */
37
+ function getCloudIpsOutput(opts) {
38
+ return pulumi.output(getCloudIps(opts));
39
+ }
40
+ exports.getCloudIpsOutput = getCloudIpsOutput;
41
+ //# sourceMappingURL=getCloudIps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCloudIps.js","sourceRoot":"","sources":["../getCloudIps.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;;;;;;;GAWG;AACH,SAAgB,WAAW,CAAC,IAA2B;IAEnD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,uCAAuC,EAAE,EACrE,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AALD,kCAKC;AA+BD;;;;;;;;;;;GAWG;AACH,SAAgB,iBAAiB,CAAC,IAA2B;IACzD,OAAO,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAA;AAC3C,CAAC;AAFD,8CAEC"}