generated/api/Models/ActivityControlOptions.cs

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

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

    public partial class ActivityControlOptions :
        Commvault.Powershell.Models.IActivityControlOptions,
        Commvault.Powershell.Models.IActivityControlOptionsInternal
    {

        /// <summary>Delayed by n Hrs</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string BackupActivityControlOptionDelayTime { get => ((Commvault.Powershell.Models.IBackupActivityControlOptionsPropInternal)BackupActivityControlOptions).DelayTime; set => ((Commvault.Powershell.Models.IBackupActivityControlOptionsPropInternal)BackupActivityControlOptions).DelayTime = value ?? null; }

        /// <summary>True if the activity will be enabled after a delay time interval</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public bool? BackupActivityControlOptionEnableAfterDelay { get => ((Commvault.Powershell.Models.IBackupActivityControlOptionsPropInternal)BackupActivityControlOptions).EnableAfterDelay; set => ((Commvault.Powershell.Models.IBackupActivityControlOptionsPropInternal)BackupActivityControlOptions).EnableAfterDelay = value ?? default(bool); }

        /// <summary>Backing field for <see cref="BackupActivityControlOptions" /> property.</summary>
        private Commvault.Powershell.Models.IBackupActivityControlOptionsProp _backupActivityControlOptions;

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IBackupActivityControlOptionsProp BackupActivityControlOptions { get => (this._backupActivityControlOptions = this._backupActivityControlOptions ?? new Commvault.Powershell.Models.BackupActivityControlOptionsProp()); set => this._backupActivityControlOptions = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? BackupActivityControlOptionsTimeZoneId { get => ((Commvault.Powershell.Models.IBackupActivityControlOptionsPropInternal)BackupActivityControlOptions).TimeZoneId; set => ((Commvault.Powershell.Models.IBackupActivityControlOptionsPropInternal)BackupActivityControlOptions).TimeZoneId = value ?? default(long); }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string BackupActivityControlOptionsTimeZoneName { get => ((Commvault.Powershell.Models.IBackupActivityControlOptionsPropInternal)BackupActivityControlOptions).TimeZoneName; set => ((Commvault.Powershell.Models.IBackupActivityControlOptionsPropInternal)BackupActivityControlOptions).TimeZoneName = value ?? null; }

        /// <summary>Internal Acessors for BackupActivityControlOptionTimeZone</summary>
        Commvault.Powershell.Models.IIdName Commvault.Powershell.Models.IActivityControlOptionsInternal.BackupActivityControlOptionTimeZone { get => ((Commvault.Powershell.Models.IBackupActivityControlOptionsPropInternal)BackupActivityControlOptions).TimeZone; set => ((Commvault.Powershell.Models.IBackupActivityControlOptionsPropInternal)BackupActivityControlOptions).TimeZone = value; }

        /// <summary>Internal Acessors for BackupActivityControlOptions</summary>
        Commvault.Powershell.Models.IBackupActivityControlOptionsProp Commvault.Powershell.Models.IActivityControlOptionsInternal.BackupActivityControlOptions { get => (this._backupActivityControlOptions = this._backupActivityControlOptions ?? new Commvault.Powershell.Models.BackupActivityControlOptionsProp()); set { {_backupActivityControlOptions = value;} } }

        /// <summary>Internal Acessors for RestoreActivityControlOptionTimeZone</summary>
        Commvault.Powershell.Models.IIdName Commvault.Powershell.Models.IActivityControlOptionsInternal.RestoreActivityControlOptionTimeZone { get => ((Commvault.Powershell.Models.IBackupActivityControlOptionsPropInternal)RestoreActivityControlOptions).TimeZone; set => ((Commvault.Powershell.Models.IBackupActivityControlOptionsPropInternal)RestoreActivityControlOptions).TimeZone = value; }

        /// <summary>Internal Acessors for RestoreActivityControlOptions</summary>
        Commvault.Powershell.Models.IBackupActivityControlOptionsProp Commvault.Powershell.Models.IActivityControlOptionsInternal.RestoreActivityControlOptions { get => (this._restoreActivityControlOptions = this._restoreActivityControlOptions ?? new Commvault.Powershell.Models.BackupActivityControlOptionsProp()); set { {_restoreActivityControlOptions = value;} } }

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

        /// <summary>true if Backup is enabled</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public bool? EnableBackup { get => this._enableBackup; set => this._enableBackup = value; }

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

        /// <summary>true if Restore is enabled</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public bool? EnableRestore { get => this._enableRestore; set => this._enableRestore = value; }

        /// <summary>Delayed by n Hrs</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string RestoreActivityControlOptionDelayTime { get => ((Commvault.Powershell.Models.IBackupActivityControlOptionsPropInternal)RestoreActivityControlOptions).DelayTime; set => ((Commvault.Powershell.Models.IBackupActivityControlOptionsPropInternal)RestoreActivityControlOptions).DelayTime = value ?? null; }

        /// <summary>True if the activity will be enabled after a delay time interval</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public bool? RestoreActivityControlOptionEnableAfterDelay { get => ((Commvault.Powershell.Models.IBackupActivityControlOptionsPropInternal)RestoreActivityControlOptions).EnableAfterDelay; set => ((Commvault.Powershell.Models.IBackupActivityControlOptionsPropInternal)RestoreActivityControlOptions).EnableAfterDelay = value ?? default(bool); }

        /// <summary>Backing field for <see cref="RestoreActivityControlOptions" /> property.</summary>
        private Commvault.Powershell.Models.IBackupActivityControlOptionsProp _restoreActivityControlOptions;

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IBackupActivityControlOptionsProp RestoreActivityControlOptions { get => (this._restoreActivityControlOptions = this._restoreActivityControlOptions ?? new Commvault.Powershell.Models.BackupActivityControlOptionsProp()); set => this._restoreActivityControlOptions = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? RestoreActivityControlOptionsTimeZoneId { get => ((Commvault.Powershell.Models.IBackupActivityControlOptionsPropInternal)RestoreActivityControlOptions).TimeZoneId; set => ((Commvault.Powershell.Models.IBackupActivityControlOptionsPropInternal)RestoreActivityControlOptions).TimeZoneId = value ?? default(long); }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string RestoreActivityControlOptionsTimeZoneName { get => ((Commvault.Powershell.Models.IBackupActivityControlOptionsPropInternal)RestoreActivityControlOptions).TimeZoneName; set => ((Commvault.Powershell.Models.IBackupActivityControlOptionsPropInternal)RestoreActivityControlOptions).TimeZoneName = value ?? null; }

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

        }
    }
    public partial interface IActivityControlOptions :
        Commvault.Powershell.Runtime.IJsonSerializable
    {
        /// <summary>Delayed by n Hrs</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Delayed by n Hrs",
        SerializedName = @"delayTime",
        PossibleTypes = new [] { typeof(string) })]
        string BackupActivityControlOptionDelayTime { get; set; }
        /// <summary>True if the activity will be enabled after a delay time interval</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"True if the activity will be enabled after a delay time interval",
        SerializedName = @"enableAfterDelay",
        PossibleTypes = new [] { typeof(bool) })]
        bool? BackupActivityControlOptionEnableAfterDelay { get; set; }

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

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string BackupActivityControlOptionsTimeZoneName { get; set; }
        /// <summary>true if Backup is enabled</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"true if Backup is enabled",
        SerializedName = @"enableBackup",
        PossibleTypes = new [] { typeof(bool) })]
        bool? EnableBackup { get; set; }
        /// <summary>true if Restore is enabled</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"true if Restore is enabled",
        SerializedName = @"enableRestore",
        PossibleTypes = new [] { typeof(bool) })]
        bool? EnableRestore { get; set; }
        /// <summary>Delayed by n Hrs</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Delayed by n Hrs",
        SerializedName = @"delayTime",
        PossibleTypes = new [] { typeof(string) })]
        string RestoreActivityControlOptionDelayTime { get; set; }
        /// <summary>True if the activity will be enabled after a delay time interval</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"True if the activity will be enabled after a delay time interval",
        SerializedName = @"enableAfterDelay",
        PossibleTypes = new [] { typeof(bool) })]
        bool? RestoreActivityControlOptionEnableAfterDelay { get; set; }

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

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

    }
    internal partial interface IActivityControlOptionsInternal

    {
        /// <summary>Delayed by n Hrs</summary>
        string BackupActivityControlOptionDelayTime { get; set; }
        /// <summary>True if the activity will be enabled after a delay time interval</summary>
        bool? BackupActivityControlOptionEnableAfterDelay { get; set; }

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

        Commvault.Powershell.Models.IBackupActivityControlOptionsProp BackupActivityControlOptions { get; set; }

        long? BackupActivityControlOptionsTimeZoneId { get; set; }

        string BackupActivityControlOptionsTimeZoneName { get; set; }
        /// <summary>true if Backup is enabled</summary>
        bool? EnableBackup { get; set; }
        /// <summary>true if Restore is enabled</summary>
        bool? EnableRestore { get; set; }
        /// <summary>Delayed by n Hrs</summary>
        string RestoreActivityControlOptionDelayTime { get; set; }
        /// <summary>True if the activity will be enabled after a delay time interval</summary>
        bool? RestoreActivityControlOptionEnableAfterDelay { get; set; }

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

        Commvault.Powershell.Models.IBackupActivityControlOptionsProp RestoreActivityControlOptions { get; set; }

        long? RestoreActivityControlOptionsTimeZoneId { get; set; }

        string RestoreActivityControlOptionsTimeZoneName { get; set; }

    }
}