@pulumi/pagerduty
Version:
A Pulumi package for creating and managing pagerduty cloud resources.
123 lines (122 loc) • 4.13 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
/**
* Use this data source to get information about a specific [extension](https://developer.pagerduty.com/api-reference/b3A6Mjc0ODEzMA-list-extension-schemas) vendor that you can use for a service (e.g: Slack, Generic Webhook, ServiceNow).
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as pagerduty from "@pulumi/pagerduty";
*
* const webhook = pagerduty.getExtensionSchema({
* name: "Generic V2 Webhook",
* });
* const example = new pagerduty.User("example", {
* name: "Howard James",
* email: "howard.james@example.domain",
* teams: [examplePagerdutyTeam.id],
* });
* const foo = new pagerduty.EscalationPolicy("foo", {
* 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: examplePagerdutyEscalationPolicy.id,
* });
* const slack = new pagerduty.Extension("slack", {
* name: "My Web App Extension",
* endpointUrl: "https://generic_webhook_url/XXXXXX/BBBBBB",
* extensionSchema: webhook.then(webhook => webhook.id),
* extensionObjects: [exampleService.id],
* });
* ```
*/
export declare function getExtensionSchema(args: GetExtensionSchemaArgs, opts?: pulumi.InvokeOptions): Promise<GetExtensionSchemaResult>;
/**
* A collection of arguments for invoking getExtensionSchema.
*/
export interface GetExtensionSchemaArgs {
/**
* The extension name to use to find an extension vendor in the PagerDuty API.
*/
name: string;
}
/**
* A collection of values returned by getExtensionSchema.
*/
export interface GetExtensionSchemaResult {
/**
* The ID of the found extension vendor.
*/
readonly id: string;
/**
* The short name of the found extension vendor.
*/
readonly name: string;
/**
* The generic service type for this extension vendor.
*/
readonly type: string;
}
/**
* Use this data source to get information about a specific [extension](https://developer.pagerduty.com/api-reference/b3A6Mjc0ODEzMA-list-extension-schemas) vendor that you can use for a service (e.g: Slack, Generic Webhook, ServiceNow).
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as pagerduty from "@pulumi/pagerduty";
*
* const webhook = pagerduty.getExtensionSchema({
* name: "Generic V2 Webhook",
* });
* const example = new pagerduty.User("example", {
* name: "Howard James",
* email: "howard.james@example.domain",
* teams: [examplePagerdutyTeam.id],
* });
* const foo = new pagerduty.EscalationPolicy("foo", {
* 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: examplePagerdutyEscalationPolicy.id,
* });
* const slack = new pagerduty.Extension("slack", {
* name: "My Web App Extension",
* endpointUrl: "https://generic_webhook_url/XXXXXX/BBBBBB",
* extensionSchema: webhook.then(webhook => webhook.id),
* extensionObjects: [exampleService.id],
* });
* ```
*/
export declare function getExtensionSchemaOutput(args: GetExtensionSchemaOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetExtensionSchemaResult>;
/**
* A collection of arguments for invoking getExtensionSchema.
*/
export interface GetExtensionSchemaOutputArgs {
/**
* The extension name to use to find an extension vendor in the PagerDuty API.
*/
name: pulumi.Input<string>;
}