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

package com.azure.resourcemanager.mysql.models;

import com.azure.resourcemanager.mysql.fluent.models.RecommendationActionInner;
import java.time.OffsetDateTime;
import java.util.Map;

/** An immutable client-side representation of RecommendationAction. */
public interface RecommendationAction {
    /**
     * Gets the id property: Fully qualified resource Id for the resource.
     *
     * @return the id value.
     */
    String id();

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

    /**
     * Gets the type property: The type of the resource.
     *
     * @return the type value.
     */
    String type();

    /**
     * Gets the advisorName property: Advisor name.
     *
     * @return the advisorName value.
     */
    String advisorName();

    /**
     * Gets the sessionId property: Recommendation action session identifier.
     *
     * @return the sessionId value.
     */
    String sessionId();

    /**
     * Gets the actionId property: Recommendation action identifier.
     *
     * @return the actionId value.
     */
    Integer actionId();

    /**
     * Gets the createdTime property: Recommendation action creation time.
     *
     * @return the createdTime value.
     */
    OffsetDateTime createdTime();

    /**
     * Gets the expirationTime property: Recommendation action expiration time.
     *
     * @return the expirationTime value.
     */
    OffsetDateTime expirationTime();

    /**
     * Gets the reason property: Recommendation action reason.
     *
     * @return the reason value.
     */
    String reason();

    /**
     * Gets the recommendationType property: Recommendation action type.
     *
     * @return the recommendationType value.
     */
    String recommendationType();

    /**
     * Gets the details property: Recommendation action details.
     *
     * @return the details value.
     */
    Map<String, String> details();

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