1. Packages
  2. Packages
  3. Nutanix
  4. API Docs
  5. StoragePolicyV2
Viewing docs for Nutanix v0.16.0
published on Tuesday, May 26, 2026 by Piers Karsenbarg
nutanix logo
Viewing docs for Nutanix v0.16.0
published on Tuesday, May 26, 2026 by Piers Karsenbarg

    Provides Nutanix resource to create storage policy

    Note: Once encryptionState is explicitly set to ENABLED, it cannot be reverted back to a system-derived value.

    If compression_state, encryption_state, or replicationFactor are intended to be system-derived, ensure that the qosSpec block is included.

    Example

    Complete Example with All Fields

    import * as pulumi from "@pulumi/pulumi";
    import * as nutanix from "@pierskarsenbarg/nutanix";
    
    const example = new nutanix.StoragePolicyV2("example", {
        name: "my-storage-policy",
        compressionSpecs: [{
            compressionState: "POSTPROCESS",
        }],
        encryptionSpecs: [{
            encryptionState: "ENABLED",
        }],
        qosSpecs: [{
            throttledIops: 1000,
        }],
        faultToleranceSpecs: [{
            replicationFactor: "THREE",
        }],
        categoryExtIds: [
            "4d552748-e119-540a-b06c-3c6f0d213fa2",
            "5e663859-f220-651b-c17d-4d7f0e324fb3",
        ],
    });
    
    import pulumi
    import pulumi_nutanix as nutanix
    
    example = nutanix.StoragePolicyV2("example",
        name="my-storage-policy",
        compression_specs=[{
            "compression_state": "POSTPROCESS",
        }],
        encryption_specs=[{
            "encryption_state": "ENABLED",
        }],
        qos_specs=[{
            "throttled_iops": 1000,
        }],
        fault_tolerance_specs=[{
            "replication_factor": "THREE",
        }],
        category_ext_ids=[
            "4d552748-e119-540a-b06c-3c6f0d213fa2",
            "5e663859-f220-651b-c17d-4d7f0e324fb3",
        ])
    
    package main
    
    import (
    	"github.com/pierskarsenbarg/pulumi-nutanix/sdk/go/nutanix"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := nutanix.NewStoragePolicyV2(ctx, "example", &nutanix.StoragePolicyV2Args{
    			Name: pulumi.String("my-storage-policy"),
    			CompressionSpecs: nutanix.StoragePolicyV2CompressionSpecArray{
    				&nutanix.StoragePolicyV2CompressionSpecArgs{
    					CompressionState: pulumi.String("POSTPROCESS"),
    				},
    			},
    			EncryptionSpecs: nutanix.StoragePolicyV2EncryptionSpecArray{
    				&nutanix.StoragePolicyV2EncryptionSpecArgs{
    					EncryptionState: pulumi.String("ENABLED"),
    				},
    			},
    			QosSpecs: nutanix.StoragePolicyV2QosSpecArray{
    				&nutanix.StoragePolicyV2QosSpecArgs{
    					ThrottledIops: pulumi.Int(1000),
    				},
    			},
    			FaultToleranceSpecs: nutanix.StoragePolicyV2FaultToleranceSpecArray{
    				&nutanix.StoragePolicyV2FaultToleranceSpecArgs{
    					ReplicationFactor: pulumi.String("THREE"),
    				},
    			},
    			CategoryExtIds: pulumi.StringArray{
    				pulumi.String("4d552748-e119-540a-b06c-3c6f0d213fa2"),
    				pulumi.String("5e663859-f220-651b-c17d-4d7f0e324fb3"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Nutanix = PiersKarsenbarg.Nutanix;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Nutanix.StoragePolicyV2("example", new()
        {
            Name = "my-storage-policy",
            CompressionSpecs = new[]
            {
                new Nutanix.Inputs.StoragePolicyV2CompressionSpecArgs
                {
                    CompressionState = "POSTPROCESS",
                },
            },
            EncryptionSpecs = new[]
            {
                new Nutanix.Inputs.StoragePolicyV2EncryptionSpecArgs
                {
                    EncryptionState = "ENABLED",
                },
            },
            QosSpecs = new[]
            {
                new Nutanix.Inputs.StoragePolicyV2QosSpecArgs
                {
                    ThrottledIops = 1000,
                },
            },
            FaultToleranceSpecs = new[]
            {
                new Nutanix.Inputs.StoragePolicyV2FaultToleranceSpecArgs
                {
                    ReplicationFactor = "THREE",
                },
            },
            CategoryExtIds = new[]
            {
                "4d552748-e119-540a-b06c-3c6f0d213fa2",
                "5e663859-f220-651b-c17d-4d7f0e324fb3",
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.nutanix.StoragePolicyV2;
    import com.pulumi.nutanix.StoragePolicyV2Args;
    import com.pulumi.nutanix.inputs.StoragePolicyV2CompressionSpecArgs;
    import com.pulumi.nutanix.inputs.StoragePolicyV2EncryptionSpecArgs;
    import com.pulumi.nutanix.inputs.StoragePolicyV2QosSpecArgs;
    import com.pulumi.nutanix.inputs.StoragePolicyV2FaultToleranceSpecArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var example = new StoragePolicyV2("example", StoragePolicyV2Args.builder()
                .name("my-storage-policy")
                .compressionSpecs(StoragePolicyV2CompressionSpecArgs.builder()
                    .compressionState("POSTPROCESS")
                    .build())
                .encryptionSpecs(StoragePolicyV2EncryptionSpecArgs.builder()
                    .encryptionState("ENABLED")
                    .build())
                .qosSpecs(StoragePolicyV2QosSpecArgs.builder()
                    .throttledIops(1000)
                    .build())
                .faultToleranceSpecs(StoragePolicyV2FaultToleranceSpecArgs.builder()
                    .replicationFactor("THREE")
                    .build())
                .categoryExtIds(            
                    "4d552748-e119-540a-b06c-3c6f0d213fa2",
                    "5e663859-f220-651b-c17d-4d7f0e324fb3")
                .build());
    
        }
    }
    
    resources:
      example:
        type: nutanix:StoragePolicyV2
        properties:
          name: my-storage-policy
          compressionSpecs:
            - compressionState: POSTPROCESS
          encryptionSpecs:
            - encryptionState: ENABLED
          qosSpecs:
            - throttledIops: 1000
          faultToleranceSpecs:
            - replicationFactor: THREE
          categoryExtIds:
            - 4d552748-e119-540a-b06c-3c6f0d213fa2
            - 5e663859-f220-651b-c17d-4d7f0e324fb3
    
    pulumi {
      required_providers {
        nutanix = {
          source = "pulumi/nutanix"
        }
      }
    }
    
    resource "nutanix_storagepolicyv2" "example" {
      name = "my-storage-policy"
      compression_specs {
        compression_state = "POSTPROCESS"
      }
      # Required: Compression state
      # Valid values: "DISABLED", "POSTPROCESS", "INLINE", "SYSTEM_DERIVED"
      encryption_specs {
        encryption_state = "ENABLED"
      }
      # Required: Encryption state
      # Valid values: "SYSTEM_DERIVED", "ENABLED"
      # Note: Once set to "ENABLED", it cannot be reverted
      qos_specs {
        throttled_iops = 1000
      }
      # Required: Throttled IOPS (range: 100 to 2147483647)
      fault_tolerance_specs {
        replication_factor = "THREE"
      }
      # Required: Replication factor
      # Valid values: "SYSTEM_DERIVED", "TWO", "THREE"
      # TWO = Original + 1 copy, THREE = Original + 2 copies
      category_ext_ids = ["4d552748-e119-540a-b06c-3c6f0d213fa2", "5e663859-f220-651b-c17d-4d7f0e324fb3"]
    }
    

    Minimal Example with System-Derived Values

    import * as pulumi from "@pulumi/pulumi";
    import * as nutanix from "@pierskarsenbarg/nutanix";
    
    const minimal = new nutanix.StoragePolicyV2("minimal", {
        name: "minimal-storage-policy",
        qosSpecs: [{
            throttledIops: 100,
        }],
        compressionSpecs: [{
            compressionState: "SYSTEM_DERIVED",
        }],
        encryptionSpecs: [{
            encryptionState: "SYSTEM_DERIVED",
        }],
        faultToleranceSpecs: [{
            replicationFactor: "SYSTEM_DERIVED",
        }],
    });
    
    import pulumi
    import pulumi_nutanix as nutanix
    
    minimal = nutanix.StoragePolicyV2("minimal",
        name="minimal-storage-policy",
        qos_specs=[{
            "throttled_iops": 100,
        }],
        compression_specs=[{
            "compression_state": "SYSTEM_DERIVED",
        }],
        encryption_specs=[{
            "encryption_state": "SYSTEM_DERIVED",
        }],
        fault_tolerance_specs=[{
            "replication_factor": "SYSTEM_DERIVED",
        }])
    
    package main
    
    import (
    	"github.com/pierskarsenbarg/pulumi-nutanix/sdk/go/nutanix"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := nutanix.NewStoragePolicyV2(ctx, "minimal", &nutanix.StoragePolicyV2Args{
    			Name: pulumi.String("minimal-storage-policy"),
    			QosSpecs: nutanix.StoragePolicyV2QosSpecArray{
    				&nutanix.StoragePolicyV2QosSpecArgs{
    					ThrottledIops: pulumi.Int(100),
    				},
    			},
    			CompressionSpecs: nutanix.StoragePolicyV2CompressionSpecArray{
    				&nutanix.StoragePolicyV2CompressionSpecArgs{
    					CompressionState: pulumi.String("SYSTEM_DERIVED"),
    				},
    			},
    			EncryptionSpecs: nutanix.StoragePolicyV2EncryptionSpecArray{
    				&nutanix.StoragePolicyV2EncryptionSpecArgs{
    					EncryptionState: pulumi.String("SYSTEM_DERIVED"),
    				},
    			},
    			FaultToleranceSpecs: nutanix.StoragePolicyV2FaultToleranceSpecArray{
    				&nutanix.StoragePolicyV2FaultToleranceSpecArgs{
    					ReplicationFactor: pulumi.String("SYSTEM_DERIVED"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Nutanix = PiersKarsenbarg.Nutanix;
    
    return await Deployment.RunAsync(() => 
    {
        var minimal = new Nutanix.StoragePolicyV2("minimal", new()
        {
            Name = "minimal-storage-policy",
            QosSpecs = new[]
            {
                new Nutanix.Inputs.StoragePolicyV2QosSpecArgs
                {
                    ThrottledIops = 100,
                },
            },
            CompressionSpecs = new[]
            {
                new Nutanix.Inputs.StoragePolicyV2CompressionSpecArgs
                {
                    CompressionState = "SYSTEM_DERIVED",
                },
            },
            EncryptionSpecs = new[]
            {
                new Nutanix.Inputs.StoragePolicyV2EncryptionSpecArgs
                {
                    EncryptionState = "SYSTEM_DERIVED",
                },
            },
            FaultToleranceSpecs = new[]
            {
                new Nutanix.Inputs.StoragePolicyV2FaultToleranceSpecArgs
                {
                    ReplicationFactor = "SYSTEM_DERIVED",
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.nutanix.StoragePolicyV2;
    import com.pulumi.nutanix.StoragePolicyV2Args;
    import com.pulumi.nutanix.inputs.StoragePolicyV2QosSpecArgs;
    import com.pulumi.nutanix.inputs.StoragePolicyV2CompressionSpecArgs;
    import com.pulumi.nutanix.inputs.StoragePolicyV2EncryptionSpecArgs;
    import com.pulumi.nutanix.inputs.StoragePolicyV2FaultToleranceSpecArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var minimal = new StoragePolicyV2("minimal", StoragePolicyV2Args.builder()
                .name("minimal-storage-policy")
                .qosSpecs(StoragePolicyV2QosSpecArgs.builder()
                    .throttledIops(100)
                    .build())
                .compressionSpecs(StoragePolicyV2CompressionSpecArgs.builder()
                    .compressionState("SYSTEM_DERIVED")
                    .build())
                .encryptionSpecs(StoragePolicyV2EncryptionSpecArgs.builder()
                    .encryptionState("SYSTEM_DERIVED")
                    .build())
                .faultToleranceSpecs(StoragePolicyV2FaultToleranceSpecArgs.builder()
                    .replicationFactor("SYSTEM_DERIVED")
                    .build())
                .build());
    
        }
    }
    
    resources:
      minimal:
        type: nutanix:StoragePolicyV2
        properties:
          name: minimal-storage-policy
          qosSpecs:
            - throttledIops: 100
          compressionSpecs:
            - compressionState: SYSTEM_DERIVED
          encryptionSpecs:
            - encryptionState: SYSTEM_DERIVED
          faultToleranceSpecs:
            - replicationFactor: SYSTEM_DERIVED
    
    pulumi {
      required_providers {
        nutanix = {
          source = "pulumi/nutanix"
        }
      }
    }
    
    resource "nutanix_storagepolicyv2" "minimal" {
      name = "minimal-storage-policy"
      qos_specs {
        throttled_iops = 100
      }
      compression_specs {
        compression_state = "SYSTEM_DERIVED"
      }
      encryption_specs {
        encryption_state = "SYSTEM_DERIVED"
      }
      fault_tolerance_specs {
        replication_factor = "SYSTEM_DERIVED"
      }
    }
    

    Example with Inline Compression

    import * as pulumi from "@pulumi/pulumi";
    import * as nutanix from "@pierskarsenbarg/nutanix";
    
    const inlineCompression = new nutanix.StoragePolicyV2("inline_compression", {
        name: "inline-compression-policy",
        compressionSpecs: [{
            compressionState: "INLINE",
        }],
        encryptionSpecs: [{
            encryptionState: "ENABLED",
        }],
        qosSpecs: [{
            throttledIops: 5000,
        }],
        faultToleranceSpecs: [{
            replicationFactor: "TWO",
        }],
    });
    
    import pulumi
    import pulumi_nutanix as nutanix
    
    inline_compression = nutanix.StoragePolicyV2("inline_compression",
        name="inline-compression-policy",
        compression_specs=[{
            "compression_state": "INLINE",
        }],
        encryption_specs=[{
            "encryption_state": "ENABLED",
        }],
        qos_specs=[{
            "throttled_iops": 5000,
        }],
        fault_tolerance_specs=[{
            "replication_factor": "TWO",
        }])
    
    package main
    
    import (
    	"github.com/pierskarsenbarg/pulumi-nutanix/sdk/go/nutanix"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := nutanix.NewStoragePolicyV2(ctx, "inline_compression", &nutanix.StoragePolicyV2Args{
    			Name: pulumi.String("inline-compression-policy"),
    			CompressionSpecs: nutanix.StoragePolicyV2CompressionSpecArray{
    				&nutanix.StoragePolicyV2CompressionSpecArgs{
    					CompressionState: pulumi.String("INLINE"),
    				},
    			},
    			EncryptionSpecs: nutanix.StoragePolicyV2EncryptionSpecArray{
    				&nutanix.StoragePolicyV2EncryptionSpecArgs{
    					EncryptionState: pulumi.String("ENABLED"),
    				},
    			},
    			QosSpecs: nutanix.StoragePolicyV2QosSpecArray{
    				&nutanix.StoragePolicyV2QosSpecArgs{
    					ThrottledIops: pulumi.Int(5000),
    				},
    			},
    			FaultToleranceSpecs: nutanix.StoragePolicyV2FaultToleranceSpecArray{
    				&nutanix.StoragePolicyV2FaultToleranceSpecArgs{
    					ReplicationFactor: pulumi.String("TWO"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Nutanix = PiersKarsenbarg.Nutanix;
    
    return await Deployment.RunAsync(() => 
    {
        var inlineCompression = new Nutanix.StoragePolicyV2("inline_compression", new()
        {
            Name = "inline-compression-policy",
            CompressionSpecs = new[]
            {
                new Nutanix.Inputs.StoragePolicyV2CompressionSpecArgs
                {
                    CompressionState = "INLINE",
                },
            },
            EncryptionSpecs = new[]
            {
                new Nutanix.Inputs.StoragePolicyV2EncryptionSpecArgs
                {
                    EncryptionState = "ENABLED",
                },
            },
            QosSpecs = new[]
            {
                new Nutanix.Inputs.StoragePolicyV2QosSpecArgs
                {
                    ThrottledIops = 5000,
                },
            },
            FaultToleranceSpecs = new[]
            {
                new Nutanix.Inputs.StoragePolicyV2FaultToleranceSpecArgs
                {
                    ReplicationFactor = "TWO",
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.nutanix.StoragePolicyV2;
    import com.pulumi.nutanix.StoragePolicyV2Args;
    import com.pulumi.nutanix.inputs.StoragePolicyV2CompressionSpecArgs;
    import com.pulumi.nutanix.inputs.StoragePolicyV2EncryptionSpecArgs;
    import com.pulumi.nutanix.inputs.StoragePolicyV2QosSpecArgs;
    import com.pulumi.nutanix.inputs.StoragePolicyV2FaultToleranceSpecArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var inlineCompression = new StoragePolicyV2("inlineCompression", StoragePolicyV2Args.builder()
                .name("inline-compression-policy")
                .compressionSpecs(StoragePolicyV2CompressionSpecArgs.builder()
                    .compressionState("INLINE")
                    .build())
                .encryptionSpecs(StoragePolicyV2EncryptionSpecArgs.builder()
                    .encryptionState("ENABLED")
                    .build())
                .qosSpecs(StoragePolicyV2QosSpecArgs.builder()
                    .throttledIops(5000)
                    .build())
                .faultToleranceSpecs(StoragePolicyV2FaultToleranceSpecArgs.builder()
                    .replicationFactor("TWO")
                    .build())
                .build());
    
        }
    }
    
    resources:
      inlineCompression:
        type: nutanix:StoragePolicyV2
        name: inline_compression
        properties:
          name: inline-compression-policy
          compressionSpecs:
            - compressionState: INLINE
          encryptionSpecs:
            - encryptionState: ENABLED
          qosSpecs:
            - throttledIops: 5000
          faultToleranceSpecs:
            - replicationFactor: TWO
    
    pulumi {
      required_providers {
        nutanix = {
          source = "pulumi/nutanix"
        }
      }
    }
    
    resource "nutanix_storagepolicyv2" "inline_compression" {
      name = "inline-compression-policy"
      compression_specs {
        compression_state = "INLINE"
      }
      encryption_specs {
        encryption_state = "ENABLED"
      }
      qos_specs {
        throttled_iops = 5000
      }
      fault_tolerance_specs {
        replication_factor = "TWO"
      }
    }
    

    Example with Disabled Compression

    import * as pulumi from "@pulumi/pulumi";
    import * as nutanix from "@pierskarsenbarg/nutanix";
    
    const noCompression = new nutanix.StoragePolicyV2("no_compression", {
        name: "no-compression-policy",
        compressionSpecs: [{
            compressionState: "DISABLED",
        }],
        qosSpecs: [{
            throttledIops: 2000,
        }],
        faultToleranceSpecs: [{
            replicationFactor: "THREE",
        }],
    });
    
    import pulumi
    import pulumi_nutanix as nutanix
    
    no_compression = nutanix.StoragePolicyV2("no_compression",
        name="no-compression-policy",
        compression_specs=[{
            "compression_state": "DISABLED",
        }],
        qos_specs=[{
            "throttled_iops": 2000,
        }],
        fault_tolerance_specs=[{
            "replication_factor": "THREE",
        }])
    
    package main
    
    import (
    	"github.com/pierskarsenbarg/pulumi-nutanix/sdk/go/nutanix"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := nutanix.NewStoragePolicyV2(ctx, "no_compression", &nutanix.StoragePolicyV2Args{
    			Name: pulumi.String("no-compression-policy"),
    			CompressionSpecs: nutanix.StoragePolicyV2CompressionSpecArray{
    				&nutanix.StoragePolicyV2CompressionSpecArgs{
    					CompressionState: pulumi.String("DISABLED"),
    				},
    			},
    			QosSpecs: nutanix.StoragePolicyV2QosSpecArray{
    				&nutanix.StoragePolicyV2QosSpecArgs{
    					ThrottledIops: pulumi.Int(2000),
    				},
    			},
    			FaultToleranceSpecs: nutanix.StoragePolicyV2FaultToleranceSpecArray{
    				&nutanix.StoragePolicyV2FaultToleranceSpecArgs{
    					ReplicationFactor: pulumi.String("THREE"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Nutanix = PiersKarsenbarg.Nutanix;
    
    return await Deployment.RunAsync(() => 
    {
        var noCompression = new Nutanix.StoragePolicyV2("no_compression", new()
        {
            Name = "no-compression-policy",
            CompressionSpecs = new[]
            {
                new Nutanix.Inputs.StoragePolicyV2CompressionSpecArgs
                {
                    CompressionState = "DISABLED",
                },
            },
            QosSpecs = new[]
            {
                new Nutanix.Inputs.StoragePolicyV2QosSpecArgs
                {
                    ThrottledIops = 2000,
                },
            },
            FaultToleranceSpecs = new[]
            {
                new Nutanix.Inputs.StoragePolicyV2FaultToleranceSpecArgs
                {
                    ReplicationFactor = "THREE",
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.nutanix.StoragePolicyV2;
    import com.pulumi.nutanix.StoragePolicyV2Args;
    import com.pulumi.nutanix.inputs.StoragePolicyV2CompressionSpecArgs;
    import com.pulumi.nutanix.inputs.StoragePolicyV2QosSpecArgs;
    import com.pulumi.nutanix.inputs.StoragePolicyV2FaultToleranceSpecArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var noCompression = new StoragePolicyV2("noCompression", StoragePolicyV2Args.builder()
                .name("no-compression-policy")
                .compressionSpecs(StoragePolicyV2CompressionSpecArgs.builder()
                    .compressionState("DISABLED")
                    .build())
                .qosSpecs(StoragePolicyV2QosSpecArgs.builder()
                    .throttledIops(2000)
                    .build())
                .faultToleranceSpecs(StoragePolicyV2FaultToleranceSpecArgs.builder()
                    .replicationFactor("THREE")
                    .build())
                .build());
    
        }
    }
    
    resources:
      noCompression:
        type: nutanix:StoragePolicyV2
        name: no_compression
        properties:
          name: no-compression-policy
          compressionSpecs:
            - compressionState: DISABLED
          qosSpecs:
            - throttledIops: 2000
          faultToleranceSpecs:
            - replicationFactor: THREE
    
    pulumi {
      required_providers {
        nutanix = {
          source = "pulumi/nutanix"
        }
      }
    }
    
    resource "nutanix_storagepolicyv2" "no_compression" {
      name = "no-compression-policy"
      compression_specs {
        compression_state = "DISABLED"
      }
      qos_specs {
        throttled_iops = 2000
      }
      fault_tolerance_specs {
        replication_factor = "THREE"
      }
    }
    

    Example with Categories Only

    import * as pulumi from "@pulumi/pulumi";
    import * as nutanix from "@pierskarsenbarg/nutanix";
    
    // Rest all will be System Derived
    const categorized = new nutanix.StoragePolicyV2("categorized", {
        name: "categorized-policy",
        categoryExtIds: ["4d552748-e119-540a-b06c-3c6f0d213fa2"],
        qosSpecs: [{
            throttledIops: 100,
        }],
    });
    
    import pulumi
    import pulumi_nutanix as nutanix
    
    # Rest all will be System Derived
    categorized = nutanix.StoragePolicyV2("categorized",
        name="categorized-policy",
        category_ext_ids=["4d552748-e119-540a-b06c-3c6f0d213fa2"],
        qos_specs=[{
            "throttled_iops": 100,
        }])
    
    package main
    
    import (
    	"github.com/pierskarsenbarg/pulumi-nutanix/sdk/go/nutanix"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// Rest all will be System Derived
    		_, err := nutanix.NewStoragePolicyV2(ctx, "categorized", &nutanix.StoragePolicyV2Args{
    			Name: pulumi.String("categorized-policy"),
    			CategoryExtIds: pulumi.StringArray{
    				pulumi.String("4d552748-e119-540a-b06c-3c6f0d213fa2"),
    			},
    			QosSpecs: nutanix.StoragePolicyV2QosSpecArray{
    				&nutanix.StoragePolicyV2QosSpecArgs{
    					ThrottledIops: pulumi.Int(100),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Nutanix = PiersKarsenbarg.Nutanix;
    
    return await Deployment.RunAsync(() => 
    {
        // Rest all will be System Derived
        var categorized = new Nutanix.StoragePolicyV2("categorized", new()
        {
            Name = "categorized-policy",
            CategoryExtIds = new[]
            {
                "4d552748-e119-540a-b06c-3c6f0d213fa2",
            },
            QosSpecs = new[]
            {
                new Nutanix.Inputs.StoragePolicyV2QosSpecArgs
                {
                    ThrottledIops = 100,
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.nutanix.StoragePolicyV2;
    import com.pulumi.nutanix.StoragePolicyV2Args;
    import com.pulumi.nutanix.inputs.StoragePolicyV2QosSpecArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            // Rest all will be System Derived
            var categorized = new StoragePolicyV2("categorized", StoragePolicyV2Args.builder()
                .name("categorized-policy")
                .categoryExtIds("4d552748-e119-540a-b06c-3c6f0d213fa2")
                .qosSpecs(StoragePolicyV2QosSpecArgs.builder()
                    .throttledIops(100)
                    .build())
                .build());
    
        }
    }
    
    resources:
      # Rest all will be System Derived
      categorized:
        type: nutanix:StoragePolicyV2
        properties:
          name: categorized-policy
          categoryExtIds:
            - 4d552748-e119-540a-b06c-3c6f0d213fa2
          qosSpecs:
            - throttledIops: 100
    
    pulumi {
      required_providers {
        nutanix = {
          source = "pulumi/nutanix"
        }
      }
    }
    
    # Rest all will be System Derived
    resource "nutanix_storagepolicyv2" "categorized" {
      name             = "categorized-policy"
      category_ext_ids = ["4d552748-e119-540a-b06c-3c6f0d213fa2"]
      qos_specs {
        throttled_iops = 100
      }
    }
    

    Create StoragePolicyV2 Resource

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

    Constructor syntax

    new StoragePolicyV2(name: string, args?: StoragePolicyV2Args, opts?: CustomResourceOptions);
    @overload
    def StoragePolicyV2(resource_name: str,
                        args: Optional[StoragePolicyV2Args] = None,
                        opts: Optional[ResourceOptions] = None)
    
    @overload
    def StoragePolicyV2(resource_name: str,
                        opts: Optional[ResourceOptions] = None,
                        category_ext_ids: Optional[Sequence[str]] = None,
                        compression_specs: Optional[Sequence[StoragePolicyV2CompressionSpecArgs]] = None,
                        encryption_specs: Optional[Sequence[StoragePolicyV2EncryptionSpecArgs]] = None,
                        fault_tolerance_specs: Optional[Sequence[StoragePolicyV2FaultToleranceSpecArgs]] = None,
                        name: Optional[str] = None,
                        qos_specs: Optional[Sequence[StoragePolicyV2QosSpecArgs]] = None)
    func NewStoragePolicyV2(ctx *Context, name string, args *StoragePolicyV2Args, opts ...ResourceOption) (*StoragePolicyV2, error)
    public StoragePolicyV2(string name, StoragePolicyV2Args? args = null, CustomResourceOptions? opts = null)
    public StoragePolicyV2(String name, StoragePolicyV2Args args)
    public StoragePolicyV2(String name, StoragePolicyV2Args args, CustomResourceOptions options)
    
    type: nutanix:StoragePolicyV2
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    resource "nutanix_storagepolicyv2" "name" {
        # resource properties
    }

    Parameters

    name string
    The unique name of the resource.
    args StoragePolicyV2Args
    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 StoragePolicyV2Args
    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 StoragePolicyV2Args
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args StoragePolicyV2Args
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args StoragePolicyV2Args
    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 storagePolicyV2Resource = new Nutanix.StoragePolicyV2("storagePolicyV2Resource", new()
    {
        CategoryExtIds = new[]
        {
            "string",
        },
        CompressionSpecs = new[]
        {
            new Nutanix.Inputs.StoragePolicyV2CompressionSpecArgs
            {
                CompressionState = "string",
            },
        },
        EncryptionSpecs = new[]
        {
            new Nutanix.Inputs.StoragePolicyV2EncryptionSpecArgs
            {
                EncryptionState = "string",
            },
        },
        FaultToleranceSpecs = new[]
        {
            new Nutanix.Inputs.StoragePolicyV2FaultToleranceSpecArgs
            {
                ReplicationFactor = "string",
            },
        },
        Name = "string",
        QosSpecs = new[]
        {
            new Nutanix.Inputs.StoragePolicyV2QosSpecArgs
            {
                ThrottledIops = 0,
            },
        },
    });
    
    example, err := nutanix.NewStoragePolicyV2(ctx, "storagePolicyV2Resource", &nutanix.StoragePolicyV2Args{
    	CategoryExtIds: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	CompressionSpecs: nutanix.StoragePolicyV2CompressionSpecArray{
    		&nutanix.StoragePolicyV2CompressionSpecArgs{
    			CompressionState: pulumi.String("string"),
    		},
    	},
    	EncryptionSpecs: nutanix.StoragePolicyV2EncryptionSpecArray{
    		&nutanix.StoragePolicyV2EncryptionSpecArgs{
    			EncryptionState: pulumi.String("string"),
    		},
    	},
    	FaultToleranceSpecs: nutanix.StoragePolicyV2FaultToleranceSpecArray{
    		&nutanix.StoragePolicyV2FaultToleranceSpecArgs{
    			ReplicationFactor: pulumi.String("string"),
    		},
    	},
    	Name: pulumi.String("string"),
    	QosSpecs: nutanix.StoragePolicyV2QosSpecArray{
    		&nutanix.StoragePolicyV2QosSpecArgs{
    			ThrottledIops: pulumi.Int(0),
    		},
    	},
    })
    
    resource "nutanix_storagepolicyv2" "storagePolicyV2Resource" {
      category_ext_ids = ["string"]
      compression_specs {
        compression_state = "string"
      }
      encryption_specs {
        encryption_state = "string"
      }
      fault_tolerance_specs {
        replication_factor = "string"
      }
      name = "string"
      qos_specs {
        throttled_iops = 0
      }
    }
    
    var storagePolicyV2Resource = new StoragePolicyV2("storagePolicyV2Resource", StoragePolicyV2Args.builder()
        .categoryExtIds("string")
        .compressionSpecs(StoragePolicyV2CompressionSpecArgs.builder()
            .compressionState("string")
            .build())
        .encryptionSpecs(StoragePolicyV2EncryptionSpecArgs.builder()
            .encryptionState("string")
            .build())
        .faultToleranceSpecs(StoragePolicyV2FaultToleranceSpecArgs.builder()
            .replicationFactor("string")
            .build())
        .name("string")
        .qosSpecs(StoragePolicyV2QosSpecArgs.builder()
            .throttledIops(0)
            .build())
        .build());
    
    storage_policy_v2_resource = nutanix.StoragePolicyV2("storagePolicyV2Resource",
        category_ext_ids=["string"],
        compression_specs=[{
            "compression_state": "string",
        }],
        encryption_specs=[{
            "encryption_state": "string",
        }],
        fault_tolerance_specs=[{
            "replication_factor": "string",
        }],
        name="string",
        qos_specs=[{
            "throttled_iops": 0,
        }])
    
    const storagePolicyV2Resource = new nutanix.StoragePolicyV2("storagePolicyV2Resource", {
        categoryExtIds: ["string"],
        compressionSpecs: [{
            compressionState: "string",
        }],
        encryptionSpecs: [{
            encryptionState: "string",
        }],
        faultToleranceSpecs: [{
            replicationFactor: "string",
        }],
        name: "string",
        qosSpecs: [{
            throttledIops: 0,
        }],
    });
    
    type: nutanix:StoragePolicyV2
    properties:
        categoryExtIds:
            - string
        compressionSpecs:
            - compressionState: string
        encryptionSpecs:
            - encryptionState: string
        faultToleranceSpecs:
            - replicationFactor: string
        name: string
        qosSpecs:
            - throttledIops: 0
    

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

    CategoryExtIds List<string>
    • (Optional) List of external identifiers for Categories to be included in the Storage Policy. Each ID must be a valid UUID format. Maximum 20 items allowed.
    CompressionSpecs List<PiersKarsenbarg.Nutanix.Inputs.StoragePolicyV2CompressionSpec>
    • (Optional) Defines compression parameters for entities governed by the Storage Policy.
    EncryptionSpecs List<PiersKarsenbarg.Nutanix.Inputs.StoragePolicyV2EncryptionSpec>
    • (Optional) Defines encryption parameters for entities governed by the Storage Policy.
    FaultToleranceSpecs List<PiersKarsenbarg.Nutanix.Inputs.StoragePolicyV2FaultToleranceSpec>
    • (Optional) Defines Fault Tolerance parameters for the entities.
    Name string
    • (Required) Storage Policy name. Must be unique and cannot exceed 64 characters.
    QosSpecs List<PiersKarsenbarg.Nutanix.Inputs.StoragePolicyV2QosSpec>
    • (Optional) Defines Storage Quality of Service (QOS) parameters for the entities.
    CategoryExtIds []string
    • (Optional) List of external identifiers for Categories to be included in the Storage Policy. Each ID must be a valid UUID format. Maximum 20 items allowed.
    CompressionSpecs []StoragePolicyV2CompressionSpecArgs
    • (Optional) Defines compression parameters for entities governed by the Storage Policy.
    EncryptionSpecs []StoragePolicyV2EncryptionSpecArgs
    • (Optional) Defines encryption parameters for entities governed by the Storage Policy.
    FaultToleranceSpecs []StoragePolicyV2FaultToleranceSpecArgs
    • (Optional) Defines Fault Tolerance parameters for the entities.
    Name string
    • (Required) Storage Policy name. Must be unique and cannot exceed 64 characters.
    QosSpecs []StoragePolicyV2QosSpecArgs
    • (Optional) Defines Storage Quality of Service (QOS) parameters for the entities.
    category_ext_ids list(string)
    • (Optional) List of external identifiers for Categories to be included in the Storage Policy. Each ID must be a valid UUID format. Maximum 20 items allowed.
    compression_specs list(object)
    • (Optional) Defines compression parameters for entities governed by the Storage Policy.
    encryption_specs list(object)
    • (Optional) Defines encryption parameters for entities governed by the Storage Policy.
    fault_tolerance_specs list(object)
    • (Optional) Defines Fault Tolerance parameters for the entities.
    name string
    • (Required) Storage Policy name. Must be unique and cannot exceed 64 characters.
    qos_specs list(object)
    • (Optional) Defines Storage Quality of Service (QOS) parameters for the entities.
    categoryExtIds List<String>
    • (Optional) List of external identifiers for Categories to be included in the Storage Policy. Each ID must be a valid UUID format. Maximum 20 items allowed.
    compressionSpecs List<StoragePolicyV2CompressionSpec>
    • (Optional) Defines compression parameters for entities governed by the Storage Policy.
    encryptionSpecs List<StoragePolicyV2EncryptionSpec>
    • (Optional) Defines encryption parameters for entities governed by the Storage Policy.
    faultToleranceSpecs List<StoragePolicyV2FaultToleranceSpec>
    • (Optional) Defines Fault Tolerance parameters for the entities.
    name String
    • (Required) Storage Policy name. Must be unique and cannot exceed 64 characters.
    qosSpecs List<StoragePolicyV2QosSpec>
    • (Optional) Defines Storage Quality of Service (QOS) parameters for the entities.
    categoryExtIds string[]
    • (Optional) List of external identifiers for Categories to be included in the Storage Policy. Each ID must be a valid UUID format. Maximum 20 items allowed.
    compressionSpecs StoragePolicyV2CompressionSpec[]
    • (Optional) Defines compression parameters for entities governed by the Storage Policy.
    encryptionSpecs StoragePolicyV2EncryptionSpec[]
    • (Optional) Defines encryption parameters for entities governed by the Storage Policy.
    faultToleranceSpecs StoragePolicyV2FaultToleranceSpec[]
    • (Optional) Defines Fault Tolerance parameters for the entities.
    name string
    • (Required) Storage Policy name. Must be unique and cannot exceed 64 characters.
    qosSpecs StoragePolicyV2QosSpec[]
    • (Optional) Defines Storage Quality of Service (QOS) parameters for the entities.
    category_ext_ids Sequence[str]
    • (Optional) List of external identifiers for Categories to be included in the Storage Policy. Each ID must be a valid UUID format. Maximum 20 items allowed.
    compression_specs Sequence[StoragePolicyV2CompressionSpecArgs]
    • (Optional) Defines compression parameters for entities governed by the Storage Policy.
    encryption_specs Sequence[StoragePolicyV2EncryptionSpecArgs]
    • (Optional) Defines encryption parameters for entities governed by the Storage Policy.
    fault_tolerance_specs Sequence[StoragePolicyV2FaultToleranceSpecArgs]
    • (Optional) Defines Fault Tolerance parameters for the entities.
    name str
    • (Required) Storage Policy name. Must be unique and cannot exceed 64 characters.
    qos_specs Sequence[StoragePolicyV2QosSpecArgs]
    • (Optional) Defines Storage Quality of Service (QOS) parameters for the entities.
    categoryExtIds List<String>
    • (Optional) List of external identifiers for Categories to be included in the Storage Policy. Each ID must be a valid UUID format. Maximum 20 items allowed.
    compressionSpecs List<Property Map>
    • (Optional) Defines compression parameters for entities governed by the Storage Policy.
    encryptionSpecs List<Property Map>
    • (Optional) Defines encryption parameters for entities governed by the Storage Policy.
    faultToleranceSpecs List<Property Map>
    • (Optional) Defines Fault Tolerance parameters for the entities.
    name String
    • (Required) Storage Policy name. Must be unique and cannot exceed 64 characters.
    qosSpecs List<Property Map>
    • (Optional) Defines Storage Quality of Service (QOS) parameters for the entities.

    Outputs

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

    ExtId string
    • (Computed) External identifier of the Storage Policy.
    Id string
    The provider-assigned unique ID for this managed resource.
    Links List<PiersKarsenbarg.Nutanix.Outputs.StoragePolicyV2Link>
    • A HATEOAS style link for the response. Each link contains a user-friendly name identifying the link and an address for retrieving the particular resource.
    PolicyType string
    • (Computed) Indicates whether the policy is user-created or system-created. Valid values: "USER", "SYSTEM".
    TenantId string
    • A globally unique identifier that represents the tenant that owns this entity.
    ExtId string
    • (Computed) External identifier of the Storage Policy.
    Id string
    The provider-assigned unique ID for this managed resource.
    Links []StoragePolicyV2Link
    • A HATEOAS style link for the response. Each link contains a user-friendly name identifying the link and an address for retrieving the particular resource.
    PolicyType string
    • (Computed) Indicates whether the policy is user-created or system-created. Valid values: "USER", "SYSTEM".
    TenantId string
    • A globally unique identifier that represents the tenant that owns this entity.
    ext_id string
    • (Computed) External identifier of the Storage Policy.
    id string
    The provider-assigned unique ID for this managed resource.
    links list(object)
    • A HATEOAS style link for the response. Each link contains a user-friendly name identifying the link and an address for retrieving the particular resource.
    policy_type string
    • (Computed) Indicates whether the policy is user-created or system-created. Valid values: "USER", "SYSTEM".
    tenant_id string
    • A globally unique identifier that represents the tenant that owns this entity.
    extId String
    • (Computed) External identifier of the Storage Policy.
    id String
    The provider-assigned unique ID for this managed resource.
    links List<StoragePolicyV2Link>
    • A HATEOAS style link for the response. Each link contains a user-friendly name identifying the link and an address for retrieving the particular resource.
    policyType String
    • (Computed) Indicates whether the policy is user-created or system-created. Valid values: "USER", "SYSTEM".
    tenantId String
    • A globally unique identifier that represents the tenant that owns this entity.
    extId string
    • (Computed) External identifier of the Storage Policy.
    id string
    The provider-assigned unique ID for this managed resource.
    links StoragePolicyV2Link[]
    • A HATEOAS style link for the response. Each link contains a user-friendly name identifying the link and an address for retrieving the particular resource.
    policyType string
    • (Computed) Indicates whether the policy is user-created or system-created. Valid values: "USER", "SYSTEM".
    tenantId string
    • A globally unique identifier that represents the tenant that owns this entity.
    ext_id str
    • (Computed) External identifier of the Storage Policy.
    id str
    The provider-assigned unique ID for this managed resource.
    links Sequence[StoragePolicyV2Link]
    • A HATEOAS style link for the response. Each link contains a user-friendly name identifying the link and an address for retrieving the particular resource.
    policy_type str
    • (Computed) Indicates whether the policy is user-created or system-created. Valid values: "USER", "SYSTEM".
    tenant_id str
    • A globally unique identifier that represents the tenant that owns this entity.
    extId String
    • (Computed) External identifier of the Storage Policy.
    id String
    The provider-assigned unique ID for this managed resource.
    links List<Property Map>
    • A HATEOAS style link for the response. Each link contains a user-friendly name identifying the link and an address for retrieving the particular resource.
    policyType String
    • (Computed) Indicates whether the policy is user-created or system-created. Valid values: "USER", "SYSTEM".
    tenantId String
    • A globally unique identifier that represents the tenant that owns this entity.

    Look up Existing StoragePolicyV2 Resource

    Get an existing StoragePolicyV2 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?: StoragePolicyV2State, opts?: CustomResourceOptions): StoragePolicyV2
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            category_ext_ids: Optional[Sequence[str]] = None,
            compression_specs: Optional[Sequence[StoragePolicyV2CompressionSpecArgs]] = None,
            encryption_specs: Optional[Sequence[StoragePolicyV2EncryptionSpecArgs]] = None,
            ext_id: Optional[str] = None,
            fault_tolerance_specs: Optional[Sequence[StoragePolicyV2FaultToleranceSpecArgs]] = None,
            links: Optional[Sequence[StoragePolicyV2LinkArgs]] = None,
            name: Optional[str] = None,
            policy_type: Optional[str] = None,
            qos_specs: Optional[Sequence[StoragePolicyV2QosSpecArgs]] = None,
            tenant_id: Optional[str] = None) -> StoragePolicyV2
    func GetStoragePolicyV2(ctx *Context, name string, id IDInput, state *StoragePolicyV2State, opts ...ResourceOption) (*StoragePolicyV2, error)
    public static StoragePolicyV2 Get(string name, Input<string> id, StoragePolicyV2State? state, CustomResourceOptions? opts = null)
    public static StoragePolicyV2 get(String name, Output<String> id, StoragePolicyV2State state, CustomResourceOptions options)
    resources:  _:    type: nutanix:StoragePolicyV2    get:      id: ${id}
    import {
      to = nutanix_storagepolicyv2.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:
    CategoryExtIds List<string>
    • (Optional) List of external identifiers for Categories to be included in the Storage Policy. Each ID must be a valid UUID format. Maximum 20 items allowed.
    CompressionSpecs List<PiersKarsenbarg.Nutanix.Inputs.StoragePolicyV2CompressionSpec>
    • (Optional) Defines compression parameters for entities governed by the Storage Policy.
    EncryptionSpecs List<PiersKarsenbarg.Nutanix.Inputs.StoragePolicyV2EncryptionSpec>
    • (Optional) Defines encryption parameters for entities governed by the Storage Policy.
    ExtId string
    • (Computed) External identifier of the Storage Policy.
    FaultToleranceSpecs List<PiersKarsenbarg.Nutanix.Inputs.StoragePolicyV2FaultToleranceSpec>
    • (Optional) Defines Fault Tolerance parameters for the entities.
    Links List<PiersKarsenbarg.Nutanix.Inputs.StoragePolicyV2Link>
    • A HATEOAS style link for the response. Each link contains a user-friendly name identifying the link and an address for retrieving the particular resource.
    Name string
    • (Required) Storage Policy name. Must be unique and cannot exceed 64 characters.
    PolicyType string
    • (Computed) Indicates whether the policy is user-created or system-created. Valid values: "USER", "SYSTEM".
    QosSpecs List<PiersKarsenbarg.Nutanix.Inputs.StoragePolicyV2QosSpec>
    • (Optional) Defines Storage Quality of Service (QOS) parameters for the entities.
    TenantId string
    • A globally unique identifier that represents the tenant that owns this entity.
    CategoryExtIds []string
    • (Optional) List of external identifiers for Categories to be included in the Storage Policy. Each ID must be a valid UUID format. Maximum 20 items allowed.
    CompressionSpecs []StoragePolicyV2CompressionSpecArgs
    • (Optional) Defines compression parameters for entities governed by the Storage Policy.
    EncryptionSpecs []StoragePolicyV2EncryptionSpecArgs
    • (Optional) Defines encryption parameters for entities governed by the Storage Policy.
    ExtId string
    • (Computed) External identifier of the Storage Policy.
    FaultToleranceSpecs []StoragePolicyV2FaultToleranceSpecArgs
    • (Optional) Defines Fault Tolerance parameters for the entities.
    Links []StoragePolicyV2LinkArgs
    • A HATEOAS style link for the response. Each link contains a user-friendly name identifying the link and an address for retrieving the particular resource.
    Name string
    • (Required) Storage Policy name. Must be unique and cannot exceed 64 characters.
    PolicyType string
    • (Computed) Indicates whether the policy is user-created or system-created. Valid values: "USER", "SYSTEM".
    QosSpecs []StoragePolicyV2QosSpecArgs
    • (Optional) Defines Storage Quality of Service (QOS) parameters for the entities.
    TenantId string
    • A globally unique identifier that represents the tenant that owns this entity.
    category_ext_ids list(string)
    • (Optional) List of external identifiers for Categories to be included in the Storage Policy. Each ID must be a valid UUID format. Maximum 20 items allowed.
    compression_specs list(object)
    • (Optional) Defines compression parameters for entities governed by the Storage Policy.
    encryption_specs list(object)
    • (Optional) Defines encryption parameters for entities governed by the Storage Policy.
    ext_id string
    • (Computed) External identifier of the Storage Policy.
    fault_tolerance_specs list(object)
    • (Optional) Defines Fault Tolerance parameters for the entities.
    links list(object)
    • A HATEOAS style link for the response. Each link contains a user-friendly name identifying the link and an address for retrieving the particular resource.
    name string
    • (Required) Storage Policy name. Must be unique and cannot exceed 64 characters.
    policy_type string
    • (Computed) Indicates whether the policy is user-created or system-created. Valid values: "USER", "SYSTEM".
    qos_specs list(object)
    • (Optional) Defines Storage Quality of Service (QOS) parameters for the entities.
    tenant_id string
    • A globally unique identifier that represents the tenant that owns this entity.
    categoryExtIds List<String>
    • (Optional) List of external identifiers for Categories to be included in the Storage Policy. Each ID must be a valid UUID format. Maximum 20 items allowed.
    compressionSpecs List<StoragePolicyV2CompressionSpec>
    • (Optional) Defines compression parameters for entities governed by the Storage Policy.
    encryptionSpecs List<StoragePolicyV2EncryptionSpec>
    • (Optional) Defines encryption parameters for entities governed by the Storage Policy.
    extId String
    • (Computed) External identifier of the Storage Policy.
    faultToleranceSpecs List<StoragePolicyV2FaultToleranceSpec>
    • (Optional) Defines Fault Tolerance parameters for the entities.
    links List<StoragePolicyV2Link>
    • A HATEOAS style link for the response. Each link contains a user-friendly name identifying the link and an address for retrieving the particular resource.
    name String
    • (Required) Storage Policy name. Must be unique and cannot exceed 64 characters.
    policyType String
    • (Computed) Indicates whether the policy is user-created or system-created. Valid values: "USER", "SYSTEM".
    qosSpecs List<StoragePolicyV2QosSpec>
    • (Optional) Defines Storage Quality of Service (QOS) parameters for the entities.
    tenantId String
    • A globally unique identifier that represents the tenant that owns this entity.
    categoryExtIds string[]
    • (Optional) List of external identifiers for Categories to be included in the Storage Policy. Each ID must be a valid UUID format. Maximum 20 items allowed.
    compressionSpecs StoragePolicyV2CompressionSpec[]
    • (Optional) Defines compression parameters for entities governed by the Storage Policy.
    encryptionSpecs StoragePolicyV2EncryptionSpec[]
    • (Optional) Defines encryption parameters for entities governed by the Storage Policy.
    extId string
    • (Computed) External identifier of the Storage Policy.
    faultToleranceSpecs StoragePolicyV2FaultToleranceSpec[]
    • (Optional) Defines Fault Tolerance parameters for the entities.
    links StoragePolicyV2Link[]
    • A HATEOAS style link for the response. Each link contains a user-friendly name identifying the link and an address for retrieving the particular resource.
    name string
    • (Required) Storage Policy name. Must be unique and cannot exceed 64 characters.
    policyType string
    • (Computed) Indicates whether the policy is user-created or system-created. Valid values: "USER", "SYSTEM".
    qosSpecs StoragePolicyV2QosSpec[]
    • (Optional) Defines Storage Quality of Service (QOS) parameters for the entities.
    tenantId string
    • A globally unique identifier that represents the tenant that owns this entity.
    category_ext_ids Sequence[str]
    • (Optional) List of external identifiers for Categories to be included in the Storage Policy. Each ID must be a valid UUID format. Maximum 20 items allowed.
    compression_specs Sequence[StoragePolicyV2CompressionSpecArgs]
    • (Optional) Defines compression parameters for entities governed by the Storage Policy.
    encryption_specs Sequence[StoragePolicyV2EncryptionSpecArgs]
    • (Optional) Defines encryption parameters for entities governed by the Storage Policy.
    ext_id str
    • (Computed) External identifier of the Storage Policy.
    fault_tolerance_specs Sequence[StoragePolicyV2FaultToleranceSpecArgs]
    • (Optional) Defines Fault Tolerance parameters for the entities.
    links Sequence[StoragePolicyV2LinkArgs]
    • A HATEOAS style link for the response. Each link contains a user-friendly name identifying the link and an address for retrieving the particular resource.
    name str
    • (Required) Storage Policy name. Must be unique and cannot exceed 64 characters.
    policy_type str
    • (Computed) Indicates whether the policy is user-created or system-created. Valid values: "USER", "SYSTEM".
    qos_specs Sequence[StoragePolicyV2QosSpecArgs]
    • (Optional) Defines Storage Quality of Service (QOS) parameters for the entities.
    tenant_id str
    • A globally unique identifier that represents the tenant that owns this entity.
    categoryExtIds List<String>
    • (Optional) List of external identifiers for Categories to be included in the Storage Policy. Each ID must be a valid UUID format. Maximum 20 items allowed.
    compressionSpecs List<Property Map>
    • (Optional) Defines compression parameters for entities governed by the Storage Policy.
    encryptionSpecs List<Property Map>
    • (Optional) Defines encryption parameters for entities governed by the Storage Policy.
    extId String
    • (Computed) External identifier of the Storage Policy.
    faultToleranceSpecs List<Property Map>
    • (Optional) Defines Fault Tolerance parameters for the entities.
    links List<Property Map>
    • A HATEOAS style link for the response. Each link contains a user-friendly name identifying the link and an address for retrieving the particular resource.
    name String
    • (Required) Storage Policy name. Must be unique and cannot exceed 64 characters.
    policyType String
    • (Computed) Indicates whether the policy is user-created or system-created. Valid values: "USER", "SYSTEM".
    qosSpecs List<Property Map>
    • (Optional) Defines Storage Quality of Service (QOS) parameters for the entities.
    tenantId String
    • A globally unique identifier that represents the tenant that owns this entity.

    Supporting Types

    StoragePolicyV2CompressionSpec, StoragePolicyV2CompressionSpecArgs

    CompressionState string
    • (Required) Controls enabling or disabling compression. If no explicit preference is set, the system chooses a value. Valid values:
    • "DISABLED":- User wants data not compressed.
    • "POSTPROCESS":- User wants data compressed later.
    • "INLINE":- User wants data compressed inline.
    • "SYSTEM_DERIVED":- User is not interested in compression; system decides.
    CompressionState string
    • (Required) Controls enabling or disabling compression. If no explicit preference is set, the system chooses a value. Valid values:
    • "DISABLED":- User wants data not compressed.
    • "POSTPROCESS":- User wants data compressed later.
    • "INLINE":- User wants data compressed inline.
    • "SYSTEM_DERIVED":- User is not interested in compression; system decides.
    compression_state string
    • (Required) Controls enabling or disabling compression. If no explicit preference is set, the system chooses a value. Valid values:
    • "DISABLED":- User wants data not compressed.
    • "POSTPROCESS":- User wants data compressed later.
    • "INLINE":- User wants data compressed inline.
    • "SYSTEM_DERIVED":- User is not interested in compression; system decides.
    compressionState String
    • (Required) Controls enabling or disabling compression. If no explicit preference is set, the system chooses a value. Valid values:
    • "DISABLED":- User wants data not compressed.
    • "POSTPROCESS":- User wants data compressed later.
    • "INLINE":- User wants data compressed inline.
    • "SYSTEM_DERIVED":- User is not interested in compression; system decides.
    compressionState string
    • (Required) Controls enabling or disabling compression. If no explicit preference is set, the system chooses a value. Valid values:
    • "DISABLED":- User wants data not compressed.
    • "POSTPROCESS":- User wants data compressed later.
    • "INLINE":- User wants data compressed inline.
    • "SYSTEM_DERIVED":- User is not interested in compression; system decides.
    compression_state str
    • (Required) Controls enabling or disabling compression. If no explicit preference is set, the system chooses a value. Valid values:
    • "DISABLED":- User wants data not compressed.
    • "POSTPROCESS":- User wants data compressed later.
    • "INLINE":- User wants data compressed inline.
    • "SYSTEM_DERIVED":- User is not interested in compression; system decides.
    compressionState String
    • (Required) Controls enabling or disabling compression. If no explicit preference is set, the system chooses a value. Valid values:
    • "DISABLED":- User wants data not compressed.
    • "POSTPROCESS":- User wants data compressed later.
    • "INLINE":- User wants data compressed inline.
    • "SYSTEM_DERIVED":- User is not interested in compression; system decides.

    StoragePolicyV2EncryptionSpec, StoragePolicyV2EncryptionSpecArgs

    EncryptionState string
    • (Required) Controls enabling encryption. Once enabled, it cannot be disabled. If no explicit preference is set, the system decides. Valid values:
    • "SYSTEM_DERIVED":- User is not interested in encryption; system decides.
    • "ENABLED":- User wants data encrypted.

    Note: Once encryptionState is explicitly set to ENABLED, it cannot be reverted back to a system-derived value.

    EncryptionState string
    • (Required) Controls enabling encryption. Once enabled, it cannot be disabled. If no explicit preference is set, the system decides. Valid values:
    • "SYSTEM_DERIVED":- User is not interested in encryption; system decides.
    • "ENABLED":- User wants data encrypted.

    Note: Once encryptionState is explicitly set to ENABLED, it cannot be reverted back to a system-derived value.

    encryption_state string
    • (Required) Controls enabling encryption. Once enabled, it cannot be disabled. If no explicit preference is set, the system decides. Valid values:
    • "SYSTEM_DERIVED":- User is not interested in encryption; system decides.
    • "ENABLED":- User wants data encrypted.

    Note: Once encryptionState is explicitly set to ENABLED, it cannot be reverted back to a system-derived value.

    encryptionState String
    • (Required) Controls enabling encryption. Once enabled, it cannot be disabled. If no explicit preference is set, the system decides. Valid values:
    • "SYSTEM_DERIVED":- User is not interested in encryption; system decides.
    • "ENABLED":- User wants data encrypted.

    Note: Once encryptionState is explicitly set to ENABLED, it cannot be reverted back to a system-derived value.

    encryptionState string
    • (Required) Controls enabling encryption. Once enabled, it cannot be disabled. If no explicit preference is set, the system decides. Valid values:
    • "SYSTEM_DERIVED":- User is not interested in encryption; system decides.
    • "ENABLED":- User wants data encrypted.

    Note: Once encryptionState is explicitly set to ENABLED, it cannot be reverted back to a system-derived value.

    encryption_state str
    • (Required) Controls enabling encryption. Once enabled, it cannot be disabled. If no explicit preference is set, the system decides. Valid values:
    • "SYSTEM_DERIVED":- User is not interested in encryption; system decides.
    • "ENABLED":- User wants data encrypted.

    Note: Once encryptionState is explicitly set to ENABLED, it cannot be reverted back to a system-derived value.

    encryptionState String
    • (Required) Controls enabling encryption. Once enabled, it cannot be disabled. If no explicit preference is set, the system decides. Valid values:
    • "SYSTEM_DERIVED":- User is not interested in encryption; system decides.
    • "ENABLED":- User wants data encrypted.

    Note: Once encryptionState is explicitly set to ENABLED, it cannot be reverted back to a system-derived value.

    StoragePolicyV2FaultToleranceSpec, StoragePolicyV2FaultToleranceSpecArgs

    ReplicationFactor string
    • (Required) Specifies the number of data copies for entities governed by the Storage Policy. Valid values:
    • "SYSTEM_DERIVED":- User has not provided the number of copies; system decides.
    • "TWO":- Two data copies (Original + 1 copy).
    • "THREE":- Three data copies (Original + 2 copies).
    ReplicationFactor string
    • (Required) Specifies the number of data copies for entities governed by the Storage Policy. Valid values:
    • "SYSTEM_DERIVED":- User has not provided the number of copies; system decides.
    • "TWO":- Two data copies (Original + 1 copy).
    • "THREE":- Three data copies (Original + 2 copies).
    replication_factor string
    • (Required) Specifies the number of data copies for entities governed by the Storage Policy. Valid values:
    • "SYSTEM_DERIVED":- User has not provided the number of copies; system decides.
    • "TWO":- Two data copies (Original + 1 copy).
    • "THREE":- Three data copies (Original + 2 copies).
    replicationFactor String
    • (Required) Specifies the number of data copies for entities governed by the Storage Policy. Valid values:
    • "SYSTEM_DERIVED":- User has not provided the number of copies; system decides.
    • "TWO":- Two data copies (Original + 1 copy).
    • "THREE":- Three data copies (Original + 2 copies).
    replicationFactor string
    • (Required) Specifies the number of data copies for entities governed by the Storage Policy. Valid values:
    • "SYSTEM_DERIVED":- User has not provided the number of copies; system decides.
    • "TWO":- Two data copies (Original + 1 copy).
    • "THREE":- Three data copies (Original + 2 copies).
    replication_factor str
    • (Required) Specifies the number of data copies for entities governed by the Storage Policy. Valid values:
    • "SYSTEM_DERIVED":- User has not provided the number of copies; system decides.
    • "TWO":- Two data copies (Original + 1 copy).
    • "THREE":- Three data copies (Original + 2 copies).
    replicationFactor String
    • (Required) Specifies the number of data copies for entities governed by the Storage Policy. Valid values:
    • "SYSTEM_DERIVED":- User has not provided the number of copies; system decides.
    • "TWO":- Two data copies (Original + 1 copy).
    • "THREE":- Three data copies (Original + 2 copies).
    Href string
    Rel string
    Href string
    Rel string
    href string
    rel string
    href String
    rel String
    href string
    rel string
    href str
    rel str
    href String
    rel String

    StoragePolicyV2QosSpec, StoragePolicyV2QosSpecArgs

    ThrottledIops int
    • (Required) Specifies throttled IOPS for governed entities. The block size for IO is 32kB. Valid range: 100 to 2147483647.
    ThrottledIops int
    • (Required) Specifies throttled IOPS for governed entities. The block size for IO is 32kB. Valid range: 100 to 2147483647.
    throttled_iops number
    • (Required) Specifies throttled IOPS for governed entities. The block size for IO is 32kB. Valid range: 100 to 2147483647.
    throttledIops Integer
    • (Required) Specifies throttled IOPS for governed entities. The block size for IO is 32kB. Valid range: 100 to 2147483647.
    throttledIops number
    • (Required) Specifies throttled IOPS for governed entities. The block size for IO is 32kB. Valid range: 100 to 2147483647.
    throttled_iops int
    • (Required) Specifies throttled IOPS for governed entities. The block size for IO is 32kB. Valid range: 100 to 2147483647.
    throttledIops Number
    • (Required) Specifies throttled IOPS for governed entities. The block size for IO is 32kB. Valid range: 100 to 2147483647.

    Package Details

    Repository
    nutanix pierskarsenbarg/pulumi-nutanix
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the nutanix Terraform Provider.
    nutanix logo
    Viewing docs for Nutanix v0.16.0
    published on Tuesday, May 26, 2026 by Piers Karsenbarg

      Try Pulumi Cloud free.
      Your team will thank you.

      Start free trial