1. Packages
  2. Spectrocloud Provider
  3. API Docs
  4. ClusterConfigTemplate
spectrocloud 0.26.0 published on Saturday, Nov 22, 2025 by spectrocloud
spectrocloud logo
spectrocloud 0.26.0 published on Saturday, Nov 22, 2025 by spectrocloud

    A resource for creating and managing cluster config templates. Tech Preview: This resource is in tech preview and may undergo changes.

    Example Usage

    Basic Cluster Config Template

    import * as pulumi from "@pulumi/pulumi";
    import * as spectrocloud from "@pulumi/spectrocloud";
    
    const basicTemplate = new spectrocloud.ClusterConfigTemplate("basic_template", {
        name: "basic-aws-template",
        cloudType: "aws",
        context: "project",
        description: "Basic AWS cluster configuration template",
        tags: [
            "env:production",
            "team:platform",
        ],
        clusterProfiles: [
            {
                id: infraProfile.id,
            },
            {
                id: addonProfile.id,
            },
        ],
    });
    
    import pulumi
    import pulumi_spectrocloud as spectrocloud
    
    basic_template = spectrocloud.ClusterConfigTemplate("basic_template",
        name="basic-aws-template",
        cloud_type="aws",
        context="project",
        description="Basic AWS cluster configuration template",
        tags=[
            "env:production",
            "team:platform",
        ],
        cluster_profiles=[
            {
                "id": infra_profile["id"],
            },
            {
                "id": addon_profile["id"],
            },
        ])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := spectrocloud.NewClusterConfigTemplate(ctx, "basic_template", &spectrocloud.ClusterConfigTemplateArgs{
    			Name:        pulumi.String("basic-aws-template"),
    			CloudType:   pulumi.String("aws"),
    			Context:     pulumi.String("project"),
    			Description: pulumi.String("Basic AWS cluster configuration template"),
    			Tags: pulumi.StringArray{
    				pulumi.String("env:production"),
    				pulumi.String("team:platform"),
    			},
    			ClusterProfiles: spectrocloud.ClusterConfigTemplateClusterProfileArray{
    				&spectrocloud.ClusterConfigTemplateClusterProfileArgs{
    					Id: pulumi.Any(infraProfile.Id),
    				},
    				&spectrocloud.ClusterConfigTemplateClusterProfileArgs{
    					Id: pulumi.Any(addonProfile.Id),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Spectrocloud = Pulumi.Spectrocloud;
    
    return await Deployment.RunAsync(() => 
    {
        var basicTemplate = new Spectrocloud.ClusterConfigTemplate("basic_template", new()
        {
            Name = "basic-aws-template",
            CloudType = "aws",
            Context = "project",
            Description = "Basic AWS cluster configuration template",
            Tags = new[]
            {
                "env:production",
                "team:platform",
            },
            ClusterProfiles = new[]
            {
                new Spectrocloud.Inputs.ClusterConfigTemplateClusterProfileArgs
                {
                    Id = infraProfile.Id,
                },
                new Spectrocloud.Inputs.ClusterConfigTemplateClusterProfileArgs
                {
                    Id = addonProfile.Id,
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.spectrocloud.ClusterConfigTemplate;
    import com.pulumi.spectrocloud.ClusterConfigTemplateArgs;
    import com.pulumi.spectrocloud.inputs.ClusterConfigTemplateClusterProfileArgs;
    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) {
            var basicTemplate = new ClusterConfigTemplate("basicTemplate", ClusterConfigTemplateArgs.builder()
                .name("basic-aws-template")
                .cloudType("aws")
                .context("project")
                .description("Basic AWS cluster configuration template")
                .tags(            
                    "env:production",
                    "team:platform")
                .clusterProfiles(            
                    ClusterConfigTemplateClusterProfileArgs.builder()
                        .id(infraProfile.id())
                        .build(),
                    ClusterConfigTemplateClusterProfileArgs.builder()
                        .id(addonProfile.id())
                        .build())
                .build());
    
        }
    }
    
    resources:
      basicTemplate:
        type: spectrocloud:ClusterConfigTemplate
        name: basic_template
        properties:
          name: basic-aws-template
          cloudType: aws
          context: project
          description: Basic AWS cluster configuration template
          tags:
            - env:production
            - team:platform
          clusterProfiles:
            - id: ${infraProfile.id}
            - id: ${addonProfile.id}
    

    Template with Maintenance Policy

    import * as pulumi from "@pulumi/pulumi";
    import * as spectrocloud from "@pulumi/spectrocloud";
    
    const templateWithPolicy = new spectrocloud.ClusterConfigTemplate("template_with_policy", {
        name: "aws-template-with-maintenance",
        cloudType: "aws",
        context: "project",
        description: "AWS cluster template with maintenance policy",
        tags: [
            "env:staging",
            "critical",
            "automated",
        ],
        clusterProfiles: [{
            id: infraProfile.id,
        }],
        policy: {
            id: weeklyMaintenance.id,
            kind: "maintenance",
        },
    });
    
    import pulumi
    import pulumi_spectrocloud as spectrocloud
    
    template_with_policy = spectrocloud.ClusterConfigTemplate("template_with_policy",
        name="aws-template-with-maintenance",
        cloud_type="aws",
        context="project",
        description="AWS cluster template with maintenance policy",
        tags=[
            "env:staging",
            "critical",
            "automated",
        ],
        cluster_profiles=[{
            "id": infra_profile["id"],
        }],
        policy={
            "id": weekly_maintenance["id"],
            "kind": "maintenance",
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := spectrocloud.NewClusterConfigTemplate(ctx, "template_with_policy", &spectrocloud.ClusterConfigTemplateArgs{
    			Name:        pulumi.String("aws-template-with-maintenance"),
    			CloudType:   pulumi.String("aws"),
    			Context:     pulumi.String("project"),
    			Description: pulumi.String("AWS cluster template with maintenance policy"),
    			Tags: pulumi.StringArray{
    				pulumi.String("env:staging"),
    				pulumi.String("critical"),
    				pulumi.String("automated"),
    			},
    			ClusterProfiles: spectrocloud.ClusterConfigTemplateClusterProfileArray{
    				&spectrocloud.ClusterConfigTemplateClusterProfileArgs{
    					Id: pulumi.Any(infraProfile.Id),
    				},
    			},
    			Policy: &spectrocloud.ClusterConfigTemplatePolicyArgs{
    				Id:   pulumi.Any(weeklyMaintenance.Id),
    				Kind: pulumi.String("maintenance"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Spectrocloud = Pulumi.Spectrocloud;
    
    return await Deployment.RunAsync(() => 
    {
        var templateWithPolicy = new Spectrocloud.ClusterConfigTemplate("template_with_policy", new()
        {
            Name = "aws-template-with-maintenance",
            CloudType = "aws",
            Context = "project",
            Description = "AWS cluster template with maintenance policy",
            Tags = new[]
            {
                "env:staging",
                "critical",
                "automated",
            },
            ClusterProfiles = new[]
            {
                new Spectrocloud.Inputs.ClusterConfigTemplateClusterProfileArgs
                {
                    Id = infraProfile.Id,
                },
            },
            Policy = new Spectrocloud.Inputs.ClusterConfigTemplatePolicyArgs
            {
                Id = weeklyMaintenance.Id,
                Kind = "maintenance",
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.spectrocloud.ClusterConfigTemplate;
    import com.pulumi.spectrocloud.ClusterConfigTemplateArgs;
    import com.pulumi.spectrocloud.inputs.ClusterConfigTemplateClusterProfileArgs;
    import com.pulumi.spectrocloud.inputs.ClusterConfigTemplatePolicyArgs;
    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) {
            var templateWithPolicy = new ClusterConfigTemplate("templateWithPolicy", ClusterConfigTemplateArgs.builder()
                .name("aws-template-with-maintenance")
                .cloudType("aws")
                .context("project")
                .description("AWS cluster template with maintenance policy")
                .tags(            
                    "env:staging",
                    "critical",
                    "automated")
                .clusterProfiles(ClusterConfigTemplateClusterProfileArgs.builder()
                    .id(infraProfile.id())
                    .build())
                .policy(ClusterConfigTemplatePolicyArgs.builder()
                    .id(weeklyMaintenance.id())
                    .kind("maintenance")
                    .build())
                .build());
    
        }
    }
    
    resources:
      templateWithPolicy:
        type: spectrocloud:ClusterConfigTemplate
        name: template_with_policy
        properties:
          name: aws-template-with-maintenance
          cloudType: aws
          context: project
          description: AWS cluster template with maintenance policy
          tags:
            - env:staging
            - critical
            - automated
          clusterProfiles:
            - id: ${infraProfile.id}
          policy:
            id: ${weeklyMaintenance.id}
            kind: maintenance
    

    Tenant-Level Template

    import * as pulumi from "@pulumi/pulumi";
    import * as spectrocloud from "@pulumi/spectrocloud";
    
    const tenantTemplate = new spectrocloud.ClusterConfigTemplate("tenant_template", {
        name: "organization-wide-template",
        cloudType: "azure",
        context: "tenant",
        description: "Organization-wide Azure cluster template",
        tags: [
            "tenant:wide",
            "compliance:required",
        ],
        clusterProfiles: [{
            id: baseProfile.id,
        }],
    });
    
    import pulumi
    import pulumi_spectrocloud as spectrocloud
    
    tenant_template = spectrocloud.ClusterConfigTemplate("tenant_template",
        name="organization-wide-template",
        cloud_type="azure",
        context="tenant",
        description="Organization-wide Azure cluster template",
        tags=[
            "tenant:wide",
            "compliance:required",
        ],
        cluster_profiles=[{
            "id": base_profile["id"],
        }])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := spectrocloud.NewClusterConfigTemplate(ctx, "tenant_template", &spectrocloud.ClusterConfigTemplateArgs{
    			Name:        pulumi.String("organization-wide-template"),
    			CloudType:   pulumi.String("azure"),
    			Context:     pulumi.String("tenant"),
    			Description: pulumi.String("Organization-wide Azure cluster template"),
    			Tags: pulumi.StringArray{
    				pulumi.String("tenant:wide"),
    				pulumi.String("compliance:required"),
    			},
    			ClusterProfiles: spectrocloud.ClusterConfigTemplateClusterProfileArray{
    				&spectrocloud.ClusterConfigTemplateClusterProfileArgs{
    					Id: pulumi.Any(baseProfile.Id),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Spectrocloud = Pulumi.Spectrocloud;
    
    return await Deployment.RunAsync(() => 
    {
        var tenantTemplate = new Spectrocloud.ClusterConfigTemplate("tenant_template", new()
        {
            Name = "organization-wide-template",
            CloudType = "azure",
            Context = "tenant",
            Description = "Organization-wide Azure cluster template",
            Tags = new[]
            {
                "tenant:wide",
                "compliance:required",
            },
            ClusterProfiles = new[]
            {
                new Spectrocloud.Inputs.ClusterConfigTemplateClusterProfileArgs
                {
                    Id = baseProfile.Id,
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.spectrocloud.ClusterConfigTemplate;
    import com.pulumi.spectrocloud.ClusterConfigTemplateArgs;
    import com.pulumi.spectrocloud.inputs.ClusterConfigTemplateClusterProfileArgs;
    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) {
            var tenantTemplate = new ClusterConfigTemplate("tenantTemplate", ClusterConfigTemplateArgs.builder()
                .name("organization-wide-template")
                .cloudType("azure")
                .context("tenant")
                .description("Organization-wide Azure cluster template")
                .tags(            
                    "tenant:wide",
                    "compliance:required")
                .clusterProfiles(ClusterConfigTemplateClusterProfileArgs.builder()
                    .id(baseProfile.id())
                    .build())
                .build());
    
        }
    }
    
    resources:
      tenantTemplate:
        type: spectrocloud:ClusterConfigTemplate
        name: tenant_template
        properties:
          name: organization-wide-template
          cloudType: azure
          context: tenant
          description: Organization-wide Azure cluster template
          tags:
            - tenant:wide
            - compliance:required
          clusterProfiles:
            - id: ${baseProfile.id}
    

    Create ClusterConfigTemplate Resource

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

    Constructor syntax

    new ClusterConfigTemplate(name: string, args: ClusterConfigTemplateArgs, opts?: CustomResourceOptions);
    @overload
    def ClusterConfigTemplate(resource_name: str,
                              args: ClusterConfigTemplateArgs,
                              opts: Optional[ResourceOptions] = None)
    
    @overload
    def ClusterConfigTemplate(resource_name: str,
                              opts: Optional[ResourceOptions] = None,
                              cloud_type: Optional[str] = None,
                              cluster_config_template_id: Optional[str] = None,
                              cluster_profiles: Optional[Sequence[ClusterConfigTemplateClusterProfileArgs]] = None,
                              context: Optional[str] = None,
                              description: Optional[str] = None,
                              name: Optional[str] = None,
                              policy: Optional[ClusterConfigTemplatePolicyArgs] = None,
                              tags: Optional[Sequence[str]] = None,
                              timeouts: Optional[ClusterConfigTemplateTimeoutsArgs] = None,
                              upgrade_now: Optional[str] = None)
    func NewClusterConfigTemplate(ctx *Context, name string, args ClusterConfigTemplateArgs, opts ...ResourceOption) (*ClusterConfigTemplate, error)
    public ClusterConfigTemplate(string name, ClusterConfigTemplateArgs args, CustomResourceOptions? opts = null)
    public ClusterConfigTemplate(String name, ClusterConfigTemplateArgs args)
    public ClusterConfigTemplate(String name, ClusterConfigTemplateArgs args, CustomResourceOptions options)
    
    type: spectrocloud:ClusterConfigTemplate
    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 ClusterConfigTemplateArgs
    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 ClusterConfigTemplateArgs
    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 ClusterConfigTemplateArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ClusterConfigTemplateArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ClusterConfigTemplateArgs
    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 clusterConfigTemplateResource = new Spectrocloud.ClusterConfigTemplate("clusterConfigTemplateResource", new()
    {
        CloudType = "string",
        ClusterConfigTemplateId = "string",
        ClusterProfiles = new[]
        {
            new Spectrocloud.Inputs.ClusterConfigTemplateClusterProfileArgs
            {
                Id = "string",
                Variables = new[]
                {
                    new Spectrocloud.Inputs.ClusterConfigTemplateClusterProfileVariableArgs
                    {
                        Name = "string",
                        AssignStrategy = "string",
                        Value = "string",
                    },
                },
            },
        },
        Context = "string",
        Description = "string",
        Name = "string",
        Policy = new Spectrocloud.Inputs.ClusterConfigTemplatePolicyArgs
        {
            Id = "string",
            Kind = "string",
        },
        Tags = new[]
        {
            "string",
        },
        Timeouts = new Spectrocloud.Inputs.ClusterConfigTemplateTimeoutsArgs
        {
            Create = "string",
            Delete = "string",
            Update = "string",
        },
        UpgradeNow = "string",
    });
    
    example, err := spectrocloud.NewClusterConfigTemplate(ctx, "clusterConfigTemplateResource", &spectrocloud.ClusterConfigTemplateArgs{
    	CloudType:               pulumi.String("string"),
    	ClusterConfigTemplateId: pulumi.String("string"),
    	ClusterProfiles: spectrocloud.ClusterConfigTemplateClusterProfileArray{
    		&spectrocloud.ClusterConfigTemplateClusterProfileArgs{
    			Id: pulumi.String("string"),
    			Variables: spectrocloud.ClusterConfigTemplateClusterProfileVariableArray{
    				&spectrocloud.ClusterConfigTemplateClusterProfileVariableArgs{
    					Name:           pulumi.String("string"),
    					AssignStrategy: pulumi.String("string"),
    					Value:          pulumi.String("string"),
    				},
    			},
    		},
    	},
    	Context:     pulumi.String("string"),
    	Description: pulumi.String("string"),
    	Name:        pulumi.String("string"),
    	Policy: &spectrocloud.ClusterConfigTemplatePolicyArgs{
    		Id:   pulumi.String("string"),
    		Kind: pulumi.String("string"),
    	},
    	Tags: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Timeouts: &spectrocloud.ClusterConfigTemplateTimeoutsArgs{
    		Create: pulumi.String("string"),
    		Delete: pulumi.String("string"),
    		Update: pulumi.String("string"),
    	},
    	UpgradeNow: pulumi.String("string"),
    })
    
    var clusterConfigTemplateResource = new ClusterConfigTemplate("clusterConfigTemplateResource", ClusterConfigTemplateArgs.builder()
        .cloudType("string")
        .clusterConfigTemplateId("string")
        .clusterProfiles(ClusterConfigTemplateClusterProfileArgs.builder()
            .id("string")
            .variables(ClusterConfigTemplateClusterProfileVariableArgs.builder()
                .name("string")
                .assignStrategy("string")
                .value("string")
                .build())
            .build())
        .context("string")
        .description("string")
        .name("string")
        .policy(ClusterConfigTemplatePolicyArgs.builder()
            .id("string")
            .kind("string")
            .build())
        .tags("string")
        .timeouts(ClusterConfigTemplateTimeoutsArgs.builder()
            .create("string")
            .delete("string")
            .update("string")
            .build())
        .upgradeNow("string")
        .build());
    
    cluster_config_template_resource = spectrocloud.ClusterConfigTemplate("clusterConfigTemplateResource",
        cloud_type="string",
        cluster_config_template_id="string",
        cluster_profiles=[{
            "id": "string",
            "variables": [{
                "name": "string",
                "assign_strategy": "string",
                "value": "string",
            }],
        }],
        context="string",
        description="string",
        name="string",
        policy={
            "id": "string",
            "kind": "string",
        },
        tags=["string"],
        timeouts={
            "create": "string",
            "delete": "string",
            "update": "string",
        },
        upgrade_now="string")
    
    const clusterConfigTemplateResource = new spectrocloud.ClusterConfigTemplate("clusterConfigTemplateResource", {
        cloudType: "string",
        clusterConfigTemplateId: "string",
        clusterProfiles: [{
            id: "string",
            variables: [{
                name: "string",
                assignStrategy: "string",
                value: "string",
            }],
        }],
        context: "string",
        description: "string",
        name: "string",
        policy: {
            id: "string",
            kind: "string",
        },
        tags: ["string"],
        timeouts: {
            create: "string",
            "delete": "string",
            update: "string",
        },
        upgradeNow: "string",
    });
    
    type: spectrocloud:ClusterConfigTemplate
    properties:
        cloudType: string
        clusterConfigTemplateId: string
        clusterProfiles:
            - id: string
              variables:
                - assignStrategy: string
                  name: string
                  value: string
        context: string
        description: string
        name: string
        policy:
            id: string
            kind: string
        tags:
            - string
        timeouts:
            create: string
            delete: string
            update: string
        upgradeNow: string
    

    ClusterConfigTemplate 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 ClusterConfigTemplate resource accepts the following input properties:

    CloudType string
    The cloud type for the cluster template. Examples: 'aws', 'azure', 'gcp', 'vsphere', etc.
    ClusterConfigTemplateId string
    The ID of this resource.
    ClusterProfiles List<ClusterConfigTemplateClusterProfile>
    Set of cluster profile references.
    Context string
    The context of the cluster config template. Allowed values are project or tenant. Default value is project. If the project context is specified, the project name will sourced from the provider configuration parameter project_name.
    Description string
    The description of the cluster config template.
    Name string
    The name of the cluster config template.
    Policy ClusterConfigTemplatePolicy
    List of policy references.
    Tags List<string>
    Assign tags to the cluster config template. Tags can be in the format key:value or just key.
    Timeouts ClusterConfigTemplateTimeouts
    UpgradeNow string
    Timestamp to trigger an immediate upgrade for all clusters launched from this template. NOTE: The upgrade executes immediately when this value changes - the timestamp does NOT schedule a future upgrade. Set this to the current timestamp each time you want to trigger an upgrade. This field can also be used for tracking when upgrades were triggered by the user. Format: RFC3339 (e.g., '2024-01-15T10:30:00Z'). Example: To trigger an upgrade now, set to current time like '2024-11-12T15:30:00Z'.
    CloudType string
    The cloud type for the cluster template. Examples: 'aws', 'azure', 'gcp', 'vsphere', etc.
    ClusterConfigTemplateId string
    The ID of this resource.
    ClusterProfiles []ClusterConfigTemplateClusterProfileArgs
    Set of cluster profile references.
    Context string
    The context of the cluster config template. Allowed values are project or tenant. Default value is project. If the project context is specified, the project name will sourced from the provider configuration parameter project_name.
    Description string
    The description of the cluster config template.
    Name string
    The name of the cluster config template.
    Policy ClusterConfigTemplatePolicyArgs
    List of policy references.
    Tags []string
    Assign tags to the cluster config template. Tags can be in the format key:value or just key.
    Timeouts ClusterConfigTemplateTimeoutsArgs
    UpgradeNow string
    Timestamp to trigger an immediate upgrade for all clusters launched from this template. NOTE: The upgrade executes immediately when this value changes - the timestamp does NOT schedule a future upgrade. Set this to the current timestamp each time you want to trigger an upgrade. This field can also be used for tracking when upgrades were triggered by the user. Format: RFC3339 (e.g., '2024-01-15T10:30:00Z'). Example: To trigger an upgrade now, set to current time like '2024-11-12T15:30:00Z'.
    cloudType String
    The cloud type for the cluster template. Examples: 'aws', 'azure', 'gcp', 'vsphere', etc.
    clusterConfigTemplateId String
    The ID of this resource.
    clusterProfiles List<ClusterConfigTemplateClusterProfile>
    Set of cluster profile references.
    context String
    The context of the cluster config template. Allowed values are project or tenant. Default value is project. If the project context is specified, the project name will sourced from the provider configuration parameter project_name.
    description String
    The description of the cluster config template.
    name String
    The name of the cluster config template.
    policy ClusterConfigTemplatePolicy
    List of policy references.
    tags List<String>
    Assign tags to the cluster config template. Tags can be in the format key:value or just key.
    timeouts ClusterConfigTemplateTimeouts
    upgradeNow String
    Timestamp to trigger an immediate upgrade for all clusters launched from this template. NOTE: The upgrade executes immediately when this value changes - the timestamp does NOT schedule a future upgrade. Set this to the current timestamp each time you want to trigger an upgrade. This field can also be used for tracking when upgrades were triggered by the user. Format: RFC3339 (e.g., '2024-01-15T10:30:00Z'). Example: To trigger an upgrade now, set to current time like '2024-11-12T15:30:00Z'.
    cloudType string
    The cloud type for the cluster template. Examples: 'aws', 'azure', 'gcp', 'vsphere', etc.
    clusterConfigTemplateId string
    The ID of this resource.
    clusterProfiles ClusterConfigTemplateClusterProfile[]
    Set of cluster profile references.
    context string
    The context of the cluster config template. Allowed values are project or tenant. Default value is project. If the project context is specified, the project name will sourced from the provider configuration parameter project_name.
    description string
    The description of the cluster config template.
    name string
    The name of the cluster config template.
    policy ClusterConfigTemplatePolicy
    List of policy references.
    tags string[]
    Assign tags to the cluster config template. Tags can be in the format key:value or just key.
    timeouts ClusterConfigTemplateTimeouts
    upgradeNow string
    Timestamp to trigger an immediate upgrade for all clusters launched from this template. NOTE: The upgrade executes immediately when this value changes - the timestamp does NOT schedule a future upgrade. Set this to the current timestamp each time you want to trigger an upgrade. This field can also be used for tracking when upgrades were triggered by the user. Format: RFC3339 (e.g., '2024-01-15T10:30:00Z'). Example: To trigger an upgrade now, set to current time like '2024-11-12T15:30:00Z'.
    cloud_type str
    The cloud type for the cluster template. Examples: 'aws', 'azure', 'gcp', 'vsphere', etc.
    cluster_config_template_id str
    The ID of this resource.
    cluster_profiles Sequence[ClusterConfigTemplateClusterProfileArgs]
    Set of cluster profile references.
    context str
    The context of the cluster config template. Allowed values are project or tenant. Default value is project. If the project context is specified, the project name will sourced from the provider configuration parameter project_name.
    description str
    The description of the cluster config template.
    name str
    The name of the cluster config template.
    policy ClusterConfigTemplatePolicyArgs
    List of policy references.
    tags Sequence[str]
    Assign tags to the cluster config template. Tags can be in the format key:value or just key.
    timeouts ClusterConfigTemplateTimeoutsArgs
    upgrade_now str
    Timestamp to trigger an immediate upgrade for all clusters launched from this template. NOTE: The upgrade executes immediately when this value changes - the timestamp does NOT schedule a future upgrade. Set this to the current timestamp each time you want to trigger an upgrade. This field can also be used for tracking when upgrades were triggered by the user. Format: RFC3339 (e.g., '2024-01-15T10:30:00Z'). Example: To trigger an upgrade now, set to current time like '2024-11-12T15:30:00Z'.
    cloudType String
    The cloud type for the cluster template. Examples: 'aws', 'azure', 'gcp', 'vsphere', etc.
    clusterConfigTemplateId String
    The ID of this resource.
    clusterProfiles List<Property Map>
    Set of cluster profile references.
    context String
    The context of the cluster config template. Allowed values are project or tenant. Default value is project. If the project context is specified, the project name will sourced from the provider configuration parameter project_name.
    description String
    The description of the cluster config template.
    name String
    The name of the cluster config template.
    policy Property Map
    List of policy references.
    tags List<String>
    Assign tags to the cluster config template. Tags can be in the format key:value or just key.
    timeouts Property Map
    upgradeNow String
    Timestamp to trigger an immediate upgrade for all clusters launched from this template. NOTE: The upgrade executes immediately when this value changes - the timestamp does NOT schedule a future upgrade. Set this to the current timestamp each time you want to trigger an upgrade. This field can also be used for tracking when upgrades were triggered by the user. Format: RFC3339 (e.g., '2024-01-15T10:30:00Z'). Example: To trigger an upgrade now, set to current time like '2024-11-12T15:30:00Z'.

    Outputs

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

    AttachedClusters List<ClusterConfigTemplateAttachedCluster>
    List of clusters attached to this template.
    ExecutionState string
    Current execution state of the cluster template. Possible values: Pending, Applied, Failed, PartiallyApplied.
    Id string
    The provider-assigned unique ID for this managed resource.
    AttachedClusters []ClusterConfigTemplateAttachedCluster
    List of clusters attached to this template.
    ExecutionState string
    Current execution state of the cluster template. Possible values: Pending, Applied, Failed, PartiallyApplied.
    Id string
    The provider-assigned unique ID for this managed resource.
    attachedClusters List<ClusterConfigTemplateAttachedCluster>
    List of clusters attached to this template.
    executionState String
    Current execution state of the cluster template. Possible values: Pending, Applied, Failed, PartiallyApplied.
    id String
    The provider-assigned unique ID for this managed resource.
    attachedClusters ClusterConfigTemplateAttachedCluster[]
    List of clusters attached to this template.
    executionState string
    Current execution state of the cluster template. Possible values: Pending, Applied, Failed, PartiallyApplied.
    id string
    The provider-assigned unique ID for this managed resource.
    attached_clusters Sequence[ClusterConfigTemplateAttachedCluster]
    List of clusters attached to this template.
    execution_state str
    Current execution state of the cluster template. Possible values: Pending, Applied, Failed, PartiallyApplied.
    id str
    The provider-assigned unique ID for this managed resource.
    attachedClusters List<Property Map>
    List of clusters attached to this template.
    executionState String
    Current execution state of the cluster template. Possible values: Pending, Applied, Failed, PartiallyApplied.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing ClusterConfigTemplate Resource

    Get an existing ClusterConfigTemplate 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?: ClusterConfigTemplateState, opts?: CustomResourceOptions): ClusterConfigTemplate
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            attached_clusters: Optional[Sequence[ClusterConfigTemplateAttachedClusterArgs]] = None,
            cloud_type: Optional[str] = None,
            cluster_config_template_id: Optional[str] = None,
            cluster_profiles: Optional[Sequence[ClusterConfigTemplateClusterProfileArgs]] = None,
            context: Optional[str] = None,
            description: Optional[str] = None,
            execution_state: Optional[str] = None,
            name: Optional[str] = None,
            policy: Optional[ClusterConfigTemplatePolicyArgs] = None,
            tags: Optional[Sequence[str]] = None,
            timeouts: Optional[ClusterConfigTemplateTimeoutsArgs] = None,
            upgrade_now: Optional[str] = None) -> ClusterConfigTemplate
    func GetClusterConfigTemplate(ctx *Context, name string, id IDInput, state *ClusterConfigTemplateState, opts ...ResourceOption) (*ClusterConfigTemplate, error)
    public static ClusterConfigTemplate Get(string name, Input<string> id, ClusterConfigTemplateState? state, CustomResourceOptions? opts = null)
    public static ClusterConfigTemplate get(String name, Output<String> id, ClusterConfigTemplateState state, CustomResourceOptions options)
    resources:  _:    type: spectrocloud:ClusterConfigTemplate    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:
    AttachedClusters List<ClusterConfigTemplateAttachedCluster>
    List of clusters attached to this template.
    CloudType string
    The cloud type for the cluster template. Examples: 'aws', 'azure', 'gcp', 'vsphere', etc.
    ClusterConfigTemplateId string
    The ID of this resource.
    ClusterProfiles List<ClusterConfigTemplateClusterProfile>
    Set of cluster profile references.
    Context string
    The context of the cluster config template. Allowed values are project or tenant. Default value is project. If the project context is specified, the project name will sourced from the provider configuration parameter project_name.
    Description string
    The description of the cluster config template.
    ExecutionState string
    Current execution state of the cluster template. Possible values: Pending, Applied, Failed, PartiallyApplied.
    Name string
    The name of the cluster config template.
    Policy ClusterConfigTemplatePolicy
    List of policy references.
    Tags List<string>
    Assign tags to the cluster config template. Tags can be in the format key:value or just key.
    Timeouts ClusterConfigTemplateTimeouts
    UpgradeNow string
    Timestamp to trigger an immediate upgrade for all clusters launched from this template. NOTE: The upgrade executes immediately when this value changes - the timestamp does NOT schedule a future upgrade. Set this to the current timestamp each time you want to trigger an upgrade. This field can also be used for tracking when upgrades were triggered by the user. Format: RFC3339 (e.g., '2024-01-15T10:30:00Z'). Example: To trigger an upgrade now, set to current time like '2024-11-12T15:30:00Z'.
    AttachedClusters []ClusterConfigTemplateAttachedClusterArgs
    List of clusters attached to this template.
    CloudType string
    The cloud type for the cluster template. Examples: 'aws', 'azure', 'gcp', 'vsphere', etc.
    ClusterConfigTemplateId string
    The ID of this resource.
    ClusterProfiles []ClusterConfigTemplateClusterProfileArgs
    Set of cluster profile references.
    Context string
    The context of the cluster config template. Allowed values are project or tenant. Default value is project. If the project context is specified, the project name will sourced from the provider configuration parameter project_name.
    Description string
    The description of the cluster config template.
    ExecutionState string
    Current execution state of the cluster template. Possible values: Pending, Applied, Failed, PartiallyApplied.
    Name string
    The name of the cluster config template.
    Policy ClusterConfigTemplatePolicyArgs
    List of policy references.
    Tags []string
    Assign tags to the cluster config template. Tags can be in the format key:value or just key.
    Timeouts ClusterConfigTemplateTimeoutsArgs
    UpgradeNow string
    Timestamp to trigger an immediate upgrade for all clusters launched from this template. NOTE: The upgrade executes immediately when this value changes - the timestamp does NOT schedule a future upgrade. Set this to the current timestamp each time you want to trigger an upgrade. This field can also be used for tracking when upgrades were triggered by the user. Format: RFC3339 (e.g., '2024-01-15T10:30:00Z'). Example: To trigger an upgrade now, set to current time like '2024-11-12T15:30:00Z'.
    attachedClusters List<ClusterConfigTemplateAttachedCluster>
    List of clusters attached to this template.
    cloudType String
    The cloud type for the cluster template. Examples: 'aws', 'azure', 'gcp', 'vsphere', etc.
    clusterConfigTemplateId String
    The ID of this resource.
    clusterProfiles List<ClusterConfigTemplateClusterProfile>
    Set of cluster profile references.
    context String
    The context of the cluster config template. Allowed values are project or tenant. Default value is project. If the project context is specified, the project name will sourced from the provider configuration parameter project_name.
    description String
    The description of the cluster config template.
    executionState String
    Current execution state of the cluster template. Possible values: Pending, Applied, Failed, PartiallyApplied.
    name String
    The name of the cluster config template.
    policy ClusterConfigTemplatePolicy
    List of policy references.
    tags List<String>
    Assign tags to the cluster config template. Tags can be in the format key:value or just key.
    timeouts ClusterConfigTemplateTimeouts
    upgradeNow String
    Timestamp to trigger an immediate upgrade for all clusters launched from this template. NOTE: The upgrade executes immediately when this value changes - the timestamp does NOT schedule a future upgrade. Set this to the current timestamp each time you want to trigger an upgrade. This field can also be used for tracking when upgrades were triggered by the user. Format: RFC3339 (e.g., '2024-01-15T10:30:00Z'). Example: To trigger an upgrade now, set to current time like '2024-11-12T15:30:00Z'.
    attachedClusters ClusterConfigTemplateAttachedCluster[]
    List of clusters attached to this template.
    cloudType string
    The cloud type for the cluster template. Examples: 'aws', 'azure', 'gcp', 'vsphere', etc.
    clusterConfigTemplateId string
    The ID of this resource.
    clusterProfiles ClusterConfigTemplateClusterProfile[]
    Set of cluster profile references.
    context string
    The context of the cluster config template. Allowed values are project or tenant. Default value is project. If the project context is specified, the project name will sourced from the provider configuration parameter project_name.
    description string
    The description of the cluster config template.
    executionState string
    Current execution state of the cluster template. Possible values: Pending, Applied, Failed, PartiallyApplied.
    name string
    The name of the cluster config template.
    policy ClusterConfigTemplatePolicy
    List of policy references.
    tags string[]
    Assign tags to the cluster config template. Tags can be in the format key:value or just key.
    timeouts ClusterConfigTemplateTimeouts
    upgradeNow string
    Timestamp to trigger an immediate upgrade for all clusters launched from this template. NOTE: The upgrade executes immediately when this value changes - the timestamp does NOT schedule a future upgrade. Set this to the current timestamp each time you want to trigger an upgrade. This field can also be used for tracking when upgrades were triggered by the user. Format: RFC3339 (e.g., '2024-01-15T10:30:00Z'). Example: To trigger an upgrade now, set to current time like '2024-11-12T15:30:00Z'.
    attached_clusters Sequence[ClusterConfigTemplateAttachedClusterArgs]
    List of clusters attached to this template.
    cloud_type str
    The cloud type for the cluster template. Examples: 'aws', 'azure', 'gcp', 'vsphere', etc.
    cluster_config_template_id str
    The ID of this resource.
    cluster_profiles Sequence[ClusterConfigTemplateClusterProfileArgs]
    Set of cluster profile references.
    context str
    The context of the cluster config template. Allowed values are project or tenant. Default value is project. If the project context is specified, the project name will sourced from the provider configuration parameter project_name.
    description str
    The description of the cluster config template.
    execution_state str
    Current execution state of the cluster template. Possible values: Pending, Applied, Failed, PartiallyApplied.
    name str
    The name of the cluster config template.
    policy ClusterConfigTemplatePolicyArgs
    List of policy references.
    tags Sequence[str]
    Assign tags to the cluster config template. Tags can be in the format key:value or just key.
    timeouts ClusterConfigTemplateTimeoutsArgs
    upgrade_now str
    Timestamp to trigger an immediate upgrade for all clusters launched from this template. NOTE: The upgrade executes immediately when this value changes - the timestamp does NOT schedule a future upgrade. Set this to the current timestamp each time you want to trigger an upgrade. This field can also be used for tracking when upgrades were triggered by the user. Format: RFC3339 (e.g., '2024-01-15T10:30:00Z'). Example: To trigger an upgrade now, set to current time like '2024-11-12T15:30:00Z'.
    attachedClusters List<Property Map>
    List of clusters attached to this template.
    cloudType String
    The cloud type for the cluster template. Examples: 'aws', 'azure', 'gcp', 'vsphere', etc.
    clusterConfigTemplateId String
    The ID of this resource.
    clusterProfiles List<Property Map>
    Set of cluster profile references.
    context String
    The context of the cluster config template. Allowed values are project or tenant. Default value is project. If the project context is specified, the project name will sourced from the provider configuration parameter project_name.
    description String
    The description of the cluster config template.
    executionState String
    Current execution state of the cluster template. Possible values: Pending, Applied, Failed, PartiallyApplied.
    name String
    The name of the cluster config template.
    policy Property Map
    List of policy references.
    tags List<String>
    Assign tags to the cluster config template. Tags can be in the format key:value or just key.
    timeouts Property Map
    upgradeNow String
    Timestamp to trigger an immediate upgrade for all clusters launched from this template. NOTE: The upgrade executes immediately when this value changes - the timestamp does NOT schedule a future upgrade. Set this to the current timestamp each time you want to trigger an upgrade. This field can also be used for tracking when upgrades were triggered by the user. Format: RFC3339 (e.g., '2024-01-15T10:30:00Z'). Example: To trigger an upgrade now, set to current time like '2024-11-12T15:30:00Z'.

    Supporting Types

    ClusterConfigTemplateAttachedCluster, ClusterConfigTemplateAttachedClusterArgs

    ClusterUid string
    Name string
    ClusterUid string
    Name string
    clusterUid String
    name String
    clusterUid string
    name string
    clusterUid String
    name String

    ClusterConfigTemplateClusterProfile, ClusterConfigTemplateClusterProfileArgs

    Id string
    ID of the cluster profile.
    Variables List<ClusterConfigTemplateClusterProfileVariable>
    Set of profile variable values and assignment strategies.
    Id string
    ID of the cluster profile.
    Variables []ClusterConfigTemplateClusterProfileVariable
    Set of profile variable values and assignment strategies.
    id String
    ID of the cluster profile.
    variables List<ClusterConfigTemplateClusterProfileVariable>
    Set of profile variable values and assignment strategies.
    id string
    ID of the cluster profile.
    variables ClusterConfigTemplateClusterProfileVariable[]
    Set of profile variable values and assignment strategies.
    id str
    ID of the cluster profile.
    variables Sequence[ClusterConfigTemplateClusterProfileVariable]
    Set of profile variable values and assignment strategies.
    id String
    ID of the cluster profile.
    variables List<Property Map>
    Set of profile variable values and assignment strategies.

    ClusterConfigTemplateClusterProfileVariable, ClusterConfigTemplateClusterProfileVariableArgs

    Name string
    Name of the variable.
    AssignStrategy string
    Assignment strategy for the variable. Allowed values are all or cluster. Default is all.
    Value string
    Value of the variable to be applied to all clusters launched from this template. This value is used when assign_strategy is set to 'all'.
    Name string
    Name of the variable.
    AssignStrategy string
    Assignment strategy for the variable. Allowed values are all or cluster. Default is all.
    Value string
    Value of the variable to be applied to all clusters launched from this template. This value is used when assign_strategy is set to 'all'.
    name String
    Name of the variable.
    assignStrategy String
    Assignment strategy for the variable. Allowed values are all or cluster. Default is all.
    value String
    Value of the variable to be applied to all clusters launched from this template. This value is used when assign_strategy is set to 'all'.
    name string
    Name of the variable.
    assignStrategy string
    Assignment strategy for the variable. Allowed values are all or cluster. Default is all.
    value string
    Value of the variable to be applied to all clusters launched from this template. This value is used when assign_strategy is set to 'all'.
    name str
    Name of the variable.
    assign_strategy str
    Assignment strategy for the variable. Allowed values are all or cluster. Default is all.
    value str
    Value of the variable to be applied to all clusters launched from this template. This value is used when assign_strategy is set to 'all'.
    name String
    Name of the variable.
    assignStrategy String
    Assignment strategy for the variable. Allowed values are all or cluster. Default is all.
    value String
    Value of the variable to be applied to all clusters launched from this template. This value is used when assign_strategy is set to 'all'.

    ClusterConfigTemplatePolicy, ClusterConfigTemplatePolicyArgs

    Id string
    ID of the policy.
    Kind string
    Kind of the policy.
    Id string
    ID of the policy.
    Kind string
    Kind of the policy.
    id String
    ID of the policy.
    kind String
    Kind of the policy.
    id string
    ID of the policy.
    kind string
    Kind of the policy.
    id str
    ID of the policy.
    kind str
    Kind of the policy.
    id String
    ID of the policy.
    kind String
    Kind of the policy.

    ClusterConfigTemplateTimeouts, ClusterConfigTemplateTimeoutsArgs

    Create string
    Delete string
    Update string
    Create string
    Delete string
    Update string
    create String
    delete String
    update String
    create string
    delete string
    update string
    create str
    delete str
    update str
    create String
    delete String
    update String

    Import

    Cluster config templates can be imported using the template ID:

    $ pulumi import spectrocloud:index/clusterConfigTemplate:ClusterConfigTemplate example <template-id>
    

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

    Package Details

    Repository
    spectrocloud spectrocloud/terraform-provider-spectrocloud
    License
    Notes
    This Pulumi package is based on the spectrocloud Terraform Provider.
    spectrocloud logo
    spectrocloud 0.26.0 published on Saturday, Nov 22, 2025 by spectrocloud
      Meet Neo: Your AI Platform Teammate