UNPKG

@pulumi/opsgenie

Version:

A Pulumi package for creating and managing opsgenie cloud resources.

178 lines (177 loc) 7.73 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * Manages an API Integration within Opsgenie. * * ## Import * * API Integrations can be imported using the `integration_id`, e.g. * * ```sh * $ pulumi import opsgenie:index/apiIntegration:ApiIntegration this integration_id` * ``` */ export declare class ApiIntegration extends pulumi.CustomResource { /** * Get an existing ApiIntegration 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<pulumi.ID>, state?: ApiIntegrationState, opts?: pulumi.CustomResourceOptions): ApiIntegration; /** * Returns true if the given object is an instance of ApiIntegration. 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 ApiIntegration; readonly allowConfigurationAccess: pulumi.Output<boolean | undefined>; /** * This parameter is for configuring the write access of integration. If write access is restricted, the integration will not be authorized to write within any domain. Default: `true`. */ readonly allowWriteAccess: pulumi.Output<boolean | undefined>; /** * (Computed) API key of the created integration */ readonly apiKey: pulumi.Output<string>; /** * This parameter is for specifying whether the integration will be enabled or not. Default: `true` */ readonly enabled: pulumi.Output<boolean | undefined>; readonly headers: pulumi.Output<{ [key: string]: string; } | undefined>; /** * If enabled, the integration will ignore recipients sent in request payloads. Default: `false`. */ readonly ignoreRespondersFromPayload: pulumi.Output<boolean | undefined>; /** * Name of the integration. Name must be unique for each integration. */ readonly name: pulumi.Output<string>; /** * Owner team id of the integration. If changed, this will recreate a new API integration, which will probably have a different API key. */ readonly ownerTeamId: pulumi.Output<string | undefined>; /** * User, schedule, teams or escalation names to calculate which users will receive the notifications of the alert. */ readonly responders: pulumi.Output<outputs.ApiIntegrationResponder[] | undefined>; /** * If enabled, notifications that come from alerts will be suppressed. Default: `false`. */ readonly suppressNotifications: pulumi.Output<boolean | undefined>; /** * Type of the integration (API, Marid, Prometheus, etc). The full list of options can be found [here](https://docs.opsgenie.com/docs/integration-types-to-use-with-api). */ readonly type: pulumi.Output<string | undefined>; /** * It is required if type is `Webhook`. This is the url Opsgenie will be sending request to. */ readonly webhookUrl: pulumi.Output<string | undefined>; /** * Create a ApiIntegration 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?: ApiIntegrationArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering ApiIntegration resources. */ export interface ApiIntegrationState { allowConfigurationAccess?: pulumi.Input<boolean>; /** * This parameter is for configuring the write access of integration. If write access is restricted, the integration will not be authorized to write within any domain. Default: `true`. */ allowWriteAccess?: pulumi.Input<boolean>; /** * (Computed) API key of the created integration */ apiKey?: pulumi.Input<string>; /** * This parameter is for specifying whether the integration will be enabled or not. Default: `true` */ enabled?: pulumi.Input<boolean>; headers?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; /** * If enabled, the integration will ignore recipients sent in request payloads. Default: `false`. */ ignoreRespondersFromPayload?: pulumi.Input<boolean>; /** * Name of the integration. Name must be unique for each integration. */ name?: pulumi.Input<string>; /** * Owner team id of the integration. If changed, this will recreate a new API integration, which will probably have a different API key. */ ownerTeamId?: pulumi.Input<string>; /** * User, schedule, teams or escalation names to calculate which users will receive the notifications of the alert. */ responders?: pulumi.Input<pulumi.Input<inputs.ApiIntegrationResponder>[]>; /** * If enabled, notifications that come from alerts will be suppressed. Default: `false`. */ suppressNotifications?: pulumi.Input<boolean>; /** * Type of the integration (API, Marid, Prometheus, etc). The full list of options can be found [here](https://docs.opsgenie.com/docs/integration-types-to-use-with-api). */ type?: pulumi.Input<string>; /** * It is required if type is `Webhook`. This is the url Opsgenie will be sending request to. */ webhookUrl?: pulumi.Input<string>; } /** * The set of arguments for constructing a ApiIntegration resource. */ export interface ApiIntegrationArgs { allowConfigurationAccess?: pulumi.Input<boolean>; /** * This parameter is for configuring the write access of integration. If write access is restricted, the integration will not be authorized to write within any domain. Default: `true`. */ allowWriteAccess?: pulumi.Input<boolean>; /** * This parameter is for specifying whether the integration will be enabled or not. Default: `true` */ enabled?: pulumi.Input<boolean>; headers?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; /** * If enabled, the integration will ignore recipients sent in request payloads. Default: `false`. */ ignoreRespondersFromPayload?: pulumi.Input<boolean>; /** * Name of the integration. Name must be unique for each integration. */ name?: pulumi.Input<string>; /** * Owner team id of the integration. If changed, this will recreate a new API integration, which will probably have a different API key. */ ownerTeamId?: pulumi.Input<string>; /** * User, schedule, teams or escalation names to calculate which users will receive the notifications of the alert. */ responders?: pulumi.Input<pulumi.Input<inputs.ApiIntegrationResponder>[]>; /** * If enabled, notifications that come from alerts will be suppressed. Default: `false`. */ suppressNotifications?: pulumi.Input<boolean>; /** * Type of the integration (API, Marid, Prometheus, etc). The full list of options can be found [here](https://docs.opsgenie.com/docs/integration-types-to-use-with-api). */ type?: pulumi.Input<string>; /** * It is required if type is `Webhook`. This is the url Opsgenie will be sending request to. */ webhookUrl?: pulumi.Input<string>; }