generated/api/Models/CreateCompany.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>Used to create a new company</summary>
    public partial class CreateCompany :
        Commvault.Powershell.Models.ICreateCompany,
        Commvault.Powershell.Models.ICreateCompanyInternal
    {

        /// <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="ContactName" /> property.</summary>
        private string _contactName;

        /// <summary>Name of the tenant administrator. If provided, email also needs to be provided.</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string ContactName { get => this._contactName; set => this._contactName = value; }

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

        /// <summary>
        /// Email address for the tenant administrator. If provided, contactName for the tenant administrator also needs to be provided
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string Email { get => this._email; set => this._email = value; }

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

        /// <summary>Supported domains for the company</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string EmailSuffix { get => this._emailSuffix; set => this._emailSuffix = value; }

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

        /// <summary>name of the company to be created.</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string Name { get => this._name; set => this._name = value; }

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

        /// <summary>
        /// Select data protection plans to use for the company. The plans that are selected are the plans that the tenant administrator
        /// can choose from.
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public Commvault.Powershell.Models.IIdName[] Plans { get => this._plans; set => this._plans = value; }

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

        /// <summary>
        /// The primary domain name of the company being created. Can be added only if an external domain is already present.
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string PrimaryDomain { get => this._primaryDomain; set => this._primaryDomain = value; }

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

        /// <summary>send a welcome email on company creation to the tenant administrator.</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public bool? SendWelcomeEmail { get => this._sendWelcomeEmail; set => this._sendWelcomeEmail = value; }

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

        /// <summary>
        /// Used to add service commcells to the master commcell. Either id or name can be provided. If both are provided, id will
        /// be taken into consideration.
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public Commvault.Powershell.Models.IIdName[] ServiceCommcells { get => this._serviceCommcells; set => this._serviceCommcells = value; }

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

        }
    }
    /// Used to create a new company
    public partial interface ICreateCompany :
        Commvault.Powershell.Runtime.IJsonSerializable
    {
        /// <summary>The company domain or NetBIOS name</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = true,
        ReadOnly = false,
        Description = @"The company domain or NetBIOS name",
        SerializedName = @"alias",
        PossibleTypes = new [] { typeof(string) })]
        string Alias { get; set; }
        /// <summary>Name of the tenant administrator. If provided, email also needs to be provided.</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Name of the tenant administrator. If provided, email also needs to be provided.",
        SerializedName = @"contactName",
        PossibleTypes = new [] { typeof(string) })]
        string ContactName { get; set; }
        /// <summary>
        /// Email address for the tenant administrator. If provided, contactName for the tenant administrator also needs to be provided
        /// </summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Email address for the tenant administrator. If provided, contactName for the tenant administrator also needs to be provided",
        SerializedName = @"email",
        PossibleTypes = new [] { typeof(string) })]
        string Email { get; set; }
        /// <summary>Supported domains for the company</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Supported domains for the company",
        SerializedName = @"emailSuffix",
        PossibleTypes = new [] { typeof(string) })]
        string EmailSuffix { get; set; }
        /// <summary>name of the company to be created.</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = true,
        ReadOnly = false,
        Description = @"name of the company to be created.",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string Name { get; set; }
        /// <summary>
        /// Select data protection plans to use for the company. The plans that are selected are the plans that the tenant administrator
        /// can choose from.
        /// </summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Select data protection plans to use for the company. The plans that are selected are the plans that the tenant administrator can choose from.",
        SerializedName = @"plans",
        PossibleTypes = new [] { typeof(Commvault.Powershell.Models.IIdName) })]
        Commvault.Powershell.Models.IIdName[] Plans { get; set; }
        /// <summary>
        /// The primary domain name of the company being created. Can be added only if an external domain is already present.
        /// </summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"The primary domain name of the company being created. Can be added only if an external domain is already present.",
        SerializedName = @"primaryDomain",
        PossibleTypes = new [] { typeof(string) })]
        string PrimaryDomain { get; set; }
        /// <summary>send a welcome email on company creation to the tenant administrator.</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"send a welcome email on company creation to the tenant administrator.",
        SerializedName = @"sendWelcomeEmail",
        PossibleTypes = new [] { typeof(bool) })]
        bool? SendWelcomeEmail { get; set; }
        /// <summary>
        /// Used to add service commcells to the master commcell. Either id or name can be provided. If both are provided, id will
        /// be taken into consideration.
        /// </summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Used to add service commcells to the master commcell. Either id or name can be provided. If both are provided, id will be taken into consideration.",
        SerializedName = @"serviceCommcells",
        PossibleTypes = new [] { typeof(Commvault.Powershell.Models.IIdName) })]
        Commvault.Powershell.Models.IIdName[] ServiceCommcells { get; set; }

    }
    /// Used to create a new company
    internal partial interface ICreateCompanyInternal

    {
        /// <summary>The company domain or NetBIOS name</summary>
        string Alias { get; set; }
        /// <summary>Name of the tenant administrator. If provided, email also needs to be provided.</summary>
        string ContactName { get; set; }
        /// <summary>
        /// Email address for the tenant administrator. If provided, contactName for the tenant administrator also needs to be provided
        /// </summary>
        string Email { get; set; }
        /// <summary>Supported domains for the company</summary>
        string EmailSuffix { get; set; }
        /// <summary>name of the company to be created.</summary>
        string Name { get; set; }
        /// <summary>
        /// Select data protection plans to use for the company. The plans that are selected are the plans that the tenant administrator
        /// can choose from.
        /// </summary>
        Commvault.Powershell.Models.IIdName[] Plans { get; set; }
        /// <summary>
        /// The primary domain name of the company being created. Can be added only if an external domain is already present.
        /// </summary>
        string PrimaryDomain { get; set; }
        /// <summary>send a welcome email on company creation to the tenant administrator.</summary>
        bool? SendWelcomeEmail { get; set; }
        /// <summary>
        /// Used to add service commcells to the master commcell. Either id or name can be provided. If both are provided, id will
        /// be taken into consideration.
        /// </summary>
        Commvault.Powershell.Models.IIdName[] ServiceCommcells { get; set; }

    }
}