// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
// Code generated by Microsoft (R) AutoRest Code Generator.

package com.azure.resourcemanager.kusto.models;

import com.azure.resourcemanager.kusto.fluent.models.DatabasePrincipalInner;

/** An immutable client-side representation of DatabasePrincipal. */
public interface DatabasePrincipal {
    /**
     * Gets the role property: Database principal role.
     *
     * @return the role value.
     */
    DatabasePrincipalRole role();

    /**
     * Gets the name property: Database principal name.
     *
     * @return the name value.
     */
    String name();

    /**
     * Gets the type property: Database principal type.
     *
     * @return the type value.
     */
    DatabasePrincipalType type();

    /**
     * Gets the fqn property: Database principal fully qualified name.
     *
     * @return the fqn value.
     */
    String fqn();

    /**
     * Gets the email property: Database principal email if exists.
     *
     * @return the email value.
     */
    String email();

    /**
     * Gets the appId property: Application id - relevant only for application principal type.
     *
     * @return the appId value.
     */
    String appId();

    /**
     * Gets the tenantName property: The tenant name of the principal.
     *
     * @return the tenantName value.
     */
    String tenantName();

    /**
     * Gets the inner com.azure.resourcemanager.kusto.fluent.models.DatabasePrincipalInner object.
     *
     * @return the inner object.
     */
    DatabasePrincipalInner innerModel();
}
