generated/api/Models/PathsXt7ZxhV4StorageCloudCloudstorageidGetResponses200ContentApplicationJsonSchema.cs

// Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.9.4, generator: @autorest/powershell@3.0.415)
// Changes may cause incorrect behavior and will be lost if the code is regenerated.

namespace Commvault.Powershell.Models
{
    using static Commvault.Powershell.Runtime.Extensions;

    public partial class PathsXt7ZxhV4StorageCloudCloudstorageidGetResponses200ContentApplicationJsonSchema :
        Commvault.Powershell.Models.IPathsXt7ZxhV4StorageCloudCloudstorageidGetResponses200ContentApplicationJsonSchema,
        Commvault.Powershell.Models.IPathsXt7ZxhV4StorageCloudCloudstorageidGetResponses200ContentApplicationJsonSchemaInternal,
        Commvault.Powershell.Runtime.IValidates
    {
        /// <summary>
        /// Backing field for Inherited model <see cref= "Commvault.Powershell.Models.ICloudStorageDetails" />
        /// </summary>
        private Commvault.Powershell.Models.ICloudStorageDetails __cloudStorageDetails = new Commvault.Powershell.Models.CloudStorageDetails();

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public Commvault.Powershell.Models.IIdName[] AssociatedPlans { get => ((Commvault.Powershell.Models.ICloudStorageDetailsInternal)__cloudStorageDetails).AssociatedPlans; set => ((Commvault.Powershell.Models.ICloudStorageDetailsInternal)__cloudStorageDetails).AssociatedPlans = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public Commvault.Powershell.Models.IIdNameStatus[] Bucket { get => ((Commvault.Powershell.Models.ICloudStorageDetailsInternal)__cloudStorageDetails).Bucket; set => ((Commvault.Powershell.Models.ICloudStorageDetailsInternal)__cloudStorageDetails).Bucket = value; }

        /// <summary>Tells if cache configuration is enabled for this storage</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public bool? CacheConfigurationEnable { get => ((Commvault.Powershell.Models.ICloudStorageDetailsInternal)__cloudStorageDetails).CacheConfigurationEnable; set => ((Commvault.Powershell.Models.ICloudStorageDetailsInternal)__cloudStorageDetails).CacheConfigurationEnable = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public Commvault.Powershell.Models.IMetadataCache[] CacheConfigurationMetadataCache { get => ((Commvault.Powershell.Models.ICloudStorageDetailsInternal)__cloudStorageDetails).CacheConfigurationMetadataCache; set => ((Commvault.Powershell.Models.ICloudStorageDetailsInternal)__cloudStorageDetails).CacheConfigurationMetadataCache = value; }

        /// <summary>CacheConfigurations</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public Commvault.Powershell.Models.ICacheConfigurations CacheConfigurations { get => ((Commvault.Powershell.Models.ICloudStorageDetailsInternal)__cloudStorageDetails).CacheConfigurations; set => ((Commvault.Powershell.Models.ICloudStorageDetailsInternal)__cloudStorageDetails).CacheConfigurations = value; }

        /// <summary>Different ways in which data can be encrypted.</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public Commvault.Powershell.Models.IEncryption Encryption { get => ((Commvault.Powershell.Models.ICloudStorageDetailsInternal)__cloudStorageDetails).Encryption; set => ((Commvault.Powershell.Models.ICloudStorageDetailsInternal)__cloudStorageDetails).Encryption = value; }

        /// <summary>
        /// The different types of encryption keys that can be used for encrypting the data. The values are case sensitive
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public string EncryptionCipher { get => ((Commvault.Powershell.Models.ICloudStorageDetailsInternal)__cloudStorageDetails).EncryptionCipher; set => ((Commvault.Powershell.Models.ICloudStorageDetailsInternal)__cloudStorageDetails).EncryptionCipher = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public bool? EncryptionEncrypt { get => ((Commvault.Powershell.Models.ICloudStorageDetailsInternal)__cloudStorageDetails).EncryptionEncrypt; set => ((Commvault.Powershell.Models.ICloudStorageDetailsInternal)__cloudStorageDetails).EncryptionEncrypt = value; }

        /// <summary>
        /// Different keylengths are present for different kinds of ciphers. Blowfish,Twofish,AES and Serpent all accept both 128
        /// and 256. DES3 accepts only 192. GOST accepts only 256.
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public long? EncryptionKeyLength { get => ((Commvault.Powershell.Models.ICloudStorageDetailsInternal)__cloudStorageDetails).EncryptionKeyLength; set => ((Commvault.Powershell.Models.ICloudStorageDetailsInternal)__cloudStorageDetails).EncryptionKeyLength = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public Commvault.Powershell.Models.IIdName EncryptionKeyProvider { get => ((Commvault.Powershell.Models.ICloudStorageDetailsInternal)__cloudStorageDetails).EncryptionKeyProvider; set => ((Commvault.Powershell.Models.ICloudStorageDetailsInternal)__cloudStorageDetails).EncryptionKeyProvider = value; }

        /// <summary>CloudStorageGeneralInfo</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public Commvault.Powershell.Models.ICloudStorageGeneralInfo General { get => ((Commvault.Powershell.Models.ICloudStorageDetailsInternal)__cloudStorageDetails).General; set => ((Commvault.Powershell.Models.ICloudStorageDetailsInternal)__cloudStorageDetails).General = value; }

        /// <summary>
        /// Specifies the savings in percentage that occurred due to deduplication. Only available for dedupe cloud storage pools
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public string GeneralDeduplicationSavings { get => ((Commvault.Powershell.Models.ICloudStorageDetailsInternal)__cloudStorageDetails).GeneralDeduplicationSavings; set => ((Commvault.Powershell.Models.ICloudStorageDetailsInternal)__cloudStorageDetails).GeneralDeduplicationSavings = value; }

        /// <summary>Free space available on this cloud storage</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public long? GeneralFreeSpace { get => ((Commvault.Powershell.Models.ICloudStorageDetailsInternal)__cloudStorageDetails).GeneralFreeSpace; set => ((Commvault.Powershell.Models.ICloudStorageDetailsInternal)__cloudStorageDetails).GeneralFreeSpace = value; }

        /// <summary>Amount of space consumed</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public long? GeneralSizeOnDisk { get => ((Commvault.Powershell.Models.ICloudStorageDetailsInternal)__cloudStorageDetails).GeneralSizeOnDisk; set => ((Commvault.Powershell.Models.ICloudStorageDetailsInternal)__cloudStorageDetails).GeneralSizeOnDisk = value; }

        /// <summary>Total capacity of this cloud storage</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public long? GeneralTotalCapacity { get => ((Commvault.Powershell.Models.ICloudStorageDetailsInternal)__cloudStorageDetails).GeneralTotalCapacity; set => ((Commvault.Powershell.Models.ICloudStorageDetailsInternal)__cloudStorageDetails).GeneralTotalCapacity = value; }

        /// <summary>Type of the cloud storage server</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public string GeneralType { get => ((Commvault.Powershell.Models.ICloudStorageDetailsInternal)__cloudStorageDetails).GeneralType; set => ((Commvault.Powershell.Models.ICloudStorageDetailsInternal)__cloudStorageDetails).GeneralType = value; }

        /// <summary>Cloud server type</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public string GeneralVendorType { get => ((Commvault.Powershell.Models.ICloudStorageDetailsInternal)__cloudStorageDetails).GeneralVendorType; set => ((Commvault.Powershell.Models.ICloudStorageDetailsInternal)__cloudStorageDetails).GeneralVendorType = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public long? Id { get => ((Commvault.Powershell.Models.IIdNameInternal)__cloudStorageDetails).Id; set => ((Commvault.Powershell.Models.IIdNameInternal)__cloudStorageDetails).Id = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public long? KeyProviderId { get => ((Commvault.Powershell.Models.ICloudStorageDetailsInternal)__cloudStorageDetails).KeyProviderId; set => ((Commvault.Powershell.Models.ICloudStorageDetailsInternal)__cloudStorageDetails).KeyProviderId = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public string KeyProviderName { get => ((Commvault.Powershell.Models.ICloudStorageDetailsInternal)__cloudStorageDetails).KeyProviderName; set => ((Commvault.Powershell.Models.ICloudStorageDetailsInternal)__cloudStorageDetails).KeyProviderName = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public string Name { get => ((Commvault.Powershell.Models.IIdNameInternal)__cloudStorageDetails).Name; set => ((Commvault.Powershell.Models.IIdNameInternal)__cloudStorageDetails).Name = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public Commvault.Powershell.Models.ISecurityAssoc[] Security { get => ((Commvault.Powershell.Models.ICloudStorageDetailsInternal)__cloudStorageDetails).Security; set => ((Commvault.Powershell.Models.ICloudStorageDetailsInternal)__cloudStorageDetails).Security = value; }

        /// <summary>
        /// Creates an new <see cref="PathsXt7ZxhV4StorageCloudCloudstorageidGetResponses200ContentApplicationJsonSchema" /> instance.
        /// </summary>
        public PathsXt7ZxhV4StorageCloudCloudstorageidGetResponses200ContentApplicationJsonSchema()
        {

        }

        /// <summary>Validates that this object meets the validation criteria.</summary>
        /// <param name="eventListener">an <see cref="Commvault.Powershell.Runtime.IEventListener" /> instance that will receive validation
        /// events.</param>
        /// <returns>
        /// A < see cref = "global::System.Threading.Tasks.Task" /> that will be complete when validation is completed.
        /// </returns>
        public async global::System.Threading.Tasks.Task Validate(Commvault.Powershell.Runtime.IEventListener eventListener)
        {
            await eventListener.AssertNotNull(nameof(__cloudStorageDetails), __cloudStorageDetails);
            await eventListener.AssertObjectIsValid(nameof(__cloudStorageDetails), __cloudStorageDetails);
        }
    }
    public partial interface IPathsXt7ZxhV4StorageCloudCloudstorageidGetResponses200ContentApplicationJsonSchema :
        Commvault.Powershell.Runtime.IJsonSerializable,
        Commvault.Powershell.Models.ICloudStorageDetails
    {

    }
    internal partial interface IPathsXt7ZxhV4StorageCloudCloudstorageidGetResponses200ContentApplicationJsonSchemaInternal :
        Commvault.Powershell.Models.ICloudStorageDetailsInternal
    {

    }
}