/** * 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.Fluent; import com.microsoft.azure.management.resources.fluentcore.arm.Region; import com.microsoft.azure.management.resources.fluentcore.arm.collection.SupportsDeletingByParent; import com.microsoft.azure.management.resources.fluentcore.arm.collection.SupportsGettingById; import com.microsoft.azure.management.resources.fluentcore.arm.models.HasManager; import com.microsoft.azure.management.resources.fluentcore.collection.SupportsBatchCreation; import com.microsoft.azure.management.resources.fluentcore.collection.SupportsCreating; import com.microsoft.azure.management.resources.fluentcore.collection.SupportsDeletingById; import com.microsoft.azure.management.resources.fluentcore.model.HasInner; import com.microsoft.azure.management.sql.implementation.ElasticPoolsInner; import com.microsoft.azure.management.sql.implementation.SqlServerManager; import java.util.List; /** * Entry point to SQL Elastic Pool management API. */ @Fluent public interface SqlElasticPools extends SupportsCreating<SqlElasticPool.DefinitionStages.Blank>, SupportsDeletingById, SupportsGettingById<SqlElasticPool>, SupportsBatchCreation<SqlElasticPool>, SupportsDeletingByParent, HasManager<SqlServerManager>, HasInner<ElasticPoolsInner> { /** * Gets the SQLElasticPool based on the resource group name, SQLServer name and SQLElasticPool name. * * @param resourceGroup the name of resource group. * @param sqlServerName the name of SQLServer. * @param name the name of SQLElasticPool. * @return an immutable representation of the SQLElasticPool */ SqlElasticPool getBySqlServer(String resourceGroup, String sqlServerName, String name); /** * Gets the SQLElasticPool based on the SQLServer instance and SQLElasticPool name. * * @param sqlServer the instance of SQLServer. * @param name the name of SQLElasticPool * @return an immutable representation of the SQLElasticPool */ SqlElasticPool getBySqlServer(SqlServer sqlServer, String name); /** * Lists resources of the specified type in the specified resource group and SQLServer. * * @param resourceGroupName the name of the resource group to list the resources from * @param sqlServerName the name of SQLServer * @return the list of SQLElasticPools in a SQLServer */ List<SqlElasticPool> listBySqlServer(String resourceGroupName, String sqlServerName); /** * Gets the SQLElasticPool based on the SQLServer. * * @param sqlServer the instance of SQLServer * @return the list of SQLElasticPools in a SQLServer */ List<SqlElasticPool> listBySqlServer(SqlServer sqlServer); /** * Entry point to SQL ElasticPool management API, which already have the SQLServer specified. */ interface SqlElasticPoolsCreatable extends SqlElasticPools { SqlElasticPool.DefinitionStages.Blank definedWithSqlServer(String resourceGroupName, String sqlServerName, String elasticPoolName, Region region); } }