generated/api/Models/RecoveryTargetDetails.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>Recovery target info</summary>
    [System.ComponentModel.TypeConverter(typeof(RecoveryTargetDetailsTypeConverter))]
    public partial class RecoveryTargetDetails
    {

        /// <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.RecoveryTargetDetails"
        /// />.
        /// </summary>
        /// <param name="content">The global::System.Collections.IDictionary content that should be used.</param>
        /// <returns>
        /// an instance of <see cref="Commvault.Powershell.Models.IRecoveryTargetDetails" />.
        /// </returns>
        public static Commvault.Powershell.Models.IRecoveryTargetDetails DeserializeFromDictionary(global::System.Collections.IDictionary content)
        {
            return new RecoveryTargetDetails(content);
        }

        /// <summary>
        /// Deserializes a <see cref="global::System.Management.Automation.PSObject" /> into an instance of <see cref="Commvault.Powershell.Models.RecoveryTargetDetails"
        /// />.
        /// </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.IRecoveryTargetDetails" />.
        /// </returns>
        public static Commvault.Powershell.Models.IRecoveryTargetDetails DeserializeFromPSObject(global::System.Management.Automation.PSObject content)
        {
            return new RecoveryTargetDetails(content);
        }

        /// <summary>
        /// Creates a new instance of <see cref="RecoveryTargetDetails" />, 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.IRecoveryTargetDetails 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.RecoveryTargetDetails"
        /// />.
        /// </summary>
        /// <param name="content">The global::System.Collections.IDictionary content that should be used.</param>
        internal RecoveryTargetDetails(global::System.Collections.IDictionary content)
        {
            bool returnNow = false;
            BeforeDeserializeDictionary(content, ref returnNow);
            if (returnNow)
            {
                return;
            }
            // actually deserialize
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).Entity = (Commvault.Powershell.Models.IGetRecoveryTargetListSummary) content.GetValueForProperty("Entity",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).Entity, Commvault.Powershell.Models.GetRecoveryTargetListSummaryTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).AccessNode = (Commvault.Powershell.Models.IIdNameType) content.GetValueForProperty("AccessNode",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).AccessNode, Commvault.Powershell.Models.IdNameTypeTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).VMDisplayName = (Commvault.Powershell.Models.IVMDisplayName) content.GetValueForProperty("VMDisplayName",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).VMDisplayName, Commvault.Powershell.Models.VMDisplayNameTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).SecurityOptions = (Commvault.Powershell.Models.ISecurityOptions) content.GetValueForProperty("SecurityOptions",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).SecurityOptions, Commvault.Powershell.Models.SecurityOptionsTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).DestinationOptions = (Commvault.Powershell.Models.IDestinationOptions) content.GetValueForProperty("DestinationOptions",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).DestinationOptions, Commvault.Powershell.Models.DestinationOptionsTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).NetworkOptions = (Commvault.Powershell.Models.INetworkOptions) content.GetValueForProperty("NetworkOptions",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).NetworkOptions, Commvault.Powershell.Models.NetworkOptionsTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).ProvisioningOptions = (Commvault.Powershell.Models.IProvisioningOptions) content.GetValueForProperty("ProvisioningOptions",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).ProvisioningOptions, Commvault.Powershell.Models.ProvisioningOptionsTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptions = (Commvault.Powershell.Models.ICloudDestinationOptions) content.GetValueForProperty("CloudDestinationOptions",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptions, Commvault.Powershell.Models.CloudDestinationOptionsTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).Zone = (Commvault.Powershell.Models.IZone) content.GetValueForProperty("Zone",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).Zone, Commvault.Powershell.Models.ZoneTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).AssociatedClientGroup = (Commvault.Powershell.Models.IIdName) content.GetValueForProperty("AssociatedClientGroup",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).AssociatedClientGroup, Commvault.Powershell.Models.IdNameTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).LiveMountOptions = (Commvault.Powershell.Models.ILiveMountOptions) content.GetValueForProperty("LiveMountOptions",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).LiveMountOptions, Commvault.Powershell.Models.LiveMountOptionsTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).VirtualLabOptions = (Commvault.Powershell.Models.IVirtualLabOptions) content.GetValueForProperty("VirtualLabOptions",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).VirtualLabOptions, Commvault.Powershell.Models.VirtualLabOptionsTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).VMStoragePolicyName = (string) content.GetValueForProperty("VMStoragePolicyName",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).VMStoragePolicyName, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).IsoInfo = (Commvault.Powershell.Models.IIsoInfo[]) content.GetValueForProperty("IsoInfo",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).IsoInfo, __y => TypeConverterExtensions.SelectToArray<Commvault.Powershell.Models.IIsoInfo>(__y, Commvault.Powershell.Models.IsoInfoTypeConverter.ConvertFrom));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).SecurityOptionUsers = (Commvault.Powershell.Models.IIdNameFullName[]) content.GetValueForProperty("SecurityOptionUsers",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).SecurityOptionUsers, __y => TypeConverterExtensions.SelectToArray<Commvault.Powershell.Models.IIdNameFullName>(__y, Commvault.Powershell.Models.IdNameFullNameTypeConverter.ConvertFrom));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).SecurityOptionUserGroups = (Commvault.Powershell.Models.IIdName[]) content.GetValueForProperty("SecurityOptionUserGroups",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).SecurityOptionUserGroups, __y => TypeConverterExtensions.SelectToArray<Commvault.Powershell.Models.IIdName>(__y, Commvault.Powershell.Models.IdNameTypeConverter.ConvertFrom));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).SecurityOptionSecurityGroups = (Commvault.Powershell.Models.ISecurityGroup[]) content.GetValueForProperty("SecurityOptionSecurityGroups",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).SecurityOptionSecurityGroups, __y => TypeConverterExtensions.SelectToArray<Commvault.Powershell.Models.ISecurityGroup>(__y, Commvault.Powershell.Models.SecurityGroupTypeConverter.ConvertFrom));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).DestinationOptionDestinationHost = (string) content.GetValueForProperty("DestinationOptionDestinationHost",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).DestinationOptionDestinationHost, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).DestinationOptionDataStore = (string) content.GetValueForProperty("DestinationOptionDataStore",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).DestinationOptionDataStore, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).DestinationOptionVMFolder = (string) content.GetValueForProperty("DestinationOptionVMFolder",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).DestinationOptionVMFolder, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).NetworkOptionNetworkCard = (Commvault.Powershell.Models.INetworkCard) content.GetValueForProperty("NetworkOptionNetworkCard",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).NetworkOptionNetworkCard, Commvault.Powershell.Models.NetworkCardTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).NetworkOptionCloudNetwork = (Commvault.Powershell.Models.ICloudNetwork) content.GetValueForProperty("NetworkOptionCloudNetwork",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).NetworkOptionCloudNetwork, Commvault.Powershell.Models.CloudNetworkTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).ProvisioningOptionMaximumMemory = (string) content.GetValueForProperty("ProvisioningOptionMaximumMemory",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).ProvisioningOptionMaximumMemory, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).ProvisioningOptionTemplates = (Commvault.Powershell.Models.ITemplate[]) content.GetValueForProperty("ProvisioningOptionTemplates",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).ProvisioningOptionTemplates, __y => TypeConverterExtensions.SelectToArray<Commvault.Powershell.Models.ITemplate>(__y, Commvault.Powershell.Models.TemplateTypeConverter.ConvertFrom));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionRegion = (Commvault.Powershell.Models.IRegion) content.GetValueForProperty("CloudDestinationOptionRegion",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionRegion, Commvault.Powershell.Models.RegionTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionKeyPair = (string) content.GetValueForProperty("CloudDestinationOptionKeyPair",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionKeyPair, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionTags = (Commvault.Powershell.Models.INameValue[]) content.GetValueForProperty("CloudDestinationOptionTags",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionTags, __y => TypeConverterExtensions.SelectToArray<Commvault.Powershell.Models.INameValue>(__y, Commvault.Powershell.Models.NameValueTypeConverter.ConvertFrom));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionAvailabilityZone = (string) content.GetValueForProperty("CloudDestinationOptionAvailabilityZone",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionAvailabilityZone, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionVolumeType = (string) content.GetValueForProperty("CloudDestinationOptionVolumeType",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionVolumeType, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionInstanceTypes = (string[]) content.GetValueForProperty("CloudDestinationOptionInstanceTypes",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionInstanceTypes, __y => TypeConverterExtensions.SelectToArray<string>(__y, global::System.Convert.ToString));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).LiveMountOptionExpirationTime = (Commvault.Powershell.Models.IExpirationTime) content.GetValueForProperty("LiveMountOptionExpirationTime",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).LiveMountOptionExpirationTime, Commvault.Powershell.Models.ExpirationTimeTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).VirtualLabOptionExternalNetwork = (string) content.GetValueForProperty("VirtualLabOptionExternalNetwork",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).VirtualLabOptionExternalNetwork, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).VirtualLabOptionGatewayTemplate = (string) content.GetValueForProperty("VirtualLabOptionGatewayTemplate",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).VirtualLabOptionGatewayTemplate, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).VirtualLabOptionGatewayNetwork = (string) content.GetValueForProperty("VirtualLabOptionGatewayNetwork",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).VirtualLabOptionGatewayNetwork, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).VirtualLabOptionIPSettings = (Commvault.Powershell.Models.IVirtualLabIPSettings[]) content.GetValueForProperty("VirtualLabOptionIPSettings",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).VirtualLabOptionIPSettings, __y => TypeConverterExtensions.SelectToArray<Commvault.Powershell.Models.IVirtualLabIPSettings>(__y, Commvault.Powershell.Models.VirtualLabIPSettingsTypeConverter.ConvertFrom));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).EntityDestinationHypervisor = (Commvault.Powershell.Models.IIdName) content.GetValueForProperty("EntityDestinationHypervisor",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).EntityDestinationHypervisor, Commvault.Powershell.Models.IdNameTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).EntityId = (long?) content.GetValueForProperty("EntityId",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).EntityId, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).EntityName = (string) content.GetValueForProperty("EntityName",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).EntityName, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).EntityPolicyType = (string) content.GetValueForProperty("EntityPolicyType",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).EntityPolicyType, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).EntityApplicationType = (string) content.GetValueForProperty("EntityApplicationType",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).EntityApplicationType, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).AccessNodeId = (long?) content.GetValueForProperty("AccessNodeId",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).AccessNodeId, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).AccessNodeName = (string) content.GetValueForProperty("AccessNodeName",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).AccessNodeName, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).AccessNodeType = (string) content.GetValueForProperty("AccessNodeType",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).AccessNodeType, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).VMDisplayNamePrefix = (string) content.GetValueForProperty("VMDisplayNamePrefix",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).VMDisplayNamePrefix, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).VMDisplayNameSuffix = (string) content.GetValueForProperty("VMDisplayNameSuffix",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).VMDisplayNameSuffix, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).SecurityOptionTestSecurityGroups = (Commvault.Powershell.Models.ISecurityGroup[]) content.GetValueForProperty("SecurityOptionTestSecurityGroups",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).SecurityOptionTestSecurityGroups, __y => TypeConverterExtensions.SelectToArray<Commvault.Powershell.Models.ISecurityGroup>(__y, Commvault.Powershell.Models.SecurityGroupTypeConverter.ConvertFrom));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).DestinationOptionIamRole = (Commvault.Powershell.Models.IIdName) content.GetValueForProperty("DestinationOptionIamRole",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).DestinationOptionIamRole, Commvault.Powershell.Models.IdNameTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).DestinationOptionDataStoreClusterName = (string) content.GetValueForProperty("DestinationOptionDataStoreClusterName",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).DestinationOptionDataStoreClusterName, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).DestinationOptionResourcePoolPath = (string) content.GetValueForProperty("DestinationOptionResourcePoolPath",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).DestinationOptionResourcePoolPath, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).NetworkCardNetwork = (string) content.GetValueForProperty("NetworkCardNetwork",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).NetworkCardNetwork, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).NetworkCardSubnetId = (string) content.GetValueForProperty("NetworkCardSubnetId",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).NetworkCardSubnetId, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).NetworkCardNetworkId = (string) content.GetValueForProperty("NetworkCardNetworkId",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).NetworkCardNetworkId, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).NetworkCardDestinationNetworks = (string[]) content.GetValueForProperty("NetworkCardDestinationNetworks",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).NetworkCardDestinationNetworks, __y => TypeConverterExtensions.SelectToArray<string>(__y, global::System.Convert.ToString));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).NetworkCardNetworkNames = (string[]) content.GetValueForProperty("NetworkCardNetworkNames",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).NetworkCardNetworkNames, __y => TypeConverterExtensions.SelectToArray<string>(__y, global::System.Convert.ToString));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudNetworkLabel = (string) content.GetValueForProperty("CloudNetworkLabel",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudNetworkLabel, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).ProvisioningOptionMaximumCpuCores = (long?) content.GetValueForProperty("ProvisioningOptionMaximumCpuCores",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).ProvisioningOptionMaximumCpuCores, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).ProvisioningOptionNumberOfVms = (long?) content.GetValueForProperty("ProvisioningOptionNumberOfVms",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).ProvisioningOptionNumberOfVms, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionMachineType = (Commvault.Powershell.Models.IIdName) content.GetValueForProperty("CloudDestinationOptionMachineType",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionMachineType, Commvault.Powershell.Models.IdNameTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionEncryptionKey = (Commvault.Powershell.Models.IIdName) content.GetValueForProperty("CloudDestinationOptionEncryptionKey",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionEncryptionKey, Commvault.Powershell.Models.IdNameTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionRestoreAsManagedVM = (bool?) content.GetValueForProperty("CloudDestinationOptionRestoreAsManagedVM",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionRestoreAsManagedVM, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool)));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionSoleTenancyNodes = (Commvault.Powershell.Models.INameValue[]) content.GetValueForProperty("CloudDestinationOptionSoleTenancyNodes",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionSoleTenancyNodes, __y => TypeConverterExtensions.SelectToArray<Commvault.Powershell.Models.INameValue>(__y, Commvault.Powershell.Models.NameValueTypeConverter.ConvertFrom));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionVMInstanceType = (string) content.GetValueForProperty("CloudDestinationOptionVMInstanceType",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionVMInstanceType, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionTestDiskType = (string) content.GetValueForProperty("CloudDestinationOptionTestDiskType",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionTestDiskType, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionPublicIP = (bool?) content.GetValueForProperty("CloudDestinationOptionPublicIP",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionPublicIP, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool)));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).RegionId = (string) content.GetValueForProperty("RegionId",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).RegionId, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).RegionName = (string) content.GetValueForProperty("RegionName",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).RegionName, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).ZonePrimaryZoneName = (string) content.GetValueForProperty("ZonePrimaryZoneName",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).ZonePrimaryZoneName, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).ZoneSecondaryZoneName = (string) content.GetValueForProperty("ZoneSecondaryZoneName",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).ZoneSecondaryZoneName, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).AssociatedClientGroupId = (long?) content.GetValueForProperty("AssociatedClientGroupId",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).AssociatedClientGroupId, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).AssociatedClientGroupName = (string) content.GetValueForProperty("AssociatedClientGroupName",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).AssociatedClientGroupName, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).LiveMountOptionMediaAgent = (Commvault.Powershell.Models.IIdName) content.GetValueForProperty("LiveMountOptionMediaAgent",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).LiveMountOptionMediaAgent, Commvault.Powershell.Models.IdNameTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).LiveMountOptionIsLiveMountEnabled = (bool?) content.GetValueForProperty("LiveMountOptionIsLiveMountEnabled",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).LiveMountOptionIsLiveMountEnabled, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool)));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).LiveMountOptionMigrateVms = (bool?) content.GetValueForProperty("LiveMountOptionMigrateVms",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).LiveMountOptionMigrateVms, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool)));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).VirtualLabOptionConfigureIsolatedNetwork = (bool?) content.GetValueForProperty("VirtualLabOptionConfigureIsolatedNetwork",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).VirtualLabOptionConfigureIsolatedNetwork, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool)));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).DestinationHypervisorId = (long?) content.GetValueForProperty("DestinationHypervisorId",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).DestinationHypervisorId, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).DestinationHypervisorName = (string) content.GetValueForProperty("DestinationHypervisorName",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).DestinationHypervisorName, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).IamRoleId = (long?) content.GetValueForProperty("IamRoleId",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).IamRoleId, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).IamRoleName = (string) content.GetValueForProperty("IamRoleName",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).IamRoleName, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).NetworkCardNetworkDisplayName = (string) content.GetValueForProperty("NetworkCardNetworkDisplayName",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).NetworkCardNetworkDisplayName, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudNetworkSubnetNames = (Commvault.Powershell.Models.INameValue) content.GetValueForProperty("CloudNetworkSubnetNames",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudNetworkSubnetNames, Commvault.Powershell.Models.NameValueTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudNetworkName = (string) content.GetValueForProperty("CloudNetworkName",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudNetworkName, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).MachineTypeId = (long?) content.GetValueForProperty("MachineTypeId",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).MachineTypeId, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).MachineTypeName = (string) content.GetValueForProperty("MachineTypeName",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).MachineTypeName, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).EncryptionKeyId = (long?) content.GetValueForProperty("EncryptionKeyId",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).EncryptionKeyId, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).EncryptionKeyName = (string) content.GetValueForProperty("EncryptionKeyName",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).EncryptionKeyName, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).MediaAgentId = (long?) content.GetValueForProperty("MediaAgentId",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).MediaAgentId, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).MediaAgentName = (string) content.GetValueForProperty("MediaAgentName",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).MediaAgentName, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).ExpirationTimeMinutesRetainUntil = (string) content.GetValueForProperty("ExpirationTimeMinutesRetainUntil",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).ExpirationTimeMinutesRetainUntil, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).ExpirationTimeDaysRetainUntil = (string) content.GetValueForProperty("ExpirationTimeDaysRetainUntil",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).ExpirationTimeDaysRetainUntil, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).SubnetName = (string) content.GetValueForProperty("SubnetName",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).SubnetName, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).SubnetNameValue = (string) content.GetValueForProperty("SubnetNameValue",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).SubnetNameValue, 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.RecoveryTargetDetails"
        /// />.
        /// </summary>
        /// <param name="content">The global::System.Management.Automation.PSObject content that should be used.</param>
        internal RecoveryTargetDetails(global::System.Management.Automation.PSObject content)
        {
            bool returnNow = false;
            BeforeDeserializePSObject(content, ref returnNow);
            if (returnNow)
            {
                return;
            }
            // actually deserialize
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).Entity = (Commvault.Powershell.Models.IGetRecoveryTargetListSummary) content.GetValueForProperty("Entity",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).Entity, Commvault.Powershell.Models.GetRecoveryTargetListSummaryTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).AccessNode = (Commvault.Powershell.Models.IIdNameType) content.GetValueForProperty("AccessNode",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).AccessNode, Commvault.Powershell.Models.IdNameTypeTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).VMDisplayName = (Commvault.Powershell.Models.IVMDisplayName) content.GetValueForProperty("VMDisplayName",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).VMDisplayName, Commvault.Powershell.Models.VMDisplayNameTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).SecurityOptions = (Commvault.Powershell.Models.ISecurityOptions) content.GetValueForProperty("SecurityOptions",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).SecurityOptions, Commvault.Powershell.Models.SecurityOptionsTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).DestinationOptions = (Commvault.Powershell.Models.IDestinationOptions) content.GetValueForProperty("DestinationOptions",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).DestinationOptions, Commvault.Powershell.Models.DestinationOptionsTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).NetworkOptions = (Commvault.Powershell.Models.INetworkOptions) content.GetValueForProperty("NetworkOptions",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).NetworkOptions, Commvault.Powershell.Models.NetworkOptionsTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).ProvisioningOptions = (Commvault.Powershell.Models.IProvisioningOptions) content.GetValueForProperty("ProvisioningOptions",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).ProvisioningOptions, Commvault.Powershell.Models.ProvisioningOptionsTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptions = (Commvault.Powershell.Models.ICloudDestinationOptions) content.GetValueForProperty("CloudDestinationOptions",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptions, Commvault.Powershell.Models.CloudDestinationOptionsTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).Zone = (Commvault.Powershell.Models.IZone) content.GetValueForProperty("Zone",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).Zone, Commvault.Powershell.Models.ZoneTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).AssociatedClientGroup = (Commvault.Powershell.Models.IIdName) content.GetValueForProperty("AssociatedClientGroup",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).AssociatedClientGroup, Commvault.Powershell.Models.IdNameTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).LiveMountOptions = (Commvault.Powershell.Models.ILiveMountOptions) content.GetValueForProperty("LiveMountOptions",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).LiveMountOptions, Commvault.Powershell.Models.LiveMountOptionsTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).VirtualLabOptions = (Commvault.Powershell.Models.IVirtualLabOptions) content.GetValueForProperty("VirtualLabOptions",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).VirtualLabOptions, Commvault.Powershell.Models.VirtualLabOptionsTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).VMStoragePolicyName = (string) content.GetValueForProperty("VMStoragePolicyName",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).VMStoragePolicyName, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).IsoInfo = (Commvault.Powershell.Models.IIsoInfo[]) content.GetValueForProperty("IsoInfo",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).IsoInfo, __y => TypeConverterExtensions.SelectToArray<Commvault.Powershell.Models.IIsoInfo>(__y, Commvault.Powershell.Models.IsoInfoTypeConverter.ConvertFrom));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).SecurityOptionUsers = (Commvault.Powershell.Models.IIdNameFullName[]) content.GetValueForProperty("SecurityOptionUsers",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).SecurityOptionUsers, __y => TypeConverterExtensions.SelectToArray<Commvault.Powershell.Models.IIdNameFullName>(__y, Commvault.Powershell.Models.IdNameFullNameTypeConverter.ConvertFrom));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).SecurityOptionUserGroups = (Commvault.Powershell.Models.IIdName[]) content.GetValueForProperty("SecurityOptionUserGroups",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).SecurityOptionUserGroups, __y => TypeConverterExtensions.SelectToArray<Commvault.Powershell.Models.IIdName>(__y, Commvault.Powershell.Models.IdNameTypeConverter.ConvertFrom));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).SecurityOptionSecurityGroups = (Commvault.Powershell.Models.ISecurityGroup[]) content.GetValueForProperty("SecurityOptionSecurityGroups",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).SecurityOptionSecurityGroups, __y => TypeConverterExtensions.SelectToArray<Commvault.Powershell.Models.ISecurityGroup>(__y, Commvault.Powershell.Models.SecurityGroupTypeConverter.ConvertFrom));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).DestinationOptionDestinationHost = (string) content.GetValueForProperty("DestinationOptionDestinationHost",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).DestinationOptionDestinationHost, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).DestinationOptionDataStore = (string) content.GetValueForProperty("DestinationOptionDataStore",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).DestinationOptionDataStore, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).DestinationOptionVMFolder = (string) content.GetValueForProperty("DestinationOptionVMFolder",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).DestinationOptionVMFolder, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).NetworkOptionNetworkCard = (Commvault.Powershell.Models.INetworkCard) content.GetValueForProperty("NetworkOptionNetworkCard",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).NetworkOptionNetworkCard, Commvault.Powershell.Models.NetworkCardTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).NetworkOptionCloudNetwork = (Commvault.Powershell.Models.ICloudNetwork) content.GetValueForProperty("NetworkOptionCloudNetwork",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).NetworkOptionCloudNetwork, Commvault.Powershell.Models.CloudNetworkTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).ProvisioningOptionMaximumMemory = (string) content.GetValueForProperty("ProvisioningOptionMaximumMemory",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).ProvisioningOptionMaximumMemory, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).ProvisioningOptionTemplates = (Commvault.Powershell.Models.ITemplate[]) content.GetValueForProperty("ProvisioningOptionTemplates",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).ProvisioningOptionTemplates, __y => TypeConverterExtensions.SelectToArray<Commvault.Powershell.Models.ITemplate>(__y, Commvault.Powershell.Models.TemplateTypeConverter.ConvertFrom));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionRegion = (Commvault.Powershell.Models.IRegion) content.GetValueForProperty("CloudDestinationOptionRegion",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionRegion, Commvault.Powershell.Models.RegionTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionKeyPair = (string) content.GetValueForProperty("CloudDestinationOptionKeyPair",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionKeyPair, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionTags = (Commvault.Powershell.Models.INameValue[]) content.GetValueForProperty("CloudDestinationOptionTags",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionTags, __y => TypeConverterExtensions.SelectToArray<Commvault.Powershell.Models.INameValue>(__y, Commvault.Powershell.Models.NameValueTypeConverter.ConvertFrom));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionAvailabilityZone = (string) content.GetValueForProperty("CloudDestinationOptionAvailabilityZone",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionAvailabilityZone, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionVolumeType = (string) content.GetValueForProperty("CloudDestinationOptionVolumeType",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionVolumeType, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionInstanceTypes = (string[]) content.GetValueForProperty("CloudDestinationOptionInstanceTypes",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionInstanceTypes, __y => TypeConverterExtensions.SelectToArray<string>(__y, global::System.Convert.ToString));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).LiveMountOptionExpirationTime = (Commvault.Powershell.Models.IExpirationTime) content.GetValueForProperty("LiveMountOptionExpirationTime",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).LiveMountOptionExpirationTime, Commvault.Powershell.Models.ExpirationTimeTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).VirtualLabOptionExternalNetwork = (string) content.GetValueForProperty("VirtualLabOptionExternalNetwork",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).VirtualLabOptionExternalNetwork, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).VirtualLabOptionGatewayTemplate = (string) content.GetValueForProperty("VirtualLabOptionGatewayTemplate",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).VirtualLabOptionGatewayTemplate, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).VirtualLabOptionGatewayNetwork = (string) content.GetValueForProperty("VirtualLabOptionGatewayNetwork",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).VirtualLabOptionGatewayNetwork, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).VirtualLabOptionIPSettings = (Commvault.Powershell.Models.IVirtualLabIPSettings[]) content.GetValueForProperty("VirtualLabOptionIPSettings",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).VirtualLabOptionIPSettings, __y => TypeConverterExtensions.SelectToArray<Commvault.Powershell.Models.IVirtualLabIPSettings>(__y, Commvault.Powershell.Models.VirtualLabIPSettingsTypeConverter.ConvertFrom));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).EntityDestinationHypervisor = (Commvault.Powershell.Models.IIdName) content.GetValueForProperty("EntityDestinationHypervisor",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).EntityDestinationHypervisor, Commvault.Powershell.Models.IdNameTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).EntityId = (long?) content.GetValueForProperty("EntityId",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).EntityId, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).EntityName = (string) content.GetValueForProperty("EntityName",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).EntityName, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).EntityPolicyType = (string) content.GetValueForProperty("EntityPolicyType",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).EntityPolicyType, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).EntityApplicationType = (string) content.GetValueForProperty("EntityApplicationType",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).EntityApplicationType, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).AccessNodeId = (long?) content.GetValueForProperty("AccessNodeId",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).AccessNodeId, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).AccessNodeName = (string) content.GetValueForProperty("AccessNodeName",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).AccessNodeName, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).AccessNodeType = (string) content.GetValueForProperty("AccessNodeType",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).AccessNodeType, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).VMDisplayNamePrefix = (string) content.GetValueForProperty("VMDisplayNamePrefix",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).VMDisplayNamePrefix, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).VMDisplayNameSuffix = (string) content.GetValueForProperty("VMDisplayNameSuffix",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).VMDisplayNameSuffix, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).SecurityOptionTestSecurityGroups = (Commvault.Powershell.Models.ISecurityGroup[]) content.GetValueForProperty("SecurityOptionTestSecurityGroups",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).SecurityOptionTestSecurityGroups, __y => TypeConverterExtensions.SelectToArray<Commvault.Powershell.Models.ISecurityGroup>(__y, Commvault.Powershell.Models.SecurityGroupTypeConverter.ConvertFrom));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).DestinationOptionIamRole = (Commvault.Powershell.Models.IIdName) content.GetValueForProperty("DestinationOptionIamRole",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).DestinationOptionIamRole, Commvault.Powershell.Models.IdNameTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).DestinationOptionDataStoreClusterName = (string) content.GetValueForProperty("DestinationOptionDataStoreClusterName",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).DestinationOptionDataStoreClusterName, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).DestinationOptionResourcePoolPath = (string) content.GetValueForProperty("DestinationOptionResourcePoolPath",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).DestinationOptionResourcePoolPath, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).NetworkCardNetwork = (string) content.GetValueForProperty("NetworkCardNetwork",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).NetworkCardNetwork, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).NetworkCardSubnetId = (string) content.GetValueForProperty("NetworkCardSubnetId",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).NetworkCardSubnetId, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).NetworkCardNetworkId = (string) content.GetValueForProperty("NetworkCardNetworkId",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).NetworkCardNetworkId, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).NetworkCardDestinationNetworks = (string[]) content.GetValueForProperty("NetworkCardDestinationNetworks",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).NetworkCardDestinationNetworks, __y => TypeConverterExtensions.SelectToArray<string>(__y, global::System.Convert.ToString));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).NetworkCardNetworkNames = (string[]) content.GetValueForProperty("NetworkCardNetworkNames",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).NetworkCardNetworkNames, __y => TypeConverterExtensions.SelectToArray<string>(__y, global::System.Convert.ToString));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudNetworkLabel = (string) content.GetValueForProperty("CloudNetworkLabel",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudNetworkLabel, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).ProvisioningOptionMaximumCpuCores = (long?) content.GetValueForProperty("ProvisioningOptionMaximumCpuCores",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).ProvisioningOptionMaximumCpuCores, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).ProvisioningOptionNumberOfVms = (long?) content.GetValueForProperty("ProvisioningOptionNumberOfVms",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).ProvisioningOptionNumberOfVms, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionMachineType = (Commvault.Powershell.Models.IIdName) content.GetValueForProperty("CloudDestinationOptionMachineType",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionMachineType, Commvault.Powershell.Models.IdNameTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionEncryptionKey = (Commvault.Powershell.Models.IIdName) content.GetValueForProperty("CloudDestinationOptionEncryptionKey",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionEncryptionKey, Commvault.Powershell.Models.IdNameTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionRestoreAsManagedVM = (bool?) content.GetValueForProperty("CloudDestinationOptionRestoreAsManagedVM",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionRestoreAsManagedVM, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool)));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionSoleTenancyNodes = (Commvault.Powershell.Models.INameValue[]) content.GetValueForProperty("CloudDestinationOptionSoleTenancyNodes",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionSoleTenancyNodes, __y => TypeConverterExtensions.SelectToArray<Commvault.Powershell.Models.INameValue>(__y, Commvault.Powershell.Models.NameValueTypeConverter.ConvertFrom));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionVMInstanceType = (string) content.GetValueForProperty("CloudDestinationOptionVMInstanceType",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionVMInstanceType, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionTestDiskType = (string) content.GetValueForProperty("CloudDestinationOptionTestDiskType",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionTestDiskType, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionPublicIP = (bool?) content.GetValueForProperty("CloudDestinationOptionPublicIP",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudDestinationOptionPublicIP, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool)));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).RegionId = (string) content.GetValueForProperty("RegionId",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).RegionId, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).RegionName = (string) content.GetValueForProperty("RegionName",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).RegionName, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).ZonePrimaryZoneName = (string) content.GetValueForProperty("ZonePrimaryZoneName",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).ZonePrimaryZoneName, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).ZoneSecondaryZoneName = (string) content.GetValueForProperty("ZoneSecondaryZoneName",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).ZoneSecondaryZoneName, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).AssociatedClientGroupId = (long?) content.GetValueForProperty("AssociatedClientGroupId",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).AssociatedClientGroupId, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).AssociatedClientGroupName = (string) content.GetValueForProperty("AssociatedClientGroupName",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).AssociatedClientGroupName, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).LiveMountOptionMediaAgent = (Commvault.Powershell.Models.IIdName) content.GetValueForProperty("LiveMountOptionMediaAgent",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).LiveMountOptionMediaAgent, Commvault.Powershell.Models.IdNameTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).LiveMountOptionIsLiveMountEnabled = (bool?) content.GetValueForProperty("LiveMountOptionIsLiveMountEnabled",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).LiveMountOptionIsLiveMountEnabled, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool)));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).LiveMountOptionMigrateVms = (bool?) content.GetValueForProperty("LiveMountOptionMigrateVms",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).LiveMountOptionMigrateVms, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool)));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).VirtualLabOptionConfigureIsolatedNetwork = (bool?) content.GetValueForProperty("VirtualLabOptionConfigureIsolatedNetwork",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).VirtualLabOptionConfigureIsolatedNetwork, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool)));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).DestinationHypervisorId = (long?) content.GetValueForProperty("DestinationHypervisorId",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).DestinationHypervisorId, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).DestinationHypervisorName = (string) content.GetValueForProperty("DestinationHypervisorName",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).DestinationHypervisorName, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).IamRoleId = (long?) content.GetValueForProperty("IamRoleId",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).IamRoleId, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).IamRoleName = (string) content.GetValueForProperty("IamRoleName",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).IamRoleName, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).NetworkCardNetworkDisplayName = (string) content.GetValueForProperty("NetworkCardNetworkDisplayName",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).NetworkCardNetworkDisplayName, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudNetworkSubnetNames = (Commvault.Powershell.Models.INameValue) content.GetValueForProperty("CloudNetworkSubnetNames",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudNetworkSubnetNames, Commvault.Powershell.Models.NameValueTypeConverter.ConvertFrom);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudNetworkName = (string) content.GetValueForProperty("CloudNetworkName",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).CloudNetworkName, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).MachineTypeId = (long?) content.GetValueForProperty("MachineTypeId",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).MachineTypeId, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).MachineTypeName = (string) content.GetValueForProperty("MachineTypeName",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).MachineTypeName, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).EncryptionKeyId = (long?) content.GetValueForProperty("EncryptionKeyId",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).EncryptionKeyId, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).EncryptionKeyName = (string) content.GetValueForProperty("EncryptionKeyName",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).EncryptionKeyName, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).MediaAgentId = (long?) content.GetValueForProperty("MediaAgentId",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).MediaAgentId, (__y)=> (long) global::System.Convert.ChangeType(__y, typeof(long)));
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).MediaAgentName = (string) content.GetValueForProperty("MediaAgentName",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).MediaAgentName, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).ExpirationTimeMinutesRetainUntil = (string) content.GetValueForProperty("ExpirationTimeMinutesRetainUntil",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).ExpirationTimeMinutesRetainUntil, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).ExpirationTimeDaysRetainUntil = (string) content.GetValueForProperty("ExpirationTimeDaysRetainUntil",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).ExpirationTimeDaysRetainUntil, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).SubnetName = (string) content.GetValueForProperty("SubnetName",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).SubnetName, global::System.Convert.ToString);
            ((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).SubnetNameValue = (string) content.GetValueForProperty("SubnetNameValue",((Commvault.Powershell.Models.IRecoveryTargetDetailsInternal)this).SubnetNameValue, 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();
    }
    /// Recovery target info
    [System.ComponentModel.TypeConverter(typeof(RecoveryTargetDetailsTypeConverter))]
    public partial interface IRecoveryTargetDetails

    {

    }
}