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

package com.azure.resourcemanager.machinelearning.models;

import com.azure.resourcemanager.machinelearning.fluent.models.EndpointPropertiesBaseInner;
import java.util.Map;

/** An immutable client-side representation of EndpointPropertiesBase. */
public interface EndpointPropertiesBase {
    /**
     * Gets the authMode property: [Required] Use 'Key' for key based authentication and 'AMLToken' for Azure Machine
     * Learning token-based authentication. 'Key' doesn't expire but 'AMLToken' does.
     *
     * @return the authMode value.
     */
    EndpointAuthMode authMode();

    /**
     * Gets the description property: Description of the inference endpoint.
     *
     * @return the description value.
     */
    String description();

    /**
     * Gets the keys property: EndpointAuthKeys to set initially on an Endpoint. This property will always be returned
     * as null. AuthKey values must be retrieved using the ListKeys API.
     *
     * @return the keys value.
     */
    EndpointAuthKeys keys();

    /**
     * Gets the properties property: Property dictionary. Properties can be added, but not removed or altered.
     *
     * @return the properties value.
     */
    Map<String, String> properties();

    /**
     * Gets the scoringUri property: Endpoint URI.
     *
     * @return the scoringUri value.
     */
    String scoringUri();

    /**
     * Gets the swaggerUri property: Endpoint Swagger URI.
     *
     * @return the swaggerUri value.
     */
    String swaggerUri();

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