All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.microsoft.azure.management.sql.SqlServerAutomaticTuning Maven / Gradle / Ivy

Go to download

This package contains Microsoft Azure Sql Management SDK. A new set of management libraries are now Generally Available. For documentation on how to use the new libraries, please see https://aka.ms/azsdk/java/mgmt

There is a newer version: 1.41.4
Show newest version
/**
 * Copyright (c) Microsoft Corporation. All rights reserved.
 * Licensed under the MIT License. See License.txt in the project root for
 * license information.
 */

package com.microsoft.azure.management.sql;

import com.microsoft.azure.management.apigeneration.Beta;
import com.microsoft.azure.management.apigeneration.Fluent;
import com.microsoft.azure.management.resources.fluentcore.model.Appliable;
import com.microsoft.azure.management.resources.fluentcore.model.HasInner;
import com.microsoft.azure.management.resources.fluentcore.model.Refreshable;
import com.microsoft.azure.management.resources.fluentcore.model.Updatable;
import com.microsoft.azure.management.sql.implementation.ServerAutomaticTuningInner;

import java.util.Map;

/**
 * An immutable client-side representation of an Azure SQL Server automatic tuning object.
 */
@Fluent
@Beta(Beta.SinceVersion.V1_8_0)
public interface SqlServerAutomaticTuning extends
    HasInner,
    Refreshable,
    Updatable {

    /**
     * @return the server automatic tuning desired state
     */
    AutomaticTuningServerMode desiredState();

    /**
     * @return the server automatic tuning actual state
     */
    AutomaticTuningServerMode actualState();

    /**
     * @return the server automatic tuning individual options
     */
    Map tuningOptions();



    /**************************************************************
     * Fluent interfaces to update a SqlServerAutomaticTuning
     **************************************************************/

    /**
     * The template for a SqlServerAutomaticTuning update operation, containing all the settings that can be modified.
     */
    @Beta(Beta.SinceVersion.V1_8_0)
    interface Update extends
        SqlServerAutomaticTuning.UpdateStages.WithAutomaticTuningMode,
        SqlServerAutomaticTuning.UpdateStages.WithAutomaticTuningOptions,
        Appliable {
    }

    /**
     * Grouping of all the SqlServerAutomaticTuning update stages.
     */
    interface UpdateStages {
        /**
         * The update stage setting the SQL server automatic tuning desired state.
         */
        interface WithAutomaticTuningMode {
            /**
             * Sets the SQL server automatic tuning desired state.
             *
             * @param desiredState the server automatic tuning desired state
             * @return Next stage of the update.
             */
            Update withAutomaticTuningMode(AutomaticTuningServerMode desiredState);
        }

        /**
         * The update stage setting the server automatic tuning options.
         */
        interface WithAutomaticTuningOptions {
            /**
             * Sets the various SQL server automatic tuning options desired state.
             *
             * @param tuningOptionName tuning option name
             * @param desiredState the desired state
             * @return Next stage of the update.
             */
            Update withAutomaticTuningOption(String tuningOptionName, AutomaticTuningOptionModeDesired desiredState);

            /**
             * Sets the various SQL server automatic tuning options desired state.
             *
             * @param tuningOptions the tuning options
             * @return Next stage of the update.
             */
            Update withAutomaticTuningOptions(Map tuningOptions);
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy