UNPKG

@pulumi/pagerduty

Version:

A Pulumi package for creating and managing pagerduty cloud resources.

125 lines (124 loc) 4.61 kB
import * as pulumi from "@pulumi/pulumi"; /** * Use this data source to get information about a specific [vendor](https://developer.pagerduty.com/api-reference/b3A6Mjc0ODI1OQ-list-vendors) that you can use for a service integration (e.g. Amazon Cloudwatch, Splunk, Datadog). * * > For the case of vendors that rely on [Change Events](https://support.pagerduty.com/docs/change-events) (e.g. Jekings CI, Github, Gitlab, ...) is important to know that those vendors are only available with [PagerDuty AIOps](https://support.pagerduty.com/docs/aiops) add-on. Therefore, they won't be accessible as result of `pagerduty.getVendor` data source without the proper entitlements. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as pagerduty from "@pulumi/pagerduty"; * * const datadog = pagerduty.getVendor({ * name: "Datadog", * }); * const example = new pagerduty.User("example", { * name: "Earline Greenholt", * email: "125.greenholt.earline@graham.name", * 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 exampleServiceIntegration = new pagerduty.ServiceIntegration("example", { * name: "Datadog Integration", * vendor: datadog.then(datadog => datadog.id), * service: exampleService.id, * }); * ``` */ export declare function getVendor(args: GetVendorArgs, opts?: pulumi.InvokeOptions): Promise<GetVendorResult>; /** * A collection of arguments for invoking getVendor. */ export interface GetVendorArgs { /** * The vendor name to use to find a vendor in the PagerDuty API. */ name: string; } /** * A collection of values returned by getVendor. */ export interface GetVendorResult { /** * The ID of the found vendor. */ readonly id: string; /** * The short name of the found vendor. */ readonly name: string; /** * The generic service type for this vendor. */ readonly type: string; } /** * Use this data source to get information about a specific [vendor](https://developer.pagerduty.com/api-reference/b3A6Mjc0ODI1OQ-list-vendors) that you can use for a service integration (e.g. Amazon Cloudwatch, Splunk, Datadog). * * > For the case of vendors that rely on [Change Events](https://support.pagerduty.com/docs/change-events) (e.g. Jekings CI, Github, Gitlab, ...) is important to know that those vendors are only available with [PagerDuty AIOps](https://support.pagerduty.com/docs/aiops) add-on. Therefore, they won't be accessible as result of `pagerduty.getVendor` data source without the proper entitlements. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as pagerduty from "@pulumi/pagerduty"; * * const datadog = pagerduty.getVendor({ * name: "Datadog", * }); * const example = new pagerduty.User("example", { * name: "Earline Greenholt", * email: "125.greenholt.earline@graham.name", * 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 exampleServiceIntegration = new pagerduty.ServiceIntegration("example", { * name: "Datadog Integration", * vendor: datadog.then(datadog => datadog.id), * service: exampleService.id, * }); * ``` */ export declare function getVendorOutput(args: GetVendorOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetVendorResult>; /** * A collection of arguments for invoking getVendor. */ export interface GetVendorOutputArgs { /** * The vendor name to use to find a vendor in the PagerDuty API. */ name: pulumi.Input<string>; }