generated/api/Models/JobDetailForStorage.PowerShell.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 Commvault.Powershell.Runtime.PowerShell;

    /// <summary>Details of a Job on storage.</summary>
    [System.ComponentModel.TypeConverter(typeof(JobDetailForStorageTypeConverter))]
    public partial class JobDetailForStorage
    {

        /// <summary>
        /// <c>AfterDeserializeDictionary</c> will be called after the deserialization has finished, allowing customization of the
        /// object before it is returned. Implement this method in a partial class to enable this behavior
        /// </summary>
        /// <param name="content">The global::System.Collections.IDictionary content that should be used.</param>

        partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content);

        /// <summary>
        /// <c>AfterDeserializePSObject</c> will be called after the deserialization has finished, allowing customization of the object
        /// before it is returned. Implement this method in a partial class to enable this behavior
        /// </summary>
        /// <param name="content">The global::System.Management.Automation.PSObject content that should be used.</param>

        partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content);

        /// <summary>
        /// <c>BeforeDeserializeDictionary</c> will be called before the deserialization has commenced, allowing complete customization
        /// of the object before it is deserialized.
        /// If you wish to disable the default deserialization entirely, return <c>true</c> in the <see "returnNow" /> output parameter.
        /// Implement this method in a partial class to enable this behavior.
        /// </summary>
        /// <param name="content">The global::System.Collections.IDictionary content that should be used.</param>
        /// <param name="returnNow">Determines if the rest of the serialization should be processed, or if the method should return
        /// instantly.</param>

        partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow);

        /// <summary>
        /// <c>BeforeDeserializePSObject</c> will be called before the deserialization has commenced, allowing complete customization
        /// of the object before it is deserialized.
        /// If you wish to disable the default deserialization entirely, return <c>true</c> in the <see "returnNow" /> output parameter.
        /// Implement this method in a partial class to enable this behavior.
        /// </summary>
        /// <param name="content">The global::System.Management.Automation.PSObject content that should be used.</param>
        /// <param name="returnNow">Determines if the rest of the serialization should be processed, or if the method should return
        /// instantly.</param>

        partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow);

        /// <summary>
        /// Deserializes a <see cref="global::System.Collections.IDictionary" /> into an instance of <see cref="Commvault.Powershell.Models.JobDetailForStorage"
        /// />.
        /// </summary>
        /// <param name="content">The global::System.Collections.IDictionary content that should be used.</param>
        /// <returns>an instance of <see cref="Commvault.Powershell.Models.IJobDetailForStorage" />.</returns>
        public static Commvault.Powershell.Models.IJobDetailForStorage DeserializeFromDictionary(global::System.Collections.IDictionary content)
        {
            return new JobDetailForStorage(content);
        }

        /// <summary>
        /// Deserializes a <see cref="global::System.Management.Automation.PSObject" /> into an instance of <see cref="Commvault.Powershell.Models.JobDetailForStorage"
        /// />.
        /// </summary>
        /// <param name="content">The global::System.Management.Automation.PSObject content that should be used.</param>
        /// <returns>an instance of <see cref="Commvault.Powershell.Models.IJobDetailForStorage" />.</returns>
        public static Commvault.Powershell.Models.IJobDetailForStorage DeserializeFromPSObject(global::System.Management.Automation.PSObject content)
        {
            return new JobDetailForStorage(content);
        }

        /// <summary>
        /// Creates a new instance of <see cref="JobDetailForStorage" />, deserializing the content from a json string.
        /// </summary>
        /// <param name="jsonText">a string containing a JSON serialized instance of this model.</param>
        /// <returns>an instance of the <see cref="className" /> model class.</returns>
        public static Commvault.Powershell.Models.IJobDetailForStorage FromJsonString(string jsonText) => FromJson(Commvault.Powershell.Runtime.Json.JsonNode.Parse(jsonText));

        /// <summary>
        /// Deserializes a <see cref="global::System.Collections.IDictionary" /> into a new instance of <see cref="Commvault.Powershell.Models.JobDetailForStorage"
        /// />.
        /// </summary>
        /// <param name="content">The global::System.Collections.IDictionary content that should be used.</param>
        internal JobDetailForStorage(global::System.Collections.IDictionary content)
        {
            bool returnNow = false;
            BeforeDeserializeDictionary(content, ref returnNow);
            if (returnNow)
            {
                return;
            }
            // actually deserialize
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).Server = (Commvault.Powershell.Models.IIdName) content.GetValueForProperty("Server",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).Server, Commvault.Powershell.Models.IdNameTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).AgentType = (Commvault.Powershell.Models.IIdName) content.GetValueForProperty("AgentType",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).AgentType, Commvault.Powershell.Models.IdNameTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).SubClient = (Commvault.Powershell.Models.IIdName) content.GetValueForProperty("SubClient",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).SubClient, Commvault.Powershell.Models.IdNameTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).Instance = (Commvault.Powershell.Models.IIdName) content.GetValueForProperty("Instance",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).Instance, Commvault.Powershell.Models.IdNameTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).BackupSet = (Commvault.Powershell.Models.IIdName) content.GetValueForProperty("BackupSet",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).BackupSet, Commvault.Powershell.Models.IdNameTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).Region = (Commvault.Powershell.Models.IIdName) content.GetValueForProperty("Region",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).Region, Commvault.Powershell.Models.IdNameTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).JobId = (long?) content.GetValueForProperty("JobId",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).JobId, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).Status = (string) content.GetValueForProperty("Status",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).Status, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).JobType = (string) content.GetValueForProperty("JobType",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).JobType, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).StartTime = (long?) content.GetValueForProperty("StartTime",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).StartTime, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).SizeOfApplication = (long?) content.GetValueForProperty("SizeOfApplication",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).SizeOfApplication, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).RetainUntil = (long?) content.GetValueForProperty("RetainUntil",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).RetainUntil, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).RetentionReason = (string) content.GetValueForProperty("RetentionReason",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).RetentionReason, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).Username = (string) content.GetValueForProperty("Username",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).Username, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).Description = (string) content.GetValueForProperty("Description",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).Description, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).SavingPercentage = (float?) content.GetValueForProperty("SavingPercentage",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).SavingPercentage, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).DataWritten = (long?) content.GetValueForProperty("DataWritten",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).DataWritten, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).AvgThroughput = (float?) content.GetValueForProperty("AvgThroughput",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).AvgThroughput, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).EndTime = (long?) content.GetValueForProperty("EndTime",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).EndTime, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).Duration = (long?) content.GetValueForProperty("Duration",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).Duration, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).DataVerificationStatus = (long?) content.GetValueForProperty("DataVerificationStatus",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).DataVerificationStatus, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).HardwareEncrypted = (bool?) content.GetValueForProperty("HardwareEncrypted",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).HardwareEncrypted, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).LastVerifiedOn = (string) content.GetValueForProperty("LastVerifiedOn",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).LastVerifiedOn, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).CopiedTime = (long?) content.GetValueForProperty("CopiedTime",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).CopiedTime, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).Encrypted = (bool?) content.GetValueForProperty("Encrypted",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).Encrypted, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).ParentJobId = (long?) content.GetValueForProperty("ParentJobId",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).ParentJobId, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).RetainedBy = (long?) content.GetValueForProperty("RetainedBy",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).RetainedBy, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).Deduplicated = (bool?) content.GetValueForProperty("Deduplicated",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).Deduplicated, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).RequiredByJobs = (string) content.GetValueForProperty("RequiredByJobs",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).RequiredByJobs, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).StrRetainedBy = (string) content.GetValueForProperty("StrRetainedBy",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).StrRetainedBy, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).StrDataVerificationStatus = (string) content.GetValueForProperty("StrDataVerificationStatus",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).StrDataVerificationStatus, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).IsAged = (bool?) content.GetValueForProperty("IsAged",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).IsAged, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).StatusId = (long?) content.GetValueForProperty("StatusId",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).StatusId, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).JobAttributesEx = (long?) content.GetValueForProperty("JobAttributesEx",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).JobAttributesEx, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).IsSoftAged = (bool?) content.GetValueForProperty("IsSoftAged",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).IsSoftAged, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).RetentionCode = (string) content.GetValueForProperty("RetentionCode",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).RetentionCode, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).ServerId = (long?) content.GetValueForProperty("ServerId",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).ServerId, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).ServerName = (string) content.GetValueForProperty("ServerName",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).ServerName, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).AgentTypeId = (long?) content.GetValueForProperty("AgentTypeId",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).AgentTypeId, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).AgentTypeName = (string) content.GetValueForProperty("AgentTypeName",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).AgentTypeName, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).SubClientId = (long?) content.GetValueForProperty("SubClientId",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).SubClientId, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).SubClientName = (string) content.GetValueForProperty("SubClientName",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).SubClientName, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).InstanceId = (long?) content.GetValueForProperty("InstanceId",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).InstanceId, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).InstanceName = (string) content.GetValueForProperty("InstanceName",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).InstanceName, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).BackupSetId = (long?) content.GetValueForProperty("BackupSetId",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).BackupSetId, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).BackupSetName = (string) content.GetValueForProperty("BackupSetName",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).BackupSetName, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).RegionId = (long?) content.GetValueForProperty("RegionId",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).RegionId, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).RegionName = (string) content.GetValueForProperty("RegionName",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).RegionName, global::System.Convert.ToString);
            AfterDeserializeDictionary(content);
        }

        /// <summary>
        /// Deserializes a <see cref="global::System.Management.Automation.PSObject" /> into a new instance of <see cref="Commvault.Powershell.Models.JobDetailForStorage"
        /// />.
        /// </summary>
        /// <param name="content">The global::System.Management.Automation.PSObject content that should be used.</param>
        internal JobDetailForStorage(global::System.Management.Automation.PSObject content)
        {
            bool returnNow = false;
            BeforeDeserializePSObject(content, ref returnNow);
            if (returnNow)
            {
                return;
            }
            // actually deserialize
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).Server = (Commvault.Powershell.Models.IIdName) content.GetValueForProperty("Server",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).Server, Commvault.Powershell.Models.IdNameTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).AgentType = (Commvault.Powershell.Models.IIdName) content.GetValueForProperty("AgentType",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).AgentType, Commvault.Powershell.Models.IdNameTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).SubClient = (Commvault.Powershell.Models.IIdName) content.GetValueForProperty("SubClient",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).SubClient, Commvault.Powershell.Models.IdNameTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).Instance = (Commvault.Powershell.Models.IIdName) content.GetValueForProperty("Instance",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).Instance, Commvault.Powershell.Models.IdNameTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).BackupSet = (Commvault.Powershell.Models.IIdName) content.GetValueForProperty("BackupSet",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).BackupSet, Commvault.Powershell.Models.IdNameTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).Region = (Commvault.Powershell.Models.IIdName) content.GetValueForProperty("Region",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).Region, Commvault.Powershell.Models.IdNameTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).JobId = (long?) content.GetValueForProperty("JobId",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).JobId, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).Status = (string) content.GetValueForProperty("Status",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).Status, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).JobType = (string) content.GetValueForProperty("JobType",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).JobType, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).StartTime = (long?) content.GetValueForProperty("StartTime",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).StartTime, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).SizeOfApplication = (long?) content.GetValueForProperty("SizeOfApplication",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).SizeOfApplication, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).RetainUntil = (long?) content.GetValueForProperty("RetainUntil",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).RetainUntil, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).RetentionReason = (string) content.GetValueForProperty("RetentionReason",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).RetentionReason, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).Username = (string) content.GetValueForProperty("Username",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).Username, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).Description = (string) content.GetValueForProperty("Description",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).Description, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).SavingPercentage = (float?) content.GetValueForProperty("SavingPercentage",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).SavingPercentage, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).DataWritten = (long?) content.GetValueForProperty("DataWritten",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).DataWritten, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).AvgThroughput = (float?) content.GetValueForProperty("AvgThroughput",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).AvgThroughput, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).EndTime = (long?) content.GetValueForProperty("EndTime",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).EndTime, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).Duration = (long?) content.GetValueForProperty("Duration",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).Duration, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).DataVerificationStatus = (long?) content.GetValueForProperty("DataVerificationStatus",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).DataVerificationStatus, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).HardwareEncrypted = (bool?) content.GetValueForProperty("HardwareEncrypted",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).HardwareEncrypted, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).LastVerifiedOn = (string) content.GetValueForProperty("LastVerifiedOn",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).LastVerifiedOn, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).CopiedTime = (long?) content.GetValueForProperty("CopiedTime",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).CopiedTime, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).Encrypted = (bool?) content.GetValueForProperty("Encrypted",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).Encrypted, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).ParentJobId = (long?) content.GetValueForProperty("ParentJobId",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).ParentJobId, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).RetainedBy = (long?) content.GetValueForProperty("RetainedBy",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).RetainedBy, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).Deduplicated = (bool?) content.GetValueForProperty("Deduplicated",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).Deduplicated, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).RequiredByJobs = (string) content.GetValueForProperty("RequiredByJobs",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).RequiredByJobs, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).StrRetainedBy = (string) content.GetValueForProperty("StrRetainedBy",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).StrRetainedBy, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).StrDataVerificationStatus = (string) content.GetValueForProperty("StrDataVerificationStatus",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).StrDataVerificationStatus, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).IsAged = (bool?) content.GetValueForProperty("IsAged",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).IsAged, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).StatusId = (long?) content.GetValueForProperty("StatusId",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).StatusId, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).JobAttributesEx = (long?) content.GetValueForProperty("JobAttributesEx",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).JobAttributesEx, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).IsSoftAged = (bool?) content.GetValueForProperty("IsSoftAged",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).IsSoftAged, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).RetentionCode = (string) content.GetValueForProperty("RetentionCode",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).RetentionCode, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).ServerId = (long?) content.GetValueForProperty("ServerId",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).ServerId, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).ServerName = (string) content.GetValueForProperty("ServerName",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).ServerName, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).AgentTypeId = (long?) content.GetValueForProperty("AgentTypeId",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).AgentTypeId, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).AgentTypeName = (string) content.GetValueForProperty("AgentTypeName",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).AgentTypeName, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).SubClientId = (long?) content.GetValueForProperty("SubClientId",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).SubClientId, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).SubClientName = (string) content.GetValueForProperty("SubClientName",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).SubClientName, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).InstanceId = (long?) content.GetValueForProperty("InstanceId",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).InstanceId, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).InstanceName = (string) content.GetValueForProperty("InstanceName",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).InstanceName, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).BackupSetId = (long?) content.GetValueForProperty("BackupSetId",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).BackupSetId, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).BackupSetName = (string) content.GetValueForProperty("BackupSetName",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).BackupSetName, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).RegionId = (long?) content.GetValueForProperty("RegionId",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).RegionId, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).RegionName = (string) content.GetValueForProperty("RegionName",((Commvault.Powershell.Models.IJobDetailForStorageInternal)this).RegionName, global::System.Convert.ToString);
            AfterDeserializePSObject(content);
        }

        /// <summary>Serializes this instance to a json string.</summary>

        /// <returns>a <see cref="System.String" /> containing this model serialized to JSON text.</returns>
        public string ToJsonString() => ToJson(null, Commvault.Powershell.Runtime.SerializationMode.IncludeAll)?.ToString();
    }
    /// Details of a Job on storage.
    [System.ComponentModel.TypeConverter(typeof(JobDetailForStorageTypeConverter))]
    public partial interface IJobDetailForStorage

    {

    }
}