import * as pulumi from "@pulumi/pulumi"; /** * Create a `Release`. Release names should reflect the developer's deployment practices. For example, the release name may include the environment name, application name, application version, or any other name meaningful to the developer. Once a `Release` refers to a `Ruleset`, the rules can be enforced by Firebase Rules-enabled services. More than one `Release` may be 'live' concurrently. Consider the following three `Release` names for `projects/foo` and the `Ruleset` to which they refer. Release Name -> Ruleset Name * projects/foo/releases/prod -> projects/foo/rulesets/uuid123 * projects/foo/releases/prod/beta -> projects/foo/rulesets/uuid123 * projects/foo/releases/prod/v23 -> projects/foo/rulesets/uuid456 The relationships reflect a `Ruleset` rollout in progress. The `prod` and `prod/beta` releases refer to the same `Ruleset`. However, `prod/v23` refers to a new `Ruleset`. The `Ruleset` reference for a `Release` may be updated using the UpdateRelease method. */ export declare class Release extends pulumi.CustomResource { /** * Get an existing Release 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 opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Release; /** * Returns true if the given object is an instance of Release. 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 Release; /** * Time the release was created. */ readonly createTime: pulumi.Output; /** * Format: `projects/{project_id}/releases/{release_id}` */ readonly name: pulumi.Output; readonly project: pulumi.Output; /** * Name of the `Ruleset` referred to by this `Release`. The `Ruleset` must exist for the `Release` to be created. */ readonly rulesetName: pulumi.Output; /** * Time the release was updated. */ readonly updateTime: pulumi.Output; /** * Create a Release 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: ReleaseArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a Release resource. */ export interface ReleaseArgs { /** * Format: `projects/{project_id}/releases/{release_id}` */ name?: pulumi.Input; project?: pulumi.Input; /** * Name of the `Ruleset` referred to by this `Release`. The `Ruleset` must exist for the `Release` to be created. */ rulesetName: pulumi.Input; }