generated/api/Models/Office365PlanSummary.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 Office365PlanSummary :
        Commvault.Powershell.Models.IOffice365PlanSummary,
        Commvault.Powershell.Models.IOffice365PlanSummaryInternal
    {

        /// <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.ICompanySummaryInternal)Company).CommcellDisplayName; set => ((Commvault.Powershell.Models.ICompanySummaryInternal)Company).CommcellDisplayName = 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.ICompanySummaryInternal)Company).CommcellName; set => ((Commvault.Powershell.Models.ICompanySummaryInternal)Company).CommcellName = value ?? null; }

        /// <summary>Internal Acessors for Company</summary>
        Commvault.Powershell.Models.ICompanySummary Commvault.Powershell.Models.IOffice365PlanSummaryInternal.Company { get => (this._company = this._company ?? new Commvault.Powershell.Models.CompanySummary()); set { {_company = value;} } }

        /// <summary>Internal Acessors for CompanyCommcell</summary>
        Commvault.Powershell.Models.ICommcellNameDisplayNameInfo Commvault.Powershell.Models.IOffice365PlanSummaryInternal.CompanyCommcell { get => ((Commvault.Powershell.Models.ICompanySummaryInternal)Company).Commcell; set => ((Commvault.Powershell.Models.ICompanySummaryInternal)Company).Commcell = value; }

        /// <summary>Internal Acessors for Plan</summary>
        Commvault.Powershell.Models.IIdName Commvault.Powershell.Models.IOffice365PlanSummaryInternal.Plan { get => (this._plan = this._plan ?? new Commvault.Powershell.Models.IdName()); set { {_plan = value;} } }

        /// <summary>Backing field for <see cref="Company" /> property.</summary>
        private Commvault.Powershell.Models.ICompanySummary _company;

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.ICompanySummary Company { get => (this._company = this._company ?? new Commvault.Powershell.Models.CompanySummary()); set => this._company = value; }

        /// <summary>The company domain or NetBIOS name</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string CompanyAlias { get => ((Commvault.Powershell.Models.ICompanySummaryInternal)Company).Alias; set => ((Commvault.Powershell.Models.ICompanySummaryInternal)Company).Alias = value ?? null; }

        /// <summary>Gives the number of entities associated with the company</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? CompanyAssociatedEntitiesCount { get => ((Commvault.Powershell.Models.ICompanySummaryInternal)Company).AssociatedEntitiesCount; set => ((Commvault.Powershell.Models.ICompanySummaryInternal)Company).AssociatedEntitiesCount = value ?? default(long); }

        /// <summary>GUID of the company</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string CompanyGuid { get => ((Commvault.Powershell.Models.ICompanySummaryInternal)Company).Guid; set => ((Commvault.Powershell.Models.ICompanySummaryInternal)Company).Guid = value ?? null; }

        /// <summary>Company Id</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? CompanyId { get => ((Commvault.Powershell.Models.ICompanySummaryInternal)Company).Id; set => ((Commvault.Powershell.Models.ICompanySummaryInternal)Company).Id = value ?? default(long); }

        /// <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.Inlined)]
        public bool? CompanyIsReseller { get => ((Commvault.Powershell.Models.ICompanySummaryInternal)Company).IsReseller; set => ((Commvault.Powershell.Models.ICompanySummaryInternal)Company).IsReseller = value ?? default(bool); }

        /// <summary>Company name</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string CompanyName { get => ((Commvault.Powershell.Models.ICompanySummaryInternal)Company).Name; set => ((Commvault.Powershell.Models.ICompanySummaryInternal)Company).Name = value ?? null; }

        /// <summary>List of operators configured for the company</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public Commvault.Powershell.Models.ICompanyOperator[] CompanyOperators { get => ((Commvault.Powershell.Models.ICompanySummaryInternal)Company).Operators; set => ((Commvault.Powershell.Models.ICompanySummaryInternal)Company).Operators = value ?? null /* arrayOf */; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public Commvault.Powershell.Models.IIdName[] CompanyPrimaryContacts { get => ((Commvault.Powershell.Models.ICompanySummaryInternal)Company).PrimaryContacts; set => ((Commvault.Powershell.Models.ICompanySummaryInternal)Company).PrimaryContacts = value ?? null /* arrayOf */; }

        /// <summary>Gives the company status</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string CompanyStatus { get => ((Commvault.Powershell.Models.ICompanySummaryInternal)Company).Status; set => ((Commvault.Powershell.Models.ICompanySummaryInternal)Company).Status = value ?? null; }

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

        /// <summary>Tells if Content Indexing is enabled on this plan</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public bool? ContentIndexingEnabled { get => this._contentIndexingEnabled; set => this._contentIndexingEnabled = value; }

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

        /// <summary>Number of mailboxes assocaited with this plan</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public long? Mailboxes { get => this._mailboxes; set => this._mailboxes = value; }

        /// <summary>Backing field for <see cref="Plan" /> property.</summary>
        private Commvault.Powershell.Models.IIdName _plan;

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IIdName Plan { get => (this._plan = this._plan ?? new Commvault.Powershell.Models.IdName()); set => this._plan = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? PlanId { get => ((Commvault.Powershell.Models.IIdNameInternal)Plan).Id; set => ((Commvault.Powershell.Models.IIdNameInternal)Plan).Id = value ?? default(long); }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string PlanName { get => ((Commvault.Powershell.Models.IIdNameInternal)Plan).Name; set => ((Commvault.Powershell.Models.IIdNameInternal)Plan).Name = value ?? null; }

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

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string PlanSubType { get => this._planSubType; set => this._planSubType = value; }

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

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string PlanTier { get => this._planTier; set => this._planTier = value; }

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

        /// <summary>Number of sites assocaited with this plan</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public long? Sites { get => this._sites; set => this._sites = value; }

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

        /// <summary>Number of teams assocaited with this plan</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public long? Teams { get => this._teams; set => this._teams = value; }

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

        /// <summary>Count of total associated entities for the Office 365 plan</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public long? TotalEntities { get => this._totalEntities; set => this._totalEntities = value; }

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

        /// <summary>Number of users assocaited with this plan</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public long? Users { get => this._users; set => this._users = value; }

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

        }
    }
    public partial interface IOffice365PlanSummary :
        Commvault.Powershell.Runtime.IJsonSerializable
    {
        /// <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>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 CompanyAlias { 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? CompanyAssociatedEntitiesCount { 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 CompanyGuid { get; set; }
        /// <summary>Company Id</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Company Id",
        SerializedName = @"id",
        PossibleTypes = new [] { typeof(long) })]
        long? CompanyId { 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? CompanyIsReseller { get; set; }
        /// <summary>Company name</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Company name",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string CompanyName { 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[] CompanyOperators { get; set; }

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"primaryContacts",
        PossibleTypes = new [] { typeof(Commvault.Powershell.Models.IIdName) })]
        Commvault.Powershell.Models.IIdName[] CompanyPrimaryContacts { 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 CompanyStatus { get; set; }
        /// <summary>Tells if Content Indexing is enabled on this plan</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Tells if Content Indexing is enabled on this plan",
        SerializedName = @"contentIndexingEnabled",
        PossibleTypes = new [] { typeof(bool) })]
        bool? ContentIndexingEnabled { get; set; }
        /// <summary>Number of mailboxes assocaited with this plan</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Number of mailboxes assocaited with this plan",
        SerializedName = @"mailboxes",
        PossibleTypes = new [] { typeof(long) })]
        long? Mailboxes { get; set; }

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

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

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

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"planTier",
        PossibleTypes = new [] { typeof(string) })]
        string PlanTier { get; set; }
        /// <summary>Number of sites assocaited with this plan</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Number of sites assocaited with this plan",
        SerializedName = @"sites",
        PossibleTypes = new [] { typeof(long) })]
        long? Sites { get; set; }
        /// <summary>Number of teams assocaited with this plan</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Number of teams assocaited with this plan",
        SerializedName = @"teams",
        PossibleTypes = new [] { typeof(long) })]
        long? Teams { get; set; }
        /// <summary>Count of total associated entities for the Office 365 plan</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Count of total associated entities for the Office 365 plan",
        SerializedName = @"totalEntities",
        PossibleTypes = new [] { typeof(long) })]
        long? TotalEntities { get; set; }
        /// <summary>Number of users assocaited with this plan</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Number of users assocaited with this plan",
        SerializedName = @"users",
        PossibleTypes = new [] { typeof(long) })]
        long? Users { get; set; }

    }
    internal partial interface IOffice365PlanSummaryInternal

    {
        /// <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; }

        Commvault.Powershell.Models.ICompanySummary Company { get; set; }
        /// <summary>The company domain or NetBIOS name</summary>
        string CompanyAlias { get; set; }
        /// <summary>Gives the number of entities associated with the company</summary>
        long? CompanyAssociatedEntitiesCount { get; set; }
        /// <summary>CommcellNameDisplayNameInfo</summary>
        Commvault.Powershell.Models.ICommcellNameDisplayNameInfo CompanyCommcell { get; set; }
        /// <summary>GUID of the company</summary>
        string CompanyGuid { get; set; }
        /// <summary>Company Id</summary>
        long? CompanyId { 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? CompanyIsReseller { get; set; }
        /// <summary>Company name</summary>
        string CompanyName { get; set; }
        /// <summary>List of operators configured for the company</summary>
        Commvault.Powershell.Models.ICompanyOperator[] CompanyOperators { get; set; }

        Commvault.Powershell.Models.IIdName[] CompanyPrimaryContacts { get; set; }
        /// <summary>Gives the company status</summary>
        string CompanyStatus { get; set; }
        /// <summary>Tells if Content Indexing is enabled on this plan</summary>
        bool? ContentIndexingEnabled { get; set; }
        /// <summary>Number of mailboxes assocaited with this plan</summary>
        long? Mailboxes { get; set; }

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

        long? PlanId { get; set; }

        string PlanName { get; set; }

        string PlanSubType { get; set; }

        string PlanTier { get; set; }
        /// <summary>Number of sites assocaited with this plan</summary>
        long? Sites { get; set; }
        /// <summary>Number of teams assocaited with this plan</summary>
        long? Teams { get; set; }
        /// <summary>Count of total associated entities for the Office 365 plan</summary>
        long? TotalEntities { get; set; }
        /// <summary>Number of users assocaited with this plan</summary>
        long? Users { get; set; }

    }
}