import * as pulumi from "@pulumi/pulumi"; /** * A special case for [extension](https://developer.pagerduty.com/api-reference/b3A6Mjc0ODEzMw-create-an-extension) for ServiceNow. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as pagerduty from "@pulumi/pagerduty"; * * const servicenow = pagerduty.getExtensionSchema({ * name: "ServiceNow (v7)", * }); * const example = new pagerduty.User("example", { * name: "Howard James", * email: "howard.james@example.domain", * }); * const exampleEscalationPolicy = new pagerduty.EscalationPolicy("example", { * name: "Engineering Escalation Policy", * numLoops: 2, * rules: [{ * escalationDelayInMinutes: 10, * targets: [{ * type: "user", * id: example.id, * }], * }], * }); * const exampleService = new pagerduty.Service("example", { * name: "My Web App", * autoResolveTimeout: "14400", * acknowledgementTimeout: "600", * escalationPolicy: exampleEscalationPolicy.id, * }); * const snow = new pagerduty.ExtensionServiceNow("snow", { * name: "My Web App Extension", * extensionSchema: servicenow.then(servicenow => servicenow.id), * extensionObjects: [exampleService.id], * snowUser: "meeps", * snowPassword: "zorz", * syncOptions: "manual_sync", * target: "https://foo.servicenow.com/webhook_foo", * taskType: "incident", * referer: "None", * }); * ``` * * ## Import * * Extensions can be imported using the id.e.g. * * ```sh * $ pulumi import pagerduty:index/extensionServiceNow:ExtensionServiceNow main PLBP09X * ``` */ export declare class ExtensionServiceNow extends pulumi.CustomResource { /** * Get an existing ExtensionServiceNow 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?: ExtensionServiceNowState, opts?: pulumi.CustomResourceOptions): ExtensionServiceNow; /** * Returns true if the given object is an instance of ExtensionServiceNow. 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 ExtensionServiceNow; readonly endpointUrl: pulumi.Output; /** * This is the objects for which the extension applies (An array of service ids). */ readonly extensionObjects: pulumi.Output; /** * This is the schema for this extension. */ readonly extensionSchema: pulumi.Output; /** * URL at which the entity is uniquely displayed in the Web app. */ readonly htmlUrl: pulumi.Output; /** * The name of the service extension. */ readonly name: pulumi.Output; /** * The ServiceNow referer. */ readonly referer: pulumi.Output; /** * The ServiceNow password. */ readonly snowPassword: pulumi.Output; /** * The ServiceNow username. */ readonly snowUser: pulumi.Output; /** * A short-form, server-generated string that provides succinct, important information about an object suitable for primary labeling of an entity in a client. In many cases, this will be identical to `name`, though it is not intended to be an identifier. */ readonly summary: pulumi.Output; /** * The ServiceNow sync option. */ readonly syncOptions: pulumi.Output; /** * Target Webhook URL. */ readonly target: pulumi.Output; /** * The ServiceNow task type, typically `incident`. */ readonly taskType: pulumi.Output; readonly type: pulumi.Output; /** * Create a ExtensionServiceNow 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: ExtensionServiceNowArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering ExtensionServiceNow resources. */ export interface ExtensionServiceNowState { endpointUrl?: pulumi.Input; /** * This is the objects for which the extension applies (An array of service ids). */ extensionObjects?: pulumi.Input[]>; /** * This is the schema for this extension. */ extensionSchema?: pulumi.Input; /** * URL at which the entity is uniquely displayed in the Web app. */ htmlUrl?: pulumi.Input; /** * The name of the service extension. */ name?: pulumi.Input; /** * The ServiceNow referer. */ referer?: pulumi.Input; /** * The ServiceNow password. */ snowPassword?: pulumi.Input; /** * The ServiceNow username. */ snowUser?: pulumi.Input; /** * A short-form, server-generated string that provides succinct, important information about an object suitable for primary labeling of an entity in a client. In many cases, this will be identical to `name`, though it is not intended to be an identifier. */ summary?: pulumi.Input; /** * The ServiceNow sync option. */ syncOptions?: pulumi.Input; /** * Target Webhook URL. */ target?: pulumi.Input; /** * The ServiceNow task type, typically `incident`. */ taskType?: pulumi.Input; type?: pulumi.Input; } /** * The set of arguments for constructing a ExtensionServiceNow resource. */ export interface ExtensionServiceNowArgs { endpointUrl?: pulumi.Input; /** * This is the objects for which the extension applies (An array of service ids). */ extensionObjects: pulumi.Input[]>; /** * This is the schema for this extension. */ extensionSchema: pulumi.Input; /** * The name of the service extension. */ name?: pulumi.Input; /** * The ServiceNow referer. */ referer: pulumi.Input; /** * The ServiceNow password. */ snowPassword: pulumi.Input; /** * The ServiceNow username. */ snowUser: pulumi.Input; /** * A short-form, server-generated string that provides succinct, important information about an object suitable for primary labeling of an entity in a client. In many cases, this will be identical to `name`, though it is not intended to be an identifier. */ summary?: pulumi.Input; /** * The ServiceNow sync option. */ syncOptions: pulumi.Input; /** * Target Webhook URL. */ target: pulumi.Input; /** * The ServiceNow task type, typically `incident`. */ taskType: pulumi.Input; type?: pulumi.Input; }