// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
using Pulumi;

namespace PiersKarsenbarg.Nutanix.Inputs
{

    public sealed class KarbonClusterStorageClassConfigArgs : Pulumi.ResourceArgs
    {
        [Input("name")]
        public Input<string>? Name { get; set; }

        /// <summary>
        /// Reclaim policy for persistent volumes provisioned using the specified storage class.
        /// * `volumes_config.#.file_system` - (Optional) Karbon uses either the ext4 or xfs file-system on the volume disk.
        /// * `volumes_config.#.flash_mode` - (Optional) Pins the persistent volumes to the flash tier in case of a `true` value.
        /// * `volumes_config.#.password` - (Required) The password of the Prism Element user that the API calls use to provision volumes.
        /// * `volumes_config.#.prism_element_cluster_uuid` - (Required) The universally unique identifier (UUID) of the Prism Element cluster.
        /// * `volumes_config.#.storage_container` - (Required) Name of the storage container the storage container uses to provision volumes.
        /// * `volumes_config.#.username` - (Required) Username of the Prism Element user that the API calls use to provision volumes.
        /// </summary>
        [Input("reclaimPolicy")]
        public Input<string>? ReclaimPolicy { get; set; }

        [Input("volumesConfig", required: true)]
        public Input<Inputs.KarbonClusterStorageClassConfigVolumesConfigArgs> VolumesConfig { get; set; } = null!;

        public KarbonClusterStorageClassConfigArgs()
        {
        }
    }
}
