generated/api/Models/VMGroupSettings.json.cs
// Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.10.2, generator: @autorest/powershell@4.0.708) // Changes may cause incorrect behavior and will be lost if the code is regenerated. namespace Commvault.Powershell.Models { using static Commvault.Powershell.Runtime.Extensions; public partial class VMGroupSettings { /// <summary> /// <c>AfterFromJson</c> will be called after the json 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="json">The JsonNode that should be deserialized into this object.</param> partial void AfterFromJson(Commvault.Powershell.Runtime.Json.JsonObject json); /// <summary> /// <c>AfterToJson</c> will be called after the json serialization has finished, allowing customization of the <see cref="Commvault.Powershell.Runtime.Json.JsonObject" /// /> before it is returned. Implement this method in a partial class to enable this behavior /// </summary> /// <param name="container">The JSON container that the serialization result will be placed in.</param> partial void AfterToJson(ref Commvault.Powershell.Runtime.Json.JsonObject container); /// <summary> /// <c>BeforeFromJson</c> will be called before the json 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 <paramref name= "returnNow" /> /// output parameter. /// Implement this method in a partial class to enable this behavior. /// </summary> /// <param name="json">The JsonNode that should be deserialized into this object.</param> /// <param name="returnNow">Determines if the rest of the deserialization should be processed, or if the method should return /// instantly.</param> partial void BeforeFromJson(Commvault.Powershell.Runtime.Json.JsonObject json, ref bool returnNow); /// <summary> /// <c>BeforeToJson</c> will be called before the json serialization has commenced, allowing complete customization of the /// object before it is serialized. /// If you wish to disable the default serialization entirely, return <c>true</c> in the <paramref name="returnNow" /> output /// parameter. /// Implement this method in a partial class to enable this behavior. /// </summary> /// <param name="container">The JSON container that the serialization result will be placed in.</param> /// <param name="returnNow">Determines if the rest of the serialization should be processed, or if the method should return /// instantly.</param> partial void BeforeToJson(ref Commvault.Powershell.Runtime.Json.JsonObject container, ref bool returnNow); /// <summary> /// Deserializes a <see cref="Commvault.Powershell.Runtime.Json.JsonNode"/> into an instance of Commvault.Powershell.Models.IVMGroupSettings. /// </summary> /// <param name="node">a <see cref="Commvault.Powershell.Runtime.Json.JsonNode" /> to deserialize from.</param> /// <returns>an instance of Commvault.Powershell.Models.IVMGroupSettings.</returns> public static Commvault.Powershell.Models.IVMGroupSettings FromJson(Commvault.Powershell.Runtime.Json.JsonNode node) { return node is Commvault.Powershell.Runtime.Json.JsonObject json ? new VMGroupSettings(json) : null; } /// <summary> /// Serializes this instance of <see cref="VMGroupSettings" /> into a <see cref="Commvault.Powershell.Runtime.Json.JsonNode" />. /// </summary> /// <param name="container">The <see cref="Commvault.Powershell.Runtime.Json.JsonObject"/> container to serialize this object into. If the caller /// passes in <c>null</c>, a new instance will be created and returned to the caller.</param> /// <param name="serializationMode">Allows the caller to choose the depth of the serialization. See <see cref="Commvault.Powershell.Runtime.SerializationMode"/>.</param> /// <returns> /// a serialized instance of <see cref="VMGroupSettings" /> as a <see cref="Commvault.Powershell.Runtime.Json.JsonNode" />. /// </returns> public Commvault.Powershell.Runtime.Json.JsonNode ToJson(Commvault.Powershell.Runtime.Json.JsonObject container, Commvault.Powershell.Runtime.SerializationMode serializationMode) { container = container ?? new Commvault.Powershell.Runtime.Json.JsonObject(); bool returnNow = false; BeforeToJson(ref container, ref returnNow); if (returnNow) { return container; } AddIf( null != this._guestCredentials ? (Commvault.Powershell.Runtime.Json.JsonNode) this._guestCredentials.ToJson(null,serializationMode) : null, "guestCredentials" ,container.Add ); AddIf( null != this._crossAccount ? (Commvault.Powershell.Runtime.Json.JsonNode) this._crossAccount.ToJson(null,serializationMode) : null, "crossAccount" ,container.Add ); AddIf( null != this._useChangedBlockTrackingOnVM ? (Commvault.Powershell.Runtime.Json.JsonNode)new Commvault.Powershell.Runtime.Json.JsonBoolean((bool)this._useChangedBlockTrackingOnVM) : null, "useChangedBlockTrackingOnVM" ,container.Add ); AddIf( null != (((object)this._customSnapshotResourceGroup)?.ToString()) ? (Commvault.Powershell.Runtime.Json.JsonNode) new Commvault.Powershell.Runtime.Json.JsonString(this._customSnapshotResourceGroup.ToString()) : null, "customSnapshotResourceGroup" ,container.Add ); if (null != this._customSnapshotTags) { var __w = new Commvault.Powershell.Runtime.Json.XNodeArray(); foreach( var __x in this._customSnapshotTags ) { AddIf(__x?.ToJson(null, serializationMode) ,__w.Add); } container.Add("customSnapshotTags",__w); } AddIf( null != this._regionalSnapshot ? (Commvault.Powershell.Runtime.Json.JsonNode)new Commvault.Powershell.Runtime.Json.JsonBoolean((bool)this._regionalSnapshot) : null, "regionalSnapshot" ,container.Add ); AddIf( null != this._autoDetectVMOwner ? (Commvault.Powershell.Runtime.Json.JsonNode)new Commvault.Powershell.Runtime.Json.JsonBoolean((bool)this._autoDetectVMOwner) : null, "autoDetectVMOwner" ,container.Add ); AddIf( null != this._allowEmptySubclient ? (Commvault.Powershell.Runtime.Json.JsonNode)new Commvault.Powershell.Runtime.Json.JsonBoolean((bool)this._allowEmptySubclient) : null, "allowEmptySubclient" ,container.Add ); AddIf( null != this._noOfReaders ? (Commvault.Powershell.Runtime.Json.JsonNode)new Commvault.Powershell.Runtime.Json.JsonNumber((long)this._noOfReaders) : null, "noOfReaders" ,container.Add ); AddIf( null != this._isVMGroupDiskFiltersIncluded ? (Commvault.Powershell.Runtime.Json.JsonNode)new Commvault.Powershell.Runtime.Json.JsonBoolean((bool)this._isVMGroupDiskFiltersIncluded) : null, "isVMGroupDiskFiltersIncluded" ,container.Add ); AddIf( null != (((object)this._vMBackupType)?.ToString()) ? (Commvault.Powershell.Runtime.Json.JsonNode) new Commvault.Powershell.Runtime.Json.JsonString(this._vMBackupType.ToString()) : null, "vmBackupType" ,container.Add ); AddIf( null != this._isApplicationAware ? (Commvault.Powershell.Runtime.Json.JsonNode)new Commvault.Powershell.Runtime.Json.JsonBoolean((bool)this._isApplicationAware) : null, "isApplicationAware" ,container.Add ); AddIf( null != this._useVMCheckpointSetting ? (Commvault.Powershell.Runtime.Json.JsonNode)new Commvault.Powershell.Runtime.Json.JsonBoolean((bool)this._useVMCheckpointSetting) : null, "useVMCheckpointSetting" ,container.Add ); AddIf( null != (((object)this._transportMode)?.ToString()) ? (Commvault.Powershell.Runtime.Json.JsonNode) new Commvault.Powershell.Runtime.Json.JsonString(this._transportMode.ToString()) : null, "transportMode" ,container.Add ); AddIf( null != this._datastoreFreespaceCheck ? (Commvault.Powershell.Runtime.Json.JsonNode)new Commvault.Powershell.Runtime.Json.JsonBoolean((bool)this._datastoreFreespaceCheck) : null, "datastoreFreespaceCheck" ,container.Add ); AddIf( null != this._datastoreFreespaceRequired ? (Commvault.Powershell.Runtime.Json.JsonNode)new Commvault.Powershell.Runtime.Json.JsonNumber((long)this._datastoreFreespaceRequired) : null, "datastoreFreespaceRequired" ,container.Add ); AddIf( null != this._collectFileDetailsforGranularRecovery ? (Commvault.Powershell.Runtime.Json.JsonNode)new Commvault.Powershell.Runtime.Json.JsonBoolean((bool)this._collectFileDetailsforGranularRecovery) : null, "collectFileDetailsforGranularRecovery" ,container.Add ); AddIf( null != this._collectFileDetailsFromSnapshotCopy ? (Commvault.Powershell.Runtime.Json.JsonNode)new Commvault.Powershell.Runtime.Json.JsonBoolean((bool)this._collectFileDetailsFromSnapshotCopy) : null, "collectFileDetailsFromSnapshotCopy" ,container.Add ); AddIf( null != this._jobStartTime ? (Commvault.Powershell.Runtime.Json.JsonNode)new Commvault.Powershell.Runtime.Json.JsonNumber((long)this._jobStartTime) : null, "jobStartTime" ,container.Add ); AddIf( null != this._quiesceGuestFileSystemAndApplications ? (Commvault.Powershell.Runtime.Json.JsonNode)new Commvault.Powershell.Runtime.Json.JsonBoolean((bool)this._quiesceGuestFileSystemAndApplications) : null, "quiesceGuestFileSystemAndApplications" ,container.Add ); AddIf( null != this._useBackupsetDiskFilters ? (Commvault.Powershell.Runtime.Json.JsonNode)new Commvault.Powershell.Runtime.Json.JsonBoolean((bool)this._useBackupsetDiskFilters) : null, "useBackupsetDiskFilters" ,container.Add ); AfterToJson(ref container); return container; } /// <summary> /// Deserializes a Commvault.Powershell.Runtime.Json.JsonObject into a new instance of <see cref="VMGroupSettings" />. /// </summary> /// <param name="json">A Commvault.Powershell.Runtime.Json.JsonObject instance to deserialize from.</param> internal VMGroupSettings(Commvault.Powershell.Runtime.Json.JsonObject json) { bool returnNow = false; BeforeFromJson(json, ref returnNow); if (returnNow) { return; } {_guestCredentials = If( json?.PropertyT<Commvault.Powershell.Runtime.Json.JsonObject>("guestCredentials"), out var __jsonGuestCredentials) ? Commvault.Powershell.Models.GuestCredentialInfo.FromJson(__jsonGuestCredentials) : _guestCredentials;} {_crossAccount = If( json?.PropertyT<Commvault.Powershell.Runtime.Json.JsonObject>("crossAccount"), out var __jsonCrossAccount) ? Commvault.Powershell.Models.AmazonCrossAccount.FromJson(__jsonCrossAccount) : _crossAccount;} {_useChangedBlockTrackingOnVM = If( json?.PropertyT<Commvault.Powershell.Runtime.Json.JsonBoolean>("useChangedBlockTrackingOnVM"), out var __jsonUseChangedBlockTrackingOnVM) ? (bool?)__jsonUseChangedBlockTrackingOnVM : _useChangedBlockTrackingOnVM;} {_customSnapshotResourceGroup = If( json?.PropertyT<Commvault.Powershell.Runtime.Json.JsonString>("customSnapshotResourceGroup"), out var __jsonCustomSnapshotResourceGroup) ? (string)__jsonCustomSnapshotResourceGroup : (string)_customSnapshotResourceGroup;} {_customSnapshotTags = If( json?.PropertyT<Commvault.Powershell.Runtime.Json.JsonArray>("customSnapshotTags"), out var __jsonCustomSnapshotTags) ? If( __jsonCustomSnapshotTags as Commvault.Powershell.Runtime.Json.JsonArray, out var __v) ? new global::System.Func<System.Collections.Generic.List<Commvault.Powershell.Models.IResourceTag>>(()=> global::System.Linq.Enumerable.ToList(global::System.Linq.Enumerable.Select(__v, (__u)=>(Commvault.Powershell.Models.IResourceTag) (Commvault.Powershell.Models.ResourceTag.FromJson(__u) )) ))() : null : _customSnapshotTags;} {_regionalSnapshot = If( json?.PropertyT<Commvault.Powershell.Runtime.Json.JsonBoolean>("regionalSnapshot"), out var __jsonRegionalSnapshot) ? (bool?)__jsonRegionalSnapshot : _regionalSnapshot;} {_autoDetectVMOwner = If( json?.PropertyT<Commvault.Powershell.Runtime.Json.JsonBoolean>("autoDetectVMOwner"), out var __jsonAutoDetectVMOwner) ? (bool?)__jsonAutoDetectVMOwner : _autoDetectVMOwner;} {_allowEmptySubclient = If( json?.PropertyT<Commvault.Powershell.Runtime.Json.JsonBoolean>("allowEmptySubclient"), out var __jsonAllowEmptySubclient) ? (bool?)__jsonAllowEmptySubclient : _allowEmptySubclient;} {_noOfReaders = If( json?.PropertyT<Commvault.Powershell.Runtime.Json.JsonNumber>("noOfReaders"), out var __jsonNoOfReaders) ? (long?)__jsonNoOfReaders : _noOfReaders;} {_isVMGroupDiskFiltersIncluded = If( json?.PropertyT<Commvault.Powershell.Runtime.Json.JsonBoolean>("isVMGroupDiskFiltersIncluded"), out var __jsonIsVMGroupDiskFiltersIncluded) ? (bool?)__jsonIsVMGroupDiskFiltersIncluded : _isVMGroupDiskFiltersIncluded;} {_vMBackupType = If( json?.PropertyT<Commvault.Powershell.Runtime.Json.JsonString>("vmBackupType"), out var __jsonVMBackupType) ? (string)__jsonVMBackupType : (string)_vMBackupType;} {_isApplicationAware = If( json?.PropertyT<Commvault.Powershell.Runtime.Json.JsonBoolean>("isApplicationAware"), out var __jsonIsApplicationAware) ? (bool?)__jsonIsApplicationAware : _isApplicationAware;} {_useVMCheckpointSetting = If( json?.PropertyT<Commvault.Powershell.Runtime.Json.JsonBoolean>("useVMCheckpointSetting"), out var __jsonUseVMCheckpointSetting) ? (bool?)__jsonUseVMCheckpointSetting : _useVMCheckpointSetting;} {_transportMode = If( json?.PropertyT<Commvault.Powershell.Runtime.Json.JsonString>("transportMode"), out var __jsonTransportMode) ? (string)__jsonTransportMode : (string)_transportMode;} {_datastoreFreespaceCheck = If( json?.PropertyT<Commvault.Powershell.Runtime.Json.JsonBoolean>("datastoreFreespaceCheck"), out var __jsonDatastoreFreespaceCheck) ? (bool?)__jsonDatastoreFreespaceCheck : _datastoreFreespaceCheck;} {_datastoreFreespaceRequired = If( json?.PropertyT<Commvault.Powershell.Runtime.Json.JsonNumber>("datastoreFreespaceRequired"), out var __jsonDatastoreFreespaceRequired) ? (long?)__jsonDatastoreFreespaceRequired : _datastoreFreespaceRequired;} {_collectFileDetailsforGranularRecovery = If( json?.PropertyT<Commvault.Powershell.Runtime.Json.JsonBoolean>("collectFileDetailsforGranularRecovery"), out var __jsonCollectFileDetailsforGranularRecovery) ? (bool?)__jsonCollectFileDetailsforGranularRecovery : _collectFileDetailsforGranularRecovery;} {_collectFileDetailsFromSnapshotCopy = If( json?.PropertyT<Commvault.Powershell.Runtime.Json.JsonBoolean>("collectFileDetailsFromSnapshotCopy"), out var __jsonCollectFileDetailsFromSnapshotCopy) ? (bool?)__jsonCollectFileDetailsFromSnapshotCopy : _collectFileDetailsFromSnapshotCopy;} {_jobStartTime = If( json?.PropertyT<Commvault.Powershell.Runtime.Json.JsonNumber>("jobStartTime"), out var __jsonJobStartTime) ? (long?)__jsonJobStartTime : _jobStartTime;} {_quiesceGuestFileSystemAndApplications = If( json?.PropertyT<Commvault.Powershell.Runtime.Json.JsonBoolean>("quiesceGuestFileSystemAndApplications"), out var __jsonQuiesceGuestFileSystemAndApplications) ? (bool?)__jsonQuiesceGuestFileSystemAndApplications : _quiesceGuestFileSystemAndApplications;} {_useBackupsetDiskFilters = If( json?.PropertyT<Commvault.Powershell.Runtime.Json.JsonBoolean>("useBackupsetDiskFilters"), out var __jsonUseBackupsetDiskFilters) ? (bool?)__jsonUseBackupsetDiskFilters : _useBackupsetDiskFilters;} AfterFromJson(json); } } } |