generated/api/Models/CompanySummary.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 CompanySummary :
        Commvault.Powershell.Models.ICompanySummary,
        Commvault.Powershell.Models.ICompanySummaryInternal
    {

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

        /// <summary>The company domain or NetBIOS name</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string Alias { get => this._alias; set => this._alias = value; }

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

        /// <summary>Gives the number of entities associated with the company</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public long? AssociatedEntitiesCount { get => this._associatedEntitiesCount; set => this._associatedEntitiesCount = value; }

        /// <summary>Backing field for <see cref="Commcell" /> property.</summary>
        private Commvault.Powershell.Models.ICommcellNameDisplayNameInfo _commcell;

        /// <summary>CommcellNameDisplayNameInfo</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.ICommcellNameDisplayNameInfo Commcell { get => (this._commcell = this._commcell ?? new Commvault.Powershell.Models.CommcellNameDisplayNameInfo()); set => this._commcell = value; }

        /// <summary>Display name of the commcell the entity belongs to.</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string CommcellDisplayName { get => ((Commvault.Powershell.Models.ICommcellNameDisplayNameInfoInternal)Commcell).DisplayName; set => ((Commvault.Powershell.Models.ICommcellNameDisplayNameInfoInternal)Commcell).DisplayName = value ?? null; }

        /// <summary>Name of the commcell the entity belongs to.</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string CommcellName { get => ((Commvault.Powershell.Models.ICommcellNameDisplayNameInfoInternal)Commcell).Name; set => ((Commvault.Powershell.Models.ICommcellNameDisplayNameInfoInternal)Commcell).Name = value ?? null; }

        /// <summary>Internal Acessors for Commcell</summary>
        Commvault.Powershell.Models.ICommcellNameDisplayNameInfo Commvault.Powershell.Models.ICompanySummaryInternal.Commcell { get => (this._commcell = this._commcell ?? new Commvault.Powershell.Models.CommcellNameDisplayNameInfo()); set { {_commcell = value;} } }

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

        /// <summary>GUID of the company</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string Guid { get => this._guid; set => this._guid = value; }

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

        /// <summary>Company Id</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public long? Id { get => this._id; set => this._id = value; }

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

        /// <summary>
        /// Enable reseller mode. A reseller is a user or user groups who can operate multiple tenant environments. The service provider
        /// can assign one or more resellers as the tenant operator for a company. The reseller can switch to any of their assigned
        /// tenant environment and operate on the company as a tenant user. Once enabled, the reseller mode cannot be disabled.
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public bool? IsReseller { get => this._isReseller; set => this._isReseller = value; }

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

        /// <summary>Company name</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string Name { get => this._name; set => this._name = value; }

        /// <summary>Backing field for <see cref="Operators" /> property.</summary>
        private Commvault.Powershell.Models.ICompanyOperator[] _operators;

        /// <summary>List of operators configured for the company</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public Commvault.Powershell.Models.ICompanyOperator[] Operators { get => this._operators; set => this._operators = value; }

        /// <summary>Backing field for <see cref="PrimaryContacts" /> property.</summary>
        private Commvault.Powershell.Models.IIdName[] _primaryContacts;

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public Commvault.Powershell.Models.IIdName[] PrimaryContacts { get => this._primaryContacts; set => this._primaryContacts = value; }

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

        /// <summary>Gives the company status</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string Status { get => this._status; set => this._status = value; }

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

        }
    }
    public partial interface ICompanySummary :
        Commvault.Powershell.Runtime.IJsonSerializable
    {
        /// <summary>The company domain or NetBIOS name</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"The company domain or NetBIOS name",
        SerializedName = @"alias",
        PossibleTypes = new [] { typeof(string) })]
        string Alias { get; set; }
        /// <summary>Gives the number of entities associated with the company</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Gives the number of entities associated with the company",
        SerializedName = @"associatedEntitiesCount",
        PossibleTypes = new [] { typeof(long) })]
        long? AssociatedEntitiesCount { get; set; }
        /// <summary>Display name of the commcell the entity belongs to.</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Display name of the commcell the entity belongs to.",
        SerializedName = @"displayName",
        PossibleTypes = new [] { typeof(string) })]
        string CommcellDisplayName { get; set; }
        /// <summary>Name of the commcell the entity belongs to.</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Name of the commcell the entity belongs to.",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string CommcellName { get; set; }
        /// <summary>GUID of the company</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"GUID of the company",
        SerializedName = @"GUID",
        PossibleTypes = new [] { typeof(string) })]
        string Guid { get; set; }
        /// <summary>Company Id</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Company Id",
        SerializedName = @"id",
        PossibleTypes = new [] { typeof(long) })]
        long? Id { get; set; }
        /// <summary>
        /// Enable reseller mode. A reseller is a user or user groups who can operate multiple tenant environments. The service provider
        /// can assign one or more resellers as the tenant operator for a company. The reseller can switch to any of their assigned
        /// tenant environment and operate on the company as a tenant user. Once enabled, the reseller mode cannot be disabled.
        /// </summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Enable reseller mode. A reseller is a user or user groups who can operate multiple tenant environments. The service provider can assign one or more resellers as the tenant operator for a company. The reseller can switch to any of their assigned tenant environment and operate on the company as a tenant user. Once enabled, the reseller mode cannot be disabled.",
        SerializedName = @"isReseller",
        PossibleTypes = new [] { typeof(bool) })]
        bool? IsReseller { get; set; }
        /// <summary>Company name</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Company name",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string Name { get; set; }
        /// <summary>List of operators configured for the company</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"List of operators configured for the company",
        SerializedName = @"operators",
        PossibleTypes = new [] { typeof(Commvault.Powershell.Models.ICompanyOperator) })]
        Commvault.Powershell.Models.ICompanyOperator[] Operators { get; set; }

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"primaryContacts",
        PossibleTypes = new [] { typeof(Commvault.Powershell.Models.IIdName) })]
        Commvault.Powershell.Models.IIdName[] PrimaryContacts { get; set; }
        /// <summary>Gives the company status</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Gives the company status",
        SerializedName = @"status",
        PossibleTypes = new [] { typeof(string) })]
        string Status { get; set; }

    }
    internal partial interface ICompanySummaryInternal

    {
        /// <summary>The company domain or NetBIOS name</summary>
        string Alias { get; set; }
        /// <summary>Gives the number of entities associated with the company</summary>
        long? AssociatedEntitiesCount { get; set; }
        /// <summary>CommcellNameDisplayNameInfo</summary>
        Commvault.Powershell.Models.ICommcellNameDisplayNameInfo Commcell { get; set; }
        /// <summary>Display name of the commcell the entity belongs to.</summary>
        string CommcellDisplayName { get; set; }
        /// <summary>Name of the commcell the entity belongs to.</summary>
        string CommcellName { get; set; }
        /// <summary>GUID of the company</summary>
        string Guid { get; set; }
        /// <summary>Company Id</summary>
        long? Id { get; set; }
        /// <summary>
        /// Enable reseller mode. A reseller is a user or user groups who can operate multiple tenant environments. The service provider
        /// can assign one or more resellers as the tenant operator for a company. The reseller can switch to any of their assigned
        /// tenant environment and operate on the company as a tenant user. Once enabled, the reseller mode cannot be disabled.
        /// </summary>
        bool? IsReseller { get; set; }
        /// <summary>Company name</summary>
        string Name { get; set; }
        /// <summary>List of operators configured for the company</summary>
        Commvault.Powershell.Models.ICompanyOperator[] Operators { get; set; }

        Commvault.Powershell.Models.IIdName[] PrimaryContacts { get; set; }
        /// <summary>Gives the company status</summary>
        string Status { get; set; }

    }
}