@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.
- package/LICENSE +202 -0
- package/README.md +54 -0
- package/annotation.d.ts +151 -0
- package/annotation.js +79 -0
- package/annotation.js.map +1 -0
- package/apiKey.d.ts +77 -0
- package/apiKey.js +80 -0
- package/apiKey.js.map +1 -0
- package/cloudAccessPolicy.d.ts +156 -0
- package/cloudAccessPolicy.js +115 -0
- package/cloudAccessPolicy.js.map +1 -0
- package/cloudAccessPolicyToken.d.ts +151 -0
- package/cloudAccessPolicyToken.js +108 -0
- package/cloudAccessPolicyToken.js.map +1 -0
- package/cloudApiKey.d.ts +102 -0
- package/cloudApiKey.js +85 -0
- package/cloudApiKey.js.map +1 -0
- package/cloudPluginInstallation.d.ts +96 -0
- package/cloudPluginInstallation.js +86 -0
- package/cloudPluginInstallation.js.map +1 -0
- package/cloudStack.d.ts +291 -0
- package/cloudStack.js +142 -0
- package/cloudStack.js.map +1 -0
- package/cloudStackApiKey.d.ts +52 -0
- package/cloudStackApiKey.js +67 -0
- package/cloudStackApiKey.js.map +1 -0
- package/cloudStackServiceAccount.d.ts +97 -0
- package/cloudStackServiceAccount.js +80 -0
- package/cloudStackServiceAccount.js.map +1 -0
- package/cloudStackServiceAccountToken.d.ts +78 -0
- package/cloudStackServiceAccountToken.js +93 -0
- package/cloudStackServiceAccountToken.js.map +1 -0
- package/config/index.d.ts +1 -0
- package/config/index.js +21 -0
- package/config/index.js.map +1 -0
- package/config/vars.d.ts +89 -0
- package/config/vars.js +131 -0
- package/config/vars.js.map +1 -0
- package/contactPoint.d.ts +310 -0
- package/contactPoint.js +119 -0
- package/contactPoint.js.map +1 -0
- package/dashboard.d.ts +154 -0
- package/dashboard.js +94 -0
- package/dashboard.js.map +1 -0
- package/dashboardPermission.d.ts +131 -0
- package/dashboardPermission.js +97 -0
- package/dashboardPermission.js.map +1 -0
- package/dataSource.d.ts +294 -0
- package/dataSource.js +164 -0
- package/dataSource.js.map +1 -0
- package/dataSourcePermission.d.ts +124 -0
- package/dataSourcePermission.js +109 -0
- package/dataSourcePermission.js.map +1 -0
- package/folder.d.ts +127 -0
- package/folder.js +95 -0
- package/folder.js.map +1 -0
- package/folderPermission.d.ts +106 -0
- package/folderPermission.js +91 -0
- package/folderPermission.js.map +1 -0
- package/getCloudIps.d.ts +56 -0
- package/getCloudIps.js +41 -0
- package/getCloudIps.js.map +1 -0
- package/getCloudOrganization.d.ts +37 -0
- package/getCloudOrganization.js +21 -0
- package/getCloudOrganization.js.map +1 -0
- package/getCloudStack.d.ts +130 -0
- package/getCloudStack.js +25 -0
- package/getCloudStack.js.map +1 -0
- package/getDashboard.d.ts +134 -0
- package/getDashboard.js +81 -0
- package/getDashboard.js.map +1 -0
- package/getDashboards.d.ts +74 -0
- package/getDashboards.js +36 -0
- package/getDashboards.js.map +1 -0
- package/getDataSource.d.ts +156 -0
- package/getDataSource.js +95 -0
- package/getDataSource.js.map +1 -0
- package/getFolder.d.ts +82 -0
- package/getFolder.js +59 -0
- package/getFolder.js.map +1 -0
- package/getFolders.d.ts +61 -0
- package/getFolders.js +61 -0
- package/getFolders.js.map +1 -0
- package/getLibraryPanel.d.ts +108 -0
- package/getLibraryPanel.js +28 -0
- package/getLibraryPanel.js.map +1 -0
- package/getOnCallSlackChannel.d.ts +66 -0
- package/getOnCallSlackChannel.js +47 -0
- package/getOnCallSlackChannel.js.map +1 -0
- package/getOncallAction.d.ts +46 -0
- package/getOncallAction.js +31 -0
- package/getOncallAction.js.map +1 -0
- package/getOncallEscalationChain.d.ts +62 -0
- package/getOncallEscalationChain.js +47 -0
- package/getOncallEscalationChain.js.map +1 -0
- package/getOncallOutgoingWebhook.d.ts +62 -0
- package/getOncallOutgoingWebhook.js +47 -0
- package/getOncallOutgoingWebhook.js.map +1 -0
- package/getOncallSchedule.d.ts +68 -0
- package/getOncallSchedule.js +49 -0
- package/getOncallSchedule.js.map +1 -0
- package/getOncallTeam.d.ts +60 -0
- package/getOncallTeam.js +43 -0
- package/getOncallTeam.js.map +1 -0
- package/getOncallUser.d.ts +70 -0
- package/getOncallUser.js +47 -0
- package/getOncallUser.js.map +1 -0
- package/getOncallUserGroup.d.ts +54 -0
- package/getOncallUserGroup.js +47 -0
- package/getOncallUserGroup.js.map +1 -0
- package/getOrganization.d.ts +94 -0
- package/getOrganization.js +67 -0
- package/getOrganization.js.map +1 -0
- package/getOrganizationPreferences.d.ts +62 -0
- package/getOrganizationPreferences.js +43 -0
- package/getOrganizationPreferences.js.map +1 -0
- package/getRole.d.ts +147 -0
- package/getRole.js +95 -0
- package/getRole.js.map +1 -0
- package/getSlos.d.ts +31 -0
- package/getSlos.js +31 -0
- package/getSlos.js.map +1 -0
- package/getSyntheticMonitoringProbe.d.ts +88 -0
- package/getSyntheticMonitoringProbe.js +47 -0
- package/getSyntheticMonitoringProbe.js.map +1 -0
- package/getSyntheticMonitoringProbes.d.ts +64 -0
- package/getSyntheticMonitoringProbes.js +44 -0
- package/getSyntheticMonitoringProbes.js.map +1 -0
- package/getTeam.d.ts +83 -0
- package/getTeam.js +67 -0
- package/getTeam.js.map +1 -0
- package/getUser.d.ts +128 -0
- package/getUser.js +84 -0
- package/getUser.js.map +1 -0
- package/getUsers.d.ts +61 -0
- package/getUsers.js +61 -0
- package/getUsers.js.map +1 -0
- package/index.d.ts +228 -0
- package/index.js +353 -0
- package/index.js.map +1 -0
- package/libraryPanel.d.ts +193 -0
- package/libraryPanel.js +103 -0
- package/libraryPanel.js.map +1 -0
- package/machineLearningHoliday.d.ts +103 -0
- package/machineLearningHoliday.js +62 -0
- package/machineLearningHoliday.js.map +1 -0
- package/machineLearningJob.d.ts +201 -0
- package/machineLearningJob.js +83 -0
- package/machineLearningJob.js.map +1 -0
- package/machineLearningOutlierDetector.d.ts +159 -0
- package/machineLearningOutlierDetector.js +84 -0
- package/machineLearningOutlierDetector.js.map +1 -0
- package/messageTemplate.d.ts +86 -0
- package/messageTemplate.js +80 -0
- package/messageTemplate.js.map +1 -0
- package/muteTiming.d.ts +106 -0
- package/muteTiming.js +95 -0
- package/muteTiming.js.map +1 -0
- package/notificationPolicy.d.ts +186 -0
- package/notificationPolicy.js +141 -0
- package/notificationPolicy.js.map +1 -0
- package/oncallEscalation.d.ts +227 -0
- package/oncallEscalation.js +124 -0
- package/oncallEscalation.js.map +1 -0
- package/oncallEscalationChain.d.ts +80 -0
- package/oncallEscalationChain.js +71 -0
- package/oncallEscalationChain.js.map +1 -0
- package/oncallIntegration.d.ts +116 -0
- package/oncallIntegration.js +75 -0
- package/oncallIntegration.js.map +1 -0
- package/oncallOnCallShift.d.ts +237 -0
- package/oncallOnCallShift.js +97 -0
- package/oncallOnCallShift.js.map +1 -0
- package/oncallOutgoingWebhook.d.ts +152 -0
- package/oncallOutgoingWebhook.js +88 -0
- package/oncallOutgoingWebhook.js.map +1 -0
- package/oncallRoute.d.ts +175 -0
- package/oncallRoute.js +116 -0
- package/oncallRoute.js.map +1 -0
- package/oncallSchedule.d.ts +187 -0
- package/oncallSchedule.js +109 -0
- package/oncallSchedule.js.map +1 -0
- package/organization.d.ts +193 -0
- package/organization.js +96 -0
- package/organization.js.map +1 -0
- package/organizationPreference.d.ts +125 -0
- package/organizationPreference.js +76 -0
- package/organizationPreference.js.map +1 -0
- package/package.json +30 -0
- package/package.json.bak +29 -0
- package/package.json.dev +29 -0
- package/playlist.d.ts +72 -0
- package/playlist.js +65 -0
- package/playlist.js.map +1 -0
- package/provider.d.ts +166 -0
- package/provider.js +64 -0
- package/provider.js.map +1 -0
- package/report.d.ts +241 -0
- package/report.js +110 -0
- package/report.js.map +1 -0
- package/role.d.ts +210 -0
- package/role.js +109 -0
- package/role.js.map +1 -0
- package/roleAssignment.d.ts +131 -0
- package/roleAssignment.js +95 -0
- package/roleAssignment.js.map +1 -0
- package/ruleGroup.d.ts +203 -0
- package/ruleGroup.js +174 -0
- package/ruleGroup.js.map +1 -0
- package/scripts/install-pulumi-plugin.js +21 -0
- package/serviceAccount.d.ts +102 -0
- package/serviceAccount.js +73 -0
- package/serviceAccount.js.map +1 -0
- package/serviceAccountPermission.d.ts +110 -0
- package/serviceAccountPermission.js +95 -0
- package/serviceAccountPermission.js.map +1 -0
- package/serviceAccountToken.d.ts +72 -0
- package/serviceAccountToken.js +85 -0
- package/serviceAccountToken.js.map +1 -0
- package/slo.d.ts +131 -0
- package/slo.js +77 -0
- package/slo.js.map +1 -0
- package/syntheticMonitoringCheck.d.ts +555 -0
- package/syntheticMonitoringCheck.js +464 -0
- package/syntheticMonitoringCheck.js.map +1 -0
- package/syntheticMonitoringInstallation.d.ts +112 -0
- package/syntheticMonitoringInstallation.js +95 -0
- package/syntheticMonitoringInstallation.js.map +1 -0
- package/syntheticMonitoringProbe.d.ts +164 -0
- package/syntheticMonitoringProbe.js +108 -0
- package/syntheticMonitoringProbe.js.map +1 -0
- package/team.d.ts +165 -0
- package/team.js +89 -0
- package/team.js.map +1 -0
- package/teamExternalGroup.d.ts +84 -0
- package/teamExternalGroup.js +81 -0
- package/teamExternalGroup.js.map +1 -0
- package/types/index.d.ts +3 -0
- package/types/index.js +11 -0
- package/types/index.js.map +1 -0
- package/types/input.d.ts +1914 -0
- package/types/input.js +5 -0
- package/types/input.js.map +1 -0
- package/types/output.d.ts +2011 -0
- package/types/output.js +5 -0
- package/types/output.js.map +1 -0
- package/user.d.ts +132 -0
- package/user.js +95 -0
- package/user.js.map +1 -0
- package/utilities.d.ts +4 -0
- package/utilities.js +69 -0
- package/utilities.js.map +1 -0
|
@@ -0,0 +1,464 @@
|
|
|
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.SyntheticMonitoringCheck = void 0;
|
|
6
|
+
const pulumi = require("@pulumi/pulumi");
|
|
7
|
+
const utilities = require("./utilities");
|
|
8
|
+
/**
|
|
9
|
+
* Synthetic Monitoring checks are tests that run on selected probes at defined
|
|
10
|
+
* intervals and report metrics and logs back to your Grafana Cloud account. The
|
|
11
|
+
* target for checks can be a domain name, a server, or a website, depending on
|
|
12
|
+
* what information you would like to gather about your endpoint. You can define
|
|
13
|
+
* multiple checks for a single endpoint to check different capabilities.
|
|
14
|
+
*
|
|
15
|
+
* * [Official documentation](https://grafana.com/docs/grafana-cloud/monitor-public-endpoints/checks/)
|
|
16
|
+
*
|
|
17
|
+
* ## Example Usage
|
|
18
|
+
* ### DNS Basic
|
|
19
|
+
*
|
|
20
|
+
* ```typescript
|
|
21
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
22
|
+
* import * as grafana from "@pulumi/grafana";
|
|
23
|
+
* import * as grafana from "@pulumiverse/grafana";
|
|
24
|
+
*
|
|
25
|
+
* const main = grafana.getSyntheticMonitoringProbes({});
|
|
26
|
+
* const dns = new grafana.SyntheticMonitoringCheck("dns", {
|
|
27
|
+
* job: "DNS Defaults",
|
|
28
|
+
* target: "grafana.com",
|
|
29
|
+
* enabled: false,
|
|
30
|
+
* probes: [main.then(main => main.probes?.Atlanta)],
|
|
31
|
+
* labels: {
|
|
32
|
+
* foo: "bar",
|
|
33
|
+
* },
|
|
34
|
+
* settings: {
|
|
35
|
+
* dns: {},
|
|
36
|
+
* },
|
|
37
|
+
* });
|
|
38
|
+
* ```
|
|
39
|
+
* ### DNS Complex
|
|
40
|
+
*
|
|
41
|
+
* ```typescript
|
|
42
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
43
|
+
* import * as grafana from "@pulumi/grafana";
|
|
44
|
+
* import * as grafana from "@pulumiverse/grafana";
|
|
45
|
+
*
|
|
46
|
+
* const main = grafana.getSyntheticMonitoringProbes({});
|
|
47
|
+
* const dns = new grafana.SyntheticMonitoringCheck("dns", {
|
|
48
|
+
* job: "DNS Updated",
|
|
49
|
+
* target: "grafana.net",
|
|
50
|
+
* enabled: false,
|
|
51
|
+
* probes: [
|
|
52
|
+
* main.then(main => main.probes?.Frankfurt),
|
|
53
|
+
* main.then(main => main.probes?.London),
|
|
54
|
+
* ],
|
|
55
|
+
* labels: {
|
|
56
|
+
* foo: "baz",
|
|
57
|
+
* },
|
|
58
|
+
* settings: {
|
|
59
|
+
* dns: {
|
|
60
|
+
* ipVersion: "Any",
|
|
61
|
+
* server: "8.8.4.4",
|
|
62
|
+
* port: 8600,
|
|
63
|
+
* recordType: "CNAME",
|
|
64
|
+
* protocol: "TCP",
|
|
65
|
+
* validRCodes: [
|
|
66
|
+
* "NOERROR",
|
|
67
|
+
* "NOTAUTH",
|
|
68
|
+
* ],
|
|
69
|
+
* validateAnswerRrs: {
|
|
70
|
+
* failIfMatchesRegexps: [".+-bad-stuff*"],
|
|
71
|
+
* failIfNotMatchesRegexps: [".+-good-stuff*"],
|
|
72
|
+
* },
|
|
73
|
+
* validateAuthorityRrs: {
|
|
74
|
+
* failIfMatchesRegexps: [".+-bad-stuff*"],
|
|
75
|
+
* failIfNotMatchesRegexps: [".+-good-stuff*"],
|
|
76
|
+
* },
|
|
77
|
+
* validateAdditionalRrs: [{
|
|
78
|
+
* failIfMatchesRegexps: [".+-bad-stuff*"],
|
|
79
|
+
* failIfNotMatchesRegexps: [".+-good-stuff*"],
|
|
80
|
+
* }],
|
|
81
|
+
* },
|
|
82
|
+
* },
|
|
83
|
+
* });
|
|
84
|
+
* ```
|
|
85
|
+
* ### HTTP Basic
|
|
86
|
+
*
|
|
87
|
+
* ```typescript
|
|
88
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
89
|
+
* import * as grafana from "@pulumi/grafana";
|
|
90
|
+
* import * as grafana from "@pulumiverse/grafana";
|
|
91
|
+
*
|
|
92
|
+
* const main = grafana.getSyntheticMonitoringProbes({});
|
|
93
|
+
* const http = new grafana.SyntheticMonitoringCheck("http", {
|
|
94
|
+
* job: "HTTP Defaults",
|
|
95
|
+
* target: "https://grafana.com",
|
|
96
|
+
* enabled: false,
|
|
97
|
+
* probes: [main.then(main => main.probes?.Atlanta)],
|
|
98
|
+
* labels: {
|
|
99
|
+
* foo: "bar",
|
|
100
|
+
* },
|
|
101
|
+
* settings: {
|
|
102
|
+
* http: {},
|
|
103
|
+
* },
|
|
104
|
+
* });
|
|
105
|
+
* ```
|
|
106
|
+
* ### HTTP Complex
|
|
107
|
+
*
|
|
108
|
+
* ```typescript
|
|
109
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
110
|
+
* import * as grafana from "@pulumi/grafana";
|
|
111
|
+
* import * as grafana from "@pulumiverse/grafana";
|
|
112
|
+
*
|
|
113
|
+
* const main = grafana.getSyntheticMonitoringProbes({});
|
|
114
|
+
* const http = new grafana.SyntheticMonitoringCheck("http", {
|
|
115
|
+
* job: "HTTP Defaults",
|
|
116
|
+
* target: "https://grafana.org",
|
|
117
|
+
* enabled: false,
|
|
118
|
+
* probes: [
|
|
119
|
+
* main.then(main => main.probes?.Bangalore),
|
|
120
|
+
* main.then(main => main.probes?.Mumbai),
|
|
121
|
+
* ],
|
|
122
|
+
* labels: {
|
|
123
|
+
* foo: "bar",
|
|
124
|
+
* },
|
|
125
|
+
* settings: {
|
|
126
|
+
* http: {
|
|
127
|
+
* ipVersion: "V6",
|
|
128
|
+
* method: "TRACE",
|
|
129
|
+
* body: "and spirit",
|
|
130
|
+
* noFollowRedirects: true,
|
|
131
|
+
* bearerToken: "asdfjkl;",
|
|
132
|
+
* proxyUrl: "https://almost-there",
|
|
133
|
+
* failIfSsl: true,
|
|
134
|
+
* failIfNotSsl: true,
|
|
135
|
+
* cacheBustingQueryParamName: "pineapple",
|
|
136
|
+
* tlsConfig: {
|
|
137
|
+
* serverName: "grafana.org",
|
|
138
|
+
* clientCert: `-----BEGIN CERTIFICATE-----
|
|
139
|
+
* MIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT
|
|
140
|
+
* RTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF
|
|
141
|
+
* MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+
|
|
142
|
+
* 0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr
|
|
143
|
+
* h1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD
|
|
144
|
+
* BN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl
|
|
145
|
+
* iDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL
|
|
146
|
+
* a+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En
|
|
147
|
+
* FWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7
|
|
148
|
+
* qq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk
|
|
149
|
+
* FTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB
|
|
150
|
+
* Z18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW
|
|
151
|
+
* 6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z
|
|
152
|
+
* UV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w
|
|
153
|
+
* yzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA
|
|
154
|
+
* e2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ
|
|
155
|
+
* XeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB
|
|
156
|
+
* tqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8
|
|
157
|
+
* QxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP
|
|
158
|
+
* tf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4
|
|
159
|
+
* prulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9
|
|
160
|
+
* 5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY
|
|
161
|
+
* l3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq
|
|
162
|
+
* 7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N
|
|
163
|
+
* vuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=
|
|
164
|
+
* -----END CERTIFICATE-----
|
|
165
|
+
* `,
|
|
166
|
+
* },
|
|
167
|
+
* headers: ["Content-Type: multipart/form-data; boundary=something"],
|
|
168
|
+
* basicAuth: {
|
|
169
|
+
* username: "open",
|
|
170
|
+
* password: "sesame",
|
|
171
|
+
* },
|
|
172
|
+
* validStatusCodes: [
|
|
173
|
+
* 200,
|
|
174
|
+
* 201,
|
|
175
|
+
* ],
|
|
176
|
+
* validHttpVersions: [
|
|
177
|
+
* "HTTP/1.0",
|
|
178
|
+
* "HTTP/1.1",
|
|
179
|
+
* "HTTP/2.0",
|
|
180
|
+
* ],
|
|
181
|
+
* failIfBodyMatchesRegexps: ["*bad stuff*"],
|
|
182
|
+
* failIfBodyNotMatchesRegexps: ["*good stuff*"],
|
|
183
|
+
* failIfHeaderMatchesRegexps: [{
|
|
184
|
+
* header: "Content-Type",
|
|
185
|
+
* regexp: "application/soap*",
|
|
186
|
+
* allowMissing: true,
|
|
187
|
+
* }],
|
|
188
|
+
* },
|
|
189
|
+
* },
|
|
190
|
+
* });
|
|
191
|
+
* ```
|
|
192
|
+
* ### Ping Basic
|
|
193
|
+
*
|
|
194
|
+
* ```typescript
|
|
195
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
196
|
+
* import * as grafana from "@pulumi/grafana";
|
|
197
|
+
* import * as grafana from "@pulumiverse/grafana";
|
|
198
|
+
*
|
|
199
|
+
* const main = grafana.getSyntheticMonitoringProbes({});
|
|
200
|
+
* const ping = new grafana.SyntheticMonitoringCheck("ping", {
|
|
201
|
+
* job: "Ping Defaults",
|
|
202
|
+
* target: "grafana.com",
|
|
203
|
+
* enabled: false,
|
|
204
|
+
* probes: [main.then(main => main.probes?.Atlanta)],
|
|
205
|
+
* labels: {
|
|
206
|
+
* foo: "bar",
|
|
207
|
+
* },
|
|
208
|
+
* settings: {
|
|
209
|
+
* ping: {},
|
|
210
|
+
* },
|
|
211
|
+
* });
|
|
212
|
+
* ```
|
|
213
|
+
* ### Ping Complex
|
|
214
|
+
*
|
|
215
|
+
* ```typescript
|
|
216
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
217
|
+
* import * as grafana from "@pulumi/grafana";
|
|
218
|
+
* import * as grafana from "@pulumiverse/grafana";
|
|
219
|
+
*
|
|
220
|
+
* const main = grafana.getSyntheticMonitoringProbes({});
|
|
221
|
+
* const ping = new grafana.SyntheticMonitoringCheck("ping", {
|
|
222
|
+
* job: "Ping Updated",
|
|
223
|
+
* target: "grafana.net",
|
|
224
|
+
* enabled: false,
|
|
225
|
+
* probes: [
|
|
226
|
+
* main.then(main => main.probes?.Frankfurt),
|
|
227
|
+
* main.then(main => main.probes?.London),
|
|
228
|
+
* ],
|
|
229
|
+
* labels: {
|
|
230
|
+
* foo: "baz",
|
|
231
|
+
* },
|
|
232
|
+
* settings: {
|
|
233
|
+
* ping: {
|
|
234
|
+
* ipVersion: "Any",
|
|
235
|
+
* payloadSize: 20,
|
|
236
|
+
* dontFragment: true,
|
|
237
|
+
* },
|
|
238
|
+
* },
|
|
239
|
+
* });
|
|
240
|
+
* ```
|
|
241
|
+
* ### TCP Basic
|
|
242
|
+
*
|
|
243
|
+
* ```typescript
|
|
244
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
245
|
+
* import * as grafana from "@pulumi/grafana";
|
|
246
|
+
* import * as grafana from "@pulumiverse/grafana";
|
|
247
|
+
*
|
|
248
|
+
* const main = grafana.getSyntheticMonitoringProbes({});
|
|
249
|
+
* const tcp = new grafana.SyntheticMonitoringCheck("tcp", {
|
|
250
|
+
* job: "TCP Defaults",
|
|
251
|
+
* target: "grafana.com:80",
|
|
252
|
+
* enabled: false,
|
|
253
|
+
* probes: [main.then(main => main.probes?.Atlanta)],
|
|
254
|
+
* labels: {
|
|
255
|
+
* foo: "bar",
|
|
256
|
+
* },
|
|
257
|
+
* settings: {
|
|
258
|
+
* tcp: {},
|
|
259
|
+
* },
|
|
260
|
+
* });
|
|
261
|
+
* ```
|
|
262
|
+
* ### TCP Complex
|
|
263
|
+
*
|
|
264
|
+
* ```typescript
|
|
265
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
266
|
+
* import * as grafana from "@pulumi/grafana";
|
|
267
|
+
* import * as grafana from "@pulumiverse/grafana";
|
|
268
|
+
*
|
|
269
|
+
* const main = grafana.getSyntheticMonitoringProbes({});
|
|
270
|
+
* const tcp = new grafana.SyntheticMonitoringCheck("tcp", {
|
|
271
|
+
* job: "TCP Defaults",
|
|
272
|
+
* target: "grafana.com:443",
|
|
273
|
+
* enabled: false,
|
|
274
|
+
* probes: [
|
|
275
|
+
* main.then(main => main.probes?.Frankfurt),
|
|
276
|
+
* main.then(main => main.probes?.London),
|
|
277
|
+
* ],
|
|
278
|
+
* labels: {
|
|
279
|
+
* foo: "baz",
|
|
280
|
+
* },
|
|
281
|
+
* settings: {
|
|
282
|
+
* tcp: {
|
|
283
|
+
* ipVersion: "V6",
|
|
284
|
+
* tls: true,
|
|
285
|
+
* queryResponses: [
|
|
286
|
+
* {
|
|
287
|
+
* send: "howdy",
|
|
288
|
+
* expect: "hi",
|
|
289
|
+
* },
|
|
290
|
+
* {
|
|
291
|
+
* send: "like this",
|
|
292
|
+
* expect: "like that",
|
|
293
|
+
* startTls: true,
|
|
294
|
+
* },
|
|
295
|
+
* ],
|
|
296
|
+
* tlsConfig: {
|
|
297
|
+
* serverName: "grafana.com",
|
|
298
|
+
* caCert: `-----BEGIN CERTIFICATE-----
|
|
299
|
+
* MIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT
|
|
300
|
+
* RTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF
|
|
301
|
+
* MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+
|
|
302
|
+
* 0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr
|
|
303
|
+
* h1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD
|
|
304
|
+
* BN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl
|
|
305
|
+
* iDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL
|
|
306
|
+
* a+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En
|
|
307
|
+
* FWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7
|
|
308
|
+
* qq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk
|
|
309
|
+
* FTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB
|
|
310
|
+
* Z18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW
|
|
311
|
+
* 6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z
|
|
312
|
+
* UV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w
|
|
313
|
+
* yzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA
|
|
314
|
+
* e2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ
|
|
315
|
+
* XeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB
|
|
316
|
+
* tqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8
|
|
317
|
+
* QxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP
|
|
318
|
+
* tf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4
|
|
319
|
+
* prulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9
|
|
320
|
+
* 5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY
|
|
321
|
+
* l3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq
|
|
322
|
+
* 7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N
|
|
323
|
+
* vuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=
|
|
324
|
+
* -----END CERTIFICATE-----
|
|
325
|
+
* `,
|
|
326
|
+
* },
|
|
327
|
+
* },
|
|
328
|
+
* },
|
|
329
|
+
* });
|
|
330
|
+
* ```
|
|
331
|
+
* ### Traceroute Basic
|
|
332
|
+
*
|
|
333
|
+
* ```typescript
|
|
334
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
335
|
+
* import * as grafana from "@pulumi/grafana";
|
|
336
|
+
* import * as grafana from "@pulumiverse/grafana";
|
|
337
|
+
*
|
|
338
|
+
* const main = grafana.getSyntheticMonitoringProbes({});
|
|
339
|
+
* const traceroute = new grafana.SyntheticMonitoringCheck("traceroute", {
|
|
340
|
+
* job: "Traceroute defaults",
|
|
341
|
+
* target: "grafana.com",
|
|
342
|
+
* enabled: false,
|
|
343
|
+
* frequency: 120000,
|
|
344
|
+
* timeout: 30000,
|
|
345
|
+
* probes: [main.then(main => main.probes?.Atlanta)],
|
|
346
|
+
* labels: {
|
|
347
|
+
* foo: "bar",
|
|
348
|
+
* },
|
|
349
|
+
* settings: {
|
|
350
|
+
* traceroute: {},
|
|
351
|
+
* },
|
|
352
|
+
* });
|
|
353
|
+
* ```
|
|
354
|
+
* ### Traceroute Complex
|
|
355
|
+
*
|
|
356
|
+
* ```typescript
|
|
357
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
358
|
+
* import * as grafana from "@pulumi/grafana";
|
|
359
|
+
* import * as grafana from "@pulumiverse/grafana";
|
|
360
|
+
*
|
|
361
|
+
* const main = grafana.getSyntheticMonitoringProbes({});
|
|
362
|
+
* const traceroute = new grafana.SyntheticMonitoringCheck("traceroute", {
|
|
363
|
+
* job: "Traceroute complex",
|
|
364
|
+
* target: "grafana.net",
|
|
365
|
+
* enabled: false,
|
|
366
|
+
* frequency: 120000,
|
|
367
|
+
* timeout: 30000,
|
|
368
|
+
* probes: [
|
|
369
|
+
* main.then(main => main.probes?.Frankfurt),
|
|
370
|
+
* main.then(main => main.probes?.London),
|
|
371
|
+
* ],
|
|
372
|
+
* labels: {
|
|
373
|
+
* foo: "baz",
|
|
374
|
+
* },
|
|
375
|
+
* settings: {
|
|
376
|
+
* traceroute: {
|
|
377
|
+
* maxHops: 25,
|
|
378
|
+
* maxUnknownHops: 10,
|
|
379
|
+
* ptrLookup: false,
|
|
380
|
+
* },
|
|
381
|
+
* },
|
|
382
|
+
* });
|
|
383
|
+
* ```
|
|
384
|
+
*
|
|
385
|
+
* ## Import
|
|
386
|
+
*
|
|
387
|
+
* ```sh
|
|
388
|
+
* $ pulumi import grafana:index/syntheticMonitoringCheck:SyntheticMonitoringCheck check {{check-id}}
|
|
389
|
+
* ```
|
|
390
|
+
*/
|
|
391
|
+
class SyntheticMonitoringCheck extends pulumi.CustomResource {
|
|
392
|
+
/**
|
|
393
|
+
* Get an existing SyntheticMonitoringCheck resource's state with the given name, ID, and optional extra
|
|
394
|
+
* properties used to qualify the lookup.
|
|
395
|
+
*
|
|
396
|
+
* @param name The _unique_ name of the resulting resource.
|
|
397
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
398
|
+
* @param state Any extra arguments used during the lookup.
|
|
399
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
400
|
+
*/
|
|
401
|
+
static get(name, id, state, opts) {
|
|
402
|
+
return new SyntheticMonitoringCheck(name, state, Object.assign(Object.assign({}, opts), { id: id }));
|
|
403
|
+
}
|
|
404
|
+
/**
|
|
405
|
+
* Returns true if the given object is an instance of SyntheticMonitoringCheck. This is designed to work even
|
|
406
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
407
|
+
*/
|
|
408
|
+
static isInstance(obj) {
|
|
409
|
+
if (obj === undefined || obj === null) {
|
|
410
|
+
return false;
|
|
411
|
+
}
|
|
412
|
+
return obj['__pulumiType'] === SyntheticMonitoringCheck.__pulumiType;
|
|
413
|
+
}
|
|
414
|
+
constructor(name, argsOrState, opts) {
|
|
415
|
+
let resourceInputs = {};
|
|
416
|
+
opts = opts || {};
|
|
417
|
+
if (opts.id) {
|
|
418
|
+
const state = argsOrState;
|
|
419
|
+
resourceInputs["alertSensitivity"] = state ? state.alertSensitivity : undefined;
|
|
420
|
+
resourceInputs["basicMetricsOnly"] = state ? state.basicMetricsOnly : undefined;
|
|
421
|
+
resourceInputs["enabled"] = state ? state.enabled : undefined;
|
|
422
|
+
resourceInputs["frequency"] = state ? state.frequency : undefined;
|
|
423
|
+
resourceInputs["job"] = state ? state.job : undefined;
|
|
424
|
+
resourceInputs["labels"] = state ? state.labels : undefined;
|
|
425
|
+
resourceInputs["probes"] = state ? state.probes : undefined;
|
|
426
|
+
resourceInputs["settings"] = state ? state.settings : undefined;
|
|
427
|
+
resourceInputs["target"] = state ? state.target : undefined;
|
|
428
|
+
resourceInputs["tenantId"] = state ? state.tenantId : undefined;
|
|
429
|
+
resourceInputs["timeout"] = state ? state.timeout : undefined;
|
|
430
|
+
}
|
|
431
|
+
else {
|
|
432
|
+
const args = argsOrState;
|
|
433
|
+
if ((!args || args.job === undefined) && !opts.urn) {
|
|
434
|
+
throw new Error("Missing required property 'job'");
|
|
435
|
+
}
|
|
436
|
+
if ((!args || args.probes === undefined) && !opts.urn) {
|
|
437
|
+
throw new Error("Missing required property 'probes'");
|
|
438
|
+
}
|
|
439
|
+
if ((!args || args.settings === undefined) && !opts.urn) {
|
|
440
|
+
throw new Error("Missing required property 'settings'");
|
|
441
|
+
}
|
|
442
|
+
if ((!args || args.target === undefined) && !opts.urn) {
|
|
443
|
+
throw new Error("Missing required property 'target'");
|
|
444
|
+
}
|
|
445
|
+
resourceInputs["alertSensitivity"] = args ? args.alertSensitivity : undefined;
|
|
446
|
+
resourceInputs["basicMetricsOnly"] = args ? args.basicMetricsOnly : undefined;
|
|
447
|
+
resourceInputs["enabled"] = args ? args.enabled : undefined;
|
|
448
|
+
resourceInputs["frequency"] = args ? args.frequency : undefined;
|
|
449
|
+
resourceInputs["job"] = args ? args.job : undefined;
|
|
450
|
+
resourceInputs["labels"] = args ? args.labels : undefined;
|
|
451
|
+
resourceInputs["probes"] = args ? args.probes : undefined;
|
|
452
|
+
resourceInputs["settings"] = args ? args.settings : undefined;
|
|
453
|
+
resourceInputs["target"] = args ? args.target : undefined;
|
|
454
|
+
resourceInputs["timeout"] = args ? args.timeout : undefined;
|
|
455
|
+
resourceInputs["tenantId"] = undefined /*out*/;
|
|
456
|
+
}
|
|
457
|
+
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
|
458
|
+
super(SyntheticMonitoringCheck.__pulumiType, name, resourceInputs, opts);
|
|
459
|
+
}
|
|
460
|
+
}
|
|
461
|
+
exports.SyntheticMonitoringCheck = SyntheticMonitoringCheck;
|
|
462
|
+
/** @internal */
|
|
463
|
+
SyntheticMonitoringCheck.__pulumiType = 'grafana:index/syntheticMonitoringCheck:SyntheticMonitoringCheck';
|
|
464
|
+
//# sourceMappingURL=syntheticMonitoringCheck.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"syntheticMonitoringCheck.js","sourceRoot":"","sources":["../syntheticMonitoringCheck.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import * as pulumi from "@pulumi/pulumi";
|
|
2
|
+
/**
|
|
3
|
+
* Sets up Synthetic Monitoring on a Grafana cloud stack and generates a token.
|
|
4
|
+
* Once a Grafana Cloud stack is created, a user can either use this resource or go into the UI to install synthetic monitoring.
|
|
5
|
+
* This resource cannot be imported but it can be used on an existing Synthetic Monitoring installation without issues.
|
|
6
|
+
*
|
|
7
|
+
* **Note that this resource must be used on a provider configured with Grafana Cloud credentials.**
|
|
8
|
+
*
|
|
9
|
+
* * [Official documentation](https://grafana.com/docs/grafana-cloud/monitor-public-endpoints/installation/)
|
|
10
|
+
* * [API documentation](https://github.com/grafana/synthetic-monitoring-api-go-client/blob/main/docs/API.md#apiv1registerinstall)
|
|
11
|
+
*
|
|
12
|
+
* ## Example Usage
|
|
13
|
+
*
|
|
14
|
+
* ```typescript
|
|
15
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
16
|
+
* import * as grafana from "@pulumiverse/grafana";
|
|
17
|
+
*
|
|
18
|
+
* const smStackCloudStack = new grafana.CloudStack("smStackCloudStack", {
|
|
19
|
+
* slug: "<stack-slug>",
|
|
20
|
+
* regionSlug: "us",
|
|
21
|
+
* });
|
|
22
|
+
* const metricsPublish = new grafana.CloudApiKey("metricsPublish", {
|
|
23
|
+
* role: "MetricsPublisher",
|
|
24
|
+
* cloudOrgSlug: "<org-slug>",
|
|
25
|
+
* });
|
|
26
|
+
* const smStackSyntheticMonitoringInstallation = new grafana.SyntheticMonitoringInstallation("smStackSyntheticMonitoringInstallation", {stackId: smStackCloudStack.id});
|
|
27
|
+
* // Create a new provider instance to interact with Synthetic Monitoring
|
|
28
|
+
* const sm = new grafana.Provider("sm", {
|
|
29
|
+
* smAccessToken: smStackSyntheticMonitoringInstallation.smAccessToken,
|
|
30
|
+
* smUrl: smStackSyntheticMonitoringInstallation.stackSmApiUrl,
|
|
31
|
+
* });
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export declare class SyntheticMonitoringInstallation extends pulumi.CustomResource {
|
|
35
|
+
/**
|
|
36
|
+
* Get an existing SyntheticMonitoringInstallation resource's state with the given name, ID, and optional extra
|
|
37
|
+
* properties used to qualify the lookup.
|
|
38
|
+
*
|
|
39
|
+
* @param name The _unique_ name of the resulting resource.
|
|
40
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
41
|
+
* @param state Any extra arguments used during the lookup.
|
|
42
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
43
|
+
*/
|
|
44
|
+
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SyntheticMonitoringInstallationState, opts?: pulumi.CustomResourceOptions): SyntheticMonitoringInstallation;
|
|
45
|
+
/**
|
|
46
|
+
* Returns true if the given object is an instance of SyntheticMonitoringInstallation. This is designed to work even
|
|
47
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
48
|
+
*/
|
|
49
|
+
static isInstance(obj: any): obj is SyntheticMonitoringInstallation;
|
|
50
|
+
/**
|
|
51
|
+
* The Cloud API Key with the `MetricsPublisher` role used to publish metrics to the SM API
|
|
52
|
+
*/
|
|
53
|
+
readonly metricsPublisherKey: pulumi.Output<string>;
|
|
54
|
+
/**
|
|
55
|
+
* Generated token to access the SM API.
|
|
56
|
+
*/
|
|
57
|
+
readonly smAccessToken: pulumi.Output<string>;
|
|
58
|
+
/**
|
|
59
|
+
* The ID or slug of the stack to install SM on.
|
|
60
|
+
*/
|
|
61
|
+
readonly stackId: pulumi.Output<string>;
|
|
62
|
+
/**
|
|
63
|
+
* The URL of the SM API to install SM on. This depends on the stack region, find the list of API URLs here: https://grafana.com/docs/grafana-cloud/monitor-public-endpoints/private-probes/#probe-api-server-url. A static mapping exists in the provider but it may not contain all the regions. If it does contain the stack's region, this field is computed automatically and readable.
|
|
64
|
+
*/
|
|
65
|
+
readonly stackSmApiUrl: pulumi.Output<string>;
|
|
66
|
+
/**
|
|
67
|
+
* Create a SyntheticMonitoringInstallation resource with the given unique name, arguments, and options.
|
|
68
|
+
*
|
|
69
|
+
* @param name The _unique_ name of the resource.
|
|
70
|
+
* @param args The arguments to use to populate this resource's properties.
|
|
71
|
+
* @param opts A bag of options that control this resource's behavior.
|
|
72
|
+
*/
|
|
73
|
+
constructor(name: string, args: SyntheticMonitoringInstallationArgs, opts?: pulumi.CustomResourceOptions);
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Input properties used for looking up and filtering SyntheticMonitoringInstallation resources.
|
|
77
|
+
*/
|
|
78
|
+
export interface SyntheticMonitoringInstallationState {
|
|
79
|
+
/**
|
|
80
|
+
* The Cloud API Key with the `MetricsPublisher` role used to publish metrics to the SM API
|
|
81
|
+
*/
|
|
82
|
+
metricsPublisherKey?: pulumi.Input<string>;
|
|
83
|
+
/**
|
|
84
|
+
* Generated token to access the SM API.
|
|
85
|
+
*/
|
|
86
|
+
smAccessToken?: pulumi.Input<string>;
|
|
87
|
+
/**
|
|
88
|
+
* The ID or slug of the stack to install SM on.
|
|
89
|
+
*/
|
|
90
|
+
stackId?: pulumi.Input<string>;
|
|
91
|
+
/**
|
|
92
|
+
* The URL of the SM API to install SM on. This depends on the stack region, find the list of API URLs here: https://grafana.com/docs/grafana-cloud/monitor-public-endpoints/private-probes/#probe-api-server-url. A static mapping exists in the provider but it may not contain all the regions. If it does contain the stack's region, this field is computed automatically and readable.
|
|
93
|
+
*/
|
|
94
|
+
stackSmApiUrl?: pulumi.Input<string>;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* The set of arguments for constructing a SyntheticMonitoringInstallation resource.
|
|
98
|
+
*/
|
|
99
|
+
export interface SyntheticMonitoringInstallationArgs {
|
|
100
|
+
/**
|
|
101
|
+
* The Cloud API Key with the `MetricsPublisher` role used to publish metrics to the SM API
|
|
102
|
+
*/
|
|
103
|
+
metricsPublisherKey: pulumi.Input<string>;
|
|
104
|
+
/**
|
|
105
|
+
* The ID or slug of the stack to install SM on.
|
|
106
|
+
*/
|
|
107
|
+
stackId: pulumi.Input<string>;
|
|
108
|
+
/**
|
|
109
|
+
* The URL of the SM API to install SM on. This depends on the stack region, find the list of API URLs here: https://grafana.com/docs/grafana-cloud/monitor-public-endpoints/private-probes/#probe-api-server-url. A static mapping exists in the provider but it may not contain all the regions. If it does contain the stack's region, this field is computed automatically and readable.
|
|
110
|
+
*/
|
|
111
|
+
stackSmApiUrl?: pulumi.Input<string>;
|
|
112
|
+
}
|
|
@@ -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.SyntheticMonitoringInstallation = void 0;
|
|
6
|
+
const pulumi = require("@pulumi/pulumi");
|
|
7
|
+
const utilities = require("./utilities");
|
|
8
|
+
/**
|
|
9
|
+
* Sets up Synthetic Monitoring on a Grafana cloud stack and generates a token.
|
|
10
|
+
* Once a Grafana Cloud stack is created, a user can either use this resource or go into the UI to install synthetic monitoring.
|
|
11
|
+
* This resource cannot be imported but it can be used on an existing Synthetic Monitoring installation without issues.
|
|
12
|
+
*
|
|
13
|
+
* **Note that this resource must be used on a provider configured with Grafana Cloud credentials.**
|
|
14
|
+
*
|
|
15
|
+
* * [Official documentation](https://grafana.com/docs/grafana-cloud/monitor-public-endpoints/installation/)
|
|
16
|
+
* * [API documentation](https://github.com/grafana/synthetic-monitoring-api-go-client/blob/main/docs/API.md#apiv1registerinstall)
|
|
17
|
+
*
|
|
18
|
+
* ## Example Usage
|
|
19
|
+
*
|
|
20
|
+
* ```typescript
|
|
21
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
22
|
+
* import * as grafana from "@pulumiverse/grafana";
|
|
23
|
+
*
|
|
24
|
+
* const smStackCloudStack = new grafana.CloudStack("smStackCloudStack", {
|
|
25
|
+
* slug: "<stack-slug>",
|
|
26
|
+
* regionSlug: "us",
|
|
27
|
+
* });
|
|
28
|
+
* const metricsPublish = new grafana.CloudApiKey("metricsPublish", {
|
|
29
|
+
* role: "MetricsPublisher",
|
|
30
|
+
* cloudOrgSlug: "<org-slug>",
|
|
31
|
+
* });
|
|
32
|
+
* const smStackSyntheticMonitoringInstallation = new grafana.SyntheticMonitoringInstallation("smStackSyntheticMonitoringInstallation", {stackId: smStackCloudStack.id});
|
|
33
|
+
* // Create a new provider instance to interact with Synthetic Monitoring
|
|
34
|
+
* const sm = new grafana.Provider("sm", {
|
|
35
|
+
* smAccessToken: smStackSyntheticMonitoringInstallation.smAccessToken,
|
|
36
|
+
* smUrl: smStackSyntheticMonitoringInstallation.stackSmApiUrl,
|
|
37
|
+
* });
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
class SyntheticMonitoringInstallation extends pulumi.CustomResource {
|
|
41
|
+
/**
|
|
42
|
+
* Get an existing SyntheticMonitoringInstallation 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 SyntheticMonitoringInstallation(name, state, Object.assign(Object.assign({}, opts), { id: id }));
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Returns true if the given object is an instance of SyntheticMonitoringInstallation. 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'] === SyntheticMonitoringInstallation.__pulumiType;
|
|
62
|
+
}
|
|
63
|
+
constructor(name, argsOrState, opts) {
|
|
64
|
+
let resourceInputs = {};
|
|
65
|
+
opts = opts || {};
|
|
66
|
+
if (opts.id) {
|
|
67
|
+
const state = argsOrState;
|
|
68
|
+
resourceInputs["metricsPublisherKey"] = state ? state.metricsPublisherKey : undefined;
|
|
69
|
+
resourceInputs["smAccessToken"] = state ? state.smAccessToken : undefined;
|
|
70
|
+
resourceInputs["stackId"] = state ? state.stackId : undefined;
|
|
71
|
+
resourceInputs["stackSmApiUrl"] = state ? state.stackSmApiUrl : undefined;
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
const args = argsOrState;
|
|
75
|
+
if ((!args || args.metricsPublisherKey === undefined) && !opts.urn) {
|
|
76
|
+
throw new Error("Missing required property 'metricsPublisherKey'");
|
|
77
|
+
}
|
|
78
|
+
if ((!args || args.stackId === undefined) && !opts.urn) {
|
|
79
|
+
throw new Error("Missing required property 'stackId'");
|
|
80
|
+
}
|
|
81
|
+
resourceInputs["metricsPublisherKey"] = (args === null || args === void 0 ? void 0 : args.metricsPublisherKey) ? pulumi.secret(args.metricsPublisherKey) : undefined;
|
|
82
|
+
resourceInputs["stackId"] = args ? args.stackId : undefined;
|
|
83
|
+
resourceInputs["stackSmApiUrl"] = args ? args.stackSmApiUrl : undefined;
|
|
84
|
+
resourceInputs["smAccessToken"] = undefined /*out*/;
|
|
85
|
+
}
|
|
86
|
+
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
|
87
|
+
const secretOpts = { additionalSecretOutputs: ["metricsPublisherKey"] };
|
|
88
|
+
opts = pulumi.mergeOptions(opts, secretOpts);
|
|
89
|
+
super(SyntheticMonitoringInstallation.__pulumiType, name, resourceInputs, opts);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
exports.SyntheticMonitoringInstallation = SyntheticMonitoringInstallation;
|
|
93
|
+
/** @internal */
|
|
94
|
+
SyntheticMonitoringInstallation.__pulumiType = 'grafana:index/syntheticMonitoringInstallation:SyntheticMonitoringInstallation';
|
|
95
|
+
//# sourceMappingURL=syntheticMonitoringInstallation.js.map
|