1. Packages
  2. Buildkite
  3. API Docs
  4. Cluster
  5. ClusterQueue
Viewing docs for Buildkite v3.2.0
published on Monday, Feb 23, 2026 by Pulumiverse
buildkite logo
Viewing docs for Buildkite v3.2.0
published on Monday, Feb 23, 2026 by Pulumiverse

    A Cluster Queue is a queue belonging to a specific Cluster for its Agents to target builds on.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as buildkite from "@pulumiverse/buildkite";
    
    // create a cluster
    const primary = new buildkite.cluster.Cluster("primary", {
        name: "Primary cluster",
        description: "Runs the monolith build and deploy",
        emoji: "πŸš€",
        color: "#bada55",
    });
    const monolith = new buildkite.pipeline.Pipeline("monolith", {
        name: "Monolith",
        repository: "https://github.com/...",
        clusterId: primary.id,
    });
    // create a queue to put pipeline builds in
    const _default = new buildkite.cluster.ClusterQueue("default", {
        clusterId: primary.id,
        key: "default",
        dispatchPaused: true,
    });
    // create a hosted agent queue with macos agents
    const hostedAgentsMacos = new buildkite.cluster.ClusterQueue("hosted_agents_macos", {
        clusterId: primary.id,
        key: "hosted-agents-macos",
        dispatchPaused: true,
        hostedAgents: {
            instanceShape: "MACOS_ARM64_M4_6X28",
        },
    });
    // create a hosted agent queue with linux agents
    const hostedAgentsLinux = new buildkite.cluster.ClusterQueue("hosted_agents_linux", {
        clusterId: primary.id,
        key: "hosted-agents-linux",
        dispatchPaused: true,
        hostedAgents: {
            instanceShape: "LINUX_AMD64_2X4",
            linux: {
                agentImageRef: "ubuntu:24.04",
            },
        },
    });
    
    import pulumi
    import pulumiverse_buildkite as buildkite
    
    # create a cluster
    primary = buildkite.cluster.Cluster("primary",
        name="Primary cluster",
        description="Runs the monolith build and deploy",
        emoji="πŸš€",
        color="#bada55")
    monolith = buildkite.pipeline.Pipeline("monolith",
        name="Monolith",
        repository="https://github.com/...",
        cluster_id=primary.id)
    # create a queue to put pipeline builds in
    default = buildkite.cluster.ClusterQueue("default",
        cluster_id=primary.id,
        key="default",
        dispatch_paused=True)
    # create a hosted agent queue with macos agents
    hosted_agents_macos = buildkite.cluster.ClusterQueue("hosted_agents_macos",
        cluster_id=primary.id,
        key="hosted-agents-macos",
        dispatch_paused=True,
        hosted_agents={
            "instance_shape": "MACOS_ARM64_M4_6X28",
        })
    # create a hosted agent queue with linux agents
    hosted_agents_linux = buildkite.cluster.ClusterQueue("hosted_agents_linux",
        cluster_id=primary.id,
        key="hosted-agents-linux",
        dispatch_paused=True,
        hosted_agents={
            "instance_shape": "LINUX_AMD64_2X4",
            "linux": {
                "agent_image_ref": "ubuntu:24.04",
            },
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-buildkite/sdk/v3/go/buildkite/cluster"
    	"github.com/pulumiverse/pulumi-buildkite/sdk/v3/go/buildkite/pipeline"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// create a cluster
    		primary, err := cluster.NewCluster(ctx, "primary", &cluster.ClusterArgs{
    			Name:        pulumi.String("Primary cluster"),
    			Description: pulumi.String("Runs the monolith build and deploy"),
    			Emoji:       pulumi.String("πŸš€"),
    			Color:       pulumi.String("#bada55"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = pipeline.NewPipeline(ctx, "monolith", &pipeline.PipelineArgs{
    			Name:       pulumi.String("Monolith"),
    			Repository: pulumi.String("https://github.com/..."),
    			ClusterId:  primary.ID(),
    		})
    		if err != nil {
    			return err
    		}
    		// create a queue to put pipeline builds in
    		_, err = cluster.NewClusterQueue(ctx, "default", &cluster.ClusterQueueArgs{
    			ClusterId:      primary.ID(),
    			Key:            pulumi.String("default"),
    			DispatchPaused: pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		// create a hosted agent queue with macos agents
    		_, err = cluster.NewClusterQueue(ctx, "hosted_agents_macos", &cluster.ClusterQueueArgs{
    			ClusterId:      primary.ID(),
    			Key:            pulumi.String("hosted-agents-macos"),
    			DispatchPaused: pulumi.Bool(true),
    			HostedAgents: &cluster.ClusterQueueHostedAgentsArgs{
    				InstanceShape: pulumi.String("MACOS_ARM64_M4_6X28"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		// create a hosted agent queue with linux agents
    		_, err = cluster.NewClusterQueue(ctx, "hosted_agents_linux", &cluster.ClusterQueueArgs{
    			ClusterId:      primary.ID(),
    			Key:            pulumi.String("hosted-agents-linux"),
    			DispatchPaused: pulumi.Bool(true),
    			HostedAgents: &cluster.ClusterQueueHostedAgentsArgs{
    				InstanceShape: pulumi.String("LINUX_AMD64_2X4"),
    				Linux: &cluster.ClusterQueueHostedAgentsLinuxArgs{
    					AgentImageRef: pulumi.String("ubuntu:24.04"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Buildkite = Pulumiverse.Buildkite;
    
    return await Deployment.RunAsync(() => 
    {
        // create a cluster
        var primary = new Buildkite.Cluster.Cluster("primary", new()
        {
            Name = "Primary cluster",
            Description = "Runs the monolith build and deploy",
            Emoji = "πŸš€",
            Color = "#bada55",
        });
    
        var monolith = new Buildkite.Pipeline.Pipeline("monolith", new()
        {
            Name = "Monolith",
            Repository = "https://github.com/...",
            ClusterId = primary.Id,
        });
    
        // create a queue to put pipeline builds in
        var @default = new Buildkite.Cluster.ClusterQueue("default", new()
        {
            ClusterId = primary.Id,
            Key = "default",
            DispatchPaused = true,
        });
    
        // create a hosted agent queue with macos agents
        var hostedAgentsMacos = new Buildkite.Cluster.ClusterQueue("hosted_agents_macos", new()
        {
            ClusterId = primary.Id,
            Key = "hosted-agents-macos",
            DispatchPaused = true,
            HostedAgents = new Buildkite.Cluster.Inputs.ClusterQueueHostedAgentsArgs
            {
                InstanceShape = "MACOS_ARM64_M4_6X28",
            },
        });
    
        // create a hosted agent queue with linux agents
        var hostedAgentsLinux = new Buildkite.Cluster.ClusterQueue("hosted_agents_linux", new()
        {
            ClusterId = primary.Id,
            Key = "hosted-agents-linux",
            DispatchPaused = true,
            HostedAgents = new Buildkite.Cluster.Inputs.ClusterQueueHostedAgentsArgs
            {
                InstanceShape = "LINUX_AMD64_2X4",
                Linux = new Buildkite.Cluster.Inputs.ClusterQueueHostedAgentsLinuxArgs
                {
                    AgentImageRef = "ubuntu:24.04",
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.buildkite.Cluster.Cluster;
    import com.pulumi.buildkite.Cluster.ClusterArgs;
    import com.pulumi.buildkite.Pipeline.Pipeline;
    import com.pulumi.buildkite.Pipeline.PipelineArgs;
    import com.pulumi.buildkite.Cluster.ClusterQueue;
    import com.pulumi.buildkite.Cluster.ClusterQueueArgs;
    import com.pulumi.buildkite.Cluster.inputs.ClusterQueueHostedAgentsArgs;
    import com.pulumi.buildkite.Cluster.inputs.ClusterQueueHostedAgentsLinuxArgs;
    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) {
            // create a cluster
            var primary = new Cluster("primary", ClusterArgs.builder()
                .name("Primary cluster")
                .description("Runs the monolith build and deploy")
                .emoji("πŸš€")
                .color("#bada55")
                .build());
    
            var monolith = new Pipeline("monolith", PipelineArgs.builder()
                .name("Monolith")
                .repository("https://github.com/...")
                .clusterId(primary.id())
                .build());
    
            // create a queue to put pipeline builds in
            var default_ = new ClusterQueue("default", ClusterQueueArgs.builder()
                .clusterId(primary.id())
                .key("default")
                .dispatchPaused(true)
                .build());
    
            // create a hosted agent queue with macos agents
            var hostedAgentsMacos = new ClusterQueue("hostedAgentsMacos", ClusterQueueArgs.builder()
                .clusterId(primary.id())
                .key("hosted-agents-macos")
                .dispatchPaused(true)
                .hostedAgents(ClusterQueueHostedAgentsArgs.builder()
                    .instanceShape("MACOS_ARM64_M4_6X28")
                    .build())
                .build());
    
            // create a hosted agent queue with linux agents
            var hostedAgentsLinux = new ClusterQueue("hostedAgentsLinux", ClusterQueueArgs.builder()
                .clusterId(primary.id())
                .key("hosted-agents-linux")
                .dispatchPaused(true)
                .hostedAgents(ClusterQueueHostedAgentsArgs.builder()
                    .instanceShape("LINUX_AMD64_2X4")
                    .linux(ClusterQueueHostedAgentsLinuxArgs.builder()
                        .agentImageRef("ubuntu:24.04")
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      # create a cluster
      primary:
        type: buildkite:Cluster:Cluster
        properties:
          name: Primary cluster
          description: Runs the monolith build and deploy
          emoji: "\U0001F680"
          color: '#bada55'
      monolith:
        type: buildkite:Pipeline:Pipeline
        properties:
          name: Monolith
          repository: https://github.com/...
          clusterId: ${primary.id}
      # create a queue to put pipeline builds in
      default:
        type: buildkite:Cluster:ClusterQueue
        properties:
          clusterId: ${primary.id}
          key: default
          dispatchPaused: true
      # create a hosted agent queue with macos agents
      hostedAgentsMacos:
        type: buildkite:Cluster:ClusterQueue
        name: hosted_agents_macos
        properties:
          clusterId: ${primary.id}
          key: hosted-agents-macos
          dispatchPaused: true
          hostedAgents:
            instanceShape: MACOS_ARM64_M4_6X28
      # create a hosted agent queue with linux agents
      hostedAgentsLinux:
        type: buildkite:Cluster:ClusterQueue
        name: hosted_agents_linux
        properties:
          clusterId: ${primary.id}
          key: hosted-agents-linux
          dispatchPaused: true
          hostedAgents:
            instanceShape: LINUX_AMD64_2X4
            linux:
              agentImageRef: ubuntu:24.04
    

    Create ClusterQueue Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new ClusterQueue(name: string, args: ClusterQueueArgs, opts?: CustomResourceOptions);
    @overload
    def ClusterQueue(resource_name: str,
                     args: ClusterQueueArgs,
                     opts: Optional[ResourceOptions] = None)
    
    @overload
    def ClusterQueue(resource_name: str,
                     opts: Optional[ResourceOptions] = None,
                     cluster_id: Optional[str] = None,
                     key: Optional[str] = None,
                     description: Optional[str] = None,
                     dispatch_paused: Optional[bool] = None,
                     hosted_agents: Optional[ClusterQueueHostedAgentsArgs] = None,
                     retry_agent_affinity: Optional[str] = None)
    func NewClusterQueue(ctx *Context, name string, args ClusterQueueArgs, opts ...ResourceOption) (*ClusterQueue, error)
    public ClusterQueue(string name, ClusterQueueArgs args, CustomResourceOptions? opts = null)
    public ClusterQueue(String name, ClusterQueueArgs args)
    public ClusterQueue(String name, ClusterQueueArgs args, CustomResourceOptions options)
    
    type: buildkite:Cluster:ClusterQueue
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args ClusterQueueArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args ClusterQueueArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args ClusterQueueArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ClusterQueueArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ClusterQueueArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var clusterQueueResource = new Buildkite.Cluster.ClusterQueue("clusterQueueResource", new()
    {
        ClusterId = "string",
        Key = "string",
        Description = "string",
        DispatchPaused = false,
        HostedAgents = new Buildkite.Cluster.Inputs.ClusterQueueHostedAgentsArgs
        {
            InstanceShape = "string",
            Linux = new Buildkite.Cluster.Inputs.ClusterQueueHostedAgentsLinuxArgs
            {
                AgentImageRef = "string",
            },
            Mac = new Buildkite.Cluster.Inputs.ClusterQueueHostedAgentsMacArgs
            {
                XcodeVersion = "string",
                MacosVersion = "string",
            },
        },
        RetryAgentAffinity = "string",
    });
    
    example, err := cluster.NewClusterQueue(ctx, "clusterQueueResource", &cluster.ClusterQueueArgs{
    	ClusterId:      pulumi.String("string"),
    	Key:            pulumi.String("string"),
    	Description:    pulumi.String("string"),
    	DispatchPaused: pulumi.Bool(false),
    	HostedAgents: &cluster.ClusterQueueHostedAgentsArgs{
    		InstanceShape: pulumi.String("string"),
    		Linux: &cluster.ClusterQueueHostedAgentsLinuxArgs{
    			AgentImageRef: pulumi.String("string"),
    		},
    		Mac: &cluster.ClusterQueueHostedAgentsMacArgs{
    			XcodeVersion: pulumi.String("string"),
    			MacosVersion: pulumi.String("string"),
    		},
    	},
    	RetryAgentAffinity: pulumi.String("string"),
    })
    
    var clusterQueueResource = new ClusterQueue("clusterQueueResource", ClusterQueueArgs.builder()
        .clusterId("string")
        .key("string")
        .description("string")
        .dispatchPaused(false)
        .hostedAgents(ClusterQueueHostedAgentsArgs.builder()
            .instanceShape("string")
            .linux(ClusterQueueHostedAgentsLinuxArgs.builder()
                .agentImageRef("string")
                .build())
            .mac(ClusterQueueHostedAgentsMacArgs.builder()
                .xcodeVersion("string")
                .macosVersion("string")
                .build())
            .build())
        .retryAgentAffinity("string")
        .build());
    
    cluster_queue_resource = buildkite.cluster.ClusterQueue("clusterQueueResource",
        cluster_id="string",
        key="string",
        description="string",
        dispatch_paused=False,
        hosted_agents={
            "instance_shape": "string",
            "linux": {
                "agent_image_ref": "string",
            },
            "mac": {
                "xcode_version": "string",
                "macos_version": "string",
            },
        },
        retry_agent_affinity="string")
    
    const clusterQueueResource = new buildkite.cluster.ClusterQueue("clusterQueueResource", {
        clusterId: "string",
        key: "string",
        description: "string",
        dispatchPaused: false,
        hostedAgents: {
            instanceShape: "string",
            linux: {
                agentImageRef: "string",
            },
            mac: {
                xcodeVersion: "string",
                macosVersion: "string",
            },
        },
        retryAgentAffinity: "string",
    });
    
    type: buildkite:Cluster:ClusterQueue
    properties:
        clusterId: string
        description: string
        dispatchPaused: false
        hostedAgents:
            instanceShape: string
            linux:
                agentImageRef: string
            mac:
                macosVersion: string
                xcodeVersion: string
        key: string
        retryAgentAffinity: string
    

    ClusterQueue Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The ClusterQueue resource accepts the following input properties:

    ClusterId string
    The ID of the cluster that this cluster queue belongs to.
    Key string
    The key of the cluster queue.
    Description string
    A description for the cluster queue.
    DispatchPaused bool
    The dispatch state of a cluster queue.
    HostedAgents Pulumiverse.Buildkite.Cluster.Inputs.ClusterQueueHostedAgents
    Control the settings for the Buildkite hosted agents.
    RetryAgentAffinity string
    Specifies which agent should be preferred when a job is retried. Valid values are prefer-warmest (prefer agents that have recently finished jobs) and prefer-different (prefer a different agent if available). Defaults to prefer-warmest.
    ClusterId string
    The ID of the cluster that this cluster queue belongs to.
    Key string
    The key of the cluster queue.
    Description string
    A description for the cluster queue.
    DispatchPaused bool
    The dispatch state of a cluster queue.
    HostedAgents ClusterQueueHostedAgentsArgs
    Control the settings for the Buildkite hosted agents.
    RetryAgentAffinity string
    Specifies which agent should be preferred when a job is retried. Valid values are prefer-warmest (prefer agents that have recently finished jobs) and prefer-different (prefer a different agent if available). Defaults to prefer-warmest.
    clusterId String
    The ID of the cluster that this cluster queue belongs to.
    key String
    The key of the cluster queue.
    description String
    A description for the cluster queue.
    dispatchPaused Boolean
    The dispatch state of a cluster queue.
    hostedAgents QueueHostedAgents
    Control the settings for the Buildkite hosted agents.
    retryAgentAffinity String
    Specifies which agent should be preferred when a job is retried. Valid values are prefer-warmest (prefer agents that have recently finished jobs) and prefer-different (prefer a different agent if available). Defaults to prefer-warmest.
    clusterId string
    The ID of the cluster that this cluster queue belongs to.
    key string
    The key of the cluster queue.
    description string
    A description for the cluster queue.
    dispatchPaused boolean
    The dispatch state of a cluster queue.
    hostedAgents ClusterQueueHostedAgents
    Control the settings for the Buildkite hosted agents.
    retryAgentAffinity string
    Specifies which agent should be preferred when a job is retried. Valid values are prefer-warmest (prefer agents that have recently finished jobs) and prefer-different (prefer a different agent if available). Defaults to prefer-warmest.
    cluster_id str
    The ID of the cluster that this cluster queue belongs to.
    key str
    The key of the cluster queue.
    description str
    A description for the cluster queue.
    dispatch_paused bool
    The dispatch state of a cluster queue.
    hosted_agents ClusterQueueHostedAgentsArgs
    Control the settings for the Buildkite hosted agents.
    retry_agent_affinity str
    Specifies which agent should be preferred when a job is retried. Valid values are prefer-warmest (prefer agents that have recently finished jobs) and prefer-different (prefer a different agent if available). Defaults to prefer-warmest.
    clusterId String
    The ID of the cluster that this cluster queue belongs to.
    key String
    The key of the cluster queue.
    description String
    A description for the cluster queue.
    dispatchPaused Boolean
    The dispatch state of a cluster queue.
    hostedAgents Property Map
    Control the settings for the Buildkite hosted agents.
    retryAgentAffinity String
    Specifies which agent should be preferred when a job is retried. Valid values are prefer-warmest (prefer agents that have recently finished jobs) and prefer-different (prefer a different agent if available). Defaults to prefer-warmest.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the ClusterQueue resource produces the following output properties:

    ClusterUuid string
    The UUID of the cluster this queue belongs to.
    Id string
    The provider-assigned unique ID for this managed resource.
    Uuid string
    The UUID of the cluster queue.
    ClusterUuid string
    The UUID of the cluster this queue belongs to.
    Id string
    The provider-assigned unique ID for this managed resource.
    Uuid string
    The UUID of the cluster queue.
    clusterUuid String
    The UUID of the cluster this queue belongs to.
    id String
    The provider-assigned unique ID for this managed resource.
    uuid String
    The UUID of the cluster queue.
    clusterUuid string
    The UUID of the cluster this queue belongs to.
    id string
    The provider-assigned unique ID for this managed resource.
    uuid string
    The UUID of the cluster queue.
    cluster_uuid str
    The UUID of the cluster this queue belongs to.
    id str
    The provider-assigned unique ID for this managed resource.
    uuid str
    The UUID of the cluster queue.
    clusterUuid String
    The UUID of the cluster this queue belongs to.
    id String
    The provider-assigned unique ID for this managed resource.
    uuid String
    The UUID of the cluster queue.

    Look up Existing ClusterQueue Resource

    Get an existing ClusterQueue resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: ClusterQueueState, opts?: CustomResourceOptions): ClusterQueue
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            cluster_id: Optional[str] = None,
            cluster_uuid: Optional[str] = None,
            description: Optional[str] = None,
            dispatch_paused: Optional[bool] = None,
            hosted_agents: Optional[ClusterQueueHostedAgentsArgs] = None,
            key: Optional[str] = None,
            retry_agent_affinity: Optional[str] = None,
            uuid: Optional[str] = None) -> ClusterQueue
    func GetClusterQueue(ctx *Context, name string, id IDInput, state *ClusterQueueState, opts ...ResourceOption) (*ClusterQueue, error)
    public static ClusterQueue Get(string name, Input<string> id, ClusterQueueState? state, CustomResourceOptions? opts = null)
    public static ClusterQueue get(String name, Output<String> id, ClusterQueueState state, CustomResourceOptions options)
    resources:  _:    type: buildkite:Cluster:ClusterQueue    get:      id: ${id}
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    ClusterId string
    The ID of the cluster that this cluster queue belongs to.
    ClusterUuid string
    The UUID of the cluster this queue belongs to.
    Description string
    A description for the cluster queue.
    DispatchPaused bool
    The dispatch state of a cluster queue.
    HostedAgents Pulumiverse.Buildkite.Cluster.Inputs.ClusterQueueHostedAgents
    Control the settings for the Buildkite hosted agents.
    Key string
    The key of the cluster queue.
    RetryAgentAffinity string
    Specifies which agent should be preferred when a job is retried. Valid values are prefer-warmest (prefer agents that have recently finished jobs) and prefer-different (prefer a different agent if available). Defaults to prefer-warmest.
    Uuid string
    The UUID of the cluster queue.
    ClusterId string
    The ID of the cluster that this cluster queue belongs to.
    ClusterUuid string
    The UUID of the cluster this queue belongs to.
    Description string
    A description for the cluster queue.
    DispatchPaused bool
    The dispatch state of a cluster queue.
    HostedAgents ClusterQueueHostedAgentsArgs
    Control the settings for the Buildkite hosted agents.
    Key string
    The key of the cluster queue.
    RetryAgentAffinity string
    Specifies which agent should be preferred when a job is retried. Valid values are prefer-warmest (prefer agents that have recently finished jobs) and prefer-different (prefer a different agent if available). Defaults to prefer-warmest.
    Uuid string
    The UUID of the cluster queue.
    clusterId String
    The ID of the cluster that this cluster queue belongs to.
    clusterUuid String
    The UUID of the cluster this queue belongs to.
    description String
    A description for the cluster queue.
    dispatchPaused Boolean
    The dispatch state of a cluster queue.
    hostedAgents QueueHostedAgents
    Control the settings for the Buildkite hosted agents.
    key String
    The key of the cluster queue.
    retryAgentAffinity String
    Specifies which agent should be preferred when a job is retried. Valid values are prefer-warmest (prefer agents that have recently finished jobs) and prefer-different (prefer a different agent if available). Defaults to prefer-warmest.
    uuid String
    The UUID of the cluster queue.
    clusterId string
    The ID of the cluster that this cluster queue belongs to.
    clusterUuid string
    The UUID of the cluster this queue belongs to.
    description string
    A description for the cluster queue.
    dispatchPaused boolean
    The dispatch state of a cluster queue.
    hostedAgents ClusterQueueHostedAgents
    Control the settings for the Buildkite hosted agents.
    key string
    The key of the cluster queue.
    retryAgentAffinity string
    Specifies which agent should be preferred when a job is retried. Valid values are prefer-warmest (prefer agents that have recently finished jobs) and prefer-different (prefer a different agent if available). Defaults to prefer-warmest.
    uuid string
    The UUID of the cluster queue.
    cluster_id str
    The ID of the cluster that this cluster queue belongs to.
    cluster_uuid str
    The UUID of the cluster this queue belongs to.
    description str
    A description for the cluster queue.
    dispatch_paused bool
    The dispatch state of a cluster queue.
    hosted_agents ClusterQueueHostedAgentsArgs
    Control the settings for the Buildkite hosted agents.
    key str
    The key of the cluster queue.
    retry_agent_affinity str
    Specifies which agent should be preferred when a job is retried. Valid values are prefer-warmest (prefer agents that have recently finished jobs) and prefer-different (prefer a different agent if available). Defaults to prefer-warmest.
    uuid str
    The UUID of the cluster queue.
    clusterId String
    The ID of the cluster that this cluster queue belongs to.
    clusterUuid String
    The UUID of the cluster this queue belongs to.
    description String
    A description for the cluster queue.
    dispatchPaused Boolean
    The dispatch state of a cluster queue.
    hostedAgents Property Map
    Control the settings for the Buildkite hosted agents.
    key String
    The key of the cluster queue.
    retryAgentAffinity String
    Specifies which agent should be preferred when a job is retried. Valid values are prefer-warmest (prefer agents that have recently finished jobs) and prefer-different (prefer a different agent if available). Defaults to prefer-warmest.
    uuid String
    The UUID of the cluster queue.

    Supporting Types

    ClusterQueueHostedAgents, ClusterQueueHostedAgentsArgs

    InstanceShape string
    The instance shape to use for the Hosted Agent cluster queue. This can be a MacOS instance shape or a Linux instance shape. Valid values are:

    • MACOS_ARM64_M4_6X28
    • MACOS_ARM64_M4_12X56
    • LINUX_AMD64_2X4
    • LINUX_AMD64_4X16
    • LINUX_AMD64_8X32
    • LINUX_AMD64_16X64
    • LINUX_ARM64_2X4
    • LINUX_ARM64_4X16
    • LINUX_ARM64_8X32
    • LINUX_ARM64_16X64
    Linux Pulumiverse.Buildkite.Cluster.Inputs.ClusterQueueHostedAgentsLinux
    Mac Pulumiverse.Buildkite.Cluster.Inputs.ClusterQueueHostedAgentsMac
    InstanceShape string
    The instance shape to use for the Hosted Agent cluster queue. This can be a MacOS instance shape or a Linux instance shape. Valid values are:

    • MACOS_ARM64_M4_6X28
    • MACOS_ARM64_M4_12X56
    • LINUX_AMD64_2X4
    • LINUX_AMD64_4X16
    • LINUX_AMD64_8X32
    • LINUX_AMD64_16X64
    • LINUX_ARM64_2X4
    • LINUX_ARM64_4X16
    • LINUX_ARM64_8X32
    • LINUX_ARM64_16X64
    Linux ClusterQueueHostedAgentsLinux
    Mac ClusterQueueHostedAgentsMac
    instanceShape String
    The instance shape to use for the Hosted Agent cluster queue. This can be a MacOS instance shape or a Linux instance shape. Valid values are:

    • MACOS_ARM64_M4_6X28
    • MACOS_ARM64_M4_12X56
    • LINUX_AMD64_2X4
    • LINUX_AMD64_4X16
    • LINUX_AMD64_8X32
    • LINUX_AMD64_16X64
    • LINUX_ARM64_2X4
    • LINUX_ARM64_4X16
    • LINUX_ARM64_8X32
    • LINUX_ARM64_16X64
    linux QueueHostedAgentsLinux
    mac QueueHostedAgentsMac
    instanceShape string
    The instance shape to use for the Hosted Agent cluster queue. This can be a MacOS instance shape or a Linux instance shape. Valid values are:

    • MACOS_ARM64_M4_6X28
    • MACOS_ARM64_M4_12X56
    • LINUX_AMD64_2X4
    • LINUX_AMD64_4X16
    • LINUX_AMD64_8X32
    • LINUX_AMD64_16X64
    • LINUX_ARM64_2X4
    • LINUX_ARM64_4X16
    • LINUX_ARM64_8X32
    • LINUX_ARM64_16X64
    linux ClusterQueueHostedAgentsLinux
    mac ClusterQueueHostedAgentsMac
    instance_shape str
    The instance shape to use for the Hosted Agent cluster queue. This can be a MacOS instance shape or a Linux instance shape. Valid values are:

    • MACOS_ARM64_M4_6X28
    • MACOS_ARM64_M4_12X56
    • LINUX_AMD64_2X4
    • LINUX_AMD64_4X16
    • LINUX_AMD64_8X32
    • LINUX_AMD64_16X64
    • LINUX_ARM64_2X4
    • LINUX_ARM64_4X16
    • LINUX_ARM64_8X32
    • LINUX_ARM64_16X64
    linux ClusterQueueHostedAgentsLinux
    mac ClusterQueueHostedAgentsMac
    instanceShape String
    The instance shape to use for the Hosted Agent cluster queue. This can be a MacOS instance shape or a Linux instance shape. Valid values are:

    • MACOS_ARM64_M4_6X28
    • MACOS_ARM64_M4_12X56
    • LINUX_AMD64_2X4
    • LINUX_AMD64_4X16
    • LINUX_AMD64_8X32
    • LINUX_AMD64_16X64
    • LINUX_ARM64_2X4
    • LINUX_ARM64_4X16
    • LINUX_ARM64_8X32
    • LINUX_ARM64_16X64
    linux Property Map
    mac Property Map

    ClusterQueueHostedAgentsLinux, ClusterQueueHostedAgentsLinuxArgs

    AgentImageRef string
    A URL reference to a container image that will be used for jobs running within the queue. This URL is required to be publicly available, or pushed to the internal registry available within the cluster. Please note that this value is currently experimental and in preview. Please contact support@buildkite.com to enable this functionality for your organization.
    AgentImageRef string
    A URL reference to a container image that will be used for jobs running within the queue. This URL is required to be publicly available, or pushed to the internal registry available within the cluster. Please note that this value is currently experimental and in preview. Please contact support@buildkite.com to enable this functionality for your organization.
    agentImageRef String
    A URL reference to a container image that will be used for jobs running within the queue. This URL is required to be publicly available, or pushed to the internal registry available within the cluster. Please note that this value is currently experimental and in preview. Please contact support@buildkite.com to enable this functionality for your organization.
    agentImageRef string
    A URL reference to a container image that will be used for jobs running within the queue. This URL is required to be publicly available, or pushed to the internal registry available within the cluster. Please note that this value is currently experimental and in preview. Please contact support@buildkite.com to enable this functionality for your organization.
    agent_image_ref str
    A URL reference to a container image that will be used for jobs running within the queue. This URL is required to be publicly available, or pushed to the internal registry available within the cluster. Please note that this value is currently experimental and in preview. Please contact support@buildkite.com to enable this functionality for your organization.
    agentImageRef String
    A URL reference to a container image that will be used for jobs running within the queue. This URL is required to be publicly available, or pushed to the internal registry available within the cluster. Please note that this value is currently experimental and in preview. Please contact support@buildkite.com to enable this functionality for your organization.

    ClusterQueueHostedAgentsMac, ClusterQueueHostedAgentsMacArgs

    XcodeVersion string
    Required selection of a specific XCode version to be selected for jobs in the queue to have available. Please note that this value is currently experimental and may not function as expected.
    MacosVersion string
    Optional selection of a specific macOS version to be selected for jobs in the queue to have available. Please note that this value is currently experimental and may not function as expected.
    XcodeVersion string
    Required selection of a specific XCode version to be selected for jobs in the queue to have available. Please note that this value is currently experimental and may not function as expected.
    MacosVersion string
    Optional selection of a specific macOS version to be selected for jobs in the queue to have available. Please note that this value is currently experimental and may not function as expected.
    xcodeVersion String
    Required selection of a specific XCode version to be selected for jobs in the queue to have available. Please note that this value is currently experimental and may not function as expected.
    macosVersion String
    Optional selection of a specific macOS version to be selected for jobs in the queue to have available. Please note that this value is currently experimental and may not function as expected.
    xcodeVersion string
    Required selection of a specific XCode version to be selected for jobs in the queue to have available. Please note that this value is currently experimental and may not function as expected.
    macosVersion string
    Optional selection of a specific macOS version to be selected for jobs in the queue to have available. Please note that this value is currently experimental and may not function as expected.
    xcode_version str
    Required selection of a specific XCode version to be selected for jobs in the queue to have available. Please note that this value is currently experimental and may not function as expected.
    macos_version str
    Optional selection of a specific macOS version to be selected for jobs in the queue to have available. Please note that this value is currently experimental and may not function as expected.
    xcodeVersion String
    Required selection of a specific XCode version to be selected for jobs in the queue to have available. Please note that this value is currently experimental and may not function as expected.
    macosVersion String
    Optional selection of a specific macOS version to be selected for jobs in the queue to have available. Please note that this value is currently experimental and may not function as expected.

    Import

    Using pulumi import, import resources using the id. For example:

    import a cluster queue resource using the GraphQL ID along with its respective cluster UUID

    you can use this query to find the ID:

    query getClusterQueues {

    organization(slug: “ORGANIZATION_SLUG”) {

    cluster(id: "CLUSTER_UUID") {
    
      queues(first: 50) {
    
        edges {
    
          node {
    
            id
    
            key
    
          }
    
        }
    
      }
    
    }
    

    }

    }

    $ pulumi import buildkite:Cluster/clusterQueue:ClusterQueue test Q2x1c3RlclF1ZXVlLS0tYjJiOGRhNTEtOWY5My00Y2MyLTkyMjktMGRiNzg3ZDQzOTAz,35498aaf-ad05-4fa5-9a07-91bf6cacd2bd
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    buildkite pulumiverse/pulumi-buildkite
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the buildkite Terraform Provider.
    buildkite logo
    Viewing docs for Buildkite v3.2.0
    published on Monday, Feb 23, 2026 by Pulumiverse
      Try Pulumi Cloud free. Your team will thank you.