diff --git a/sdk/appconfiguration/arm-appconfiguration/LICENSE.txt b/sdk/appconfiguration/arm-appconfiguration/LICENSE.txt index b73b4a1293c3..ea8fb1516028 100644 --- a/sdk/appconfiguration/arm-appconfiguration/LICENSE.txt +++ b/sdk/appconfiguration/arm-appconfiguration/LICENSE.txt @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2019 Microsoft +Copyright (c) 2020 Microsoft Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/sdk/appconfiguration/arm-appconfiguration/README.md b/sdk/appconfiguration/arm-appconfiguration/README.md index d294260f71ab..7b59569e1ed6 100644 --- a/sdk/appconfiguration/arm-appconfiguration/README.md +++ b/sdk/appconfiguration/arm-appconfiguration/README.md @@ -98,4 +98,4 @@ See https://github.com/Azure/ms-rest-browserauth to learn how to authenticate to - [Microsoft Azure SDK for Javascript](https://github.com/Azure/azure-sdk-for-js) -![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-js%2Fsdk%2Fappconfiguration%2Farm-appconfiguration%2FREADME.png) +![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-js/sdk/appconfiguration/arm-appconfiguration/README.png) diff --git a/sdk/appconfiguration/arm-appconfiguration/src/appConfigurationManagementClient.ts b/sdk/appconfiguration/arm-appconfiguration/src/appConfigurationManagementClient.ts index 4ae178f2b4d6..bc7c2ccf0f9c 100644 --- a/sdk/appconfiguration/arm-appconfiguration/src/appConfigurationManagementClient.ts +++ b/sdk/appconfiguration/arm-appconfiguration/src/appConfigurationManagementClient.ts @@ -19,6 +19,8 @@ class AppConfigurationManagementClient extends AppConfigurationManagementClientC // Operation groups configurationStores: operations.ConfigurationStores; operations: operations.Operations; + privateEndpointConnections: operations.PrivateEndpointConnections; + privateLinkResources: operations.PrivateLinkResources; /** * Initializes a new instance of the AppConfigurationManagementClient class. @@ -30,6 +32,8 @@ class AppConfigurationManagementClient extends AppConfigurationManagementClientC super(credentials, subscriptionId, options); this.configurationStores = new operations.ConfigurationStores(this); this.operations = new operations.Operations(this); + this.privateEndpointConnections = new operations.PrivateEndpointConnections(this); + this.privateLinkResources = new operations.PrivateLinkResources(this); } } diff --git a/sdk/appconfiguration/arm-appconfiguration/src/appConfigurationManagementClientContext.ts b/sdk/appconfiguration/arm-appconfiguration/src/appConfigurationManagementClientContext.ts index ebc7a1f964ab..1ad16774c722 100644 --- a/sdk/appconfiguration/arm-appconfiguration/src/appConfigurationManagementClientContext.ts +++ b/sdk/appconfiguration/arm-appconfiguration/src/appConfigurationManagementClientContext.ts @@ -13,7 +13,7 @@ import * as msRest from "@azure/ms-rest-js"; import * as msRestAzure from "@azure/ms-rest-azure-js"; const packageName = "@azure/arm-appconfiguration"; -const packageVersion = "1.0.0"; +const packageVersion = "1.1.0"; export class AppConfigurationManagementClientContext extends msRestAzure.AzureServiceClient { credentials: msRest.ServiceClientCredentials; @@ -44,7 +44,7 @@ export class AppConfigurationManagementClientContext extends msRestAzure.AzureSe super(credentials, options); - this.apiVersion = '2019-02-01-preview'; + this.apiVersion = '2019-11-01-preview'; this.acceptLanguage = 'en-US'; this.longRunningOperationRetryTimeout = 30; this.baseUri = options.baseUri || this.baseUri || "https://management.azure.com"; diff --git a/sdk/appconfiguration/arm-appconfiguration/src/models/configurationStoresMappers.ts b/sdk/appconfiguration/arm-appconfiguration/src/models/configurationStoresMappers.ts index bd94f9086b1c..d13ed89e5d7b 100644 --- a/sdk/appconfiguration/arm-appconfiguration/src/models/configurationStoresMappers.ts +++ b/sdk/appconfiguration/arm-appconfiguration/src/models/configurationStoresMappers.ts @@ -13,9 +13,17 @@ export { ConfigurationStore, ConfigurationStoreListResult, ConfigurationStoreUpdateParameters, + EncryptionProperties, ErrorModel, KeyValue, + KeyVaultProperties, ListKeyValueParameters, + PrivateEndpoint, + PrivateEndpointConnection, + PrivateLinkServiceConnectionState, RegenerateKeyParameters, - Resource + Resource, + ResourceIdentity, + Sku, + UserIdentity } from "../models/mappers"; diff --git a/sdk/appconfiguration/arm-appconfiguration/src/models/index.ts b/sdk/appconfiguration/arm-appconfiguration/src/models/index.ts index 414d2c2d6d81..82cb8ec26c64 100644 --- a/sdk/appconfiguration/arm-appconfiguration/src/models/index.ts +++ b/sdk/appconfiguration/arm-appconfiguration/src/models/index.ts @@ -11,6 +11,87 @@ import * as msRest from "@azure/ms-rest-js"; export { BaseResource, CloudError }; +/** + * A resource identity that is managed by the user of the service. + */ +export interface UserIdentity { + /** + * The principal ID of the user-assigned identity. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly principalId?: string; + /** + * The client ID of the user-assigned identity. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly clientId?: string; +} + +/** + * An identity that can be associated with a resource. + */ +export interface ResourceIdentity { + /** + * The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an + * implicitly created identity and a set of user-assigned identities. The type 'None' will remove + * any identities. Possible values include: 'None', 'SystemAssigned', 'UserAssigned', + * 'SystemAssigned, UserAssigned' + */ + type?: IdentityType; + /** + * The list of user-assigned identities associated with the resource. The user-assigned identity + * dictionary keys will be ARM resource ids in the form: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + */ + userAssignedIdentities?: { [propertyName: string]: UserIdentity }; + /** + * The principal id of the identity. This property will only be provided for a system-assigned + * identity. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly principalId?: string; + /** + * The tenant id associated with the resource's identity. This property will only be provided for + * a system-assigned identity. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly tenantId?: string; +} + +/** + * Settings concerning key vault encryption for a configuration store. + */ +export interface KeyVaultProperties { + /** + * The URI of the key vault key used to encrypt data. + */ + keyIdentifier?: string; + /** + * The client id of the identity which will be used to access key vault. + */ + identityClientId?: string; +} + +/** + * The encryption settings for a configuration store. + */ +export interface EncryptionProperties { + /** + * Key vault properties. + */ + keyVaultProperties?: KeyVaultProperties; +} + +/** + * Describes a configuration store SKU. + */ +export interface Sku { + /** + * The SKU name of the configuration store. + */ + name: string; +} + /** * An Azure resource. */ @@ -45,6 +126,10 @@ export interface Resource extends BaseResource { * all information to begin utilizing it. */ export interface ConfigurationStore extends Resource { + /** + * The managed identity information, if configured. + */ + identity?: ResourceIdentity; /** * The provisioning state of the configuration store. Possible values include: 'Creating', * 'Updating', 'Deleting', 'Succeeded', 'Failed', 'Canceled' @@ -61,6 +146,14 @@ export interface ConfigurationStore extends Resource { * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly endpoint?: string; + /** + * The encryption settings of the configuration store. + */ + encryption?: EncryptionProperties; + /** + * The sku of the configuration store. + */ + sku: Sku; } /** @@ -68,9 +161,17 @@ export interface ConfigurationStore extends Resource { */ export interface ConfigurationStoreUpdateParameters { /** - * The properties for updating a configuration store. + * The encryption settings of the configuration store. + */ + encryption?: EncryptionProperties; + /** + * The managed identity information for the configuration store. */ - properties?: any; + identity?: ResourceIdentity; + /** + * The SKU of the configuration store. + */ + sku?: Sku; /** * The ARM resource tags. */ @@ -271,6 +372,104 @@ export interface ErrorModel { message?: string; } +/** + * Private endpoint which a connection belongs to. + */ +export interface PrivateEndpoint { + /** + * The resource Id for private endpoint + */ + id?: string; +} + +/** + * The state of a private link service connection. + */ +export interface PrivateLinkServiceConnectionState { + /** + * The private link service connection status. Possible values include: 'Pending', 'Approved', + * 'Rejected', 'Disconnected' + */ + status?: ConnectionStatus; + /** + * The private link service connection description. + */ + description?: string; + /** + * Any action that is required beyond basic workflow (approve/ reject/ disconnect). Possible + * values include: 'None', 'Recreate' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly actionsRequired?: ActionsRequired; +} + +/** + * A private endpoint connection + */ +export interface PrivateEndpointConnection extends BaseResource { + /** + * The resource ID. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * The name of the resource. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly name?: string; + /** + * The type of the resource. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly type?: string; + /** + * The provisioning status of the private endpoint connection. Possible values include: + * 'Creating', 'Updating', 'Deleting', 'Succeeded', 'Failed', 'Canceled' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly provisioningState?: ProvisioningState; + /** + * The resource of private endpoint. + */ + privateEndpoint?: PrivateEndpoint; + /** + * A collection of information about the state of the connection between service consumer and + * provider. + */ + privateLinkServiceConnectionState: PrivateLinkServiceConnectionState; +} + +/** + * A resource that supports private link capabilities. + */ +export interface PrivateLinkResource { + /** + * The resource ID. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * The name of the resource. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly name?: string; + /** + * The type of the resource. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly type?: string; + /** + * The private link resource group id. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly groupId?: string; + /** + * The private link resource required member names. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly requiredMembers?: string[]; +} + /** * Optional Parameters. */ @@ -362,6 +561,39 @@ export interface OperationDefinitionListResult extends Array + */ +export interface PrivateEndpointConnectionListResult extends Array { + /** + * The URI that can be used to request the next set of paged results. + */ + nextLink?: string; +} + +/** + * @interface + * A list of private link resources. + * @extends Array + */ +export interface PrivateLinkResourceListResult extends Array { + /** + * The URI that can be used to request the next set of paged results. + */ + nextLink?: string; +} + +/** + * Defines values for IdentityType. + * Possible values include: 'None', 'SystemAssigned', 'UserAssigned', 'SystemAssigned, + * UserAssigned' + * @readonly + * @enum {string} + */ +export type IdentityType = 'None' | 'SystemAssigned' | 'UserAssigned' | 'SystemAssigned, UserAssigned'; + /** * Defines values for ProvisioningState. * Possible values include: 'Creating', 'Updating', 'Deleting', 'Succeeded', 'Failed', 'Canceled' @@ -370,6 +602,22 @@ export interface OperationDefinitionListResult extends Array + */ + listByConfigurationStore(resourceGroupName: string, configStoreName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group to which the container registry belongs. + * @param configStoreName The name of the configuration store. + * @param callback The callback + */ + listByConfigurationStore(resourceGroupName: string, configStoreName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group to which the container registry belongs. + * @param configStoreName The name of the configuration store. + * @param options The optional parameters + * @param callback The callback + */ + listByConfigurationStore(resourceGroupName: string, configStoreName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listByConfigurationStore(resourceGroupName: string, configStoreName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + configStoreName, + options + }, + listByConfigurationStoreOperationSpec, + callback) as Promise; + } + + /** + * Gets the specified private endpoint connection associated with the configuration store. + * @param resourceGroupName The name of the resource group to which the container registry belongs. + * @param configStoreName The name of the configuration store. + * @param privateEndpointConnectionName Private endpoint connection name + * @param [options] The optional parameters + * @returns Promise + */ + get(resourceGroupName: string, configStoreName: string, privateEndpointConnectionName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group to which the container registry belongs. + * @param configStoreName The name of the configuration store. + * @param privateEndpointConnectionName Private endpoint connection name + * @param callback The callback + */ + get(resourceGroupName: string, configStoreName: string, privateEndpointConnectionName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group to which the container registry belongs. + * @param configStoreName The name of the configuration store. + * @param privateEndpointConnectionName Private endpoint connection name + * @param options The optional parameters + * @param callback The callback + */ + get(resourceGroupName: string, configStoreName: string, privateEndpointConnectionName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + get(resourceGroupName: string, configStoreName: string, privateEndpointConnectionName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + configStoreName, + privateEndpointConnectionName, + options + }, + getOperationSpec, + callback) as Promise; + } + + /** + * Update the state of the specified private endpoint connection associated with the configuration + * store. + * @param resourceGroupName The name of the resource group to which the container registry belongs. + * @param configStoreName The name of the configuration store. + * @param privateEndpointConnectionName Private endpoint connection name + * @param privateEndpointConnection The private endpoint connection properties. + * @param [options] The optional parameters + * @returns Promise + */ + createOrUpdate(resourceGroupName: string, configStoreName: string, privateEndpointConnectionName: string, privateEndpointConnection: Models.PrivateEndpointConnection, options?: msRest.RequestOptionsBase): Promise { + return this.beginCreateOrUpdate(resourceGroupName,configStoreName,privateEndpointConnectionName,privateEndpointConnection,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + } + + /** + * Deletes a private endpoint connection. + * @param resourceGroupName The name of the resource group to which the container registry belongs. + * @param configStoreName The name of the configuration store. + * @param privateEndpointConnectionName Private endpoint connection name + * @param [options] The optional parameters + * @returns Promise + */ + deleteMethod(resourceGroupName: string, configStoreName: string, privateEndpointConnectionName: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginDeleteMethod(resourceGroupName,configStoreName,privateEndpointConnectionName,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * Update the state of the specified private endpoint connection associated with the configuration + * store. + * @param resourceGroupName The name of the resource group to which the container registry belongs. + * @param configStoreName The name of the configuration store. + * @param privateEndpointConnectionName Private endpoint connection name + * @param privateEndpointConnection The private endpoint connection properties. + * @param [options] The optional parameters + * @returns Promise + */ + beginCreateOrUpdate(resourceGroupName: string, configStoreName: string, privateEndpointConnectionName: string, privateEndpointConnection: Models.PrivateEndpointConnection, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + configStoreName, + privateEndpointConnectionName, + privateEndpointConnection, + options + }, + beginCreateOrUpdateOperationSpec, + options); + } + + /** + * Deletes a private endpoint connection. + * @param resourceGroupName The name of the resource group to which the container registry belongs. + * @param configStoreName The name of the configuration store. + * @param privateEndpointConnectionName Private endpoint connection name + * @param [options] The optional parameters + * @returns Promise + */ + beginDeleteMethod(resourceGroupName: string, configStoreName: string, privateEndpointConnectionName: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + configStoreName, + privateEndpointConnectionName, + options + }, + beginDeleteMethodOperationSpec, + options); + } + + /** + * Lists all private endpoint connections for a configuration store. + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listByConfigurationStoreNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listByConfigurationStoreNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param options The optional parameters + * @param callback The callback + */ + listByConfigurationStoreNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listByConfigurationStoreNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listByConfigurationStoreNextOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const listByConfigurationStoreOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}/privateEndpointConnections", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.configStoreName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.PrivateEndpointConnectionListResult + }, + default: { + bodyMapper: Mappers.ErrorModel + } + }, + serializer +}; + +const getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}/privateEndpointConnections/{privateEndpointConnectionName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.configStoreName, + Parameters.privateEndpointConnectionName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.PrivateEndpointConnection + }, + default: { + bodyMapper: Mappers.ErrorModel + } + }, + serializer +}; + +const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PUT", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}/privateEndpointConnections/{privateEndpointConnectionName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.configStoreName, + Parameters.privateEndpointConnectionName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "privateEndpointConnection", + mapper: { + ...Mappers.PrivateEndpointConnection, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.PrivateEndpointConnection + }, + 201: { + bodyMapper: Mappers.PrivateEndpointConnection + }, + default: { + bodyMapper: Mappers.ErrorModel + } + }, + serializer +}; + +const beginDeleteMethodOperationSpec: msRest.OperationSpec = { + httpMethod: "DELETE", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}/privateEndpointConnections/{privateEndpointConnectionName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.configStoreName, + Parameters.privateEndpointConnectionName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.ErrorModel + } + }, + serializer +}; + +const listByConfigurationStoreNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.PrivateEndpointConnectionListResult + }, + default: { + bodyMapper: Mappers.ErrorModel + } + }, + serializer +}; diff --git a/sdk/appconfiguration/arm-appconfiguration/src/operations/privateLinkResources.ts b/sdk/appconfiguration/arm-appconfiguration/src/operations/privateLinkResources.ts new file mode 100644 index 000000000000..190cce104e87 --- /dev/null +++ b/sdk/appconfiguration/arm-appconfiguration/src/operations/privateLinkResources.ts @@ -0,0 +1,198 @@ +/* + * 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 * as msRest from "@azure/ms-rest-js"; +import * as Models from "../models"; +import * as Mappers from "../models/privateLinkResourcesMappers"; +import * as Parameters from "../models/parameters"; +import { AppConfigurationManagementClientContext } from "../appConfigurationManagementClientContext"; + +/** Class representing a PrivateLinkResources. */ +export class PrivateLinkResources { + private readonly client: AppConfigurationManagementClientContext; + + /** + * Create a PrivateLinkResources. + * @param {AppConfigurationManagementClientContext} client Reference to the service client. + */ + constructor(client: AppConfigurationManagementClientContext) { + this.client = client; + } + + /** + * Gets the private link resources that need to be created for a configuration store. + * @param resourceGroupName The name of the resource group to which the container registry belongs. + * @param configStoreName The name of the configuration store. + * @param [options] The optional parameters + * @returns Promise + */ + listByConfigurationStore(resourceGroupName: string, configStoreName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group to which the container registry belongs. + * @param configStoreName The name of the configuration store. + * @param callback The callback + */ + listByConfigurationStore(resourceGroupName: string, configStoreName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group to which the container registry belongs. + * @param configStoreName The name of the configuration store. + * @param options The optional parameters + * @param callback The callback + */ + listByConfigurationStore(resourceGroupName: string, configStoreName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listByConfigurationStore(resourceGroupName: string, configStoreName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + configStoreName, + options + }, + listByConfigurationStoreOperationSpec, + callback) as Promise; + } + + /** + * Gets a private link resource that need to be created for a configuration store. + * @param resourceGroupName The name of the resource group to which the container registry belongs. + * @param configStoreName The name of the configuration store. + * @param groupName The name of the private link resource group. + * @param [options] The optional parameters + * @returns Promise + */ + get(resourceGroupName: string, configStoreName: string, groupName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group to which the container registry belongs. + * @param configStoreName The name of the configuration store. + * @param groupName The name of the private link resource group. + * @param callback The callback + */ + get(resourceGroupName: string, configStoreName: string, groupName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group to which the container registry belongs. + * @param configStoreName The name of the configuration store. + * @param groupName The name of the private link resource group. + * @param options The optional parameters + * @param callback The callback + */ + get(resourceGroupName: string, configStoreName: string, groupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + get(resourceGroupName: string, configStoreName: string, groupName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + configStoreName, + groupName, + options + }, + getOperationSpec, + callback) as Promise; + } + + /** + * Gets the private link resources that need to be created for a configuration store. + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listByConfigurationStoreNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listByConfigurationStoreNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param options The optional parameters + * @param callback The callback + */ + listByConfigurationStoreNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listByConfigurationStoreNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listByConfigurationStoreNextOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const listByConfigurationStoreOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}/privateLinkResources", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.configStoreName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.PrivateLinkResourceListResult + }, + default: { + bodyMapper: Mappers.ErrorModel + } + }, + serializer +}; + +const getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}/privateLinkResources/{groupName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.configStoreName, + Parameters.groupName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.PrivateLinkResource + }, + default: { + bodyMapper: Mappers.ErrorModel + } + }, + serializer +}; + +const listByConfigurationStoreNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.PrivateLinkResourceListResult + }, + default: { + bodyMapper: Mappers.ErrorModel + } + }, + serializer +};