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:
- Cloud
Type string - The cloud type for the cluster template. Examples: 'aws', 'azure', 'gcp', 'vsphere', etc.
- Cluster
Config stringTemplate Id - The ID of this resource.
- Cluster
Profiles List<ClusterConfig Template Cluster Profile> - Set of cluster profile references.
- Context string
- The context of the cluster config template. Allowed values are
projectortenant. Default value isproject. If theprojectcontext is specified, the project name will sourced from the provider configuration parameterproject_name. - Description string
- The description of the cluster config template.
- Name string
- The name of the cluster config template.
- Policy
Cluster
Config Template Policy - List of policy references.
- List<string>
- Assign tags to the cluster config template. Tags can be in the format
key:valueor justkey. - Timeouts
Cluster
Config Template Timeouts - Upgrade
Now 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 string - The cloud type for the cluster template. Examples: 'aws', 'azure', 'gcp', 'vsphere', etc.
- Cluster
Config stringTemplate Id - The ID of this resource.
- Cluster
Profiles []ClusterConfig Template Cluster Profile Args - Set of cluster profile references.
- Context string
- The context of the cluster config template. Allowed values are
projectortenant. Default value isproject. If theprojectcontext is specified, the project name will sourced from the provider configuration parameterproject_name. - Description string
- The description of the cluster config template.
- Name string
- The name of the cluster config template.
- Policy
Cluster
Config Template Policy Args - List of policy references.
- []string
- Assign tags to the cluster config template. Tags can be in the format
key:valueor justkey. - Timeouts
Cluster
Config Template Timeouts Args - Upgrade
Now 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 String - The cloud type for the cluster template. Examples: 'aws', 'azure', 'gcp', 'vsphere', etc.
- cluster
Config StringTemplate Id - The ID of this resource.
- cluster
Profiles List<ClusterConfig Template Cluster Profile> - Set of cluster profile references.
- context String
- The context of the cluster config template. Allowed values are
projectortenant. Default value isproject. If theprojectcontext is specified, the project name will sourced from the provider configuration parameterproject_name. - description String
- The description of the cluster config template.
- name String
- The name of the cluster config template.
- policy
Cluster
Config Template Policy - List of policy references.
- List<String>
- Assign tags to the cluster config template. Tags can be in the format
key:valueor justkey. - timeouts
Cluster
Config Template Timeouts - upgrade
Now 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 string - The cloud type for the cluster template. Examples: 'aws', 'azure', 'gcp', 'vsphere', etc.
- cluster
Config stringTemplate Id - The ID of this resource.
- cluster
Profiles ClusterConfig Template Cluster Profile[] - Set of cluster profile references.
- context string
- The context of the cluster config template. Allowed values are
projectortenant. Default value isproject. If theprojectcontext is specified, the project name will sourced from the provider configuration parameterproject_name. - description string
- The description of the cluster config template.
- name string
- The name of the cluster config template.
- policy
Cluster
Config Template Policy - List of policy references.
- string[]
- Assign tags to the cluster config template. Tags can be in the format
key:valueor justkey. - timeouts
Cluster
Config Template Timeouts - upgrade
Now 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_ strtemplate_ id - The ID of this resource.
- cluster_
profiles Sequence[ClusterConfig Template Cluster Profile Args] - Set of cluster profile references.
- context str
- The context of the cluster config template. Allowed values are
projectortenant. Default value isproject. If theprojectcontext is specified, the project name will sourced from the provider configuration parameterproject_name. - description str
- The description of the cluster config template.
- name str
- The name of the cluster config template.
- policy
Cluster
Config Template Policy Args - List of policy references.
- Sequence[str]
- Assign tags to the cluster config template. Tags can be in the format
key:valueor justkey. - timeouts
Cluster
Config Template Timeouts Args - 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'.
- cloud
Type String - The cloud type for the cluster template. Examples: 'aws', 'azure', 'gcp', 'vsphere', etc.
- cluster
Config StringTemplate Id - The ID of this resource.
- cluster
Profiles List<Property Map> - Set of cluster profile references.
- context String
- The context of the cluster config template. Allowed values are
projectortenant. Default value isproject. If theprojectcontext is specified, the project name will sourced from the provider configuration parameterproject_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.
- List<String>
- Assign tags to the cluster config template. Tags can be in the format
key:valueor justkey. - timeouts Property Map
- upgrade
Now 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:
- Attached
Clusters List<ClusterConfig Template Attached Cluster> - List of clusters attached to this template.
- Execution
State 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 []ClusterConfig Template Attached Cluster - List of clusters attached to this template.
- Execution
State 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 List<ClusterConfig Template Attached Cluster> - List of clusters attached to this template.
- execution
State 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 ClusterConfig Template Attached Cluster[] - List of clusters attached to this template.
- execution
State 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[ClusterConfig Template Attached Cluster] - 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.
- attached
Clusters List<Property Map> - List of clusters attached to this template.
- execution
State 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) -> ClusterConfigTemplatefunc 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.
- Attached
Clusters List<ClusterConfig Template Attached Cluster> - List of clusters attached to this template.
- Cloud
Type string - The cloud type for the cluster template. Examples: 'aws', 'azure', 'gcp', 'vsphere', etc.
- Cluster
Config stringTemplate Id - The ID of this resource.
- Cluster
Profiles List<ClusterConfig Template Cluster Profile> - Set of cluster profile references.
- Context string
- The context of the cluster config template. Allowed values are
projectortenant. Default value isproject. If theprojectcontext is specified, the project name will sourced from the provider configuration parameterproject_name. - Description string
- The description of the cluster config template.
- Execution
State string - Current execution state of the cluster template. Possible values:
Pending,Applied,Failed,PartiallyApplied. - Name string
- The name of the cluster config template.
- Policy
Cluster
Config Template Policy - List of policy references.
- List<string>
- Assign tags to the cluster config template. Tags can be in the format
key:valueor justkey. - Timeouts
Cluster
Config Template Timeouts - Upgrade
Now 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 []ClusterConfig Template Attached Cluster Args - List of clusters attached to this template.
- Cloud
Type string - The cloud type for the cluster template. Examples: 'aws', 'azure', 'gcp', 'vsphere', etc.
- Cluster
Config stringTemplate Id - The ID of this resource.
- Cluster
Profiles []ClusterConfig Template Cluster Profile Args - Set of cluster profile references.
- Context string
- The context of the cluster config template. Allowed values are
projectortenant. Default value isproject. If theprojectcontext is specified, the project name will sourced from the provider configuration parameterproject_name. - Description string
- The description of the cluster config template.
- Execution
State string - Current execution state of the cluster template. Possible values:
Pending,Applied,Failed,PartiallyApplied. - Name string
- The name of the cluster config template.
- Policy
Cluster
Config Template Policy Args - List of policy references.
- []string
- Assign tags to the cluster config template. Tags can be in the format
key:valueor justkey. - Timeouts
Cluster
Config Template Timeouts Args - Upgrade
Now 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 List<ClusterConfig Template Attached Cluster> - List of clusters attached to this template.
- cloud
Type String - The cloud type for the cluster template. Examples: 'aws', 'azure', 'gcp', 'vsphere', etc.
- cluster
Config StringTemplate Id - The ID of this resource.
- cluster
Profiles List<ClusterConfig Template Cluster Profile> - Set of cluster profile references.
- context String
- The context of the cluster config template. Allowed values are
projectortenant. Default value isproject. If theprojectcontext is specified, the project name will sourced from the provider configuration parameterproject_name. - description String
- The description of the cluster config template.
- execution
State String - Current execution state of the cluster template. Possible values:
Pending,Applied,Failed,PartiallyApplied. - name String
- The name of the cluster config template.
- policy
Cluster
Config Template Policy - List of policy references.
- List<String>
- Assign tags to the cluster config template. Tags can be in the format
key:valueor justkey. - timeouts
Cluster
Config Template Timeouts - upgrade
Now 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 ClusterConfig Template Attached Cluster[] - List of clusters attached to this template.
- cloud
Type string - The cloud type for the cluster template. Examples: 'aws', 'azure', 'gcp', 'vsphere', etc.
- cluster
Config stringTemplate Id - The ID of this resource.
- cluster
Profiles ClusterConfig Template Cluster Profile[] - Set of cluster profile references.
- context string
- The context of the cluster config template. Allowed values are
projectortenant. Default value isproject. If theprojectcontext is specified, the project name will sourced from the provider configuration parameterproject_name. - description string
- The description of the cluster config template.
- execution
State string - Current execution state of the cluster template. Possible values:
Pending,Applied,Failed,PartiallyApplied. - name string
- The name of the cluster config template.
- policy
Cluster
Config Template Policy - List of policy references.
- string[]
- Assign tags to the cluster config template. Tags can be in the format
key:valueor justkey. - timeouts
Cluster
Config Template Timeouts - upgrade
Now 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[ClusterConfig Template Attached Cluster Args] - 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_ strtemplate_ id - The ID of this resource.
- cluster_
profiles Sequence[ClusterConfig Template Cluster Profile Args] - Set of cluster profile references.
- context str
- The context of the cluster config template. Allowed values are
projectortenant. Default value isproject. If theprojectcontext is specified, the project name will sourced from the provider configuration parameterproject_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
Cluster
Config Template Policy Args - List of policy references.
- Sequence[str]
- Assign tags to the cluster config template. Tags can be in the format
key:valueor justkey. - timeouts
Cluster
Config Template Timeouts Args - 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'.
- attached
Clusters List<Property Map> - List of clusters attached to this template.
- cloud
Type String - The cloud type for the cluster template. Examples: 'aws', 'azure', 'gcp', 'vsphere', etc.
- cluster
Config StringTemplate Id - The ID of this resource.
- cluster
Profiles List<Property Map> - Set of cluster profile references.
- context String
- The context of the cluster config template. Allowed values are
projectortenant. Default value isproject. If theprojectcontext is specified, the project name will sourced from the provider configuration parameterproject_name. - description String
- The description of the cluster config template.
- execution
State 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.
- List<String>
- Assign tags to the cluster config template. Tags can be in the format
key:valueor justkey. - timeouts Property Map
- upgrade
Now 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
- Cluster
Uid string - Name string
- Cluster
Uid string - Name string
- cluster
Uid String - name String
- cluster
Uid string - name string
- cluster_
uid str - name str
- cluster
Uid String - name String
ClusterConfigTemplateClusterProfile, ClusterConfigTemplateClusterProfileArgs
- Id string
- ID of the cluster profile.
- Variables
List<Cluster
Config Template Cluster Profile Variable> - Set of profile variable values and assignment strategies.
- Id string
- ID of the cluster profile.
- Variables
[]Cluster
Config Template Cluster Profile Variable - Set of profile variable values and assignment strategies.
- id String
- ID of the cluster profile.
- variables
List<Cluster
Config Template Cluster Profile Variable> - Set of profile variable values and assignment strategies.
- id string
- ID of the cluster profile.
- variables
Cluster
Config Template Cluster Profile Variable[] - Set of profile variable values and assignment strategies.
- id str
- ID of the cluster profile.
- variables
Sequence[Cluster
Config Template Cluster Profile Variable] - 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.
- Assign
Strategy string - Assignment strategy for the variable. Allowed values are
allorcluster. Default isall. - 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.
- Assign
Strategy string - Assignment strategy for the variable. Allowed values are
allorcluster. Default isall. - 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.
- assign
Strategy String - Assignment strategy for the variable. Allowed values are
allorcluster. Default isall. - 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.
- assign
Strategy string - Assignment strategy for the variable. Allowed values are
allorcluster. Default isall. - 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
allorcluster. Default isall. - 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.
- assign
Strategy String - Assignment strategy for the variable. Allowed values are
allorcluster. Default isall. - 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
ClusterConfigTemplateTimeouts, ClusterConfigTemplateTimeoutsArgs
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
spectrocloudTerraform Provider.
