import * as pulumi from "@pulumi/pulumi"; /** * > **Warning**: Container Registry is deprecated. Effective March 18, 2025, Container Registry is shut down and writing images to Container Registry is unavailable. Resource will be removed in future major release. * * Ensures that the Google Cloud Storage bucket that backs Google Container Registry exists. Creating this resource will create the backing bucket if it does not exist, or do nothing if the bucket already exists. Destroying this resource does *NOT* destroy the backing bucket. For more information see [the official documentation](https://cloud.google.com/container-registry/docs/overview) * * This resource can be used to ensure that the GCS bucket exists prior to assigning permissions. For more information see the [access control page](https://cloud.google.com/container-registry/docs/access-control) for GCR. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const registry = new gcp.container.Registry("registry", { * project: "my-project", * location: "EU", * }); * ``` * * The `id` field of the `gcp.container.Registry` is the identifier of the storage bucket that backs GCR and can be used to assign permissions to the bucket. * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const registry = new gcp.container.Registry("registry", { * project: "my-project", * location: "EU", * }); * const viewer = new gcp.storage.BucketIAMMember("viewer", { * bucket: registry.id, * role: "roles/storage.objectViewer", * member: "user:jane@example.com", * }); * ``` * * ## Import * * This resource does not support import. */ export declare class Registry extends pulumi.CustomResource { /** * Get an existing Registry 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?: RegistryState, opts?: pulumi.CustomResourceOptions): Registry; /** * Returns true if the given object is an instance of Registry. 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 Registry; /** * The URI of the created resource. */ readonly bucketSelfLink: pulumi.Output; /** * The location of the registry. One of `ASIA`, `EU`, `US` or not specified. See [the official documentation](https://cloud.google.com/container-registry/docs/pushing-and-pulling#pushing_an_image_to_a_registry) for more information on registry locations. */ readonly location: pulumi.Output; /** * The ID of the project in which the resource belongs. If it is not provided, the provider project is used. */ readonly project: pulumi.Output; /** * Create a Registry 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?: RegistryArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Registry resources. */ export interface RegistryState { /** * The URI of the created resource. */ bucketSelfLink?: pulumi.Input; /** * The location of the registry. One of `ASIA`, `EU`, `US` or not specified. See [the official documentation](https://cloud.google.com/container-registry/docs/pushing-and-pulling#pushing_an_image_to_a_registry) for more information on registry locations. */ location?: pulumi.Input; /** * The ID of the project in which the resource belongs. If it is not provided, the provider project is used. */ project?: pulumi.Input; } /** * The set of arguments for constructing a Registry resource. */ export interface RegistryArgs { /** * The location of the registry. One of `ASIA`, `EU`, `US` or not specified. See [the official documentation](https://cloud.google.com/container-registry/docs/pushing-and-pulling#pushing_an_image_to_a_registry) for more information on registry locations. */ location?: pulumi.Input; /** * The ID of the project in which the resource belongs. If it is not provided, the provider project is used. */ project?: pulumi.Input; }