import * as pulumi from "@pulumi/pulumi"; /** * Provides a Datadog - PagerDuty resource. This can be used to create and manage Datadog - PagerDuty integration. See also [PagerDuty Integration Guide](https://www.pagerduty.com/docs/guides/datadog-integration-guide/). * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as datadog from "@pulumi/datadog"; * * // Note: Until terraform-provider-datadog version 2.1.0, service objects under the services key were specified inside the datadog_integration_pagerduty resource. This was incompatible with multi-configuration-file setups, where users wanted to have individual service objects controlled from different Terraform configuration files. The recommended approach now is specifying service objects as individual resources using datadog_integration_pagerduty_service_object. * // Services as Individual Resources * const pd = new datadog.pagerduty.Integration("pd", { * schedules: [ * "https://ddog.pagerduty.com/schedules/X123VF", * "https://ddog.pagerduty.com/schedules/X321XX", * ], * subdomain: "ddog", * apiToken: "38457822378273432587234242874", * }); * const testingFoo = new datadog.pagerduty.ServiceObject("testing_foo", { * serviceName: "testing_foo", * serviceKey: "9876543210123456789", * }, { * dependsOn: [pd], * }); * const testingBar = new datadog.pagerduty.ServiceObject("testing_bar", { * serviceName: "testing_bar", * serviceKey: "54321098765432109876", * }, { * dependsOn: [pd], * }); * ``` */ export declare class Integration extends pulumi.CustomResource { /** * Get an existing Integration 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?: IntegrationState, opts?: pulumi.CustomResourceOptions): Integration; /** * Returns true if the given object is an instance of Integration. 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 Integration; /** * Your PagerDuty API token. */ readonly apiToken: pulumi.Output; /** * Array of your schedule URLs. */ readonly schedules: pulumi.Output; /** * Your PagerDuty account’s personalized subdomain name. */ readonly subdomain: pulumi.Output; /** * Create a Integration 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: IntegrationArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Integration resources. */ export interface IntegrationState { /** * Your PagerDuty API token. */ apiToken?: pulumi.Input; /** * Array of your schedule URLs. */ schedules?: pulumi.Input[]>; /** * Your PagerDuty account’s personalized subdomain name. */ subdomain?: pulumi.Input; } /** * The set of arguments for constructing a Integration resource. */ export interface IntegrationArgs { /** * Your PagerDuty API token. */ apiToken?: pulumi.Input; /** * Array of your schedule URLs. */ schedules?: pulumi.Input[]>; /** * Your PagerDuty account’s personalized subdomain name. */ subdomain: pulumi.Input; }