generated/api/Models/ActivityControlOptions.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;

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

        /// <summary>denotes the activity type being considered</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string BackupActivityControlOptionActivityType { get => ((Commvault.Powershell.Models.IActivityControlOptionsPropInternal)BackupActivityControlOptions).ActivityType; set => ((Commvault.Powershell.Models.IActivityControlOptionsPropInternal)BackupActivityControlOptions).ActivityType = value ?? null; }

        /// <summary>True if the activity type is enabled</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public bool? BackupActivityControlOptionEnableActivityType { get => ((Commvault.Powershell.Models.IActivityControlOptionsPropInternal)BackupActivityControlOptions).EnableActivityType; set => ((Commvault.Powershell.Models.IActivityControlOptionsPropInternal)BackupActivityControlOptions).EnableActivityType = value ?? default(bool); }

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

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

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

        /// <summary>delay time in unix timestamp</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? BackupActivityControlOptionsDelayTimeTime { get => ((Commvault.Powershell.Models.IActivityControlOptionsPropInternal)BackupActivityControlOptions).DelayTimeTime; set => ((Commvault.Powershell.Models.IActivityControlOptionsPropInternal)BackupActivityControlOptions).DelayTimeTime = value ?? default(long); }

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

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

        /// <summary>actual delay time value in string format according to the timezone</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string BackupActivityControlOptionsDelayTimeValue { get => ((Commvault.Powershell.Models.IActivityControlOptionsPropInternal)BackupActivityControlOptions).DelayTimeValue; set => ((Commvault.Powershell.Models.IActivityControlOptionsPropInternal)BackupActivityControlOptions).DelayTimeValue = value ?? null; }

        /// <summary>Internal Acessors for BackupActivityControlOptionDelayTime</summary>
        Commvault.Powershell.Models.IActivityControlTileDelayTime Commvault.Powershell.Models.IActivityControlOptionsInternal.BackupActivityControlOptionDelayTime { get => ((Commvault.Powershell.Models.IActivityControlOptionsPropInternal)BackupActivityControlOptions).DelayTime; set => ((Commvault.Powershell.Models.IActivityControlOptionsPropInternal)BackupActivityControlOptions).DelayTime = value; }

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

        /// <summary>Internal Acessors for BackupActivityControlOptionsDelayTimeTimeZone</summary>
        Commvault.Powershell.Models.IIdName Commvault.Powershell.Models.IActivityControlOptionsInternal.BackupActivityControlOptionsDelayTimeTimeZone { get => ((Commvault.Powershell.Models.IActivityControlOptionsPropInternal)BackupActivityControlOptions).DelayTimeZone; set => ((Commvault.Powershell.Models.IActivityControlOptionsPropInternal)BackupActivityControlOptions).DelayTimeZone = value; }

        /// <summary>Internal Acessors for RestoreActivityControlOptionDelayTime</summary>
        Commvault.Powershell.Models.IActivityControlTileDelayTime Commvault.Powershell.Models.IActivityControlOptionsInternal.RestoreActivityControlOptionDelayTime { get => ((Commvault.Powershell.Models.IActivityControlOptionsPropInternal)RestoreActivityControlOptions).DelayTime; set => ((Commvault.Powershell.Models.IActivityControlOptionsPropInternal)RestoreActivityControlOptions).DelayTime = value; }

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

        /// <summary>Internal Acessors for RestoreActivityControlOptionsDelayTimeTimeZone</summary>
        Commvault.Powershell.Models.IIdName Commvault.Powershell.Models.IActivityControlOptionsInternal.RestoreActivityControlOptionsDelayTimeTimeZone { get => ((Commvault.Powershell.Models.IActivityControlOptionsPropInternal)RestoreActivityControlOptions).DelayTimeZone; set => ((Commvault.Powershell.Models.IActivityControlOptionsPropInternal)RestoreActivityControlOptions).DelayTimeZone = 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>denotes the activity type being considered</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string RestoreActivityControlOptionActivityType { get => ((Commvault.Powershell.Models.IActivityControlOptionsPropInternal)RestoreActivityControlOptions).ActivityType; set => ((Commvault.Powershell.Models.IActivityControlOptionsPropInternal)RestoreActivityControlOptions).ActivityType = value ?? null; }

        /// <summary>True if the activity type is enabled</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public bool? RestoreActivityControlOptionEnableActivityType { get => ((Commvault.Powershell.Models.IActivityControlOptionsPropInternal)RestoreActivityControlOptions).EnableActivityType; set => ((Commvault.Powershell.Models.IActivityControlOptionsPropInternal)RestoreActivityControlOptions).EnableActivityType = value ?? default(bool); }

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

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

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

        /// <summary>delay time in unix timestamp</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? RestoreActivityControlOptionsDelayTimeTime { get => ((Commvault.Powershell.Models.IActivityControlOptionsPropInternal)RestoreActivityControlOptions).DelayTimeTime; set => ((Commvault.Powershell.Models.IActivityControlOptionsPropInternal)RestoreActivityControlOptions).DelayTimeTime = value ?? default(long); }

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

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

        /// <summary>actual delay time value in string format according to the timezone</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string RestoreActivityControlOptionsDelayTimeValue { get => ((Commvault.Powershell.Models.IActivityControlOptionsPropInternal)RestoreActivityControlOptions).DelayTimeValue; set => ((Commvault.Powershell.Models.IActivityControlOptionsPropInternal)RestoreActivityControlOptions).DelayTimeValue = value ?? null; }

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

        }
    }
    public partial interface IActivityControlOptions :
        Commvault.Powershell.Runtime.IJsonSerializable
    {
        /// <summary>denotes the activity type being considered</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"denotes the activity type being considered",
        SerializedName = @"activityType",
        PossibleTypes = new [] { typeof(string) })]
        string BackupActivityControlOptionActivityType { get; set; }
        /// <summary>True if the activity type is enabled</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"True if the activity type is enabled",
        SerializedName = @"enableActivityType",
        PossibleTypes = new [] { typeof(bool) })]
        bool? BackupActivityControlOptionEnableActivityType { 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 = @"enableAfterADelay",
        PossibleTypes = new [] { typeof(bool) })]
        bool? BackupActivityControlOptionEnableAfterADelay { get; set; }
        /// <summary>delay time in unix timestamp</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"delay time in unix timestamp",
        SerializedName = @"time",
        PossibleTypes = new [] { typeof(long) })]
        long? BackupActivityControlOptionsDelayTimeTime { get; set; }

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

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string BackupActivityControlOptionsDelayTimeTimeZoneName { get; set; }
        /// <summary>actual delay time value in string format according to the timezone</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"actual delay time value in string format according to the timezone",
        SerializedName = @"value",
        PossibleTypes = new [] { typeof(string) })]
        string BackupActivityControlOptionsDelayTimeValue { 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>denotes the activity type being considered</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"denotes the activity type being considered",
        SerializedName = @"activityType",
        PossibleTypes = new [] { typeof(string) })]
        string RestoreActivityControlOptionActivityType { get; set; }
        /// <summary>True if the activity type is enabled</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"True if the activity type is enabled",
        SerializedName = @"enableActivityType",
        PossibleTypes = new [] { typeof(bool) })]
        bool? RestoreActivityControlOptionEnableActivityType { 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 = @"enableAfterADelay",
        PossibleTypes = new [] { typeof(bool) })]
        bool? RestoreActivityControlOptionEnableAfterADelay { get; set; }
        /// <summary>delay time in unix timestamp</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"delay time in unix timestamp",
        SerializedName = @"time",
        PossibleTypes = new [] { typeof(long) })]
        long? RestoreActivityControlOptionsDelayTimeTime { get; set; }

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

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string RestoreActivityControlOptionsDelayTimeTimeZoneName { get; set; }
        /// <summary>actual delay time value in string format according to the timezone</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"actual delay time value in string format according to the timezone",
        SerializedName = @"value",
        PossibleTypes = new [] { typeof(string) })]
        string RestoreActivityControlOptionsDelayTimeValue { get; set; }

    }
    internal partial interface IActivityControlOptionsInternal

    {
        /// <summary>denotes the activity type being considered</summary>
        string BackupActivityControlOptionActivityType { get; set; }
        /// <summary>ActivityControlTileDelayTime</summary>
        Commvault.Powershell.Models.IActivityControlTileDelayTime BackupActivityControlOptionDelayTime { get; set; }
        /// <summary>True if the activity type is enabled</summary>
        bool? BackupActivityControlOptionEnableActivityType { get; set; }
        /// <summary>True if the activity will be enabled after a delay time interval</summary>
        bool? BackupActivityControlOptionEnableAfterADelay { get; set; }

        Commvault.Powershell.Models.IActivityControlOptionsProp BackupActivityControlOptions { get; set; }
        /// <summary>delay time in unix timestamp</summary>
        long? BackupActivityControlOptionsDelayTimeTime { get; set; }

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

        long? BackupActivityControlOptionsDelayTimeTimeZoneId { get; set; }

        string BackupActivityControlOptionsDelayTimeTimeZoneName { get; set; }
        /// <summary>actual delay time value in string format according to the timezone</summary>
        string BackupActivityControlOptionsDelayTimeValue { 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>denotes the activity type being considered</summary>
        string RestoreActivityControlOptionActivityType { get; set; }
        /// <summary>ActivityControlTileDelayTime</summary>
        Commvault.Powershell.Models.IActivityControlTileDelayTime RestoreActivityControlOptionDelayTime { get; set; }
        /// <summary>True if the activity type is enabled</summary>
        bool? RestoreActivityControlOptionEnableActivityType { get; set; }
        /// <summary>True if the activity will be enabled after a delay time interval</summary>
        bool? RestoreActivityControlOptionEnableAfterADelay { get; set; }

        Commvault.Powershell.Models.IActivityControlOptionsProp RestoreActivityControlOptions { get; set; }
        /// <summary>delay time in unix timestamp</summary>
        long? RestoreActivityControlOptionsDelayTimeTime { get; set; }

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

        long? RestoreActivityControlOptionsDelayTimeTimeZoneId { get; set; }

        string RestoreActivityControlOptionsDelayTimeTimeZoneName { get; set; }
        /// <summary>actual delay time value in string format according to the timezone</summary>
        string RestoreActivityControlOptionsDelayTimeValue { get; set; }

    }
}