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

package com.azure.resourcemanager.storagepool.models;

import com.azure.resourcemanager.storagepool.fluent.models.ResourceSkuInfoInner;
import java.util.List;

/** An immutable client-side representation of ResourceSkuInfo. */
public interface ResourceSkuInfo {
    /**
     * Gets the apiVersion property: StoragePool RP API version.
     *
     * @return the apiVersion value.
     */
    String apiVersion();

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

    /**
     * Gets the capabilities property: List of additional capabilities for StoragePool resource.
     *
     * @return the capabilities value.
     */
    List<ResourceSkuCapability> capabilities();

    /**
     * Gets the locationInfo property: Zones and zone capabilities in those locations where the SKU is available.
     *
     * @return the locationInfo value.
     */
    ResourceSkuLocationInfo locationInfo();

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

    /**
     * Gets the tier property: Sku tier.
     *
     * @return the tier value.
     */
    String tier();

    /**
     * Gets the restrictions property: The restrictions because of which SKU cannot be used. This is empty if there are
     * no restrictions.
     *
     * @return the restrictions value.
     */
    List<ResourceSkuRestrictions> restrictions();

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