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

    /// <summary>Application Group Backup Options</summary>
    public partial class ApplicationGroupGetOptions :
        Commvault.Powershell.Models.IApplicationGroupGetOptions,
        Commvault.Powershell.Models.IApplicationGroupGetOptionsInternal
    {

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

        /// <summary>Define number of parallel data readers</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public long? BackupStreams { get => this._backupStreams; set => this._backupStreams = value; }

        /// <summary>Internal Acessors for WorkerResources</summary>
        Commvault.Powershell.Models.IApplicationGroupWorkerResourcesOptions Commvault.Powershell.Models.IApplicationGroupGetOptionsInternal.WorkerResources { get => (this._workerResources = this._workerResources ?? new Commvault.Powershell.Models.ApplicationGroupWorkerResourcesOptions()); set { {_workerResources = value;} } }

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

        /// <summary>Define the backup job start time in epochs</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public long? JobStartTime { get => this._jobStartTime; set => this._jobStartTime = value; }

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

        /// <summary>Define setting to enable fallback to live volume backup in case of snap failure</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public bool? OnSnapFailureFallbackToLiveVolume { get => this._onSnapFailureFallbackToLiveVolume; set => this._onSnapFailureFallbackToLiveVolume = value; }

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

        /// <summary>
        /// Define setting to enable scheduling worker Pods to CV Namespace for CSI-Snapshot enabled backups
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public bool? ScheduleWorkerToConfigNamespace { get => this._scheduleWorkerToConfigNamespace; set => this._scheduleWorkerToConfigNamespace = value; }

        /// <summary>Define limits.cpu to set on the worker Pod</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string WorkerResourceCpuLimits { get => ((Commvault.Powershell.Models.IApplicationGroupWorkerResourcesOptionsInternal)WorkerResources).CpuLimits; set => ((Commvault.Powershell.Models.IApplicationGroupWorkerResourcesOptionsInternal)WorkerResources).CpuLimits = value ?? null; }

        /// <summary>Define requests.cpu to set on the worker Pod</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string WorkerResourceCpuRequests { get => ((Commvault.Powershell.Models.IApplicationGroupWorkerResourcesOptionsInternal)WorkerResources).CpuRequests; set => ((Commvault.Powershell.Models.IApplicationGroupWorkerResourcesOptionsInternal)WorkerResources).CpuRequests = value ?? null; }

        /// <summary>Define limits.memory to set on the worker Pod</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string WorkerResourceMemoryLimits { get => ((Commvault.Powershell.Models.IApplicationGroupWorkerResourcesOptionsInternal)WorkerResources).MemoryLimits; set => ((Commvault.Powershell.Models.IApplicationGroupWorkerResourcesOptionsInternal)WorkerResources).MemoryLimits = value ?? null; }

        /// <summary>Define requests.memory to set on the worker Pod</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string WorkerResourceMemoryRequests { get => ((Commvault.Powershell.Models.IApplicationGroupWorkerResourcesOptionsInternal)WorkerResources).MemoryRequests; set => ((Commvault.Powershell.Models.IApplicationGroupWorkerResourcesOptionsInternal)WorkerResources).MemoryRequests = value ?? null; }

        /// <summary>Backing field for <see cref="WorkerResources" /> property.</summary>
        private Commvault.Powershell.Models.IApplicationGroupWorkerResourcesOptions _workerResources;

        /// <summary>Application Group Worker Pod Resources Options</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IApplicationGroupWorkerResourcesOptions WorkerResources { get => (this._workerResources = this._workerResources ?? new Commvault.Powershell.Models.ApplicationGroupWorkerResourcesOptions()); set => this._workerResources = value; }

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

        }
    }
    /// Application Group Backup Options
    public partial interface IApplicationGroupGetOptions :
        Commvault.Powershell.Runtime.IJsonSerializable
    {
        /// <summary>Define number of parallel data readers</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Read = true,
        Create = true,
        Update = true,
        Description = @"Define number of parallel data readers",
        SerializedName = @"backupStreams",
        PossibleTypes = new [] { typeof(long) })]
        long? BackupStreams { get; set; }
        /// <summary>Define the backup job start time in epochs</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Read = true,
        Create = true,
        Update = true,
        Description = @"Define the backup job start time in epochs",
        SerializedName = @"jobStartTime",
        PossibleTypes = new [] { typeof(long) })]
        long? JobStartTime { get; set; }
        /// <summary>Define setting to enable fallback to live volume backup in case of snap failure</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Read = true,
        Create = true,
        Update = true,
        Description = @"Define setting to enable fallback to live volume backup in case of snap failure",
        SerializedName = @"onSnapFailureFallbackToLiveVolume",
        PossibleTypes = new [] { typeof(bool) })]
        bool? OnSnapFailureFallbackToLiveVolume { get; set; }
        /// <summary>
        /// Define setting to enable scheduling worker Pods to CV Namespace for CSI-Snapshot enabled backups
        /// </summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Read = true,
        Create = true,
        Update = true,
        Description = @"Define setting to enable scheduling worker Pods to CV Namespace for CSI-Snapshot enabled backups",
        SerializedName = @"scheduleWorkerToConfigNamespace",
        PossibleTypes = new [] { typeof(bool) })]
        bool? ScheduleWorkerToConfigNamespace { get; set; }
        /// <summary>Define limits.cpu to set on the worker Pod</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Read = true,
        Create = true,
        Update = true,
        Description = @"Define limits.cpu to set on the worker Pod",
        SerializedName = @"cpuLimits",
        PossibleTypes = new [] { typeof(string) })]
        string WorkerResourceCpuLimits { get; set; }
        /// <summary>Define requests.cpu to set on the worker Pod</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Read = true,
        Create = true,
        Update = true,
        Description = @"Define requests.cpu to set on the worker Pod",
        SerializedName = @"cpuRequests",
        PossibleTypes = new [] { typeof(string) })]
        string WorkerResourceCpuRequests { get; set; }
        /// <summary>Define limits.memory to set on the worker Pod</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Read = true,
        Create = true,
        Update = true,
        Description = @"Define limits.memory to set on the worker Pod",
        SerializedName = @"memoryLimits",
        PossibleTypes = new [] { typeof(string) })]
        string WorkerResourceMemoryLimits { get; set; }
        /// <summary>Define requests.memory to set on the worker Pod</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Read = true,
        Create = true,
        Update = true,
        Description = @"Define requests.memory to set on the worker Pod",
        SerializedName = @"memoryRequests",
        PossibleTypes = new [] { typeof(string) })]
        string WorkerResourceMemoryRequests { get; set; }

    }
    /// Application Group Backup Options
    internal partial interface IApplicationGroupGetOptionsInternal

    {
        /// <summary>Define number of parallel data readers</summary>
        long? BackupStreams { get; set; }
        /// <summary>Define the backup job start time in epochs</summary>
        long? JobStartTime { get; set; }
        /// <summary>Define setting to enable fallback to live volume backup in case of snap failure</summary>
        bool? OnSnapFailureFallbackToLiveVolume { get; set; }
        /// <summary>
        /// Define setting to enable scheduling worker Pods to CV Namespace for CSI-Snapshot enabled backups
        /// </summary>
        bool? ScheduleWorkerToConfigNamespace { get; set; }
        /// <summary>Define limits.cpu to set on the worker Pod</summary>
        string WorkerResourceCpuLimits { get; set; }
        /// <summary>Define requests.cpu to set on the worker Pod</summary>
        string WorkerResourceCpuRequests { get; set; }
        /// <summary>Define limits.memory to set on the worker Pod</summary>
        string WorkerResourceMemoryLimits { get; set; }
        /// <summary>Define requests.memory to set on the worker Pod</summary>
        string WorkerResourceMemoryRequests { get; set; }
        /// <summary>Application Group Worker Pod Resources Options</summary>
        Commvault.Powershell.Models.IApplicationGroupWorkerResourcesOptions WorkerResources { get; set; }

    }
}