@pulumiverse/grafana 0.7.0 → 0.7.1
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/alerting/contactPoint.d.ts +1 -1
- package/alerting/contactPoint.js +1 -1
- package/alerting/messageTemplate.d.ts +2 -2
- package/alerting/messageTemplate.js +2 -2
- package/alerting/muteTiming.d.ts +2 -2
- package/alerting/muteTiming.js +2 -2
- package/alerting/notificationPolicy.d.ts +2 -2
- package/alerting/notificationPolicy.js +2 -2
- package/alerting/ruleGroup.d.ts +1 -1
- package/alerting/ruleGroup.js +1 -1
- package/cloud/getAccessPolicies.d.ts +50 -0
- package/cloud/getAccessPolicies.js +46 -0
- package/cloud/getAccessPolicies.js.map +1 -0
- package/cloud/getProviderAwsAccount.d.ts +92 -0
- package/cloud/getProviderAwsAccount.js +74 -0
- package/cloud/getProviderAwsAccount.js.map +1 -0
- package/cloud/getProviderAwsCloudwatchScrapeJob.d.ts +211 -0
- package/cloud/getProviderAwsCloudwatchScrapeJob.js +160 -0
- package/cloud/getProviderAwsCloudwatchScrapeJob.js.map +1 -0
- package/cloud/getProviderAwsCloudwatchScrapeJobs.d.ts +66 -0
- package/cloud/getProviderAwsCloudwatchScrapeJobs.js +54 -0
- package/cloud/getProviderAwsCloudwatchScrapeJobs.js.map +1 -0
- package/cloud/index.d.ts +18 -0
- package/cloud/index.js +23 -1
- package/cloud/index.js.map +1 -1
- package/cloud/providerAwsAccount.d.ts +103 -0
- package/cloud/providerAwsAccount.js +96 -0
- package/cloud/providerAwsAccount.js.map +1 -0
- package/cloud/providerAwsCloudwatchScrapeJob.d.ts +192 -0
- package/cloud/providerAwsCloudwatchScrapeJob.js +139 -0
- package/cloud/providerAwsCloudwatchScrapeJob.js.map +1 -0
- package/config/vars.d.ts +19 -0
- package/config/vars.js +24 -0
- package/config/vars.js.map +1 -1
- package/connectionsMetricsEndpointScrapeJob.d.ts +151 -0
- package/connectionsMetricsEndpointScrapeJob.js +101 -0
- package/connectionsMetricsEndpointScrapeJob.js.map +1 -0
- package/contactPoint.d.ts +1 -1
- package/contactPoint.js +1 -1
- package/dashboardPermissionItem.d.ts +3 -3
- package/dataSource.d.ts +9 -0
- package/dataSource.js +9 -0
- package/dataSource.js.map +1 -1
- package/dataSourcePermissionItem.d.ts +3 -3
- package/enterprise/dataSourcePermissionItem.d.ts +3 -3
- package/enterprise/roleAssignmentItem.d.ts +3 -3
- package/folderPermissionItem.d.ts +3 -3
- package/getConnectionsMetricsEndpointScrapeJob.d.ts +79 -0
- package/getConnectionsMetricsEndpointScrapeJob.js +50 -0
- package/getConnectionsMetricsEndpointScrapeJob.js.map +1 -0
- package/getLibraryPanels.d.ts +114 -0
- package/getLibraryPanels.js +102 -0
- package/getLibraryPanels.js.map +1 -0
- package/getOncallUser.d.ts +1 -1
- package/getTeam.d.ts +1 -0
- package/getTeam.js.map +1 -1
- package/getUser.d.ts +2 -0
- package/getUser.js +2 -0
- package/getUser.js.map +1 -1
- package/getUsers.d.ts +2 -0
- package/getUsers.js +2 -0
- package/getUsers.js.map +1 -1
- package/index.d.ts +9 -0
- package/index.js +14 -3
- package/index.js.map +1 -1
- package/machineLearningHoliday.d.ts +42 -0
- package/machineLearningHoliday.js +42 -0
- package/machineLearningHoliday.js.map +1 -1
- package/machineLearningJob.d.ts +137 -9
- package/machineLearningJob.js +125 -0
- package/machineLearningJob.js.map +1 -1
- package/machineLearningOutlierDetector.d.ts +64 -6
- package/machineLearningOutlierDetector.js +55 -0
- package/machineLearningOutlierDetector.js.map +1 -1
- package/machinelearning/alert.d.ts +236 -0
- package/machinelearning/alert.js +138 -0
- package/machinelearning/alert.js.map +1 -0
- package/machinelearning/holiday.d.ts +42 -0
- package/machinelearning/holiday.js +42 -0
- package/machinelearning/holiday.js.map +1 -1
- package/machinelearning/index.d.ts +3 -0
- package/machinelearning/index.js +6 -1
- package/machinelearning/index.js.map +1 -1
- package/machinelearning/job.d.ts +137 -9
- package/machinelearning/job.js +125 -0
- package/machinelearning/job.js.map +1 -1
- package/machinelearning/outlierDetector.d.ts +64 -6
- package/machinelearning/outlierDetector.js +55 -0
- package/machinelearning/outlierDetector.js.map +1 -1
- package/messageTemplate.d.ts +2 -2
- package/messageTemplate.js +2 -2
- package/muteTiming.d.ts +2 -2
- package/muteTiming.js +2 -2
- package/notificationPolicy.d.ts +2 -2
- package/notificationPolicy.js +2 -2
- package/oncall/escalation.d.ts +18 -6
- package/oncall/escalation.js +2 -0
- package/oncall/escalation.js.map +1 -1
- package/oncall/getUser.d.ts +1 -1
- package/oncall/getUsers.d.ts +20 -0
- package/oncall/getUsers.js +24 -0
- package/oncall/getUsers.js.map +1 -0
- package/oncall/index.d.ts +3 -0
- package/oncall/index.js +4 -1
- package/oncall/index.js.map +1 -1
- package/oncall/integration.d.ts +1 -1
- package/oncall/integration.js +1 -1
- package/oncall/onCallShift.d.ts +12 -0
- package/oncall/onCallShift.js +2 -0
- package/oncall/onCallShift.js.map +1 -1
- package/oncallEscalation.d.ts +18 -6
- package/oncallEscalation.js +2 -0
- package/oncallEscalation.js.map +1 -1
- package/oncallIntegration.d.ts +1 -1
- package/oncallIntegration.js +1 -1
- package/oncallOnCallShift.d.ts +12 -0
- package/oncallOnCallShift.js +2 -0
- package/oncallOnCallShift.js.map +1 -1
- package/organization.d.ts +1 -0
- package/organization.js +1 -0
- package/organization.js.map +1 -1
- package/oss/dashboardPermissionItem.d.ts +3 -3
- package/oss/dataSource.d.ts +9 -0
- package/oss/dataSource.js +9 -0
- package/oss/dataSource.js.map +1 -1
- package/oss/folderPermissionItem.d.ts +3 -3
- package/oss/getTeam.d.ts +1 -0
- package/oss/getTeam.js.map +1 -1
- package/oss/getUser.d.ts +2 -0
- package/oss/getUser.js +2 -0
- package/oss/getUser.js.map +1 -1
- package/oss/getUsers.d.ts +2 -0
- package/oss/getUsers.js +2 -0
- package/oss/getUsers.js.map +1 -1
- package/oss/organization.d.ts +1 -0
- package/oss/organization.js +1 -0
- package/oss/organization.js.map +1 -1
- package/oss/serviceAccountPermissionItem.d.ts +3 -3
- package/oss/ssoSettings.d.ts +56 -4
- package/oss/ssoSettings.js +43 -1
- package/oss/ssoSettings.js.map +1 -1
- package/oss/team.d.ts +8 -0
- package/oss/team.js +2 -0
- package/oss/team.js.map +1 -1
- package/oss/user.d.ts +1 -0
- package/oss/user.js +1 -0
- package/oss/user.js.map +1 -1
- package/package.json +2 -2
- package/provider.d.ts +38 -0
- package/provider.js +5 -1
- package/provider.js.map +1 -1
- package/roleAssignmentItem.d.ts +3 -3
- package/ruleGroup.d.ts +1 -1
- package/ruleGroup.js +1 -1
- package/serviceAccountPermissionItem.d.ts +3 -3
- package/slo/slo.d.ts +14 -2
- package/slo/slo.js +5 -0
- package/slo/slo.js.map +1 -1
- package/slo.d.ts +14 -2
- package/slo.js +5 -0
- package/slo.js.map +1 -1
- package/ssoSettings.d.ts +56 -4
- package/ssoSettings.js +43 -1
- package/ssoSettings.js.map +1 -1
- package/team.d.ts +8 -0
- package/team.js +2 -0
- package/team.js.map +1 -1
- package/types/input.d.ts +894 -10
- package/types/output.d.ts +837 -14
- package/user.d.ts +1 -0
- package/user.js +1 -0
- package/user.js.map +1 -1
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
|
3
|
+
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.Alert = void 0;
|
|
6
|
+
const pulumi = require("@pulumi/pulumi");
|
|
7
|
+
const utilities = require("../utilities");
|
|
8
|
+
/**
|
|
9
|
+
* ## Example Usage
|
|
10
|
+
*
|
|
11
|
+
* ### Forecast Alert
|
|
12
|
+
*
|
|
13
|
+
* This alert uses a forecast.
|
|
14
|
+
*
|
|
15
|
+
* ```typescript
|
|
16
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
17
|
+
* import * as grafana from "@pulumiverse/grafana";
|
|
18
|
+
*
|
|
19
|
+
* const testAlertJob = new grafana.machinelearning.Job("test_alert_job", {
|
|
20
|
+
* name: "Test Job",
|
|
21
|
+
* metric: "tf_test_alert_job",
|
|
22
|
+
* datasourceType: "prometheus",
|
|
23
|
+
* datasourceUid: "abcd12345",
|
|
24
|
+
* queryParams: {
|
|
25
|
+
* expr: "grafanacloud_grafana_instance_active_user_count",
|
|
26
|
+
* },
|
|
27
|
+
* });
|
|
28
|
+
* const testJobAlert = new grafana.machinelearning.Alert("test_job_alert", {
|
|
29
|
+
* jobId: testAlertJob.id,
|
|
30
|
+
* title: "Test Alert",
|
|
31
|
+
* anomalyCondition: "any",
|
|
32
|
+
* threshold: ">0.8",
|
|
33
|
+
* window: "15m",
|
|
34
|
+
* noDataState: "OK",
|
|
35
|
+
* });
|
|
36
|
+
* ```
|
|
37
|
+
*
|
|
38
|
+
* ### Outlier Alert
|
|
39
|
+
*
|
|
40
|
+
* This alert uses an outlier detector.
|
|
41
|
+
*
|
|
42
|
+
* ```typescript
|
|
43
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
44
|
+
* import * as grafana from "@pulumiverse/grafana";
|
|
45
|
+
*
|
|
46
|
+
* const testAlertOutlierDetector = new grafana.machinelearning.OutlierDetector("test_alert_outlier_detector", {
|
|
47
|
+
* name: "Test Outlier",
|
|
48
|
+
* metric: "tf_test_alert_outlier",
|
|
49
|
+
* datasourceType: "prometheus",
|
|
50
|
+
* datasourceUid: "AbCd12345",
|
|
51
|
+
* queryParams: {
|
|
52
|
+
* expr: "grafanacloud_grafana_instance_active_user_count",
|
|
53
|
+
* },
|
|
54
|
+
* interval: 300,
|
|
55
|
+
* algorithm: {
|
|
56
|
+
* name: "dbscan",
|
|
57
|
+
* sensitivity: 0.5,
|
|
58
|
+
* config: {
|
|
59
|
+
* epsilon: 1,
|
|
60
|
+
* },
|
|
61
|
+
* },
|
|
62
|
+
* });
|
|
63
|
+
* const testOutlierAlert = new grafana.machinelearning.Alert("test_outlier_alert", {
|
|
64
|
+
* outlierId: testAlertOutlierDetector.id,
|
|
65
|
+
* title: "Test Alert",
|
|
66
|
+
* window: "1h",
|
|
67
|
+
* });
|
|
68
|
+
* ```
|
|
69
|
+
*
|
|
70
|
+
* ## Import
|
|
71
|
+
*
|
|
72
|
+
* ```sh
|
|
73
|
+
* $ pulumi import grafana:machineLearning/alert:Alert name "{{ id }}"
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
76
|
+
class Alert extends pulumi.CustomResource {
|
|
77
|
+
/**
|
|
78
|
+
* Get an existing Alert resource's state with the given name, ID, and optional extra
|
|
79
|
+
* properties used to qualify the lookup.
|
|
80
|
+
*
|
|
81
|
+
* @param name The _unique_ name of the resulting resource.
|
|
82
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
83
|
+
* @param state Any extra arguments used during the lookup.
|
|
84
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
85
|
+
*/
|
|
86
|
+
static get(name, id, state, opts) {
|
|
87
|
+
return new Alert(name, state, Object.assign(Object.assign({}, opts), { id: id }));
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Returns true if the given object is an instance of Alert. This is designed to work even
|
|
91
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
92
|
+
*/
|
|
93
|
+
static isInstance(obj) {
|
|
94
|
+
if (obj === undefined || obj === null) {
|
|
95
|
+
return false;
|
|
96
|
+
}
|
|
97
|
+
return obj['__pulumiType'] === Alert.__pulumiType;
|
|
98
|
+
}
|
|
99
|
+
constructor(name, argsOrState, opts) {
|
|
100
|
+
let resourceInputs = {};
|
|
101
|
+
opts = opts || {};
|
|
102
|
+
if (opts.id) {
|
|
103
|
+
const state = argsOrState;
|
|
104
|
+
resourceInputs["annotations"] = state ? state.annotations : undefined;
|
|
105
|
+
resourceInputs["anomalyCondition"] = state ? state.anomalyCondition : undefined;
|
|
106
|
+
resourceInputs["for"] = state ? state.for : undefined;
|
|
107
|
+
resourceInputs["jobId"] = state ? state.jobId : undefined;
|
|
108
|
+
resourceInputs["labels"] = state ? state.labels : undefined;
|
|
109
|
+
resourceInputs["noDataState"] = state ? state.noDataState : undefined;
|
|
110
|
+
resourceInputs["outlierId"] = state ? state.outlierId : undefined;
|
|
111
|
+
resourceInputs["threshold"] = state ? state.threshold : undefined;
|
|
112
|
+
resourceInputs["title"] = state ? state.title : undefined;
|
|
113
|
+
resourceInputs["window"] = state ? state.window : undefined;
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
const args = argsOrState;
|
|
117
|
+
if ((!args || args.title === undefined) && !opts.urn) {
|
|
118
|
+
throw new Error("Missing required property 'title'");
|
|
119
|
+
}
|
|
120
|
+
resourceInputs["annotations"] = args ? args.annotations : undefined;
|
|
121
|
+
resourceInputs["anomalyCondition"] = args ? args.anomalyCondition : undefined;
|
|
122
|
+
resourceInputs["for"] = args ? args.for : undefined;
|
|
123
|
+
resourceInputs["jobId"] = args ? args.jobId : undefined;
|
|
124
|
+
resourceInputs["labels"] = args ? args.labels : undefined;
|
|
125
|
+
resourceInputs["noDataState"] = args ? args.noDataState : undefined;
|
|
126
|
+
resourceInputs["outlierId"] = args ? args.outlierId : undefined;
|
|
127
|
+
resourceInputs["threshold"] = args ? args.threshold : undefined;
|
|
128
|
+
resourceInputs["title"] = args ? args.title : undefined;
|
|
129
|
+
resourceInputs["window"] = args ? args.window : undefined;
|
|
130
|
+
}
|
|
131
|
+
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
|
132
|
+
super(Alert.__pulumiType, name, resourceInputs, opts);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
exports.Alert = Alert;
|
|
136
|
+
/** @internal */
|
|
137
|
+
Alert.__pulumiType = 'grafana:machineLearning/alert:Alert';
|
|
138
|
+
//# sourceMappingURL=alert.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alert.js","sourceRoot":"","sources":["../../machinelearning/alert.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,48 @@ import * as outputs from "../types/output";
|
|
|
6
6
|
*
|
|
7
7
|
* To use a holiday in a job, use its id in the `holidays` attribute of a `grafana.machineLearning.Job`:
|
|
8
8
|
*
|
|
9
|
+
* ### iCal Holiday
|
|
10
|
+
*
|
|
11
|
+
* This holiday uses an iCal file to define the holidays.
|
|
12
|
+
*
|
|
13
|
+
* ```typescript
|
|
14
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
15
|
+
* import * as grafana from "@pulumiverse/grafana";
|
|
16
|
+
*
|
|
17
|
+
* const ical = new grafana.machinelearning.Holiday("ical", {
|
|
18
|
+
* name: "My iCal holiday",
|
|
19
|
+
* description: "My Holiday",
|
|
20
|
+
* icalUrl: "https://calendar.google.com/calendar/ical/en.uk%23holiday%40group.v.calendar.google.com/public/basic.ics",
|
|
21
|
+
* icalTimezone: "Europe/London",
|
|
22
|
+
* });
|
|
23
|
+
* ```
|
|
24
|
+
*
|
|
25
|
+
* ### Custom Periods Holiday
|
|
26
|
+
*
|
|
27
|
+
* This holiday uses custom periods to define the holidays.
|
|
28
|
+
*
|
|
29
|
+
* ```typescript
|
|
30
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
31
|
+
* import * as grafana from "@pulumiverse/grafana";
|
|
32
|
+
*
|
|
33
|
+
* const customPeriods = new grafana.machinelearning.Holiday("custom_periods", {
|
|
34
|
+
* name: "My custom periods holiday",
|
|
35
|
+
* description: "My Holiday",
|
|
36
|
+
* customPeriods: [
|
|
37
|
+
* {
|
|
38
|
+
* name: "First of January",
|
|
39
|
+
* startTime: "2023-01-01T00:00:00Z",
|
|
40
|
+
* endTime: "2023-01-02T00:00:00Z",
|
|
41
|
+
* },
|
|
42
|
+
* {
|
|
43
|
+
* name: "First of Feburary",
|
|
44
|
+
* startTime: "2023-02-01T00:00:00Z",
|
|
45
|
+
* endTime: "2023-02-02T00:00:00Z",
|
|
46
|
+
* },
|
|
47
|
+
* ],
|
|
48
|
+
* });
|
|
49
|
+
* ```
|
|
50
|
+
*
|
|
9
51
|
* ## Import
|
|
10
52
|
*
|
|
11
53
|
* ```sh
|
|
@@ -10,6 +10,48 @@ const utilities = require("../utilities");
|
|
|
10
10
|
*
|
|
11
11
|
* To use a holiday in a job, use its id in the `holidays` attribute of a `grafana.machineLearning.Job`:
|
|
12
12
|
*
|
|
13
|
+
* ### iCal Holiday
|
|
14
|
+
*
|
|
15
|
+
* This holiday uses an iCal file to define the holidays.
|
|
16
|
+
*
|
|
17
|
+
* ```typescript
|
|
18
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
19
|
+
* import * as grafana from "@pulumiverse/grafana";
|
|
20
|
+
*
|
|
21
|
+
* const ical = new grafana.machinelearning.Holiday("ical", {
|
|
22
|
+
* name: "My iCal holiday",
|
|
23
|
+
* description: "My Holiday",
|
|
24
|
+
* icalUrl: "https://calendar.google.com/calendar/ical/en.uk%23holiday%40group.v.calendar.google.com/public/basic.ics",
|
|
25
|
+
* icalTimezone: "Europe/London",
|
|
26
|
+
* });
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* ### Custom Periods Holiday
|
|
30
|
+
*
|
|
31
|
+
* This holiday uses custom periods to define the holidays.
|
|
32
|
+
*
|
|
33
|
+
* ```typescript
|
|
34
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
35
|
+
* import * as grafana from "@pulumiverse/grafana";
|
|
36
|
+
*
|
|
37
|
+
* const customPeriods = new grafana.machinelearning.Holiday("custom_periods", {
|
|
38
|
+
* name: "My custom periods holiday",
|
|
39
|
+
* description: "My Holiday",
|
|
40
|
+
* customPeriods: [
|
|
41
|
+
* {
|
|
42
|
+
* name: "First of January",
|
|
43
|
+
* startTime: "2023-01-01T00:00:00Z",
|
|
44
|
+
* endTime: "2023-01-02T00:00:00Z",
|
|
45
|
+
* },
|
|
46
|
+
* {
|
|
47
|
+
* name: "First of Feburary",
|
|
48
|
+
* startTime: "2023-02-01T00:00:00Z",
|
|
49
|
+
* endTime: "2023-02-02T00:00:00Z",
|
|
50
|
+
* },
|
|
51
|
+
* ],
|
|
52
|
+
* });
|
|
53
|
+
* ```
|
|
54
|
+
*
|
|
13
55
|
* ## Import
|
|
14
56
|
*
|
|
15
57
|
* ```sh
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"holiday.js","sourceRoot":"","sources":["../../machinelearning/holiday.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAGzC,0CAA0C;AAE1C
|
|
1
|
+
{"version":3,"file":"holiday.js","sourceRoot":"","sources":["../../machinelearning/holiday.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAGzC,0CAA0C;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,MAAa,OAAQ,SAAQ,MAAM,CAAC,cAAc;IAC9C;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAoB,EAAE,IAAmC;QAClH,OAAO,IAAI,OAAO,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IAC9D,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,OAAO,CAAC,YAAY,CAAC;IACxD,CAAC;IA+BD,YAAY,IAAY,EAAE,WAAwC,EAAE,IAAmC;QACnG,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAuC,CAAC;YACtD,cAAc,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1E,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;YACtE,cAAc,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;YACxE,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9D,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;SAC3D;aAAM;YACH,MAAM,IAAI,GAAG,WAAsC,CAAC;YACpD,cAAc,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;YACxE,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;YACpE,cAAc,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;YACtE,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5D,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;SACzD;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,MAAM,SAAS,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,6DAA6D,EAAE,CAAC,EAAE,CAAC;QACzG,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC5C,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC;;AA/EL,0BAgFC;AAlEG,gBAAgB;AACO,oBAAY,GAAG,yCAAyC,CAAC"}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
export { AlertArgs, AlertState } from "./alert";
|
|
2
|
+
export type Alert = import("./alert").Alert;
|
|
3
|
+
export declare const Alert: typeof import("./alert").Alert;
|
|
1
4
|
export { HolidayArgs, HolidayState } from "./holiday";
|
|
2
5
|
export type Holiday = import("./holiday").Holiday;
|
|
3
6
|
export declare const Holiday: typeof import("./holiday").Holiday;
|
package/machinelearning/index.js
CHANGED
|
@@ -2,9 +2,11 @@
|
|
|
2
2
|
// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
|
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.OutlierDetector = exports.Job = exports.Holiday = void 0;
|
|
5
|
+
exports.OutlierDetector = exports.Job = exports.Holiday = exports.Alert = void 0;
|
|
6
6
|
const pulumi = require("@pulumi/pulumi");
|
|
7
7
|
const utilities = require("../utilities");
|
|
8
|
+
exports.Alert = null;
|
|
9
|
+
utilities.lazyLoad(exports, ["Alert"], () => require("./alert"));
|
|
8
10
|
exports.Holiday = null;
|
|
9
11
|
utilities.lazyLoad(exports, ["Holiday"], () => require("./holiday"));
|
|
10
12
|
exports.Job = null;
|
|
@@ -15,6 +17,8 @@ const _module = {
|
|
|
15
17
|
version: utilities.getVersion(),
|
|
16
18
|
construct: (name, type, urn) => {
|
|
17
19
|
switch (type) {
|
|
20
|
+
case "grafana:machineLearning/alert:Alert":
|
|
21
|
+
return new exports.Alert(name, undefined, { urn });
|
|
18
22
|
case "grafana:machineLearning/holiday:Holiday":
|
|
19
23
|
return new exports.Holiday(name, undefined, { urn });
|
|
20
24
|
case "grafana:machineLearning/job:Job":
|
|
@@ -26,6 +30,7 @@ const _module = {
|
|
|
26
30
|
}
|
|
27
31
|
},
|
|
28
32
|
};
|
|
33
|
+
pulumi.runtime.registerResourceModule("grafana", "machineLearning/alert", _module);
|
|
29
34
|
pulumi.runtime.registerResourceModule("grafana", "machineLearning/holiday", _module);
|
|
30
35
|
pulumi.runtime.registerResourceModule("grafana", "machineLearning/job", _module);
|
|
31
36
|
pulumi.runtime.registerResourceModule("grafana", "machineLearning/outlierDetector", _module);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../machinelearning/index.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAK7B,QAAA,OAAO,GAAuC,IAAW,CAAC;AACvE,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;AAIxD,QAAA,GAAG,GAA+B,IAAW,CAAC;AAC3D,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AAIhD,QAAA,eAAe,GAAuD,IAAW,CAAC;AAC/F,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC;AAGrF,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,yCAAyC;gBAC1C,OAAO,IAAI,eAAO,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YACrD,KAAK,iCAAiC;gBAClC,OAAO,IAAI,WAAG,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YACjD,KAAK,yDAAyD;gBAC1D,OAAO,IAAI,uBAAe,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YAC7D;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,qBAAqB,EAAE,OAAO,CAAC,CAAA;AAChF,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,SAAS,EAAE,iCAAiC,EAAE,OAAO,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../machinelearning/index.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAK7B,QAAA,KAAK,GAAmC,IAAW,CAAC;AACjE,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;AAIpD,QAAA,OAAO,GAAuC,IAAW,CAAC;AACvE,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;AAIxD,QAAA,GAAG,GAA+B,IAAW,CAAC;AAC3D,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AAIhD,QAAA,eAAe,GAAuD,IAAW,CAAC;AAC/F,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC;AAGrF,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,qCAAqC;gBACtC,OAAO,IAAI,aAAK,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YACnD,KAAK,yCAAyC;gBAC1C,OAAO,IAAI,eAAO,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YACrD,KAAK,iCAAiC;gBAClC,OAAO,IAAI,WAAG,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YACjD,KAAK,yDAAyD;gBAC1D,OAAO,IAAI,uBAAe,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YAC7D;gBACI,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;SACxD;IACL,CAAC;CACJ,CAAC;AACF,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,SAAS,EAAE,uBAAuB,EAAE,OAAO,CAAC,CAAA;AAClF,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,SAAS,EAAE,yBAAyB,EAAE,OAAO,CAAC,CAAA;AACpF,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,SAAS,EAAE,qBAAqB,EAAE,OAAO,CAAC,CAAA;AAChF,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,SAAS,EAAE,iCAAiC,EAAE,OAAO,CAAC,CAAA"}
|
package/machinelearning/job.d.ts
CHANGED
|
@@ -2,6 +2,131 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
2
2
|
/**
|
|
3
3
|
* A job defines the queries and model parameters for a machine learning task.
|
|
4
4
|
*
|
|
5
|
+
* ## Example Usage
|
|
6
|
+
*
|
|
7
|
+
* ### Basic Forecast
|
|
8
|
+
*
|
|
9
|
+
* This forecast uses a Prometheus datasource, where the source query is defined in the `expr` field of the `queryParams` attribute.
|
|
10
|
+
*
|
|
11
|
+
* Other datasources are supported, but the structure `queryParams` may differ.
|
|
12
|
+
*
|
|
13
|
+
* ```typescript
|
|
14
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
15
|
+
* import * as grafana from "@pulumiverse/grafana";
|
|
16
|
+
*
|
|
17
|
+
* const foo = new grafana.oss.DataSource("foo", {
|
|
18
|
+
* type: "prometheus",
|
|
19
|
+
* name: "prometheus-ds-test",
|
|
20
|
+
* uid: "prometheus-ds-test-uid",
|
|
21
|
+
* url: "https://my-instance.com",
|
|
22
|
+
* basicAuthEnabled: true,
|
|
23
|
+
* basicAuthUsername: "username",
|
|
24
|
+
* jsonDataEncoded: JSON.stringify({
|
|
25
|
+
* httpMethod: "POST",
|
|
26
|
+
* prometheusType: "Mimir",
|
|
27
|
+
* prometheusVersion: "2.4.0",
|
|
28
|
+
* }),
|
|
29
|
+
* secureJsonDataEncoded: JSON.stringify({
|
|
30
|
+
* basicAuthPassword: "password",
|
|
31
|
+
* }),
|
|
32
|
+
* });
|
|
33
|
+
* const testJob = new grafana.machinelearning.Job("test_job", {
|
|
34
|
+
* name: "Test Job",
|
|
35
|
+
* metric: "tf_test_job",
|
|
36
|
+
* datasourceType: "prometheus",
|
|
37
|
+
* datasourceUid: foo.uid,
|
|
38
|
+
* queryParams: {
|
|
39
|
+
* expr: "grafanacloud_grafana_instance_active_user_count",
|
|
40
|
+
* },
|
|
41
|
+
* });
|
|
42
|
+
* ```
|
|
43
|
+
*
|
|
44
|
+
* ### Tuned Forecast
|
|
45
|
+
*
|
|
46
|
+
* This forecast has tuned hyperparameters to improve the accuracy of the model.
|
|
47
|
+
*
|
|
48
|
+
* ```typescript
|
|
49
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
50
|
+
* import * as grafana from "@pulumiverse/grafana";
|
|
51
|
+
*
|
|
52
|
+
* const foo = new grafana.oss.DataSource("foo", {
|
|
53
|
+
* type: "prometheus",
|
|
54
|
+
* name: "prometheus-ds-test",
|
|
55
|
+
* uid: "prometheus-ds-test-uid",
|
|
56
|
+
* url: "https://my-instance.com",
|
|
57
|
+
* basicAuthEnabled: true,
|
|
58
|
+
* basicAuthUsername: "username",
|
|
59
|
+
* jsonDataEncoded: JSON.stringify({
|
|
60
|
+
* httpMethod: "POST",
|
|
61
|
+
* prometheusType: "Mimir",
|
|
62
|
+
* prometheusVersion: "2.4.0",
|
|
63
|
+
* }),
|
|
64
|
+
* secureJsonDataEncoded: JSON.stringify({
|
|
65
|
+
* basicAuthPassword: "password",
|
|
66
|
+
* }),
|
|
67
|
+
* });
|
|
68
|
+
* const testJob = new grafana.machinelearning.Job("test_job", {
|
|
69
|
+
* name: "Test Job",
|
|
70
|
+
* metric: "tf_test_job",
|
|
71
|
+
* datasourceType: "prometheus",
|
|
72
|
+
* datasourceUid: foo.uid,
|
|
73
|
+
* queryParams: {
|
|
74
|
+
* expr: "grafanacloud_grafana_instance_active_user_count",
|
|
75
|
+
* },
|
|
76
|
+
* hyperParams: {
|
|
77
|
+
* daily_seasonality: "15",
|
|
78
|
+
* weekly_seasonality: "10",
|
|
79
|
+
* },
|
|
80
|
+
* customLabels: {
|
|
81
|
+
* example_label: "example_value",
|
|
82
|
+
* },
|
|
83
|
+
* });
|
|
84
|
+
* ```
|
|
85
|
+
*
|
|
86
|
+
* ### Forecast with Holidays
|
|
87
|
+
*
|
|
88
|
+
* This forecast has holidays which will be taken into account when training the model.
|
|
89
|
+
*
|
|
90
|
+
* ```typescript
|
|
91
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
92
|
+
* import * as grafana from "@pulumiverse/grafana";
|
|
93
|
+
*
|
|
94
|
+
* const foo = new grafana.oss.DataSource("foo", {
|
|
95
|
+
* type: "prometheus",
|
|
96
|
+
* name: "prometheus-ds-test",
|
|
97
|
+
* uid: "prometheus-ds-test-uid",
|
|
98
|
+
* url: "https://my-instance.com",
|
|
99
|
+
* basicAuthEnabled: true,
|
|
100
|
+
* basicAuthUsername: "username",
|
|
101
|
+
* jsonDataEncoded: JSON.stringify({
|
|
102
|
+
* httpMethod: "POST",
|
|
103
|
+
* prometheusType: "Mimir",
|
|
104
|
+
* prometheusVersion: "2.4.0",
|
|
105
|
+
* }),
|
|
106
|
+
* secureJsonDataEncoded: JSON.stringify({
|
|
107
|
+
* basicAuthPassword: "password",
|
|
108
|
+
* }),
|
|
109
|
+
* });
|
|
110
|
+
* const testHoliday = new grafana.machinelearning.Holiday("test_holiday", {
|
|
111
|
+
* name: "Test Holiday",
|
|
112
|
+
* customPeriods: [{
|
|
113
|
+
* name: "First of January",
|
|
114
|
+
* startTime: "2023-01-01T00:00:00Z",
|
|
115
|
+
* endTime: "2023-01-02T00:00:00Z",
|
|
116
|
+
* }],
|
|
117
|
+
* });
|
|
118
|
+
* const testJob = new grafana.machinelearning.Job("test_job", {
|
|
119
|
+
* name: "Test Job",
|
|
120
|
+
* metric: "tf_test_job",
|
|
121
|
+
* datasourceType: "prometheus",
|
|
122
|
+
* datasourceUid: foo.uid,
|
|
123
|
+
* queryParams: {
|
|
124
|
+
* expr: "grafanacloud_grafana_instance_active_user_count",
|
|
125
|
+
* },
|
|
126
|
+
* holidays: [testHoliday.id],
|
|
127
|
+
* });
|
|
128
|
+
* ```
|
|
129
|
+
*
|
|
5
130
|
* ## Import
|
|
6
131
|
*
|
|
7
132
|
* ```sh
|
|
@@ -47,13 +172,14 @@ export declare class Job extends pulumi.CustomResource {
|
|
|
47
172
|
*/
|
|
48
173
|
readonly holidays: pulumi.Output<string[] | undefined>;
|
|
49
174
|
/**
|
|
50
|
-
* The hyperparameters used to fine tune the algorithm. See https://grafana.com/docs/grafana-cloud/machine-learning/models/
|
|
175
|
+
* The hyperparameters used to fine tune the algorithm. See https://grafana.com/docs/grafana-cloud/machine-learning/models/
|
|
176
|
+
* for the full list of available hyperparameters.
|
|
51
177
|
*/
|
|
52
178
|
readonly hyperParams: pulumi.Output<{
|
|
53
179
|
[key: string]: string;
|
|
54
180
|
} | undefined>;
|
|
55
181
|
/**
|
|
56
|
-
* The data interval in seconds to train the data on.
|
|
182
|
+
* The data interval in seconds to train the data on.
|
|
57
183
|
*/
|
|
58
184
|
readonly interval: pulumi.Output<number | undefined>;
|
|
59
185
|
/**
|
|
@@ -71,7 +197,7 @@ export declare class Job extends pulumi.CustomResource {
|
|
|
71
197
|
[key: string]: string;
|
|
72
198
|
}>;
|
|
73
199
|
/**
|
|
74
|
-
* The data interval in seconds to train the data on.
|
|
200
|
+
* The data interval in seconds to train the data on.
|
|
75
201
|
*/
|
|
76
202
|
readonly trainingWindow: pulumi.Output<number | undefined>;
|
|
77
203
|
/**
|
|
@@ -110,13 +236,14 @@ export interface JobState {
|
|
|
110
236
|
*/
|
|
111
237
|
holidays?: pulumi.Input<pulumi.Input<string>[]>;
|
|
112
238
|
/**
|
|
113
|
-
* The hyperparameters used to fine tune the algorithm. See https://grafana.com/docs/grafana-cloud/machine-learning/models/
|
|
239
|
+
* The hyperparameters used to fine tune the algorithm. See https://grafana.com/docs/grafana-cloud/machine-learning/models/
|
|
240
|
+
* for the full list of available hyperparameters.
|
|
114
241
|
*/
|
|
115
242
|
hyperParams?: pulumi.Input<{
|
|
116
243
|
[key: string]: pulumi.Input<string>;
|
|
117
244
|
}>;
|
|
118
245
|
/**
|
|
119
|
-
* The data interval in seconds to train the data on.
|
|
246
|
+
* The data interval in seconds to train the data on.
|
|
120
247
|
*/
|
|
121
248
|
interval?: pulumi.Input<number>;
|
|
122
249
|
/**
|
|
@@ -134,7 +261,7 @@ export interface JobState {
|
|
|
134
261
|
[key: string]: pulumi.Input<string>;
|
|
135
262
|
}>;
|
|
136
263
|
/**
|
|
137
|
-
* The data interval in seconds to train the data on.
|
|
264
|
+
* The data interval in seconds to train the data on.
|
|
138
265
|
*/
|
|
139
266
|
trainingWindow?: pulumi.Input<number>;
|
|
140
267
|
}
|
|
@@ -165,13 +292,14 @@ export interface JobArgs {
|
|
|
165
292
|
*/
|
|
166
293
|
holidays?: pulumi.Input<pulumi.Input<string>[]>;
|
|
167
294
|
/**
|
|
168
|
-
* The hyperparameters used to fine tune the algorithm. See https://grafana.com/docs/grafana-cloud/machine-learning/models/
|
|
295
|
+
* The hyperparameters used to fine tune the algorithm. See https://grafana.com/docs/grafana-cloud/machine-learning/models/
|
|
296
|
+
* for the full list of available hyperparameters.
|
|
169
297
|
*/
|
|
170
298
|
hyperParams?: pulumi.Input<{
|
|
171
299
|
[key: string]: pulumi.Input<string>;
|
|
172
300
|
}>;
|
|
173
301
|
/**
|
|
174
|
-
* The data interval in seconds to train the data on.
|
|
302
|
+
* The data interval in seconds to train the data on.
|
|
175
303
|
*/
|
|
176
304
|
interval?: pulumi.Input<number>;
|
|
177
305
|
/**
|
|
@@ -189,7 +317,7 @@ export interface JobArgs {
|
|
|
189
317
|
[key: string]: pulumi.Input<string>;
|
|
190
318
|
}>;
|
|
191
319
|
/**
|
|
192
|
-
* The data interval in seconds to train the data on.
|
|
320
|
+
* The data interval in seconds to train the data on.
|
|
193
321
|
*/
|
|
194
322
|
trainingWindow?: pulumi.Input<number>;
|
|
195
323
|
}
|
package/machinelearning/job.js
CHANGED
|
@@ -8,6 +8,131 @@ const utilities = require("../utilities");
|
|
|
8
8
|
/**
|
|
9
9
|
* A job defines the queries and model parameters for a machine learning task.
|
|
10
10
|
*
|
|
11
|
+
* ## Example Usage
|
|
12
|
+
*
|
|
13
|
+
* ### Basic Forecast
|
|
14
|
+
*
|
|
15
|
+
* This forecast uses a Prometheus datasource, where the source query is defined in the `expr` field of the `queryParams` attribute.
|
|
16
|
+
*
|
|
17
|
+
* Other datasources are supported, but the structure `queryParams` may differ.
|
|
18
|
+
*
|
|
19
|
+
* ```typescript
|
|
20
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
21
|
+
* import * as grafana from "@pulumiverse/grafana";
|
|
22
|
+
*
|
|
23
|
+
* const foo = new grafana.oss.DataSource("foo", {
|
|
24
|
+
* type: "prometheus",
|
|
25
|
+
* name: "prometheus-ds-test",
|
|
26
|
+
* uid: "prometheus-ds-test-uid",
|
|
27
|
+
* url: "https://my-instance.com",
|
|
28
|
+
* basicAuthEnabled: true,
|
|
29
|
+
* basicAuthUsername: "username",
|
|
30
|
+
* jsonDataEncoded: JSON.stringify({
|
|
31
|
+
* httpMethod: "POST",
|
|
32
|
+
* prometheusType: "Mimir",
|
|
33
|
+
* prometheusVersion: "2.4.0",
|
|
34
|
+
* }),
|
|
35
|
+
* secureJsonDataEncoded: JSON.stringify({
|
|
36
|
+
* basicAuthPassword: "password",
|
|
37
|
+
* }),
|
|
38
|
+
* });
|
|
39
|
+
* const testJob = new grafana.machinelearning.Job("test_job", {
|
|
40
|
+
* name: "Test Job",
|
|
41
|
+
* metric: "tf_test_job",
|
|
42
|
+
* datasourceType: "prometheus",
|
|
43
|
+
* datasourceUid: foo.uid,
|
|
44
|
+
* queryParams: {
|
|
45
|
+
* expr: "grafanacloud_grafana_instance_active_user_count",
|
|
46
|
+
* },
|
|
47
|
+
* });
|
|
48
|
+
* ```
|
|
49
|
+
*
|
|
50
|
+
* ### Tuned Forecast
|
|
51
|
+
*
|
|
52
|
+
* This forecast has tuned hyperparameters to improve the accuracy of the model.
|
|
53
|
+
*
|
|
54
|
+
* ```typescript
|
|
55
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
56
|
+
* import * as grafana from "@pulumiverse/grafana";
|
|
57
|
+
*
|
|
58
|
+
* const foo = new grafana.oss.DataSource("foo", {
|
|
59
|
+
* type: "prometheus",
|
|
60
|
+
* name: "prometheus-ds-test",
|
|
61
|
+
* uid: "prometheus-ds-test-uid",
|
|
62
|
+
* url: "https://my-instance.com",
|
|
63
|
+
* basicAuthEnabled: true,
|
|
64
|
+
* basicAuthUsername: "username",
|
|
65
|
+
* jsonDataEncoded: JSON.stringify({
|
|
66
|
+
* httpMethod: "POST",
|
|
67
|
+
* prometheusType: "Mimir",
|
|
68
|
+
* prometheusVersion: "2.4.0",
|
|
69
|
+
* }),
|
|
70
|
+
* secureJsonDataEncoded: JSON.stringify({
|
|
71
|
+
* basicAuthPassword: "password",
|
|
72
|
+
* }),
|
|
73
|
+
* });
|
|
74
|
+
* const testJob = new grafana.machinelearning.Job("test_job", {
|
|
75
|
+
* name: "Test Job",
|
|
76
|
+
* metric: "tf_test_job",
|
|
77
|
+
* datasourceType: "prometheus",
|
|
78
|
+
* datasourceUid: foo.uid,
|
|
79
|
+
* queryParams: {
|
|
80
|
+
* expr: "grafanacloud_grafana_instance_active_user_count",
|
|
81
|
+
* },
|
|
82
|
+
* hyperParams: {
|
|
83
|
+
* daily_seasonality: "15",
|
|
84
|
+
* weekly_seasonality: "10",
|
|
85
|
+
* },
|
|
86
|
+
* customLabels: {
|
|
87
|
+
* example_label: "example_value",
|
|
88
|
+
* },
|
|
89
|
+
* });
|
|
90
|
+
* ```
|
|
91
|
+
*
|
|
92
|
+
* ### Forecast with Holidays
|
|
93
|
+
*
|
|
94
|
+
* This forecast has holidays which will be taken into account when training the model.
|
|
95
|
+
*
|
|
96
|
+
* ```typescript
|
|
97
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
98
|
+
* import * as grafana from "@pulumiverse/grafana";
|
|
99
|
+
*
|
|
100
|
+
* const foo = new grafana.oss.DataSource("foo", {
|
|
101
|
+
* type: "prometheus",
|
|
102
|
+
* name: "prometheus-ds-test",
|
|
103
|
+
* uid: "prometheus-ds-test-uid",
|
|
104
|
+
* url: "https://my-instance.com",
|
|
105
|
+
* basicAuthEnabled: true,
|
|
106
|
+
* basicAuthUsername: "username",
|
|
107
|
+
* jsonDataEncoded: JSON.stringify({
|
|
108
|
+
* httpMethod: "POST",
|
|
109
|
+
* prometheusType: "Mimir",
|
|
110
|
+
* prometheusVersion: "2.4.0",
|
|
111
|
+
* }),
|
|
112
|
+
* secureJsonDataEncoded: JSON.stringify({
|
|
113
|
+
* basicAuthPassword: "password",
|
|
114
|
+
* }),
|
|
115
|
+
* });
|
|
116
|
+
* const testHoliday = new grafana.machinelearning.Holiday("test_holiday", {
|
|
117
|
+
* name: "Test Holiday",
|
|
118
|
+
* customPeriods: [{
|
|
119
|
+
* name: "First of January",
|
|
120
|
+
* startTime: "2023-01-01T00:00:00Z",
|
|
121
|
+
* endTime: "2023-01-02T00:00:00Z",
|
|
122
|
+
* }],
|
|
123
|
+
* });
|
|
124
|
+
* const testJob = new grafana.machinelearning.Job("test_job", {
|
|
125
|
+
* name: "Test Job",
|
|
126
|
+
* metric: "tf_test_job",
|
|
127
|
+
* datasourceType: "prometheus",
|
|
128
|
+
* datasourceUid: foo.uid,
|
|
129
|
+
* queryParams: {
|
|
130
|
+
* expr: "grafanacloud_grafana_instance_active_user_count",
|
|
131
|
+
* },
|
|
132
|
+
* holidays: [testHoliday.id],
|
|
133
|
+
* });
|
|
134
|
+
* ```
|
|
135
|
+
*
|
|
11
136
|
* ## Import
|
|
12
137
|
*
|
|
13
138
|
* ```sh
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job.js","sourceRoot":"","sources":["../../machinelearning/job.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAE1C
|
|
1
|
+
{"version":3,"file":"job.js","sourceRoot":"","sources":["../../machinelearning/job.ts"],"names":[],"mappings":"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"}
|