// Deprecated: Please note, this package has been deprecated. A replacement package is available [github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/appconfiguration/armappconfiguration](https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/appconfiguration/armappconfiguration). We strongly encourage you to upgrade to continue receiving updates. See [Migration Guide](https://aka.ms/azsdk/golang/t2/migration) for guidance on upgrading. Refer to our [deprecation policy](https://azure.github.io/azure-sdk/policies_support.html) for more details.
package appconfigurationapi

// 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.
// Changes may cause incorrect behavior and will be lost if the code is regenerated.

import (
	"context"
	"github.com/Azure/azure-sdk-for-go/services/preview/appconfiguration/mgmt/2021-10-01-preview/appconfiguration"
)

// ConfigurationStoresClientAPI contains the set of methods on the ConfigurationStoresClient type.
type ConfigurationStoresClientAPI interface {
	Create(ctx context.Context, resourceGroupName string, configStoreName string, configStoreCreationParameters appconfiguration.ConfigurationStore) (result appconfiguration.ConfigurationStoresCreateFuture, err error)
	Delete(ctx context.Context, resourceGroupName string, configStoreName string) (result appconfiguration.ConfigurationStoresDeleteFuture, err error)
	Get(ctx context.Context, resourceGroupName string, configStoreName string) (result appconfiguration.ConfigurationStore, err error)
	GetDeleted(ctx context.Context, location string, configStoreName string) (result appconfiguration.DeletedConfigurationStore, err error)
	List(ctx context.Context, skipToken string) (result appconfiguration.ConfigurationStoreListResultPage, err error)
	ListComplete(ctx context.Context, skipToken string) (result appconfiguration.ConfigurationStoreListResultIterator, err error)
	ListByResourceGroup(ctx context.Context, resourceGroupName string, skipToken string) (result appconfiguration.ConfigurationStoreListResultPage, err error)
	ListByResourceGroupComplete(ctx context.Context, resourceGroupName string, skipToken string) (result appconfiguration.ConfigurationStoreListResultIterator, err error)
	ListDeleted(ctx context.Context) (result appconfiguration.DeletedConfigurationStoreListResultPage, err error)
	ListDeletedComplete(ctx context.Context) (result appconfiguration.DeletedConfigurationStoreListResultIterator, err error)
	ListKeys(ctx context.Context, resourceGroupName string, configStoreName string, skipToken string) (result appconfiguration.APIKeyListResultPage, err error)
	ListKeysComplete(ctx context.Context, resourceGroupName string, configStoreName string, skipToken string) (result appconfiguration.APIKeyListResultIterator, err error)
	PurgeDeleted(ctx context.Context, location string, configStoreName string) (result appconfiguration.ConfigurationStoresPurgeDeletedFuture, err error)
	RegenerateKey(ctx context.Context, resourceGroupName string, configStoreName string, regenerateKeyParameters appconfiguration.RegenerateKeyParameters) (result appconfiguration.APIKey, err error)
	Update(ctx context.Context, resourceGroupName string, configStoreName string, configStoreUpdateParameters appconfiguration.ConfigurationStoreUpdateParameters) (result appconfiguration.ConfigurationStoresUpdateFuture, err error)
}

var _ ConfigurationStoresClientAPI = (*appconfiguration.ConfigurationStoresClient)(nil)

// OperationsClientAPI contains the set of methods on the OperationsClient type.
type OperationsClientAPI interface {
	CheckNameAvailability(ctx context.Context, checkNameAvailabilityParameters appconfiguration.CheckNameAvailabilityParameters) (result appconfiguration.NameAvailabilityStatus, err error)
	List(ctx context.Context, skipToken string) (result appconfiguration.OperationDefinitionListResultPage, err error)
	ListComplete(ctx context.Context, skipToken string) (result appconfiguration.OperationDefinitionListResultIterator, err error)
	RegionalCheckNameAvailability(ctx context.Context, location string, checkNameAvailabilityParameters appconfiguration.CheckNameAvailabilityParameters) (result appconfiguration.NameAvailabilityStatus, err error)
}

var _ OperationsClientAPI = (*appconfiguration.OperationsClient)(nil)

// PrivateEndpointConnectionsClientAPI contains the set of methods on the PrivateEndpointConnectionsClient type.
type PrivateEndpointConnectionsClientAPI interface {
	CreateOrUpdate(ctx context.Context, resourceGroupName string, configStoreName string, privateEndpointConnectionName string, privateEndpointConnection appconfiguration.PrivateEndpointConnection) (result appconfiguration.PrivateEndpointConnectionsCreateOrUpdateFuture, err error)
	Delete(ctx context.Context, resourceGroupName string, configStoreName string, privateEndpointConnectionName string) (result appconfiguration.PrivateEndpointConnectionsDeleteFuture, err error)
	Get(ctx context.Context, resourceGroupName string, configStoreName string, privateEndpointConnectionName string) (result appconfiguration.PrivateEndpointConnection, err error)
	ListByConfigurationStore(ctx context.Context, resourceGroupName string, configStoreName string) (result appconfiguration.PrivateEndpointConnectionListResultPage, err error)
	ListByConfigurationStoreComplete(ctx context.Context, resourceGroupName string, configStoreName string) (result appconfiguration.PrivateEndpointConnectionListResultIterator, err error)
}

var _ PrivateEndpointConnectionsClientAPI = (*appconfiguration.PrivateEndpointConnectionsClient)(nil)

// PrivateLinkResourcesClientAPI contains the set of methods on the PrivateLinkResourcesClient type.
type PrivateLinkResourcesClientAPI interface {
	Get(ctx context.Context, resourceGroupName string, configStoreName string, groupName string) (result appconfiguration.PrivateLinkResource, err error)
	ListByConfigurationStore(ctx context.Context, resourceGroupName string, configStoreName string) (result appconfiguration.PrivateLinkResourceListResultPage, err error)
	ListByConfigurationStoreComplete(ctx context.Context, resourceGroupName string, configStoreName string) (result appconfiguration.PrivateLinkResourceListResultIterator, err error)
}

var _ PrivateLinkResourcesClientAPI = (*appconfiguration.PrivateLinkResourcesClient)(nil)

// KeyValuesClientAPI contains the set of methods on the KeyValuesClient type.
type KeyValuesClientAPI interface {
	CreateOrUpdate(ctx context.Context, resourceGroupName string, configStoreName string, keyValueName string, keyValueParameters *appconfiguration.KeyValue) (result appconfiguration.KeyValue, err error)
	Delete(ctx context.Context, resourceGroupName string, configStoreName string, keyValueName string) (result appconfiguration.KeyValuesDeleteFuture, err error)
	Get(ctx context.Context, resourceGroupName string, configStoreName string, keyValueName string) (result appconfiguration.KeyValue, err error)
	ListByConfigurationStore(ctx context.Context, resourceGroupName string, configStoreName string, skipToken string) (result appconfiguration.KeyValueListResultPage, err error)
	ListByConfigurationStoreComplete(ctx context.Context, resourceGroupName string, configStoreName string, skipToken string) (result appconfiguration.KeyValueListResultIterator, err error)
}

var _ KeyValuesClientAPI = (*appconfiguration.KeyValuesClient)(nil)
