Registry

class Registry : KotlinCustomResource

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 This resource can be used to ensure that the GCS bucket exists prior to assigning permissions. For more information see the access control page for GCR.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const registry = new gcp.container.Registry("registry", {
project: "my-project",
location: "EU",
});
import pulumi
import pulumi_gcp as gcp
registry = gcp.container.Registry("registry",
project="my-project",
location="EU")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var registry = new Gcp.Container.Registry("registry", new()
{
Project = "my-project",
Location = "EU",
});
});
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/container"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := container.NewRegistry(ctx, "registry", &container.RegistryArgs{
Project: pulumi.String("my-project"),
Location: pulumi.String("EU"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.container.Registry;
import com.pulumi.gcp.container.RegistryArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var registry = new Registry("registry", RegistryArgs.builder()
.project("my-project")
.location("EU")
.build());
}
}
resources:
registry:
type: gcp:container:Registry
properties:
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.

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 pulumi
import pulumi_gcp as gcp
registry = gcp.container.Registry("registry",
project="my-project",
location="EU")
viewer = gcp.storage.BucketIAMMember("viewer",
bucket=registry.id,
role="roles/storage.objectViewer",
member="user:jane@example.com")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var registry = new Gcp.Container.Registry("registry", new()
{
Project = "my-project",
Location = "EU",
});
var viewer = new Gcp.Storage.BucketIAMMember("viewer", new()
{
Bucket = registry.Id,
Role = "roles/storage.objectViewer",
Member = "user:jane@example.com",
});
});
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
registry, err := container.NewRegistry(ctx, "registry", &container.RegistryArgs{
Project: pulumi.String("my-project"),
Location: pulumi.String("EU"),
})
if err != nil {
return err
}
_, err = storage.NewBucketIAMMember(ctx, "viewer", &storage.BucketIAMMemberArgs{
Bucket: registry.ID(),
Role: pulumi.String("roles/storage.objectViewer"),
Member: pulumi.String("user:jane@example.com"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.container.Registry;
import com.pulumi.gcp.container.RegistryArgs;
import com.pulumi.gcp.storage.BucketIAMMember;
import com.pulumi.gcp.storage.BucketIAMMemberArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var registry = new Registry("registry", RegistryArgs.builder()
.project("my-project")
.location("EU")
.build());
var viewer = new BucketIAMMember("viewer", BucketIAMMemberArgs.builder()
.bucket(registry.id())
.role("roles/storage.objectViewer")
.member("user:jane@example.com")
.build());
}
}
resources:
registry:
type: gcp:container:Registry
properties:
project: my-project
location: EU
viewer:
type: gcp:storage:BucketIAMMember
properties:
bucket: ${registry.id}
role: roles/storage.objectViewer
member: user:jane@example.com

Import

This resource does not support import.

Properties

Link copied to clipboard
val bucketSelfLink: Output<String>

The URI of the created resource.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard
val location: Output<String>?

The location of the registry. One of ASIA, EU, US or not specified. See the official documentation for more information on registry locations.

Link copied to clipboard
val project: Output<String>

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val urn: Output<String>