1. Packages
  2. Ibm Provider
  3. API Docs
  4. getComputeImageTemplate
ibm 1.78.0 published on Wednesday, Apr 30, 2025 by ibm-cloud

ibm.getComputeImageTemplate

Explore with Pulumi AI

ibm logo
ibm 1.78.0 published on Wednesday, Apr 30, 2025 by ibm-cloud

    Retrieve information of an existing image template as a read-only data source. For more information, about IBM Cloud compute image template, see about bare metal custom image templates.

    Example Usage

    The following example shows how you can retrieve the ID of an image template and reference this ID in your ibm.ComputeVmInstance resource.

    import * as pulumi from "@pulumi/pulumi";
    import * as ibm from "@pulumi/ibm";
    
    const imgTpl = ibm.getComputeImageTemplate({
        name: "jumpbox",
    });
    const vm1 = new ibm.ComputeVmInstance("vm1", {imageId: imgTpl.then(imgTpl => imgTpl.id)});
    
    import pulumi
    import pulumi_ibm as ibm
    
    img_tpl = ibm.get_compute_image_template(name="jumpbox")
    vm1 = ibm.ComputeVmInstance("vm1", image_id=img_tpl.id)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/ibm/ibm"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		imgTpl, err := ibm.GetComputeImageTemplate(ctx, &ibm.GetComputeImageTemplateArgs{
    			Name: "jumpbox",
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = ibm.NewComputeVmInstance(ctx, "vm1", &ibm.ComputeVmInstanceArgs{
    			ImageId: pulumi.Float64(imgTpl.Id),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Ibm = Pulumi.Ibm;
    
    return await Deployment.RunAsync(() => 
    {
        var imgTpl = Ibm.GetComputeImageTemplate.Invoke(new()
        {
            Name = "jumpbox",
        });
    
        var vm1 = new Ibm.ComputeVmInstance("vm1", new()
        {
            ImageId = imgTpl.Apply(getComputeImageTemplateResult => getComputeImageTemplateResult.Id),
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.ibm.IbmFunctions;
    import com.pulumi.ibm.inputs.GetComputeImageTemplateArgs;
    import com.pulumi.ibm.ComputeVmInstance;
    import com.pulumi.ibm.ComputeVmInstanceArgs;
    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 imgTpl = IbmFunctions.getComputeImageTemplate(GetComputeImageTemplateArgs.builder()
                .name("jumpbox")
                .build());
    
            var vm1 = new ComputeVmInstance("vm1", ComputeVmInstanceArgs.builder()
                .imageId(imgTpl.applyValue(getComputeImageTemplateResult -> getComputeImageTemplateResult.id()))
                .build());
    
        }
    }
    
    resources:
      vm1:
        type: ibm:ComputeVmInstance
        properties:
          imageId: ${imgTpl.id}
    variables:
      imgTpl:
        fn::invoke:
          function: ibm:getComputeImageTemplate
          arguments:
            name: jumpbox
    

    Using getComputeImageTemplate

    Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.

    function getComputeImageTemplate(args: GetComputeImageTemplateArgs, opts?: InvokeOptions): Promise<GetComputeImageTemplateResult>
    function getComputeImageTemplateOutput(args: GetComputeImageTemplateOutputArgs, opts?: InvokeOptions): Output<GetComputeImageTemplateResult>
    def get_compute_image_template(name: Optional[str] = None,
                                   opts: Optional[InvokeOptions] = None) -> GetComputeImageTemplateResult
    def get_compute_image_template_output(name: Optional[pulumi.Input[str]] = None,
                                   opts: Optional[InvokeOptions] = None) -> Output[GetComputeImageTemplateResult]
    func GetComputeImageTemplate(ctx *Context, args *GetComputeImageTemplateArgs, opts ...InvokeOption) (*GetComputeImageTemplateResult, error)
    func GetComputeImageTemplateOutput(ctx *Context, args *GetComputeImageTemplateOutputArgs, opts ...InvokeOption) GetComputeImageTemplateResultOutput

    > Note: This function is named GetComputeImageTemplate in the Go SDK.

    public static class GetComputeImageTemplate 
    {
        public static Task<GetComputeImageTemplateResult> InvokeAsync(GetComputeImageTemplateArgs args, InvokeOptions? opts = null)
        public static Output<GetComputeImageTemplateResult> Invoke(GetComputeImageTemplateInvokeArgs args, InvokeOptions? opts = null)
    }
    public static CompletableFuture<GetComputeImageTemplateResult> getComputeImageTemplate(GetComputeImageTemplateArgs args, InvokeOptions options)
    public static Output<GetComputeImageTemplateResult> getComputeImageTemplate(GetComputeImageTemplateArgs args, InvokeOptions options)
    
    fn::invoke:
      function: ibm:index/getComputeImageTemplate:getComputeImageTemplate
      arguments:
        # arguments dictionary

    The following arguments are supported:

    Name string
    The name of the image template. You can find the name in the IBM Cloud infrastructure customer portal by navigating to Devices > Manage > Images.
    Name string
    The name of the image template. You can find the name in the IBM Cloud infrastructure customer portal by navigating to Devices > Manage > Images.
    name String
    The name of the image template. You can find the name in the IBM Cloud infrastructure customer portal by navigating to Devices > Manage > Images.
    name string
    The name of the image template. You can find the name in the IBM Cloud infrastructure customer portal by navigating to Devices > Manage > Images.
    name str
    The name of the image template. You can find the name in the IBM Cloud infrastructure customer portal by navigating to Devices > Manage > Images.
    name String
    The name of the image template. You can find the name in the IBM Cloud infrastructure customer portal by navigating to Devices > Manage > Images.

    getComputeImageTemplate Result

    The following output properties are available:

    Id double
    (String) The unique identifier of the image template.
    Name string
    Id float64
    (String) The unique identifier of the image template.
    Name string
    id Double
    (String) The unique identifier of the image template.
    name String
    id number
    (String) The unique identifier of the image template.
    name string
    id float
    (String) The unique identifier of the image template.
    name str
    id Number
    (String) The unique identifier of the image template.
    name String

    Package Details

    Repository
    ibm ibm-cloud/terraform-provider-ibm
    License
    Notes
    This Pulumi package is based on the ibm Terraform Provider.
    ibm logo
    ibm 1.78.0 published on Wednesday, Apr 30, 2025 by ibm-cloud