@pulumi/sumologic
Version:
A Pulumi package for creating and managing sumologic cloud resources.
222 lines (221 loc) • 8.13 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "./types/input";
import * as outputs from "./types/output";
/**
* Provides the ability to create, read, delete, and update [MutingSchedule](https://help.sumologic.com/docs/alerts/monitors/muting-schedules/).
*
* ## Example One-Time Muting Schedule From 12AM to 1AM on 2023-08-05 for All Monitors
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as sumologic from "@pulumi/sumologic";
*
* const mutingSchedule = new sumologic.MutingSchedule("muting_schedule", {
* name: "One-Time Schedule for All Monitors",
* type: "MutingSchedulesLibraryMutingSchedule",
* contentType: "MutingSchedule",
* monitor: {
* all: true,
* },
* schedule: {
* timezone: "America/Los_Angeles",
* startDate: "2023-08-05",
* startTime: "00:00",
* duration: 60,
* },
* });
* ```
*
* ## Example Daily Muting Schedule From 9AM to 10AM and 5PM to 6PM Starting On 2023-08-05 for a Monitor or Folder
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as sumologic from "@pulumi/sumologic";
*
* const mutingSchedule = new sumologic.MutingSchedule("muting_schedule", {
* name: "Daily schedule at 9am and 5pm for 30 minutes for all monitors",
* type: "MutingSchedulesLibraryMutingSchedule",
* contentType: "MutingSchedule",
* monitor: {
* ids: ["0000000000000002"],
* },
* schedule: {
* timezone: "America/Los_Angeles",
* startDate: "2023-08-05",
* startTime: "00:00",
* duration: 60,
* rrule: "FREQ=DAILY;INTERVAL=1;BYHOUR=9,17",
* },
* });
* ```
*
* ## Example Muting Schedule for an Alert Group on All Monitors Every 3rd Saturday from 12AM to 1AM
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as sumologic from "@pulumi/sumologic";
*
* const mutingSchedule = new sumologic.MutingSchedule("muting_schedule", {
* name: "Muting alerts from us-east-1 every 3rd saturday from 12AM to 1AM",
* type: "MutingSchedulesLibraryMutingSchedule",
* contentType: "MutingSchedule",
* monitor: {
* all: true,
* },
* notificationGroups: [{
* groupKey: "region",
* groupValues: ["us-east-1"],
* }],
* schedule: {
* timezone: "America/Los_Angeles",
* startDate: "2023-08-05",
* startTime: "00:00",
* duration: 60,
* rrule: "FREQ=MONTHLY;INTERVAL=1;BYDAY=+3SA",
* },
* });
* ```
*/
export declare class MutingSchedule extends pulumi.CustomResource {
/**
* Get an existing MutingSchedule resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param state Any extra arguments used during the lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: MutingScheduleState, opts?: pulumi.CustomResourceOptions): MutingSchedule;
/**
* Returns true if the given object is an instance of MutingSchedule. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is MutingSchedule;
/**
* The type of the content object. Valid value: `MutingSchedule`
*/
readonly contentType: pulumi.Output<string | undefined>;
readonly createdAt: pulumi.Output<string>;
readonly createdBy: pulumi.Output<string>;
/**
* Description of the muting schedule.
*/
readonly description: pulumi.Output<string | undefined>;
readonly isMutable: pulumi.Output<boolean>;
readonly isSystem: pulumi.Output<boolean>;
readonly modifiedAt: pulumi.Output<string>;
readonly modifiedBy: pulumi.Output<string>;
/**
* Monitor scope that the schedule applies to. See `Monitor Scope` for more details.
*/
readonly monitor: pulumi.Output<outputs.MutingScheduleMonitor | undefined>;
/**
* Name of the muting schedule.
*/
readonly name: pulumi.Output<string>;
/**
* Alert group scope that the schedule applies to. See `Group Scope` for more details.
*/
readonly notificationGroups: pulumi.Output<outputs.MutingScheduleNotificationGroup[] | undefined>;
readonly parentId: pulumi.Output<string>;
/**
* Schedule definition. See `Schedule Definition` for more details.
*/
readonly schedule: pulumi.Output<outputs.MutingScheduleSchedule>;
/**
* The type of object model. Valid value: `MutingSchedulesLibraryMutingSchedule`
*/
readonly type: pulumi.Output<string | undefined>;
readonly version: pulumi.Output<number>;
/**
* Create a MutingSchedule resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args: MutingScheduleArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering MutingSchedule resources.
*/
export interface MutingScheduleState {
/**
* The type of the content object. Valid value: `MutingSchedule`
*/
contentType?: pulumi.Input<string>;
createdAt?: pulumi.Input<string>;
createdBy?: pulumi.Input<string>;
/**
* Description of the muting schedule.
*/
description?: pulumi.Input<string>;
isMutable?: pulumi.Input<boolean>;
isSystem?: pulumi.Input<boolean>;
modifiedAt?: pulumi.Input<string>;
modifiedBy?: pulumi.Input<string>;
/**
* Monitor scope that the schedule applies to. See `Monitor Scope` for more details.
*/
monitor?: pulumi.Input<inputs.MutingScheduleMonitor>;
/**
* Name of the muting schedule.
*/
name?: pulumi.Input<string>;
/**
* Alert group scope that the schedule applies to. See `Group Scope` for more details.
*/
notificationGroups?: pulumi.Input<pulumi.Input<inputs.MutingScheduleNotificationGroup>[]>;
parentId?: pulumi.Input<string>;
/**
* Schedule definition. See `Schedule Definition` for more details.
*/
schedule?: pulumi.Input<inputs.MutingScheduleSchedule>;
/**
* The type of object model. Valid value: `MutingSchedulesLibraryMutingSchedule`
*/
type?: pulumi.Input<string>;
version?: pulumi.Input<number>;
}
/**
* The set of arguments for constructing a MutingSchedule resource.
*/
export interface MutingScheduleArgs {
/**
* The type of the content object. Valid value: `MutingSchedule`
*/
contentType?: pulumi.Input<string>;
createdAt?: pulumi.Input<string>;
createdBy?: pulumi.Input<string>;
/**
* Description of the muting schedule.
*/
description?: pulumi.Input<string>;
isMutable?: pulumi.Input<boolean>;
isSystem?: pulumi.Input<boolean>;
modifiedAt?: pulumi.Input<string>;
modifiedBy?: pulumi.Input<string>;
/**
* Monitor scope that the schedule applies to. See `Monitor Scope` for more details.
*/
monitor?: pulumi.Input<inputs.MutingScheduleMonitor>;
/**
* Name of the muting schedule.
*/
name?: pulumi.Input<string>;
/**
* Alert group scope that the schedule applies to. See `Group Scope` for more details.
*/
notificationGroups?: pulumi.Input<pulumi.Input<inputs.MutingScheduleNotificationGroup>[]>;
parentId?: pulumi.Input<string>;
/**
* Schedule definition. See `Schedule Definition` for more details.
*/
schedule: pulumi.Input<inputs.MutingScheduleSchedule>;
/**
* The type of object model. Valid value: `MutingSchedulesLibraryMutingSchedule`
*/
type?: pulumi.Input<string>;
version?: pulumi.Input<number>;
}