getRegistryImage function
Future<GetRegistryImageResult>
getRegistryImage(
- GetRegistryImageArgs args, {
- InvokeOptions? options,
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
import * as pulumi from "@pulumi/pulumi";
import * as docker from "@pulumi/docker";
const ubuntu = docker.getRegistryImage({
name: "ubuntu:precise",
});
const ubuntuRemoteImage = new docker.RemoteImage("ubuntu", {
name: ubuntu.then(ubuntu => ubuntu.name),
pullTriggers: [ubuntu.then(ubuntu => ubuntu.sha256Digest)],
});
import pulumi
import pulumi_docker as docker
ubuntu = docker.get_registry_image(name="ubuntu:precise")
ubuntu_remote_image = docker.RemoteImage("ubuntu",
name=ubuntu.name,
pull_triggers=[ubuntu.sha256_digest])
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Docker = Pulumi.Docker;
return await Deployment.RunAsync(() =>
{
var ubuntu = Docker.GetRegistryImage.Invoke(new()
{
Name = "ubuntu:precise",
});
var ubuntuRemoteImage = new Docker.RemoteImage("ubuntu", new()
{
Name = ubuntu.Apply(getRegistryImageResult => getRegistryImageResult.Name),
PullTriggers = new[]
{
ubuntu.Apply(getRegistryImageResult => getRegistryImageResult.Sha256Digest),
},
});
});
package main
import (
"github.com/pulumi/pulumi-docker/sdk/v5/go/docker"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
ubuntu, err := docker.GetRegistryImage(ctx, &docker.LookupRegistryImageArgs{
Name: "ubuntu:precise",
}, nil)
if err != nil {
return err
}
_, err = docker.NewRemoteImage(ctx, "ubuntu", &docker.RemoteImageArgs{
Name: pulumi.String(ubuntu.Name),
PullTriggers: pulumi.StringArray{
pulumi.String(ubuntu.Sha256Digest),
},
})
if err != nil {
return err
}
return nil
})
}
pulumi {
required_providers {
docker = {
source = "pulumi/docker"
}
}
}
data "docker_getregistryimage" "ubuntu" {
name = "ubuntu:precise"
}
resource "docker_remoteimage" "ubuntu" {
name = data.docker_getregistryimage.ubuntu.name
pull_triggers = [data.docker_getregistryimage.ubuntu.sha256_digest]
}
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.ArrayList;
import java.util.Arrays;
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 ubuntu = DockerFunctions.getRegistryImage(GetRegistryImageArgs.builder()
.name("ubuntu:precise")
.build());
var ubuntuRemoteImage = new RemoteImage("ubuntuRemoteImage", RemoteImageArgs.builder()
.name(ubuntu.name())
.pullTriggers(ubuntu.sha256Digest())
.build());
}
}
resources:
ubuntuRemoteImage:
type: docker:RemoteImage
name: ubuntu
properties:
name: ${ubuntu.name}
pullTriggers:
- ${ubuntu.sha256Digest}
variables:
ubuntu:
fn::invoke:
function: docker:getRegistryImage
arguments:
name: ubuntu:precise
args Arguments passed to this invoke. Arguments for getRegistryImage.
options Invoke options controlling this call.
Implementation
Future<GetRegistryImageResult> getRegistryImage(
GetRegistryImageArgs args, {
pulumi.InvokeOptions? options,
}) async {
final deployment = pulumi.Deployment.instance;
final result = await deployment.invoke<Map<String, dynamic>>(
'docker:index/getRegistryImage:getRegistryImage',
args.toMap(),
options: pulumi.toDeploymentInvokeOptions(options),
);
return GetRegistryImageResult.fromMap(result);
}