@pulumiverse/grafana 2.4.0 → 2.5.0

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.
@@ -0,0 +1,6 @@
1
+ export { NotificationAlertsConfigArgs, NotificationAlertsConfigState } from "./notificationAlertsConfig";
2
+ export type NotificationAlertsConfig = import("./notificationAlertsConfig").NotificationAlertsConfig;
3
+ export declare const NotificationAlertsConfig: typeof import("./notificationAlertsConfig").NotificationAlertsConfig;
4
+ export { SuppressedAssertionsConfigArgs, SuppressedAssertionsConfigState } from "./suppressedAssertionsConfig";
5
+ export type SuppressedAssertionsConfig = import("./suppressedAssertionsConfig").SuppressedAssertionsConfig;
6
+ export declare const SuppressedAssertionsConfig: typeof import("./suppressedAssertionsConfig").SuppressedAssertionsConfig;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by pulumi-language-nodejs. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.SuppressedAssertionsConfig = exports.NotificationAlertsConfig = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ exports.NotificationAlertsConfig = null;
9
+ utilities.lazyLoad(exports, ["NotificationAlertsConfig"], () => require("./notificationAlertsConfig"));
10
+ exports.SuppressedAssertionsConfig = null;
11
+ utilities.lazyLoad(exports, ["SuppressedAssertionsConfig"], () => require("./suppressedAssertionsConfig"));
12
+ const _module = {
13
+ version: utilities.getVersion(),
14
+ construct: (name, type, urn) => {
15
+ switch (type) {
16
+ case "grafana:assert/notificationAlertsConfig:NotificationAlertsConfig":
17
+ return new exports.NotificationAlertsConfig(name, undefined, { urn });
18
+ case "grafana:assert/suppressedAssertionsConfig:SuppressedAssertionsConfig":
19
+ return new exports.SuppressedAssertionsConfig(name, undefined, { urn });
20
+ default:
21
+ throw new Error(`unknown resource type ${type}`);
22
+ }
23
+ },
24
+ };
25
+ pulumi.runtime.registerResourceModule("grafana", "assert/notificationAlertsConfig", _module);
26
+ pulumi.runtime.registerResourceModule("grafana", "assert/suppressedAssertionsConfig", _module);
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../assert/index.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAK7B,QAAA,wBAAwB,GAAyE,IAAW,CAAC;AAC1H,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,0BAA0B,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC,CAAC;AAI1F,QAAA,0BAA0B,GAA6E,IAAW,CAAC;AAChI,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,4BAA4B,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC,CAAC;AAG3G,MAAM,OAAO,GAAG;IACZ,OAAO,EAAE,SAAS,CAAC,UAAU,EAAE;IAC/B,SAAS,EAAE,CAAC,IAAY,EAAE,IAAY,EAAE,GAAW,EAAmB,EAAE;QACpE,QAAQ,IAAI,EAAE;YACV,KAAK,kEAAkE;gBACnE,OAAO,IAAI,gCAAwB,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YACtE,KAAK,sEAAsE;gBACvE,OAAO,IAAI,kCAA0B,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YACxE;gBACI,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;SACxD;IACL,CAAC;CACJ,CAAC;AACF,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,SAAS,EAAE,iCAAiC,EAAE,OAAO,CAAC,CAAA;AAC5F,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,SAAS,EAAE,mCAAmC,EAAE,OAAO,CAAC,CAAA"}
@@ -0,0 +1,197 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * Manages Asserts Alert Configurations through Grafana API.
4
+ *
5
+ * ## Example Usage
6
+ *
7
+ * ```typescript
8
+ * import * as pulumi from "@pulumi/pulumi";
9
+ * import * as grafana from "@pulumiverse/grafana";
10
+ *
11
+ * // Basic alert configuration with silencing
12
+ * const prometheusRemoteStorageFailures = new grafana.assert.NotificationAlertsConfig("prometheus_remote_storage_failures", {
13
+ * name: "PrometheusRemoteStorageFailures",
14
+ * matchLabels: {
15
+ * alertname: "PrometheusRemoteStorageFailures",
16
+ * alertgroup: "prometheus.alerts",
17
+ * asserts_env: "prod",
18
+ * },
19
+ * silenced: true,
20
+ * });
21
+ * // High severity alert with specific job and context matching
22
+ * const errorBuildupNotify = new grafana.assert.NotificationAlertsConfig("error_buildup_notify", {
23
+ * name: "ErrorBuildupNotify",
24
+ * matchLabels: {
25
+ * alertname: "ErrorBuildup",
26
+ * job: "acai",
27
+ * asserts_request_type: "inbound",
28
+ * asserts_request_context: "/auth",
29
+ * },
30
+ * silenced: false,
31
+ * });
32
+ * // Alert with additional labels and custom duration
33
+ * const paymentTestAlert = new grafana.assert.NotificationAlertsConfig("payment_test_alert", {
34
+ * name: "PaymentTestAlert",
35
+ * matchLabels: {
36
+ * alertname: "PaymentTestAlert",
37
+ * additional_labels: "asserts_severity=~\"critical\"",
38
+ * alertgroup: "alex-k8s-integration-test.alerts",
39
+ * },
40
+ * alertLabels: {
41
+ * testing: "onetwothree",
42
+ * },
43
+ * duration: "5m",
44
+ * silenced: false,
45
+ * });
46
+ * // Latency alert for shipping service
47
+ * const highShippingLatency = new grafana.assert.NotificationAlertsConfig("high_shipping_latency", {
48
+ * name: "high shipping latency",
49
+ * matchLabels: {
50
+ * alertname: "LatencyP99ErrorBuildup",
51
+ * job: "shipping",
52
+ * asserts_request_type: "inbound",
53
+ * },
54
+ * silenced: false,
55
+ * });
56
+ * // CPU throttling alert with warning severity
57
+ * const cpuThrottlingSustained = new grafana.assert.NotificationAlertsConfig("cpu_throttling_sustained", {
58
+ * name: "CPUThrottlingSustained",
59
+ * matchLabels: {
60
+ * alertname: "CPUThrottlingSustained",
61
+ * additional_labels: "asserts_severity=~\"warning\"",
62
+ * },
63
+ * silenced: true,
64
+ * });
65
+ * // Ingress error rate alert
66
+ * const ingressError = new grafana.assert.NotificationAlertsConfig("ingress_error", {
67
+ * name: "ingress error",
68
+ * matchLabels: {
69
+ * alertname: "ErrorRatioBreach",
70
+ * job: "ingress-nginx-controller-metrics",
71
+ * asserts_request_type: "inbound",
72
+ * },
73
+ * silenced: false,
74
+ * });
75
+ * // MySQL Galera cluster alert
76
+ * const mysqlGaleraNotReady = new grafana.assert.NotificationAlertsConfig("mysql_galera_not_ready", {
77
+ * name: "MySQLGaleraNotReady",
78
+ * matchLabels: {
79
+ * alertname: "MySQLGaleraNotReady",
80
+ * },
81
+ * silenced: false,
82
+ * });
83
+ * ```
84
+ *
85
+ * ## Import
86
+ *
87
+ * ```sh
88
+ * $ pulumi import grafana:assert/notificationAlertsConfig:NotificationAlertsConfig name "{{ name }}"
89
+ * ```
90
+ */
91
+ export declare class NotificationAlertsConfig extends pulumi.CustomResource {
92
+ /**
93
+ * Get an existing NotificationAlertsConfig resource's state with the given name, ID, and optional extra
94
+ * properties used to qualify the lookup.
95
+ *
96
+ * @param name The _unique_ name of the resulting resource.
97
+ * @param id The _unique_ provider ID of the resource to lookup.
98
+ * @param state Any extra arguments used during the lookup.
99
+ * @param opts Optional settings to control the behavior of the CustomResource.
100
+ */
101
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: NotificationAlertsConfigState, opts?: pulumi.CustomResourceOptions): NotificationAlertsConfig;
102
+ /**
103
+ * Returns true if the given object is an instance of NotificationAlertsConfig. This is designed to work even
104
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
105
+ */
106
+ static isInstance(obj: any): obj is NotificationAlertsConfig;
107
+ /**
108
+ * Labels to add to alerts generated by this configuration.
109
+ */
110
+ readonly alertLabels: pulumi.Output<{
111
+ [key: string]: string;
112
+ } | undefined>;
113
+ /**
114
+ * Duration for which the condition must be true before firing (e.g., '5m', '30s'). Maps to 'for' in Asserts API.
115
+ */
116
+ readonly duration: pulumi.Output<string | undefined>;
117
+ /**
118
+ * Labels to match for this alert configuration.
119
+ */
120
+ readonly matchLabels: pulumi.Output<{
121
+ [key: string]: string;
122
+ } | undefined>;
123
+ /**
124
+ * The name of the alert configuration.
125
+ */
126
+ readonly name: pulumi.Output<string>;
127
+ /**
128
+ * Whether this alert configuration is silenced. Defaults to `false`.
129
+ */
130
+ readonly silenced: pulumi.Output<boolean | undefined>;
131
+ /**
132
+ * Create a NotificationAlertsConfig resource with the given unique name, arguments, and options.
133
+ *
134
+ * @param name The _unique_ name of the resource.
135
+ * @param args The arguments to use to populate this resource's properties.
136
+ * @param opts A bag of options that control this resource's behavior.
137
+ */
138
+ constructor(name: string, args?: NotificationAlertsConfigArgs, opts?: pulumi.CustomResourceOptions);
139
+ }
140
+ /**
141
+ * Input properties used for looking up and filtering NotificationAlertsConfig resources.
142
+ */
143
+ export interface NotificationAlertsConfigState {
144
+ /**
145
+ * Labels to add to alerts generated by this configuration.
146
+ */
147
+ alertLabels?: pulumi.Input<{
148
+ [key: string]: pulumi.Input<string>;
149
+ }>;
150
+ /**
151
+ * Duration for which the condition must be true before firing (e.g., '5m', '30s'). Maps to 'for' in Asserts API.
152
+ */
153
+ duration?: pulumi.Input<string>;
154
+ /**
155
+ * Labels to match for this alert configuration.
156
+ */
157
+ matchLabels?: pulumi.Input<{
158
+ [key: string]: pulumi.Input<string>;
159
+ }>;
160
+ /**
161
+ * The name of the alert configuration.
162
+ */
163
+ name?: pulumi.Input<string>;
164
+ /**
165
+ * Whether this alert configuration is silenced. Defaults to `false`.
166
+ */
167
+ silenced?: pulumi.Input<boolean>;
168
+ }
169
+ /**
170
+ * The set of arguments for constructing a NotificationAlertsConfig resource.
171
+ */
172
+ export interface NotificationAlertsConfigArgs {
173
+ /**
174
+ * Labels to add to alerts generated by this configuration.
175
+ */
176
+ alertLabels?: pulumi.Input<{
177
+ [key: string]: pulumi.Input<string>;
178
+ }>;
179
+ /**
180
+ * Duration for which the condition must be true before firing (e.g., '5m', '30s'). Maps to 'for' in Asserts API.
181
+ */
182
+ duration?: pulumi.Input<string>;
183
+ /**
184
+ * Labels to match for this alert configuration.
185
+ */
186
+ matchLabels?: pulumi.Input<{
187
+ [key: string]: pulumi.Input<string>;
188
+ }>;
189
+ /**
190
+ * The name of the alert configuration.
191
+ */
192
+ name?: pulumi.Input<string>;
193
+ /**
194
+ * Whether this alert configuration is silenced. Defaults to `false`.
195
+ */
196
+ silenced?: pulumi.Input<boolean>;
197
+ }
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by pulumi-language-nodejs. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.NotificationAlertsConfig = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * Manages Asserts Alert Configurations through Grafana API.
10
+ *
11
+ * ## Example Usage
12
+ *
13
+ * ```typescript
14
+ * import * as pulumi from "@pulumi/pulumi";
15
+ * import * as grafana from "@pulumiverse/grafana";
16
+ *
17
+ * // Basic alert configuration with silencing
18
+ * const prometheusRemoteStorageFailures = new grafana.assert.NotificationAlertsConfig("prometheus_remote_storage_failures", {
19
+ * name: "PrometheusRemoteStorageFailures",
20
+ * matchLabels: {
21
+ * alertname: "PrometheusRemoteStorageFailures",
22
+ * alertgroup: "prometheus.alerts",
23
+ * asserts_env: "prod",
24
+ * },
25
+ * silenced: true,
26
+ * });
27
+ * // High severity alert with specific job and context matching
28
+ * const errorBuildupNotify = new grafana.assert.NotificationAlertsConfig("error_buildup_notify", {
29
+ * name: "ErrorBuildupNotify",
30
+ * matchLabels: {
31
+ * alertname: "ErrorBuildup",
32
+ * job: "acai",
33
+ * asserts_request_type: "inbound",
34
+ * asserts_request_context: "/auth",
35
+ * },
36
+ * silenced: false,
37
+ * });
38
+ * // Alert with additional labels and custom duration
39
+ * const paymentTestAlert = new grafana.assert.NotificationAlertsConfig("payment_test_alert", {
40
+ * name: "PaymentTestAlert",
41
+ * matchLabels: {
42
+ * alertname: "PaymentTestAlert",
43
+ * additional_labels: "asserts_severity=~\"critical\"",
44
+ * alertgroup: "alex-k8s-integration-test.alerts",
45
+ * },
46
+ * alertLabels: {
47
+ * testing: "onetwothree",
48
+ * },
49
+ * duration: "5m",
50
+ * silenced: false,
51
+ * });
52
+ * // Latency alert for shipping service
53
+ * const highShippingLatency = new grafana.assert.NotificationAlertsConfig("high_shipping_latency", {
54
+ * name: "high shipping latency",
55
+ * matchLabels: {
56
+ * alertname: "LatencyP99ErrorBuildup",
57
+ * job: "shipping",
58
+ * asserts_request_type: "inbound",
59
+ * },
60
+ * silenced: false,
61
+ * });
62
+ * // CPU throttling alert with warning severity
63
+ * const cpuThrottlingSustained = new grafana.assert.NotificationAlertsConfig("cpu_throttling_sustained", {
64
+ * name: "CPUThrottlingSustained",
65
+ * matchLabels: {
66
+ * alertname: "CPUThrottlingSustained",
67
+ * additional_labels: "asserts_severity=~\"warning\"",
68
+ * },
69
+ * silenced: true,
70
+ * });
71
+ * // Ingress error rate alert
72
+ * const ingressError = new grafana.assert.NotificationAlertsConfig("ingress_error", {
73
+ * name: "ingress error",
74
+ * matchLabels: {
75
+ * alertname: "ErrorRatioBreach",
76
+ * job: "ingress-nginx-controller-metrics",
77
+ * asserts_request_type: "inbound",
78
+ * },
79
+ * silenced: false,
80
+ * });
81
+ * // MySQL Galera cluster alert
82
+ * const mysqlGaleraNotReady = new grafana.assert.NotificationAlertsConfig("mysql_galera_not_ready", {
83
+ * name: "MySQLGaleraNotReady",
84
+ * matchLabels: {
85
+ * alertname: "MySQLGaleraNotReady",
86
+ * },
87
+ * silenced: false,
88
+ * });
89
+ * ```
90
+ *
91
+ * ## Import
92
+ *
93
+ * ```sh
94
+ * $ pulumi import grafana:assert/notificationAlertsConfig:NotificationAlertsConfig name "{{ name }}"
95
+ * ```
96
+ */
97
+ class NotificationAlertsConfig extends pulumi.CustomResource {
98
+ /**
99
+ * Get an existing NotificationAlertsConfig resource's state with the given name, ID, and optional extra
100
+ * properties used to qualify the lookup.
101
+ *
102
+ * @param name The _unique_ name of the resulting resource.
103
+ * @param id The _unique_ provider ID of the resource to lookup.
104
+ * @param state Any extra arguments used during the lookup.
105
+ * @param opts Optional settings to control the behavior of the CustomResource.
106
+ */
107
+ static get(name, id, state, opts) {
108
+ return new NotificationAlertsConfig(name, state, { ...opts, id: id });
109
+ }
110
+ /**
111
+ * Returns true if the given object is an instance of NotificationAlertsConfig. This is designed to work even
112
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
113
+ */
114
+ static isInstance(obj) {
115
+ if (obj === undefined || obj === null) {
116
+ return false;
117
+ }
118
+ return obj['__pulumiType'] === NotificationAlertsConfig.__pulumiType;
119
+ }
120
+ constructor(name, argsOrState, opts) {
121
+ let resourceInputs = {};
122
+ opts = opts || {};
123
+ if (opts.id) {
124
+ const state = argsOrState;
125
+ resourceInputs["alertLabels"] = state?.alertLabels;
126
+ resourceInputs["duration"] = state?.duration;
127
+ resourceInputs["matchLabels"] = state?.matchLabels;
128
+ resourceInputs["name"] = state?.name;
129
+ resourceInputs["silenced"] = state?.silenced;
130
+ }
131
+ else {
132
+ const args = argsOrState;
133
+ resourceInputs["alertLabels"] = args?.alertLabels;
134
+ resourceInputs["duration"] = args?.duration;
135
+ resourceInputs["matchLabels"] = args?.matchLabels;
136
+ resourceInputs["name"] = args?.name;
137
+ resourceInputs["silenced"] = args?.silenced;
138
+ }
139
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
140
+ super(NotificationAlertsConfig.__pulumiType, name, resourceInputs, opts);
141
+ }
142
+ }
143
+ exports.NotificationAlertsConfig = NotificationAlertsConfig;
144
+ /** @internal */
145
+ NotificationAlertsConfig.__pulumiType = 'grafana:assert/notificationAlertsConfig:NotificationAlertsConfig';
146
+ //# sourceMappingURL=notificationAlertsConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notificationAlertsConfig.js","sourceRoot":"","sources":["../../assert/notificationAlertsConfig.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwFG;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,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,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;IA+BD,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,aAAa,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC;YACnD,cAAc,CAAC,UAAU,CAAC,GAAG,KAAK,EAAE,QAAQ,CAAC;YAC7C,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC;YACnD,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;YACrC,cAAc,CAAC,UAAU,CAAC,GAAG,KAAK,EAAE,QAAQ,CAAC;SAChD;aAAM;YACH,MAAM,IAAI,GAAG,WAAuD,CAAC;YACrE,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC;YAClD,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC;YAC5C,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC;YAClD,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC;YACpC,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC;SAC/C;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;;AA7EL,4DA8EC;AAhEG,gBAAgB;AACO,qCAAY,GAAG,kEAAkE,CAAC"}
@@ -0,0 +1,108 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * Manages Asserts Disabled Alert Configurations through Grafana API.
4
+ *
5
+ * ## Example Usage
6
+ *
7
+ * ```typescript
8
+ * import * as pulumi from "@pulumi/pulumi";
9
+ * import * as grafana from "@pulumiverse/grafana";
10
+ *
11
+ * // Basic suppressed alert configuration for maintenance
12
+ * const maintenanceWindow = new grafana.assert.SuppressedAssertionsConfig("maintenance_window", {
13
+ * name: "MaintenanceWindow",
14
+ * matchLabels: {
15
+ * service: "api-service",
16
+ * maintenance: "true",
17
+ * },
18
+ * });
19
+ * // Suppress specific alertname during deployment
20
+ * const deploymentSuppression = new grafana.assert.SuppressedAssertionsConfig("deployment_suppression", {
21
+ * name: "DeploymentSuppression",
22
+ * matchLabels: {
23
+ * alertname: "HighLatency",
24
+ * job: "web-service",
25
+ * env: "staging",
26
+ * },
27
+ * });
28
+ * // Suppress alerts for specific test environment
29
+ * const testEnvironmentSuppression = new grafana.assert.SuppressedAssertionsConfig("test_environment_suppression", {
30
+ * name: "TestEnvironmentSuppression",
31
+ * matchLabels: {
32
+ * alertgroup: "test.alerts",
33
+ * environment: "test",
34
+ * },
35
+ * });
36
+ * ```
37
+ *
38
+ * ## Import
39
+ *
40
+ * ```sh
41
+ * $ pulumi import grafana:assert/suppressedAssertionsConfig:SuppressedAssertionsConfig name "{{ name }}"
42
+ * ```
43
+ */
44
+ export declare class SuppressedAssertionsConfig extends pulumi.CustomResource {
45
+ /**
46
+ * Get an existing SuppressedAssertionsConfig resource's state with the given name, ID, and optional extra
47
+ * properties used to qualify the lookup.
48
+ *
49
+ * @param name The _unique_ name of the resulting resource.
50
+ * @param id The _unique_ provider ID of the resource to lookup.
51
+ * @param state Any extra arguments used during the lookup.
52
+ * @param opts Optional settings to control the behavior of the CustomResource.
53
+ */
54
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SuppressedAssertionsConfigState, opts?: pulumi.CustomResourceOptions): SuppressedAssertionsConfig;
55
+ /**
56
+ * Returns true if the given object is an instance of SuppressedAssertionsConfig. This is designed to work even
57
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
58
+ */
59
+ static isInstance(obj: any): obj is SuppressedAssertionsConfig;
60
+ /**
61
+ * Labels to match for this disabled alert configuration.
62
+ */
63
+ readonly matchLabels: pulumi.Output<{
64
+ [key: string]: string;
65
+ } | undefined>;
66
+ /**
67
+ * The name of the disabled alert configuration.
68
+ */
69
+ readonly name: pulumi.Output<string>;
70
+ /**
71
+ * Create a SuppressedAssertionsConfig resource with the given unique name, arguments, and options.
72
+ *
73
+ * @param name The _unique_ name of the resource.
74
+ * @param args The arguments to use to populate this resource's properties.
75
+ * @param opts A bag of options that control this resource's behavior.
76
+ */
77
+ constructor(name: string, args?: SuppressedAssertionsConfigArgs, opts?: pulumi.CustomResourceOptions);
78
+ }
79
+ /**
80
+ * Input properties used for looking up and filtering SuppressedAssertionsConfig resources.
81
+ */
82
+ export interface SuppressedAssertionsConfigState {
83
+ /**
84
+ * Labels to match for this disabled alert configuration.
85
+ */
86
+ matchLabels?: pulumi.Input<{
87
+ [key: string]: pulumi.Input<string>;
88
+ }>;
89
+ /**
90
+ * The name of the disabled alert configuration.
91
+ */
92
+ name?: pulumi.Input<string>;
93
+ }
94
+ /**
95
+ * The set of arguments for constructing a SuppressedAssertionsConfig resource.
96
+ */
97
+ export interface SuppressedAssertionsConfigArgs {
98
+ /**
99
+ * Labels to match for this disabled alert configuration.
100
+ */
101
+ matchLabels?: pulumi.Input<{
102
+ [key: string]: pulumi.Input<string>;
103
+ }>;
104
+ /**
105
+ * The name of the disabled alert configuration.
106
+ */
107
+ name?: pulumi.Input<string>;
108
+ }
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by pulumi-language-nodejs. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.SuppressedAssertionsConfig = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * Manages Asserts Disabled Alert Configurations through Grafana API.
10
+ *
11
+ * ## Example Usage
12
+ *
13
+ * ```typescript
14
+ * import * as pulumi from "@pulumi/pulumi";
15
+ * import * as grafana from "@pulumiverse/grafana";
16
+ *
17
+ * // Basic suppressed alert configuration for maintenance
18
+ * const maintenanceWindow = new grafana.assert.SuppressedAssertionsConfig("maintenance_window", {
19
+ * name: "MaintenanceWindow",
20
+ * matchLabels: {
21
+ * service: "api-service",
22
+ * maintenance: "true",
23
+ * },
24
+ * });
25
+ * // Suppress specific alertname during deployment
26
+ * const deploymentSuppression = new grafana.assert.SuppressedAssertionsConfig("deployment_suppression", {
27
+ * name: "DeploymentSuppression",
28
+ * matchLabels: {
29
+ * alertname: "HighLatency",
30
+ * job: "web-service",
31
+ * env: "staging",
32
+ * },
33
+ * });
34
+ * // Suppress alerts for specific test environment
35
+ * const testEnvironmentSuppression = new grafana.assert.SuppressedAssertionsConfig("test_environment_suppression", {
36
+ * name: "TestEnvironmentSuppression",
37
+ * matchLabels: {
38
+ * alertgroup: "test.alerts",
39
+ * environment: "test",
40
+ * },
41
+ * });
42
+ * ```
43
+ *
44
+ * ## Import
45
+ *
46
+ * ```sh
47
+ * $ pulumi import grafana:assert/suppressedAssertionsConfig:SuppressedAssertionsConfig name "{{ name }}"
48
+ * ```
49
+ */
50
+ class SuppressedAssertionsConfig extends pulumi.CustomResource {
51
+ /**
52
+ * Get an existing SuppressedAssertionsConfig resource's state with the given name, ID, and optional extra
53
+ * properties used to qualify the lookup.
54
+ *
55
+ * @param name The _unique_ name of the resulting resource.
56
+ * @param id The _unique_ provider ID of the resource to lookup.
57
+ * @param state Any extra arguments used during the lookup.
58
+ * @param opts Optional settings to control the behavior of the CustomResource.
59
+ */
60
+ static get(name, id, state, opts) {
61
+ return new SuppressedAssertionsConfig(name, state, { ...opts, id: id });
62
+ }
63
+ /**
64
+ * Returns true if the given object is an instance of SuppressedAssertionsConfig. This is designed to work even
65
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
66
+ */
67
+ static isInstance(obj) {
68
+ if (obj === undefined || obj === null) {
69
+ return false;
70
+ }
71
+ return obj['__pulumiType'] === SuppressedAssertionsConfig.__pulumiType;
72
+ }
73
+ constructor(name, argsOrState, opts) {
74
+ let resourceInputs = {};
75
+ opts = opts || {};
76
+ if (opts.id) {
77
+ const state = argsOrState;
78
+ resourceInputs["matchLabels"] = state?.matchLabels;
79
+ resourceInputs["name"] = state?.name;
80
+ }
81
+ else {
82
+ const args = argsOrState;
83
+ resourceInputs["matchLabels"] = args?.matchLabels;
84
+ resourceInputs["name"] = args?.name;
85
+ }
86
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
87
+ super(SuppressedAssertionsConfig.__pulumiType, name, resourceInputs, opts);
88
+ }
89
+ }
90
+ exports.SuppressedAssertionsConfig = SuppressedAssertionsConfig;
91
+ /** @internal */
92
+ SuppressedAssertionsConfig.__pulumiType = 'grafana:assert/suppressedAssertionsConfig:SuppressedAssertionsConfig';
93
+ //# sourceMappingURL=suppressedAssertionsConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suppressedAssertionsConfig.js","sourceRoot":"","sources":["../../assert/suppressedAssertionsConfig.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAa,0BAA2B,SAAQ,MAAM,CAAC,cAAc;IACjE;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAuC,EAAE,IAAmC;QACrI,OAAO,IAAI,0BAA0B,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACjF,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,0BAA0B,CAAC,YAAY,CAAC;IAC3E,CAAC;IAmBD,YAAY,IAAY,EAAE,WAA8E,EAAE,IAAmC;QACzI,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAA0D,CAAC;YACzE,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC;YACnD,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;SACxC;aAAM;YACH,MAAM,IAAI,GAAG,WAAyD,CAAC;YACvE,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC;YAClD,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC;SACvC;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,0BAA0B,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC/E,CAAC;;AA3DL,gEA4DC;AA9CG,gBAAgB;AACO,uCAAY,GAAG,sEAAsE,CAAC"}
@@ -53,10 +53,7 @@ export declare class PluginInstallation extends pulumi.CustomResource {
53
53
  * The stack id to which the plugin should be installed.
54
54
  */
55
55
  readonly stackSlug: pulumi.Output<string>;
56
- /**
57
- * Version of the plugin to be installed.
58
- */
59
- readonly version: pulumi.Output<string>;
56
+ readonly version: pulumi.Output<string | undefined>;
60
57
  /**
61
58
  * Create a PluginInstallation resource with the given unique name, arguments, and options.
62
59
  *
@@ -78,9 +75,6 @@ export interface PluginInstallationState {
78
75
  * The stack id to which the plugin should be installed.
79
76
  */
80
77
  stackSlug?: pulumi.Input<string>;
81
- /**
82
- * Version of the plugin to be installed.
83
- */
84
78
  version?: pulumi.Input<string>;
85
79
  }
86
80
  /**
@@ -95,8 +89,5 @@ export interface PluginInstallationArgs {
95
89
  * The stack id to which the plugin should be installed.
96
90
  */
97
91
  stackSlug: pulumi.Input<string>;
98
- /**
99
- * Version of the plugin to be installed.
100
- */
101
- version: pulumi.Input<string>;
92
+ version?: pulumi.Input<string>;
102
93
  }
@@ -75,9 +75,6 @@ class PluginInstallation extends pulumi.CustomResource {
75
75
  if (args?.stackSlug === undefined && !opts.urn) {
76
76
  throw new Error("Missing required property 'stackSlug'");
77
77
  }
78
- if (args?.version === undefined && !opts.urn) {
79
- throw new Error("Missing required property 'version'");
80
- }
81
78
  resourceInputs["slug"] = args?.slug;
82
79
  resourceInputs["stackSlug"] = args?.stackSlug;
83
80
  resourceInputs["version"] = args?.version;
@@ -1 +1 @@
1
- {"version":3,"file":"pluginInstallation.js","sourceRoot":"","sources":["../../cloud/pluginInstallation.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAa,kBAAmB,SAAQ,MAAM,CAAC,cAAc;IACzD;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAA+B,EAAE,IAAmC;QAC7H,OAAO,IAAI,kBAAkB,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACzE,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,kBAAkB,CAAC,YAAY,CAAC;IACnE,CAAC;IAuBD,YAAY,IAAY,EAAE,WAA8D,EAAE,IAAmC;QACzH,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAkD,CAAC;YACjE,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;YACrC,cAAc,CAAC,WAAW,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC;YAC/C,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC;SAC9C;aAAM;YACH,MAAM,IAAI,GAAG,WAAiD,CAAC;YAC/D,IAAI,IAAI,EAAE,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACvC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;aACvD;YACD,IAAI,IAAI,EAAE,SAAS,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC5C,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;aAC5D;YACD,IAAI,IAAI,EAAE,OAAO,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC1C,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;aAC1D;YACD,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC;YACpC,cAAc,CAAC,WAAW,CAAC,GAAG,IAAI,EAAE,SAAS,CAAC;YAC9C,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC;SAC7C;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,kBAAkB,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACvE,CAAC;;AA1EL,gDA2EC;AA7DG,gBAAgB;AACO,+BAAY,GAAG,qDAAqD,CAAC"}
1
+ {"version":3,"file":"pluginInstallation.js","sourceRoot":"","sources":["../../cloud/pluginInstallation.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAa,kBAAmB,SAAQ,MAAM,CAAC,cAAc;IACzD;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAA+B,EAAE,IAAmC;QAC7H,OAAO,IAAI,kBAAkB,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACzE,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,kBAAkB,CAAC,YAAY,CAAC;IACnE,CAAC;IAoBD,YAAY,IAAY,EAAE,WAA8D,EAAE,IAAmC;QACzH,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAkD,CAAC;YACjE,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;YACrC,cAAc,CAAC,WAAW,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC;YAC/C,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC;SAC9C;aAAM;YACH,MAAM,IAAI,GAAG,WAAiD,CAAC;YAC/D,IAAI,IAAI,EAAE,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACvC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;aACvD;YACD,IAAI,IAAI,EAAE,SAAS,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC5C,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;aAC5D;YACD,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC;YACpC,cAAc,CAAC,WAAW,CAAC,GAAG,IAAI,EAAE,SAAS,CAAC;YAC9C,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC;SAC7C;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,kBAAkB,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACvE,CAAC;;AApEL,gDAqEC;AAvDG,gBAAgB;AACO,+BAAY,GAAG,qDAAqD,CAAC"}
package/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from "./provider";
2
2
  import * as alerting from "./alerting";
3
+ import * as assert from "./assert";
3
4
  import * as cloud from "./cloud";
4
5
  import * as cloudprovider from "./cloudprovider";
5
6
  import * as config from "./config";
@@ -15,4 +16,4 @@ import * as oss from "./oss";
15
16
  import * as slo from "./slo";
16
17
  import * as syntheticmonitoring from "./syntheticmonitoring";
17
18
  import * as types from "./types";
18
- export { alerting, cloud, cloudprovider, config, connections, enterprise, experimental, fleetmanagement, frontendobservability, k6, machinelearning, oncall, oss, slo, syntheticmonitoring, types, };
19
+ export { alerting, assert, cloud, cloudprovider, config, connections, enterprise, experimental, fleetmanagement, frontendobservability, k6, machinelearning, oncall, oss, slo, syntheticmonitoring, types, };
package/index.js CHANGED
@@ -16,7 +16,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
17
17
  };
18
18
  Object.defineProperty(exports, "__esModule", { value: true });
19
- exports.types = exports.syntheticmonitoring = exports.slo = exports.oss = exports.oncall = exports.machinelearning = exports.k6 = exports.frontendobservability = exports.fleetmanagement = exports.experimental = exports.enterprise = exports.connections = exports.config = exports.cloudprovider = exports.cloud = exports.alerting = void 0;
19
+ exports.types = exports.syntheticmonitoring = exports.slo = exports.oss = exports.oncall = exports.machinelearning = exports.k6 = exports.frontendobservability = exports.fleetmanagement = exports.experimental = exports.enterprise = exports.connections = exports.config = exports.cloudprovider = exports.cloud = exports.assert = exports.alerting = void 0;
20
20
  const pulumi = require("@pulumi/pulumi");
21
21
  const utilities = require("./utilities");
22
22
  // Export members:
@@ -25,6 +25,8 @@ const provider_1 = require("./provider");
25
25
  // Export sub-modules:
26
26
  const alerting = require("./alerting");
27
27
  exports.alerting = alerting;
28
+ const assert = require("./assert");
29
+ exports.assert = assert;
28
30
  const cloud = require("./cloud");
29
31
  exports.cloud = cloud;
30
32
  const cloudprovider = require("./cloudprovider");
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;;;;;;;;;;;;;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC,kBAAkB;AAClB,6CAA2B;AAC3B,yCAAsC;AAGtC,sBAAsB;AACtB,uCAAuC;AAkBnC,4BAAQ;AAjBZ,iCAAiC;AAkB7B,sBAAK;AAjBT,iDAAiD;AAkB7C,sCAAa;AAjBjB,mCAAmC;AAkB/B,wBAAM;AAjBV,6CAA6C;AAkBzC,kCAAW;AAjBf,2CAA2C;AAkBvC,gCAAU;AAjBd,+CAA+C;AAkB3C,oCAAY;AAjBhB,qDAAqD;AAkBjD,0CAAe;AAjBnB,iEAAiE;AAkB7D,sDAAqB;AAjBzB,2BAA2B;AAkBvB,gBAAE;AAjBN,qDAAqD;AAkBjD,0CAAe;AAjBnB,mCAAmC;AAkB/B,wBAAM;AAjBV,6BAA6B;AAkBzB,kBAAG;AAjBP,6BAA6B;AAkBzB,kBAAG;AAjBP,6DAA6D;AAkBzD,kDAAmB;AAjBvB,iCAAiC;AAkB7B,sBAAK;AAET,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,SAAS,EAAE;IAC9C,OAAO,EAAE,SAAS,CAAC,UAAU,EAAE;IAC/B,iBAAiB,EAAE,CAAC,IAAY,EAAE,IAAY,EAAE,GAAW,EAA2B,EAAE;QACpF,IAAI,IAAI,KAAK,0BAA0B,EAAE;YACrC,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;SACpD;QACD,OAAO,IAAI,mBAAQ,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IACvD,CAAC;CACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;;;;;;;;;;;;;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC,kBAAkB;AAClB,6CAA2B;AAC3B,yCAAsC;AAGtC,sBAAsB;AACtB,uCAAuC;AAmBnC,4BAAQ;AAlBZ,mCAAmC;AAmB/B,wBAAM;AAlBV,iCAAiC;AAmB7B,sBAAK;AAlBT,iDAAiD;AAmB7C,sCAAa;AAlBjB,mCAAmC;AAmB/B,wBAAM;AAlBV,6CAA6C;AAmBzC,kCAAW;AAlBf,2CAA2C;AAmBvC,gCAAU;AAlBd,+CAA+C;AAmB3C,oCAAY;AAlBhB,qDAAqD;AAmBjD,0CAAe;AAlBnB,iEAAiE;AAmB7D,sDAAqB;AAlBzB,2BAA2B;AAmBvB,gBAAE;AAlBN,qDAAqD;AAmBjD,0CAAe;AAlBnB,mCAAmC;AAmB/B,wBAAM;AAlBV,6BAA6B;AAmBzB,kBAAG;AAlBP,6BAA6B;AAmBzB,kBAAG;AAlBP,6DAA6D;AAmBzD,kDAAmB;AAlBvB,iCAAiC;AAmB7B,sBAAK;AAET,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,SAAS,EAAE;IAC9C,OAAO,EAAE,SAAS,CAAC,UAAU,EAAE;IAC/B,iBAAiB,EAAE,CAAC,IAAY,EAAE,IAAY,EAAE,GAAW,EAA2B,EAAE;QACpF,IAAI,IAAI,KAAK,0BAA0B,EAAE;YACrC,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;SACpD;QACD,OAAO,IAAI,mBAAQ,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IACvD,CAAC;CACJ,CAAC,CAAC"}
@@ -18,7 +18,7 @@ import * as pulumi from "@pulumi/pulumi";
18
18
  * });
19
19
  * ```
20
20
  */
21
- export declare function getFolder(args: GetFolderArgs, opts?: pulumi.InvokeOptions): Promise<GetFolderResult>;
21
+ export declare function getFolder(args?: GetFolderArgs, opts?: pulumi.InvokeOptions): Promise<GetFolderResult>;
22
22
  /**
23
23
  * A collection of arguments for invoking getFolder.
24
24
  */
@@ -28,9 +28,13 @@ export interface GetFolderArgs {
28
28
  */
29
29
  orgId?: string;
30
30
  /**
31
- * The title of the folder.
31
+ * The title of the folder. If not set, only the uid is used to find the folder.
32
32
  */
33
- title: string;
33
+ title?: string;
34
+ /**
35
+ * The uid of the folder. If not set, only the title of the folder is used to find the folder.
36
+ */
37
+ uid?: string;
34
38
  }
35
39
  /**
36
40
  * A collection of values returned by getFolder.
@@ -49,11 +53,11 @@ export interface GetFolderResult {
49
53
  */
50
54
  readonly parentFolderUid: string;
51
55
  /**
52
- * The title of the folder.
56
+ * The title of the folder. If not set, only the uid is used to find the folder.
53
57
  */
54
- readonly title: string;
58
+ readonly title?: string;
55
59
  /**
56
- * Unique identifier.
60
+ * The uid of the folder. If not set, only the title of the folder is used to find the folder.
57
61
  */
58
62
  readonly uid: string;
59
63
  /**
@@ -80,7 +84,7 @@ export interface GetFolderResult {
80
84
  * });
81
85
  * ```
82
86
  */
83
- export declare function getFolderOutput(args: GetFolderOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetFolderResult>;
87
+ export declare function getFolderOutput(args?: GetFolderOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetFolderResult>;
84
88
  /**
85
89
  * A collection of arguments for invoking getFolder.
86
90
  */
@@ -90,7 +94,11 @@ export interface GetFolderOutputArgs {
90
94
  */
91
95
  orgId?: pulumi.Input<string>;
92
96
  /**
93
- * The title of the folder.
97
+ * The title of the folder. If not set, only the uid is used to find the folder.
98
+ */
99
+ title?: pulumi.Input<string>;
100
+ /**
101
+ * The uid of the folder. If not set, only the title of the folder is used to find the folder.
94
102
  */
95
- title: pulumi.Input<string>;
103
+ uid?: pulumi.Input<string>;
96
104
  }
package/oss/getFolder.js CHANGED
@@ -25,10 +25,12 @@ const utilities = require("../utilities");
25
25
  * ```
26
26
  */
27
27
  function getFolder(args, opts) {
28
+ args = args || {};
28
29
  opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
29
30
  return pulumi.runtime.invoke("grafana:oss/getFolder:getFolder", {
30
31
  "orgId": args.orgId,
31
32
  "title": args.title,
33
+ "uid": args.uid,
32
34
  }, opts);
33
35
  }
34
36
  exports.getFolder = getFolder;
@@ -52,10 +54,12 @@ exports.getFolder = getFolder;
52
54
  * ```
53
55
  */
54
56
  function getFolderOutput(args, opts) {
57
+ args = args || {};
55
58
  opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
56
59
  return pulumi.runtime.invokeOutput("grafana:oss/getFolder:getFolder", {
57
60
  "orgId": args.orgId,
58
61
  "title": args.title,
62
+ "uid": args.uid,
59
63
  }, opts);
60
64
  }
61
65
  exports.getFolderOutput = getFolderOutput;
@@ -1 +1 @@
1
- {"version":3,"file":"getFolder.js","sourceRoot":"","sources":["../../oss/getFolder.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAE1C;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,SAAS,CAAC,IAAmB,EAAE,IAA2B;IACtE,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,iCAAiC,EAAE;QAC5D,OAAO,EAAE,IAAI,CAAC,KAAK;QACnB,OAAO,EAAE,IAAI,CAAC,KAAK;KACtB,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAND,8BAMC;AA6CD;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,eAAe,CAAC,IAAyB,EAAE,IAAiC;IACxF,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,iCAAiC,EAAE;QAClE,OAAO,EAAE,IAAI,CAAC,KAAK;QACnB,OAAO,EAAE,IAAI,CAAC,KAAK;KACtB,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAND,0CAMC"}
1
+ {"version":3,"file":"getFolder.js","sourceRoot":"","sources":["../../oss/getFolder.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAE1C;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,SAAS,CAAC,IAAoB,EAAE,IAA2B;IACvE,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IAClB,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,iCAAiC,EAAE;QAC5D,OAAO,EAAE,IAAI,CAAC,KAAK;QACnB,OAAO,EAAE,IAAI,CAAC,KAAK;QACnB,KAAK,EAAE,IAAI,CAAC,GAAG;KAClB,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AARD,8BAQC;AAiDD;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,eAAe,CAAC,IAA0B,EAAE,IAAiC;IACzF,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IAClB,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,iCAAiC,EAAE;QAClE,OAAO,EAAE,IAAI,CAAC,KAAK;QACnB,OAAO,EAAE,IAAI,CAAC,KAAK;QACnB,KAAK,EAAE,IAAI,CAAC,GAAG;KAClB,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AARD,0CAQC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pulumiverse/grafana",
3
- "version": "2.4.0",
3
+ "version": "2.5.0",
4
4
  "description": "A Pulumi package for creating and managing grafana.",
5
5
  "keywords": [
6
6
  "pulumi",
@@ -24,7 +24,7 @@
24
24
  "pulumi": {
25
25
  "resource": true,
26
26
  "name": "grafana",
27
- "version": "2.4.0",
27
+ "version": "2.5.0",
28
28
  "server": "github://api.github.com/pulumiverse"
29
29
  }
30
30
  }
package/types/input.d.ts CHANGED
@@ -799,7 +799,7 @@ export declare namespace alerting {
799
799
  /**
800
800
  * ID of the Webex Teams room where to send the messages.
801
801
  */
802
- roomId?: pulumi.Input<string>;
802
+ roomId: pulumi.Input<string>;
803
803
  /**
804
804
  * Additional custom properties to attach to the notifier. Defaults to `map[]`.
805
805
  */
@@ -809,7 +809,7 @@ export declare namespace alerting {
809
809
  /**
810
810
  * The bearer token used to authorize the client.
811
811
  */
812
- token?: pulumi.Input<string>;
812
+ token: pulumi.Input<string>;
813
813
  /**
814
814
  * The UID of the contact point.
815
815
  */
package/types/output.d.ts CHANGED
@@ -798,7 +798,7 @@ export declare namespace alerting {
798
798
  /**
799
799
  * ID of the Webex Teams room where to send the messages.
800
800
  */
801
- roomId?: string;
801
+ roomId: string;
802
802
  /**
803
803
  * Additional custom properties to attach to the notifier. Defaults to `map[]`.
804
804
  */
@@ -808,7 +808,7 @@ export declare namespace alerting {
808
808
  /**
809
809
  * The bearer token used to authorize the client.
810
810
  */
811
- token?: string;
811
+ token: string;
812
812
  /**
813
813
  * The UID of the contact point.
814
814
  */