1. Packages
  2. CAST AI
  3. API Docs
  4. config
  5. NodeConfiguration
CAST AI v7.73.2 published on Wednesday, Oct 29, 2025 by CAST AI

castai.config.NodeConfiguration

Get Started
castai logo
CAST AI v7.73.2 published on Wednesday, Oct 29, 2025 by CAST AI

    Create NodeConfiguration Resource

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

    Constructor syntax

    new NodeConfiguration(name: string, args: NodeConfigurationArgs, opts?: CustomResourceOptions);
    @overload
    def NodeConfiguration(resource_name: str,
                          args: NodeConfigurationArgs,
                          opts: Optional[ResourceOptions] = None)
    
    @overload
    def NodeConfiguration(resource_name: str,
                          opts: Optional[ResourceOptions] = None,
                          subnets: Optional[Sequence[str]] = None,
                          cluster_id: Optional[str] = None,
                          image: Optional[str] = None,
                          init_script: Optional[str] = None,
                          docker_config: Optional[str] = None,
                          drain_timeout_sec: Optional[int] = None,
                          eks: Optional[NodeConfigurationEksArgs] = None,
                          gke: Optional[NodeConfigurationGkeArgs] = None,
                          aks: Optional[NodeConfigurationAksArgs] = None,
                          disk_cpu_ratio: Optional[int] = None,
                          kops: Optional[NodeConfigurationKopsArgs] = None,
                          kubelet_config: Optional[str] = None,
                          min_disk_size: Optional[int] = None,
                          name: Optional[str] = None,
                          ssh_public_key: Optional[str] = None,
                          container_runtime: Optional[str] = None,
                          tags: Optional[Mapping[str, str]] = None)
    func NewNodeConfiguration(ctx *Context, name string, args NodeConfigurationArgs, opts ...ResourceOption) (*NodeConfiguration, error)
    public NodeConfiguration(string name, NodeConfigurationArgs args, CustomResourceOptions? opts = null)
    public NodeConfiguration(String name, NodeConfigurationArgs args)
    public NodeConfiguration(String name, NodeConfigurationArgs args, CustomResourceOptions options)
    
    type: castai:config/node:NodeConfiguration
    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 NodeConfigurationArgs
    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 NodeConfigurationArgs
    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 NodeConfigurationArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args NodeConfigurationArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args NodeConfigurationArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

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

    ClusterId string
    CAST AI cluster id
    Subnets List<string>
    Subnet ids to be used for provisioned nodes
    Aks Pulumi.CastAI.Config.Inputs.NodeConfigurationAks
    ContainerRuntime string
    Optional container runtime to be used by kubelet. Applicable for EKS only. Supported values include: dockerd, containerd
    DiskCpuRatio int
    Disk to CPU ratio. Sets the number of GiBs to be added for every CPU on the node. Defaults to 0
    DockerConfig string
    Optional docker daemon configuration properties in JSON format. Provide only properties that you want to override. Applicable for EKS only. Available values
    DrainTimeoutSec int
    Timeout in seconds for draining the node. Defaults to 0
    Eks Pulumi.CastAI.Config.Inputs.NodeConfigurationEks
    Gke Pulumi.CastAI.Config.Inputs.NodeConfigurationGke
    Image string
    Image to be used while provisioning the node. If nothing is provided will be resolved to latest available image based on Image family, Kubernetes version and node architecture if possible. See Cast.ai documentation for details.
    InitScript string
    Init script to be run on your instance at launch. Should not contain any sensitive data. Value should be base64 encoded
    Kops Pulumi.CastAI.Config.Inputs.NodeConfigurationKops
    KubeletConfig string
    Optional kubelet configuration properties in JSON format. Provide only properties that you want to override. Applicable for EKS only. Available values
    MinDiskSize int
    Minimal disk size in GiB. Defaults to 100, min 30, max 65536
    Name string
    SshPublicKey string
    SSH public key to be used for provisioned nodes
    Tags Dictionary<string, string>
    Tags to be added on cloud instances for provisioned nodes
    ClusterId string
    CAST AI cluster id
    Subnets []string
    Subnet ids to be used for provisioned nodes
    Aks NodeConfigurationAksArgs
    ContainerRuntime string
    Optional container runtime to be used by kubelet. Applicable for EKS only. Supported values include: dockerd, containerd
    DiskCpuRatio int
    Disk to CPU ratio. Sets the number of GiBs to be added for every CPU on the node. Defaults to 0
    DockerConfig string
    Optional docker daemon configuration properties in JSON format. Provide only properties that you want to override. Applicable for EKS only. Available values
    DrainTimeoutSec int
    Timeout in seconds for draining the node. Defaults to 0
    Eks NodeConfigurationEksArgs
    Gke NodeConfigurationGkeArgs
    Image string
    Image to be used while provisioning the node. If nothing is provided will be resolved to latest available image based on Image family, Kubernetes version and node architecture if possible. See Cast.ai documentation for details.
    InitScript string
    Init script to be run on your instance at launch. Should not contain any sensitive data. Value should be base64 encoded
    Kops NodeConfigurationKopsArgs
    KubeletConfig string
    Optional kubelet configuration properties in JSON format. Provide only properties that you want to override. Applicable for EKS only. Available values
    MinDiskSize int
    Minimal disk size in GiB. Defaults to 100, min 30, max 65536
    Name string
    SshPublicKey string
    SSH public key to be used for provisioned nodes
    Tags map[string]string
    Tags to be added on cloud instances for provisioned nodes
    clusterId String
    CAST AI cluster id
    subnets List<String>
    Subnet ids to be used for provisioned nodes
    aks NodeConfigurationAks
    containerRuntime String
    Optional container runtime to be used by kubelet. Applicable for EKS only. Supported values include: dockerd, containerd
    diskCpuRatio Integer
    Disk to CPU ratio. Sets the number of GiBs to be added for every CPU on the node. Defaults to 0
    dockerConfig String
    Optional docker daemon configuration properties in JSON format. Provide only properties that you want to override. Applicable for EKS only. Available values
    drainTimeoutSec Integer
    Timeout in seconds for draining the node. Defaults to 0
    eks NodeConfigurationEks
    gke NodeConfigurationGke
    image String
    Image to be used while provisioning the node. If nothing is provided will be resolved to latest available image based on Image family, Kubernetes version and node architecture if possible. See Cast.ai documentation for details.
    initScript String
    Init script to be run on your instance at launch. Should not contain any sensitive data. Value should be base64 encoded
    kops NodeConfigurationKops
    kubeletConfig String
    Optional kubelet configuration properties in JSON format. Provide only properties that you want to override. Applicable for EKS only. Available values
    minDiskSize Integer
    Minimal disk size in GiB. Defaults to 100, min 30, max 65536
    name String
    sshPublicKey String
    SSH public key to be used for provisioned nodes
    tags Map<String,String>
    Tags to be added on cloud instances for provisioned nodes
    clusterId string
    CAST AI cluster id
    subnets string[]
    Subnet ids to be used for provisioned nodes
    aks NodeConfigurationAks
    containerRuntime string
    Optional container runtime to be used by kubelet. Applicable for EKS only. Supported values include: dockerd, containerd
    diskCpuRatio number
    Disk to CPU ratio. Sets the number of GiBs to be added for every CPU on the node. Defaults to 0
    dockerConfig string
    Optional docker daemon configuration properties in JSON format. Provide only properties that you want to override. Applicable for EKS only. Available values
    drainTimeoutSec number
    Timeout in seconds for draining the node. Defaults to 0
    eks NodeConfigurationEks
    gke NodeConfigurationGke
    image string
    Image to be used while provisioning the node. If nothing is provided will be resolved to latest available image based on Image family, Kubernetes version and node architecture if possible. See Cast.ai documentation for details.
    initScript string
    Init script to be run on your instance at launch. Should not contain any sensitive data. Value should be base64 encoded
    kops NodeConfigurationKops
    kubeletConfig string
    Optional kubelet configuration properties in JSON format. Provide only properties that you want to override. Applicable for EKS only. Available values
    minDiskSize number
    Minimal disk size in GiB. Defaults to 100, min 30, max 65536
    name string
    sshPublicKey string
    SSH public key to be used for provisioned nodes
    tags {[key: string]: string}
    Tags to be added on cloud instances for provisioned nodes
    cluster_id str
    CAST AI cluster id
    subnets Sequence[str]
    Subnet ids to be used for provisioned nodes
    aks NodeConfigurationAksArgs
    container_runtime str
    Optional container runtime to be used by kubelet. Applicable for EKS only. Supported values include: dockerd, containerd
    disk_cpu_ratio int
    Disk to CPU ratio. Sets the number of GiBs to be added for every CPU on the node. Defaults to 0
    docker_config str
    Optional docker daemon configuration properties in JSON format. Provide only properties that you want to override. Applicable for EKS only. Available values
    drain_timeout_sec int
    Timeout in seconds for draining the node. Defaults to 0
    eks NodeConfigurationEksArgs
    gke NodeConfigurationGkeArgs
    image str
    Image to be used while provisioning the node. If nothing is provided will be resolved to latest available image based on Image family, Kubernetes version and node architecture if possible. See Cast.ai documentation for details.
    init_script str
    Init script to be run on your instance at launch. Should not contain any sensitive data. Value should be base64 encoded
    kops NodeConfigurationKopsArgs
    kubelet_config str
    Optional kubelet configuration properties in JSON format. Provide only properties that you want to override. Applicable for EKS only. Available values
    min_disk_size int
    Minimal disk size in GiB. Defaults to 100, min 30, max 65536
    name str
    ssh_public_key str
    SSH public key to be used for provisioned nodes
    tags Mapping[str, str]
    Tags to be added on cloud instances for provisioned nodes
    clusterId String
    CAST AI cluster id
    subnets List<String>
    Subnet ids to be used for provisioned nodes
    aks Property Map
    containerRuntime String
    Optional container runtime to be used by kubelet. Applicable for EKS only. Supported values include: dockerd, containerd
    diskCpuRatio Number
    Disk to CPU ratio. Sets the number of GiBs to be added for every CPU on the node. Defaults to 0
    dockerConfig String
    Optional docker daemon configuration properties in JSON format. Provide only properties that you want to override. Applicable for EKS only. Available values
    drainTimeoutSec Number
    Timeout in seconds for draining the node. Defaults to 0
    eks Property Map
    gke Property Map
    image String
    Image to be used while provisioning the node. If nothing is provided will be resolved to latest available image based on Image family, Kubernetes version and node architecture if possible. See Cast.ai documentation for details.
    initScript String
    Init script to be run on your instance at launch. Should not contain any sensitive data. Value should be base64 encoded
    kops Property Map
    kubeletConfig String
    Optional kubelet configuration properties in JSON format. Provide only properties that you want to override. Applicable for EKS only. Available values
    minDiskSize Number
    Minimal disk size in GiB. Defaults to 100, min 30, max 65536
    name String
    sshPublicKey String
    SSH public key to be used for provisioned nodes
    tags Map<String>
    Tags to be added on cloud instances for provisioned nodes

    Outputs

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

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing NodeConfiguration Resource

    Get an existing NodeConfiguration 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?: NodeConfigurationState, opts?: CustomResourceOptions): NodeConfiguration
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            aks: Optional[NodeConfigurationAksArgs] = None,
            cluster_id: Optional[str] = None,
            container_runtime: Optional[str] = None,
            disk_cpu_ratio: Optional[int] = None,
            docker_config: Optional[str] = None,
            drain_timeout_sec: Optional[int] = None,
            eks: Optional[NodeConfigurationEksArgs] = None,
            gke: Optional[NodeConfigurationGkeArgs] = None,
            image: Optional[str] = None,
            init_script: Optional[str] = None,
            kops: Optional[NodeConfigurationKopsArgs] = None,
            kubelet_config: Optional[str] = None,
            min_disk_size: Optional[int] = None,
            name: Optional[str] = None,
            ssh_public_key: Optional[str] = None,
            subnets: Optional[Sequence[str]] = None,
            tags: Optional[Mapping[str, str]] = None) -> NodeConfiguration
    func GetNodeConfiguration(ctx *Context, name string, id IDInput, state *NodeConfigurationState, opts ...ResourceOption) (*NodeConfiguration, error)
    public static NodeConfiguration Get(string name, Input<string> id, NodeConfigurationState? state, CustomResourceOptions? opts = null)
    public static NodeConfiguration get(String name, Output<String> id, NodeConfigurationState state, CustomResourceOptions options)
    resources:  _:    type: castai:config/node:NodeConfiguration    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:
    Aks Pulumi.CastAI.Config.Inputs.NodeConfigurationAks
    ClusterId string
    CAST AI cluster id
    ContainerRuntime string
    Optional container runtime to be used by kubelet. Applicable for EKS only. Supported values include: dockerd, containerd
    DiskCpuRatio int
    Disk to CPU ratio. Sets the number of GiBs to be added for every CPU on the node. Defaults to 0
    DockerConfig string
    Optional docker daemon configuration properties in JSON format. Provide only properties that you want to override. Applicable for EKS only. Available values
    DrainTimeoutSec int
    Timeout in seconds for draining the node. Defaults to 0
    Eks Pulumi.CastAI.Config.Inputs.NodeConfigurationEks
    Gke Pulumi.CastAI.Config.Inputs.NodeConfigurationGke
    Image string
    Image to be used while provisioning the node. If nothing is provided will be resolved to latest available image based on Image family, Kubernetes version and node architecture if possible. See Cast.ai documentation for details.
    InitScript string
    Init script to be run on your instance at launch. Should not contain any sensitive data. Value should be base64 encoded
    Kops Pulumi.CastAI.Config.Inputs.NodeConfigurationKops
    KubeletConfig string
    Optional kubelet configuration properties in JSON format. Provide only properties that you want to override. Applicable for EKS only. Available values
    MinDiskSize int
    Minimal disk size in GiB. Defaults to 100, min 30, max 65536
    Name string
    SshPublicKey string
    SSH public key to be used for provisioned nodes
    Subnets List<string>
    Subnet ids to be used for provisioned nodes
    Tags Dictionary<string, string>
    Tags to be added on cloud instances for provisioned nodes
    Aks NodeConfigurationAksArgs
    ClusterId string
    CAST AI cluster id
    ContainerRuntime string
    Optional container runtime to be used by kubelet. Applicable for EKS only. Supported values include: dockerd, containerd
    DiskCpuRatio int
    Disk to CPU ratio. Sets the number of GiBs to be added for every CPU on the node. Defaults to 0
    DockerConfig string
    Optional docker daemon configuration properties in JSON format. Provide only properties that you want to override. Applicable for EKS only. Available values
    DrainTimeoutSec int
    Timeout in seconds for draining the node. Defaults to 0
    Eks NodeConfigurationEksArgs
    Gke NodeConfigurationGkeArgs
    Image string
    Image to be used while provisioning the node. If nothing is provided will be resolved to latest available image based on Image family, Kubernetes version and node architecture if possible. See Cast.ai documentation for details.
    InitScript string
    Init script to be run on your instance at launch. Should not contain any sensitive data. Value should be base64 encoded
    Kops NodeConfigurationKopsArgs
    KubeletConfig string
    Optional kubelet configuration properties in JSON format. Provide only properties that you want to override. Applicable for EKS only. Available values
    MinDiskSize int
    Minimal disk size in GiB. Defaults to 100, min 30, max 65536
    Name string
    SshPublicKey string
    SSH public key to be used for provisioned nodes
    Subnets []string
    Subnet ids to be used for provisioned nodes
    Tags map[string]string
    Tags to be added on cloud instances for provisioned nodes
    aks NodeConfigurationAks
    clusterId String
    CAST AI cluster id
    containerRuntime String
    Optional container runtime to be used by kubelet. Applicable for EKS only. Supported values include: dockerd, containerd
    diskCpuRatio Integer
    Disk to CPU ratio. Sets the number of GiBs to be added for every CPU on the node. Defaults to 0
    dockerConfig String
    Optional docker daemon configuration properties in JSON format. Provide only properties that you want to override. Applicable for EKS only. Available values
    drainTimeoutSec Integer
    Timeout in seconds for draining the node. Defaults to 0
    eks NodeConfigurationEks
    gke NodeConfigurationGke
    image String
    Image to be used while provisioning the node. If nothing is provided will be resolved to latest available image based on Image family, Kubernetes version and node architecture if possible. See Cast.ai documentation for details.
    initScript String
    Init script to be run on your instance at launch. Should not contain any sensitive data. Value should be base64 encoded
    kops NodeConfigurationKops
    kubeletConfig String
    Optional kubelet configuration properties in JSON format. Provide only properties that you want to override. Applicable for EKS only. Available values
    minDiskSize Integer
    Minimal disk size in GiB. Defaults to 100, min 30, max 65536
    name String
    sshPublicKey String
    SSH public key to be used for provisioned nodes
    subnets List<String>
    Subnet ids to be used for provisioned nodes
    tags Map<String,String>
    Tags to be added on cloud instances for provisioned nodes
    aks NodeConfigurationAks
    clusterId string
    CAST AI cluster id
    containerRuntime string
    Optional container runtime to be used by kubelet. Applicable for EKS only. Supported values include: dockerd, containerd
    diskCpuRatio number
    Disk to CPU ratio. Sets the number of GiBs to be added for every CPU on the node. Defaults to 0
    dockerConfig string
    Optional docker daemon configuration properties in JSON format. Provide only properties that you want to override. Applicable for EKS only. Available values
    drainTimeoutSec number
    Timeout in seconds for draining the node. Defaults to 0
    eks NodeConfigurationEks
    gke NodeConfigurationGke
    image string
    Image to be used while provisioning the node. If nothing is provided will be resolved to latest available image based on Image family, Kubernetes version and node architecture if possible. See Cast.ai documentation for details.
    initScript string
    Init script to be run on your instance at launch. Should not contain any sensitive data. Value should be base64 encoded
    kops NodeConfigurationKops
    kubeletConfig string
    Optional kubelet configuration properties in JSON format. Provide only properties that you want to override. Applicable for EKS only. Available values
    minDiskSize number
    Minimal disk size in GiB. Defaults to 100, min 30, max 65536
    name string
    sshPublicKey string
    SSH public key to be used for provisioned nodes
    subnets string[]
    Subnet ids to be used for provisioned nodes
    tags {[key: string]: string}
    Tags to be added on cloud instances for provisioned nodes
    aks NodeConfigurationAksArgs
    cluster_id str
    CAST AI cluster id
    container_runtime str
    Optional container runtime to be used by kubelet. Applicable for EKS only. Supported values include: dockerd, containerd
    disk_cpu_ratio int
    Disk to CPU ratio. Sets the number of GiBs to be added for every CPU on the node. Defaults to 0
    docker_config str
    Optional docker daemon configuration properties in JSON format. Provide only properties that you want to override. Applicable for EKS only. Available values
    drain_timeout_sec int
    Timeout in seconds for draining the node. Defaults to 0
    eks NodeConfigurationEksArgs
    gke NodeConfigurationGkeArgs
    image str
    Image to be used while provisioning the node. If nothing is provided will be resolved to latest available image based on Image family, Kubernetes version and node architecture if possible. See Cast.ai documentation for details.
    init_script str
    Init script to be run on your instance at launch. Should not contain any sensitive data. Value should be base64 encoded
    kops NodeConfigurationKopsArgs
    kubelet_config str
    Optional kubelet configuration properties in JSON format. Provide only properties that you want to override. Applicable for EKS only. Available values
    min_disk_size int
    Minimal disk size in GiB. Defaults to 100, min 30, max 65536
    name str
    ssh_public_key str
    SSH public key to be used for provisioned nodes
    subnets Sequence[str]
    Subnet ids to be used for provisioned nodes
    tags Mapping[str, str]
    Tags to be added on cloud instances for provisioned nodes
    aks Property Map
    clusterId String
    CAST AI cluster id
    containerRuntime String
    Optional container runtime to be used by kubelet. Applicable for EKS only. Supported values include: dockerd, containerd
    diskCpuRatio Number
    Disk to CPU ratio. Sets the number of GiBs to be added for every CPU on the node. Defaults to 0
    dockerConfig String
    Optional docker daemon configuration properties in JSON format. Provide only properties that you want to override. Applicable for EKS only. Available values
    drainTimeoutSec Number
    Timeout in seconds for draining the node. Defaults to 0
    eks Property Map
    gke Property Map
    image String
    Image to be used while provisioning the node. If nothing is provided will be resolved to latest available image based on Image family, Kubernetes version and node architecture if possible. See Cast.ai documentation for details.
    initScript String
    Init script to be run on your instance at launch. Should not contain any sensitive data. Value should be base64 encoded
    kops Property Map
    kubeletConfig String
    Optional kubelet configuration properties in JSON format. Provide only properties that you want to override. Applicable for EKS only. Available values
    minDiskSize Number
    Minimal disk size in GiB. Defaults to 100, min 30, max 65536
    name String
    sshPublicKey String
    SSH public key to be used for provisioned nodes
    subnets List<String>
    Subnet ids to be used for provisioned nodes
    tags Map<String>
    Tags to be added on cloud instances for provisioned nodes

    Supporting Types

    NodeConfigurationAks, NodeConfigurationAksArgs

    AksImageFamily string
    Image OS Family to use when provisioning node in AKS. If both image and family are provided, the system will use provided image and provisioning logic for given family. If only image family is provided, the system will attempt to resolve the latest image from that family based on kubernetes version and node architecture. If image family is omitted, a default family (based on cloud provider) will be used. See Cast.ai documentation for details. Possible values: (ubuntu,azure-linux,windows2019,windows2022)
    ApplicationSecurityGroups List<string>
    Application security groups to be used for provisioned nodes
    EphemeralOsDisk Pulumi.CastAI.Config.Inputs.NodeConfigurationAksEphemeralOsDisk
    Ephemeral OS disk configuration for CAST provisioned nodes
    Loadbalancers List<Pulumi.CastAI.Config.Inputs.NodeConfigurationAksLoadbalancer>
    Load balancer configuration for CAST provisioned nodes
    MaxPodsPerNode int
    Maximum number of pods that can be run on a node, which affects how many IP addresses you will need for each node. Defaults to 30
    NetworkSecurityGroup string
    Network security group to be used for provisioned nodes, if not provided default security group from castpool will be used
    OsDiskType string
    Type of managed os disk attached to the node. (See disk types). One of: standard, standard-ssd, premium-ssd (ultra and premium-ssd-v2 are not supported for os disk)
    PodSubnetId string
    ID of pod subnet to be used for provisioned nodes.
    PublicIp Pulumi.CastAI.Config.Inputs.NodeConfigurationAksPublicIp
    Public IP configuration for CAST AI provisioned nodes
    AksImageFamily string
    Image OS Family to use when provisioning node in AKS. If both image and family are provided, the system will use provided image and provisioning logic for given family. If only image family is provided, the system will attempt to resolve the latest image from that family based on kubernetes version and node architecture. If image family is omitted, a default family (based on cloud provider) will be used. See Cast.ai documentation for details. Possible values: (ubuntu,azure-linux,windows2019,windows2022)
    ApplicationSecurityGroups []string
    Application security groups to be used for provisioned nodes
    EphemeralOsDisk NodeConfigurationAksEphemeralOsDisk
    Ephemeral OS disk configuration for CAST provisioned nodes
    Loadbalancers []NodeConfigurationAksLoadbalancer
    Load balancer configuration for CAST provisioned nodes
    MaxPodsPerNode int
    Maximum number of pods that can be run on a node, which affects how many IP addresses you will need for each node. Defaults to 30
    NetworkSecurityGroup string
    Network security group to be used for provisioned nodes, if not provided default security group from castpool will be used
    OsDiskType string
    Type of managed os disk attached to the node. (See disk types). One of: standard, standard-ssd, premium-ssd (ultra and premium-ssd-v2 are not supported for os disk)
    PodSubnetId string
    ID of pod subnet to be used for provisioned nodes.
    PublicIp NodeConfigurationAksPublicIp
    Public IP configuration for CAST AI provisioned nodes
    aksImageFamily String
    Image OS Family to use when provisioning node in AKS. If both image and family are provided, the system will use provided image and provisioning logic for given family. If only image family is provided, the system will attempt to resolve the latest image from that family based on kubernetes version and node architecture. If image family is omitted, a default family (based on cloud provider) will be used. See Cast.ai documentation for details. Possible values: (ubuntu,azure-linux,windows2019,windows2022)
    applicationSecurityGroups List<String>
    Application security groups to be used for provisioned nodes
    ephemeralOsDisk NodeConfigurationAksEphemeralOsDisk
    Ephemeral OS disk configuration for CAST provisioned nodes
    loadbalancers List<NodeConfigurationAksLoadbalancer>
    Load balancer configuration for CAST provisioned nodes
    maxPodsPerNode Integer
    Maximum number of pods that can be run on a node, which affects how many IP addresses you will need for each node. Defaults to 30
    networkSecurityGroup String
    Network security group to be used for provisioned nodes, if not provided default security group from castpool will be used
    osDiskType String
    Type of managed os disk attached to the node. (See disk types). One of: standard, standard-ssd, premium-ssd (ultra and premium-ssd-v2 are not supported for os disk)
    podSubnetId String
    ID of pod subnet to be used for provisioned nodes.
    publicIp NodeConfigurationAksPublicIp
    Public IP configuration for CAST AI provisioned nodes
    aksImageFamily string
    Image OS Family to use when provisioning node in AKS. If both image and family are provided, the system will use provided image and provisioning logic for given family. If only image family is provided, the system will attempt to resolve the latest image from that family based on kubernetes version and node architecture. If image family is omitted, a default family (based on cloud provider) will be used. See Cast.ai documentation for details. Possible values: (ubuntu,azure-linux,windows2019,windows2022)
    applicationSecurityGroups string[]
    Application security groups to be used for provisioned nodes
    ephemeralOsDisk NodeConfigurationAksEphemeralOsDisk
    Ephemeral OS disk configuration for CAST provisioned nodes
    loadbalancers NodeConfigurationAksLoadbalancer[]
    Load balancer configuration for CAST provisioned nodes
    maxPodsPerNode number
    Maximum number of pods that can be run on a node, which affects how many IP addresses you will need for each node. Defaults to 30
    networkSecurityGroup string
    Network security group to be used for provisioned nodes, if not provided default security group from castpool will be used
    osDiskType string
    Type of managed os disk attached to the node. (See disk types). One of: standard, standard-ssd, premium-ssd (ultra and premium-ssd-v2 are not supported for os disk)
    podSubnetId string
    ID of pod subnet to be used for provisioned nodes.
    publicIp NodeConfigurationAksPublicIp
    Public IP configuration for CAST AI provisioned nodes
    aks_image_family str
    Image OS Family to use when provisioning node in AKS. If both image and family are provided, the system will use provided image and provisioning logic for given family. If only image family is provided, the system will attempt to resolve the latest image from that family based on kubernetes version and node architecture. If image family is omitted, a default family (based on cloud provider) will be used. See Cast.ai documentation for details. Possible values: (ubuntu,azure-linux,windows2019,windows2022)
    application_security_groups Sequence[str]
    Application security groups to be used for provisioned nodes
    ephemeral_os_disk NodeConfigurationAksEphemeralOsDisk
    Ephemeral OS disk configuration for CAST provisioned nodes
    loadbalancers Sequence[NodeConfigurationAksLoadbalancer]
    Load balancer configuration for CAST provisioned nodes
    max_pods_per_node int
    Maximum number of pods that can be run on a node, which affects how many IP addresses you will need for each node. Defaults to 30
    network_security_group str
    Network security group to be used for provisioned nodes, if not provided default security group from castpool will be used
    os_disk_type str
    Type of managed os disk attached to the node. (See disk types). One of: standard, standard-ssd, premium-ssd (ultra and premium-ssd-v2 are not supported for os disk)
    pod_subnet_id str
    ID of pod subnet to be used for provisioned nodes.
    public_ip NodeConfigurationAksPublicIp
    Public IP configuration for CAST AI provisioned nodes
    aksImageFamily String
    Image OS Family to use when provisioning node in AKS. If both image and family are provided, the system will use provided image and provisioning logic for given family. If only image family is provided, the system will attempt to resolve the latest image from that family based on kubernetes version and node architecture. If image family is omitted, a default family (based on cloud provider) will be used. See Cast.ai documentation for details. Possible values: (ubuntu,azure-linux,windows2019,windows2022)
    applicationSecurityGroups List<String>
    Application security groups to be used for provisioned nodes
    ephemeralOsDisk Property Map
    Ephemeral OS disk configuration for CAST provisioned nodes
    loadbalancers List<Property Map>
    Load balancer configuration for CAST provisioned nodes
    maxPodsPerNode Number
    Maximum number of pods that can be run on a node, which affects how many IP addresses you will need for each node. Defaults to 30
    networkSecurityGroup String
    Network security group to be used for provisioned nodes, if not provided default security group from castpool will be used
    osDiskType String
    Type of managed os disk attached to the node. (See disk types). One of: standard, standard-ssd, premium-ssd (ultra and premium-ssd-v2 are not supported for os disk)
    podSubnetId String
    ID of pod subnet to be used for provisioned nodes.
    publicIp Property Map
    Public IP configuration for CAST AI provisioned nodes

    NodeConfigurationAksEphemeralOsDisk, NodeConfigurationAksEphemeralOsDiskArgs

    Placement string
    Placement of the ephemeral OS disk. One of: cacheDisk, resourceDisk
    Cache string
    Cache type for the ephemeral OS disk. One of: ReadOnly, ReadWrite
    Placement string
    Placement of the ephemeral OS disk. One of: cacheDisk, resourceDisk
    Cache string
    Cache type for the ephemeral OS disk. One of: ReadOnly, ReadWrite
    placement String
    Placement of the ephemeral OS disk. One of: cacheDisk, resourceDisk
    cache String
    Cache type for the ephemeral OS disk. One of: ReadOnly, ReadWrite
    placement string
    Placement of the ephemeral OS disk. One of: cacheDisk, resourceDisk
    cache string
    Cache type for the ephemeral OS disk. One of: ReadOnly, ReadWrite
    placement str
    Placement of the ephemeral OS disk. One of: cacheDisk, resourceDisk
    cache str
    Cache type for the ephemeral OS disk. One of: ReadOnly, ReadWrite
    placement String
    Placement of the ephemeral OS disk. One of: cacheDisk, resourceDisk
    cache String
    Cache type for the ephemeral OS disk. One of: ReadOnly, ReadWrite

    NodeConfigurationAksLoadbalancer, NodeConfigurationAksLoadbalancerArgs

    Id string
    The full ID of the load balancer in azure.
    IpBasedBackendPools List<Pulumi.CastAI.Config.Inputs.NodeConfigurationAksLoadbalancerIpBasedBackendPool>
    IP based backend pools configuration for CAST provisioned nodes
    Name string
    Name of load balancer

    Deprecated: name field is deprecated, use ID instead. Will be removed in future versions.

    NicBasedBackendPools List<Pulumi.CastAI.Config.Inputs.NodeConfigurationAksLoadbalancerNicBasedBackendPool>
    NIC based backend pools configuration for CAST provisioned nodes.
    Id string
    The full ID of the load balancer in azure.
    IpBasedBackendPools []NodeConfigurationAksLoadbalancerIpBasedBackendPool
    IP based backend pools configuration for CAST provisioned nodes
    Name string
    Name of load balancer

    Deprecated: name field is deprecated, use ID instead. Will be removed in future versions.

    NicBasedBackendPools []NodeConfigurationAksLoadbalancerNicBasedBackendPool
    NIC based backend pools configuration for CAST provisioned nodes.
    id String
    The full ID of the load balancer in azure.
    ipBasedBackendPools List<NodeConfigurationAksLoadbalancerIpBasedBackendPool>
    IP based backend pools configuration for CAST provisioned nodes
    name String
    Name of load balancer

    Deprecated: name field is deprecated, use ID instead. Will be removed in future versions.

    nicBasedBackendPools List<NodeConfigurationAksLoadbalancerNicBasedBackendPool>
    NIC based backend pools configuration for CAST provisioned nodes.
    id string
    The full ID of the load balancer in azure.
    ipBasedBackendPools NodeConfigurationAksLoadbalancerIpBasedBackendPool[]
    IP based backend pools configuration for CAST provisioned nodes
    name string
    Name of load balancer

    Deprecated: name field is deprecated, use ID instead. Will be removed in future versions.

    nicBasedBackendPools NodeConfigurationAksLoadbalancerNicBasedBackendPool[]
    NIC based backend pools configuration for CAST provisioned nodes.
    id str
    The full ID of the load balancer in azure.
    ip_based_backend_pools Sequence[NodeConfigurationAksLoadbalancerIpBasedBackendPool]
    IP based backend pools configuration for CAST provisioned nodes
    name str
    Name of load balancer

    Deprecated: name field is deprecated, use ID instead. Will be removed in future versions.

    nic_based_backend_pools Sequence[NodeConfigurationAksLoadbalancerNicBasedBackendPool]
    NIC based backend pools configuration for CAST provisioned nodes.
    id String
    The full ID of the load balancer in azure.
    ipBasedBackendPools List<Property Map>
    IP based backend pools configuration for CAST provisioned nodes
    name String
    Name of load balancer

    Deprecated: name field is deprecated, use ID instead. Will be removed in future versions.

    nicBasedBackendPools List<Property Map>
    NIC based backend pools configuration for CAST provisioned nodes.

    NodeConfigurationAksLoadbalancerIpBasedBackendPool, NodeConfigurationAksLoadbalancerIpBasedBackendPoolArgs

    Name string
    Name of the ip based backend pool
    Name string
    Name of the ip based backend pool
    name String
    Name of the ip based backend pool
    name string
    Name of the ip based backend pool
    name str
    Name of the ip based backend pool
    name String
    Name of the ip based backend pool

    NodeConfigurationAksLoadbalancerNicBasedBackendPool, NodeConfigurationAksLoadbalancerNicBasedBackendPoolArgs

    Name string
    Name of the NIC based backend pool
    Name string
    Name of the NIC based backend pool
    name String
    Name of the NIC based backend pool
    name string
    Name of the NIC based backend pool
    name str
    Name of the NIC based backend pool
    name String
    Name of the NIC based backend pool

    NodeConfigurationAksPublicIp, NodeConfigurationAksPublicIpArgs

    IdleTimeoutInMinutes int
    Idle timeout in minutes for public IP
    PublicIpPrefix string
    Public IP prefix to be used for provisioned nodes
    Tags Dictionary<string, string>
    IdleTimeoutInMinutes int
    Idle timeout in minutes for public IP
    PublicIpPrefix string
    Public IP prefix to be used for provisioned nodes
    Tags map[string]string
    idleTimeoutInMinutes Integer
    Idle timeout in minutes for public IP
    publicIpPrefix String
    Public IP prefix to be used for provisioned nodes
    tags Map<String,String>
    idleTimeoutInMinutes number
    Idle timeout in minutes for public IP
    publicIpPrefix string
    Public IP prefix to be used for provisioned nodes
    tags {[key: string]: string}
    idle_timeout_in_minutes int
    Idle timeout in minutes for public IP
    public_ip_prefix str
    Public IP prefix to be used for provisioned nodes
    tags Mapping[str, str]
    idleTimeoutInMinutes Number
    Idle timeout in minutes for public IP
    publicIpPrefix String
    Public IP prefix to be used for provisioned nodes
    tags Map<String>

    NodeConfigurationEks, NodeConfigurationEksArgs

    InstanceProfileArn string
    Cluster's instance profile ARN used for CAST provisioned nodes
    SecurityGroups List<string>
    Cluster's security groups configuration for CAST provisioned nodes
    DnsClusterIp string
    IP address to use for DNS queries within the cluster
    EksImageFamily string
    Image OS Family to use when provisioning node in EKS. If both image and family are provided, the system will use provided image and provisioning logic for given family. If only image family is provided, the system will attempt to resolve the latest image from that family based on kubernetes version and node architecture. If image family is omitted, a default family (based on cloud provider) will be used. See Cast.ai documentation for details. Possible values: (al2,al2023,bottlerocket)
    ImdsHopLimit int
    Allow configure the IMDSv2 hop limit, the default is 2
    ImdsV1 bool
    When the value is true both IMDSv1 and IMDSv2 are enabled. Setting the value to false disables permanently IMDSv1 and might affect legacy workloads running on the node created with this configuration. The default is true if the flag isn't provided
    IpsPerPrefix int
    Number of IPs per prefix to be used for calculating max pods.
    KeyPairId string
    AWS key pair ID to be used for CAST provisioned nodes. Has priority over ssh_public_key
    MaxPodsPerNodeFormula string
    Formula to calculate the maximum number of pods that can be run on a node. The following list of variables will be bound to a number before evaluating and can be used in the formula: NUM_MAX_NET_INTERFACES, NUM_IP_PER_INTERFACE, NUM_IP_PER_PREFIX, NUM_CPU, NUM_RAM_GB .
    NodeGroupArn string
    Cluster's node group ARN used for CAST provisioned node pools. Required for hibernate/resume functionality
    TargetGroups List<Pulumi.CastAI.Config.Inputs.NodeConfigurationEksTargetGroup>
    AWS target groups configuration for CAST provisioned nodes
    ThreadsPerCpu int
    Number of threads per core.
    VolumeIops int
    AWS EBS volume IOPS to be used for CAST provisioned nodes
    VolumeKmsKeyArn string
    AWS KMS key ARN for encrypting EBS volume attached to the node
    VolumeThroughput int
    AWS EBS volume throughput in MiB/s to be used for CAST provisioned nodes
    VolumeType string
    AWS EBS volume type to be used for CAST provisioned nodes. One of: gp3, gp2, io1, io2
    InstanceProfileArn string
    Cluster's instance profile ARN used for CAST provisioned nodes
    SecurityGroups []string
    Cluster's security groups configuration for CAST provisioned nodes
    DnsClusterIp string
    IP address to use for DNS queries within the cluster
    EksImageFamily string
    Image OS Family to use when provisioning node in EKS. If both image and family are provided, the system will use provided image and provisioning logic for given family. If only image family is provided, the system will attempt to resolve the latest image from that family based on kubernetes version and node architecture. If image family is omitted, a default family (based on cloud provider) will be used. See Cast.ai documentation for details. Possible values: (al2,al2023,bottlerocket)
    ImdsHopLimit int
    Allow configure the IMDSv2 hop limit, the default is 2
    ImdsV1 bool
    When the value is true both IMDSv1 and IMDSv2 are enabled. Setting the value to false disables permanently IMDSv1 and might affect legacy workloads running on the node created with this configuration. The default is true if the flag isn't provided
    IpsPerPrefix int
    Number of IPs per prefix to be used for calculating max pods.
    KeyPairId string
    AWS key pair ID to be used for CAST provisioned nodes. Has priority over ssh_public_key
    MaxPodsPerNodeFormula string
    Formula to calculate the maximum number of pods that can be run on a node. The following list of variables will be bound to a number before evaluating and can be used in the formula: NUM_MAX_NET_INTERFACES, NUM_IP_PER_INTERFACE, NUM_IP_PER_PREFIX, NUM_CPU, NUM_RAM_GB .
    NodeGroupArn string
    Cluster's node group ARN used for CAST provisioned node pools. Required for hibernate/resume functionality
    TargetGroups []NodeConfigurationEksTargetGroup
    AWS target groups configuration for CAST provisioned nodes
    ThreadsPerCpu int
    Number of threads per core.
    VolumeIops int
    AWS EBS volume IOPS to be used for CAST provisioned nodes
    VolumeKmsKeyArn string
    AWS KMS key ARN for encrypting EBS volume attached to the node
    VolumeThroughput int
    AWS EBS volume throughput in MiB/s to be used for CAST provisioned nodes
    VolumeType string
    AWS EBS volume type to be used for CAST provisioned nodes. One of: gp3, gp2, io1, io2
    instanceProfileArn String
    Cluster's instance profile ARN used for CAST provisioned nodes
    securityGroups List<String>
    Cluster's security groups configuration for CAST provisioned nodes
    dnsClusterIp String
    IP address to use for DNS queries within the cluster
    eksImageFamily String
    Image OS Family to use when provisioning node in EKS. If both image and family are provided, the system will use provided image and provisioning logic for given family. If only image family is provided, the system will attempt to resolve the latest image from that family based on kubernetes version and node architecture. If image family is omitted, a default family (based on cloud provider) will be used. See Cast.ai documentation for details. Possible values: (al2,al2023,bottlerocket)
    imdsHopLimit Integer
    Allow configure the IMDSv2 hop limit, the default is 2
    imdsV1 Boolean
    When the value is true both IMDSv1 and IMDSv2 are enabled. Setting the value to false disables permanently IMDSv1 and might affect legacy workloads running on the node created with this configuration. The default is true if the flag isn't provided
    ipsPerPrefix Integer
    Number of IPs per prefix to be used for calculating max pods.
    keyPairId String
    AWS key pair ID to be used for CAST provisioned nodes. Has priority over ssh_public_key
    maxPodsPerNodeFormula String
    Formula to calculate the maximum number of pods that can be run on a node. The following list of variables will be bound to a number before evaluating and can be used in the formula: NUM_MAX_NET_INTERFACES, NUM_IP_PER_INTERFACE, NUM_IP_PER_PREFIX, NUM_CPU, NUM_RAM_GB .
    nodeGroupArn String
    Cluster's node group ARN used for CAST provisioned node pools. Required for hibernate/resume functionality
    targetGroups List<NodeConfigurationEksTargetGroup>
    AWS target groups configuration for CAST provisioned nodes
    threadsPerCpu Integer
    Number of threads per core.
    volumeIops Integer
    AWS EBS volume IOPS to be used for CAST provisioned nodes
    volumeKmsKeyArn String
    AWS KMS key ARN for encrypting EBS volume attached to the node
    volumeThroughput Integer
    AWS EBS volume throughput in MiB/s to be used for CAST provisioned nodes
    volumeType String
    AWS EBS volume type to be used for CAST provisioned nodes. One of: gp3, gp2, io1, io2
    instanceProfileArn string
    Cluster's instance profile ARN used for CAST provisioned nodes
    securityGroups string[]
    Cluster's security groups configuration for CAST provisioned nodes
    dnsClusterIp string
    IP address to use for DNS queries within the cluster
    eksImageFamily string
    Image OS Family to use when provisioning node in EKS. If both image and family are provided, the system will use provided image and provisioning logic for given family. If only image family is provided, the system will attempt to resolve the latest image from that family based on kubernetes version and node architecture. If image family is omitted, a default family (based on cloud provider) will be used. See Cast.ai documentation for details. Possible values: (al2,al2023,bottlerocket)
    imdsHopLimit number
    Allow configure the IMDSv2 hop limit, the default is 2
    imdsV1 boolean
    When the value is true both IMDSv1 and IMDSv2 are enabled. Setting the value to false disables permanently IMDSv1 and might affect legacy workloads running on the node created with this configuration. The default is true if the flag isn't provided
    ipsPerPrefix number
    Number of IPs per prefix to be used for calculating max pods.
    keyPairId string
    AWS key pair ID to be used for CAST provisioned nodes. Has priority over ssh_public_key
    maxPodsPerNodeFormula string
    Formula to calculate the maximum number of pods that can be run on a node. The following list of variables will be bound to a number before evaluating and can be used in the formula: NUM_MAX_NET_INTERFACES, NUM_IP_PER_INTERFACE, NUM_IP_PER_PREFIX, NUM_CPU, NUM_RAM_GB .
    nodeGroupArn string
    Cluster's node group ARN used for CAST provisioned node pools. Required for hibernate/resume functionality
    targetGroups NodeConfigurationEksTargetGroup[]
    AWS target groups configuration for CAST provisioned nodes
    threadsPerCpu number
    Number of threads per core.
    volumeIops number
    AWS EBS volume IOPS to be used for CAST provisioned nodes
    volumeKmsKeyArn string
    AWS KMS key ARN for encrypting EBS volume attached to the node
    volumeThroughput number
    AWS EBS volume throughput in MiB/s to be used for CAST provisioned nodes
    volumeType string
    AWS EBS volume type to be used for CAST provisioned nodes. One of: gp3, gp2, io1, io2
    instance_profile_arn str
    Cluster's instance profile ARN used for CAST provisioned nodes
    security_groups Sequence[str]
    Cluster's security groups configuration for CAST provisioned nodes
    dns_cluster_ip str
    IP address to use for DNS queries within the cluster
    eks_image_family str
    Image OS Family to use when provisioning node in EKS. If both image and family are provided, the system will use provided image and provisioning logic for given family. If only image family is provided, the system will attempt to resolve the latest image from that family based on kubernetes version and node architecture. If image family is omitted, a default family (based on cloud provider) will be used. See Cast.ai documentation for details. Possible values: (al2,al2023,bottlerocket)
    imds_hop_limit int
    Allow configure the IMDSv2 hop limit, the default is 2
    imds_v1 bool
    When the value is true both IMDSv1 and IMDSv2 are enabled. Setting the value to false disables permanently IMDSv1 and might affect legacy workloads running on the node created with this configuration. The default is true if the flag isn't provided
    ips_per_prefix int
    Number of IPs per prefix to be used for calculating max pods.
    key_pair_id str
    AWS key pair ID to be used for CAST provisioned nodes. Has priority over ssh_public_key
    max_pods_per_node_formula str
    Formula to calculate the maximum number of pods that can be run on a node. The following list of variables will be bound to a number before evaluating and can be used in the formula: NUM_MAX_NET_INTERFACES, NUM_IP_PER_INTERFACE, NUM_IP_PER_PREFIX, NUM_CPU, NUM_RAM_GB .
    node_group_arn str
    Cluster's node group ARN used for CAST provisioned node pools. Required for hibernate/resume functionality
    target_groups Sequence[NodeConfigurationEksTargetGroup]
    AWS target groups configuration for CAST provisioned nodes
    threads_per_cpu int
    Number of threads per core.
    volume_iops int
    AWS EBS volume IOPS to be used for CAST provisioned nodes
    volume_kms_key_arn str
    AWS KMS key ARN for encrypting EBS volume attached to the node
    volume_throughput int
    AWS EBS volume throughput in MiB/s to be used for CAST provisioned nodes
    volume_type str
    AWS EBS volume type to be used for CAST provisioned nodes. One of: gp3, gp2, io1, io2
    instanceProfileArn String
    Cluster's instance profile ARN used for CAST provisioned nodes
    securityGroups List<String>
    Cluster's security groups configuration for CAST provisioned nodes
    dnsClusterIp String
    IP address to use for DNS queries within the cluster
    eksImageFamily String
    Image OS Family to use when provisioning node in EKS. If both image and family are provided, the system will use provided image and provisioning logic for given family. If only image family is provided, the system will attempt to resolve the latest image from that family based on kubernetes version and node architecture. If image family is omitted, a default family (based on cloud provider) will be used. See Cast.ai documentation for details. Possible values: (al2,al2023,bottlerocket)
    imdsHopLimit Number
    Allow configure the IMDSv2 hop limit, the default is 2
    imdsV1 Boolean
    When the value is true both IMDSv1 and IMDSv2 are enabled. Setting the value to false disables permanently IMDSv1 and might affect legacy workloads running on the node created with this configuration. The default is true if the flag isn't provided
    ipsPerPrefix Number
    Number of IPs per prefix to be used for calculating max pods.
    keyPairId String
    AWS key pair ID to be used for CAST provisioned nodes. Has priority over ssh_public_key
    maxPodsPerNodeFormula String
    Formula to calculate the maximum number of pods that can be run on a node. The following list of variables will be bound to a number before evaluating and can be used in the formula: NUM_MAX_NET_INTERFACES, NUM_IP_PER_INTERFACE, NUM_IP_PER_PREFIX, NUM_CPU, NUM_RAM_GB .
    nodeGroupArn String
    Cluster's node group ARN used for CAST provisioned node pools. Required for hibernate/resume functionality
    targetGroups List<Property Map>
    AWS target groups configuration for CAST provisioned nodes
    threadsPerCpu Number
    Number of threads per core.
    volumeIops Number
    AWS EBS volume IOPS to be used for CAST provisioned nodes
    volumeKmsKeyArn String
    AWS KMS key ARN for encrypting EBS volume attached to the node
    volumeThroughput Number
    AWS EBS volume throughput in MiB/s to be used for CAST provisioned nodes
    volumeType String
    AWS EBS volume type to be used for CAST provisioned nodes. One of: gp3, gp2, io1, io2

    NodeConfigurationEksTargetGroup, NodeConfigurationEksTargetGroupArgs

    Arn string
    AWS target group ARN for CAST provisioned nodes
    Port int
    Port for AWS target group for CAST provisioned nodes
    Arn string
    AWS target group ARN for CAST provisioned nodes
    Port int
    Port for AWS target group for CAST provisioned nodes
    arn String
    AWS target group ARN for CAST provisioned nodes
    port Integer
    Port for AWS target group for CAST provisioned nodes
    arn string
    AWS target group ARN for CAST provisioned nodes
    port number
    Port for AWS target group for CAST provisioned nodes
    arn str
    AWS target group ARN for CAST provisioned nodes
    port int
    Port for AWS target group for CAST provisioned nodes
    arn String
    AWS target group ARN for CAST provisioned nodes
    port Number
    Port for AWS target group for CAST provisioned nodes

    NodeConfigurationGke, NodeConfigurationGkeArgs

    DiskType string
    Type of boot disk attached to the node. (See disk types). One of: pd-standard, pd-balanced, pd-ssd, pd-extreme
    Loadbalancers List<Pulumi.CastAI.Config.Inputs.NodeConfigurationGkeLoadbalancer>
    Loadboalancer configuration for CAST provisioned nodes
    MaxPodsPerNode int
    Maximum number of pods that can be run on a node, which affects how many IP addresses you will need for each node. Defaults to 110
    MaxPodsPerNodeFormula string

    This is an advanced configuration field. In general, we recommend using max_pods_per_node instead. This field accepts a formula to calculate the maximum number of pods that can run on a node. This will affect the pod CIDR range that the node reserves. The following variables are available for use in the formula and will be bound to numeric values before evaluation:

    * NUM_CPU - Number of CPUs available on the node
    * NUM_RAM_GB - Amount of RAM in gigabytes available on the node.
    

    If you want the smallest value between 5 times the CPUs, 5 times the RAM, or a cap of 110, your formula would be math.least(110, 5 * NUM_CPU, 5 * NUM_RAM_GB). For a node with 8 CPUs and 16 GB RAM, this calculates to 40 (5×8), 80 (5×16), and 110, then picks the smallest value: 40 pods.

    NetworkTags List<string>
    Network tags to be added on a VM. (See network tags)
    OnHostMaintenance string
    Maintenance behavior of the instances. If not set, the default value for spot nodes is terminate, and for non-spot nodes, it is migrate.
    SecondaryIpRange Pulumi.CastAI.Config.Inputs.NodeConfigurationGkeSecondaryIpRange
    Secondary IP range configuration for pods in GKE nodes
    UseEphemeralStorageLocalSsd bool
    Use ephemeral storage local SSD. Defaults to false
    Zones List<string>
    List of preferred availability zones to choose from when provisioning new nodes.

    Deprecated: The argument will be moved into node template.

    DiskType string
    Type of boot disk attached to the node. (See disk types). One of: pd-standard, pd-balanced, pd-ssd, pd-extreme
    Loadbalancers []NodeConfigurationGkeLoadbalancer
    Loadboalancer configuration for CAST provisioned nodes
    MaxPodsPerNode int
    Maximum number of pods that can be run on a node, which affects how many IP addresses you will need for each node. Defaults to 110
    MaxPodsPerNodeFormula string

    This is an advanced configuration field. In general, we recommend using max_pods_per_node instead. This field accepts a formula to calculate the maximum number of pods that can run on a node. This will affect the pod CIDR range that the node reserves. The following variables are available for use in the formula and will be bound to numeric values before evaluation:

    * NUM_CPU - Number of CPUs available on the node
    * NUM_RAM_GB - Amount of RAM in gigabytes available on the node.
    

    If you want the smallest value between 5 times the CPUs, 5 times the RAM, or a cap of 110, your formula would be math.least(110, 5 * NUM_CPU, 5 * NUM_RAM_GB). For a node with 8 CPUs and 16 GB RAM, this calculates to 40 (5×8), 80 (5×16), and 110, then picks the smallest value: 40 pods.

    NetworkTags []string
    Network tags to be added on a VM. (See network tags)
    OnHostMaintenance string
    Maintenance behavior of the instances. If not set, the default value for spot nodes is terminate, and for non-spot nodes, it is migrate.
    SecondaryIpRange NodeConfigurationGkeSecondaryIpRange
    Secondary IP range configuration for pods in GKE nodes
    UseEphemeralStorageLocalSsd bool
    Use ephemeral storage local SSD. Defaults to false
    Zones []string
    List of preferred availability zones to choose from when provisioning new nodes.

    Deprecated: The argument will be moved into node template.

    diskType String
    Type of boot disk attached to the node. (See disk types). One of: pd-standard, pd-balanced, pd-ssd, pd-extreme
    loadbalancers List<NodeConfigurationGkeLoadbalancer>
    Loadboalancer configuration for CAST provisioned nodes
    maxPodsPerNode Integer
    Maximum number of pods that can be run on a node, which affects how many IP addresses you will need for each node. Defaults to 110
    maxPodsPerNodeFormula String

    This is an advanced configuration field. In general, we recommend using max_pods_per_node instead. This field accepts a formula to calculate the maximum number of pods that can run on a node. This will affect the pod CIDR range that the node reserves. The following variables are available for use in the formula and will be bound to numeric values before evaluation:

    * NUM_CPU - Number of CPUs available on the node
    * NUM_RAM_GB - Amount of RAM in gigabytes available on the node.
    

    If you want the smallest value between 5 times the CPUs, 5 times the RAM, or a cap of 110, your formula would be math.least(110, 5 * NUM_CPU, 5 * NUM_RAM_GB). For a node with 8 CPUs and 16 GB RAM, this calculates to 40 (5×8), 80 (5×16), and 110, then picks the smallest value: 40 pods.

    networkTags List<String>
    Network tags to be added on a VM. (See network tags)
    onHostMaintenance String
    Maintenance behavior of the instances. If not set, the default value for spot nodes is terminate, and for non-spot nodes, it is migrate.
    secondaryIpRange NodeConfigurationGkeSecondaryIpRange
    Secondary IP range configuration for pods in GKE nodes
    useEphemeralStorageLocalSsd Boolean
    Use ephemeral storage local SSD. Defaults to false
    zones List<String>
    List of preferred availability zones to choose from when provisioning new nodes.

    Deprecated: The argument will be moved into node template.

    diskType string
    Type of boot disk attached to the node. (See disk types). One of: pd-standard, pd-balanced, pd-ssd, pd-extreme
    loadbalancers NodeConfigurationGkeLoadbalancer[]
    Loadboalancer configuration for CAST provisioned nodes
    maxPodsPerNode number
    Maximum number of pods that can be run on a node, which affects how many IP addresses you will need for each node. Defaults to 110
    maxPodsPerNodeFormula string

    This is an advanced configuration field. In general, we recommend using max_pods_per_node instead. This field accepts a formula to calculate the maximum number of pods that can run on a node. This will affect the pod CIDR range that the node reserves. The following variables are available for use in the formula and will be bound to numeric values before evaluation:

    * NUM_CPU - Number of CPUs available on the node
    * NUM_RAM_GB - Amount of RAM in gigabytes available on the node.
    

    If you want the smallest value between 5 times the CPUs, 5 times the RAM, or a cap of 110, your formula would be math.least(110, 5 * NUM_CPU, 5 * NUM_RAM_GB). For a node with 8 CPUs and 16 GB RAM, this calculates to 40 (5×8), 80 (5×16), and 110, then picks the smallest value: 40 pods.

    networkTags string[]
    Network tags to be added on a VM. (See network tags)
    onHostMaintenance string
    Maintenance behavior of the instances. If not set, the default value for spot nodes is terminate, and for non-spot nodes, it is migrate.
    secondaryIpRange NodeConfigurationGkeSecondaryIpRange
    Secondary IP range configuration for pods in GKE nodes
    useEphemeralStorageLocalSsd boolean
    Use ephemeral storage local SSD. Defaults to false
    zones string[]
    List of preferred availability zones to choose from when provisioning new nodes.

    Deprecated: The argument will be moved into node template.

    disk_type str
    Type of boot disk attached to the node. (See disk types). One of: pd-standard, pd-balanced, pd-ssd, pd-extreme
    loadbalancers Sequence[NodeConfigurationGkeLoadbalancer]
    Loadboalancer configuration for CAST provisioned nodes
    max_pods_per_node int
    Maximum number of pods that can be run on a node, which affects how many IP addresses you will need for each node. Defaults to 110
    max_pods_per_node_formula str

    This is an advanced configuration field. In general, we recommend using max_pods_per_node instead. This field accepts a formula to calculate the maximum number of pods that can run on a node. This will affect the pod CIDR range that the node reserves. The following variables are available for use in the formula and will be bound to numeric values before evaluation:

    * NUM_CPU - Number of CPUs available on the node
    * NUM_RAM_GB - Amount of RAM in gigabytes available on the node.
    

    If you want the smallest value between 5 times the CPUs, 5 times the RAM, or a cap of 110, your formula would be math.least(110, 5 * NUM_CPU, 5 * NUM_RAM_GB). For a node with 8 CPUs and 16 GB RAM, this calculates to 40 (5×8), 80 (5×16), and 110, then picks the smallest value: 40 pods.

    network_tags Sequence[str]
    Network tags to be added on a VM. (See network tags)
    on_host_maintenance str
    Maintenance behavior of the instances. If not set, the default value for spot nodes is terminate, and for non-spot nodes, it is migrate.
    secondary_ip_range NodeConfigurationGkeSecondaryIpRange
    Secondary IP range configuration for pods in GKE nodes
    use_ephemeral_storage_local_ssd bool
    Use ephemeral storage local SSD. Defaults to false
    zones Sequence[str]
    List of preferred availability zones to choose from when provisioning new nodes.

    Deprecated: The argument will be moved into node template.

    diskType String
    Type of boot disk attached to the node. (See disk types). One of: pd-standard, pd-balanced, pd-ssd, pd-extreme
    loadbalancers List<Property Map>
    Loadboalancer configuration for CAST provisioned nodes
    maxPodsPerNode Number
    Maximum number of pods that can be run on a node, which affects how many IP addresses you will need for each node. Defaults to 110
    maxPodsPerNodeFormula String

    This is an advanced configuration field. In general, we recommend using max_pods_per_node instead. This field accepts a formula to calculate the maximum number of pods that can run on a node. This will affect the pod CIDR range that the node reserves. The following variables are available for use in the formula and will be bound to numeric values before evaluation:

    * NUM_CPU - Number of CPUs available on the node
    * NUM_RAM_GB - Amount of RAM in gigabytes available on the node.
    

    If you want the smallest value between 5 times the CPUs, 5 times the RAM, or a cap of 110, your formula would be math.least(110, 5 * NUM_CPU, 5 * NUM_RAM_GB). For a node with 8 CPUs and 16 GB RAM, this calculates to 40 (5×8), 80 (5×16), and 110, then picks the smallest value: 40 pods.

    networkTags List<String>
    Network tags to be added on a VM. (See network tags)
    onHostMaintenance String
    Maintenance behavior of the instances. If not set, the default value for spot nodes is terminate, and for non-spot nodes, it is migrate.
    secondaryIpRange Property Map
    Secondary IP range configuration for pods in GKE nodes
    useEphemeralStorageLocalSsd Boolean
    Use ephemeral storage local SSD. Defaults to false
    zones List<String>
    List of preferred availability zones to choose from when provisioning new nodes.

    Deprecated: The argument will be moved into node template.

    NodeConfigurationGkeLoadbalancer, NodeConfigurationGkeLoadbalancerArgs

    TargetBackendPools []NodeConfigurationGkeLoadbalancerTargetBackendPool
    Target backend pools configuration for CAST provisioned nodes
    UnmanagedInstanceGroups []NodeConfigurationGkeLoadbalancerUnmanagedInstanceGroup
    Unmanaged instance groups configuration for CAST provisioned nodes
    targetBackendPools List<NodeConfigurationGkeLoadbalancerTargetBackendPool>
    Target backend pools configuration for CAST provisioned nodes
    unmanagedInstanceGroups List<NodeConfigurationGkeLoadbalancerUnmanagedInstanceGroup>
    Unmanaged instance groups configuration for CAST provisioned nodes
    targetBackendPools NodeConfigurationGkeLoadbalancerTargetBackendPool[]
    Target backend pools configuration for CAST provisioned nodes
    unmanagedInstanceGroups NodeConfigurationGkeLoadbalancerUnmanagedInstanceGroup[]
    Unmanaged instance groups configuration for CAST provisioned nodes
    target_backend_pools Sequence[NodeConfigurationGkeLoadbalancerTargetBackendPool]
    Target backend pools configuration for CAST provisioned nodes
    unmanaged_instance_groups Sequence[NodeConfigurationGkeLoadbalancerUnmanagedInstanceGroup]
    Unmanaged instance groups configuration for CAST provisioned nodes
    targetBackendPools List<Property Map>
    Target backend pools configuration for CAST provisioned nodes
    unmanagedInstanceGroups List<Property Map>
    Unmanaged instance groups configuration for CAST provisioned nodes

    NodeConfigurationGkeLoadbalancerTargetBackendPool, NodeConfigurationGkeLoadbalancerTargetBackendPoolArgs

    Name string
    Name of the target group
    Name string
    Name of the target group
    name String
    Name of the target group
    name string
    Name of the target group
    name str
    Name of the target group
    name String
    Name of the target group

    NodeConfigurationGkeLoadbalancerUnmanagedInstanceGroup, NodeConfigurationGkeLoadbalancerUnmanagedInstanceGroupArgs

    Name string
    Name of the instance group
    Zone string
    Zone of the instance group
    Name string
    Name of the instance group
    Zone string
    Zone of the instance group
    name String
    Name of the instance group
    zone String
    Zone of the instance group
    name string
    Name of the instance group
    zone string
    Zone of the instance group
    name str
    Name of the instance group
    zone str
    Zone of the instance group
    name String
    Name of the instance group
    zone String
    Zone of the instance group

    NodeConfigurationGkeSecondaryIpRange, NodeConfigurationGkeSecondaryIpRangeArgs

    RangeName string
    Name of the secondary IP range
    RangeName string
    Name of the secondary IP range
    rangeName String
    Name of the secondary IP range
    rangeName string
    Name of the secondary IP range
    range_name str
    Name of the secondary IP range
    rangeName String
    Name of the secondary IP range

    NodeConfigurationKops, NodeConfigurationKopsArgs

    KeyPairId string
    AWS key pair ID to be used for provisioned nodes. Has priority over sshPublicKey
    KeyPairId string
    AWS key pair ID to be used for provisioned nodes. Has priority over sshPublicKey
    keyPairId String
    AWS key pair ID to be used for provisioned nodes. Has priority over sshPublicKey
    keyPairId string
    AWS key pair ID to be used for provisioned nodes. Has priority over sshPublicKey
    key_pair_id str
    AWS key pair ID to be used for provisioned nodes. Has priority over sshPublicKey
    keyPairId String
    AWS key pair ID to be used for provisioned nodes. Has priority over sshPublicKey

    Package Details

    Repository
    castai castai/pulumi-castai
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the castai Terraform Provider.
    castai logo
    CAST AI v7.73.2 published on Wednesday, Oct 29, 2025 by CAST AI
      Meet Neo: Your AI Platform Teammate