1. Registry
  2. Packages
  3. CAST AI
  4. API Docs
  5. PodMutation
Viewing docs for CAST AI v8.60.0
published on Wednesday, Aug 19, 2026 by CAST AI
castai logo
Viewing docs for CAST AI v8.60.0
published on Wednesday, Aug 19, 2026 by CAST AI

    Create PodMutation Resource

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

    Constructor syntax

    new PodMutation(name: string, args: PodMutationArgs, opts?: CustomResourceOptions);
    @overload
    def PodMutation(resource_name: str,
                    args: PodMutationArgs,
                    opts: Optional[ResourceOptions] = None)
    
    @overload
    def PodMutation(resource_name: str,
                    opts: Optional[ResourceOptions] = None,
                    enabled: Optional[bool] = None,
                    filter_v2: Optional[PodMutationFilterV2Args] = None,
                    cluster_id: Optional[str] = None,
                    labels: Optional[Mapping[str, str]] = None,
                    distribution_groups: Optional[Sequence[PodMutationDistributionGroupArgs]] = None,
                    annotations: Optional[Mapping[str, str]] = None,
                    affinity: Optional[PodMutationAffinityArgs] = None,
                    name: Optional[str] = None,
                    node_selector: Optional[PodMutationNodeSelectorArgs] = None,
                    node_templates_to_consolidates: Optional[Sequence[str]] = None,
                    organization_id: Optional[str] = None,
                    patch: Optional[str] = None,
                    pod_eviction: Optional[PodMutationPodEvictionArgs] = None,
                    spot_config: Optional[PodMutationSpotConfigArgs] = None,
                    tolerations: Optional[Sequence[PodMutationTolerationArgs]] = None)
    func NewPodMutation(ctx *Context, name string, args PodMutationArgs, opts ...ResourceOption) (*PodMutation, error)
    public PodMutation(string name, PodMutationArgs args, CustomResourceOptions? opts = null)
    public PodMutation(String name, PodMutationArgs args)
    public PodMutation(String name, PodMutationArgs args, CustomResourceOptions options)
    
    type: castai:PodMutation
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    resource "castai_pod_mutation" "name" {
        # resource properties
    }

    Parameters

    name string
    The unique name of the resource.
    args PodMutationArgs
    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 PodMutationArgs
    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 PodMutationArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args PodMutationArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args PodMutationArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

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

    var podMutationResource = new CastAI.PodMutation("podMutationResource", new()
    {
        Enabled = false,
        FilterV2 = new CastAI.Inputs.PodMutationFilterV2Args
        {
            Pod = new CastAI.Inputs.PodMutationFilterV2PodArgs
            {
                ExcludeLabelsFilter = new CastAI.Inputs.PodMutationFilterV2PodExcludeLabelsFilterArgs
                {
                    Matchers = new[]
                    {
                        new CastAI.Inputs.PodMutationFilterV2PodExcludeLabelsFilterMatcherArgs
                        {
                            Key = new CastAI.Inputs.PodMutationFilterV2PodExcludeLabelsFilterMatcherKeyArgs
                            {
                                Type = "string",
                                Value = "string",
                            },
                            Value = new CastAI.Inputs.PodMutationFilterV2PodExcludeLabelsFilterMatcherValueArgs
                            {
                                Type = "string",
                                Value = "string",
                            },
                        },
                    },
                    Operator = "string",
                },
                LabelsFilter = new CastAI.Inputs.PodMutationFilterV2PodLabelsFilterArgs
                {
                    Matchers = new[]
                    {
                        new CastAI.Inputs.PodMutationFilterV2PodLabelsFilterMatcherArgs
                        {
                            Key = new CastAI.Inputs.PodMutationFilterV2PodLabelsFilterMatcherKeyArgs
                            {
                                Type = "string",
                                Value = "string",
                            },
                            Value = new CastAI.Inputs.PodMutationFilterV2PodLabelsFilterMatcherValueArgs
                            {
                                Type = "string",
                                Value = "string",
                            },
                        },
                    },
                    Operator = "string",
                },
                TolerationsFilter = new CastAI.Inputs.PodMutationFilterV2PodTolerationsFilterArgs
                {
                    Matchers = new[]
                    {
                        new CastAI.Inputs.PodMutationFilterV2PodTolerationsFilterMatcherArgs
                        {
                            Key = new CastAI.Inputs.PodMutationFilterV2PodTolerationsFilterMatcherKeyArgs
                            {
                                Type = "string",
                                Value = "string",
                            },
                            Operator = new CastAI.Inputs.PodMutationFilterV2PodTolerationsFilterMatcherOperatorArgs
                            {
                                Type = "string",
                                Value = "string",
                            },
                            Value = new CastAI.Inputs.PodMutationFilterV2PodTolerationsFilterMatcherValueArgs
                            {
                                Type = "string",
                                Value = "string",
                            },
                        },
                    },
                    Operator = "string",
                },
            },
            Workload = new CastAI.Inputs.PodMutationFilterV2WorkloadArgs
            {
                ExcludeKinds = new[]
                {
                    new CastAI.Inputs.PodMutationFilterV2WorkloadExcludeKindArgs
                    {
                        Type = "string",
                        Value = "string",
                    },
                },
                ExcludeNames = new[]
                {
                    new CastAI.Inputs.PodMutationFilterV2WorkloadExcludeNameArgs
                    {
                        Type = "string",
                        Value = "string",
                    },
                },
                ExcludeNamespaces = new[]
                {
                    new CastAI.Inputs.PodMutationFilterV2WorkloadExcludeNamespaceArgs
                    {
                        Type = "string",
                        Value = "string",
                    },
                },
                Kinds = new[]
                {
                    new CastAI.Inputs.PodMutationFilterV2WorkloadKindArgs
                    {
                        Type = "string",
                        Value = "string",
                    },
                },
                Names = new[]
                {
                    new CastAI.Inputs.PodMutationFilterV2WorkloadNameArgs
                    {
                        Type = "string",
                        Value = "string",
                    },
                },
                Namespaces = new[]
                {
                    new CastAI.Inputs.PodMutationFilterV2WorkloadNamespaceArgs
                    {
                        Type = "string",
                        Value = "string",
                    },
                },
            },
        },
        ClusterId = "string",
        Labels = 
        {
            { "string", "string" },
        },
        DistributionGroups = new[]
        {
            new CastAI.Inputs.PodMutationDistributionGroupArgs
            {
                Configuration = new CastAI.Inputs.PodMutationDistributionGroupConfigurationArgs
                {
                    Affinity = new CastAI.Inputs.PodMutationDistributionGroupConfigurationAffinityArgs
                    {
                        NodeAffinity = new CastAI.Inputs.PodMutationDistributionGroupConfigurationAffinityNodeAffinityArgs
                        {
                            PreferredDuringSchedulingIgnoredDuringExecutions = new[]
                            {
                                new CastAI.Inputs.PodMutationDistributionGroupConfigurationAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionArgs
                                {
                                    Preference = new CastAI.Inputs.PodMutationDistributionGroupConfigurationAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceArgs
                                    {
                                        MatchExpressions = new[]
                                        {
                                            new CastAI.Inputs.PodMutationDistributionGroupConfigurationAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressionArgs
                                            {
                                                Key = "string",
                                                Operator = "string",
                                                Values = new[]
                                                {
                                                    "string",
                                                },
                                            },
                                        },
                                    },
                                    Weight = 0,
                                },
                            },
                        },
                    },
                    Annotations = 
                    {
                        { "string", "string" },
                    },
                    Labels = 
                    {
                        { "string", "string" },
                    },
                    NodeSelector = new CastAI.Inputs.PodMutationDistributionGroupConfigurationNodeSelectorArgs
                    {
                        Add = 
                        {
                            { "string", "string" },
                        },
                        Remove = 
                        {
                            { "string", "string" },
                        },
                    },
                    NodeTemplatesToConsolidates = new[]
                    {
                        "string",
                    },
                    Patch = "string",
                    SpotType = "string",
                    Tolerations = new[]
                    {
                        new CastAI.Inputs.PodMutationDistributionGroupConfigurationTolerationArgs
                        {
                            Effect = "string",
                            Key = "string",
                            Operator = "string",
                            TolerationSeconds = 0,
                            Value = "string",
                        },
                    },
                },
                Name = "string",
                Percentage = 0,
            },
        },
        Annotations = 
        {
            { "string", "string" },
        },
        Affinity = new CastAI.Inputs.PodMutationAffinityArgs
        {
            NodeAffinity = new CastAI.Inputs.PodMutationAffinityNodeAffinityArgs
            {
                PreferredDuringSchedulingIgnoredDuringExecutions = new[]
                {
                    new CastAI.Inputs.PodMutationAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionArgs
                    {
                        Preference = new CastAI.Inputs.PodMutationAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceArgs
                        {
                            MatchExpressions = new[]
                            {
                                new CastAI.Inputs.PodMutationAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressionArgs
                                {
                                    Key = "string",
                                    Operator = "string",
                                    Values = new[]
                                    {
                                        "string",
                                    },
                                },
                            },
                        },
                        Weight = 0,
                    },
                },
            },
        },
        Name = "string",
        NodeSelector = new CastAI.Inputs.PodMutationNodeSelectorArgs
        {
            Add = 
            {
                { "string", "string" },
            },
            Remove = 
            {
                { "string", "string" },
            },
        },
        NodeTemplatesToConsolidates = new[]
        {
            "string",
        },
        OrganizationId = "string",
        Patch = "string",
        PodEviction = new CastAI.Inputs.PodMutationPodEvictionArgs
        {
            Enabled = false,
        },
        SpotConfig = new CastAI.Inputs.PodMutationSpotConfigArgs
        {
            DistributionPercentage = 0,
            SpotMode = "string",
        },
        Tolerations = new[]
        {
            new CastAI.Inputs.PodMutationTolerationArgs
            {
                Effect = "string",
                Key = "string",
                Operator = "string",
                TolerationSeconds = 0,
                Value = "string",
            },
        },
    });
    
    example, err := castai.NewPodMutation(ctx, "podMutationResource", &castai.PodMutationArgs{
    	Enabled: pulumi.Bool(false),
    	FilterV2: &castai.PodMutationFilterV2Args{
    		Pod: &castai.PodMutationFilterV2PodArgs{
    			ExcludeLabelsFilter: &castai.PodMutationFilterV2PodExcludeLabelsFilterArgs{
    				Matchers: castai.PodMutationFilterV2PodExcludeLabelsFilterMatcherArray{
    					&castai.PodMutationFilterV2PodExcludeLabelsFilterMatcherArgs{
    						Key: &castai.PodMutationFilterV2PodExcludeLabelsFilterMatcherKeyArgs{
    							Type:  pulumi.String("string"),
    							Value: pulumi.String("string"),
    						},
    						Value: &castai.PodMutationFilterV2PodExcludeLabelsFilterMatcherValueArgs{
    							Type:  pulumi.String("string"),
    							Value: pulumi.String("string"),
    						},
    					},
    				},
    				Operator: pulumi.String("string"),
    			},
    			LabelsFilter: &castai.PodMutationFilterV2PodLabelsFilterArgs{
    				Matchers: castai.PodMutationFilterV2PodLabelsFilterMatcherArray{
    					&castai.PodMutationFilterV2PodLabelsFilterMatcherArgs{
    						Key: &castai.PodMutationFilterV2PodLabelsFilterMatcherKeyArgs{
    							Type:  pulumi.String("string"),
    							Value: pulumi.String("string"),
    						},
    						Value: &castai.PodMutationFilterV2PodLabelsFilterMatcherValueArgs{
    							Type:  pulumi.String("string"),
    							Value: pulumi.String("string"),
    						},
    					},
    				},
    				Operator: pulumi.String("string"),
    			},
    			TolerationsFilter: &castai.PodMutationFilterV2PodTolerationsFilterArgs{
    				Matchers: castai.PodMutationFilterV2PodTolerationsFilterMatcherArray{
    					&castai.PodMutationFilterV2PodTolerationsFilterMatcherArgs{
    						Key: &castai.PodMutationFilterV2PodTolerationsFilterMatcherKeyArgs{
    							Type:  pulumi.String("string"),
    							Value: pulumi.String("string"),
    						},
    						Operator: &castai.PodMutationFilterV2PodTolerationsFilterMatcherOperatorArgs{
    							Type:  pulumi.String("string"),
    							Value: pulumi.String("string"),
    						},
    						Value: &castai.PodMutationFilterV2PodTolerationsFilterMatcherValueArgs{
    							Type:  pulumi.String("string"),
    							Value: pulumi.String("string"),
    						},
    					},
    				},
    				Operator: pulumi.String("string"),
    			},
    		},
    		Workload: &castai.PodMutationFilterV2WorkloadArgs{
    			ExcludeKinds: castai.PodMutationFilterV2WorkloadExcludeKindArray{
    				&castai.PodMutationFilterV2WorkloadExcludeKindArgs{
    					Type:  pulumi.String("string"),
    					Value: pulumi.String("string"),
    				},
    			},
    			ExcludeNames: castai.PodMutationFilterV2WorkloadExcludeNameArray{
    				&castai.PodMutationFilterV2WorkloadExcludeNameArgs{
    					Type:  pulumi.String("string"),
    					Value: pulumi.String("string"),
    				},
    			},
    			ExcludeNamespaces: castai.PodMutationFilterV2WorkloadExcludeNamespaceArray{
    				&castai.PodMutationFilterV2WorkloadExcludeNamespaceArgs{
    					Type:  pulumi.String("string"),
    					Value: pulumi.String("string"),
    				},
    			},
    			Kinds: castai.PodMutationFilterV2WorkloadKindArray{
    				&castai.PodMutationFilterV2WorkloadKindArgs{
    					Type:  pulumi.String("string"),
    					Value: pulumi.String("string"),
    				},
    			},
    			Names: castai.PodMutationFilterV2WorkloadNameArray{
    				&castai.PodMutationFilterV2WorkloadNameArgs{
    					Type:  pulumi.String("string"),
    					Value: pulumi.String("string"),
    				},
    			},
    			Namespaces: castai.PodMutationFilterV2WorkloadNamespaceArray{
    				&castai.PodMutationFilterV2WorkloadNamespaceArgs{
    					Type:  pulumi.String("string"),
    					Value: pulumi.String("string"),
    				},
    			},
    		},
    	},
    	ClusterId: pulumi.String("string"),
    	Labels: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	DistributionGroups: castai.PodMutationDistributionGroupArray{
    		&castai.PodMutationDistributionGroupArgs{
    			Configuration: &castai.PodMutationDistributionGroupConfigurationArgs{
    				Affinity: &castai.PodMutationDistributionGroupConfigurationAffinityArgs{
    					NodeAffinity: &castai.PodMutationDistributionGroupConfigurationAffinityNodeAffinityArgs{
    						PreferredDuringSchedulingIgnoredDuringExecutions: castai.PodMutationDistributionGroupConfigurationAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionArray{
    							&castai.PodMutationDistributionGroupConfigurationAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionArgs{
    								Preference: &castai.PodMutationDistributionGroupConfigurationAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceArgs{
    									MatchExpressions: castai.PodMutationDistributionGroupConfigurationAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressionArray{
    										&castai.PodMutationDistributionGroupConfigurationAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressionArgs{
    											Key:      pulumi.String("string"),
    											Operator: pulumi.String("string"),
    											Values: pulumi.StringArray{
    												pulumi.String("string"),
    											},
    										},
    									},
    								},
    								Weight: pulumi.Int(0),
    							},
    						},
    					},
    				},
    				Annotations: pulumi.StringMap{
    					"string": pulumi.String("string"),
    				},
    				Labels: pulumi.StringMap{
    					"string": pulumi.String("string"),
    				},
    				NodeSelector: &castai.PodMutationDistributionGroupConfigurationNodeSelectorArgs{
    					Add: pulumi.StringMap{
    						"string": pulumi.String("string"),
    					},
    					Remove: pulumi.StringMap{
    						"string": pulumi.String("string"),
    					},
    				},
    				NodeTemplatesToConsolidates: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				Patch:    pulumi.String("string"),
    				SpotType: pulumi.String("string"),
    				Tolerations: castai.PodMutationDistributionGroupConfigurationTolerationArray{
    					&castai.PodMutationDistributionGroupConfigurationTolerationArgs{
    						Effect:            pulumi.String("string"),
    						Key:               pulumi.String("string"),
    						Operator:          pulumi.String("string"),
    						TolerationSeconds: pulumi.Int(0),
    						Value:             pulumi.String("string"),
    					},
    				},
    			},
    			Name:       pulumi.String("string"),
    			Percentage: pulumi.Int(0),
    		},
    	},
    	Annotations: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	Affinity: &castai.PodMutationAffinityArgs{
    		NodeAffinity: &castai.PodMutationAffinityNodeAffinityArgs{
    			PreferredDuringSchedulingIgnoredDuringExecutions: castai.PodMutationAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionArray{
    				&castai.PodMutationAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionArgs{
    					Preference: &castai.PodMutationAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceArgs{
    						MatchExpressions: castai.PodMutationAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressionArray{
    							&castai.PodMutationAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressionArgs{
    								Key:      pulumi.String("string"),
    								Operator: pulumi.String("string"),
    								Values: pulumi.StringArray{
    									pulumi.String("string"),
    								},
    							},
    						},
    					},
    					Weight: pulumi.Int(0),
    				},
    			},
    		},
    	},
    	Name: pulumi.String("string"),
    	NodeSelector: &castai.PodMutationNodeSelectorArgs{
    		Add: pulumi.StringMap{
    			"string": pulumi.String("string"),
    		},
    		Remove: pulumi.StringMap{
    			"string": pulumi.String("string"),
    		},
    	},
    	NodeTemplatesToConsolidates: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	OrganizationId: pulumi.String("string"),
    	Patch:          pulumi.String("string"),
    	PodEviction: &castai.PodMutationPodEvictionArgs{
    		Enabled: pulumi.Bool(false),
    	},
    	SpotConfig: &castai.PodMutationSpotConfigArgs{
    		DistributionPercentage: pulumi.Int(0),
    		SpotMode:               pulumi.String("string"),
    	},
    	Tolerations: castai.PodMutationTolerationArray{
    		&castai.PodMutationTolerationArgs{
    			Effect:            pulumi.String("string"),
    			Key:               pulumi.String("string"),
    			Operator:          pulumi.String("string"),
    			TolerationSeconds: pulumi.Int(0),
    			Value:             pulumi.String("string"),
    		},
    	},
    })
    
    resource "castai_pod_mutation" "podMutationResource" {
      lifecycle {
        create_before_destroy = true
      }
      enabled = false
      filter_v2 = {
        pod = {
          exclude_labels_filter = {
            matchers = [{
              key = {
                type  = "string"
                value = "string"
              }
              value = {
                type  = "string"
                value = "string"
              }
            }]
            operator = "string"
          }
          labels_filter = {
            matchers = [{
              key = {
                type  = "string"
                value = "string"
              }
              value = {
                type  = "string"
                value = "string"
              }
            }]
            operator = "string"
          }
          tolerations_filter = {
            matchers = [{
              key = {
                type  = "string"
                value = "string"
              }
              operator = {
                type  = "string"
                value = "string"
              }
              value = {
                type  = "string"
                value = "string"
              }
            }]
            operator = "string"
          }
        }
        workload = {
          exclude_kinds = [{
            type  = "string"
            value = "string"
          }]
          exclude_names = [{
            type  = "string"
            value = "string"
          }]
          exclude_namespaces = [{
            type  = "string"
            value = "string"
          }]
          kinds = [{
            type  = "string"
            value = "string"
          }]
          names = [{
            type  = "string"
            value = "string"
          }]
          namespaces = [{
            type  = "string"
            value = "string"
          }]
        }
      }
      cluster_id = "string"
      labels = {
        "string" = "string"
      }
      distribution_groups {
        configuration = {
          affinity = {
            node_affinity = {
              preferred_during_scheduling_ignored_during_executions = [{
                preference = {
                  match_expressions = [{
                    key      = "string"
                    operator = "string"
                    values   = ["string"]
                  }]
                }
                weight = 0
              }]
            }
          }
          annotations = {
            "string" = "string"
          }
          labels = {
            "string" = "string"
          }
          node_selector = {
            add = {
              "string" = "string"
            }
            remove = {
              "string" = "string"
            }
          }
          node_templates_to_consolidates = ["string"]
          patch                          = "string"
          spot_type                      = "string"
          tolerations = [{
            effect             = "string"
            key                = "string"
            operator           = "string"
            toleration_seconds = 0
            value              = "string"
          }]
        }
        name       = "string"
        percentage = 0
      }
      annotations = {
        "string" = "string"
      }
      affinity = {
        node_affinity = {
          preferred_during_scheduling_ignored_during_executions = [{
            preference = {
              match_expressions = [{
                key      = "string"
                operator = "string"
                values   = ["string"]
              }]
            }
            weight = 0
          }]
        }
      }
      name = "string"
      node_selector = {
        add = {
          "string" = "string"
        }
        remove = {
          "string" = "string"
        }
      }
      node_templates_to_consolidates = ["string"]
      organization_id                = "string"
      patch                          = "string"
      pod_eviction = {
        enabled = false
      }
      spot_config = {
        distribution_percentage = 0
        spot_mode               = "string"
      }
      tolerations {
        effect             = "string"
        key                = "string"
        operator           = "string"
        toleration_seconds = 0
        value              = "string"
      }
    }
    
    var podMutationResource = new PodMutation("podMutationResource", PodMutationArgs.builder()
        .enabled(false)
        .filterV2(PodMutationFilterV2Args.builder()
            .pod(PodMutationFilterV2PodArgs.builder()
                .excludeLabelsFilter(PodMutationFilterV2PodExcludeLabelsFilterArgs.builder()
                    .matchers(PodMutationFilterV2PodExcludeLabelsFilterMatcherArgs.builder()
                        .key(PodMutationFilterV2PodExcludeLabelsFilterMatcherKeyArgs.builder()
                            .type("string")
                            .value("string")
                            .build())
                        .value(PodMutationFilterV2PodExcludeLabelsFilterMatcherValueArgs.builder()
                            .type("string")
                            .value("string")
                            .build())
                        .build())
                    .operator("string")
                    .build())
                .labelsFilter(PodMutationFilterV2PodLabelsFilterArgs.builder()
                    .matchers(PodMutationFilterV2PodLabelsFilterMatcherArgs.builder()
                        .key(PodMutationFilterV2PodLabelsFilterMatcherKeyArgs.builder()
                            .type("string")
                            .value("string")
                            .build())
                        .value(PodMutationFilterV2PodLabelsFilterMatcherValueArgs.builder()
                            .type("string")
                            .value("string")
                            .build())
                        .build())
                    .operator("string")
                    .build())
                .tolerationsFilter(PodMutationFilterV2PodTolerationsFilterArgs.builder()
                    .matchers(PodMutationFilterV2PodTolerationsFilterMatcherArgs.builder()
                        .key(PodMutationFilterV2PodTolerationsFilterMatcherKeyArgs.builder()
                            .type("string")
                            .value("string")
                            .build())
                        .operator(PodMutationFilterV2PodTolerationsFilterMatcherOperatorArgs.builder()
                            .type("string")
                            .value("string")
                            .build())
                        .value(PodMutationFilterV2PodTolerationsFilterMatcherValueArgs.builder()
                            .type("string")
                            .value("string")
                            .build())
                        .build())
                    .operator("string")
                    .build())
                .build())
            .workload(PodMutationFilterV2WorkloadArgs.builder()
                .excludeKinds(PodMutationFilterV2WorkloadExcludeKindArgs.builder()
                    .type("string")
                    .value("string")
                    .build())
                .excludeNames(PodMutationFilterV2WorkloadExcludeNameArgs.builder()
                    .type("string")
                    .value("string")
                    .build())
                .excludeNamespaces(PodMutationFilterV2WorkloadExcludeNamespaceArgs.builder()
                    .type("string")
                    .value("string")
                    .build())
                .kinds(PodMutationFilterV2WorkloadKindArgs.builder()
                    .type("string")
                    .value("string")
                    .build())
                .names(PodMutationFilterV2WorkloadNameArgs.builder()
                    .type("string")
                    .value("string")
                    .build())
                .namespaces(PodMutationFilterV2WorkloadNamespaceArgs.builder()
                    .type("string")
                    .value("string")
                    .build())
                .build())
            .build())
        .clusterId("string")
        .labels(Map.of("string", "string"))
        .distributionGroups(PodMutationDistributionGroupArgs.builder()
            .configuration(PodMutationDistributionGroupConfigurationArgs.builder()
                .affinity(PodMutationDistributionGroupConfigurationAffinityArgs.builder()
                    .nodeAffinity(PodMutationDistributionGroupConfigurationAffinityNodeAffinityArgs.builder()
                        .preferredDuringSchedulingIgnoredDuringExecutions(PodMutationDistributionGroupConfigurationAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionArgs.builder()
                            .preference(PodMutationDistributionGroupConfigurationAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceArgs.builder()
                                .matchExpressions(PodMutationDistributionGroupConfigurationAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressionArgs.builder()
                                    .key("string")
                                    .operator("string")
                                    .values("string")
                                    .build())
                                .build())
                            .weight(0)
                            .build())
                        .build())
                    .build())
                .annotations(Map.of("string", "string"))
                .labels(Map.of("string", "string"))
                .nodeSelector(PodMutationDistributionGroupConfigurationNodeSelectorArgs.builder()
                    .add(Map.of("string", "string"))
                    .remove(Map.of("string", "string"))
                    .build())
                .nodeTemplatesToConsolidates("string")
                .patch("string")
                .spotType("string")
                .tolerations(PodMutationDistributionGroupConfigurationTolerationArgs.builder()
                    .effect("string")
                    .key("string")
                    .operator("string")
                    .tolerationSeconds(0)
                    .value("string")
                    .build())
                .build())
            .name("string")
            .percentage(0)
            .build())
        .annotations(Map.of("string", "string"))
        .affinity(PodMutationAffinityArgs.builder()
            .nodeAffinity(PodMutationAffinityNodeAffinityArgs.builder()
                .preferredDuringSchedulingIgnoredDuringExecutions(PodMutationAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionArgs.builder()
                    .preference(PodMutationAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceArgs.builder()
                        .matchExpressions(PodMutationAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressionArgs.builder()
                            .key("string")
                            .operator("string")
                            .values("string")
                            .build())
                        .build())
                    .weight(0)
                    .build())
                .build())
            .build())
        .name("string")
        .nodeSelector(PodMutationNodeSelectorArgs.builder()
            .add(Map.of("string", "string"))
            .remove(Map.of("string", "string"))
            .build())
        .nodeTemplatesToConsolidates("string")
        .organizationId("string")
        .patch("string")
        .podEviction(PodMutationPodEvictionArgs.builder()
            .enabled(false)
            .build())
        .spotConfig(PodMutationSpotConfigArgs.builder()
            .distributionPercentage(0)
            .spotMode("string")
            .build())
        .tolerations(PodMutationTolerationArgs.builder()
            .effect("string")
            .key("string")
            .operator("string")
            .tolerationSeconds(0)
            .value("string")
            .build())
        .build());
    
    pod_mutation_resource = castai.PodMutation("podMutationResource",
        enabled=False,
        filter_v2={
            "pod": {
                "exclude_labels_filter": {
                    "matchers": [{
                        "key": {
                            "type": "string",
                            "value": "string",
                        },
                        "value": {
                            "type": "string",
                            "value": "string",
                        },
                    }],
                    "operator": "string",
                },
                "labels_filter": {
                    "matchers": [{
                        "key": {
                            "type": "string",
                            "value": "string",
                        },
                        "value": {
                            "type": "string",
                            "value": "string",
                        },
                    }],
                    "operator": "string",
                },
                "tolerations_filter": {
                    "matchers": [{
                        "key": {
                            "type": "string",
                            "value": "string",
                        },
                        "operator": {
                            "type": "string",
                            "value": "string",
                        },
                        "value": {
                            "type": "string",
                            "value": "string",
                        },
                    }],
                    "operator": "string",
                },
            },
            "workload": {
                "exclude_kinds": [{
                    "type": "string",
                    "value": "string",
                }],
                "exclude_names": [{
                    "type": "string",
                    "value": "string",
                }],
                "exclude_namespaces": [{
                    "type": "string",
                    "value": "string",
                }],
                "kinds": [{
                    "type": "string",
                    "value": "string",
                }],
                "names": [{
                    "type": "string",
                    "value": "string",
                }],
                "namespaces": [{
                    "type": "string",
                    "value": "string",
                }],
            },
        },
        cluster_id="string",
        labels={
            "string": "string",
        },
        distribution_groups=[{
            "configuration": {
                "affinity": {
                    "node_affinity": {
                        "preferred_during_scheduling_ignored_during_executions": [{
                            "preference": {
                                "match_expressions": [{
                                    "key": "string",
                                    "operator": "string",
                                    "values": ["string"],
                                }],
                            },
                            "weight": 0,
                        }],
                    },
                },
                "annotations": {
                    "string": "string",
                },
                "labels": {
                    "string": "string",
                },
                "node_selector": {
                    "add": {
                        "string": "string",
                    },
                    "remove": {
                        "string": "string",
                    },
                },
                "node_templates_to_consolidates": ["string"],
                "patch": "string",
                "spot_type": "string",
                "tolerations": [{
                    "effect": "string",
                    "key": "string",
                    "operator": "string",
                    "toleration_seconds": 0,
                    "value": "string",
                }],
            },
            "name": "string",
            "percentage": 0,
        }],
        annotations={
            "string": "string",
        },
        affinity={
            "node_affinity": {
                "preferred_during_scheduling_ignored_during_executions": [{
                    "preference": {
                        "match_expressions": [{
                            "key": "string",
                            "operator": "string",
                            "values": ["string"],
                        }],
                    },
                    "weight": 0,
                }],
            },
        },
        name="string",
        node_selector={
            "add": {
                "string": "string",
            },
            "remove": {
                "string": "string",
            },
        },
        node_templates_to_consolidates=["string"],
        organization_id="string",
        patch="string",
        pod_eviction={
            "enabled": False,
        },
        spot_config={
            "distribution_percentage": 0,
            "spot_mode": "string",
        },
        tolerations=[{
            "effect": "string",
            "key": "string",
            "operator": "string",
            "toleration_seconds": 0,
            "value": "string",
        }])
    
    const podMutationResource = new castai.PodMutation("podMutationResource", {
        enabled: false,
        filterV2: {
            pod: {
                excludeLabelsFilter: {
                    matchers: [{
                        key: {
                            type: "string",
                            value: "string",
                        },
                        value: {
                            type: "string",
                            value: "string",
                        },
                    }],
                    operator: "string",
                },
                labelsFilter: {
                    matchers: [{
                        key: {
                            type: "string",
                            value: "string",
                        },
                        value: {
                            type: "string",
                            value: "string",
                        },
                    }],
                    operator: "string",
                },
                tolerationsFilter: {
                    matchers: [{
                        key: {
                            type: "string",
                            value: "string",
                        },
                        operator: {
                            type: "string",
                            value: "string",
                        },
                        value: {
                            type: "string",
                            value: "string",
                        },
                    }],
                    operator: "string",
                },
            },
            workload: {
                excludeKinds: [{
                    type: "string",
                    value: "string",
                }],
                excludeNames: [{
                    type: "string",
                    value: "string",
                }],
                excludeNamespaces: [{
                    type: "string",
                    value: "string",
                }],
                kinds: [{
                    type: "string",
                    value: "string",
                }],
                names: [{
                    type: "string",
                    value: "string",
                }],
                namespaces: [{
                    type: "string",
                    value: "string",
                }],
            },
        },
        clusterId: "string",
        labels: {
            string: "string",
        },
        distributionGroups: [{
            configuration: {
                affinity: {
                    nodeAffinity: {
                        preferredDuringSchedulingIgnoredDuringExecutions: [{
                            preference: {
                                matchExpressions: [{
                                    key: "string",
                                    operator: "string",
                                    values: ["string"],
                                }],
                            },
                            weight: 0,
                        }],
                    },
                },
                annotations: {
                    string: "string",
                },
                labels: {
                    string: "string",
                },
                nodeSelector: {
                    add: {
                        string: "string",
                    },
                    remove: {
                        string: "string",
                    },
                },
                nodeTemplatesToConsolidates: ["string"],
                patch: "string",
                spotType: "string",
                tolerations: [{
                    effect: "string",
                    key: "string",
                    operator: "string",
                    tolerationSeconds: 0,
                    value: "string",
                }],
            },
            name: "string",
            percentage: 0,
        }],
        annotations: {
            string: "string",
        },
        affinity: {
            nodeAffinity: {
                preferredDuringSchedulingIgnoredDuringExecutions: [{
                    preference: {
                        matchExpressions: [{
                            key: "string",
                            operator: "string",
                            values: ["string"],
                        }],
                    },
                    weight: 0,
                }],
            },
        },
        name: "string",
        nodeSelector: {
            add: {
                string: "string",
            },
            remove: {
                string: "string",
            },
        },
        nodeTemplatesToConsolidates: ["string"],
        organizationId: "string",
        patch: "string",
        podEviction: {
            enabled: false,
        },
        spotConfig: {
            distributionPercentage: 0,
            spotMode: "string",
        },
        tolerations: [{
            effect: "string",
            key: "string",
            operator: "string",
            tolerationSeconds: 0,
            value: "string",
        }],
    });
    
    type: castai:PodMutation
    properties:
        affinity:
            nodeAffinity:
                preferredDuringSchedulingIgnoredDuringExecutions:
                    - preference:
                        matchExpressions:
                            - key: string
                              operator: string
                              values:
                                - string
                      weight: 0
        annotations:
            string: string
        clusterId: string
        distributionGroups:
            - configuration:
                affinity:
                    nodeAffinity:
                        preferredDuringSchedulingIgnoredDuringExecutions:
                            - preference:
                                matchExpressions:
                                    - key: string
                                      operator: string
                                      values:
                                        - string
                              weight: 0
                annotations:
                    string: string
                labels:
                    string: string
                nodeSelector:
                    add:
                        string: string
                    remove:
                        string: string
                nodeTemplatesToConsolidates:
                    - string
                patch: string
                spotType: string
                tolerations:
                    - effect: string
                      key: string
                      operator: string
                      tolerationSeconds: 0
                      value: string
              name: string
              percentage: 0
        enabled: false
        filterV2:
            pod:
                excludeLabelsFilter:
                    matchers:
                        - key:
                            type: string
                            value: string
                          value:
                            type: string
                            value: string
                    operator: string
                labelsFilter:
                    matchers:
                        - key:
                            type: string
                            value: string
                          value:
                            type: string
                            value: string
                    operator: string
                tolerationsFilter:
                    matchers:
                        - key:
                            type: string
                            value: string
                          operator:
                            type: string
                            value: string
                          value:
                            type: string
                            value: string
                    operator: string
            workload:
                excludeKinds:
                    - type: string
                      value: string
                excludeNames:
                    - type: string
                      value: string
                excludeNamespaces:
                    - type: string
                      value: string
                kinds:
                    - type: string
                      value: string
                names:
                    - type: string
                      value: string
                namespaces:
                    - type: string
                      value: string
        labels:
            string: string
        name: string
        nodeSelector:
            add:
                string: string
            remove:
                string: string
        nodeTemplatesToConsolidates:
            - string
        organizationId: string
        patch: string
        podEviction:
            enabled: false
        spotConfig:
            distributionPercentage: 0
            spotMode: string
        tolerations:
            - effect: string
              key: string
              operator: string
              tolerationSeconds: 0
              value: string
    

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

    ClusterId string
    ID of the cluster.
    Enabled bool
    Whether the pod mutation is enabled.
    FilterV2 Pulumi.CastAI.Inputs.PodMutationFilterV2
    Advanced object filter with support for exact and regex matching.
    Affinity Pulumi.CastAI.Inputs.PodMutationAffinity
    Affinity to apply to the pods.
    Annotations Dictionary<string, string>
    Annotations to add to the pods.
    DistributionGroups List<Pulumi.CastAI.Inputs.PodMutationDistributionGroup>
    Distribution groups for percentage-based pod distribution.
    Labels Dictionary<string, string>
    Labels to add to the pods.
    Name string
    Name of the pod mutation.
    NodeSelector Pulumi.CastAI.Inputs.PodMutationNodeSelector
    Node selector to apply to the pods (add/remove key-value pairs).
    NodeTemplatesToConsolidates List<string>
    Node template names to consolidate.
    OrganizationId string
    ID of the organization. If not provided, will be inferred from the API client.
    Patch string
    JSON patch to apply to pods. Must be a JSON array of patch operations.
    PodEviction Pulumi.CastAI.Inputs.PodMutationPodEviction
    Eviction settings for enforcement of pod mutations.
    SpotConfig Pulumi.CastAI.Inputs.PodMutationSpotConfig
    Spot configuration for the mutation.
    Tolerations List<Pulumi.CastAI.Inputs.PodMutationToleration>
    Tolerations to apply to the pods.
    ClusterId string
    ID of the cluster.
    Enabled bool
    Whether the pod mutation is enabled.
    FilterV2 PodMutationFilterV2Args
    Advanced object filter with support for exact and regex matching.
    Affinity PodMutationAffinityArgs
    Affinity to apply to the pods.
    Annotations map[string]string
    Annotations to add to the pods.
    DistributionGroups []PodMutationDistributionGroupArgs
    Distribution groups for percentage-based pod distribution.
    Labels map[string]string
    Labels to add to the pods.
    Name string
    Name of the pod mutation.
    NodeSelector PodMutationNodeSelectorArgs
    Node selector to apply to the pods (add/remove key-value pairs).
    NodeTemplatesToConsolidates []string
    Node template names to consolidate.
    OrganizationId string
    ID of the organization. If not provided, will be inferred from the API client.
    Patch string
    JSON patch to apply to pods. Must be a JSON array of patch operations.
    PodEviction PodMutationPodEvictionArgs
    Eviction settings for enforcement of pod mutations.
    SpotConfig PodMutationSpotConfigArgs
    Spot configuration for the mutation.
    Tolerations []PodMutationTolerationArgs
    Tolerations to apply to the pods.
    cluster_id string
    ID of the cluster.
    enabled bool
    Whether the pod mutation is enabled.
    filter_v2 object
    Advanced object filter with support for exact and regex matching.
    affinity object
    Affinity to apply to the pods.
    annotations map(string)
    Annotations to add to the pods.
    distribution_groups list(object)
    Distribution groups for percentage-based pod distribution.
    labels map(string)
    Labels to add to the pods.
    name string
    Name of the pod mutation.
    node_selector object
    Node selector to apply to the pods (add/remove key-value pairs).
    node_templates_to_consolidates list(string)
    Node template names to consolidate.
    organization_id string
    ID of the organization. If not provided, will be inferred from the API client.
    patch string
    JSON patch to apply to pods. Must be a JSON array of patch operations.
    pod_eviction object
    Eviction settings for enforcement of pod mutations.
    spot_config object
    Spot configuration for the mutation.
    tolerations list(object)
    Tolerations to apply to the pods.
    clusterId String
    ID of the cluster.
    enabled Boolean
    Whether the pod mutation is enabled.
    filterV2 PodMutationFilterV2
    Advanced object filter with support for exact and regex matching.
    affinity PodMutationAffinity
    Affinity to apply to the pods.
    annotations Map<String,String>
    Annotations to add to the pods.
    distributionGroups List<PodMutationDistributionGroup>
    Distribution groups for percentage-based pod distribution.
    labels Map<String,String>
    Labels to add to the pods.
    name String
    Name of the pod mutation.
    nodeSelector PodMutationNodeSelector
    Node selector to apply to the pods (add/remove key-value pairs).
    nodeTemplatesToConsolidates List<String>
    Node template names to consolidate.
    organizationId String
    ID of the organization. If not provided, will be inferred from the API client.
    patch String
    JSON patch to apply to pods. Must be a JSON array of patch operations.
    podEviction PodMutationPodEviction
    Eviction settings for enforcement of pod mutations.
    spotConfig PodMutationSpotConfig
    Spot configuration for the mutation.
    tolerations List<PodMutationToleration>
    Tolerations to apply to the pods.
    clusterId string
    ID of the cluster.
    enabled boolean
    Whether the pod mutation is enabled.
    filterV2 PodMutationFilterV2
    Advanced object filter with support for exact and regex matching.
    affinity PodMutationAffinity
    Affinity to apply to the pods.
    annotations {[key: string]: string}
    Annotations to add to the pods.
    distributionGroups PodMutationDistributionGroup[]
    Distribution groups for percentage-based pod distribution.
    labels {[key: string]: string}
    Labels to add to the pods.
    name string
    Name of the pod mutation.
    nodeSelector PodMutationNodeSelector
    Node selector to apply to the pods (add/remove key-value pairs).
    nodeTemplatesToConsolidates string[]
    Node template names to consolidate.
    organizationId string
    ID of the organization. If not provided, will be inferred from the API client.
    patch string
    JSON patch to apply to pods. Must be a JSON array of patch operations.
    podEviction PodMutationPodEviction
    Eviction settings for enforcement of pod mutations.
    spotConfig PodMutationSpotConfig
    Spot configuration for the mutation.
    tolerations PodMutationToleration[]
    Tolerations to apply to the pods.
    cluster_id str
    ID of the cluster.
    enabled bool
    Whether the pod mutation is enabled.
    filter_v2 PodMutationFilterV2Args
    Advanced object filter with support for exact and regex matching.
    affinity PodMutationAffinityArgs
    Affinity to apply to the pods.
    annotations Mapping[str, str]
    Annotations to add to the pods.
    distribution_groups Sequence[PodMutationDistributionGroupArgs]
    Distribution groups for percentage-based pod distribution.
    labels Mapping[str, str]
    Labels to add to the pods.
    name str
    Name of the pod mutation.
    node_selector PodMutationNodeSelectorArgs
    Node selector to apply to the pods (add/remove key-value pairs).
    node_templates_to_consolidates Sequence[str]
    Node template names to consolidate.
    organization_id str
    ID of the organization. If not provided, will be inferred from the API client.
    patch str
    JSON patch to apply to pods. Must be a JSON array of patch operations.
    pod_eviction PodMutationPodEvictionArgs
    Eviction settings for enforcement of pod mutations.
    spot_config PodMutationSpotConfigArgs
    Spot configuration for the mutation.
    tolerations Sequence[PodMutationTolerationArgs]
    Tolerations to apply to the pods.
    clusterId String
    ID of the cluster.
    enabled Boolean
    Whether the pod mutation is enabled.
    filterV2 Property Map
    Advanced object filter with support for exact and regex matching.
    affinity Property Map
    Affinity to apply to the pods.
    annotations Map<String>
    Annotations to add to the pods.
    distributionGroups List<Property Map>
    Distribution groups for percentage-based pod distribution.
    labels Map<String>
    Labels to add to the pods.
    name String
    Name of the pod mutation.
    nodeSelector Property Map
    Node selector to apply to the pods (add/remove key-value pairs).
    nodeTemplatesToConsolidates List<String>
    Node template names to consolidate.
    organizationId String
    ID of the organization. If not provided, will be inferred from the API client.
    patch String
    JSON patch to apply to pods. Must be a JSON array of patch operations.
    podEviction Property Map
    Eviction settings for enforcement of pod mutations.
    spotConfig Property Map
    Spot configuration for the mutation.
    tolerations List<Property Map>
    Tolerations to apply to the pods.

    Outputs

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

    Id string
    The provider-assigned unique ID for this managed resource.
    Source string
    Source of the pod mutation (API or CUSTOM_RESOURCE).
    Id string
    The provider-assigned unique ID for this managed resource.
    Source string
    Source of the pod mutation (API or CUSTOM_RESOURCE).
    id string
    The provider-assigned unique ID for this managed resource.
    source string
    Source of the pod mutation (API or CUSTOM_RESOURCE).
    id String
    The provider-assigned unique ID for this managed resource.
    source String
    Source of the pod mutation (API or CUSTOM_RESOURCE).
    id string
    The provider-assigned unique ID for this managed resource.
    source string
    Source of the pod mutation (API or CUSTOM_RESOURCE).
    id str
    The provider-assigned unique ID for this managed resource.
    source str
    Source of the pod mutation (API or CUSTOM_RESOURCE).
    id String
    The provider-assigned unique ID for this managed resource.
    source String
    Source of the pod mutation (API or CUSTOM_RESOURCE).

    Look up Existing PodMutation Resource

    Get an existing PodMutation 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?: PodMutationState, opts?: CustomResourceOptions): PodMutation
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            affinity: Optional[PodMutationAffinityArgs] = None,
            annotations: Optional[Mapping[str, str]] = None,
            cluster_id: Optional[str] = None,
            distribution_groups: Optional[Sequence[PodMutationDistributionGroupArgs]] = None,
            enabled: Optional[bool] = None,
            filter_v2: Optional[PodMutationFilterV2Args] = None,
            labels: Optional[Mapping[str, str]] = None,
            name: Optional[str] = None,
            node_selector: Optional[PodMutationNodeSelectorArgs] = None,
            node_templates_to_consolidates: Optional[Sequence[str]] = None,
            organization_id: Optional[str] = None,
            patch: Optional[str] = None,
            pod_eviction: Optional[PodMutationPodEvictionArgs] = None,
            source: Optional[str] = None,
            spot_config: Optional[PodMutationSpotConfigArgs] = None,
            tolerations: Optional[Sequence[PodMutationTolerationArgs]] = None) -> PodMutation
    func GetPodMutation(ctx *Context, name string, id IDInput, state *PodMutationState, opts ...ResourceOption) (*PodMutation, error)
    public static PodMutation Get(string name, Input<string> id, PodMutationState? state, CustomResourceOptions? opts = null)
    public static PodMutation get(String name, Output<String> id, PodMutationState state, CustomResourceOptions options)
    resources:  _:    type: castai:PodMutation    get:      id: ${id}
    import {
      to = castai_pod_mutation.example
      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:
    Affinity Pulumi.CastAI.Inputs.PodMutationAffinity
    Affinity to apply to the pods.
    Annotations Dictionary<string, string>
    Annotations to add to the pods.
    ClusterId string
    ID of the cluster.
    DistributionGroups List<Pulumi.CastAI.Inputs.PodMutationDistributionGroup>
    Distribution groups for percentage-based pod distribution.
    Enabled bool
    Whether the pod mutation is enabled.
    FilterV2 Pulumi.CastAI.Inputs.PodMutationFilterV2
    Advanced object filter with support for exact and regex matching.
    Labels Dictionary<string, string>
    Labels to add to the pods.
    Name string
    Name of the pod mutation.
    NodeSelector Pulumi.CastAI.Inputs.PodMutationNodeSelector
    Node selector to apply to the pods (add/remove key-value pairs).
    NodeTemplatesToConsolidates List<string>
    Node template names to consolidate.
    OrganizationId string
    ID of the organization. If not provided, will be inferred from the API client.
    Patch string
    JSON patch to apply to pods. Must be a JSON array of patch operations.
    PodEviction Pulumi.CastAI.Inputs.PodMutationPodEviction
    Eviction settings for enforcement of pod mutations.
    Source string
    Source of the pod mutation (API or CUSTOM_RESOURCE).
    SpotConfig Pulumi.CastAI.Inputs.PodMutationSpotConfig
    Spot configuration for the mutation.
    Tolerations List<Pulumi.CastAI.Inputs.PodMutationToleration>
    Tolerations to apply to the pods.
    Affinity PodMutationAffinityArgs
    Affinity to apply to the pods.
    Annotations map[string]string
    Annotations to add to the pods.
    ClusterId string
    ID of the cluster.
    DistributionGroups []PodMutationDistributionGroupArgs
    Distribution groups for percentage-based pod distribution.
    Enabled bool
    Whether the pod mutation is enabled.
    FilterV2 PodMutationFilterV2Args
    Advanced object filter with support for exact and regex matching.
    Labels map[string]string
    Labels to add to the pods.
    Name string
    Name of the pod mutation.
    NodeSelector PodMutationNodeSelectorArgs
    Node selector to apply to the pods (add/remove key-value pairs).
    NodeTemplatesToConsolidates []string
    Node template names to consolidate.
    OrganizationId string
    ID of the organization. If not provided, will be inferred from the API client.
    Patch string
    JSON patch to apply to pods. Must be a JSON array of patch operations.
    PodEviction PodMutationPodEvictionArgs
    Eviction settings for enforcement of pod mutations.
    Source string
    Source of the pod mutation (API or CUSTOM_RESOURCE).
    SpotConfig PodMutationSpotConfigArgs
    Spot configuration for the mutation.
    Tolerations []PodMutationTolerationArgs
    Tolerations to apply to the pods.
    affinity object
    Affinity to apply to the pods.
    annotations map(string)
    Annotations to add to the pods.
    cluster_id string
    ID of the cluster.
    distribution_groups list(object)
    Distribution groups for percentage-based pod distribution.
    enabled bool
    Whether the pod mutation is enabled.
    filter_v2 object
    Advanced object filter with support for exact and regex matching.
    labels map(string)
    Labels to add to the pods.
    name string
    Name of the pod mutation.
    node_selector object
    Node selector to apply to the pods (add/remove key-value pairs).
    node_templates_to_consolidates list(string)
    Node template names to consolidate.
    organization_id string
    ID of the organization. If not provided, will be inferred from the API client.
    patch string
    JSON patch to apply to pods. Must be a JSON array of patch operations.
    pod_eviction object
    Eviction settings for enforcement of pod mutations.
    source string
    Source of the pod mutation (API or CUSTOM_RESOURCE).
    spot_config object
    Spot configuration for the mutation.
    tolerations list(object)
    Tolerations to apply to the pods.
    affinity PodMutationAffinity
    Affinity to apply to the pods.
    annotations Map<String,String>
    Annotations to add to the pods.
    clusterId String
    ID of the cluster.
    distributionGroups List<PodMutationDistributionGroup>
    Distribution groups for percentage-based pod distribution.
    enabled Boolean
    Whether the pod mutation is enabled.
    filterV2 PodMutationFilterV2
    Advanced object filter with support for exact and regex matching.
    labels Map<String,String>
    Labels to add to the pods.
    name String
    Name of the pod mutation.
    nodeSelector PodMutationNodeSelector
    Node selector to apply to the pods (add/remove key-value pairs).
    nodeTemplatesToConsolidates List<String>
    Node template names to consolidate.
    organizationId String
    ID of the organization. If not provided, will be inferred from the API client.
    patch String
    JSON patch to apply to pods. Must be a JSON array of patch operations.
    podEviction PodMutationPodEviction
    Eviction settings for enforcement of pod mutations.
    source String
    Source of the pod mutation (API or CUSTOM_RESOURCE).
    spotConfig PodMutationSpotConfig
    Spot configuration for the mutation.
    tolerations List<PodMutationToleration>
    Tolerations to apply to the pods.
    affinity PodMutationAffinity
    Affinity to apply to the pods.
    annotations {[key: string]: string}
    Annotations to add to the pods.
    clusterId string
    ID of the cluster.
    distributionGroups PodMutationDistributionGroup[]
    Distribution groups for percentage-based pod distribution.
    enabled boolean
    Whether the pod mutation is enabled.
    filterV2 PodMutationFilterV2
    Advanced object filter with support for exact and regex matching.
    labels {[key: string]: string}
    Labels to add to the pods.
    name string
    Name of the pod mutation.
    nodeSelector PodMutationNodeSelector
    Node selector to apply to the pods (add/remove key-value pairs).
    nodeTemplatesToConsolidates string[]
    Node template names to consolidate.
    organizationId string
    ID of the organization. If not provided, will be inferred from the API client.
    patch string
    JSON patch to apply to pods. Must be a JSON array of patch operations.
    podEviction PodMutationPodEviction
    Eviction settings for enforcement of pod mutations.
    source string
    Source of the pod mutation (API or CUSTOM_RESOURCE).
    spotConfig PodMutationSpotConfig
    Spot configuration for the mutation.
    tolerations PodMutationToleration[]
    Tolerations to apply to the pods.
    affinity PodMutationAffinityArgs
    Affinity to apply to the pods.
    annotations Mapping[str, str]
    Annotations to add to the pods.
    cluster_id str
    ID of the cluster.
    distribution_groups Sequence[PodMutationDistributionGroupArgs]
    Distribution groups for percentage-based pod distribution.
    enabled bool
    Whether the pod mutation is enabled.
    filter_v2 PodMutationFilterV2Args
    Advanced object filter with support for exact and regex matching.
    labels Mapping[str, str]
    Labels to add to the pods.
    name str
    Name of the pod mutation.
    node_selector PodMutationNodeSelectorArgs
    Node selector to apply to the pods (add/remove key-value pairs).
    node_templates_to_consolidates Sequence[str]
    Node template names to consolidate.
    organization_id str
    ID of the organization. If not provided, will be inferred from the API client.
    patch str
    JSON patch to apply to pods. Must be a JSON array of patch operations.
    pod_eviction PodMutationPodEvictionArgs
    Eviction settings for enforcement of pod mutations.
    source str
    Source of the pod mutation (API or CUSTOM_RESOURCE).
    spot_config PodMutationSpotConfigArgs
    Spot configuration for the mutation.
    tolerations Sequence[PodMutationTolerationArgs]
    Tolerations to apply to the pods.
    affinity Property Map
    Affinity to apply to the pods.
    annotations Map<String>
    Annotations to add to the pods.
    clusterId String
    ID of the cluster.
    distributionGroups List<Property Map>
    Distribution groups for percentage-based pod distribution.
    enabled Boolean
    Whether the pod mutation is enabled.
    filterV2 Property Map
    Advanced object filter with support for exact and regex matching.
    labels Map<String>
    Labels to add to the pods.
    name String
    Name of the pod mutation.
    nodeSelector Property Map
    Node selector to apply to the pods (add/remove key-value pairs).
    nodeTemplatesToConsolidates List<String>
    Node template names to consolidate.
    organizationId String
    ID of the organization. If not provided, will be inferred from the API client.
    patch String
    JSON patch to apply to pods. Must be a JSON array of patch operations.
    podEviction Property Map
    Eviction settings for enforcement of pod mutations.
    source String
    Source of the pod mutation (API or CUSTOM_RESOURCE).
    spotConfig Property Map
    Spot configuration for the mutation.
    tolerations List<Property Map>
    Tolerations to apply to the pods.

    Supporting Types

    PodMutationAffinity, PodMutationAffinityArgs

    PodMutationAffinityNodeAffinity, PodMutationAffinityNodeAffinityArgs

    PodMutationAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution, PodMutationAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionArgs

    preference object
    weight number
    Weight of the node affinity term.
    preference Property Map
    weight Number
    Weight of the node affinity term.

    PodMutationAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference, PodMutationAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceArgs

    PodMutationAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpression, PodMutationAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressionArgs

    Key string
    Operator string
    Values List<string>
    Key string
    Operator string
    Values []string
    key string
    operator string
    values list(string)
    key String
    operator String
    values List<String>
    key string
    operator string
    values string[]
    key str
    operator str
    values Sequence[str]
    key String
    operator String
    values List<String>

    PodMutationDistributionGroup, PodMutationDistributionGroupArgs

    Configuration Pulumi.CastAI.Inputs.PodMutationDistributionGroupConfiguration
    Name string
    Unique name for this distribution group.
    Percentage int
    Percentage of pods (0-100) that should receive this configuration.
    Configuration PodMutationDistributionGroupConfiguration
    Name string
    Unique name for this distribution group.
    Percentage int
    Percentage of pods (0-100) that should receive this configuration.
    configuration object
    name string
    Unique name for this distribution group.
    percentage number
    Percentage of pods (0-100) that should receive this configuration.
    configuration PodMutationDistributionGroupConfiguration
    name String
    Unique name for this distribution group.
    percentage Integer
    Percentage of pods (0-100) that should receive this configuration.
    configuration PodMutationDistributionGroupConfiguration
    name string
    Unique name for this distribution group.
    percentage number
    Percentage of pods (0-100) that should receive this configuration.
    configuration PodMutationDistributionGroupConfiguration
    name str
    Unique name for this distribution group.
    percentage int
    Percentage of pods (0-100) that should receive this configuration.
    configuration Property Map
    name String
    Unique name for this distribution group.
    percentage Number
    Percentage of pods (0-100) that should receive this configuration.

    PodMutationDistributionGroupConfiguration, PodMutationDistributionGroupConfigurationArgs

    Affinity Pulumi.CastAI.Inputs.PodMutationDistributionGroupConfigurationAffinity
    Affinity to apply to the pods.
    Annotations Dictionary<string, string>
    Annotations to add to the pods.
    Labels Dictionary<string, string>
    Labels to add to the pods.
    NodeSelector Pulumi.CastAI.Inputs.PodMutationDistributionGroupConfigurationNodeSelector
    Node selector to apply to the pods (add/remove key-value pairs).
    NodeTemplatesToConsolidates List<string>
    Node template names to consolidate.
    Patch string
    JSON patch to apply to pods. Must be a JSON array of patch operations.
    SpotType string
    Spot instance type: OPTIONAL_SPOT, USE_ONLY_SPOT, or PREFERRED_SPOT.
    Tolerations List<Pulumi.CastAI.Inputs.PodMutationDistributionGroupConfigurationToleration>
    Tolerations to apply to the pods.
    Affinity PodMutationDistributionGroupConfigurationAffinity
    Affinity to apply to the pods.
    Annotations map[string]string
    Annotations to add to the pods.
    Labels map[string]string
    Labels to add to the pods.
    NodeSelector PodMutationDistributionGroupConfigurationNodeSelector
    Node selector to apply to the pods (add/remove key-value pairs).
    NodeTemplatesToConsolidates []string
    Node template names to consolidate.
    Patch string
    JSON patch to apply to pods. Must be a JSON array of patch operations.
    SpotType string
    Spot instance type: OPTIONAL_SPOT, USE_ONLY_SPOT, or PREFERRED_SPOT.
    Tolerations []PodMutationDistributionGroupConfigurationToleration
    Tolerations to apply to the pods.
    affinity object
    Affinity to apply to the pods.
    annotations map(string)
    Annotations to add to the pods.
    labels map(string)
    Labels to add to the pods.
    node_selector object
    Node selector to apply to the pods (add/remove key-value pairs).
    node_templates_to_consolidates list(string)
    Node template names to consolidate.
    patch string
    JSON patch to apply to pods. Must be a JSON array of patch operations.
    spot_type string
    Spot instance type: OPTIONAL_SPOT, USE_ONLY_SPOT, or PREFERRED_SPOT.
    tolerations list(object)
    Tolerations to apply to the pods.
    affinity PodMutationDistributionGroupConfigurationAffinity
    Affinity to apply to the pods.
    annotations Map<String,String>
    Annotations to add to the pods.
    labels Map<String,String>
    Labels to add to the pods.
    nodeSelector PodMutationDistributionGroupConfigurationNodeSelector
    Node selector to apply to the pods (add/remove key-value pairs).
    nodeTemplatesToConsolidates List<String>
    Node template names to consolidate.
    patch String
    JSON patch to apply to pods. Must be a JSON array of patch operations.
    spotType String
    Spot instance type: OPTIONAL_SPOT, USE_ONLY_SPOT, or PREFERRED_SPOT.
    tolerations List<PodMutationDistributionGroupConfigurationToleration>
    Tolerations to apply to the pods.
    affinity PodMutationDistributionGroupConfigurationAffinity
    Affinity to apply to the pods.
    annotations {[key: string]: string}
    Annotations to add to the pods.
    labels {[key: string]: string}
    Labels to add to the pods.
    nodeSelector PodMutationDistributionGroupConfigurationNodeSelector
    Node selector to apply to the pods (add/remove key-value pairs).
    nodeTemplatesToConsolidates string[]
    Node template names to consolidate.
    patch string
    JSON patch to apply to pods. Must be a JSON array of patch operations.
    spotType string
    Spot instance type: OPTIONAL_SPOT, USE_ONLY_SPOT, or PREFERRED_SPOT.
    tolerations PodMutationDistributionGroupConfigurationToleration[]
    Tolerations to apply to the pods.
    affinity PodMutationDistributionGroupConfigurationAffinity
    Affinity to apply to the pods.
    annotations Mapping[str, str]
    Annotations to add to the pods.
    labels Mapping[str, str]
    Labels to add to the pods.
    node_selector PodMutationDistributionGroupConfigurationNodeSelector
    Node selector to apply to the pods (add/remove key-value pairs).
    node_templates_to_consolidates Sequence[str]
    Node template names to consolidate.
    patch str
    JSON patch to apply to pods. Must be a JSON array of patch operations.
    spot_type str
    Spot instance type: OPTIONAL_SPOT, USE_ONLY_SPOT, or PREFERRED_SPOT.
    tolerations Sequence[PodMutationDistributionGroupConfigurationToleration]
    Tolerations to apply to the pods.
    affinity Property Map
    Affinity to apply to the pods.
    annotations Map<String>
    Annotations to add to the pods.
    labels Map<String>
    Labels to add to the pods.
    nodeSelector Property Map
    Node selector to apply to the pods (add/remove key-value pairs).
    nodeTemplatesToConsolidates List<String>
    Node template names to consolidate.
    patch String
    JSON patch to apply to pods. Must be a JSON array of patch operations.
    spotType String
    Spot instance type: OPTIONAL_SPOT, USE_ONLY_SPOT, or PREFERRED_SPOT.
    tolerations List<Property Map>
    Tolerations to apply to the pods.

    PodMutationDistributionGroupConfigurationAffinity, PodMutationDistributionGroupConfigurationAffinityArgs

    PodMutationDistributionGroupConfigurationAffinityNodeAffinity, PodMutationDistributionGroupConfigurationAffinityNodeAffinityArgs

    PodMutationDistributionGroupConfigurationAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution, PodMutationDistributionGroupConfigurationAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionArgs

    preference object
    weight number
    Weight of the node affinity term.
    preference Property Map
    weight Number
    Weight of the node affinity term.

    PodMutationDistributionGroupConfigurationAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference, PodMutationDistributionGroupConfigurationAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceArgs

    PodMutationDistributionGroupConfigurationAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpression, PodMutationDistributionGroupConfigurationAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressionArgs

    Key string
    Operator string
    Values List<string>
    Key string
    Operator string
    Values []string
    key string
    operator string
    values list(string)
    key String
    operator String
    values List<String>
    key string
    operator string
    values string[]
    key str
    operator str
    values Sequence[str]
    key String
    operator String
    values List<String>

    PodMutationDistributionGroupConfigurationNodeSelector, PodMutationDistributionGroupConfigurationNodeSelectorArgs

    Add Dictionary<string, string>
    Remove Dictionary<string, string>
    Add map[string]string
    Remove map[string]string
    add map(string)
    remove map(string)
    add Map<String,String>
    remove Map<String,String>
    add {[key: string]: string}
    remove {[key: string]: string}
    add Mapping[str, str]
    remove Mapping[str, str]
    add Map<String>
    remove Map<String>

    PodMutationDistributionGroupConfigurationToleration, PodMutationDistributionGroupConfigurationTolerationArgs

    Effect string
    Toleration effect.
    Key string
    Toleration key.
    Operator string
    Toleration operator.
    TolerationSeconds int
    Toleration seconds.
    Value string
    Toleration value.
    Effect string
    Toleration effect.
    Key string
    Toleration key.
    Operator string
    Toleration operator.
    TolerationSeconds int
    Toleration seconds.
    Value string
    Toleration value.
    effect string
    Toleration effect.
    key string
    Toleration key.
    operator string
    Toleration operator.
    toleration_seconds number
    Toleration seconds.
    value string
    Toleration value.
    effect String
    Toleration effect.
    key String
    Toleration key.
    operator String
    Toleration operator.
    tolerationSeconds Integer
    Toleration seconds.
    value String
    Toleration value.
    effect string
    Toleration effect.
    key string
    Toleration key.
    operator string
    Toleration operator.
    tolerationSeconds number
    Toleration seconds.
    value string
    Toleration value.
    effect str
    Toleration effect.
    key str
    Toleration key.
    operator str
    Toleration operator.
    toleration_seconds int
    Toleration seconds.
    value str
    Toleration value.
    effect String
    Toleration effect.
    key String
    Toleration key.
    operator String
    Toleration operator.
    tolerationSeconds Number
    Toleration seconds.
    value String
    Toleration value.

    PodMutationFilterV2, PodMutationFilterV2Args

    Pod Pulumi.CastAI.Inputs.PodMutationFilterV2Pod
    Pod filter for labels.
    Workload Pulumi.CastAI.Inputs.PodMutationFilterV2Workload
    Workload filter for kinds, names, and namespaces.
    Pod PodMutationFilterV2Pod
    Pod filter for labels.
    Workload PodMutationFilterV2Workload
    Workload filter for kinds, names, and namespaces.
    pod object
    Pod filter for labels.
    workload object
    Workload filter for kinds, names, and namespaces.
    pod PodMutationFilterV2Pod
    Pod filter for labels.
    workload PodMutationFilterV2Workload
    Workload filter for kinds, names, and namespaces.
    pod PodMutationFilterV2Pod
    Pod filter for labels.
    workload PodMutationFilterV2Workload
    Workload filter for kinds, names, and namespaces.
    pod PodMutationFilterV2Pod
    Pod filter for labels.
    workload PodMutationFilterV2Workload
    Workload filter for kinds, names, and namespaces.
    pod Property Map
    Pod filter for labels.
    workload Property Map
    Workload filter for kinds, names, and namespaces.

    PodMutationFilterV2Pod, PodMutationFilterV2PodArgs

    exclude_labels_filter object
    labels_filter object
    tolerations_filter object
    Tolerations filter for matching pods by their tolerations.
    excludeLabelsFilter Property Map
    labelsFilter Property Map
    tolerationsFilter Property Map
    Tolerations filter for matching pods by their tolerations.

    PodMutationFilterV2PodExcludeLabelsFilter, PodMutationFilterV2PodExcludeLabelsFilterArgs

    Matchers List<Pulumi.CastAI.Inputs.PodMutationFilterV2PodExcludeLabelsFilterMatcher>
    Operator string
    Logical operator to combine label matchers: AND or OR.
    Matchers []PodMutationFilterV2PodExcludeLabelsFilterMatcher
    Operator string
    Logical operator to combine label matchers: AND or OR.
    matchers list(object)
    operator string
    Logical operator to combine label matchers: AND or OR.
    matchers List<PodMutationFilterV2PodExcludeLabelsFilterMatcher>
    operator String
    Logical operator to combine label matchers: AND or OR.
    matchers PodMutationFilterV2PodExcludeLabelsFilterMatcher[]
    operator string
    Logical operator to combine label matchers: AND or OR.
    matchers Sequence[PodMutationFilterV2PodExcludeLabelsFilterMatcher]
    operator str
    Logical operator to combine label matchers: AND or OR.
    matchers List<Property Map>
    operator String
    Logical operator to combine label matchers: AND or OR.

    PodMutationFilterV2PodExcludeLabelsFilterMatcher, PodMutationFilterV2PodExcludeLabelsFilterMatcherArgs

    PodMutationFilterV2PodExcludeLabelsFilterMatcherKey, PodMutationFilterV2PodExcludeLabelsFilterMatcherKeyArgs

    Type string
    Matcher type: EXACT or REGEX.
    Value string
    Value to match against.
    Type string
    Matcher type: EXACT or REGEX.
    Value string
    Value to match against.
    type string
    Matcher type: EXACT or REGEX.
    value string
    Value to match against.
    type String
    Matcher type: EXACT or REGEX.
    value String
    Value to match against.
    type string
    Matcher type: EXACT or REGEX.
    value string
    Value to match against.
    type str
    Matcher type: EXACT or REGEX.
    value str
    Value to match against.
    type String
    Matcher type: EXACT or REGEX.
    value String
    Value to match against.

    PodMutationFilterV2PodExcludeLabelsFilterMatcherValue, PodMutationFilterV2PodExcludeLabelsFilterMatcherValueArgs

    Type string
    Matcher type: EXACT or REGEX.
    Value string
    Value to match against.
    Type string
    Matcher type: EXACT or REGEX.
    Value string
    Value to match against.
    type string
    Matcher type: EXACT or REGEX.
    value string
    Value to match against.
    type String
    Matcher type: EXACT or REGEX.
    value String
    Value to match against.
    type string
    Matcher type: EXACT or REGEX.
    value string
    Value to match against.
    type str
    Matcher type: EXACT or REGEX.
    value str
    Value to match against.
    type String
    Matcher type: EXACT or REGEX.
    value String
    Value to match against.

    PodMutationFilterV2PodLabelsFilter, PodMutationFilterV2PodLabelsFilterArgs

    Matchers List<Pulumi.CastAI.Inputs.PodMutationFilterV2PodLabelsFilterMatcher>
    Operator string
    Logical operator to combine label matchers: AND or OR.
    Matchers []PodMutationFilterV2PodLabelsFilterMatcher
    Operator string
    Logical operator to combine label matchers: AND or OR.
    matchers list(object)
    operator string
    Logical operator to combine label matchers: AND or OR.
    matchers List<PodMutationFilterV2PodLabelsFilterMatcher>
    operator String
    Logical operator to combine label matchers: AND or OR.
    matchers PodMutationFilterV2PodLabelsFilterMatcher[]
    operator string
    Logical operator to combine label matchers: AND or OR.
    matchers Sequence[PodMutationFilterV2PodLabelsFilterMatcher]
    operator str
    Logical operator to combine label matchers: AND or OR.
    matchers List<Property Map>
    operator String
    Logical operator to combine label matchers: AND or OR.

    PodMutationFilterV2PodLabelsFilterMatcher, PodMutationFilterV2PodLabelsFilterMatcherArgs

    PodMutationFilterV2PodLabelsFilterMatcherKey, PodMutationFilterV2PodLabelsFilterMatcherKeyArgs

    Type string
    Matcher type: EXACT or REGEX.
    Value string
    Value to match against.
    Type string
    Matcher type: EXACT or REGEX.
    Value string
    Value to match against.
    type string
    Matcher type: EXACT or REGEX.
    value string
    Value to match against.
    type String
    Matcher type: EXACT or REGEX.
    value String
    Value to match against.
    type string
    Matcher type: EXACT or REGEX.
    value string
    Value to match against.
    type str
    Matcher type: EXACT or REGEX.
    value str
    Value to match against.
    type String
    Matcher type: EXACT or REGEX.
    value String
    Value to match against.

    PodMutationFilterV2PodLabelsFilterMatcherValue, PodMutationFilterV2PodLabelsFilterMatcherValueArgs

    Type string
    Matcher type: EXACT or REGEX.
    Value string
    Value to match against.
    Type string
    Matcher type: EXACT or REGEX.
    Value string
    Value to match against.
    type string
    Matcher type: EXACT or REGEX.
    value string
    Value to match against.
    type String
    Matcher type: EXACT or REGEX.
    value String
    Value to match against.
    type string
    Matcher type: EXACT or REGEX.
    value string
    Value to match against.
    type str
    Matcher type: EXACT or REGEX.
    value str
    Value to match against.
    type String
    Matcher type: EXACT or REGEX.
    value String
    Value to match against.

    PodMutationFilterV2PodTolerationsFilter, PodMutationFilterV2PodTolerationsFilterArgs

    Matchers List<Pulumi.CastAI.Inputs.PodMutationFilterV2PodTolerationsFilterMatcher>
    Operator string
    Logical operator to combine toleration matchers: AND or OR.
    Matchers []PodMutationFilterV2PodTolerationsFilterMatcher
    Operator string
    Logical operator to combine toleration matchers: AND or OR.
    matchers list(object)
    operator string
    Logical operator to combine toleration matchers: AND or OR.
    matchers List<PodMutationFilterV2PodTolerationsFilterMatcher>
    operator String
    Logical operator to combine toleration matchers: AND or OR.
    matchers PodMutationFilterV2PodTolerationsFilterMatcher[]
    operator string
    Logical operator to combine toleration matchers: AND or OR.
    matchers Sequence[PodMutationFilterV2PodTolerationsFilterMatcher]
    operator str
    Logical operator to combine toleration matchers: AND or OR.
    matchers List<Property Map>
    operator String
    Logical operator to combine toleration matchers: AND or OR.

    PodMutationFilterV2PodTolerationsFilterMatcher, PodMutationFilterV2PodTolerationsFilterMatcherArgs

    PodMutationFilterV2PodTolerationsFilterMatcherKey, PodMutationFilterV2PodTolerationsFilterMatcherKeyArgs

    Type string
    Matcher type: EXACT or REGEX.
    Value string
    Value to match against.
    Type string
    Matcher type: EXACT or REGEX.
    Value string
    Value to match against.
    type string
    Matcher type: EXACT or REGEX.
    value string
    Value to match against.
    type String
    Matcher type: EXACT or REGEX.
    value String
    Value to match against.
    type string
    Matcher type: EXACT or REGEX.
    value string
    Value to match against.
    type str
    Matcher type: EXACT or REGEX.
    value str
    Value to match against.
    type String
    Matcher type: EXACT or REGEX.
    value String
    Value to match against.

    PodMutationFilterV2PodTolerationsFilterMatcherOperator, PodMutationFilterV2PodTolerationsFilterMatcherOperatorArgs

    Type string
    Matcher type: EXACT or REGEX.
    Value string
    Value to match against.
    Type string
    Matcher type: EXACT or REGEX.
    Value string
    Value to match against.
    type string
    Matcher type: EXACT or REGEX.
    value string
    Value to match against.
    type String
    Matcher type: EXACT or REGEX.
    value String
    Value to match against.
    type string
    Matcher type: EXACT or REGEX.
    value string
    Value to match against.
    type str
    Matcher type: EXACT or REGEX.
    value str
    Value to match against.
    type String
    Matcher type: EXACT or REGEX.
    value String
    Value to match against.

    PodMutationFilterV2PodTolerationsFilterMatcherValue, PodMutationFilterV2PodTolerationsFilterMatcherValueArgs

    Type string
    Matcher type: EXACT or REGEX.
    Value string
    Value to match against.
    Type string
    Matcher type: EXACT or REGEX.
    Value string
    Value to match against.
    type string
    Matcher type: EXACT or REGEX.
    value string
    Value to match against.
    type String
    Matcher type: EXACT or REGEX.
    value String
    Value to match against.
    type string
    Matcher type: EXACT or REGEX.
    value string
    Value to match against.
    type str
    Matcher type: EXACT or REGEX.
    value str
    Value to match against.
    type String
    Matcher type: EXACT or REGEX.
    value String
    Value to match against.

    PodMutationFilterV2Workload, PodMutationFilterV2WorkloadArgs

    PodMutationFilterV2WorkloadExcludeKind, PodMutationFilterV2WorkloadExcludeKindArgs

    Type string
    Matcher type: EXACT or REGEX.
    Value string
    Value to match against.
    Type string
    Matcher type: EXACT or REGEX.
    Value string
    Value to match against.
    type string
    Matcher type: EXACT or REGEX.
    value string
    Value to match against.
    type String
    Matcher type: EXACT or REGEX.
    value String
    Value to match against.
    type string
    Matcher type: EXACT or REGEX.
    value string
    Value to match against.
    type str
    Matcher type: EXACT or REGEX.
    value str
    Value to match against.
    type String
    Matcher type: EXACT or REGEX.
    value String
    Value to match against.

    PodMutationFilterV2WorkloadExcludeName, PodMutationFilterV2WorkloadExcludeNameArgs

    Type string
    Matcher type: EXACT or REGEX.
    Value string
    Value to match against.
    Type string
    Matcher type: EXACT or REGEX.
    Value string
    Value to match against.
    type string
    Matcher type: EXACT or REGEX.
    value string
    Value to match against.
    type String
    Matcher type: EXACT or REGEX.
    value String
    Value to match against.
    type string
    Matcher type: EXACT or REGEX.
    value string
    Value to match against.
    type str
    Matcher type: EXACT or REGEX.
    value str
    Value to match against.
    type String
    Matcher type: EXACT or REGEX.
    value String
    Value to match against.

    PodMutationFilterV2WorkloadExcludeNamespace, PodMutationFilterV2WorkloadExcludeNamespaceArgs

    Type string
    Matcher type: EXACT or REGEX.
    Value string
    Value to match against.
    Type string
    Matcher type: EXACT or REGEX.
    Value string
    Value to match against.
    type string
    Matcher type: EXACT or REGEX.
    value string
    Value to match against.
    type String
    Matcher type: EXACT or REGEX.
    value String
    Value to match against.
    type string
    Matcher type: EXACT or REGEX.
    value string
    Value to match against.
    type str
    Matcher type: EXACT or REGEX.
    value str
    Value to match against.
    type String
    Matcher type: EXACT or REGEX.
    value String
    Value to match against.

    PodMutationFilterV2WorkloadKind, PodMutationFilterV2WorkloadKindArgs

    Type string
    Matcher type: EXACT or REGEX.
    Value string
    Value to match against.
    Type string
    Matcher type: EXACT or REGEX.
    Value string
    Value to match against.
    type string
    Matcher type: EXACT or REGEX.
    value string
    Value to match against.
    type String
    Matcher type: EXACT or REGEX.
    value String
    Value to match against.
    type string
    Matcher type: EXACT or REGEX.
    value string
    Value to match against.
    type str
    Matcher type: EXACT or REGEX.
    value str
    Value to match against.
    type String
    Matcher type: EXACT or REGEX.
    value String
    Value to match against.

    PodMutationFilterV2WorkloadName, PodMutationFilterV2WorkloadNameArgs

    Type string
    Matcher type: EXACT or REGEX.
    Value string
    Value to match against.
    Type string
    Matcher type: EXACT or REGEX.
    Value string
    Value to match against.
    type string
    Matcher type: EXACT or REGEX.
    value string
    Value to match against.
    type String
    Matcher type: EXACT or REGEX.
    value String
    Value to match against.
    type string
    Matcher type: EXACT or REGEX.
    value string
    Value to match against.
    type str
    Matcher type: EXACT or REGEX.
    value str
    Value to match against.
    type String
    Matcher type: EXACT or REGEX.
    value String
    Value to match against.

    PodMutationFilterV2WorkloadNamespace, PodMutationFilterV2WorkloadNamespaceArgs

    Type string
    Matcher type: EXACT or REGEX.
    Value string
    Value to match against.
    Type string
    Matcher type: EXACT or REGEX.
    Value string
    Value to match against.
    type string
    Matcher type: EXACT or REGEX.
    value string
    Value to match against.
    type String
    Matcher type: EXACT or REGEX.
    value String
    Value to match against.
    type string
    Matcher type: EXACT or REGEX.
    value string
    Value to match against.
    type str
    Matcher type: EXACT or REGEX.
    value str
    Value to match against.
    type String
    Matcher type: EXACT or REGEX.
    value String
    Value to match against.

    PodMutationNodeSelector, PodMutationNodeSelectorArgs

    Add Dictionary<string, string>
    Remove Dictionary<string, string>
    Add map[string]string
    Remove map[string]string
    add map(string)
    remove map(string)
    add Map<String,String>
    remove Map<String,String>
    add {[key: string]: string}
    remove {[key: string]: string}
    add Mapping[str, str]
    remove Mapping[str, str]
    add Map<String>
    remove Map<String>

    PodMutationPodEviction, PodMutationPodEvictionArgs

    Enabled bool
    Whether non-conforming pods are eligible for eviction.
    Enabled bool
    Whether non-conforming pods are eligible for eviction.
    enabled bool
    Whether non-conforming pods are eligible for eviction.
    enabled Boolean
    Whether non-conforming pods are eligible for eviction.
    enabled boolean
    Whether non-conforming pods are eligible for eviction.
    enabled bool
    Whether non-conforming pods are eligible for eviction.
    enabled Boolean
    Whether non-conforming pods are eligible for eviction.

    PodMutationSpotConfig, PodMutationSpotConfigArgs

    DistributionPercentage int
    Percentage of pods (0-100) that receive spot scheduling constraints.
    SpotMode string
    Spot mode: OPTIONAL_SPOT, USE_ONLY_SPOT, or PREFERRED_SPOT.
    DistributionPercentage int
    Percentage of pods (0-100) that receive spot scheduling constraints.
    SpotMode string
    Spot mode: OPTIONAL_SPOT, USE_ONLY_SPOT, or PREFERRED_SPOT.
    distribution_percentage number
    Percentage of pods (0-100) that receive spot scheduling constraints.
    spot_mode string
    Spot mode: OPTIONAL_SPOT, USE_ONLY_SPOT, or PREFERRED_SPOT.
    distributionPercentage Integer
    Percentage of pods (0-100) that receive spot scheduling constraints.
    spotMode String
    Spot mode: OPTIONAL_SPOT, USE_ONLY_SPOT, or PREFERRED_SPOT.
    distributionPercentage number
    Percentage of pods (0-100) that receive spot scheduling constraints.
    spotMode string
    Spot mode: OPTIONAL_SPOT, USE_ONLY_SPOT, or PREFERRED_SPOT.
    distribution_percentage int
    Percentage of pods (0-100) that receive spot scheduling constraints.
    spot_mode str
    Spot mode: OPTIONAL_SPOT, USE_ONLY_SPOT, or PREFERRED_SPOT.
    distributionPercentage Number
    Percentage of pods (0-100) that receive spot scheduling constraints.
    spotMode String
    Spot mode: OPTIONAL_SPOT, USE_ONLY_SPOT, or PREFERRED_SPOT.

    PodMutationToleration, PodMutationTolerationArgs

    Effect string
    Toleration effect.
    Key string
    Toleration key.
    Operator string
    Toleration operator.
    TolerationSeconds int
    Toleration seconds.
    Value string
    Toleration value.
    Effect string
    Toleration effect.
    Key string
    Toleration key.
    Operator string
    Toleration operator.
    TolerationSeconds int
    Toleration seconds.
    Value string
    Toleration value.
    effect string
    Toleration effect.
    key string
    Toleration key.
    operator string
    Toleration operator.
    toleration_seconds number
    Toleration seconds.
    value string
    Toleration value.
    effect String
    Toleration effect.
    key String
    Toleration key.
    operator String
    Toleration operator.
    tolerationSeconds Integer
    Toleration seconds.
    value String
    Toleration value.
    effect string
    Toleration effect.
    key string
    Toleration key.
    operator string
    Toleration operator.
    tolerationSeconds number
    Toleration seconds.
    value string
    Toleration value.
    effect str
    Toleration effect.
    key str
    Toleration key.
    operator str
    Toleration operator.
    toleration_seconds int
    Toleration seconds.
    value str
    Toleration value.
    effect String
    Toleration effect.
    key String
    Toleration key.
    operator String
    Toleration operator.
    tolerationSeconds Number
    Toleration seconds.
    value String
    Toleration value.

    Package Details

    Repository
    castai castai/pulumi-castai
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the castai Terraform Provider.
    castai logo
    Viewing docs for CAST AI v8.60.0
    published on Wednesday, Aug 19, 2026 by CAST AI

      Try Pulumi Cloud free.
      Your team will thank you.

      Start free trial