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

package com.azure.resourcemanager.datalakeanalytics.fluent.models;

import com.azure.core.annotation.Immutable;
import com.azure.resourcemanager.datalakeanalytics.models.NestedResourceProvisioningState;
import com.fasterxml.jackson.annotation.JsonProperty;

/** The HiveMetastore properties. */
@Immutable
public final class HiveMetastoreProperties {
    /*
     * The serverUri for the Hive MetaStore
     */
    @JsonProperty(value = "serverUri", access = JsonProperty.Access.WRITE_ONLY)
    private String serverUri;

    /*
     * The databaseName for the Hive MetaStore
     */
    @JsonProperty(value = "databaseName", access = JsonProperty.Access.WRITE_ONLY)
    private String databaseName;

    /*
     * The runtimeVersion for the Hive MetaStore
     */
    @JsonProperty(value = "runtimeVersion", access = JsonProperty.Access.WRITE_ONLY)
    private String runtimeVersion;

    /*
     * The userName for the Hive MetaStore
     */
    @JsonProperty(value = "userName", access = JsonProperty.Access.WRITE_ONLY)
    private String username;

    /*
     * The password for the Hive MetaStore
     */
    @JsonProperty(value = "password", access = JsonProperty.Access.WRITE_ONLY)
    private String password;

    /*
     * The current state of the NestedResource
     */
    @JsonProperty(value = "nestedResourceProvisioningState", access = JsonProperty.Access.WRITE_ONLY)
    private NestedResourceProvisioningState nestedResourceProvisioningState;

    /** Creates an instance of HiveMetastoreProperties class. */
    public HiveMetastoreProperties() {
    }

    /**
     * Get the serverUri property: The serverUri for the Hive MetaStore.
     *
     * @return the serverUri value.
     */
    public String serverUri() {
        return this.serverUri;
    }

    /**
     * Get the databaseName property: The databaseName for the Hive MetaStore.
     *
     * @return the databaseName value.
     */
    public String databaseName() {
        return this.databaseName;
    }

    /**
     * Get the runtimeVersion property: The runtimeVersion for the Hive MetaStore.
     *
     * @return the runtimeVersion value.
     */
    public String runtimeVersion() {
        return this.runtimeVersion;
    }

    /**
     * Get the username property: The userName for the Hive MetaStore.
     *
     * @return the username value.
     */
    public String username() {
        return this.username;
    }

    /**
     * Get the password property: The password for the Hive MetaStore.
     *
     * @return the password value.
     */
    public String password() {
        return this.password;
    }

    /**
     * Get the nestedResourceProvisioningState property: The current state of the NestedResource.
     *
     * @return the nestedResourceProvisioningState value.
     */
    public NestedResourceProvisioningState nestedResourceProvisioningState() {
        return this.nestedResourceProvisioningState;
    }

    /**
     * Validates the instance.
     *
     * @throws IllegalArgumentException thrown if the instance is not valid.
     */
    public void validate() {
    }
}
