UNPKG

@pulumi/sumologic

Version:

A Pulumi package for creating and managing sumologic cloud resources.

222 lines (221 loc) 8.13 kB
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>; }