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

com.microsoft.azure.management.search.SearchService Maven / Gradle / Ivy

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.search;

import com.microsoft.azure.CloudException;
import com.microsoft.azure.management.apigeneration.Beta;
import com.microsoft.azure.management.apigeneration.Fluent;
import com.microsoft.azure.management.resources.fluentcore.arm.models.GroupableResource;
import com.microsoft.azure.management.resources.fluentcore.arm.models.Resource;
import com.microsoft.azure.management.resources.fluentcore.model.Appliable;
import com.microsoft.azure.management.resources.fluentcore.model.Creatable;
import com.microsoft.azure.management.resources.fluentcore.model.Refreshable;
import com.microsoft.azure.management.resources.fluentcore.model.Updatable;
import com.microsoft.azure.management.search.implementation.SearchServiceInner;
import com.microsoft.azure.management.search.implementation.SearchServiceManager;
import rx.Completable;
import rx.Observable;

import java.util.List;

/**
 * An immutable client-side representation of an Azure registry.
 */
@Fluent
@Beta(Beta.SinceVersion.V1_2_0)
public interface SearchService extends
    GroupableResource,
    Refreshable,
    Updatable {

  /***********************************************************
   * Getters
   ***********************************************************/

  /**
   * The hosting mode value.
   * 

* Applicable only for the standard3 SKU. You can set this property to enable up to 3 high density partitions that * allow up to 1000 indexes, which is much higher than the maximum indexes allowed for any other SKU. For the * standard3 SKU, the value is either 'default' or 'highDensity'. For all other SKUs, this value must be 'default'. * * @return the hosting mode value. */ HostingMode hostingMode(); /** * @return the number of partitions used by the service */ int partitionCount(); /** * The state of the last provisioning operation performed on the Search service. *

* Provisioning is an intermediate state that occurs while service capacity is being established. After capacity * is set up, provisioningState changes to either 'succeeded' or 'failed'. Client applications can poll * provisioning status (the recommended polling interval is from 30 seconds to one minute) by using the Get Search * Service operation to see when an operation is completed. If you are using the free service, this value tends * to come back as 'succeeded' directly in the call to Create Search service. This is because the free service uses * capacity that is already set up. * * @return the provisioning state of the resource */ ProvisioningState provisioningState(); /** * @return the number of replicas used by the service */ int replicaCount(); /** * @return the SKU type of the service */ Sku sku(); /** * The status of the Search service. *

* Possible values include: * 'running': the Search service is running and no provisioning operations are underway. * 'provisioning': the Search service is being provisioned or scaled up or down. * 'deleting': the Search service is being deleted. * 'degraded': the Search service is degraded. This can occur when the underlying search units are not healthy. * The Search service is most likely operational, but performance might be slow and some requests might be dropped. * 'disabled': the Search service is disabled. In this state, the service will reject all API requests. * 'error': the Search service is in an error state. If your service is in the degraded, disabled, or error states, * it means the Azure Search team is actively investigating the underlying issue. Dedicated services in these * states are still chargeable based on the number of search units provisioned. * * @return the status of the service */ SearchServiceStatus status(); /** * @return the details of the status. */ String statusDetails(); /** * The primary and secondary admin API keys for the specified Azure Search service. * * @throws IllegalArgumentException thrown if parameters fail the validation * @throws CloudException thrown if the request is rejected by server * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent * @return the AdminKeys object if successful */ AdminKeys getAdminKeys(); /** * The primary and secondary admin API keys for the specified Azure Search service. * * @throws IllegalArgumentException thrown if parameters fail the validation * @return a representation of the future computation of this call */ Observable getAdminKeysAsync(); /** * Returns the list of query API keys for the given Azure Search service. * * @throws IllegalArgumentException thrown if parameters fail the validation * @throws CloudException thrown if the request is rejected by server * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent * @return the List<QueryKey> object if successful */ List listQueryKeys(); /** * Returns the list of query API keys for the given Azure Search service. * * @throws IllegalArgumentException thrown if parameters fail the validation * @return the observable to the List<QueryKey> object */ Observable listQueryKeysAsync(); /*********************************************************** * Actions ***********************************************************/ /** * Regenerates either the primary or secondary admin API key. *

* You can only regenerate one key at a time. * * @param keyKind specifies which key to regenerate * @throws IllegalArgumentException thrown if parameters fail the validation * @throws CloudException thrown if the request is rejected by server * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent * @return the AdminKeys object if successful */ AdminKeys regenerateAdminKeys(AdminKeyKind keyKind); /** * Regenerates either the primary or secondary admin API key. You can only regenerate one key at a time. * * @param keyKind Specifies which key to regenerate * @throws IllegalArgumentException thrown if parameters fail the validation * @return a representation of the future computation of this call */ Observable regenerateAdminKeysAsync(AdminKeyKind keyKind); /** * Regenerates either the primary or secondary admin API key. *

* You can only regenerate one key at a time. * * @param name The name of the new query API key. * @throws IllegalArgumentException thrown if parameters fail the validation * @throws CloudException thrown if the request is rejected by server * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent * @return the <QueryKey> object if successful */ QueryKey createQueryKey(String name); /** * Regenerates either the primary or secondary admin API key. *

* You can only regenerate one key at a time. * * @param name The name of the new query API key. * @throws IllegalArgumentException thrown if parameters fail the validation * @return a representation of the future computation of this call */ Observable createQueryKeyAsync(String name); /** * Deletes the specified query key. *

* Unlike admin keys, query keys are not regenerated. The process for regenerating a query key is to delete and then * recreate it. * * @param key The query key to be deleted. Query keys are identified by value, not by name. * @throws IllegalArgumentException thrown if parameters fail the validation * @throws CloudException thrown if the request is rejected by server * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent */ void deleteQueryKey(String key); /** * Deletes the specified query key. *

* Unlike admin keys, query keys are not regenerated. The process for * regenerating a query key is to delete and then recreate it. * * @param key The query key to be deleted. Query keys are identified by value, not by name. * @throws IllegalArgumentException thrown if parameters fail the validation * @return a representation of the future computation of this call */ Completable deleteQueryKeyAsync(String key); /** * The entirety of the Search service definition. */ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithGroup, DefinitionStages.WithSku, DefinitionStages.WithPartitionsAndCreate, DefinitionStages.WithReplicasAndCreate, DefinitionStages.WithCreate { } /** * Grouping of virtual network definition stages. */ interface DefinitionStages { /** * The first stage of the Search service definition. */ interface Blank extends GroupableResource.DefinitionWithRegion { } /** * The stage of the Search service definition allowing to specify the resource group. */ interface WithGroup extends GroupableResource.DefinitionStages.WithGroup { } /** * The stage of the Search service definition allowing to specify the SKU. */ interface WithSku { /** * Specifies the SKU of the Search service. * * @param skuName the SKU * @return the next stage of the definition */ WithCreate withSku(SkuName skuName); /** * Specifies to use a free SKU type for the Search service. * * @return the next stage of the definition */ WithCreate withFreeSku(); /** * Specifies to use a basic SKU type for the Search service. * * @return the next stage of the definition */ WithReplicasAndCreate withBasicSku(); /** * Specifies to use a standard SKU type for the Search service. * * @return the next stage of the definition */ WithPartitionsAndCreate withStandardSku(); } interface WithReplicasAndCreate extends WithCreate { /** * Specifies the SKU of the Search service. * * @param count the number of replicas to be created * @return the next stage of the definition */ WithCreate withReplicaCount(int count); } interface WithPartitionsAndCreate extends WithReplicasAndCreate { /** * Specifies the SKU of the Search service. * * @param count the number of partitions to be created * @return the next stage of the definition */ WithReplicasAndCreate withPartitionCount(int count); } /** * The stage of the definition which contains all the minimum required inputs for the resource to be created * (via {@link WithCreate#create()}), but also allows for any other optional settings to be specified. */ interface WithCreate extends Creatable, Resource.DefinitionWithTags { } } /** * The template for a Search service update operation, containing all the settings that can be modified. */ interface Update extends Appliable, Resource.UpdateWithTags, UpdateStages.WithReplicaCount, UpdateStages.WithPartitionCount { } /** * Grouping of all the Search service update stages. */ interface UpdateStages { /** * The stage of the Search service update allowing to modify the number of replicas used. */ interface WithReplicaCount { /** * Specifies the replicas count of the Search service. * * @param count the replicas count; replicas distribute workloads across the service. You need 2 or more to support high availability (applies to Basic and Standard tiers only) * @return the next stage of the definition */ Update withReplicaCount(int count); } /** * The stage of the Search service update allowing to modify the number of partitions used. */ interface WithPartitionCount { /** * Specifies the Partitions count of the Search service. * @param count the partitions count; Partitions allow for scaling of document counts as well as faster data ingestion by spanning your index over multiple Azure Search Units (applies to Standard tiers only) * @return the next stage of the definition */ Update withPartitionCount(int count); } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy