import * as pulumi from "@pulumi/pulumi"; import * as outputs from "./types/output"; /** * Use this data source to retrieve information about a GitHub release in a specific repository. * * ## Example Usage * * To retrieve the latest release that is present in a repository: * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as github from "@pulumi/github"; * * const example = github.getRelease({ * repository: "example-repository", * owner: "example-owner", * retrieveBy: "latest", * }); * ``` * * To retrieve a specific release from a repository based on it's ID: */ export declare function getRelease(args: GetReleaseArgs, opts?: pulumi.InvokeOptions): Promise<GetReleaseResult>; /** * A collection of arguments for invoking getRelease. */ export interface GetReleaseArgs { /** * Owner of the repository. */ owner: string; /** * ID of the release to retrieve. Must be specified when `retrieveBy` = `id`. */ releaseId?: number; /** * Tag of the release to retrieve. Must be specified when `retrieveBy` = `tag`. */ releaseTag?: string; /** * Name of the repository to retrieve the release from. */ repository: string; /** * Describes how to fetch the release. Valid values are `id`, `tag`, `latest`. */ retrieveBy: string; } /** * A collection of values returned by getRelease. */ export interface GetReleaseResult { /** * **Deprecated**: Use `assetsUrl` resource instead * * @deprecated use assetsUrl instead */ readonly assertsUrl: string; /** * Collection of assets for the release. Each asset conforms to the following schema: */ readonly assets: outputs.GetReleaseAsset[]; /** * URL of any associated assets with the release */ readonly assetsUrl: string; /** * Contents of the description (body) of a release */ readonly body: string; /** * Date the asset was created */ readonly createdAt: string; /** * (`Boolean`) indicates whether the release is a draft */ readonly draft: boolean; /** * URL directing to detailed information on the release */ readonly htmlUrl: string; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; /** * The file name of the asset */ readonly name: string; readonly owner: string; /** * (`Boolean`) indicates whether the release is a prerelease */ readonly prerelease: boolean; /** * Date of release publishing */ readonly publishedAt: string; /** * ID of release */ readonly releaseId?: number; /** * Tag of release */ readonly releaseTag?: string; readonly repository: string; readonly retrieveBy: string; /** * Download URL of a specific release in `tar.gz` format */ readonly tarballUrl: string; /** * Commitish value that determines where the Git release is created from */ readonly targetCommitish: string; /** * URL that can be used to upload Assets to the release */ readonly uploadUrl: string; /** * URL of the asset */ readonly url: string; /** * Download URL of a specific release in `zip` format */ readonly zipballUrl: string; } /** * Use this data source to retrieve information about a GitHub release in a specific repository. * * ## Example Usage * * To retrieve the latest release that is present in a repository: * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as github from "@pulumi/github"; * * const example = github.getRelease({ * repository: "example-repository", * owner: "example-owner", * retrieveBy: "latest", * }); * ``` * * To retrieve a specific release from a repository based on it's ID: */ export declare function getReleaseOutput(args: GetReleaseOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetReleaseResult>; /** * A collection of arguments for invoking getRelease. */ export interface GetReleaseOutputArgs { /** * Owner of the repository. */ owner: pulumi.Input<string>; /** * ID of the release to retrieve. Must be specified when `retrieveBy` = `id`. */ releaseId?: pulumi.Input<number>; /** * Tag of the release to retrieve. Must be specified when `retrieveBy` = `tag`. */ releaseTag?: pulumi.Input<string>; /** * Name of the repository to retrieve the release from. */ repository: pulumi.Input<string>; /** * Describes how to fetch the release. Valid values are `id`, `tag`, `latest`. */ retrieveBy: pulumi.Input<string>; }