UNPKG

@pulumi/pagerduty

Version:

A Pulumi package for creating and managing pagerduty cloud resources.

146 lines 6.2 kB
"use strict"; // *** 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.UserContactMethod = void 0; const pulumi = __importStar(require("@pulumi/pulumi")); const utilities = __importStar(require("./utilities")); /** * > This resource behaves a little differently than may be expected. If the defined contact method already exists for the user in PagerDuty this resource will import the values of the existing contact method into your Terraform state. * * A [contact method](https://developer.pagerduty.com/api-reference/b3A6Mjc0ODI0MA-create-a-user-contact-method) is a contact method for a PagerDuty user (email, phone or SMS). * * ## 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", * teams: [examplePagerdutyTeam.id], * }); * 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", * }); * ``` * * ## Import * * Contact methods can be imported using the `userId` and the `id`, e.g. * * ```sh * $ pulumi import pagerduty:index/userContactMethod:UserContactMethod main PLBP09X:PLBP09X * ``` */ class UserContactMethod extends pulumi.CustomResource { /** * Get an existing UserContactMethod 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, id, state, opts) { return new UserContactMethod(name, state, { ...opts, id: id }); } /** @internal */ static __pulumiType = 'pagerduty:index/userContactMethod:UserContactMethod'; /** * Returns true if the given object is an instance of UserContactMethod. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj) { if (obj === undefined || obj === null) { return false; } return obj['__pulumiType'] === UserContactMethod.__pulumiType; } constructor(name, argsOrState, opts) { let resourceInputs = {}; opts = opts || {}; if (opts.id) { const state = argsOrState; resourceInputs["address"] = state?.address; resourceInputs["blacklisted"] = state?.blacklisted; resourceInputs["countryCode"] = state?.countryCode; resourceInputs["deviceType"] = state?.deviceType; resourceInputs["enabled"] = state?.enabled; resourceInputs["label"] = state?.label; resourceInputs["sendShortEmail"] = state?.sendShortEmail; resourceInputs["type"] = state?.type; resourceInputs["userId"] = state?.userId; } else { const args = argsOrState; if (args?.address === undefined && !opts.urn) { throw new Error("Missing required property 'address'"); } if (args?.label === undefined && !opts.urn) { throw new Error("Missing required property 'label'"); } if (args?.type === undefined && !opts.urn) { throw new Error("Missing required property 'type'"); } if (args?.userId === undefined && !opts.urn) { throw new Error("Missing required property 'userId'"); } resourceInputs["address"] = args?.address; resourceInputs["countryCode"] = args?.countryCode; resourceInputs["deviceType"] = args?.deviceType; resourceInputs["label"] = args?.label; resourceInputs["sendShortEmail"] = args?.sendShortEmail; resourceInputs["type"] = args?.type; resourceInputs["userId"] = args?.userId; resourceInputs["blacklisted"] = undefined /*out*/; resourceInputs["enabled"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(UserContactMethod.__pulumiType, name, resourceInputs, opts); } } exports.UserContactMethod = UserContactMethod; //# sourceMappingURL=userContactMethod.js.map