@pulumiverse/grafana 2.8.0 → 2.10.0-alpha.1759507943

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,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
@@ -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.8.0",
3
+ "version": "2.10.0-alpha.1759507943",
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.8.0",
27
+ "version": "2.10.0-alpha.1759507943",
28
28
  "server": "github://api.github.com/pulumiverse"
29
29
  }
30
30
  }
@@ -32,16 +32,19 @@ import * as outputs from "../types/output";
32
32
  * name: "ProbeFailedExecutionsTooHigh",
33
33
  * threshold: 1,
34
34
  * period: "15m",
35
+ * runbookUrl: "",
35
36
  * },
36
37
  * {
37
38
  * name: "TLSTargetCertificateCloseToExpiring",
38
39
  * threshold: 14,
39
40
  * period: "",
41
+ * runbookUrl: "",
40
42
  * },
41
43
  * {
42
44
  * name: "HTTPRequestDurationTooHighAvg",
43
45
  * threshold: 5000,
44
46
  * period: "10m",
47
+ * runbookUrl: "https://wiki.company.com/runbooks/http-duration",
45
48
  * },
46
49
  * ],
47
50
  * });
@@ -36,16 +36,19 @@ const utilities = require("../utilities");
36
36
  * name: "ProbeFailedExecutionsTooHigh",
37
37
  * threshold: 1,
38
38
  * period: "15m",
39
+ * runbookUrl: "",
39
40
  * },
40
41
  * {
41
42
  * name: "TLSTargetCertificateCloseToExpiring",
42
43
  * threshold: 14,
43
44
  * period: "",
45
+ * runbookUrl: "",
44
46
  * },
45
47
  * {
46
48
  * name: "HTTPRequestDurationTooHighAvg",
47
49
  * threshold: 5000,
48
50
  * period: "10m",
51
+ * runbookUrl: "https://wiki.company.com/runbooks/http-duration",
49
52
  * },
50
53
  * ],
51
54
  * });
@@ -1 +1 @@
1
- {"version":3,"file":"checkAlerts.js","sourceRoot":"","sources":["../../syntheticmonitoring/checkAlerts.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAGzC,0CAA0C;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;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,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,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,QAAQ,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC;YACzC,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC;SAC9C;aAAM;YACH,MAAM,IAAI,GAAG,WAA0C,CAAC;YACxD,IAAI,IAAI,EAAE,MAAM,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACzC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;aACzD;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,QAAQ,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC;YACxC,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,WAAW,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAChE,CAAC;;AAjEL,kCAkEC;AApDG,gBAAgB;AACO,wBAAY,GAAG,qDAAqD,CAAC"}
1
+ {"version":3,"file":"checkAlerts.js","sourceRoot":"","sources":["../../syntheticmonitoring/checkAlerts.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAGzC,0CAA0C;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;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,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,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,QAAQ,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC;YACzC,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC;SAC9C;aAAM;YACH,MAAM,IAAI,GAAG,WAA0C,CAAC;YACxD,IAAI,IAAI,EAAE,MAAM,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACzC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;aACzD;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,QAAQ,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC;YACxC,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,WAAW,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAChE,CAAC;;AAjEL,kCAkEC;AApDG,gBAAgB;AACO,wBAAY,GAAG,qDAAqD,CAAC"}
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
  */
@@ -3716,6 +3817,10 @@ export declare namespace syntheticMonitoring {
3716
3817
  * Period for the alert. Required and must be one of: `5m`, `10m`, `15m`, `20m`, `30m`, `1h`.
3717
3818
  */
3718
3819
  period?: pulumi.Input<string>;
3820
+ /**
3821
+ * URL to runbook documentation for this alert.
3822
+ */
3823
+ runbookUrl?: pulumi.Input<string>;
3719
3824
  /**
3720
3825
  * Threshold value for the alert.
3721
3826
  */
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
  */
@@ -3849,6 +3950,10 @@ export declare namespace syntheticMonitoring {
3849
3950
  * Period for the alert. Required and must be one of: `5m`, `10m`, `15m`, `20m`, `30m`, `1h`.
3850
3951
  */
3851
3952
  period?: string;
3953
+ /**
3954
+ * URL to runbook documentation for this alert.
3955
+ */
3956
+ runbookUrl?: string;
3852
3957
  /**
3853
3958
  * Threshold value for the alert.
3854
3959
  */