generated/api/Models/AccessNodeDeployment.cs

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

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

    /// <summary>AccessNodeDeployment</summary>
    public partial class AccessNodeDeployment :
        Commvault.Powershell.Models.IAccessNodeDeployment,
        Commvault.Powershell.Models.IAccessNodeDeploymentInternal
    {

        /// <summary>Backing field for <see cref="AutomaticOSUpdates" /> property.</summary>
        private bool? _automaticOSUpdates;

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public bool? AutomaticOSUpdates { get => this._automaticOSUpdates; set => this._automaticOSUpdates = value; }

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

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string ClientGroup { get => this._clientGroup; set => this._clientGroup = value; }

        /// <summary>Backing field for <see cref="CommCell" /> property.</summary>
        private Commvault.Powershell.Models.ICommCellNameHostName _commCell;

        /// <summary>CommCellNameHostName</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.ICommCellNameHostName CommCell { get => (this._commCell = this._commCell ?? new Commvault.Powershell.Models.CommCellNameHostName()); set => this._commCell = value; }

        /// <summary>CommServer host name</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string CommCellHostName { get => ((Commvault.Powershell.Models.ICommCellNameHostNameInternal)CommCell).HostName; set => ((Commvault.Powershell.Models.ICommCellNameHostNameInternal)CommCell).HostName = value ?? null; }

        /// <summary>CommServer name</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string CommCellName { get => ((Commvault.Powershell.Models.ICommCellNameHostNameInternal)CommCell).Name; set => ((Commvault.Powershell.Models.ICommCellNameHostNameInternal)CommCell).Name = value ?? null; }

        /// <summary>Internal Acessors for CommCell</summary>
        Commvault.Powershell.Models.ICommCellNameHostName Commvault.Powershell.Models.IAccessNodeDeploymentInternal.CommCell { get => (this._commCell = this._commCell ?? new Commvault.Powershell.Models.CommCellNameHostName()); set { {_commCell = value;} } }

        /// <summary>Internal Acessors for Network</summary>
        Commvault.Powershell.Models.INetworkDetails Commvault.Powershell.Models.IAccessNodeDeploymentInternal.Network { get => (this._network = this._network ?? new Commvault.Powershell.Models.NetworkDetails()); set { {_network = value;} } }

        /// <summary>Internal Acessors for UserCredentials</summary>
        Commvault.Powershell.Models.IUserCredentials Commvault.Powershell.Models.IAccessNodeDeploymentInternal.UserCredentials { get => (this._userCredentials = this._userCredentials ?? new Commvault.Powershell.Models.UserCredentials()); set { {_userCredentials = value;} } }

        /// <summary>Internal Acessors for VMLocation</summary>
        Commvault.Powershell.Models.IVMLocation Commvault.Powershell.Models.IAccessNodeDeploymentInternal.VMLocation { get => (this._vMLocation = this._vMLocation ?? new Commvault.Powershell.Models.VMLocation()); set { {_vMLocation = value;} } }

        /// <summary>Backing field for <see cref="DeploymentType" /> property.</summary>
        private long? _deploymentType;

        /// <summary>0: Access node deployment, 1: File recovery enabler for linux deployment</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public long? DeploymentType { get => this._deploymentType; set => this._deploymentType = value; }

        /// <summary>Backing field for <see cref="HardDiskType" /> property.</summary>
        private long? _hardDiskType;

        /// <summary>
        /// 1: Thin Provision, 2: Thick provision lazy zeroed, 3: Thick provision eager zeroed
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public long? HardDiskType { get => this._hardDiskType; set => this._hardDiskType = value; }

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

        /// <summary>Host name for vm, if not provided it will be same as vmName</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string HostName { get => this._hostName; set => this._hostName = value; }

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

        /// <summary>Client name for vm, if not provided it will be same as vmName</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string Name { get => this._name; set => this._name = value; }

        /// <summary>Backing field for <see cref="Network" /> property.</summary>
        private Commvault.Powershell.Models.INetworkDetails _network;

        /// <summary>NetworkDetails</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.INetworkDetails Network { get => (this._network = this._network ?? new Commvault.Powershell.Models.NetworkDetails()); set => this._network = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string NetworkDnsSearch { get => ((Commvault.Powershell.Models.INetworkDetailsInternal)Network).DnsSearch; set => ((Commvault.Powershell.Models.INetworkDetailsInternal)Network).DnsSearch = value ?? null; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string NetworkGateway { get => ((Commvault.Powershell.Models.INetworkDetailsInternal)Network).Gateway; set => ((Commvault.Powershell.Models.INetworkDetailsInternal)Network).Gateway = value ?? null; }

        /// <summary>Destination network name</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string NetworkName { get => ((Commvault.Powershell.Models.INetworkDetailsInternal)Network).Name; set => ((Commvault.Powershell.Models.INetworkDetailsInternal)Network).Name = value ; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string[] NetworkNameservers { get => ((Commvault.Powershell.Models.INetworkDetailsInternal)Network).Nameservers; set => ((Commvault.Powershell.Models.INetworkDetailsInternal)Network).Nameservers = value ?? null /* arrayOf */; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string NetworkNetmask { get => ((Commvault.Powershell.Models.INetworkDetailsInternal)Network).Netmask; set => ((Commvault.Powershell.Models.INetworkDetailsInternal)Network).Netmask = value ?? null; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string NetworkStaticIP { get => ((Commvault.Powershell.Models.INetworkDetailsInternal)Network).StaticIP; set => ((Commvault.Powershell.Models.INetworkDetailsInternal)Network).StaticIP = value ?? null; }

        /// <summary>If useDHCP is False then make sure to provide staticIP, netmask, gateway</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string NetworkUseDhcp { get => ((Commvault.Powershell.Models.INetworkDetailsInternal)Network).UseDhcp; set => ((Commvault.Powershell.Models.INetworkDetailsInternal)Network).UseDhcp = value ?? null; }

        /// <summary>Backing field for <see cref="NotifyUserOnJobCompletion" /> property.</summary>
        private bool? _notifyUserOnJobCompletion;

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public bool? NotifyUserOnJobCompletion { get => this._notifyUserOnJobCompletion; set => this._notifyUserOnJobCompletion = value; }

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

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string OS { get => this._oS; set => this._oS = value; }

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

        /// <summary>Linux OS qualified timezones</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string Timezone { get => this._timezone; set => this._timezone = value; }

        /// <summary>Backing field for <see cref="UserCredentials" /> property.</summary>
        private Commvault.Powershell.Models.IUserCredentials _userCredentials;

        /// <summary>UserCredentials</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IUserCredentials UserCredentials { get => (this._userCredentials = this._userCredentials ?? new Commvault.Powershell.Models.UserCredentials()); set => this._userCredentials = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string UserCredentialsPassword { get => ((Commvault.Powershell.Models.IUserCredentialsInternal)UserCredentials).Password; set => ((Commvault.Powershell.Models.IUserCredentialsInternal)UserCredentials).Password = value ; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string UserCredentialsUserName { get => ((Commvault.Powershell.Models.IUserCredentialsInternal)UserCredentials).UserName; set => ((Commvault.Powershell.Models.IUserCredentialsInternal)UserCredentials).UserName = value ; }

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

        /// <summary>vCenter server instance</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string VCenter { get => this._vCenter; set => this._vCenter = value; }

        /// <summary>Backing field for <see cref="VMLocation" /> property.</summary>
        private Commvault.Powershell.Models.IVMLocation _vMLocation;

        /// <summary>VMLocation</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IVMLocation VMLocation { get => (this._vMLocation = this._vMLocation ?? new Commvault.Powershell.Models.VMLocation()); set => this._vMLocation = value; }

        /// <summary>ESX-Cluster moref if cluster is selected for resource</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string VMLocationCluster { get => ((Commvault.Powershell.Models.IVMLocationInternal)VMLocation).Cluster; set => ((Commvault.Powershell.Models.IVMLocationInternal)VMLocation).Cluster = value ?? null; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string VMLocationDataCenterName { get => ((Commvault.Powershell.Models.IVMLocationInternal)VMLocation).DataCenterName; set => ((Commvault.Powershell.Models.IVMLocationInternal)VMLocation).DataCenterName = value ; }

        /// <summary>
        /// If cluster is selected for storage then moref of datastore cluster else dataStoreName
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string VMLocationDatastore { get => ((Commvault.Powershell.Models.IVMLocationInternal)VMLocation).Datastore; set => ((Commvault.Powershell.Models.IVMLocationInternal)VMLocation).Datastore = value ; }

        /// <summary>
        /// If ESX-Host for resource the host moref or If ESX-Cluster then cluster moref and if resource pool is used for resource
        /// then first go for host moref then cluster moref
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string VMLocationHost { get => ((Commvault.Powershell.Models.IVMLocationInternal)VMLocation).Host; set => ((Commvault.Powershell.Models.IVMLocationInternal)VMLocation).Host = value ; }

        /// <summary>
        /// Folder path where you can locate vm, empty if Datacenter is selected for location. Default is set to Datacenter
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string VMLocationInventoryPath { get => ((Commvault.Powershell.Models.IVMLocationInternal)VMLocation).InventoryPath; set => ((Commvault.Powershell.Models.IVMLocationInternal)VMLocation).InventoryPath = value ?? null; }

        /// <summary>Resource Pool moref if resource pool is selected for resource</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string VMLocationResourcePool { get => ((Commvault.Powershell.Models.IVMLocationInternal)VMLocation).ResourcePool; set => ((Commvault.Powershell.Models.IVMLocationInternal)VMLocation).ResourcePool = value ?? null; }

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

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string VMName { get => this._vMName; set => this._vMName = value; }

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

        }
    }
    /// AccessNodeDeployment
    public partial interface IAccessNodeDeployment :
        Commvault.Powershell.Runtime.IJsonSerializable
    {
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"automaticOSUpdates",
        PossibleTypes = new [] { typeof(bool) })]
        bool? AutomaticOSUpdates { get; set; }

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"clientGroup",
        PossibleTypes = new [] { typeof(string) })]
        string ClientGroup { get; set; }
        /// <summary>CommServer host name</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"CommServer host name",
        SerializedName = @"hostName",
        PossibleTypes = new [] { typeof(string) })]
        string CommCellHostName { get; set; }
        /// <summary>CommServer name</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"CommServer name",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string CommCellName { get; set; }
        /// <summary>0: Access node deployment, 1: File recovery enabler for linux deployment</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"0: Access node deployment, 1: File recovery enabler for linux deployment",
        SerializedName = @"deploymentType",
        PossibleTypes = new [] { typeof(long) })]
        long? DeploymentType { get; set; }
        /// <summary>
        /// 1: Thin Provision, 2: Thick provision lazy zeroed, 3: Thick provision eager zeroed
        /// </summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"1: Thin Provision, 2: Thick provision lazy zeroed, 3: Thick provision eager zeroed",
        SerializedName = @"hardDiskType",
        PossibleTypes = new [] { typeof(long) })]
        long? HardDiskType { get; set; }
        /// <summary>Host name for vm, if not provided it will be same as vmName</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Host name for vm, if not provided it will be same as vmName",
        SerializedName = @"hostName",
        PossibleTypes = new [] { typeof(string) })]
        string HostName { get; set; }
        /// <summary>Client name for vm, if not provided it will be same as vmName</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Client name for vm, if not provided it will be same as vmName",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string Name { get; set; }

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"dnsSearch",
        PossibleTypes = new [] { typeof(string) })]
        string NetworkDnsSearch { get; set; }

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"gateway",
        PossibleTypes = new [] { typeof(string) })]
        string NetworkGateway { get; set; }
        /// <summary>Destination network name</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = true,
        ReadOnly = false,
        Description = @"Destination network name",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string NetworkName { get; set; }

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"nameservers",
        PossibleTypes = new [] { typeof(string) })]
        string[] NetworkNameservers { get; set; }

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"netmask",
        PossibleTypes = new [] { typeof(string) })]
        string NetworkNetmask { get; set; }

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"staticIP",
        PossibleTypes = new [] { typeof(string) })]
        string NetworkStaticIP { get; set; }
        /// <summary>If useDHCP is False then make sure to provide staticIP, netmask, gateway</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"If useDHCP is False then make sure to provide staticIP, netmask, gateway",
        SerializedName = @"useDHCP",
        PossibleTypes = new [] { typeof(string) })]
        string NetworkUseDhcp { get; set; }

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

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"os",
        PossibleTypes = new [] { typeof(string) })]
        string OS { get; set; }
        /// <summary>Linux OS qualified timezones</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Linux OS qualified timezones",
        SerializedName = @"timezone",
        PossibleTypes = new [] { typeof(string) })]
        string Timezone { get; set; }

        [Commvault.Powershell.Runtime.Info(
        Required = true,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"password",
        PossibleTypes = new [] { typeof(string) })]
        string UserCredentialsPassword { get; set; }

        [Commvault.Powershell.Runtime.Info(
        Required = true,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"userName",
        PossibleTypes = new [] { typeof(string) })]
        string UserCredentialsUserName { get; set; }
        /// <summary>vCenter server instance</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = true,
        ReadOnly = false,
        Description = @"vCenter server instance",
        SerializedName = @"vCenter",
        PossibleTypes = new [] { typeof(string) })]
        string VCenter { get; set; }
        /// <summary>ESX-Cluster moref if cluster is selected for resource</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"ESX-Cluster moref if cluster is selected for resource",
        SerializedName = @"cluster",
        PossibleTypes = new [] { typeof(string) })]
        string VMLocationCluster { get; set; }

        [Commvault.Powershell.Runtime.Info(
        Required = true,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"dataCenterName",
        PossibleTypes = new [] { typeof(string) })]
        string VMLocationDataCenterName { get; set; }
        /// <summary>
        /// If cluster is selected for storage then moref of datastore cluster else dataStoreName
        /// </summary>
        [Commvault.Powershell.Runtime.Info(
        Required = true,
        ReadOnly = false,
        Description = @"If cluster is selected for storage then moref of datastore cluster else dataStoreName",
        SerializedName = @"datastore",
        PossibleTypes = new [] { typeof(string) })]
        string VMLocationDatastore { get; set; }
        /// <summary>
        /// If ESX-Host for resource the host moref or If ESX-Cluster then cluster moref and if resource pool is used for resource
        /// then first go for host moref then cluster moref
        /// </summary>
        [Commvault.Powershell.Runtime.Info(
        Required = true,
        ReadOnly = false,
        Description = @"If ESX-Host for resource the host moref or If ESX-Cluster then cluster moref and if resource pool is used for resource then first go for host moref then cluster moref",
        SerializedName = @"host",
        PossibleTypes = new [] { typeof(string) })]
        string VMLocationHost { get; set; }
        /// <summary>
        /// Folder path where you can locate vm, empty if Datacenter is selected for location. Default is set to Datacenter
        /// </summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Folder path where you can locate vm, empty if Datacenter is selected for location. Default is set to Datacenter",
        SerializedName = @"inventoryPath",
        PossibleTypes = new [] { typeof(string) })]
        string VMLocationInventoryPath { get; set; }
        /// <summary>Resource Pool moref if resource pool is selected for resource</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Resource Pool moref if resource pool is selected for resource",
        SerializedName = @"resourcePool",
        PossibleTypes = new [] { typeof(string) })]
        string VMLocationResourcePool { get; set; }

        [Commvault.Powershell.Runtime.Info(
        Required = true,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"vmName",
        PossibleTypes = new [] { typeof(string) })]
        string VMName { get; set; }

    }
    /// AccessNodeDeployment
    internal partial interface IAccessNodeDeploymentInternal

    {
        bool? AutomaticOSUpdates { get; set; }

        string ClientGroup { get; set; }
        /// <summary>CommCellNameHostName</summary>
        Commvault.Powershell.Models.ICommCellNameHostName CommCell { get; set; }
        /// <summary>CommServer host name</summary>
        string CommCellHostName { get; set; }
        /// <summary>CommServer name</summary>
        string CommCellName { get; set; }
        /// <summary>0: Access node deployment, 1: File recovery enabler for linux deployment</summary>
        long? DeploymentType { get; set; }
        /// <summary>
        /// 1: Thin Provision, 2: Thick provision lazy zeroed, 3: Thick provision eager zeroed
        /// </summary>
        long? HardDiskType { get; set; }
        /// <summary>Host name for vm, if not provided it will be same as vmName</summary>
        string HostName { get; set; }
        /// <summary>Client name for vm, if not provided it will be same as vmName</summary>
        string Name { get; set; }
        /// <summary>NetworkDetails</summary>
        Commvault.Powershell.Models.INetworkDetails Network { get; set; }

        string NetworkDnsSearch { get; set; }

        string NetworkGateway { get; set; }
        /// <summary>Destination network name</summary>
        string NetworkName { get; set; }

        string[] NetworkNameservers { get; set; }

        string NetworkNetmask { get; set; }

        string NetworkStaticIP { get; set; }
        /// <summary>If useDHCP is False then make sure to provide staticIP, netmask, gateway</summary>
        string NetworkUseDhcp { get; set; }

        bool? NotifyUserOnJobCompletion { get; set; }

        string OS { get; set; }
        /// <summary>Linux OS qualified timezones</summary>
        string Timezone { get; set; }
        /// <summary>UserCredentials</summary>
        Commvault.Powershell.Models.IUserCredentials UserCredentials { get; set; }

        string UserCredentialsPassword { get; set; }

        string UserCredentialsUserName { get; set; }
        /// <summary>vCenter server instance</summary>
        string VCenter { get; set; }
        /// <summary>VMLocation</summary>
        Commvault.Powershell.Models.IVMLocation VMLocation { get; set; }
        /// <summary>ESX-Cluster moref if cluster is selected for resource</summary>
        string VMLocationCluster { get; set; }

        string VMLocationDataCenterName { get; set; }
        /// <summary>
        /// If cluster is selected for storage then moref of datastore cluster else dataStoreName
        /// </summary>
        string VMLocationDatastore { get; set; }
        /// <summary>
        /// If ESX-Host for resource the host moref or If ESX-Cluster then cluster moref and if resource pool is used for resource
        /// then first go for host moref then cluster moref
        /// </summary>
        string VMLocationHost { get; set; }
        /// <summary>
        /// Folder path where you can locate vm, empty if Datacenter is selected for location. Default is set to Datacenter
        /// </summary>
        string VMLocationInventoryPath { get; set; }
        /// <summary>Resource Pool moref if resource pool is selected for resource</summary>
        string VMLocationResourcePool { get; set; }

        string VMName { get; set; }

    }
}