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

com.microsoft.azure.management.sql.RecommendedIndex 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.
 *
 * Code generated by Microsoft (R) AutoRest Code Generator.
 */

package com.microsoft.azure.management.sql;

import org.joda.time.DateTime;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.microsoft.rest.serializer.JsonFlatten;
import com.microsoft.azure.ProxyResource;

/**
 * Represents a database recommended index.
 */
@JsonFlatten
public class RecommendedIndex extends ProxyResource {
    /**
     * The proposed index action. You can create a missing index, drop an
     * unused index, or rebuild an existing index to improve its performance.
     * Possible values include: 'Create', 'Drop', 'Rebuild'.
     */
    @JsonProperty(value = "properties.action", access = JsonProperty.Access.WRITE_ONLY)
    private RecommendedIndexAction action;

    /**
     * The current recommendation state. Possible values include: 'Active',
     * 'Pending', 'Executing', 'Verifying', 'Pending Revert', 'Reverting',
     * 'Reverted', 'Ignored', 'Expired', 'Blocked', 'Success'.
     */
    @JsonProperty(value = "properties.state", access = JsonProperty.Access.WRITE_ONLY)
    private RecommendedIndexState state;

    /**
     * The UTC datetime showing when this resource was created (ISO8601
     * format).
     */
    @JsonProperty(value = "properties.created", access = JsonProperty.Access.WRITE_ONLY)
    private DateTime created;

    /**
     * The UTC datetime of when was this resource last changed (ISO8601
     * format).
     */
    @JsonProperty(value = "properties.lastModified", access = JsonProperty.Access.WRITE_ONLY)
    private DateTime lastModified;

    /**
     * The type of index (CLUSTERED, NONCLUSTERED, COLUMNSTORE, CLUSTERED
     * COLUMNSTORE). Possible values include: 'CLUSTERED', 'NONCLUSTERED',
     * 'COLUMNSTORE', 'CLUSTERED COLUMNSTORE'.
     */
    @JsonProperty(value = "properties.indexType", access = JsonProperty.Access.WRITE_ONLY)
    private RecommendedIndexType indexType;

    /**
     * The schema where table to build index over resides.
     */
    @JsonProperty(value = "properties.schema", access = JsonProperty.Access.WRITE_ONLY)
    private String schema;

    /**
     * The table on which to build index.
     */
    @JsonProperty(value = "properties.table", access = JsonProperty.Access.WRITE_ONLY)
    private String table;

    /**
     * Columns over which to build index.
     */
    @JsonProperty(value = "properties.columns", access = JsonProperty.Access.WRITE_ONLY)
    private List columns;

    /**
     * The list of column names to be included in the index.
     */
    @JsonProperty(value = "properties.includedColumns", access = JsonProperty.Access.WRITE_ONLY)
    private List includedColumns;

    /**
     * The full build index script.
     */
    @JsonProperty(value = "properties.indexScript", access = JsonProperty.Access.WRITE_ONLY)
    private String indexScript;

    /**
     * The estimated impact of doing recommended index action.
     */
    @JsonProperty(value = "properties.estimatedImpact", access = JsonProperty.Access.WRITE_ONLY)
    private List estimatedImpact;

    /**
     * The values reported after index action is complete.
     */
    @JsonProperty(value = "properties.reportedImpact", access = JsonProperty.Access.WRITE_ONLY)
    private List reportedImpact;

    /**
     * Get the proposed index action. You can create a missing index, drop an unused index, or rebuild an existing index to improve its performance. Possible values include: 'Create', 'Drop', 'Rebuild'.
     *
     * @return the action value
     */
    public RecommendedIndexAction action() {
        return this.action;
    }

    /**
     * Get the current recommendation state. Possible values include: 'Active', 'Pending', 'Executing', 'Verifying', 'Pending Revert', 'Reverting', 'Reverted', 'Ignored', 'Expired', 'Blocked', 'Success'.
     *
     * @return the state value
     */
    public RecommendedIndexState state() {
        return this.state;
    }

    /**
     * Get the UTC datetime showing when this resource was created (ISO8601 format).
     *
     * @return the created value
     */
    public DateTime created() {
        return this.created;
    }

    /**
     * Get the UTC datetime of when was this resource last changed (ISO8601 format).
     *
     * @return the lastModified value
     */
    public DateTime lastModified() {
        return this.lastModified;
    }

    /**
     * Get the type of index (CLUSTERED, NONCLUSTERED, COLUMNSTORE, CLUSTERED COLUMNSTORE). Possible values include: 'CLUSTERED', 'NONCLUSTERED', 'COLUMNSTORE', 'CLUSTERED COLUMNSTORE'.
     *
     * @return the indexType value
     */
    public RecommendedIndexType indexType() {
        return this.indexType;
    }

    /**
     * Get the schema where table to build index over resides.
     *
     * @return the schema value
     */
    public String schema() {
        return this.schema;
    }

    /**
     * Get the table on which to build index.
     *
     * @return the table value
     */
    public String table() {
        return this.table;
    }

    /**
     * Get columns over which to build index.
     *
     * @return the columns value
     */
    public List columns() {
        return this.columns;
    }

    /**
     * Get the list of column names to be included in the index.
     *
     * @return the includedColumns value
     */
    public List includedColumns() {
        return this.includedColumns;
    }

    /**
     * Get the full build index script.
     *
     * @return the indexScript value
     */
    public String indexScript() {
        return this.indexScript;
    }

    /**
     * Get the estimated impact of doing recommended index action.
     *
     * @return the estimatedImpact value
     */
    public List estimatedImpact() {
        return this.estimatedImpact;
    }

    /**
     * Get the values reported after index action is complete.
     *
     * @return the reportedImpact value
     */
    public List reportedImpact() {
        return this.reportedImpact;
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy