import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * A [notification rule](https://developer.pagerduty.com/api-reference/b3A6Mjc0ODI0NQ-create-a-user-notification-rule) configures where and when a PagerDuty user is notified when a triggered incident is assigned to them. Unique notification rules can be created for both high and low-urgency incidents. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as pagerduty from "@pulumi/pagerduty"; * * const example = new pagerduty.User("example", { * name: "Earline Greenholt", * email: "125.greenholt.earline@graham.name", * }); * const email = new pagerduty.UserContactMethod("email", { * userId: example.id, * type: "email_contact_method", * address: "foo@bar.com", * label: "Work", * }); * const phone = new pagerduty.UserContactMethod("phone", { * userId: example.id, * type: "phone_contact_method", * countryCode: 1, * address: "2025550199", * label: "Work", * }); * const sms = new pagerduty.UserContactMethod("sms", { * userId: example.id, * type: "sms_contact_method", * countryCode: 1, * address: "2025550199", * label: "Work", * }); * const highUrgencyPhone = new pagerduty.UserNotificationRule("high_urgency_phone", { * userId: example.id, * startDelayInMinutes: 1, * urgency: "high", * contactMethod: { * type: "phone_contact_method", * id: phone.id, * }, * }); * const lowUrgencyEmail = new pagerduty.UserNotificationRule("low_urgency_email", { * userId: example.id, * startDelayInMinutes: 1, * urgency: "low", * contactMethod: { * type: "email_contact_method", * id: email.id, * }, * }); * const lowUrgencySms = new pagerduty.UserNotificationRule("low_urgency_sms", { * userId: example.id, * startDelayInMinutes: 10, * urgency: "low", * contactMethod: { * type: "sms_contact_method", * id: sms.id, * }, * }); * ``` * * ## Import * * User notification rules can be imported using the `userId` and the `id`, e.g. * * ```sh * $ pulumi import pagerduty:index/userNotificationRule:UserNotificationRule main PXPGF42:PPSCXAN * ``` */ export declare class UserNotificationRule extends pulumi.CustomResource { /** * Get an existing UserNotificationRule 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, state?: UserNotificationRuleState, opts?: pulumi.CustomResourceOptions): UserNotificationRule; /** * Returns true if the given object is an instance of UserNotificationRule. 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 UserNotificationRule; /** * A contact method block, configured as a block described below. */ readonly contactMethod: pulumi.Output; /** * The delay before firing the rule, in minutes. */ readonly startDelayInMinutes: pulumi.Output; /** * Which incident urgency this rule is used for. Account must have the `urgencies` ability to have a low urgency notification rule. Can be `high` or `low`. */ readonly urgency: pulumi.Output; /** * The ID of the user. */ readonly userId: pulumi.Output; /** * Create a UserNotificationRule 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: UserNotificationRuleArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering UserNotificationRule resources. */ export interface UserNotificationRuleState { /** * A contact method block, configured as a block described below. */ contactMethod?: pulumi.Input; /** * The delay before firing the rule, in minutes. */ startDelayInMinutes?: pulumi.Input; /** * Which incident urgency this rule is used for. Account must have the `urgencies` ability to have a low urgency notification rule. Can be `high` or `low`. */ urgency?: pulumi.Input; /** * The ID of the user. */ userId?: pulumi.Input; } /** * The set of arguments for constructing a UserNotificationRule resource. */ export interface UserNotificationRuleArgs { /** * A contact method block, configured as a block described below. */ contactMethod?: pulumi.Input; /** * The delay before firing the rule, in minutes. */ startDelayInMinutes: pulumi.Input; /** * Which incident urgency this rule is used for. Account must have the `urgencies` ability to have a low urgency notification rule. Can be `high` or `low`. */ urgency: pulumi.Input; /** * The ID of the user. */ userId: pulumi.Input; }