@pulumiverse/grafana 0.2.1 → 0.2.2-alpha.1710103057
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/cloudAccessPolicy.d.ts +7 -1
- package/cloudAccessPolicy.js +7 -1
- package/cloudAccessPolicy.js.map +1 -1
- package/cloudAccessPolicyToken.d.ts +12 -0
- package/cloudAccessPolicyToken.js +12 -0
- package/cloudAccessPolicyToken.js.map +1 -1
- package/cloudApiKey.d.ts +9 -1
- package/cloudApiKey.js +9 -1
- package/cloudApiKey.js.map +1 -1
- package/cloudPluginInstallation.d.ts +7 -1
- package/cloudPluginInstallation.js +7 -1
- package/cloudPluginInstallation.js.map +1 -1
- package/cloudStack.d.ts +47 -10
- package/cloudStack.js +18 -0
- package/cloudStack.js.map +1 -1
- package/cloudStackServiceAccount.d.ts +5 -2
- package/cloudStackServiceAccount.js +5 -2
- package/cloudStackServiceAccount.js.map +1 -1
- package/cloudStackServiceAccountToken.d.ts +4 -2
- package/cloudStackServiceAccountToken.js +4 -2
- package/cloudStackServiceAccountToken.js.map +1 -1
- package/config/vars.d.ts +5 -1
- package/config/vars.js +6 -0
- package/config/vars.js.map +1 -1
- package/contactPoint.d.ts +51 -3
- package/contactPoint.js +8 -0
- package/contactPoint.js.map +1 -1
- package/dashboard.d.ts +11 -2
- package/dashboard.js +11 -2
- package/dashboard.js.map +1 -1
- package/dashboardPermission.d.ts +13 -6
- package/dashboardPermission.js +10 -6
- package/dashboardPermission.js.map +1 -1
- package/dashboardPublic.d.ts +197 -0
- package/dashboardPublic.js +131 -0
- package/dashboardPublic.js.map +1 -0
- package/dataSource.d.ts +1 -1
- package/dataSource.js +1 -1
- package/dataSourcePermission.d.ts +4 -3
- package/dataSourcePermission.js +2 -4
- package/dataSourcePermission.js.map +1 -1
- package/folder.d.ts +12 -0
- package/folder.js +2 -0
- package/folder.js.map +1 -1
- package/folderPermission.d.ts +18 -3
- package/folderPermission.js +16 -4
- package/folderPermission.js.map +1 -1
- package/getCloudOrganization.d.ts +24 -0
- package/getCloudOrganization.js +24 -0
- package/getCloudOrganization.js.map +1 -1
- package/getCloudStack.d.ts +15 -1
- package/getCloudStack.js.map +1 -1
- package/getDashboard.d.ts +12 -0
- package/getDashboard.js +1 -0
- package/getDashboard.js.map +1 -1
- package/getDashboards.d.ts +12 -0
- package/getDashboards.js +1 -0
- package/getDashboards.js.map +1 -1
- package/getFolder.d.ts +12 -0
- package/getFolder.js +1 -0
- package/getFolder.js.map +1 -1
- package/getFolders.d.ts +24 -2
- package/getFolders.js +7 -4
- package/getFolders.js.map +1 -1
- package/getOncallSchedule.d.ts +2 -2
- package/getOncallSchedule.js +2 -2
- package/getOrganizationPreferences.d.ts +26 -6
- package/getOrganizationPreferences.js +7 -4
- package/getOrganizationPreferences.js.map +1 -1
- package/getServiceAccount.d.ts +62 -0
- package/getServiceAccount.js +28 -0
- package/getServiceAccount.js.map +1 -0
- package/index.d.ts +11 -2
- package/index.js +16 -3
- package/index.js.map +1 -1
- package/libraryPanel.d.ts +9 -3
- package/libraryPanel.js +9 -3
- package/libraryPanel.js.map +1 -1
- package/messageTemplate.d.ts +24 -0
- package/messageTemplate.js +4 -0
- package/messageTemplate.js.map +1 -1
- package/muteTiming.d.ts +16 -3
- package/muteTiming.js +3 -0
- package/muteTiming.js.map +1 -1
- package/notificationPolicy.d.ts +41 -5
- package/notificationPolicy.js +21 -5
- package/notificationPolicy.js.map +1 -1
- package/oncallEscalation.d.ts +1 -1
- package/oncallEscalation.js +1 -1
- package/oncallIntegration.d.ts +6 -6
- package/oncallOnCallShift.d.ts +3 -3
- package/oncallOutgoingWebhook.d.ts +78 -6
- package/oncallOutgoingWebhook.js +12 -0
- package/oncallOutgoingWebhook.js.map +1 -1
- package/organization.d.ts +18 -0
- package/organization.js +2 -0
- package/organization.js.map +1 -1
- package/organizationPreference.d.ts +16 -10
- package/organizationPreference.js +1 -1
- package/organizationPreference.js.map +1 -1
- package/package.json +2 -2
- package/package.json.dev +1 -1
- package/playlist.d.ts +25 -0
- package/playlist.js +25 -0
- package/playlist.js.map +1 -1
- package/provider.d.ts +14 -2
- package/provider.js +2 -1
- package/provider.js.map +1 -1
- package/report.d.ts +29 -5
- package/report.js +4 -2
- package/report.js.map +1 -1
- package/roleAssignment.d.ts +1 -0
- package/roleAssignment.js +1 -0
- package/roleAssignment.js.map +1 -1
- package/ruleGroup.d.ts +17 -5
- package/ruleGroup.js +2 -3
- package/ruleGroup.js.map +1 -1
- package/serviceAccountPermission.d.ts +4 -2
- package/serviceAccountPermission.js +2 -3
- package/serviceAccountPermission.js.map +1 -1
- package/serviceAccountToken.d.ts +48 -2
- package/serviceAccountToken.js +3 -2
- package/serviceAccountToken.js.map +1 -1
- package/slo.d.ts +12 -0
- package/slo.js +2 -0
- package/slo.js.map +1 -1
- package/ssoSettings.d.ts +85 -0
- package/ssoSettings.js +80 -0
- package/ssoSettings.js.map +1 -0
- package/syntheticMonitoringInstallation.d.ts +45 -10
- package/syntheticMonitoringInstallation.js +42 -7
- package/syntheticMonitoringInstallation.js.map +1 -1
- package/team.d.ts +6 -1
- package/team.js +6 -1
- package/team.js.map +1 -1
- package/teamExternalGroup.d.ts +3 -2
- package/teamExternalGroup.js +3 -2
- package/teamExternalGroup.js.map +1 -1
- package/types/input.d.ts +441 -3
- package/types/output.d.ts +446 -3
package/ruleGroup.js
CHANGED
|
@@ -138,6 +138,7 @@ class RuleGroup extends pulumi.CustomResource {
|
|
|
138
138
|
opts = opts || {};
|
|
139
139
|
if (opts.id) {
|
|
140
140
|
const state = argsOrState;
|
|
141
|
+
resourceInputs["disableProvenance"] = state ? state.disableProvenance : undefined;
|
|
141
142
|
resourceInputs["folderUid"] = state ? state.folderUid : undefined;
|
|
142
143
|
resourceInputs["intervalSeconds"] = state ? state.intervalSeconds : undefined;
|
|
143
144
|
resourceInputs["name"] = state ? state.name : undefined;
|
|
@@ -152,12 +153,10 @@ class RuleGroup extends pulumi.CustomResource {
|
|
|
152
153
|
if ((!args || args.intervalSeconds === undefined) && !opts.urn) {
|
|
153
154
|
throw new Error("Missing required property 'intervalSeconds'");
|
|
154
155
|
}
|
|
155
|
-
if ((!args || args.orgId === undefined) && !opts.urn) {
|
|
156
|
-
throw new Error("Missing required property 'orgId'");
|
|
157
|
-
}
|
|
158
156
|
if ((!args || args.rules === undefined) && !opts.urn) {
|
|
159
157
|
throw new Error("Missing required property 'rules'");
|
|
160
158
|
}
|
|
159
|
+
resourceInputs["disableProvenance"] = args ? args.disableProvenance : undefined;
|
|
161
160
|
resourceInputs["folderUid"] = args ? args.folderUid : undefined;
|
|
162
161
|
resourceInputs["intervalSeconds"] = args ? args.intervalSeconds : undefined;
|
|
163
162
|
resourceInputs["name"] = args ? args.name : undefined;
|
package/ruleGroup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ruleGroup.js","sourceRoot":"","sources":["../ruleGroup.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwGG;AACH,MAAa,SAAU,SAAQ,MAAM,CAAC,cAAc;IAChD;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAsB,EAAE,IAAmC;QACpH,OAAO,IAAI,SAAS,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IAChE,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,SAAS,CAAC,YAAY,CAAC;IAC1D,CAAC;
|
|
1
|
+
{"version":3,"file":"ruleGroup.js","sourceRoot":"","sources":["../ruleGroup.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,8 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
2
2
|
import * as inputs from "./types/input";
|
|
3
3
|
import * as outputs from "./types/output";
|
|
4
4
|
/**
|
|
5
|
+
* Manages the entire set of permissions for a service account. Permissions that aren't specified when applying this resource will be removed.
|
|
6
|
+
*
|
|
5
7
|
* **Note:** This resource is available from Grafana 9.2.4 onwards.
|
|
6
8
|
*
|
|
7
9
|
* * [Official documentation](https://grafana.com/docs/grafana/latest/administration/service-accounts/#manage-users-and-teams-permissions-for-a-service-account-in-grafana)
|
|
@@ -60,7 +62,7 @@ export declare class ServiceAccountPermission extends pulumi.CustomResource {
|
|
|
60
62
|
/**
|
|
61
63
|
* The permission items to add/update. Items that are omitted from the list will be removed.
|
|
62
64
|
*/
|
|
63
|
-
readonly permissions: pulumi.Output<outputs.ServiceAccountPermissionPermission[]>;
|
|
65
|
+
readonly permissions: pulumi.Output<outputs.ServiceAccountPermissionPermission[] | undefined>;
|
|
64
66
|
/**
|
|
65
67
|
* The id of the service account.
|
|
66
68
|
*/
|
|
@@ -102,7 +104,7 @@ export interface ServiceAccountPermissionArgs {
|
|
|
102
104
|
/**
|
|
103
105
|
* The permission items to add/update. Items that are omitted from the list will be removed.
|
|
104
106
|
*/
|
|
105
|
-
permissions
|
|
107
|
+
permissions?: pulumi.Input<pulumi.Input<inputs.ServiceAccountPermissionPermission>[]>;
|
|
106
108
|
/**
|
|
107
109
|
* The id of the service account.
|
|
108
110
|
*/
|
|
@@ -6,6 +6,8 @@ exports.ServiceAccountPermission = void 0;
|
|
|
6
6
|
const pulumi = require("@pulumi/pulumi");
|
|
7
7
|
const utilities = require("./utilities");
|
|
8
8
|
/**
|
|
9
|
+
* Manages the entire set of permissions for a service account. Permissions that aren't specified when applying this resource will be removed.
|
|
10
|
+
*
|
|
9
11
|
* **Note:** This resource is available from Grafana 9.2.4 onwards.
|
|
10
12
|
*
|
|
11
13
|
* * [Official documentation](https://grafana.com/docs/grafana/latest/administration/service-accounts/#manage-users-and-teams-permissions-for-a-service-account-in-grafana)
|
|
@@ -75,9 +77,6 @@ class ServiceAccountPermission extends pulumi.CustomResource {
|
|
|
75
77
|
}
|
|
76
78
|
else {
|
|
77
79
|
const args = argsOrState;
|
|
78
|
-
if ((!args || args.permissions === undefined) && !opts.urn) {
|
|
79
|
-
throw new Error("Missing required property 'permissions'");
|
|
80
|
-
}
|
|
81
80
|
if ((!args || args.serviceAccountId === undefined) && !opts.urn) {
|
|
82
81
|
throw new Error("Missing required property 'serviceAccountId'");
|
|
83
82
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serviceAccountPermission.js","sourceRoot":"","sources":["../serviceAccountPermission.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC
|
|
1
|
+
{"version":3,"file":"serviceAccountPermission.js","sourceRoot":"","sources":["../serviceAccountPermission.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAa,wBAAyB,SAAQ,MAAM,CAAC,cAAc;IAC/D;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAqC,EAAE,IAAmC;QACnI,OAAO,IAAI,wBAAwB,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IAC/E,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,wBAAwB,CAAC,YAAY,CAAC;IACzE,CAAC;IAuBD,YAAY,IAAY,EAAE,WAA0E,EAAE,IAAmC;QACrI,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAwD,CAAC;YACvE,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;YACtE,cAAc,CAAC,kBAAkB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;SACnF;aAAM;YACH,MAAM,IAAI,GAAG,WAAuD,CAAC;YACrE,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC7D,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;aACnE;YACD,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;YACpE,cAAc,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;SACjF;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,wBAAwB,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC7E,CAAC;;AApEL,4DAqEC;AAvDG,gBAAgB;AACO,qCAAY,GAAG,iEAAiE,CAAC"}
|
package/serviceAccountToken.d.ts
CHANGED
|
@@ -11,9 +11,10 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
11
11
|
* import * as pulumi from "@pulumi/pulumi";
|
|
12
12
|
* import * as grafana from "@pulumiverse/grafana";
|
|
13
13
|
*
|
|
14
|
-
* const
|
|
14
|
+
* const test = new grafana.ServiceAccount("test", {role: "Viewer"});
|
|
15
|
+
* const foo = new grafana.ServiceAccountToken("foo", {serviceAccountId: test.id});
|
|
15
16
|
* const bar = new grafana.ServiceAccountToken("bar", {
|
|
16
|
-
* serviceAccountId:
|
|
17
|
+
* serviceAccountId: test.id,
|
|
17
18
|
* secondsToLive: 30,
|
|
18
19
|
* });
|
|
19
20
|
* export const serviceAccountTokenFooKeyOnly = foo.key;
|
|
@@ -36,11 +37,29 @@ export declare class ServiceAccountToken extends pulumi.CustomResource {
|
|
|
36
37
|
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
37
38
|
*/
|
|
38
39
|
static isInstance(obj: any): obj is ServiceAccountToken;
|
|
40
|
+
/**
|
|
41
|
+
* The expiration date of the service account token.
|
|
42
|
+
*/
|
|
39
43
|
readonly expiration: pulumi.Output<string>;
|
|
44
|
+
/**
|
|
45
|
+
* The status of the service account token.
|
|
46
|
+
*/
|
|
40
47
|
readonly hasExpired: pulumi.Output<boolean>;
|
|
48
|
+
/**
|
|
49
|
+
* The key of the service account token.
|
|
50
|
+
*/
|
|
41
51
|
readonly key: pulumi.Output<string>;
|
|
52
|
+
/**
|
|
53
|
+
* The name of the service account token.
|
|
54
|
+
*/
|
|
42
55
|
readonly name: pulumi.Output<string>;
|
|
56
|
+
/**
|
|
57
|
+
* The key expiration in seconds. It is optional. If it is a positive number an expiration date for the key is set. If it is null, zero or is omitted completely (unless `apiKeyMaxSecondsToLive` configuration option is set) the key will never expire.
|
|
58
|
+
*/
|
|
43
59
|
readonly secondsToLive: pulumi.Output<number | undefined>;
|
|
60
|
+
/**
|
|
61
|
+
* The ID of the service account to which the token belongs.
|
|
62
|
+
*/
|
|
44
63
|
readonly serviceAccountId: pulumi.Output<string>;
|
|
45
64
|
/**
|
|
46
65
|
* Create a ServiceAccountToken resource with the given unique name, arguments, and options.
|
|
@@ -55,18 +74,45 @@ export declare class ServiceAccountToken extends pulumi.CustomResource {
|
|
|
55
74
|
* Input properties used for looking up and filtering ServiceAccountToken resources.
|
|
56
75
|
*/
|
|
57
76
|
export interface ServiceAccountTokenState {
|
|
77
|
+
/**
|
|
78
|
+
* The expiration date of the service account token.
|
|
79
|
+
*/
|
|
58
80
|
expiration?: pulumi.Input<string>;
|
|
81
|
+
/**
|
|
82
|
+
* The status of the service account token.
|
|
83
|
+
*/
|
|
59
84
|
hasExpired?: pulumi.Input<boolean>;
|
|
85
|
+
/**
|
|
86
|
+
* The key of the service account token.
|
|
87
|
+
*/
|
|
60
88
|
key?: pulumi.Input<string>;
|
|
89
|
+
/**
|
|
90
|
+
* The name of the service account token.
|
|
91
|
+
*/
|
|
61
92
|
name?: pulumi.Input<string>;
|
|
93
|
+
/**
|
|
94
|
+
* The key expiration in seconds. It is optional. If it is a positive number an expiration date for the key is set. If it is null, zero or is omitted completely (unless `apiKeyMaxSecondsToLive` configuration option is set) the key will never expire.
|
|
95
|
+
*/
|
|
62
96
|
secondsToLive?: pulumi.Input<number>;
|
|
97
|
+
/**
|
|
98
|
+
* The ID of the service account to which the token belongs.
|
|
99
|
+
*/
|
|
63
100
|
serviceAccountId?: pulumi.Input<string>;
|
|
64
101
|
}
|
|
65
102
|
/**
|
|
66
103
|
* The set of arguments for constructing a ServiceAccountToken resource.
|
|
67
104
|
*/
|
|
68
105
|
export interface ServiceAccountTokenArgs {
|
|
106
|
+
/**
|
|
107
|
+
* The name of the service account token.
|
|
108
|
+
*/
|
|
69
109
|
name?: pulumi.Input<string>;
|
|
110
|
+
/**
|
|
111
|
+
* The key expiration in seconds. It is optional. If it is a positive number an expiration date for the key is set. If it is null, zero or is omitted completely (unless `apiKeyMaxSecondsToLive` configuration option is set) the key will never expire.
|
|
112
|
+
*/
|
|
70
113
|
secondsToLive?: pulumi.Input<number>;
|
|
114
|
+
/**
|
|
115
|
+
* The ID of the service account to which the token belongs.
|
|
116
|
+
*/
|
|
71
117
|
serviceAccountId: pulumi.Input<string>;
|
|
72
118
|
}
|
package/serviceAccountToken.js
CHANGED
|
@@ -17,9 +17,10 @@ const utilities = require("./utilities");
|
|
|
17
17
|
* import * as pulumi from "@pulumi/pulumi";
|
|
18
18
|
* import * as grafana from "@pulumiverse/grafana";
|
|
19
19
|
*
|
|
20
|
-
* const
|
|
20
|
+
* const test = new grafana.ServiceAccount("test", {role: "Viewer"});
|
|
21
|
+
* const foo = new grafana.ServiceAccountToken("foo", {serviceAccountId: test.id});
|
|
21
22
|
* const bar = new grafana.ServiceAccountToken("bar", {
|
|
22
|
-
* serviceAccountId:
|
|
23
|
+
* serviceAccountId: test.id,
|
|
23
24
|
* secondsToLive: 30,
|
|
24
25
|
* });
|
|
25
26
|
* export const serviceAccountTokenFooKeyOnly = foo.key;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serviceAccountToken.js","sourceRoot":"","sources":["../serviceAccountToken.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC
|
|
1
|
+
{"version":3,"file":"serviceAccountToken.js","sourceRoot":"","sources":["../serviceAccountToken.ts"],"names":[],"mappings":"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"}
|
package/slo.d.ts
CHANGED
|
@@ -38,6 +38,10 @@ export declare class SLO extends pulumi.CustomResource {
|
|
|
38
38
|
* Description is a free-text field that can provide more context to an SLO.
|
|
39
39
|
*/
|
|
40
40
|
readonly description: pulumi.Output<string>;
|
|
41
|
+
/**
|
|
42
|
+
* Destination Datasource sets the datasource defined for an SLO
|
|
43
|
+
*/
|
|
44
|
+
readonly destinationDatasource: pulumi.Output<outputs.SLODestinationDatasource | undefined>;
|
|
41
45
|
/**
|
|
42
46
|
* Labels to attach only to Fast Burn alerts.
|
|
43
47
|
*/
|
|
@@ -79,6 +83,10 @@ export interface SLOState {
|
|
|
79
83
|
* Description is a free-text field that can provide more context to an SLO.
|
|
80
84
|
*/
|
|
81
85
|
description?: pulumi.Input<string>;
|
|
86
|
+
/**
|
|
87
|
+
* Destination Datasource sets the datasource defined for an SLO
|
|
88
|
+
*/
|
|
89
|
+
destinationDatasource?: pulumi.Input<inputs.SLODestinationDatasource>;
|
|
82
90
|
/**
|
|
83
91
|
* Labels to attach only to Fast Burn alerts.
|
|
84
92
|
*/
|
|
@@ -112,6 +120,10 @@ export interface SLOArgs {
|
|
|
112
120
|
* Description is a free-text field that can provide more context to an SLO.
|
|
113
121
|
*/
|
|
114
122
|
description: pulumi.Input<string>;
|
|
123
|
+
/**
|
|
124
|
+
* Destination Datasource sets the datasource defined for an SLO
|
|
125
|
+
*/
|
|
126
|
+
destinationDatasource?: pulumi.Input<inputs.SLODestinationDatasource>;
|
|
115
127
|
/**
|
|
116
128
|
* Labels to attach only to Fast Burn alerts.
|
|
117
129
|
*/
|
package/slo.js
CHANGED
|
@@ -44,6 +44,7 @@ class SLO extends pulumi.CustomResource {
|
|
|
44
44
|
const state = argsOrState;
|
|
45
45
|
resourceInputs["alertings"] = state ? state.alertings : undefined;
|
|
46
46
|
resourceInputs["description"] = state ? state.description : undefined;
|
|
47
|
+
resourceInputs["destinationDatasource"] = state ? state.destinationDatasource : undefined;
|
|
47
48
|
resourceInputs["labels"] = state ? state.labels : undefined;
|
|
48
49
|
resourceInputs["name"] = state ? state.name : undefined;
|
|
49
50
|
resourceInputs["objectives"] = state ? state.objectives : undefined;
|
|
@@ -62,6 +63,7 @@ class SLO extends pulumi.CustomResource {
|
|
|
62
63
|
}
|
|
63
64
|
resourceInputs["alertings"] = args ? args.alertings : undefined;
|
|
64
65
|
resourceInputs["description"] = args ? args.description : undefined;
|
|
66
|
+
resourceInputs["destinationDatasource"] = args ? args.destinationDatasource : undefined;
|
|
65
67
|
resourceInputs["labels"] = args ? args.labels : undefined;
|
|
66
68
|
resourceInputs["name"] = args ? args.name : undefined;
|
|
67
69
|
resourceInputs["objectives"] = args ? args.objectives : undefined;
|
package/slo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slo.js","sourceRoot":"","sources":["../slo.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC;;;;;;;;GAQG;AACH,MAAa,GAAI,SAAQ,MAAM,CAAC,cAAc;IAC1C;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAgB,EAAE,IAAmC;QAC9G,OAAO,IAAI,GAAG,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IAC1D,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,GAAG,CAAC,YAAY,CAAC;IACpD,CAAC;
|
|
1
|
+
{"version":3,"file":"slo.js","sourceRoot":"","sources":["../slo.ts"],"names":[],"mappings":"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"}
|
package/ssoSettings.d.ts
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import * as pulumi from "@pulumi/pulumi";
|
|
2
|
+
import * as inputs from "./types/input";
|
|
3
|
+
import * as outputs from "./types/output";
|
|
4
|
+
/**
|
|
5
|
+
* Manages Grafana SSO Settings for OAuth2. SAML support will be added soon.
|
|
6
|
+
*
|
|
7
|
+
* * [Official documentation](https://grafana.com/docs/grafana/latest/setup-grafana/configure-security/configure-authentication/)
|
|
8
|
+
* * [HTTP API](https://grafana.com/docs/grafana/latest/developers/http_api/sso-settings/)
|
|
9
|
+
*
|
|
10
|
+
* ## Example Usage
|
|
11
|
+
*
|
|
12
|
+
* ```typescript
|
|
13
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
14
|
+
* import * as grafana from "@pulumiverse/grafana";
|
|
15
|
+
*
|
|
16
|
+
* const githubSsoSettings = new grafana.SsoSettings("githubSsoSettings", {
|
|
17
|
+
* oauth2Settings: {
|
|
18
|
+
* allowedOrganizations: "organization1,organization2",
|
|
19
|
+
* clientId: "github_client_id",
|
|
20
|
+
* clientSecret: "github_client_secret",
|
|
21
|
+
* teamIds: "12,50,123",
|
|
22
|
+
* },
|
|
23
|
+
* providerName: "github",
|
|
24
|
+
* });
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export declare class SsoSettings extends pulumi.CustomResource {
|
|
28
|
+
/**
|
|
29
|
+
* Get an existing SsoSettings resource's state with the given name, ID, and optional extra
|
|
30
|
+
* properties used to qualify the lookup.
|
|
31
|
+
*
|
|
32
|
+
* @param name The _unique_ name of the resulting resource.
|
|
33
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
34
|
+
* @param state Any extra arguments used during the lookup.
|
|
35
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
36
|
+
*/
|
|
37
|
+
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SsoSettingsState, opts?: pulumi.CustomResourceOptions): SsoSettings;
|
|
38
|
+
/**
|
|
39
|
+
* Returns true if the given object is an instance of SsoSettings. This is designed to work even
|
|
40
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
41
|
+
*/
|
|
42
|
+
static isInstance(obj: any): obj is SsoSettings;
|
|
43
|
+
/**
|
|
44
|
+
* The SSO settings set.
|
|
45
|
+
*/
|
|
46
|
+
readonly oauth2Settings: pulumi.Output<outputs.SsoSettingsOauth2Settings>;
|
|
47
|
+
/**
|
|
48
|
+
* The name of the SSO provider. Supported values: github, gitlab, google, azuread, okta, generic_oauth.
|
|
49
|
+
*/
|
|
50
|
+
readonly providerName: pulumi.Output<string>;
|
|
51
|
+
/**
|
|
52
|
+
* Create a SsoSettings resource with the given unique name, arguments, and options.
|
|
53
|
+
*
|
|
54
|
+
* @param name The _unique_ name of the resource.
|
|
55
|
+
* @param args The arguments to use to populate this resource's properties.
|
|
56
|
+
* @param opts A bag of options that control this resource's behavior.
|
|
57
|
+
*/
|
|
58
|
+
constructor(name: string, args: SsoSettingsArgs, opts?: pulumi.CustomResourceOptions);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Input properties used for looking up and filtering SsoSettings resources.
|
|
62
|
+
*/
|
|
63
|
+
export interface SsoSettingsState {
|
|
64
|
+
/**
|
|
65
|
+
* The SSO settings set.
|
|
66
|
+
*/
|
|
67
|
+
oauth2Settings?: pulumi.Input<inputs.SsoSettingsOauth2Settings>;
|
|
68
|
+
/**
|
|
69
|
+
* The name of the SSO provider. Supported values: github, gitlab, google, azuread, okta, generic_oauth.
|
|
70
|
+
*/
|
|
71
|
+
providerName?: pulumi.Input<string>;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* The set of arguments for constructing a SsoSettings resource.
|
|
75
|
+
*/
|
|
76
|
+
export interface SsoSettingsArgs {
|
|
77
|
+
/**
|
|
78
|
+
* The SSO settings set.
|
|
79
|
+
*/
|
|
80
|
+
oauth2Settings: pulumi.Input<inputs.SsoSettingsOauth2Settings>;
|
|
81
|
+
/**
|
|
82
|
+
* The name of the SSO provider. Supported values: github, gitlab, google, azuread, okta, generic_oauth.
|
|
83
|
+
*/
|
|
84
|
+
providerName: pulumi.Input<string>;
|
|
85
|
+
}
|
package/ssoSettings.js
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
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.SsoSettings = void 0;
|
|
6
|
+
const pulumi = require("@pulumi/pulumi");
|
|
7
|
+
const utilities = require("./utilities");
|
|
8
|
+
/**
|
|
9
|
+
* Manages Grafana SSO Settings for OAuth2. SAML support will be added soon.
|
|
10
|
+
*
|
|
11
|
+
* * [Official documentation](https://grafana.com/docs/grafana/latest/setup-grafana/configure-security/configure-authentication/)
|
|
12
|
+
* * [HTTP API](https://grafana.com/docs/grafana/latest/developers/http_api/sso-settings/)
|
|
13
|
+
*
|
|
14
|
+
* ## Example Usage
|
|
15
|
+
*
|
|
16
|
+
* ```typescript
|
|
17
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
18
|
+
* import * as grafana from "@pulumiverse/grafana";
|
|
19
|
+
*
|
|
20
|
+
* const githubSsoSettings = new grafana.SsoSettings("githubSsoSettings", {
|
|
21
|
+
* oauth2Settings: {
|
|
22
|
+
* allowedOrganizations: "organization1,organization2",
|
|
23
|
+
* clientId: "github_client_id",
|
|
24
|
+
* clientSecret: "github_client_secret",
|
|
25
|
+
* teamIds: "12,50,123",
|
|
26
|
+
* },
|
|
27
|
+
* providerName: "github",
|
|
28
|
+
* });
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
class SsoSettings extends pulumi.CustomResource {
|
|
32
|
+
/**
|
|
33
|
+
* Get an existing SsoSettings resource's state with the given name, ID, and optional extra
|
|
34
|
+
* properties used to qualify the lookup.
|
|
35
|
+
*
|
|
36
|
+
* @param name The _unique_ name of the resulting resource.
|
|
37
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
38
|
+
* @param state Any extra arguments used during the lookup.
|
|
39
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
40
|
+
*/
|
|
41
|
+
static get(name, id, state, opts) {
|
|
42
|
+
return new SsoSettings(name, state, Object.assign(Object.assign({}, opts), { id: id }));
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Returns true if the given object is an instance of SsoSettings. This is designed to work even
|
|
46
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
47
|
+
*/
|
|
48
|
+
static isInstance(obj) {
|
|
49
|
+
if (obj === undefined || obj === null) {
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
return obj['__pulumiType'] === SsoSettings.__pulumiType;
|
|
53
|
+
}
|
|
54
|
+
constructor(name, argsOrState, opts) {
|
|
55
|
+
let resourceInputs = {};
|
|
56
|
+
opts = opts || {};
|
|
57
|
+
if (opts.id) {
|
|
58
|
+
const state = argsOrState;
|
|
59
|
+
resourceInputs["oauth2Settings"] = state ? state.oauth2Settings : undefined;
|
|
60
|
+
resourceInputs["providerName"] = state ? state.providerName : undefined;
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
const args = argsOrState;
|
|
64
|
+
if ((!args || args.oauth2Settings === undefined) && !opts.urn) {
|
|
65
|
+
throw new Error("Missing required property 'oauth2Settings'");
|
|
66
|
+
}
|
|
67
|
+
if ((!args || args.providerName === undefined) && !opts.urn) {
|
|
68
|
+
throw new Error("Missing required property 'providerName'");
|
|
69
|
+
}
|
|
70
|
+
resourceInputs["oauth2Settings"] = args ? args.oauth2Settings : undefined;
|
|
71
|
+
resourceInputs["providerName"] = args ? args.providerName : undefined;
|
|
72
|
+
}
|
|
73
|
+
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
|
74
|
+
super(SsoSettings.__pulumiType, name, resourceInputs, opts);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
exports.SsoSettings = SsoSettings;
|
|
78
|
+
/** @internal */
|
|
79
|
+
SsoSettings.__pulumiType = 'grafana:index/ssoSettings:SsoSettings';
|
|
80
|
+
//# sourceMappingURL=ssoSettings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ssoSettings.js","sourceRoot":"","sources":["../ssoSettings.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAa,WAAY,SAAQ,MAAM,CAAC,cAAc;IAClD;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAwB,EAAE,IAAmC;QACtH,OAAO,IAAI,WAAW,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IAClE,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,WAAW,CAAC,YAAY,CAAC;IAC5D,CAAC;IAmBD,YAAY,IAAY,EAAE,WAAgD,EAAE,IAAmC;QAC3G,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAA2C,CAAC;YAC1D,cAAc,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5E,cAAc,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;SAC3E;aAAM;YACH,MAAM,IAAI,GAAG,WAA0C,CAAC;YACxD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC3D,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;aACjE;YACD,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,cAAc,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1E,cAAc,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;SACzE;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAChE,CAAC;;AAjEL,kCAkEC;AApDG,gBAAgB;AACO,wBAAY,GAAG,uCAAuC,CAAC"}
|
|
@@ -9,26 +9,61 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
9
9
|
* * [Official documentation](https://grafana.com/docs/grafana-cloud/monitor-public-endpoints/installation/)
|
|
10
10
|
* * [API documentation](https://github.com/grafana/synthetic-monitoring-api-go-client/blob/main/docs/API.md#apiv1registerinstall)
|
|
11
11
|
*
|
|
12
|
+
* Required access policy scopes:
|
|
13
|
+
*
|
|
14
|
+
* * stacks:read
|
|
15
|
+
*
|
|
12
16
|
* ## Example Usage
|
|
13
17
|
*
|
|
14
18
|
* ```typescript
|
|
15
19
|
* import * as pulumi from "@pulumi/pulumi";
|
|
20
|
+
* import * as grafana from "@pulumi/grafana";
|
|
16
21
|
* import * as grafana from "@pulumiverse/grafana";
|
|
17
22
|
*
|
|
23
|
+
* const config = new pulumi.Config();
|
|
24
|
+
* const cloudApiKey = config.requireObject("cloudApiKey");
|
|
25
|
+
* const stackSlug = config.requireObject("stackSlug");
|
|
26
|
+
* const cloudRegion = config.get("cloudRegion") || "us";
|
|
27
|
+
* // Step 1: Create a stack
|
|
28
|
+
* const cloud = new grafana.Provider("cloud", {cloudApiKey: cloudApiKey});
|
|
18
29
|
* const smStackCloudStack = new grafana.CloudStack("smStackCloudStack", {
|
|
19
|
-
* slug:
|
|
20
|
-
* regionSlug:
|
|
30
|
+
* slug: stackSlug,
|
|
31
|
+
* regionSlug: cloudRegion,
|
|
32
|
+
* }, {
|
|
33
|
+
* provider: grafana.cloud,
|
|
34
|
+
* });
|
|
35
|
+
* // Step 2: Install Synthetic Monitoring on the stack
|
|
36
|
+
* const smMetricsPublishCloudAccessPolicy = new grafana.CloudAccessPolicy("smMetricsPublishCloudAccessPolicy", {
|
|
37
|
+
* region: cloudRegion,
|
|
38
|
+
* scopes: [
|
|
39
|
+
* "metrics:write",
|
|
40
|
+
* "stacks:read",
|
|
41
|
+
* ],
|
|
42
|
+
* realms: [{
|
|
43
|
+
* type: "stack",
|
|
44
|
+
* identifier: smStackCloudStack.id,
|
|
45
|
+
* }],
|
|
46
|
+
* }, {
|
|
47
|
+
* provider: grafana.cloud,
|
|
48
|
+
* });
|
|
49
|
+
* const smMetricsPublishCloudAccessPolicyToken = new grafana.CloudAccessPolicyToken("smMetricsPublishCloudAccessPolicyToken", {
|
|
50
|
+
* region: cloudRegion,
|
|
51
|
+
* accessPolicyId: smMetricsPublishCloudAccessPolicy.policyId,
|
|
52
|
+
* }, {
|
|
53
|
+
* provider: grafana.cloud,
|
|
21
54
|
* });
|
|
22
|
-
* const
|
|
23
|
-
*
|
|
24
|
-
*
|
|
55
|
+
* const smStackSyntheticMonitoringInstallation = new grafana.SyntheticMonitoringInstallation("smStackSyntheticMonitoringInstallation", {
|
|
56
|
+
* stackId: smStackCloudStack.id,
|
|
57
|
+
* metricsPublisherKey: smMetricsPublishCloudAccessPolicyToken.token,
|
|
58
|
+
* }, {
|
|
59
|
+
* provider: grafana.cloud,
|
|
25
60
|
* });
|
|
26
|
-
*
|
|
27
|
-
* // Create a new provider instance to interact with Synthetic Monitoring
|
|
61
|
+
* // Step 3: Interact with Synthetic Monitoring
|
|
28
62
|
* const sm = new grafana.Provider("sm", {
|
|
29
63
|
* smAccessToken: smStackSyntheticMonitoringInstallation.smAccessToken,
|
|
30
64
|
* smUrl: smStackSyntheticMonitoringInstallation.stackSmApiUrl,
|
|
31
65
|
* });
|
|
66
|
+
* const main = grafana.getSyntheticMonitoringProbes({});
|
|
32
67
|
* ```
|
|
33
68
|
*/
|
|
34
69
|
export declare class SyntheticMonitoringInstallation extends pulumi.CustomResource {
|
|
@@ -48,7 +83,7 @@ export declare class SyntheticMonitoringInstallation extends pulumi.CustomResour
|
|
|
48
83
|
*/
|
|
49
84
|
static isInstance(obj: any): obj is SyntheticMonitoringInstallation;
|
|
50
85
|
/**
|
|
51
|
-
* The Cloud
|
|
86
|
+
* The [Grafana Cloud access policy](https://grafana.com/docs/grafana-cloud/account-management/authentication-and-permissions/access-policies/) with the following scopes: `stacks:read`, `metrics:write`, `logs:write`, `traces:write`. This is used to publish metrics and logs to Grafana Cloud stack.
|
|
52
87
|
*/
|
|
53
88
|
readonly metricsPublisherKey: pulumi.Output<string>;
|
|
54
89
|
/**
|
|
@@ -77,7 +112,7 @@ export declare class SyntheticMonitoringInstallation extends pulumi.CustomResour
|
|
|
77
112
|
*/
|
|
78
113
|
export interface SyntheticMonitoringInstallationState {
|
|
79
114
|
/**
|
|
80
|
-
* The Cloud
|
|
115
|
+
* The [Grafana Cloud access policy](https://grafana.com/docs/grafana-cloud/account-management/authentication-and-permissions/access-policies/) with the following scopes: `stacks:read`, `metrics:write`, `logs:write`, `traces:write`. This is used to publish metrics and logs to Grafana Cloud stack.
|
|
81
116
|
*/
|
|
82
117
|
metricsPublisherKey?: pulumi.Input<string>;
|
|
83
118
|
/**
|
|
@@ -98,7 +133,7 @@ export interface SyntheticMonitoringInstallationState {
|
|
|
98
133
|
*/
|
|
99
134
|
export interface SyntheticMonitoringInstallationArgs {
|
|
100
135
|
/**
|
|
101
|
-
* The Cloud
|
|
136
|
+
* The [Grafana Cloud access policy](https://grafana.com/docs/grafana-cloud/account-management/authentication-and-permissions/access-policies/) with the following scopes: `stacks:read`, `metrics:write`, `logs:write`, `traces:write`. This is used to publish metrics and logs to Grafana Cloud stack.
|
|
102
137
|
*/
|
|
103
138
|
metricsPublisherKey: pulumi.Input<string>;
|
|
104
139
|
/**
|
|
@@ -15,26 +15,61 @@ const utilities = require("./utilities");
|
|
|
15
15
|
* * [Official documentation](https://grafana.com/docs/grafana-cloud/monitor-public-endpoints/installation/)
|
|
16
16
|
* * [API documentation](https://github.com/grafana/synthetic-monitoring-api-go-client/blob/main/docs/API.md#apiv1registerinstall)
|
|
17
17
|
*
|
|
18
|
+
* Required access policy scopes:
|
|
19
|
+
*
|
|
20
|
+
* * stacks:read
|
|
21
|
+
*
|
|
18
22
|
* ## Example Usage
|
|
19
23
|
*
|
|
20
24
|
* ```typescript
|
|
21
25
|
* import * as pulumi from "@pulumi/pulumi";
|
|
26
|
+
* import * as grafana from "@pulumi/grafana";
|
|
22
27
|
* import * as grafana from "@pulumiverse/grafana";
|
|
23
28
|
*
|
|
29
|
+
* const config = new pulumi.Config();
|
|
30
|
+
* const cloudApiKey = config.requireObject("cloudApiKey");
|
|
31
|
+
* const stackSlug = config.requireObject("stackSlug");
|
|
32
|
+
* const cloudRegion = config.get("cloudRegion") || "us";
|
|
33
|
+
* // Step 1: Create a stack
|
|
34
|
+
* const cloud = new grafana.Provider("cloud", {cloudApiKey: cloudApiKey});
|
|
24
35
|
* const smStackCloudStack = new grafana.CloudStack("smStackCloudStack", {
|
|
25
|
-
* slug:
|
|
26
|
-
* regionSlug:
|
|
36
|
+
* slug: stackSlug,
|
|
37
|
+
* regionSlug: cloudRegion,
|
|
38
|
+
* }, {
|
|
39
|
+
* provider: grafana.cloud,
|
|
40
|
+
* });
|
|
41
|
+
* // Step 2: Install Synthetic Monitoring on the stack
|
|
42
|
+
* const smMetricsPublishCloudAccessPolicy = new grafana.CloudAccessPolicy("smMetricsPublishCloudAccessPolicy", {
|
|
43
|
+
* region: cloudRegion,
|
|
44
|
+
* scopes: [
|
|
45
|
+
* "metrics:write",
|
|
46
|
+
* "stacks:read",
|
|
47
|
+
* ],
|
|
48
|
+
* realms: [{
|
|
49
|
+
* type: "stack",
|
|
50
|
+
* identifier: smStackCloudStack.id,
|
|
51
|
+
* }],
|
|
52
|
+
* }, {
|
|
53
|
+
* provider: grafana.cloud,
|
|
54
|
+
* });
|
|
55
|
+
* const smMetricsPublishCloudAccessPolicyToken = new grafana.CloudAccessPolicyToken("smMetricsPublishCloudAccessPolicyToken", {
|
|
56
|
+
* region: cloudRegion,
|
|
57
|
+
* accessPolicyId: smMetricsPublishCloudAccessPolicy.policyId,
|
|
58
|
+
* }, {
|
|
59
|
+
* provider: grafana.cloud,
|
|
27
60
|
* });
|
|
28
|
-
* const
|
|
29
|
-
*
|
|
30
|
-
*
|
|
61
|
+
* const smStackSyntheticMonitoringInstallation = new grafana.SyntheticMonitoringInstallation("smStackSyntheticMonitoringInstallation", {
|
|
62
|
+
* stackId: smStackCloudStack.id,
|
|
63
|
+
* metricsPublisherKey: smMetricsPublishCloudAccessPolicyToken.token,
|
|
64
|
+
* }, {
|
|
65
|
+
* provider: grafana.cloud,
|
|
31
66
|
* });
|
|
32
|
-
*
|
|
33
|
-
* // Create a new provider instance to interact with Synthetic Monitoring
|
|
67
|
+
* // Step 3: Interact with Synthetic Monitoring
|
|
34
68
|
* const sm = new grafana.Provider("sm", {
|
|
35
69
|
* smAccessToken: smStackSyntheticMonitoringInstallation.smAccessToken,
|
|
36
70
|
* smUrl: smStackSyntheticMonitoringInstallation.stackSmApiUrl,
|
|
37
71
|
* });
|
|
72
|
+
* const main = grafana.getSyntheticMonitoringProbes({});
|
|
38
73
|
* ```
|
|
39
74
|
*/
|
|
40
75
|
class SyntheticMonitoringInstallation extends pulumi.CustomResource {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syntheticMonitoringInstallation.js","sourceRoot":"","sources":["../syntheticMonitoringInstallation.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC
|
|
1
|
+
{"version":3,"file":"syntheticMonitoringInstallation.js","sourceRoot":"","sources":["../syntheticMonitoringInstallation.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkEG;AACH,MAAa,+BAAgC,SAAQ,MAAM,CAAC,cAAc;IACtE;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAA4C,EAAE,IAAmC;QAC1I,OAAO,IAAI,+BAA+B,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IACtF,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,+BAA+B,CAAC,YAAY,CAAC;IAChF,CAAC;IA2BD,YAAY,IAAY,EAAE,WAAwF,EAAE,IAAmC;QACnJ,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAA+D,CAAC;YAC9E,cAAc,CAAC,qBAAqB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC;YACtF,cAAc,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1E,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9D,cAAc,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;SAC7E;aAAM;YACH,MAAM,IAAI,GAAG,WAA8D,CAAC;YAC5E,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,mBAAmB,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAChE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;aACtE;YACD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACpD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;aAC1D;YACD,cAAc,CAAC,qBAAqB,CAAC,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,mBAAmB,EAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACxH,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5D,cAAc,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;YACxE,cAAc,CAAC,eAAe,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SACvD;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,MAAM,UAAU,GAAG,EAAE,uBAAuB,EAAE,CAAC,qBAAqB,CAAC,EAAE,CAAC;QACxE,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC7C,KAAK,CAAC,+BAA+B,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACpF,CAAC;;AA/EL,0EAgFC;AAlEG,gBAAgB;AACO,4CAAY,GAAG,+EAA+E,CAAC"}
|