@pulumiverse/grafana 2.8.0 → 2.9.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.
- package/assert/customModelRules.d.ts +116 -0
- package/assert/customModelRules.js +108 -0
- package/assert/customModelRules.js.map +1 -0
- package/assert/index.d.ts +6 -0
- package/assert/index.js +11 -1
- package/assert/index.js.map +1 -1
- package/assert/logConfig.d.ts +259 -0
- package/assert/logConfig.js +181 -0
- package/assert/logConfig.js.map +1 -0
- package/package.json +2 -2
- package/types/input.d.ts +101 -0
- package/types/output.d.ts +101 -0
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import * as pulumi from "@pulumi/pulumi";
|
|
2
|
+
import * as inputs from "../types/input";
|
|
3
|
+
import * as outputs from "../types/output";
|
|
4
|
+
/**
|
|
5
|
+
* Manages Asserts Custom Model Rules through the Grafana API.
|
|
6
|
+
*
|
|
7
|
+
* ## Example Usage
|
|
8
|
+
*
|
|
9
|
+
* ```typescript
|
|
10
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
11
|
+
* import * as grafana from "@pulumiverse/grafana";
|
|
12
|
+
*
|
|
13
|
+
* const test = new grafana.assert.CustomModelRules("test", {
|
|
14
|
+
* name: "test-anything",
|
|
15
|
+
* rules: {
|
|
16
|
+
* entities: [{
|
|
17
|
+
* type: "Service",
|
|
18
|
+
* name: "workload | service | job",
|
|
19
|
+
* scope: {
|
|
20
|
+
* namespace: "namespace",
|
|
21
|
+
* env: "asserts_env",
|
|
22
|
+
* site: "asserts_site",
|
|
23
|
+
* },
|
|
24
|
+
* lookup: {
|
|
25
|
+
* workload: "workload | deployment | statefulset | daemonset | replicaset",
|
|
26
|
+
* service: "service",
|
|
27
|
+
* job: "job",
|
|
28
|
+
* proxy_job: "job",
|
|
29
|
+
* },
|
|
30
|
+
* definedBies: [
|
|
31
|
+
* {
|
|
32
|
+
* query: "up{job!=''}",
|
|
33
|
+
* disabled: false,
|
|
34
|
+
* labelValues: {
|
|
35
|
+
* service: "service",
|
|
36
|
+
* job: "job",
|
|
37
|
+
* },
|
|
38
|
+
* literals: {
|
|
39
|
+
* _source: "up_query",
|
|
40
|
+
* },
|
|
41
|
+
* },
|
|
42
|
+
* {
|
|
43
|
+
* query: "up{job='disabled'}",
|
|
44
|
+
* disabled: true,
|
|
45
|
+
* },
|
|
46
|
+
* ],
|
|
47
|
+
* }],
|
|
48
|
+
* },
|
|
49
|
+
* });
|
|
50
|
+
* ```
|
|
51
|
+
*
|
|
52
|
+
* ## Import
|
|
53
|
+
*
|
|
54
|
+
* ```sh
|
|
55
|
+
* $ pulumi import grafana:assert/customModelRules:CustomModelRules name "{{ name }}"
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
export declare class CustomModelRules extends pulumi.CustomResource {
|
|
59
|
+
/**
|
|
60
|
+
* Get an existing CustomModelRules resource's state with the given name, ID, and optional extra
|
|
61
|
+
* properties used to qualify the lookup.
|
|
62
|
+
*
|
|
63
|
+
* @param name The _unique_ name of the resulting resource.
|
|
64
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
65
|
+
* @param state Any extra arguments used during the lookup.
|
|
66
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
67
|
+
*/
|
|
68
|
+
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: CustomModelRulesState, opts?: pulumi.CustomResourceOptions): CustomModelRules;
|
|
69
|
+
/**
|
|
70
|
+
* Returns true if the given object is an instance of CustomModelRules. This is designed to work even
|
|
71
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
72
|
+
*/
|
|
73
|
+
static isInstance(obj: any): obj is CustomModelRules;
|
|
74
|
+
/**
|
|
75
|
+
* The name of the custom model rules.
|
|
76
|
+
*/
|
|
77
|
+
readonly name: pulumi.Output<string>;
|
|
78
|
+
/**
|
|
79
|
+
* The rules configuration for the custom model rules.
|
|
80
|
+
*/
|
|
81
|
+
readonly rules: pulumi.Output<outputs.assert.CustomModelRulesRules>;
|
|
82
|
+
/**
|
|
83
|
+
* Create a CustomModelRules resource with the given unique name, arguments, and options.
|
|
84
|
+
*
|
|
85
|
+
* @param name The _unique_ name of the resource.
|
|
86
|
+
* @param args The arguments to use to populate this resource's properties.
|
|
87
|
+
* @param opts A bag of options that control this resource's behavior.
|
|
88
|
+
*/
|
|
89
|
+
constructor(name: string, args: CustomModelRulesArgs, opts?: pulumi.CustomResourceOptions);
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Input properties used for looking up and filtering CustomModelRules resources.
|
|
93
|
+
*/
|
|
94
|
+
export interface CustomModelRulesState {
|
|
95
|
+
/**
|
|
96
|
+
* The name of the custom model rules.
|
|
97
|
+
*/
|
|
98
|
+
name?: pulumi.Input<string>;
|
|
99
|
+
/**
|
|
100
|
+
* The rules configuration for the custom model rules.
|
|
101
|
+
*/
|
|
102
|
+
rules?: pulumi.Input<inputs.assert.CustomModelRulesRules>;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* The set of arguments for constructing a CustomModelRules resource.
|
|
106
|
+
*/
|
|
107
|
+
export interface CustomModelRulesArgs {
|
|
108
|
+
/**
|
|
109
|
+
* The name of the custom model rules.
|
|
110
|
+
*/
|
|
111
|
+
name?: pulumi.Input<string>;
|
|
112
|
+
/**
|
|
113
|
+
* The rules configuration for the custom model rules.
|
|
114
|
+
*/
|
|
115
|
+
rules: pulumi.Input<inputs.assert.CustomModelRulesRules>;
|
|
116
|
+
}
|
|
@@ -0,0 +1,108 @@
|
|
|
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.CustomModelRules = void 0;
|
|
6
|
+
const pulumi = require("@pulumi/pulumi");
|
|
7
|
+
const utilities = require("../utilities");
|
|
8
|
+
/**
|
|
9
|
+
* Manages Asserts Custom Model Rules through the 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
|
+
* const test = new grafana.assert.CustomModelRules("test", {
|
|
18
|
+
* name: "test-anything",
|
|
19
|
+
* rules: {
|
|
20
|
+
* entities: [{
|
|
21
|
+
* type: "Service",
|
|
22
|
+
* name: "workload | service | job",
|
|
23
|
+
* scope: {
|
|
24
|
+
* namespace: "namespace",
|
|
25
|
+
* env: "asserts_env",
|
|
26
|
+
* site: "asserts_site",
|
|
27
|
+
* },
|
|
28
|
+
* lookup: {
|
|
29
|
+
* workload: "workload | deployment | statefulset | daemonset | replicaset",
|
|
30
|
+
* service: "service",
|
|
31
|
+
* job: "job",
|
|
32
|
+
* proxy_job: "job",
|
|
33
|
+
* },
|
|
34
|
+
* definedBies: [
|
|
35
|
+
* {
|
|
36
|
+
* query: "up{job!=''}",
|
|
37
|
+
* disabled: false,
|
|
38
|
+
* labelValues: {
|
|
39
|
+
* service: "service",
|
|
40
|
+
* job: "job",
|
|
41
|
+
* },
|
|
42
|
+
* literals: {
|
|
43
|
+
* _source: "up_query",
|
|
44
|
+
* },
|
|
45
|
+
* },
|
|
46
|
+
* {
|
|
47
|
+
* query: "up{job='disabled'}",
|
|
48
|
+
* disabled: true,
|
|
49
|
+
* },
|
|
50
|
+
* ],
|
|
51
|
+
* }],
|
|
52
|
+
* },
|
|
53
|
+
* });
|
|
54
|
+
* ```
|
|
55
|
+
*
|
|
56
|
+
* ## Import
|
|
57
|
+
*
|
|
58
|
+
* ```sh
|
|
59
|
+
* $ pulumi import grafana:assert/customModelRules:CustomModelRules name "{{ name }}"
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
class CustomModelRules extends pulumi.CustomResource {
|
|
63
|
+
/**
|
|
64
|
+
* Get an existing CustomModelRules resource's state with the given name, ID, and optional extra
|
|
65
|
+
* properties used to qualify the lookup.
|
|
66
|
+
*
|
|
67
|
+
* @param name The _unique_ name of the resulting resource.
|
|
68
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
69
|
+
* @param state Any extra arguments used during the lookup.
|
|
70
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
71
|
+
*/
|
|
72
|
+
static get(name, id, state, opts) {
|
|
73
|
+
return new CustomModelRules(name, state, { ...opts, id: id });
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Returns true if the given object is an instance of CustomModelRules. This is designed to work even
|
|
77
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
78
|
+
*/
|
|
79
|
+
static isInstance(obj) {
|
|
80
|
+
if (obj === undefined || obj === null) {
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
return obj['__pulumiType'] === CustomModelRules.__pulumiType;
|
|
84
|
+
}
|
|
85
|
+
constructor(name, argsOrState, opts) {
|
|
86
|
+
let resourceInputs = {};
|
|
87
|
+
opts = opts || {};
|
|
88
|
+
if (opts.id) {
|
|
89
|
+
const state = argsOrState;
|
|
90
|
+
resourceInputs["name"] = state?.name;
|
|
91
|
+
resourceInputs["rules"] = state?.rules;
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
const args = argsOrState;
|
|
95
|
+
if (args?.rules === undefined && !opts.urn) {
|
|
96
|
+
throw new Error("Missing required property 'rules'");
|
|
97
|
+
}
|
|
98
|
+
resourceInputs["name"] = args?.name;
|
|
99
|
+
resourceInputs["rules"] = args?.rules;
|
|
100
|
+
}
|
|
101
|
+
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
|
102
|
+
super(CustomModelRules.__pulumiType, name, resourceInputs, opts);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
exports.CustomModelRules = CustomModelRules;
|
|
106
|
+
/** @internal */
|
|
107
|
+
CustomModelRules.__pulumiType = 'grafana:assert/customModelRules:CustomModelRules';
|
|
108
|
+
//# sourceMappingURL=customModelRules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"customModelRules.js","sourceRoot":"","sources":["../../assert/customModelRules.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAGzC,0CAA0C;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,MAAa,gBAAiB,SAAQ,MAAM,CAAC,cAAc;IACvD;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAA6B,EAAE,IAAmC;QAC3H,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACvE,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,gBAAgB,CAAC,YAAY,CAAC;IACjE,CAAC;IAmBD,YAAY,IAAY,EAAE,WAA0D,EAAE,IAAmC;QACrH,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAgD,CAAC;YAC/D,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;YACrC,cAAc,CAAC,OAAO,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC;SAC1C;aAAM;YACH,MAAM,IAAI,GAAG,WAA+C,CAAC;YAC7D,IAAI,IAAI,EAAE,KAAK,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACxC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;aACxD;YACD,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC;YACpC,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC;SACzC;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACrE,CAAC;;AA9DL,4CA+DC;AAjDG,gBAAgB;AACO,6BAAY,GAAG,kDAAkD,CAAC"}
|
package/assert/index.d.ts
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
export { CustomModelRulesArgs, CustomModelRulesState } from "./customModelRules";
|
|
2
|
+
export type CustomModelRules = import("./customModelRules").CustomModelRules;
|
|
3
|
+
export declare const CustomModelRules: typeof import("./customModelRules").CustomModelRules;
|
|
4
|
+
export { LogConfigArgs, LogConfigState } from "./logConfig";
|
|
5
|
+
export type LogConfig = import("./logConfig").LogConfig;
|
|
6
|
+
export declare const LogConfig: typeof import("./logConfig").LogConfig;
|
|
1
7
|
export { NotificationAlertsConfigArgs, NotificationAlertsConfigState } from "./notificationAlertsConfig";
|
|
2
8
|
export type NotificationAlertsConfig = import("./notificationAlertsConfig").NotificationAlertsConfig;
|
|
3
9
|
export declare const NotificationAlertsConfig: typeof import("./notificationAlertsConfig").NotificationAlertsConfig;
|
package/assert/index.js
CHANGED
|
@@ -2,9 +2,13 @@
|
|
|
2
2
|
// *** WARNING: this file was generated by pulumi-language-nodejs. ***
|
|
3
3
|
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.SuppressedAssertionsConfig = exports.NotificationAlertsConfig = void 0;
|
|
5
|
+
exports.SuppressedAssertionsConfig = exports.NotificationAlertsConfig = exports.LogConfig = exports.CustomModelRules = void 0;
|
|
6
6
|
const pulumi = require("@pulumi/pulumi");
|
|
7
7
|
const utilities = require("../utilities");
|
|
8
|
+
exports.CustomModelRules = null;
|
|
9
|
+
utilities.lazyLoad(exports, ["CustomModelRules"], () => require("./customModelRules"));
|
|
10
|
+
exports.LogConfig = null;
|
|
11
|
+
utilities.lazyLoad(exports, ["LogConfig"], () => require("./logConfig"));
|
|
8
12
|
exports.NotificationAlertsConfig = null;
|
|
9
13
|
utilities.lazyLoad(exports, ["NotificationAlertsConfig"], () => require("./notificationAlertsConfig"));
|
|
10
14
|
exports.SuppressedAssertionsConfig = null;
|
|
@@ -13,6 +17,10 @@ const _module = {
|
|
|
13
17
|
version: utilities.getVersion(),
|
|
14
18
|
construct: (name, type, urn) => {
|
|
15
19
|
switch (type) {
|
|
20
|
+
case "grafana:assert/customModelRules:CustomModelRules":
|
|
21
|
+
return new exports.CustomModelRules(name, undefined, { urn });
|
|
22
|
+
case "grafana:assert/logConfig:LogConfig":
|
|
23
|
+
return new exports.LogConfig(name, undefined, { urn });
|
|
16
24
|
case "grafana:assert/notificationAlertsConfig:NotificationAlertsConfig":
|
|
17
25
|
return new exports.NotificationAlertsConfig(name, undefined, { urn });
|
|
18
26
|
case "grafana:assert/suppressedAssertionsConfig:SuppressedAssertionsConfig":
|
|
@@ -22,6 +30,8 @@ const _module = {
|
|
|
22
30
|
}
|
|
23
31
|
},
|
|
24
32
|
};
|
|
33
|
+
pulumi.runtime.registerResourceModule("grafana", "assert/customModelRules", _module);
|
|
34
|
+
pulumi.runtime.registerResourceModule("grafana", "assert/logConfig", _module);
|
|
25
35
|
pulumi.runtime.registerResourceModule("grafana", "assert/notificationAlertsConfig", _module);
|
|
26
36
|
pulumi.runtime.registerResourceModule("grafana", "assert/suppressedAssertionsConfig", _module);
|
|
27
37
|
//# sourceMappingURL=index.js.map
|
package/assert/index.js.map
CHANGED
|
@@ -1 +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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../assert/index.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAK7B,QAAA,gBAAgB,GAAyD,IAAW,CAAC;AAClG,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,kBAAkB,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC;AAI1E,QAAA,SAAS,GAA2C,IAAW,CAAC;AAC7E,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;AAI5D,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,kDAAkD;gBACnD,OAAO,IAAI,wBAAgB,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YAC9D,KAAK,oCAAoC;gBACrC,OAAO,IAAI,iBAAS,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YACvD,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,yBAAyB,EAAE,OAAO,CAAC,CAAA;AACpF,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,SAAS,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAA;AAC7E,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,259 @@
|
|
|
1
|
+
import * as pulumi from "@pulumi/pulumi";
|
|
2
|
+
import * as inputs from "../types/input";
|
|
3
|
+
import * as outputs from "../types/output";
|
|
4
|
+
/**
|
|
5
|
+
* Manages Asserts Log Configuration through Grafana API.
|
|
6
|
+
*
|
|
7
|
+
* ## Example Usage
|
|
8
|
+
*
|
|
9
|
+
* ```typescript
|
|
10
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
11
|
+
* import * as grafana from "@pulumiverse/grafana";
|
|
12
|
+
*
|
|
13
|
+
* const production = new grafana.assert.LogConfig("production", {
|
|
14
|
+
* name: "production",
|
|
15
|
+
* priority: 1000,
|
|
16
|
+
* defaultConfig: false,
|
|
17
|
+
* dataSourceUid: "grafanacloud-logs",
|
|
18
|
+
* errorLabel: "error",
|
|
19
|
+
* matches: [
|
|
20
|
+
* {
|
|
21
|
+
* property: "asserts_entity_type",
|
|
22
|
+
* op: "EQUALS",
|
|
23
|
+
* values: ["Service"],
|
|
24
|
+
* },
|
|
25
|
+
* {
|
|
26
|
+
* property: "environment",
|
|
27
|
+
* op: "EQUALS",
|
|
28
|
+
* values: [
|
|
29
|
+
* "production",
|
|
30
|
+
* "staging",
|
|
31
|
+
* ],
|
|
32
|
+
* },
|
|
33
|
+
* {
|
|
34
|
+
* property: "site",
|
|
35
|
+
* op: "EQUALS",
|
|
36
|
+
* values: [
|
|
37
|
+
* "us-east-1",
|
|
38
|
+
* "us-west-2",
|
|
39
|
+
* ],
|
|
40
|
+
* },
|
|
41
|
+
* ],
|
|
42
|
+
* entityPropertyToLogLabelMapping: {
|
|
43
|
+
* otel_namespace: "service_namespace",
|
|
44
|
+
* otel_service: "service_name",
|
|
45
|
+
* environment: "env",
|
|
46
|
+
* site: "region",
|
|
47
|
+
* },
|
|
48
|
+
* filterBySpanId: true,
|
|
49
|
+
* filterByTraceId: true,
|
|
50
|
+
* });
|
|
51
|
+
* const development = new grafana.assert.LogConfig("development", {
|
|
52
|
+
* name: "development",
|
|
53
|
+
* priority: 2000,
|
|
54
|
+
* defaultConfig: true,
|
|
55
|
+
* dataSourceUid: "elasticsearch-dev",
|
|
56
|
+
* errorLabel: "error",
|
|
57
|
+
* matches: [
|
|
58
|
+
* {
|
|
59
|
+
* property: "asserts_entity_type",
|
|
60
|
+
* op: "EQUALS",
|
|
61
|
+
* values: ["Service"],
|
|
62
|
+
* },
|
|
63
|
+
* {
|
|
64
|
+
* property: "environment",
|
|
65
|
+
* op: "EQUALS",
|
|
66
|
+
* values: [
|
|
67
|
+
* "development",
|
|
68
|
+
* "testing",
|
|
69
|
+
* ],
|
|
70
|
+
* },
|
|
71
|
+
* {
|
|
72
|
+
* property: "site",
|
|
73
|
+
* op: "EQUALS",
|
|
74
|
+
* values: ["us-east-1"],
|
|
75
|
+
* },
|
|
76
|
+
* {
|
|
77
|
+
* property: "service",
|
|
78
|
+
* op: "EQUALS",
|
|
79
|
+
* values: ["api"],
|
|
80
|
+
* },
|
|
81
|
+
* ],
|
|
82
|
+
* entityPropertyToLogLabelMapping: {
|
|
83
|
+
* otel_namespace: "service_namespace",
|
|
84
|
+
* otel_service: "service_name",
|
|
85
|
+
* environment: "env",
|
|
86
|
+
* site: "region",
|
|
87
|
+
* service: "app",
|
|
88
|
+
* },
|
|
89
|
+
* filterBySpanId: true,
|
|
90
|
+
* filterByTraceId: true,
|
|
91
|
+
* });
|
|
92
|
+
* const minimal = new grafana.assert.LogConfig("minimal", {
|
|
93
|
+
* name: "minimal",
|
|
94
|
+
* priority: 3000,
|
|
95
|
+
* defaultConfig: false,
|
|
96
|
+
* dataSourceUid: "loki-minimal",
|
|
97
|
+
* matches: [{
|
|
98
|
+
* property: "asserts_entity_type",
|
|
99
|
+
* op: "IS_NOT_NULL",
|
|
100
|
+
* values: [],
|
|
101
|
+
* }],
|
|
102
|
+
* });
|
|
103
|
+
* ```
|
|
104
|
+
*
|
|
105
|
+
* ## Import
|
|
106
|
+
*
|
|
107
|
+
* ```sh
|
|
108
|
+
* $ pulumi import grafana:assert/logConfig:LogConfig name "{{ name }}"
|
|
109
|
+
* ```
|
|
110
|
+
*/
|
|
111
|
+
export declare class LogConfig extends pulumi.CustomResource {
|
|
112
|
+
/**
|
|
113
|
+
* Get an existing LogConfig resource's state with the given name, ID, and optional extra
|
|
114
|
+
* properties used to qualify the lookup.
|
|
115
|
+
*
|
|
116
|
+
* @param name The _unique_ name of the resulting resource.
|
|
117
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
118
|
+
* @param state Any extra arguments used during the lookup.
|
|
119
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
120
|
+
*/
|
|
121
|
+
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: LogConfigState, opts?: pulumi.CustomResourceOptions): LogConfig;
|
|
122
|
+
/**
|
|
123
|
+
* Returns true if the given object is an instance of LogConfig. This is designed to work even
|
|
124
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
125
|
+
*/
|
|
126
|
+
static isInstance(obj: any): obj is LogConfig;
|
|
127
|
+
/**
|
|
128
|
+
* DataSource to be queried (e.g., a Loki instance).
|
|
129
|
+
*/
|
|
130
|
+
readonly dataSourceUid: pulumi.Output<string>;
|
|
131
|
+
/**
|
|
132
|
+
* Is it the default config, therefore undeletable?
|
|
133
|
+
*/
|
|
134
|
+
readonly defaultConfig: pulumi.Output<boolean>;
|
|
135
|
+
/**
|
|
136
|
+
* Mapping of entity properties to log labels.
|
|
137
|
+
*/
|
|
138
|
+
readonly entityPropertyToLogLabelMapping: pulumi.Output<{
|
|
139
|
+
[key: string]: string;
|
|
140
|
+
} | undefined>;
|
|
141
|
+
/**
|
|
142
|
+
* Error label to filter logs.
|
|
143
|
+
*/
|
|
144
|
+
readonly errorLabel: pulumi.Output<string | undefined>;
|
|
145
|
+
/**
|
|
146
|
+
* Filter logs by span ID.
|
|
147
|
+
*/
|
|
148
|
+
readonly filterBySpanId: pulumi.Output<boolean | undefined>;
|
|
149
|
+
/**
|
|
150
|
+
* Filter logs by trace ID.
|
|
151
|
+
*/
|
|
152
|
+
readonly filterByTraceId: pulumi.Output<boolean | undefined>;
|
|
153
|
+
/**
|
|
154
|
+
* List of match rules for entity properties.
|
|
155
|
+
*/
|
|
156
|
+
readonly matches: pulumi.Output<outputs.assert.LogConfigMatch[] | undefined>;
|
|
157
|
+
/**
|
|
158
|
+
* The name of the log configuration.
|
|
159
|
+
*/
|
|
160
|
+
readonly name: pulumi.Output<string>;
|
|
161
|
+
/**
|
|
162
|
+
* Priority of the log configuration. A lower number means a higher priority.
|
|
163
|
+
*/
|
|
164
|
+
readonly priority: pulumi.Output<number>;
|
|
165
|
+
/**
|
|
166
|
+
* Create a LogConfig resource with the given unique name, arguments, and options.
|
|
167
|
+
*
|
|
168
|
+
* @param name The _unique_ name of the resource.
|
|
169
|
+
* @param args The arguments to use to populate this resource's properties.
|
|
170
|
+
* @param opts A bag of options that control this resource's behavior.
|
|
171
|
+
*/
|
|
172
|
+
constructor(name: string, args: LogConfigArgs, opts?: pulumi.CustomResourceOptions);
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Input properties used for looking up and filtering LogConfig resources.
|
|
176
|
+
*/
|
|
177
|
+
export interface LogConfigState {
|
|
178
|
+
/**
|
|
179
|
+
* DataSource to be queried (e.g., a Loki instance).
|
|
180
|
+
*/
|
|
181
|
+
dataSourceUid?: pulumi.Input<string>;
|
|
182
|
+
/**
|
|
183
|
+
* Is it the default config, therefore undeletable?
|
|
184
|
+
*/
|
|
185
|
+
defaultConfig?: pulumi.Input<boolean>;
|
|
186
|
+
/**
|
|
187
|
+
* Mapping of entity properties to log labels.
|
|
188
|
+
*/
|
|
189
|
+
entityPropertyToLogLabelMapping?: pulumi.Input<{
|
|
190
|
+
[key: string]: pulumi.Input<string>;
|
|
191
|
+
}>;
|
|
192
|
+
/**
|
|
193
|
+
* Error label to filter logs.
|
|
194
|
+
*/
|
|
195
|
+
errorLabel?: pulumi.Input<string>;
|
|
196
|
+
/**
|
|
197
|
+
* Filter logs by span ID.
|
|
198
|
+
*/
|
|
199
|
+
filterBySpanId?: pulumi.Input<boolean>;
|
|
200
|
+
/**
|
|
201
|
+
* Filter logs by trace ID.
|
|
202
|
+
*/
|
|
203
|
+
filterByTraceId?: pulumi.Input<boolean>;
|
|
204
|
+
/**
|
|
205
|
+
* List of match rules for entity properties.
|
|
206
|
+
*/
|
|
207
|
+
matches?: pulumi.Input<pulumi.Input<inputs.assert.LogConfigMatch>[]>;
|
|
208
|
+
/**
|
|
209
|
+
* The name of the log configuration.
|
|
210
|
+
*/
|
|
211
|
+
name?: pulumi.Input<string>;
|
|
212
|
+
/**
|
|
213
|
+
* Priority of the log configuration. A lower number means a higher priority.
|
|
214
|
+
*/
|
|
215
|
+
priority?: pulumi.Input<number>;
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* The set of arguments for constructing a LogConfig resource.
|
|
219
|
+
*/
|
|
220
|
+
export interface LogConfigArgs {
|
|
221
|
+
/**
|
|
222
|
+
* DataSource to be queried (e.g., a Loki instance).
|
|
223
|
+
*/
|
|
224
|
+
dataSourceUid: pulumi.Input<string>;
|
|
225
|
+
/**
|
|
226
|
+
* Is it the default config, therefore undeletable?
|
|
227
|
+
*/
|
|
228
|
+
defaultConfig: pulumi.Input<boolean>;
|
|
229
|
+
/**
|
|
230
|
+
* Mapping of entity properties to log labels.
|
|
231
|
+
*/
|
|
232
|
+
entityPropertyToLogLabelMapping?: pulumi.Input<{
|
|
233
|
+
[key: string]: pulumi.Input<string>;
|
|
234
|
+
}>;
|
|
235
|
+
/**
|
|
236
|
+
* Error label to filter logs.
|
|
237
|
+
*/
|
|
238
|
+
errorLabel?: pulumi.Input<string>;
|
|
239
|
+
/**
|
|
240
|
+
* Filter logs by span ID.
|
|
241
|
+
*/
|
|
242
|
+
filterBySpanId?: pulumi.Input<boolean>;
|
|
243
|
+
/**
|
|
244
|
+
* Filter logs by trace ID.
|
|
245
|
+
*/
|
|
246
|
+
filterByTraceId?: pulumi.Input<boolean>;
|
|
247
|
+
/**
|
|
248
|
+
* List of match rules for entity properties.
|
|
249
|
+
*/
|
|
250
|
+
matches?: pulumi.Input<pulumi.Input<inputs.assert.LogConfigMatch>[]>;
|
|
251
|
+
/**
|
|
252
|
+
* The name of the log configuration.
|
|
253
|
+
*/
|
|
254
|
+
name?: pulumi.Input<string>;
|
|
255
|
+
/**
|
|
256
|
+
* Priority of the log configuration. A lower number means a higher priority.
|
|
257
|
+
*/
|
|
258
|
+
priority: pulumi.Input<number>;
|
|
259
|
+
}
|
|
@@ -0,0 +1,181 @@
|
|
|
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.LogConfig = void 0;
|
|
6
|
+
const pulumi = require("@pulumi/pulumi");
|
|
7
|
+
const utilities = require("../utilities");
|
|
8
|
+
/**
|
|
9
|
+
* Manages Asserts Log Configuration 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
|
+
* const production = new grafana.assert.LogConfig("production", {
|
|
18
|
+
* name: "production",
|
|
19
|
+
* priority: 1000,
|
|
20
|
+
* defaultConfig: false,
|
|
21
|
+
* dataSourceUid: "grafanacloud-logs",
|
|
22
|
+
* errorLabel: "error",
|
|
23
|
+
* matches: [
|
|
24
|
+
* {
|
|
25
|
+
* property: "asserts_entity_type",
|
|
26
|
+
* op: "EQUALS",
|
|
27
|
+
* values: ["Service"],
|
|
28
|
+
* },
|
|
29
|
+
* {
|
|
30
|
+
* property: "environment",
|
|
31
|
+
* op: "EQUALS",
|
|
32
|
+
* values: [
|
|
33
|
+
* "production",
|
|
34
|
+
* "staging",
|
|
35
|
+
* ],
|
|
36
|
+
* },
|
|
37
|
+
* {
|
|
38
|
+
* property: "site",
|
|
39
|
+
* op: "EQUALS",
|
|
40
|
+
* values: [
|
|
41
|
+
* "us-east-1",
|
|
42
|
+
* "us-west-2",
|
|
43
|
+
* ],
|
|
44
|
+
* },
|
|
45
|
+
* ],
|
|
46
|
+
* entityPropertyToLogLabelMapping: {
|
|
47
|
+
* otel_namespace: "service_namespace",
|
|
48
|
+
* otel_service: "service_name",
|
|
49
|
+
* environment: "env",
|
|
50
|
+
* site: "region",
|
|
51
|
+
* },
|
|
52
|
+
* filterBySpanId: true,
|
|
53
|
+
* filterByTraceId: true,
|
|
54
|
+
* });
|
|
55
|
+
* const development = new grafana.assert.LogConfig("development", {
|
|
56
|
+
* name: "development",
|
|
57
|
+
* priority: 2000,
|
|
58
|
+
* defaultConfig: true,
|
|
59
|
+
* dataSourceUid: "elasticsearch-dev",
|
|
60
|
+
* errorLabel: "error",
|
|
61
|
+
* matches: [
|
|
62
|
+
* {
|
|
63
|
+
* property: "asserts_entity_type",
|
|
64
|
+
* op: "EQUALS",
|
|
65
|
+
* values: ["Service"],
|
|
66
|
+
* },
|
|
67
|
+
* {
|
|
68
|
+
* property: "environment",
|
|
69
|
+
* op: "EQUALS",
|
|
70
|
+
* values: [
|
|
71
|
+
* "development",
|
|
72
|
+
* "testing",
|
|
73
|
+
* ],
|
|
74
|
+
* },
|
|
75
|
+
* {
|
|
76
|
+
* property: "site",
|
|
77
|
+
* op: "EQUALS",
|
|
78
|
+
* values: ["us-east-1"],
|
|
79
|
+
* },
|
|
80
|
+
* {
|
|
81
|
+
* property: "service",
|
|
82
|
+
* op: "EQUALS",
|
|
83
|
+
* values: ["api"],
|
|
84
|
+
* },
|
|
85
|
+
* ],
|
|
86
|
+
* entityPropertyToLogLabelMapping: {
|
|
87
|
+
* otel_namespace: "service_namespace",
|
|
88
|
+
* otel_service: "service_name",
|
|
89
|
+
* environment: "env",
|
|
90
|
+
* site: "region",
|
|
91
|
+
* service: "app",
|
|
92
|
+
* },
|
|
93
|
+
* filterBySpanId: true,
|
|
94
|
+
* filterByTraceId: true,
|
|
95
|
+
* });
|
|
96
|
+
* const minimal = new grafana.assert.LogConfig("minimal", {
|
|
97
|
+
* name: "minimal",
|
|
98
|
+
* priority: 3000,
|
|
99
|
+
* defaultConfig: false,
|
|
100
|
+
* dataSourceUid: "loki-minimal",
|
|
101
|
+
* matches: [{
|
|
102
|
+
* property: "asserts_entity_type",
|
|
103
|
+
* op: "IS_NOT_NULL",
|
|
104
|
+
* values: [],
|
|
105
|
+
* }],
|
|
106
|
+
* });
|
|
107
|
+
* ```
|
|
108
|
+
*
|
|
109
|
+
* ## Import
|
|
110
|
+
*
|
|
111
|
+
* ```sh
|
|
112
|
+
* $ pulumi import grafana:assert/logConfig:LogConfig name "{{ name }}"
|
|
113
|
+
* ```
|
|
114
|
+
*/
|
|
115
|
+
class LogConfig extends pulumi.CustomResource {
|
|
116
|
+
/**
|
|
117
|
+
* Get an existing LogConfig resource's state with the given name, ID, and optional extra
|
|
118
|
+
* properties used to qualify the lookup.
|
|
119
|
+
*
|
|
120
|
+
* @param name The _unique_ name of the resulting resource.
|
|
121
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
122
|
+
* @param state Any extra arguments used during the lookup.
|
|
123
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
124
|
+
*/
|
|
125
|
+
static get(name, id, state, opts) {
|
|
126
|
+
return new LogConfig(name, state, { ...opts, id: id });
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Returns true if the given object is an instance of LogConfig. This is designed to work even
|
|
130
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
131
|
+
*/
|
|
132
|
+
static isInstance(obj) {
|
|
133
|
+
if (obj === undefined || obj === null) {
|
|
134
|
+
return false;
|
|
135
|
+
}
|
|
136
|
+
return obj['__pulumiType'] === LogConfig.__pulumiType;
|
|
137
|
+
}
|
|
138
|
+
constructor(name, argsOrState, opts) {
|
|
139
|
+
let resourceInputs = {};
|
|
140
|
+
opts = opts || {};
|
|
141
|
+
if (opts.id) {
|
|
142
|
+
const state = argsOrState;
|
|
143
|
+
resourceInputs["dataSourceUid"] = state?.dataSourceUid;
|
|
144
|
+
resourceInputs["defaultConfig"] = state?.defaultConfig;
|
|
145
|
+
resourceInputs["entityPropertyToLogLabelMapping"] = state?.entityPropertyToLogLabelMapping;
|
|
146
|
+
resourceInputs["errorLabel"] = state?.errorLabel;
|
|
147
|
+
resourceInputs["filterBySpanId"] = state?.filterBySpanId;
|
|
148
|
+
resourceInputs["filterByTraceId"] = state?.filterByTraceId;
|
|
149
|
+
resourceInputs["matches"] = state?.matches;
|
|
150
|
+
resourceInputs["name"] = state?.name;
|
|
151
|
+
resourceInputs["priority"] = state?.priority;
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
const args = argsOrState;
|
|
155
|
+
if (args?.dataSourceUid === undefined && !opts.urn) {
|
|
156
|
+
throw new Error("Missing required property 'dataSourceUid'");
|
|
157
|
+
}
|
|
158
|
+
if (args?.defaultConfig === undefined && !opts.urn) {
|
|
159
|
+
throw new Error("Missing required property 'defaultConfig'");
|
|
160
|
+
}
|
|
161
|
+
if (args?.priority === undefined && !opts.urn) {
|
|
162
|
+
throw new Error("Missing required property 'priority'");
|
|
163
|
+
}
|
|
164
|
+
resourceInputs["dataSourceUid"] = args?.dataSourceUid;
|
|
165
|
+
resourceInputs["defaultConfig"] = args?.defaultConfig;
|
|
166
|
+
resourceInputs["entityPropertyToLogLabelMapping"] = args?.entityPropertyToLogLabelMapping;
|
|
167
|
+
resourceInputs["errorLabel"] = args?.errorLabel;
|
|
168
|
+
resourceInputs["filterBySpanId"] = args?.filterBySpanId;
|
|
169
|
+
resourceInputs["filterByTraceId"] = args?.filterByTraceId;
|
|
170
|
+
resourceInputs["matches"] = args?.matches;
|
|
171
|
+
resourceInputs["name"] = args?.name;
|
|
172
|
+
resourceInputs["priority"] = args?.priority;
|
|
173
|
+
}
|
|
174
|
+
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
|
175
|
+
super(LogConfig.__pulumiType, name, resourceInputs, opts);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
exports.LogConfig = LogConfig;
|
|
179
|
+
/** @internal */
|
|
180
|
+
LogConfig.__pulumiType = 'grafana:assert/logConfig:LogConfig';
|
|
181
|
+
//# sourceMappingURL=logConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logConfig.js","sourceRoot":"","sources":["../../assert/logConfig.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pulumiverse/grafana",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.9.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.
|
|
27
|
+
"version": "2.9.0",
|
|
28
28
|
"server": "github://api.github.com/pulumiverse"
|
|
29
29
|
}
|
|
30
30
|
}
|
package/types/input.d.ts
CHANGED
|
@@ -2,6 +2,12 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
2
2
|
import * as inputs from "../types/input";
|
|
3
3
|
export declare namespace alerting {
|
|
4
4
|
interface AlertEnrichmentMetadata {
|
|
5
|
+
/**
|
|
6
|
+
* Annotations of the resource.
|
|
7
|
+
*/
|
|
8
|
+
annotations?: pulumi.Input<{
|
|
9
|
+
[key: string]: pulumi.Input<string>;
|
|
10
|
+
}>;
|
|
5
11
|
/**
|
|
6
12
|
* The UID of the folder to save the resource in.
|
|
7
13
|
*/
|
|
@@ -42,6 +48,7 @@ export declare namespace alerting {
|
|
|
42
48
|
* Description of the alert enrichment.
|
|
43
49
|
*/
|
|
44
50
|
description?: pulumi.Input<string>;
|
|
51
|
+
disableProvenance?: pulumi.Input<boolean>;
|
|
45
52
|
/**
|
|
46
53
|
* Label matchers that an alert must satisfy for this enrichment to apply. Each matcher is an object with: 'type' (string, one of: =, !=, =~, !~), 'name' (string, label key to match), 'value' (string, label value to compare against, supports regex for =~/!~ operators).
|
|
47
54
|
*/
|
|
@@ -1928,6 +1935,88 @@ export declare namespace alerting {
|
|
|
1928
1935
|
targetDatasourceUid?: pulumi.Input<string>;
|
|
1929
1936
|
}
|
|
1930
1937
|
}
|
|
1938
|
+
export declare namespace assert {
|
|
1939
|
+
interface CustomModelRulesRules {
|
|
1940
|
+
/**
|
|
1941
|
+
* List of entities to define in the custom model rules.
|
|
1942
|
+
*/
|
|
1943
|
+
entities: pulumi.Input<pulumi.Input<inputs.assert.CustomModelRulesRulesEntity>[]>;
|
|
1944
|
+
}
|
|
1945
|
+
interface CustomModelRulesRulesEntity {
|
|
1946
|
+
/**
|
|
1947
|
+
* List of queries that define this entity.
|
|
1948
|
+
*/
|
|
1949
|
+
definedBies: pulumi.Input<pulumi.Input<inputs.assert.CustomModelRulesRulesEntityDefinedBy>[]>;
|
|
1950
|
+
/**
|
|
1951
|
+
* Whether this entity is disabled.
|
|
1952
|
+
*/
|
|
1953
|
+
disabled?: pulumi.Input<boolean>;
|
|
1954
|
+
/**
|
|
1955
|
+
* List of enrichment sources for the entity.
|
|
1956
|
+
*/
|
|
1957
|
+
enrichedBies?: pulumi.Input<pulumi.Input<string>[]>;
|
|
1958
|
+
/**
|
|
1959
|
+
* Lookup mappings for the entity.
|
|
1960
|
+
*/
|
|
1961
|
+
lookup?: pulumi.Input<{
|
|
1962
|
+
[key: string]: pulumi.Input<string>;
|
|
1963
|
+
}>;
|
|
1964
|
+
/**
|
|
1965
|
+
* The name of the entity.
|
|
1966
|
+
*/
|
|
1967
|
+
name: pulumi.Input<string>;
|
|
1968
|
+
/**
|
|
1969
|
+
* Scope labels for the entity.
|
|
1970
|
+
*/
|
|
1971
|
+
scope?: pulumi.Input<{
|
|
1972
|
+
[key: string]: pulumi.Input<string>;
|
|
1973
|
+
}>;
|
|
1974
|
+
/**
|
|
1975
|
+
* The type of the entity (e.g., Service, Pod, Namespace).
|
|
1976
|
+
*/
|
|
1977
|
+
type: pulumi.Input<string>;
|
|
1978
|
+
}
|
|
1979
|
+
interface CustomModelRulesRulesEntityDefinedBy {
|
|
1980
|
+
/**
|
|
1981
|
+
* Whether this rule is disabled. When true, only the 'query' field is used to match an existing rule to disable; other fields are ignored.
|
|
1982
|
+
*/
|
|
1983
|
+
disabled?: pulumi.Input<boolean>;
|
|
1984
|
+
/**
|
|
1985
|
+
* Label value mappings for the query.
|
|
1986
|
+
*/
|
|
1987
|
+
labelValues?: pulumi.Input<{
|
|
1988
|
+
[key: string]: pulumi.Input<string>;
|
|
1989
|
+
}>;
|
|
1990
|
+
/**
|
|
1991
|
+
* Literal value mappings for the query.
|
|
1992
|
+
*/
|
|
1993
|
+
literals?: pulumi.Input<{
|
|
1994
|
+
[key: string]: pulumi.Input<string>;
|
|
1995
|
+
}>;
|
|
1996
|
+
/**
|
|
1997
|
+
* Metric value for the query.
|
|
1998
|
+
*/
|
|
1999
|
+
metricValue?: pulumi.Input<string>;
|
|
2000
|
+
/**
|
|
2001
|
+
* The Prometheus query that defines this entity.
|
|
2002
|
+
*/
|
|
2003
|
+
query: pulumi.Input<string>;
|
|
2004
|
+
}
|
|
2005
|
+
interface LogConfigMatch {
|
|
2006
|
+
/**
|
|
2007
|
+
* Operation to use for matching. One of: EQUALS, NOT*EQUALS, CONTAINS, DOES*NOT*CONTAIN, IS*NULL, IS*NOT*NULL.
|
|
2008
|
+
*/
|
|
2009
|
+
op: pulumi.Input<string>;
|
|
2010
|
+
/**
|
|
2011
|
+
* Entity property to match.
|
|
2012
|
+
*/
|
|
2013
|
+
property: pulumi.Input<string>;
|
|
2014
|
+
/**
|
|
2015
|
+
* Values to match against.
|
|
2016
|
+
*/
|
|
2017
|
+
values: pulumi.Input<pulumi.Input<string>[]>;
|
|
2018
|
+
}
|
|
2019
|
+
}
|
|
1931
2020
|
export declare namespace cloud {
|
|
1932
2021
|
interface AccessPolicyCondition {
|
|
1933
2022
|
/**
|
|
@@ -2579,6 +2668,12 @@ export declare namespace enterprise {
|
|
|
2579
2668
|
}
|
|
2580
2669
|
export declare namespace experimental {
|
|
2581
2670
|
interface AppsDashboardMetadata {
|
|
2671
|
+
/**
|
|
2672
|
+
* Annotations of the resource.
|
|
2673
|
+
*/
|
|
2674
|
+
annotations?: pulumi.Input<{
|
|
2675
|
+
[key: string]: pulumi.Input<string>;
|
|
2676
|
+
}>;
|
|
2582
2677
|
/**
|
|
2583
2678
|
* The UID of the folder to save the resource in.
|
|
2584
2679
|
*/
|
|
@@ -2621,6 +2716,12 @@ export declare namespace experimental {
|
|
|
2621
2716
|
title?: pulumi.Input<string>;
|
|
2622
2717
|
}
|
|
2623
2718
|
interface AppsPlaylistV0Alpha1Metadata {
|
|
2719
|
+
/**
|
|
2720
|
+
* Annotations of the resource.
|
|
2721
|
+
*/
|
|
2722
|
+
annotations?: pulumi.Input<{
|
|
2723
|
+
[key: string]: pulumi.Input<string>;
|
|
2724
|
+
}>;
|
|
2624
2725
|
/**
|
|
2625
2726
|
* The UID of the folder to save the resource in.
|
|
2626
2727
|
*/
|
package/types/output.d.ts
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import * as outputs from "../types/output";
|
|
2
2
|
export declare namespace alerting {
|
|
3
3
|
interface AlertEnrichmentMetadata {
|
|
4
|
+
/**
|
|
5
|
+
* Annotations of the resource.
|
|
6
|
+
*/
|
|
7
|
+
annotations: {
|
|
8
|
+
[key: string]: string;
|
|
9
|
+
};
|
|
4
10
|
/**
|
|
5
11
|
* The UID of the folder to save the resource in.
|
|
6
12
|
*/
|
|
@@ -41,6 +47,7 @@ export declare namespace alerting {
|
|
|
41
47
|
* Description of the alert enrichment.
|
|
42
48
|
*/
|
|
43
49
|
description: string;
|
|
50
|
+
disableProvenance: boolean;
|
|
44
51
|
/**
|
|
45
52
|
* Label matchers that an alert must satisfy for this enrichment to apply. Each matcher is an object with: 'type' (string, one of: =, !=, =~, !~), 'name' (string, label key to match), 'value' (string, label value to compare against, supports regex for =~/!~ operators).
|
|
46
53
|
*/
|
|
@@ -1927,6 +1934,88 @@ export declare namespace alerting {
|
|
|
1927
1934
|
targetDatasourceUid?: string;
|
|
1928
1935
|
}
|
|
1929
1936
|
}
|
|
1937
|
+
export declare namespace assert {
|
|
1938
|
+
interface CustomModelRulesRules {
|
|
1939
|
+
/**
|
|
1940
|
+
* List of entities to define in the custom model rules.
|
|
1941
|
+
*/
|
|
1942
|
+
entities: outputs.assert.CustomModelRulesRulesEntity[];
|
|
1943
|
+
}
|
|
1944
|
+
interface CustomModelRulesRulesEntity {
|
|
1945
|
+
/**
|
|
1946
|
+
* List of queries that define this entity.
|
|
1947
|
+
*/
|
|
1948
|
+
definedBies: outputs.assert.CustomModelRulesRulesEntityDefinedBy[];
|
|
1949
|
+
/**
|
|
1950
|
+
* Whether this entity is disabled.
|
|
1951
|
+
*/
|
|
1952
|
+
disabled?: boolean;
|
|
1953
|
+
/**
|
|
1954
|
+
* List of enrichment sources for the entity.
|
|
1955
|
+
*/
|
|
1956
|
+
enrichedBies?: string[];
|
|
1957
|
+
/**
|
|
1958
|
+
* Lookup mappings for the entity.
|
|
1959
|
+
*/
|
|
1960
|
+
lookup?: {
|
|
1961
|
+
[key: string]: string;
|
|
1962
|
+
};
|
|
1963
|
+
/**
|
|
1964
|
+
* The name of the entity.
|
|
1965
|
+
*/
|
|
1966
|
+
name: string;
|
|
1967
|
+
/**
|
|
1968
|
+
* Scope labels for the entity.
|
|
1969
|
+
*/
|
|
1970
|
+
scope?: {
|
|
1971
|
+
[key: string]: string;
|
|
1972
|
+
};
|
|
1973
|
+
/**
|
|
1974
|
+
* The type of the entity (e.g., Service, Pod, Namespace).
|
|
1975
|
+
*/
|
|
1976
|
+
type: string;
|
|
1977
|
+
}
|
|
1978
|
+
interface CustomModelRulesRulesEntityDefinedBy {
|
|
1979
|
+
/**
|
|
1980
|
+
* Whether this rule is disabled. When true, only the 'query' field is used to match an existing rule to disable; other fields are ignored.
|
|
1981
|
+
*/
|
|
1982
|
+
disabled?: boolean;
|
|
1983
|
+
/**
|
|
1984
|
+
* Label value mappings for the query.
|
|
1985
|
+
*/
|
|
1986
|
+
labelValues?: {
|
|
1987
|
+
[key: string]: string;
|
|
1988
|
+
};
|
|
1989
|
+
/**
|
|
1990
|
+
* Literal value mappings for the query.
|
|
1991
|
+
*/
|
|
1992
|
+
literals?: {
|
|
1993
|
+
[key: string]: string;
|
|
1994
|
+
};
|
|
1995
|
+
/**
|
|
1996
|
+
* Metric value for the query.
|
|
1997
|
+
*/
|
|
1998
|
+
metricValue?: string;
|
|
1999
|
+
/**
|
|
2000
|
+
* The Prometheus query that defines this entity.
|
|
2001
|
+
*/
|
|
2002
|
+
query: string;
|
|
2003
|
+
}
|
|
2004
|
+
interface LogConfigMatch {
|
|
2005
|
+
/**
|
|
2006
|
+
* Operation to use for matching. One of: EQUALS, NOT*EQUALS, CONTAINS, DOES*NOT*CONTAIN, IS*NULL, IS*NOT*NULL.
|
|
2007
|
+
*/
|
|
2008
|
+
op: string;
|
|
2009
|
+
/**
|
|
2010
|
+
* Entity property to match.
|
|
2011
|
+
*/
|
|
2012
|
+
property: string;
|
|
2013
|
+
/**
|
|
2014
|
+
* Values to match against.
|
|
2015
|
+
*/
|
|
2016
|
+
values: string[];
|
|
2017
|
+
}
|
|
2018
|
+
}
|
|
1930
2019
|
export declare namespace cloud {
|
|
1931
2020
|
interface AccessPolicyCondition {
|
|
1932
2021
|
/**
|
|
@@ -2394,6 +2483,12 @@ export declare namespace enterprise {
|
|
|
2394
2483
|
}
|
|
2395
2484
|
export declare namespace experimental {
|
|
2396
2485
|
interface AppsDashboardMetadata {
|
|
2486
|
+
/**
|
|
2487
|
+
* Annotations of the resource.
|
|
2488
|
+
*/
|
|
2489
|
+
annotations: {
|
|
2490
|
+
[key: string]: string;
|
|
2491
|
+
};
|
|
2397
2492
|
/**
|
|
2398
2493
|
* The UID of the folder to save the resource in.
|
|
2399
2494
|
*/
|
|
@@ -2436,6 +2531,12 @@ export declare namespace experimental {
|
|
|
2436
2531
|
title?: string;
|
|
2437
2532
|
}
|
|
2438
2533
|
interface AppsPlaylistV0Alpha1Metadata {
|
|
2534
|
+
/**
|
|
2535
|
+
* Annotations of the resource.
|
|
2536
|
+
*/
|
|
2537
|
+
annotations: {
|
|
2538
|
+
[key: string]: string;
|
|
2539
|
+
};
|
|
2439
2540
|
/**
|
|
2440
2541
|
* The UID of the folder to save the resource in.
|
|
2441
2542
|
*/
|