// 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.implementation;

import com.azure.resourcemanager.kusto.fluent.models.DatabasePrincipalInner;
import com.azure.resourcemanager.kusto.models.DatabasePrincipal;
import com.azure.resourcemanager.kusto.models.DatabasePrincipalRole;
import com.azure.resourcemanager.kusto.models.DatabasePrincipalType;

public final class DatabasePrincipalImpl implements DatabasePrincipal {
    private DatabasePrincipalInner innerObject;

    private final com.azure.resourcemanager.kusto.KustoManager serviceManager;

    DatabasePrincipalImpl(
        DatabasePrincipalInner innerObject, com.azure.resourcemanager.kusto.KustoManager serviceManager) {
        this.innerObject = innerObject;
        this.serviceManager = serviceManager;
    }

    public DatabasePrincipalRole role() {
        return this.innerModel().role();
    }

    public String name() {
        return this.innerModel().name();
    }

    public DatabasePrincipalType type() {
        return this.innerModel().type();
    }

    public String fqn() {
        return this.innerModel().fqn();
    }

    public String email() {
        return this.innerModel().email();
    }

    public String appId() {
        return this.innerModel().appId();
    }

    public String tenantName() {
        return this.innerModel().tenantName();
    }

    public DatabasePrincipalInner innerModel() {
        return this.innerObject;
    }

    private com.azure.resourcemanager.kusto.KustoManager manager() {
        return this.serviceManager;
    }
}
