@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,294 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * * [Official documentation](https://grafana.com/docs/grafana/latest/datasources/)
4
+ * * [HTTP API](https://grafana.com/docs/grafana/latest/developers/http_api/data_source/)
5
+ *
6
+ * The required arguments for this resource vary depending on the type of data
7
+ * source selected (via the 'type' argument).
8
+ *
9
+ * ## Example Usage
10
+ *
11
+ * ```typescript
12
+ * import * as pulumi from "@pulumi/pulumi";
13
+ * import * as grafana from "@pulumiverse/grafana";
14
+ *
15
+ * const arbitrary_data = new grafana.DataSource("arbitrary-data", {
16
+ * type: "stackdriver",
17
+ * jsonDataEncoded: JSON.stringify({
18
+ * tokenUri: "https://oauth2.googleapis.com/token",
19
+ * authenticationType: "jwt",
20
+ * defaultProject: "default-project",
21
+ * clientEmail: "client-email@default-project.iam.gserviceaccount.com",
22
+ * }),
23
+ * secureJsonDataEncoded: JSON.stringify({
24
+ * privateKey: `-----BEGIN PRIVATE KEY-----
25
+ * private-key
26
+ * -----END PRIVATE KEY-----
27
+ * `,
28
+ * }),
29
+ * });
30
+ * const influxdb = new grafana.DataSource("influxdb", {
31
+ * type: "influxdb",
32
+ * url: "http://influxdb.example.net:8086/",
33
+ * basicAuthEnabled: true,
34
+ * basicAuthUsername: "username",
35
+ * databaseName: influxdb_database.metrics.name,
36
+ * jsonDataEncoded: JSON.stringify({
37
+ * authType: "default",
38
+ * basicAuthPassword: "mypassword",
39
+ * }),
40
+ * });
41
+ * const cloudwatch = new grafana.DataSource("cloudwatch", {
42
+ * type: "cloudwatch",
43
+ * jsonDataEncoded: JSON.stringify({
44
+ * defaultRegion: "us-east-1",
45
+ * authType: "keys",
46
+ * }),
47
+ * secureJsonDataEncoded: JSON.stringify({
48
+ * accessKey: "123",
49
+ * secretKey: "456",
50
+ * }),
51
+ * });
52
+ * const prometheus = new grafana.DataSource("prometheus", {
53
+ * type: "prometheus",
54
+ * url: "https://my-instances.com",
55
+ * basicAuthEnabled: true,
56
+ * basicAuthUsername: "username",
57
+ * jsonDataEncoded: JSON.stringify({
58
+ * httpMethod: "POST",
59
+ * prometheusType: "Mimir",
60
+ * prometheusVersion: "2.4.0",
61
+ * }),
62
+ * secureJsonDataEncoded: JSON.stringify({
63
+ * basicAuthPassword: "password",
64
+ * }),
65
+ * });
66
+ * ```
67
+ *
68
+ * ## Import
69
+ *
70
+ * ```sh
71
+ * $ pulumi import grafana:index/dataSource:DataSource by_integer_id {{datasource_id}} # To use the default provider org
72
+ * ```
73
+ *
74
+ * ```sh
75
+ * $ pulumi import grafana:index/dataSource:DataSource by_uid {{datasource_uid}} # To use the default provider org
76
+ * ```
77
+ *
78
+ * ```sh
79
+ * $ pulumi import grafana:index/dataSource:DataSource by_integer_id {{org_id}}:{{datasource_id}} # When "org_id" is set on the resource
80
+ * ```
81
+ *
82
+ * ```sh
83
+ * $ pulumi import grafana:index/dataSource:DataSource by_uid {{org_id}}:{{datasource_uid}} # When "org_id" is set on the resource
84
+ * ```
85
+ */
86
+ export declare class DataSource extends pulumi.CustomResource {
87
+ /**
88
+ * Get an existing DataSource resource's state with the given name, ID, and optional extra
89
+ * properties used to qualify the lookup.
90
+ *
91
+ * @param name The _unique_ name of the resulting resource.
92
+ * @param id The _unique_ provider ID of the resource to lookup.
93
+ * @param state Any extra arguments used during the lookup.
94
+ * @param opts Optional settings to control the behavior of the CustomResource.
95
+ */
96
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DataSourceState, opts?: pulumi.CustomResourceOptions): DataSource;
97
+ /**
98
+ * Returns true if the given object is an instance of DataSource. This is designed to work even
99
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
100
+ */
101
+ static isInstance(obj: any): obj is DataSource;
102
+ /**
103
+ * The method by which Grafana will access the data source: `proxy` or `direct`. Defaults to `proxy`.
104
+ */
105
+ readonly accessMode: pulumi.Output<string | undefined>;
106
+ /**
107
+ * Whether to enable basic auth for the data source. Defaults to `false`.
108
+ */
109
+ readonly basicAuthEnabled: pulumi.Output<boolean | undefined>;
110
+ /**
111
+ * Basic auth username. Defaults to ``.
112
+ */
113
+ readonly basicAuthUsername: pulumi.Output<string | undefined>;
114
+ /**
115
+ * (Required by some data source types) The name of the database to use on the selected data source server. Defaults to ``.
116
+ */
117
+ readonly databaseName: pulumi.Output<string | undefined>;
118
+ /**
119
+ * Custom HTTP headers
120
+ */
121
+ readonly httpHeaders: pulumi.Output<{
122
+ [key: string]: string;
123
+ } | undefined>;
124
+ /**
125
+ * Whether to set the data source as default. This should only be `true` to a single data source. Defaults to `false`.
126
+ */
127
+ readonly isDefault: pulumi.Output<boolean | undefined>;
128
+ /**
129
+ * Serialized JSON string containing the json data. This attribute can be used to pass configuration options to the data source. To figure out what options a datasource has available, see its docs or inspect the network data when saving it from the Grafana UI. Note that keys in this map are usually camelCased.
130
+ */
131
+ readonly jsonDataEncoded: pulumi.Output<string | undefined>;
132
+ /**
133
+ * A unique name for the data source.
134
+ */
135
+ readonly name: pulumi.Output<string>;
136
+ /**
137
+ * The Organization ID. If not set, the Org ID defined in the provider block will be used.
138
+ */
139
+ readonly orgId: pulumi.Output<string | undefined>;
140
+ /**
141
+ * Serialized JSON string containing the secure json data. This attribute can be used to pass secure configuration options to the data source. To figure out what options a datasource has available, see its docs or inspect the network data when saving it from the Grafana UI. Note that keys in this map are usually camelCased.
142
+ */
143
+ readonly secureJsonDataEncoded: pulumi.Output<string | undefined>;
144
+ /**
145
+ * The data source type. Must be one of the supported data source keywords.
146
+ */
147
+ readonly type: pulumi.Output<string>;
148
+ /**
149
+ * Unique identifier. If unset, this will be automatically generated.
150
+ */
151
+ readonly uid: pulumi.Output<string>;
152
+ /**
153
+ * The URL for the data source. The type of URL required varies depending on the chosen data source type.
154
+ */
155
+ readonly url: pulumi.Output<string | undefined>;
156
+ /**
157
+ * (Required by some data source types) The username to use to authenticate to the data source. Defaults to ``.
158
+ */
159
+ readonly username: pulumi.Output<string | undefined>;
160
+ /**
161
+ * Create a DataSource resource with the given unique name, arguments, and options.
162
+ *
163
+ * @param name The _unique_ name of the resource.
164
+ * @param args The arguments to use to populate this resource's properties.
165
+ * @param opts A bag of options that control this resource's behavior.
166
+ */
167
+ constructor(name: string, args: DataSourceArgs, opts?: pulumi.CustomResourceOptions);
168
+ }
169
+ /**
170
+ * Input properties used for looking up and filtering DataSource resources.
171
+ */
172
+ export interface DataSourceState {
173
+ /**
174
+ * The method by which Grafana will access the data source: `proxy` or `direct`. Defaults to `proxy`.
175
+ */
176
+ accessMode?: pulumi.Input<string>;
177
+ /**
178
+ * Whether to enable basic auth for the data source. Defaults to `false`.
179
+ */
180
+ basicAuthEnabled?: pulumi.Input<boolean>;
181
+ /**
182
+ * Basic auth username. Defaults to ``.
183
+ */
184
+ basicAuthUsername?: pulumi.Input<string>;
185
+ /**
186
+ * (Required by some data source types) The name of the database to use on the selected data source server. Defaults to ``.
187
+ */
188
+ databaseName?: pulumi.Input<string>;
189
+ /**
190
+ * Custom HTTP headers
191
+ */
192
+ httpHeaders?: pulumi.Input<{
193
+ [key: string]: pulumi.Input<string>;
194
+ }>;
195
+ /**
196
+ * Whether to set the data source as default. This should only be `true` to a single data source. Defaults to `false`.
197
+ */
198
+ isDefault?: pulumi.Input<boolean>;
199
+ /**
200
+ * Serialized JSON string containing the json data. This attribute can be used to pass configuration options to the data source. To figure out what options a datasource has available, see its docs or inspect the network data when saving it from the Grafana UI. Note that keys in this map are usually camelCased.
201
+ */
202
+ jsonDataEncoded?: pulumi.Input<string>;
203
+ /**
204
+ * A unique name for the data source.
205
+ */
206
+ name?: pulumi.Input<string>;
207
+ /**
208
+ * The Organization ID. If not set, the Org ID defined in the provider block will be used.
209
+ */
210
+ orgId?: pulumi.Input<string>;
211
+ /**
212
+ * Serialized JSON string containing the secure json data. This attribute can be used to pass secure configuration options to the data source. To figure out what options a datasource has available, see its docs or inspect the network data when saving it from the Grafana UI. Note that keys in this map are usually camelCased.
213
+ */
214
+ secureJsonDataEncoded?: pulumi.Input<string>;
215
+ /**
216
+ * The data source type. Must be one of the supported data source keywords.
217
+ */
218
+ type?: pulumi.Input<string>;
219
+ /**
220
+ * Unique identifier. If unset, this will be automatically generated.
221
+ */
222
+ uid?: pulumi.Input<string>;
223
+ /**
224
+ * The URL for the data source. The type of URL required varies depending on the chosen data source type.
225
+ */
226
+ url?: pulumi.Input<string>;
227
+ /**
228
+ * (Required by some data source types) The username to use to authenticate to the data source. Defaults to ``.
229
+ */
230
+ username?: pulumi.Input<string>;
231
+ }
232
+ /**
233
+ * The set of arguments for constructing a DataSource resource.
234
+ */
235
+ export interface DataSourceArgs {
236
+ /**
237
+ * The method by which Grafana will access the data source: `proxy` or `direct`. Defaults to `proxy`.
238
+ */
239
+ accessMode?: pulumi.Input<string>;
240
+ /**
241
+ * Whether to enable basic auth for the data source. Defaults to `false`.
242
+ */
243
+ basicAuthEnabled?: pulumi.Input<boolean>;
244
+ /**
245
+ * Basic auth username. Defaults to ``.
246
+ */
247
+ basicAuthUsername?: pulumi.Input<string>;
248
+ /**
249
+ * (Required by some data source types) The name of the database to use on the selected data source server. Defaults to ``.
250
+ */
251
+ databaseName?: pulumi.Input<string>;
252
+ /**
253
+ * Custom HTTP headers
254
+ */
255
+ httpHeaders?: pulumi.Input<{
256
+ [key: string]: pulumi.Input<string>;
257
+ }>;
258
+ /**
259
+ * Whether to set the data source as default. This should only be `true` to a single data source. Defaults to `false`.
260
+ */
261
+ isDefault?: pulumi.Input<boolean>;
262
+ /**
263
+ * Serialized JSON string containing the json data. This attribute can be used to pass configuration options to the data source. To figure out what options a datasource has available, see its docs or inspect the network data when saving it from the Grafana UI. Note that keys in this map are usually camelCased.
264
+ */
265
+ jsonDataEncoded?: pulumi.Input<string>;
266
+ /**
267
+ * A unique name for the data source.
268
+ */
269
+ name?: pulumi.Input<string>;
270
+ /**
271
+ * The Organization ID. If not set, the Org ID defined in the provider block will be used.
272
+ */
273
+ orgId?: pulumi.Input<string>;
274
+ /**
275
+ * Serialized JSON string containing the secure json data. This attribute can be used to pass secure configuration options to the data source. To figure out what options a datasource has available, see its docs or inspect the network data when saving it from the Grafana UI. Note that keys in this map are usually camelCased.
276
+ */
277
+ secureJsonDataEncoded?: pulumi.Input<string>;
278
+ /**
279
+ * The data source type. Must be one of the supported data source keywords.
280
+ */
281
+ type: pulumi.Input<string>;
282
+ /**
283
+ * Unique identifier. If unset, this will be automatically generated.
284
+ */
285
+ uid?: pulumi.Input<string>;
286
+ /**
287
+ * The URL for the data source. The type of URL required varies depending on the chosen data source type.
288
+ */
289
+ url?: pulumi.Input<string>;
290
+ /**
291
+ * (Required by some data source types) The username to use to authenticate to the data source. Defaults to ``.
292
+ */
293
+ username?: pulumi.Input<string>;
294
+ }
package/dataSource.js ADDED
@@ -0,0 +1,164 @@
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.DataSource = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * * [Official documentation](https://grafana.com/docs/grafana/latest/datasources/)
10
+ * * [HTTP API](https://grafana.com/docs/grafana/latest/developers/http_api/data_source/)
11
+ *
12
+ * The required arguments for this resource vary depending on the type of data
13
+ * source selected (via the 'type' argument).
14
+ *
15
+ * ## Example Usage
16
+ *
17
+ * ```typescript
18
+ * import * as pulumi from "@pulumi/pulumi";
19
+ * import * as grafana from "@pulumiverse/grafana";
20
+ *
21
+ * const arbitrary_data = new grafana.DataSource("arbitrary-data", {
22
+ * type: "stackdriver",
23
+ * jsonDataEncoded: JSON.stringify({
24
+ * tokenUri: "https://oauth2.googleapis.com/token",
25
+ * authenticationType: "jwt",
26
+ * defaultProject: "default-project",
27
+ * clientEmail: "client-email@default-project.iam.gserviceaccount.com",
28
+ * }),
29
+ * secureJsonDataEncoded: JSON.stringify({
30
+ * privateKey: `-----BEGIN PRIVATE KEY-----
31
+ * private-key
32
+ * -----END PRIVATE KEY-----
33
+ * `,
34
+ * }),
35
+ * });
36
+ * const influxdb = new grafana.DataSource("influxdb", {
37
+ * type: "influxdb",
38
+ * url: "http://influxdb.example.net:8086/",
39
+ * basicAuthEnabled: true,
40
+ * basicAuthUsername: "username",
41
+ * databaseName: influxdb_database.metrics.name,
42
+ * jsonDataEncoded: JSON.stringify({
43
+ * authType: "default",
44
+ * basicAuthPassword: "mypassword",
45
+ * }),
46
+ * });
47
+ * const cloudwatch = new grafana.DataSource("cloudwatch", {
48
+ * type: "cloudwatch",
49
+ * jsonDataEncoded: JSON.stringify({
50
+ * defaultRegion: "us-east-1",
51
+ * authType: "keys",
52
+ * }),
53
+ * secureJsonDataEncoded: JSON.stringify({
54
+ * accessKey: "123",
55
+ * secretKey: "456",
56
+ * }),
57
+ * });
58
+ * const prometheus = new grafana.DataSource("prometheus", {
59
+ * type: "prometheus",
60
+ * url: "https://my-instances.com",
61
+ * basicAuthEnabled: true,
62
+ * basicAuthUsername: "username",
63
+ * jsonDataEncoded: JSON.stringify({
64
+ * httpMethod: "POST",
65
+ * prometheusType: "Mimir",
66
+ * prometheusVersion: "2.4.0",
67
+ * }),
68
+ * secureJsonDataEncoded: JSON.stringify({
69
+ * basicAuthPassword: "password",
70
+ * }),
71
+ * });
72
+ * ```
73
+ *
74
+ * ## Import
75
+ *
76
+ * ```sh
77
+ * $ pulumi import grafana:index/dataSource:DataSource by_integer_id {{datasource_id}} # To use the default provider org
78
+ * ```
79
+ *
80
+ * ```sh
81
+ * $ pulumi import grafana:index/dataSource:DataSource by_uid {{datasource_uid}} # To use the default provider org
82
+ * ```
83
+ *
84
+ * ```sh
85
+ * $ pulumi import grafana:index/dataSource:DataSource by_integer_id {{org_id}}:{{datasource_id}} # When "org_id" is set on the resource
86
+ * ```
87
+ *
88
+ * ```sh
89
+ * $ pulumi import grafana:index/dataSource:DataSource by_uid {{org_id}}:{{datasource_uid}} # When "org_id" is set on the resource
90
+ * ```
91
+ */
92
+ class DataSource extends pulumi.CustomResource {
93
+ /**
94
+ * Get an existing DataSource resource's state with the given name, ID, and optional extra
95
+ * properties used to qualify the lookup.
96
+ *
97
+ * @param name The _unique_ name of the resulting resource.
98
+ * @param id The _unique_ provider ID of the resource to lookup.
99
+ * @param state Any extra arguments used during the lookup.
100
+ * @param opts Optional settings to control the behavior of the CustomResource.
101
+ */
102
+ static get(name, id, state, opts) {
103
+ return new DataSource(name, state, Object.assign(Object.assign({}, opts), { id: id }));
104
+ }
105
+ /**
106
+ * Returns true if the given object is an instance of DataSource. This is designed to work even
107
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
108
+ */
109
+ static isInstance(obj) {
110
+ if (obj === undefined || obj === null) {
111
+ return false;
112
+ }
113
+ return obj['__pulumiType'] === DataSource.__pulumiType;
114
+ }
115
+ constructor(name, argsOrState, opts) {
116
+ let resourceInputs = {};
117
+ opts = opts || {};
118
+ if (opts.id) {
119
+ const state = argsOrState;
120
+ resourceInputs["accessMode"] = state ? state.accessMode : undefined;
121
+ resourceInputs["basicAuthEnabled"] = state ? state.basicAuthEnabled : undefined;
122
+ resourceInputs["basicAuthUsername"] = state ? state.basicAuthUsername : undefined;
123
+ resourceInputs["databaseName"] = state ? state.databaseName : undefined;
124
+ resourceInputs["httpHeaders"] = state ? state.httpHeaders : undefined;
125
+ resourceInputs["isDefault"] = state ? state.isDefault : undefined;
126
+ resourceInputs["jsonDataEncoded"] = state ? state.jsonDataEncoded : undefined;
127
+ resourceInputs["name"] = state ? state.name : undefined;
128
+ resourceInputs["orgId"] = state ? state.orgId : undefined;
129
+ resourceInputs["secureJsonDataEncoded"] = state ? state.secureJsonDataEncoded : undefined;
130
+ resourceInputs["type"] = state ? state.type : undefined;
131
+ resourceInputs["uid"] = state ? state.uid : undefined;
132
+ resourceInputs["url"] = state ? state.url : undefined;
133
+ resourceInputs["username"] = state ? state.username : undefined;
134
+ }
135
+ else {
136
+ const args = argsOrState;
137
+ if ((!args || args.type === undefined) && !opts.urn) {
138
+ throw new Error("Missing required property 'type'");
139
+ }
140
+ resourceInputs["accessMode"] = args ? args.accessMode : undefined;
141
+ resourceInputs["basicAuthEnabled"] = args ? args.basicAuthEnabled : undefined;
142
+ resourceInputs["basicAuthUsername"] = args ? args.basicAuthUsername : undefined;
143
+ resourceInputs["databaseName"] = args ? args.databaseName : undefined;
144
+ resourceInputs["httpHeaders"] = (args === null || args === void 0 ? void 0 : args.httpHeaders) ? pulumi.secret(args.httpHeaders) : undefined;
145
+ resourceInputs["isDefault"] = args ? args.isDefault : undefined;
146
+ resourceInputs["jsonDataEncoded"] = args ? args.jsonDataEncoded : undefined;
147
+ resourceInputs["name"] = args ? args.name : undefined;
148
+ resourceInputs["orgId"] = args ? args.orgId : undefined;
149
+ resourceInputs["secureJsonDataEncoded"] = (args === null || args === void 0 ? void 0 : args.secureJsonDataEncoded) ? pulumi.secret(args.secureJsonDataEncoded) : undefined;
150
+ resourceInputs["type"] = args ? args.type : undefined;
151
+ resourceInputs["uid"] = args ? args.uid : undefined;
152
+ resourceInputs["url"] = args ? args.url : undefined;
153
+ resourceInputs["username"] = args ? args.username : undefined;
154
+ }
155
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
156
+ const secretOpts = { additionalSecretOutputs: ["httpHeaders", "secureJsonDataEncoded"] };
157
+ opts = pulumi.mergeOptions(opts, secretOpts);
158
+ super(DataSource.__pulumiType, name, resourceInputs, opts);
159
+ }
160
+ }
161
+ exports.DataSource = DataSource;
162
+ /** @internal */
163
+ DataSource.__pulumiType = 'grafana:index/dataSource:DataSource';
164
+ //# sourceMappingURL=dataSource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataSource.js","sourceRoot":"","sources":["../dataSource.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,124 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as inputs from "./types/input";
3
+ import * as outputs from "./types/output";
4
+ /**
5
+ * * [HTTP API](https://grafana.com/docs/grafana/latest/developers/http_api/datasource_permissions/)
6
+ *
7
+ * ## Example Usage
8
+ *
9
+ * ```typescript
10
+ * import * as pulumi from "@pulumi/pulumi";
11
+ * import * as grafana from "@pulumiverse/grafana";
12
+ *
13
+ * const team = new grafana.Team("team", {});
14
+ * const foo = new grafana.DataSource("foo", {
15
+ * type: "cloudwatch",
16
+ * jsonDataEncoded: JSON.stringify({
17
+ * defaultRegion: "us-east-1",
18
+ * authType: "keys",
19
+ * }),
20
+ * secureJsonDataEncoded: JSON.stringify({
21
+ * accessKey: "123",
22
+ * secretKey: "456",
23
+ * }),
24
+ * });
25
+ * const user = new grafana.User("user", {
26
+ * email: "test-ds-permissions@example.com",
27
+ * login: "test-ds-permissions",
28
+ * password: "hunter2",
29
+ * });
30
+ * const sa = new grafana.ServiceAccount("sa", {role: "Viewer"});
31
+ * const fooPermissions = new grafana.DataSourcePermission("fooPermissions", {
32
+ * datasourceId: foo.id,
33
+ * permissions: [
34
+ * {
35
+ * teamId: team.id,
36
+ * permission: "Query",
37
+ * },
38
+ * {
39
+ * userId: user.id,
40
+ * permission: "Edit",
41
+ * },
42
+ * {
43
+ * builtInRole: "Viewer",
44
+ * permission: "Query",
45
+ * },
46
+ * {
47
+ * userId: sa.id,
48
+ * permission: "Query",
49
+ * },
50
+ * ],
51
+ * });
52
+ * ```
53
+ */
54
+ export declare class DataSourcePermission extends pulumi.CustomResource {
55
+ /**
56
+ * Get an existing DataSourcePermission resource's state with the given name, ID, and optional extra
57
+ * properties used to qualify the lookup.
58
+ *
59
+ * @param name The _unique_ name of the resulting resource.
60
+ * @param id The _unique_ provider ID of the resource to lookup.
61
+ * @param state Any extra arguments used during the lookup.
62
+ * @param opts Optional settings to control the behavior of the CustomResource.
63
+ */
64
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DataSourcePermissionState, opts?: pulumi.CustomResourceOptions): DataSourcePermission;
65
+ /**
66
+ * Returns true if the given object is an instance of DataSourcePermission. This is designed to work even
67
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
68
+ */
69
+ static isInstance(obj: any): obj is DataSourcePermission;
70
+ /**
71
+ * ID of the datasource to apply permissions to.
72
+ */
73
+ readonly datasourceId: pulumi.Output<string>;
74
+ /**
75
+ * The Organization ID. If not set, the Org ID defined in the provider block will be used.
76
+ */
77
+ readonly orgId: pulumi.Output<string | undefined>;
78
+ /**
79
+ * The permission items to add/update. Items that are omitted from the list will be removed.
80
+ */
81
+ readonly permissions: pulumi.Output<outputs.DataSourcePermissionPermission[]>;
82
+ /**
83
+ * Create a DataSourcePermission resource with the given unique name, arguments, and options.
84
+ *
85
+ * @param name The _unique_ name of the resource.
86
+ * @param args The arguments to use to populate this resource's properties.
87
+ * @param opts A bag of options that control this resource's behavior.
88
+ */
89
+ constructor(name: string, args: DataSourcePermissionArgs, opts?: pulumi.CustomResourceOptions);
90
+ }
91
+ /**
92
+ * Input properties used for looking up and filtering DataSourcePermission resources.
93
+ */
94
+ export interface DataSourcePermissionState {
95
+ /**
96
+ * ID of the datasource to apply permissions to.
97
+ */
98
+ datasourceId?: pulumi.Input<string>;
99
+ /**
100
+ * The Organization ID. If not set, the Org ID defined in the provider block will be used.
101
+ */
102
+ orgId?: pulumi.Input<string>;
103
+ /**
104
+ * The permission items to add/update. Items that are omitted from the list will be removed.
105
+ */
106
+ permissions?: pulumi.Input<pulumi.Input<inputs.DataSourcePermissionPermission>[]>;
107
+ }
108
+ /**
109
+ * The set of arguments for constructing a DataSourcePermission resource.
110
+ */
111
+ export interface DataSourcePermissionArgs {
112
+ /**
113
+ * ID of the datasource to apply permissions to.
114
+ */
115
+ datasourceId: pulumi.Input<string>;
116
+ /**
117
+ * The Organization ID. If not set, the Org ID defined in the provider block will be used.
118
+ */
119
+ orgId?: pulumi.Input<string>;
120
+ /**
121
+ * The permission items to add/update. Items that are omitted from the list will be removed.
122
+ */
123
+ permissions: pulumi.Input<pulumi.Input<inputs.DataSourcePermissionPermission>[]>;
124
+ }