import * as pulumi from "@pulumi/pulumi"; /** * This data source fetches information from a provided Artifact Registry repository, including the fully qualified name and URI for an image, based on a the latest version of image name and optional digest or tag. * * > **Note** * Requires one of the following OAuth scopes: `https://www.googleapis.com/auth/cloud-platform` or `https://www.googleapis.com/auth/cloud-platform.read-only`. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const myRepo = new gcp.artifactregistry.Repository("my_repo", { * location: "us-west1", * repositoryId: "my-repository", * format: "DOCKER", * }); * const myImage = gcp.artifactregistry.getDockerImageOutput({ * location: myRepo.location, * repositoryId: myRepo.repositoryId, * imageName: "my-image:my-tag", * }); * const _default = new gcp.cloudrunv2.Service("default", {template: { * containers: [{ * image: myImage.apply(myImage => myImage.selfLink), * }], * }}); * ``` */ export declare function getDockerImage(args: GetDockerImageArgs, opts?: pulumi.InvokeOptions): Promise; /** * A collection of arguments for invoking getDockerImage. */ export interface GetDockerImageArgs { /** * The image name to fetch. If no digest or tag is provided, then the latest modified image will be used. */ imageName: string; /** * The location of the artifact registry. */ location: string; /** * The project ID in which the resource belongs. If it is not provided, the provider project is used. */ project?: string; /** * The last part of the repository name to fetch from. */ repositoryId: string; } /** * A collection of values returned by getDockerImage. */ export interface GetDockerImageResult { /** * The time, as a RFC 3339 string, this image was built. */ readonly buildTime: string; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; readonly imageName: string; /** * Calculated size of the image in bytes. */ readonly imageSizeBytes: string; readonly location: string; /** * Media type of this image, e.g. `application/vnd.docker.distribution.manifest.v2+json`. */ readonly mediaType: string; /** * The fully qualified name of the fetched image. This name has the form: `projects/{{project}}/locations/{{location}}/repository/{{repository_id}}/dockerImages/{{docker_image}}`. For example, * ``` * projects/test-project/locations/us-west4/repositories/test-repo/dockerImages/nginx@sha256:e9954c1fc875017be1c3e36eca16be2d9e9bccc4bf072163515467d6a823c7cf * ``` */ readonly name: string; readonly project?: string; readonly repositoryId: string; /** * The URI to access the image. For example, * ``` * us-west4-docker.pkg.dev/test-project/test-repo/nginx@sha256:e9954c1fc875017be1c3e36eca16be2d9e9bccc4bf072163515467d6a823c7cf * ``` */ readonly selfLink: string; /** * A list of all tags associated with the image. */ readonly tags: string[]; /** * The time, as a RFC 3339 string, this image was updated. */ readonly updateTime: string; /** * The time, as a RFC 3339 string, the image was uploaded. For example, `2014-10-02T15:01:23.045123456Z`. */ readonly uploadTime: string; } /** * This data source fetches information from a provided Artifact Registry repository, including the fully qualified name and URI for an image, based on a the latest version of image name and optional digest or tag. * * > **Note** * Requires one of the following OAuth scopes: `https://www.googleapis.com/auth/cloud-platform` or `https://www.googleapis.com/auth/cloud-platform.read-only`. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const myRepo = new gcp.artifactregistry.Repository("my_repo", { * location: "us-west1", * repositoryId: "my-repository", * format: "DOCKER", * }); * const myImage = gcp.artifactregistry.getDockerImageOutput({ * location: myRepo.location, * repositoryId: myRepo.repositoryId, * imageName: "my-image:my-tag", * }); * const _default = new gcp.cloudrunv2.Service("default", {template: { * containers: [{ * image: myImage.apply(myImage => myImage.selfLink), * }], * }}); * ``` */ export declare function getDockerImageOutput(args: GetDockerImageOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output; /** * A collection of arguments for invoking getDockerImage. */ export interface GetDockerImageOutputArgs { /** * The image name to fetch. If no digest or tag is provided, then the latest modified image will be used. */ imageName: pulumi.Input; /** * The location of the artifact registry. */ location: pulumi.Input; /** * The project ID in which the resource belongs. If it is not provided, the provider project is used. */ project?: pulumi.Input; /** * The last part of the repository name to fetch from. */ repositoryId: pulumi.Input; }