@pulumi/gcp
Version:
A Pulumi package for creating and managing Google Cloud Platform resources.
155 lines (154 loc) • 5.4 kB
TypeScript
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<GetDockerImageResult>;
/**
* 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<GetDockerImageResult>;
/**
* 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<string>;
/**
* The location of the artifact registry.
*/
location: pulumi.Input<string>;
/**
* The project ID in which the resource belongs. If it is not provided, the provider project is used.
*/
project?: pulumi.Input<string>;
/**
* The last part of the repository name to fetch from.
*/
repositoryId: pulumi.Input<string>;
}