import * as pulumi from "@pulumi/pulumi"; /** * Provides a Fastly integration. Fastly will use these integrations to send you notifications and alerts related to the Fastly product. Mailing list, Microsoft Teams, New Relic, PagerDuty, Slack, and webhook are supported as integrations. * * > **IMPORTANT:** The mailing list integrations require confirmation. To send a confirmation email and verify integration status, after applying changes using Terraform, please visit https://manage.fastly.com/observability/alerts/integrations * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as fastly from "@pulumi/fastly"; * * const mailinglistExample = new fastly.Integration("mailinglist_example", { * name: "my mailing list integration", * description: "example mailing list integration", * type: "mailinglist", * config: { * address: "incoming-hook@my.domain.com", * }, * }); * const microsoftteamsExample = new fastly.Integration("microsoftteams_example", { * name: "my Microsoft Teams integration", * description: "example Microsoft Teams integration", * type: "microsoftteams", * config: { * webhook: "https://m365x012345.webhook.office.com", * }, * }); * const newrelicExample = new fastly.Integration("newrelic_example", { * name: "my New Relic integration", * description: "example New Relic integration", * type: "newrelic", * config: { * account: "XXXXXXX", * key: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", * }, * }); * const pagerdutyExample = new fastly.Integration("pagerduty_example", { * name: "my PagerDuty integration", * description: "example PagerDuty integration", * type: "pagerduty", * config: { * key: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", * }, * }); * const slackExample = new fastly.Integration("slack_example", { * name: "my Slack integration", * description: "example Slack integration", * type: "slack", * config: { * webhook: "https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX", * }, * }); * const webhookExample = new fastly.Integration("webhook_example", { * name: "my webhook integration", * description: "example webhook integration", * type: "webhook", * config: { * webhook: "https://my.domain.com/webhook", * }, * }); * ``` */ 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; /** * Configuration specific to the integration `type` (see documentation examples). */ readonly config: pulumi.Output<{ [key: string]: string; }>; /** * User submitted description of the integration. */ readonly description: pulumi.Output; /** * User submitted name of the integration. */ readonly name: pulumi.Output; /** * Type of the integration. One of: `mailinglist`, `microsoftteams`, `newrelic`, `pagerduty`, `slack`, `webhook`. */ readonly type: 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 { /** * Configuration specific to the integration `type` (see documentation examples). */ config?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * User submitted description of the integration. */ description?: pulumi.Input; /** * User submitted name of the integration. */ name?: pulumi.Input; /** * Type of the integration. One of: `mailinglist`, `microsoftteams`, `newrelic`, `pagerduty`, `slack`, `webhook`. */ type?: pulumi.Input; } /** * The set of arguments for constructing a Integration resource. */ export interface IntegrationArgs { /** * Configuration specific to the integration `type` (see documentation examples). */ config: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * User submitted description of the integration. */ description?: pulumi.Input; /** * User submitted name of the integration. */ name?: pulumi.Input; /** * Type of the integration. One of: `mailinglist`, `microsoftteams`, `newrelic`, `pagerduty`, `slack`, `webhook`. */ type: pulumi.Input; } //# sourceMappingURL=integration.d.ts.map