import * as pulumi from "@pulumi/pulumi"; /** * Sentry Issue Alert data source. As the object structure of `conditions`, `filters`, and `actions` are undocumented, a tip is to set up an Issue Alert via the Web UI, and use this data source to copy its object structure to your resources. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as sentry from "@pulumi/sentry"; * import * as sentry from "@pulumiverse/sentry"; * * // Retrieve an Issue Alert * // URL format: https://sentry.io/organizations/[organization]/alerts/rules/[project]/[internal_id]/details/ * const original = sentry.getSentryIssueAlert({ * organization: "my-organization", * project: "my-project", * internalId: "42", * }); * // Create a copy of an Issue Alert * const copy = new sentry.SentryIssueAlert("copy", { * organization: original.then(original => original.organization), * project: original.then(original => original.project), * name: original.then(original => `${original.name}-copy`), * actionMatch: original.then(original => original.actionMatch), * filterMatch: original.then(original => original.filterMatch), * frequency: original.then(original => original.frequency), * conditions: original.then(original => original.conditions), * filters: original.then(original => original.filters), * actions: original.then(original => original.actions), * }); * ``` */ export declare function getSentryIssueAlert(args: GetSentryIssueAlertArgs, opts?: pulumi.InvokeOptions): Promise; /** * A collection of arguments for invoking getSentryIssueAlert. */ export interface GetSentryIssueAlertArgs { /** * The internal ID for this issue alert. */ internalId: string; /** * The slug of the organization the issue alert belongs to. */ organization: string; /** * The slug of the project the issue alert belongs to. */ project: string; } /** * A collection of values returned by getSentryIssueAlert. */ export interface GetSentryIssueAlertResult { /** * Trigger actions when an event is captured by Sentry and `any` or `all` of the specified conditions happen. */ readonly actionMatch: string; /** * List of actions. */ readonly actions: { [key: string]: string; }[]; /** * List of conditions. */ readonly conditions: { [key: string]: string; }[]; /** * Perform issue alert in a specific environment. */ readonly environment: string; /** * Trigger actions if `all`, `any`, or `none` of the specified filters match. */ readonly filterMatch: string; /** * List of filters. */ readonly filters: { [key: string]: string; }[]; /** * Perform actions at most once every `X` minutes for this issue. Defaults to `30`. */ readonly frequency: number; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; /** * The internal ID for this issue alert. */ readonly internalId: string; /** * The issue alert name. */ readonly name: string; /** * The slug of the organization the issue alert belongs to. */ readonly organization: string; /** * The slug of the project the issue alert belongs to. */ readonly project: string; } /** * Sentry Issue Alert data source. As the object structure of `conditions`, `filters`, and `actions` are undocumented, a tip is to set up an Issue Alert via the Web UI, and use this data source to copy its object structure to your resources. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as sentry from "@pulumi/sentry"; * import * as sentry from "@pulumiverse/sentry"; * * // Retrieve an Issue Alert * // URL format: https://sentry.io/organizations/[organization]/alerts/rules/[project]/[internal_id]/details/ * const original = sentry.getSentryIssueAlert({ * organization: "my-organization", * project: "my-project", * internalId: "42", * }); * // Create a copy of an Issue Alert * const copy = new sentry.SentryIssueAlert("copy", { * organization: original.then(original => original.organization), * project: original.then(original => original.project), * name: original.then(original => `${original.name}-copy`), * actionMatch: original.then(original => original.actionMatch), * filterMatch: original.then(original => original.filterMatch), * frequency: original.then(original => original.frequency), * conditions: original.then(original => original.conditions), * filters: original.then(original => original.filters), * actions: original.then(original => original.actions), * }); * ``` */ export declare function getSentryIssueAlertOutput(args: GetSentryIssueAlertOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output; /** * A collection of arguments for invoking getSentryIssueAlert. */ export interface GetSentryIssueAlertOutputArgs { /** * The internal ID for this issue alert. */ internalId: pulumi.Input; /** * The slug of the organization the issue alert belongs to. */ organization: pulumi.Input; /** * The slug of the project the issue alert belongs to. */ project: pulumi.Input; }