published on Thursday, May 21, 2026 by Pulumi Labs
published on Thursday, May 21, 2026 by Pulumi Labs
Create ClusterStack Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new ClusterStack(name: string, args: ClusterStackArgs, opts?: ComponentResourceOptions);@overload
def ClusterStack(resource_name: str,
args: ClusterStackArgs,
opts: Optional[ResourceOptions] = None)
@overload
def ClusterStack(resource_name: str,
opts: Optional[ResourceOptions] = None,
accelerator: Optional[str] = None,
intent: Optional[str] = None,
service: Optional[str] = None,
component_overrides: Optional[Mapping[str, ComponentOverrideArgs]] = None,
context: Optional[str] = None,
kubeconfig: Optional[str] = None,
kubeconfig_path: Optional[str] = None,
os: Optional[str] = None,
platform: Optional[str] = None,
skip_await: Optional[bool] = None,
skip_components: Optional[Sequence[str]] = None)func NewClusterStack(ctx *Context, name string, args ClusterStackArgs, opts ...ResourceOption) (*ClusterStack, error)public ClusterStack(string name, ClusterStackArgs args, ComponentResourceOptions? opts = null)
public ClusterStack(String name, ClusterStackArgs args)
public ClusterStack(String name, ClusterStackArgs args, ComponentResourceOptions options)
type: nvidia-aicr:ClusterStack
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
resource "nvidia-aicr_clusterstack" "name" {
# resource properties
}Parameters
- name string
- The unique name of the resource.
- args ClusterStackArgs
- The arguments to resource properties.
- opts ComponentResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args ClusterStackArgs
- 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 ClusterStackArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args ClusterStackArgs
- The arguments to resource properties.
- opts ComponentResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args ClusterStackArgs
- The arguments to resource properties.
- options ComponentResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var clusterStackResource = new NvidiaAicr.ClusterStack("clusterStackResource", new()
{
Accelerator = "string",
Intent = "string",
Service = "string",
ComponentOverrides =
{
{ "string", new NvidiaAicr.Inputs.ComponentOverrideArgs
{
Namespace = "string",
Values =
{
{ "string", "any" },
},
Version = "string",
} },
},
Context = "string",
Kubeconfig = "string",
KubeconfigPath = "string",
Os = "string",
Platform = "string",
SkipAwait = false,
SkipComponents = new[]
{
"string",
},
});
example, err := nvidiaaicr.NewClusterStack(ctx, "clusterStackResource", &nvidiaaicr.ClusterStackArgs{
Accelerator: "string",
Intent: "string",
Service: "string",
ComponentOverrides: nvidiaaicr.ComponentOverrideMap{
"string": &nvidiaaicr.ComponentOverrideArgs{
Namespace: pulumi.String("string"),
Values: pulumi.Map{
"string": pulumi.Any("any"),
},
Version: pulumi.String("string"),
},
},
Context: "string",
Kubeconfig: pulumi.String("string"),
KubeconfigPath: "string",
Os: "string",
Platform: "string",
SkipAwait: false,
SkipComponents: pulumi.StringArray{
"string",
},
})
resource "nvidia-aicr_clusterstack" "clusterStackResource" {
accelerator = "string"
intent = "string"
service = "string"
component_overrides = {
"string" = {
namespace = "string"
values = {
"string" = "any"
}
version = "string"
}
}
context = "string"
kubeconfig = "string"
kubeconfig_path = "string"
os = "string"
platform = "string"
skip_await = false
skip_components = ["string"]
}
var clusterStackResource = new ClusterStack("clusterStackResource", ClusterStackArgs.builder()
.accelerator("string")
.intent("string")
.service("string")
.componentOverrides(Map.of("string", ComponentOverrideArgs.builder()
.namespace("string")
.values(Map.of("string", "any"))
.version("string")
.build()))
.context("string")
.kubeconfig("string")
.kubeconfigPath("string")
.os("string")
.platform("string")
.skipAwait(false)
.skipComponents("string")
.build());
cluster_stack_resource = nvidia_aicr.ClusterStack("clusterStackResource",
accelerator="string",
intent="string",
service="string",
component_overrides={
"string": {
"namespace": "string",
"values": {
"string": "any",
},
"version": "string",
},
},
context="string",
kubeconfig="string",
kubeconfig_path="string",
os="string",
platform="string",
skip_await=False,
skip_components=["string"])
const clusterStackResource = new nvidia_aicr.ClusterStack("clusterStackResource", {
accelerator: "string",
intent: "string",
service: "string",
componentOverrides: {
string: {
namespace: "string",
values: {
string: "any",
},
version: "string",
},
},
context: "string",
kubeconfig: "string",
kubeconfigPath: "string",
os: "string",
platform: "string",
skipAwait: false,
skipComponents: ["string"],
});
type: nvidia-aicr:ClusterStack
properties:
accelerator: string
componentOverrides:
string:
namespace: string
values:
string: any
version: string
context: string
intent: string
kubeconfig: string
kubeconfigPath: string
os: string
platform: string
service: string
skipAwait: false
skipComponents:
- string
ClusterStack 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 ClusterStack resource accepts the following input properties:
- Accelerator string
GPU accelerator type. Selects the AICR recipe family.
Supported values: "h100", "gb200", "b200".
- Intent string
Workload intent. Selects between training-oriented and inference-oriented component sets.
Supported values: "training", "inference".
- Service string
Kubernetes service. Selects cloud-specific operators and storage drivers.
Supported values: "aks", "eks", "gke", "kind", "oke". Use "kind" for local hardware-free development of the deployment pipeline.
- Component
Overrides Dictionary<string, Pulumi.Labs. Nvidia Aicr. Inputs. Component Override Args> - Per-component overrides. Map of AICR component name to override settings (version, namespace, Helm values). Values are deep-merged with the recipe defaults; only the keys you specify are changed.
- Context string
- Kubeconfig context to select. Defaults to the current-context in the kubeconfig.
- Kubeconfig string
Kubeconfig contents (or path to a kubeconfig file) for the target cluster. Accepts computed outputs from cluster resources (e.g., an EKS cluster's KubeconfigJson). Mutually exclusive with
kubeconfigPath.If neither
kubeconfignorkubeconfigPathis set, the ambient kubeconfig (KUBECONFIG env var or ~/.kube/config) is used.- Kubeconfig
Path string - Path to a kubeconfig file on disk. Mutually exclusive with
kubeconfig. Preferkubeconfigwhen chaining off a cluster resource's output. - Os string
Operating system flavor.
Supported values: "ubuntu" (default), "cos" (Container-Optimized OS, GKE only).
- Platform string
ML platform/framework to layer on top of the base recipe.
Supported values: "kubeflow" (training), "dynamo" (inference), "nim" (inference, EKS+H100 only).
Leave unset for the base recipe without a platform-specific runtime. Note that intent="inference" always includes the kgateway inference gateway (part of the base inference stack); choosing a platform layers a runtime ("dynamo", "nim") on top. intent="training" leaves training-runtime components out entirely when platform is unset.
- Skip
Await bool - If true, do not wait for each Helm release to become ready before continuing. Faster previews/updates at the cost of losing readiness signal. Default: false.
- Skip
Components List<string> - Component names to exclude from the deployment. Useful for swapping in your own installation of a component (e.g., bring-your-own cert-manager) or for deploying onto bare-metal where cloud-specific operators are not relevant.
- Accelerator string
GPU accelerator type. Selects the AICR recipe family.
Supported values: "h100", "gb200", "b200".
- Intent string
Workload intent. Selects between training-oriented and inference-oriented component sets.
Supported values: "training", "inference".
- Service string
Kubernetes service. Selects cloud-specific operators and storage drivers.
Supported values: "aks", "eks", "gke", "kind", "oke". Use "kind" for local hardware-free development of the deployment pipeline.
- Component
Overrides map[string]ComponentOverride Args - Per-component overrides. Map of AICR component name to override settings (version, namespace, Helm values). Values are deep-merged with the recipe defaults; only the keys you specify are changed.
- Context string
- Kubeconfig context to select. Defaults to the current-context in the kubeconfig.
- Kubeconfig string
Kubeconfig contents (or path to a kubeconfig file) for the target cluster. Accepts computed outputs from cluster resources (e.g., an EKS cluster's KubeconfigJson). Mutually exclusive with
kubeconfigPath.If neither
kubeconfignorkubeconfigPathis set, the ambient kubeconfig (KUBECONFIG env var or ~/.kube/config) is used.- Kubeconfig
Path string - Path to a kubeconfig file on disk. Mutually exclusive with
kubeconfig. Preferkubeconfigwhen chaining off a cluster resource's output. - Os string
Operating system flavor.
Supported values: "ubuntu" (default), "cos" (Container-Optimized OS, GKE only).
- Platform string
ML platform/framework to layer on top of the base recipe.
Supported values: "kubeflow" (training), "dynamo" (inference), "nim" (inference, EKS+H100 only).
Leave unset for the base recipe without a platform-specific runtime. Note that intent="inference" always includes the kgateway inference gateway (part of the base inference stack); choosing a platform layers a runtime ("dynamo", "nim") on top. intent="training" leaves training-runtime components out entirely when platform is unset.
- Skip
Await bool - If true, do not wait for each Helm release to become ready before continuing. Faster previews/updates at the cost of losing readiness signal. Default: false.
- Skip
Components []string - Component names to exclude from the deployment. Useful for swapping in your own installation of a component (e.g., bring-your-own cert-manager) or for deploying onto bare-metal where cloud-specific operators are not relevant.
- accelerator string
GPU accelerator type. Selects the AICR recipe family.
Supported values: "h100", "gb200", "b200".
- intent string
Workload intent. Selects between training-oriented and inference-oriented component sets.
Supported values: "training", "inference".
- service string
Kubernetes service. Selects cloud-specific operators and storage drivers.
Supported values: "aks", "eks", "gke", "kind", "oke". Use "kind" for local hardware-free development of the deployment pipeline.
- component_
overrides map(object) - Per-component overrides. Map of AICR component name to override settings (version, namespace, Helm values). Values are deep-merged with the recipe defaults; only the keys you specify are changed.
- context string
- Kubeconfig context to select. Defaults to the current-context in the kubeconfig.
- kubeconfig string
Kubeconfig contents (or path to a kubeconfig file) for the target cluster. Accepts computed outputs from cluster resources (e.g., an EKS cluster's KubeconfigJson). Mutually exclusive with
kubeconfigPath.If neither
kubeconfignorkubeconfigPathis set, the ambient kubeconfig (KUBECONFIG env var or ~/.kube/config) is used.- kubeconfig_
path string - Path to a kubeconfig file on disk. Mutually exclusive with
kubeconfig. Preferkubeconfigwhen chaining off a cluster resource's output. - os string
Operating system flavor.
Supported values: "ubuntu" (default), "cos" (Container-Optimized OS, GKE only).
- platform string
ML platform/framework to layer on top of the base recipe.
Supported values: "kubeflow" (training), "dynamo" (inference), "nim" (inference, EKS+H100 only).
Leave unset for the base recipe without a platform-specific runtime. Note that intent="inference" always includes the kgateway inference gateway (part of the base inference stack); choosing a platform layers a runtime ("dynamo", "nim") on top. intent="training" leaves training-runtime components out entirely when platform is unset.
- skip_
await bool - If true, do not wait for each Helm release to become ready before continuing. Faster previews/updates at the cost of losing readiness signal. Default: false.
- skip_
components list(string) - Component names to exclude from the deployment. Useful for swapping in your own installation of a component (e.g., bring-your-own cert-manager) or for deploying onto bare-metal where cloud-specific operators are not relevant.
- accelerator String
GPU accelerator type. Selects the AICR recipe family.
Supported values: "h100", "gb200", "b200".
- intent String
Workload intent. Selects between training-oriented and inference-oriented component sets.
Supported values: "training", "inference".
- service String
Kubernetes service. Selects cloud-specific operators and storage drivers.
Supported values: "aks", "eks", "gke", "kind", "oke". Use "kind" for local hardware-free development of the deployment pipeline.
- component
Overrides Map<String,ComponentOverride Args> - Per-component overrides. Map of AICR component name to override settings (version, namespace, Helm values). Values are deep-merged with the recipe defaults; only the keys you specify are changed.
- context String
- Kubeconfig context to select. Defaults to the current-context in the kubeconfig.
- kubeconfig String
Kubeconfig contents (or path to a kubeconfig file) for the target cluster. Accepts computed outputs from cluster resources (e.g., an EKS cluster's KubeconfigJson). Mutually exclusive with
kubeconfigPath.If neither
kubeconfignorkubeconfigPathis set, the ambient kubeconfig (KUBECONFIG env var or ~/.kube/config) is used.- kubeconfig
Path String - Path to a kubeconfig file on disk. Mutually exclusive with
kubeconfig. Preferkubeconfigwhen chaining off a cluster resource's output. - os String
Operating system flavor.
Supported values: "ubuntu" (default), "cos" (Container-Optimized OS, GKE only).
- platform String
ML platform/framework to layer on top of the base recipe.
Supported values: "kubeflow" (training), "dynamo" (inference), "nim" (inference, EKS+H100 only).
Leave unset for the base recipe without a platform-specific runtime. Note that intent="inference" always includes the kgateway inference gateway (part of the base inference stack); choosing a platform layers a runtime ("dynamo", "nim") on top. intent="training" leaves training-runtime components out entirely when platform is unset.
- skip
Await Boolean - If true, do not wait for each Helm release to become ready before continuing. Faster previews/updates at the cost of losing readiness signal. Default: false.
- skip
Components List<String> - Component names to exclude from the deployment. Useful for swapping in your own installation of a component (e.g., bring-your-own cert-manager) or for deploying onto bare-metal where cloud-specific operators are not relevant.
- accelerator string
GPU accelerator type. Selects the AICR recipe family.
Supported values: "h100", "gb200", "b200".
- intent string
Workload intent. Selects between training-oriented and inference-oriented component sets.
Supported values: "training", "inference".
- service string
Kubernetes service. Selects cloud-specific operators and storage drivers.
Supported values: "aks", "eks", "gke", "kind", "oke". Use "kind" for local hardware-free development of the deployment pipeline.
- component
Overrides {[key: string]: ComponentOverride Args} - Per-component overrides. Map of AICR component name to override settings (version, namespace, Helm values). Values are deep-merged with the recipe defaults; only the keys you specify are changed.
- context string
- Kubeconfig context to select. Defaults to the current-context in the kubeconfig.
- kubeconfig string
Kubeconfig contents (or path to a kubeconfig file) for the target cluster. Accepts computed outputs from cluster resources (e.g., an EKS cluster's KubeconfigJson). Mutually exclusive with
kubeconfigPath.If neither
kubeconfignorkubeconfigPathis set, the ambient kubeconfig (KUBECONFIG env var or ~/.kube/config) is used.- kubeconfig
Path string - Path to a kubeconfig file on disk. Mutually exclusive with
kubeconfig. Preferkubeconfigwhen chaining off a cluster resource's output. - os string
Operating system flavor.
Supported values: "ubuntu" (default), "cos" (Container-Optimized OS, GKE only).
- platform string
ML platform/framework to layer on top of the base recipe.
Supported values: "kubeflow" (training), "dynamo" (inference), "nim" (inference, EKS+H100 only).
Leave unset for the base recipe without a platform-specific runtime. Note that intent="inference" always includes the kgateway inference gateway (part of the base inference stack); choosing a platform layers a runtime ("dynamo", "nim") on top. intent="training" leaves training-runtime components out entirely when platform is unset.
- skip
Await boolean - If true, do not wait for each Helm release to become ready before continuing. Faster previews/updates at the cost of losing readiness signal. Default: false.
- skip
Components string[] - Component names to exclude from the deployment. Useful for swapping in your own installation of a component (e.g., bring-your-own cert-manager) or for deploying onto bare-metal where cloud-specific operators are not relevant.
- accelerator str
GPU accelerator type. Selects the AICR recipe family.
Supported values: "h100", "gb200", "b200".
- intent str
Workload intent. Selects between training-oriented and inference-oriented component sets.
Supported values: "training", "inference".
- service str
Kubernetes service. Selects cloud-specific operators and storage drivers.
Supported values: "aks", "eks", "gke", "kind", "oke". Use "kind" for local hardware-free development of the deployment pipeline.
- component_
overrides Mapping[str, ComponentOverride Args] - Per-component overrides. Map of AICR component name to override settings (version, namespace, Helm values). Values are deep-merged with the recipe defaults; only the keys you specify are changed.
- context str
- Kubeconfig context to select. Defaults to the current-context in the kubeconfig.
- kubeconfig str
Kubeconfig contents (or path to a kubeconfig file) for the target cluster. Accepts computed outputs from cluster resources (e.g., an EKS cluster's KubeconfigJson). Mutually exclusive with
kubeconfigPath.If neither
kubeconfignorkubeconfigPathis set, the ambient kubeconfig (KUBECONFIG env var or ~/.kube/config) is used.- kubeconfig_
path str - Path to a kubeconfig file on disk. Mutually exclusive with
kubeconfig. Preferkubeconfigwhen chaining off a cluster resource's output. - os str
Operating system flavor.
Supported values: "ubuntu" (default), "cos" (Container-Optimized OS, GKE only).
- platform str
ML platform/framework to layer on top of the base recipe.
Supported values: "kubeflow" (training), "dynamo" (inference), "nim" (inference, EKS+H100 only).
Leave unset for the base recipe without a platform-specific runtime. Note that intent="inference" always includes the kgateway inference gateway (part of the base inference stack); choosing a platform layers a runtime ("dynamo", "nim") on top. intent="training" leaves training-runtime components out entirely when platform is unset.
- skip_
await bool - If true, do not wait for each Helm release to become ready before continuing. Faster previews/updates at the cost of losing readiness signal. Default: false.
- skip_
components Sequence[str] - Component names to exclude from the deployment. Useful for swapping in your own installation of a component (e.g., bring-your-own cert-manager) or for deploying onto bare-metal where cloud-specific operators are not relevant.
- accelerator String
GPU accelerator type. Selects the AICR recipe family.
Supported values: "h100", "gb200", "b200".
- intent String
Workload intent. Selects between training-oriented and inference-oriented component sets.
Supported values: "training", "inference".
- service String
Kubernetes service. Selects cloud-specific operators and storage drivers.
Supported values: "aks", "eks", "gke", "kind", "oke". Use "kind" for local hardware-free development of the deployment pipeline.
- component
Overrides Map<Property Map> - Per-component overrides. Map of AICR component name to override settings (version, namespace, Helm values). Values are deep-merged with the recipe defaults; only the keys you specify are changed.
- context String
- Kubeconfig context to select. Defaults to the current-context in the kubeconfig.
- kubeconfig String
Kubeconfig contents (or path to a kubeconfig file) for the target cluster. Accepts computed outputs from cluster resources (e.g., an EKS cluster's KubeconfigJson). Mutually exclusive with
kubeconfigPath.If neither
kubeconfignorkubeconfigPathis set, the ambient kubeconfig (KUBECONFIG env var or ~/.kube/config) is used.- kubeconfig
Path String - Path to a kubeconfig file on disk. Mutually exclusive with
kubeconfig. Preferkubeconfigwhen chaining off a cluster resource's output. - os String
Operating system flavor.
Supported values: "ubuntu" (default), "cos" (Container-Optimized OS, GKE only).
- platform String
ML platform/framework to layer on top of the base recipe.
Supported values: "kubeflow" (training), "dynamo" (inference), "nim" (inference, EKS+H100 only).
Leave unset for the base recipe without a platform-specific runtime. Note that intent="inference" always includes the kgateway inference gateway (part of the base inference stack); choosing a platform layers a runtime ("dynamo", "nim") on top. intent="training" leaves training-runtime components out entirely when platform is unset.
- skip
Await Boolean - If true, do not wait for each Helm release to become ready before continuing. Faster previews/updates at the cost of losing readiness signal. Default: false.
- skip
Components List<String> - Component names to exclude from the deployment. Useful for swapping in your own installation of a component (e.g., bring-your-own cert-manager) or for deploying onto bare-metal where cloud-specific operators are not relevant.
Outputs
All input properties are implicitly available as output properties. Additionally, the ClusterStack resource produces the following output properties:
- Component
Count int - Number of components deployed.
- Deployed
Components List<string> - Names of all components deployed as part of this stack, in topological order.
- Recipe
Name string - The resolved AICR recipe name (e.g., "h100-eks-ubuntu-training-kubeflow").
- Recipe
Version string - The AICR recipe data version embedded in this provider build.
- Component
Count int - Number of components deployed.
- Deployed
Components []string - Names of all components deployed as part of this stack, in topological order.
- Recipe
Name string - The resolved AICR recipe name (e.g., "h100-eks-ubuntu-training-kubeflow").
- Recipe
Version string - The AICR recipe data version embedded in this provider build.
- component_
count number - Number of components deployed.
- deployed_
components list(string) - Names of all components deployed as part of this stack, in topological order.
- recipe_
name string - The resolved AICR recipe name (e.g., "h100-eks-ubuntu-training-kubeflow").
- recipe_
version string - The AICR recipe data version embedded in this provider build.
- component
Count Integer - Number of components deployed.
- deployed
Components List<String> - Names of all components deployed as part of this stack, in topological order.
- recipe
Name String - The resolved AICR recipe name (e.g., "h100-eks-ubuntu-training-kubeflow").
- recipe
Version String - The AICR recipe data version embedded in this provider build.
- component
Count number - Number of components deployed.
- deployed
Components string[] - Names of all components deployed as part of this stack, in topological order.
- recipe
Name string - The resolved AICR recipe name (e.g., "h100-eks-ubuntu-training-kubeflow").
- recipe
Version string - The AICR recipe data version embedded in this provider build.
- component_
count int - Number of components deployed.
- deployed_
components Sequence[str] - Names of all components deployed as part of this stack, in topological order.
- recipe_
name str - The resolved AICR recipe name (e.g., "h100-eks-ubuntu-training-kubeflow").
- recipe_
version str - The AICR recipe data version embedded in this provider build.
- component
Count Number - Number of components deployed.
- deployed
Components List<String> - Names of all components deployed as part of this stack, in topological order.
- recipe
Name String - The resolved AICR recipe name (e.g., "h100-eks-ubuntu-training-kubeflow").
- recipe
Version String - The AICR recipe data version embedded in this provider build.
Supporting Types
ComponentOverride, ComponentOverrideArgs
Per-component override settings. Each field is optional; only the fields
you set are applied on top of the recipe defaults.Package Details
- Repository
- nvidia-aicr pulumi-labs/pulumi-nvidia-aicr
- License
- Apache-2.0
published on Thursday, May 21, 2026 by Pulumi Labs
