import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * This resource allows you to create and manage webhooks for repositories within your * GitHub organization or personal account. * * > **Note on Archived Repositories**: When a repository is archived, GitHub makes it read-only, preventing webhook modifications. If you attempt to destroy resources associated with archived repositories, the provider will gracefully handle the operation by logging an informational message and removing the resource from Terraform state without attempting to modify the archived repository. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as github from "@pulumi/github"; * * const repo = new github.Repository("repo", { * name: "foo", * description: "Terraform acceptance tests", * homepageUrl: "http://example.com/", * visibility: "public", * }); * const foo = new github.RepositoryWebhook("foo", { * repository: repo.name, * configuration: { * url: "https://google.de/", * contentType: "form", * insecureSsl: false, * }, * active: false, * events: ["issues"], * }); * ``` * * ## Import * * Repository webhooks can be imported using the `name` of the repository, combined with the `id` of the webhook, separated by a `/` character. * The `id` of the webhook can be found in the URL of the webhook. For example: `"https://github.com/foo-org/foo-repo/settings/hooks/14711452"`. * * Importing uses the name of the repository, as well as the ID of the webhook, e.g. * * ```sh * $ pulumi import github:index/repositoryWebhook:RepositoryWebhook terraform terraform/11235813 * ``` * * If secret is populated in the webhook's configuration, the value will be imported as "********". */ export declare class RepositoryWebhook extends pulumi.CustomResource { /** * Get an existing RepositoryWebhook 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?: RepositoryWebhookState, opts?: pulumi.CustomResourceOptions): RepositoryWebhook; /** * Returns true if the given object is an instance of RepositoryWebhook. 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 RepositoryWebhook; /** * Indicate if the webhook should receive events. Defaults to `true`. */ readonly active: pulumi.Output; /** * Configuration block for the webhook. Detailed below. */ readonly configuration: pulumi.Output; readonly etag: pulumi.Output; /** * A list of events which should trigger the webhook. See a list of [available events](https://developer.github.com/v3/activity/events/types/). */ readonly events: pulumi.Output; /** * The repository of the webhook. */ readonly repository: pulumi.Output; /** * URL of the webhook. This is a sensitive attribute because it may include basic auth credentials. */ readonly url: pulumi.Output; /** * Create a RepositoryWebhook 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: RepositoryWebhookArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering RepositoryWebhook resources. */ export interface RepositoryWebhookState { /** * Indicate if the webhook should receive events. Defaults to `true`. */ active?: pulumi.Input; /** * Configuration block for the webhook. Detailed below. */ configuration?: pulumi.Input; etag?: pulumi.Input; /** * A list of events which should trigger the webhook. See a list of [available events](https://developer.github.com/v3/activity/events/types/). */ events?: pulumi.Input[] | undefined>; /** * The repository of the webhook. */ repository?: pulumi.Input; /** * URL of the webhook. This is a sensitive attribute because it may include basic auth credentials. */ url?: pulumi.Input; } /** * The set of arguments for constructing a RepositoryWebhook resource. */ export interface RepositoryWebhookArgs { /** * Indicate if the webhook should receive events. Defaults to `true`. */ active?: pulumi.Input; /** * Configuration block for the webhook. Detailed below. */ configuration?: pulumi.Input; etag?: pulumi.Input; /** * A list of events which should trigger the webhook. See a list of [available events](https://developer.github.com/v3/activity/events/types/). */ events: pulumi.Input[]>; /** * The repository of the webhook. */ repository: pulumi.Input; } //# sourceMappingURL=repositoryWebhook.d.ts.map