Module pulumi_wasm_docker::get_registry_image
source · Expand description
Reads the image metadata from a Docker Registry. Used in conjunction with the docker.RemoteImage resource to keep an image up to date on the latest available version of the tag.
§Example Usage
§Typescript
import * as pulumi from "@pulumi/pulumi";
import * as docker from "@pulumi/docker";
const ubuntuRegistryImage = docker.getRegistryImage({
name: "ubuntu:precise",
});
const ubuntuRemoteImage = new docker.RemoteImage("ubuntuRemoteImage", {
name: ubuntuRegistryImage.then(ubuntuRegistryImage => ubuntuRegistryImage.name),
pullTriggers: [ubuntuRegistryImage.then(ubuntuRegistryImage => ubuntuRegistryImage.sha256Digest)],
});
§Python
import pulumi
import pulumi_docker as docker
ubuntu_registry_image = docker.get_registry_image(name="ubuntu:precise")
ubuntu_remote_image = docker.RemoteImage("ubuntuRemoteImage",
name=ubuntu_registry_image.name,
pull_triggers=[ubuntu_registry_image.sha256_digest])
§C#
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Docker = Pulumi.Docker;
return await Deployment.RunAsync(() =>
{
var ubuntuRegistryImage = Docker.GetRegistryImage.Invoke(new()
{
Name = "ubuntu:precise",
});
var ubuntuRemoteImage = new Docker.RemoteImage("ubuntuRemoteImage", new()
{
Name = ubuntuRegistryImage.Apply(getRegistryImageResult => getRegistryImageResult.Name),
PullTriggers = new[]
{
ubuntuRegistryImage.Apply(getRegistryImageResult => getRegistryImageResult.Sha256Digest),
},
});
});
§Go
package main
import (
"github.com/pulumi/pulumi-docker/sdk/v4/go/docker"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
ubuntuRegistryImage, err := docker.LookupRegistryImage(ctx, &docker.LookupRegistryImageArgs{
Name: "ubuntu:precise",
}, nil)
if err != nil {
return err
}
_, err = docker.NewRemoteImage(ctx, "ubuntuRemoteImage", &docker.RemoteImageArgs{
Name: pulumi.String(ubuntuRegistryImage.Name),
PullTriggers: pulumi.StringArray{
pulumi.String(ubuntuRegistryImage.Sha256Digest),
},
})
if err != nil {
return err
}
return nil
})
}
§Java
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.docker.DockerFunctions;
import com.pulumi.docker.inputs.GetRegistryImageArgs;
import com.pulumi.docker.RemoteImage;
import com.pulumi.docker.RemoteImageArgs;
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) {
final var ubuntuRegistryImage = DockerFunctions.getRegistryImage(GetRegistryImageArgs.builder()
.name("ubuntu:precise")
.build());
var ubuntuRemoteImage = new RemoteImage("ubuntuRemoteImage", RemoteImageArgs.builder()
.name(ubuntuRegistryImage.applyValue(getRegistryImageResult -> getRegistryImageResult.name()))
.pullTriggers(ubuntuRegistryImage.applyValue(getRegistryImageResult -> getRegistryImageResult.sha256Digest()))
.build());
}
}
§YAML
resources:
ubuntuRemoteImage:
type: docker:RemoteImage
properties:
name: ${ubuntuRegistryImage.name}
pullTriggers:
- ${ubuntuRegistryImage.sha256Digest}
variables:
ubuntuRegistryImage:
fn::invoke:
Function: docker:getRegistryImage
Arguments:
name: ubuntu:precise
Structs§
- Use builder syntax to set the required parameters and finish by calling the method
Self::build_struct()
.
Functions§
- Registers a new resource with the given unique name and arguments