generated/api/Models/UpdateLocalStorage.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 UpdateLocalStorage :
        Commvault.Powershell.Models.IUpdateLocalStorage,
        Commvault.Powershell.Models.IUpdateLocalStorageInternal
    {

        /// <summary>Internal Acessors for DataEncryption</summary>
        Commvault.Powershell.Models.IEncryption Commvault.Powershell.Models.IUpdateLocalStorageInternal.DataEncryption { get => (this._dataEncryption = this._dataEncryption ?? new Commvault.Powershell.Models.Encryption()); set { {_dataEncryption = value;} } }

        /// <summary>Internal Acessors for DataEncryptionKeyProvider</summary>
        Commvault.Powershell.Models.IIdName Commvault.Powershell.Models.IUpdateLocalStorageInternal.DataEncryptionKeyProvider { get => ((Commvault.Powershell.Models.IEncryptionInternal)DataEncryption).KeyProvider; set => ((Commvault.Powershell.Models.IEncryptionInternal)DataEncryption).KeyProvider = value; }

        /// <summary>Backing field for <see cref="DataEncryption" /> property.</summary>
        private Commvault.Powershell.Models.IEncryption _dataEncryption;

        /// <summary>Different ways in which data can be encrypted.</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IEncryption DataEncryption { get => (this._dataEncryption = this._dataEncryption ?? new Commvault.Powershell.Models.Encryption()); set => this._dataEncryption = 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.Inlined)]
        public string DataEncryptionCipher { get => ((Commvault.Powershell.Models.IEncryptionInternal)DataEncryption).Cipher; set => ((Commvault.Powershell.Models.IEncryptionInternal)DataEncryption).Cipher = value ?? null; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public bool? DataEncryptionEncrypt { get => ((Commvault.Powershell.Models.IEncryptionInternal)DataEncryption).Encrypt; set => ((Commvault.Powershell.Models.IEncryptionInternal)DataEncryption).Encrypt = value ?? default(bool); }

        /// <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.Inlined)]
        public long? DataEncryptionKeyLength { get => ((Commvault.Powershell.Models.IEncryptionInternal)DataEncryption).KeyLength; set => ((Commvault.Powershell.Models.IEncryptionInternal)DataEncryption).KeyLength = value ?? default(long); }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? KeyProviderId { get => ((Commvault.Powershell.Models.IEncryptionInternal)DataEncryption).KeyProviderId; set => ((Commvault.Powershell.Models.IEncryptionInternal)DataEncryption).KeyProviderId = value ?? default(long); }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string KeyProviderName { get => ((Commvault.Powershell.Models.IEncryptionInternal)DataEncryption).KeyProviderName; set => ((Commvault.Powershell.Models.IEncryptionInternal)DataEncryption).KeyProviderName = value ?? null; }

        /// <summary>Backing field for <see cref="Name" /> property.</summary>
        private string _name;

        /// <summary>change the name of the storage pool</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string Name { get => this._name; set => this._name = value; }

        /// <summary>Backing field for <see cref="Security" /> property.</summary>
        private Commvault.Powershell.Models.IUpdateSecurityAssoc[] _security;

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public Commvault.Powershell.Models.IUpdateSecurityAssoc[] Security { get => this._security; set => this._security = value; }

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

        }
    }
    public partial interface IUpdateLocalStorage :
        Commvault.Powershell.Runtime.IJsonSerializable
    {
        /// <summary>
        /// The different types of encryption keys that can be used for encrypting the data. The values are case sensitive
        /// </summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"The different types of encryption keys that can be used for encrypting the data. The values are case sensitive",
        SerializedName = @"cipher",
        PossibleTypes = new [] { typeof(string) })]
        string DataEncryptionCipher { get; set; }

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"encrypt",
        PossibleTypes = new [] { typeof(bool) })]
        bool? DataEncryptionEncrypt { get; set; }
        /// <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.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"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. ",
        SerializedName = @"keyLength",
        PossibleTypes = new [] { typeof(long) })]
        long? DataEncryptionKeyLength { get; set; }

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"id",
        PossibleTypes = new [] { typeof(long) })]
        long? KeyProviderId { get; set; }

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string KeyProviderName { get; set; }
        /// <summary>change the name of the storage pool</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"change the name of the storage pool",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string Name { get; set; }

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"security",
        PossibleTypes = new [] { typeof(Commvault.Powershell.Models.IUpdateSecurityAssoc) })]
        Commvault.Powershell.Models.IUpdateSecurityAssoc[] Security { get; set; }

    }
    internal partial interface IUpdateLocalStorageInternal

    {
        /// <summary>Different ways in which data can be encrypted.</summary>
        Commvault.Powershell.Models.IEncryption DataEncryption { get; set; }
        /// <summary>
        /// The different types of encryption keys that can be used for encrypting the data. The values are case sensitive
        /// </summary>
        string DataEncryptionCipher { get; set; }

        bool? DataEncryptionEncrypt { get; set; }
        /// <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>
        long? DataEncryptionKeyLength { get; set; }

        Commvault.Powershell.Models.IIdName DataEncryptionKeyProvider { get; set; }

        long? KeyProviderId { get; set; }

        string KeyProviderName { get; set; }
        /// <summary>change the name of the storage pool</summary>
        string Name { get; set; }

        Commvault.Powershell.Models.IUpdateSecurityAssoc[] Security { get; set; }

    }
}