@pulumiverse/scaleway
Version:
A Pulumi package for creating and managing Scaleway cloud resources.
169 lines • 6.71 kB
JavaScript
;
// *** WARNING: this file was generated by pulumi-language-nodejs. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getPreconfiguredAlertOutput = exports.getPreconfiguredAlert = void 0;
const pulumi = __importStar(require("@pulumi/pulumi"));
const utilities = __importStar(require("../utilities"));
/**
* Gets information about preconfigured alert rules available in Scaleway Cockpit.
*
* Preconfigured alerts are ready-to-use alert rules that monitor common metrics for Scaleway services.
* You can enable these alerts in your Alert Manager using the `scaleway.observability.AlertManager` resource.
*
* For more information, refer to Cockpit's [product documentation](https://www.scaleway.com/en/docs/observability/cockpit/concepts/) and [API documentation](https://www.scaleway.com/en/developers/api/cockpit/regional-api).
*
* ## Example Usage
*
* ### Basic usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as scaleway from "@pulumiverse/scaleway";
*
* const main = scaleway.observability.getPreconfiguredAlert({
* projectId: project.id,
* });
* export const availableAlerts = main.then(main => main.alerts);
* ```
*
* ### Filter by status
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as scaleway from "@pulumiverse/scaleway";
*
* const enabled = scaleway.observability.getPreconfiguredAlert({
* projectId: project.id,
* ruleStatus: "enabled",
* });
* const disabled = scaleway.observability.getPreconfiguredAlert({
* projectId: project.id,
* ruleStatus: "disabled",
* });
* ```
*
* ### Use with Alert Manager
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as scaleway from "@pulumiverse/scaleway";
*
* const project = new scaleway.account.Project("project", {name: "my-observability-project"});
* const main = new scaleway.observability.Cockpit("main", {projectId: project.id});
* const all = scaleway.observability.getPreconfiguredAlertOutput({
* projectId: main.projectId,
* });
* const mainAlertManager = new scaleway.observability.AlertManager("main", {
* projectId: main.projectId,
* preconfiguredAlertIds: all.apply(all => .filter(alert => alert.productName == "instance" && alert.ruleStatus == "disabled").map(alert => (alert.preconfiguredRuleId))),
* contactPoints: [{
* email: "alerts@example.com",
* }],
* });
* ```
*/
function getPreconfiguredAlert(args, opts) {
args = args || {};
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
return pulumi.runtime.invoke("scaleway:observability/getPreconfiguredAlert:getPreconfiguredAlert", {
"dataSourceId": args.dataSourceId,
"projectId": args.projectId,
"region": args.region,
"ruleStatus": args.ruleStatus,
}, opts);
}
exports.getPreconfiguredAlert = getPreconfiguredAlert;
/**
* Gets information about preconfigured alert rules available in Scaleway Cockpit.
*
* Preconfigured alerts are ready-to-use alert rules that monitor common metrics for Scaleway services.
* You can enable these alerts in your Alert Manager using the `scaleway.observability.AlertManager` resource.
*
* For more information, refer to Cockpit's [product documentation](https://www.scaleway.com/en/docs/observability/cockpit/concepts/) and [API documentation](https://www.scaleway.com/en/developers/api/cockpit/regional-api).
*
* ## Example Usage
*
* ### Basic usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as scaleway from "@pulumiverse/scaleway";
*
* const main = scaleway.observability.getPreconfiguredAlert({
* projectId: project.id,
* });
* export const availableAlerts = main.then(main => main.alerts);
* ```
*
* ### Filter by status
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as scaleway from "@pulumiverse/scaleway";
*
* const enabled = scaleway.observability.getPreconfiguredAlert({
* projectId: project.id,
* ruleStatus: "enabled",
* });
* const disabled = scaleway.observability.getPreconfiguredAlert({
* projectId: project.id,
* ruleStatus: "disabled",
* });
* ```
*
* ### Use with Alert Manager
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as scaleway from "@pulumiverse/scaleway";
*
* const project = new scaleway.account.Project("project", {name: "my-observability-project"});
* const main = new scaleway.observability.Cockpit("main", {projectId: project.id});
* const all = scaleway.observability.getPreconfiguredAlertOutput({
* projectId: main.projectId,
* });
* const mainAlertManager = new scaleway.observability.AlertManager("main", {
* projectId: main.projectId,
* preconfiguredAlertIds: all.apply(all => .filter(alert => alert.productName == "instance" && alert.ruleStatus == "disabled").map(alert => (alert.preconfiguredRuleId))),
* contactPoints: [{
* email: "alerts@example.com",
* }],
* });
* ```
*/
function getPreconfiguredAlertOutput(args, opts) {
args = args || {};
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
return pulumi.runtime.invokeOutput("scaleway:observability/getPreconfiguredAlert:getPreconfiguredAlert", {
"dataSourceId": args.dataSourceId,
"projectId": args.projectId,
"region": args.region,
"ruleStatus": args.ruleStatus,
}, opts);
}
exports.getPreconfiguredAlertOutput = getPreconfiguredAlertOutput;
//# sourceMappingURL=getPreconfiguredAlert.js.map