generated/api/Models/EditClusterAdvancedOptionsInfo.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>Request definition for cluster advanced options</summary>
    public partial class EditClusterAdvancedOptionsInfo :
        Commvault.Powershell.Models.IEditClusterAdvancedOptionsInfo,
        Commvault.Powershell.Models.IEditClusterAdvancedOptionsInfoInternal
    {

        /// <summary>Internal Acessors for ImageRegistry</summary>
        Commvault.Powershell.Models.IClusterImageRegistryOptions Commvault.Powershell.Models.IEditClusterAdvancedOptionsInfoInternal.ImageRegistry { get => (this._imageRegistry = this._imageRegistry ?? new Commvault.Powershell.Models.ClusterImageRegistryOptions()); set { {_imageRegistry = value;} } }

        /// <summary>Internal Acessors for JobStepWaitTime</summary>
        Commvault.Powershell.Models.IJobStepWaitTimeOptions Commvault.Powershell.Models.IEditClusterAdvancedOptionsInfoInternal.JobStepWaitTime { get => (this._jobStepWaitTime = this._jobStepWaitTime ?? new Commvault.Powershell.Models.JobStepWaitTimeOptions()); set { {_jobStepWaitTime = value;} } }

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

        /// <summary>Specify the name of the Namespace where Commvault resources will be deployed</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string ConfigNamespace { get => this._configNamespace; set => this._configNamespace = value; }

        /// <summary>Backing field for <see cref="ImageRegistry" /> property.</summary>
        private Commvault.Powershell.Models.IClusterImageRegistryOptions _imageRegistry;

        /// <summary>Request definition changing image registry options for cluster</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IClusterImageRegistryOptions ImageRegistry { get => (this._imageRegistry = this._imageRegistry ?? new Commvault.Powershell.Models.ClusterImageRegistryOptions()); set => this._imageRegistry = value; }

        /// <summary>Specify image pull secret to authenticate with the image repository</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string ImageRegistryPullSecret { get => ((Commvault.Powershell.Models.IClusterImageRegistryOptionsInternal)ImageRegistry).PullSecret; set => ((Commvault.Powershell.Models.IClusterImageRegistryOptionsInternal)ImageRegistry).PullSecret = value ?? null; }

        /// <summary>Specify image registry URL for internal image repository</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string ImageRegistryUrl { get => ((Commvault.Powershell.Models.IClusterImageRegistryOptionsInternal)ImageRegistry).Url; set => ((Commvault.Powershell.Models.IClusterImageRegistryOptionsInternal)ImageRegistry).Url = value ?? null; }

        /// <summary>Backing field for <see cref="JobStepWaitTime" /> property.</summary>
        private Commvault.Powershell.Models.IJobStepWaitTimeOptions _jobStepWaitTime;

        /// <summary>Request definition changing job step wait time options for cluster</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IJobStepWaitTimeOptions JobStepWaitTime { get => (this._jobStepWaitTime = this._jobStepWaitTime ?? new Commvault.Powershell.Models.JobStepWaitTimeOptions()); set => this._jobStepWaitTime = value; }

        /// <summary>Specify wait time for Worker Pod to be deleted</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? JobStepWaitTimeResourceCleanup { get => ((Commvault.Powershell.Models.IJobStepWaitTimeOptionsInternal)JobStepWaitTime).ResourceCleanup; set => ((Commvault.Powershell.Models.IJobStepWaitTimeOptionsInternal)JobStepWaitTime).ResourceCleanup = value ?? default(long); }

        /// <summary>Specify wait time for snapshot to be deleted</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? JobStepWaitTimeSnapshotCleanup { get => ((Commvault.Powershell.Models.IJobStepWaitTimeOptionsInternal)JobStepWaitTime).SnapshotCleanup; set => ((Commvault.Powershell.Models.IJobStepWaitTimeOptionsInternal)JobStepWaitTime).SnapshotCleanup = value ?? default(long); }

        /// <summary>Specify wait time for snapshot to be Ready</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? JobStepWaitTimeSnapshotReady { get => ((Commvault.Powershell.Models.IJobStepWaitTimeOptionsInternal)JobStepWaitTime).SnapshotReady; set => ((Commvault.Powershell.Models.IJobStepWaitTimeOptionsInternal)JobStepWaitTime).SnapshotReady = value ?? default(long); }

        /// <summary>Specify wait time for Worker Pod to start</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? JobStepWaitTimeWorkerPodStartup { get => ((Commvault.Powershell.Models.IJobStepWaitTimeOptionsInternal)JobStepWaitTime).WorkerPodStartup; set => ((Commvault.Powershell.Models.IJobStepWaitTimeOptionsInternal)JobStepWaitTime).WorkerPodStartup = value ?? default(long); }

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

        }
    }
    /// Request definition for cluster advanced options
    public partial interface IEditClusterAdvancedOptionsInfo :
        Commvault.Powershell.Runtime.IJsonSerializable
    {
        /// <summary>Specify the name of the Namespace where Commvault resources will be deployed</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Specify the name of the Namespace where Commvault resources will be deployed",
        SerializedName = @"configNamespace",
        PossibleTypes = new [] { typeof(string) })]
        string ConfigNamespace { get; set; }
        /// <summary>Specify image pull secret to authenticate with the image repository</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Specify image pull secret to authenticate with the image repository",
        SerializedName = @"pullSecret",
        PossibleTypes = new [] { typeof(string) })]
        string ImageRegistryPullSecret { get; set; }
        /// <summary>Specify image registry URL for internal image repository</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Specify image registry URL for internal image repository",
        SerializedName = @"url",
        PossibleTypes = new [] { typeof(string) })]
        string ImageRegistryUrl { get; set; }
        /// <summary>Specify wait time for Worker Pod to be deleted</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Specify wait time for Worker Pod to be deleted",
        SerializedName = @"resourceCleanup",
        PossibleTypes = new [] { typeof(long) })]
        long? JobStepWaitTimeResourceCleanup { get; set; }
        /// <summary>Specify wait time for snapshot to be deleted</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Specify wait time for snapshot to be deleted",
        SerializedName = @"snapshotCleanup",
        PossibleTypes = new [] { typeof(long) })]
        long? JobStepWaitTimeSnapshotCleanup { get; set; }
        /// <summary>Specify wait time for snapshot to be Ready</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Specify wait time for snapshot to be Ready",
        SerializedName = @"snapshotReady",
        PossibleTypes = new [] { typeof(long) })]
        long? JobStepWaitTimeSnapshotReady { get; set; }
        /// <summary>Specify wait time for Worker Pod to start</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Specify wait time for Worker Pod to start",
        SerializedName = @"workerPodStartup",
        PossibleTypes = new [] { typeof(long) })]
        long? JobStepWaitTimeWorkerPodStartup { get; set; }

    }
    /// Request definition for cluster advanced options
    internal partial interface IEditClusterAdvancedOptionsInfoInternal

    {
        /// <summary>Specify the name of the Namespace where Commvault resources will be deployed</summary>
        string ConfigNamespace { get; set; }
        /// <summary>Request definition changing image registry options for cluster</summary>
        Commvault.Powershell.Models.IClusterImageRegistryOptions ImageRegistry { get; set; }
        /// <summary>Specify image pull secret to authenticate with the image repository</summary>
        string ImageRegistryPullSecret { get; set; }
        /// <summary>Specify image registry URL for internal image repository</summary>
        string ImageRegistryUrl { get; set; }
        /// <summary>Request definition changing job step wait time options for cluster</summary>
        Commvault.Powershell.Models.IJobStepWaitTimeOptions JobStepWaitTime { get; set; }
        /// <summary>Specify wait time for Worker Pod to be deleted</summary>
        long? JobStepWaitTimeResourceCleanup { get; set; }
        /// <summary>Specify wait time for snapshot to be deleted</summary>
        long? JobStepWaitTimeSnapshotCleanup { get; set; }
        /// <summary>Specify wait time for snapshot to be Ready</summary>
        long? JobStepWaitTimeSnapshotReady { get; set; }
        /// <summary>Specify wait time for Worker Pod to start</summary>
        long? JobStepWaitTimeWorkerPodStartup { get; set; }

    }
}