@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api MonitorManagementClient
@base https://management.azure.com
@version 2019-10-17-preview
@auth OAuth2
@endpoints 17
@toc subscriptions(17)

@endpoint GET /subscriptions/{subscriptionId}/providers/microsoft.insights/privateLinkScopes
@desc Gets a list of all Azure Monitor PrivateLinkScopes within a subscription.
@returns(200) A list containing 0 or more Azure Monitor PrivateLinkScope definitions.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/privateLinkScopes
@desc Gets a list of Azure Monitor PrivateLinkScopes within a resource group.
@returns(200) A list containing 0 or more Azure Monitor PrivateLinkScope definitions.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/privateLinkScopes/{scopeName}
@desc Deletes a Azure Monitor PrivateLinkScope.
@required {scopeName: any # The name of the Azure Monitor PrivateLinkScope resource.}
@returns(200) Successful request when deleting a Azure Monitor PrivateLinkScope.
@returns(202) Accepted.
@returns(204) The specified PrivateLinkScope does not exist.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/privateLinkScopes/{scopeName}
@desc Returns a Azure Monitor PrivateLinkScope.
@required {scopeName: any # The name of the Azure Monitor PrivateLinkScope resource.}
@returns(200) An Azure Monitor PrivateLinkScope definition.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/privateLinkScopes/{scopeName}
@desc Creates (or updates) a Azure Monitor PrivateLinkScope. Note: You cannot specify a different value for InstrumentationKey nor AppId in the Put operation.
@required {scopeName: any # The name of the Azure Monitor PrivateLinkScope resource., AzureMonitorPrivateLinkScopePayload: any # Properties that need to be specified to create or update a Azure Monitor PrivateLinkScope.}
@returns(200) Successful request when creating or updating a Azure Monitor PrivateLinkScope. The updated PrivateLinkScope is returned.
@returns(201) Successful request when creating or updating a Azure Monitor PrivateLinkScope. The updated PrivateLinkScope was created and is returned.

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/privateLinkScopes/{scopeName}
@desc Updates an existing PrivateLinkScope's tags. To update other fields use the CreateOrUpdate method.
@required {scopeName: any # The name of the Azure Monitor PrivateLinkScope resource., PrivateLinkScopeTags: any # Updated tag information to set into the PrivateLinkScope instance.}
@returns(200) Updating the Azure Monitor PrivateLinkScope's tags was successful. PrivateLinkScope tags are updated and returned with the rest of the PrivateLinkScope's object properties.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/privateLinkScopeOperationStatuses/{asyncOperationId}
@desc Get the status of an azure asynchronous operation associated with a private link scope operation.
@required {asyncOperationId: any # The operation Id.}
@returns(200) OK. Operation status.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/privateLinkScopes/{scopeName}/privateLinkResources
@desc Gets the private link resources that need to be created for a Azure Monitor PrivateLinkScope.
@required {scopeName: any # The name of the Azure Monitor PrivateLinkScope resource.}
@returns(200) Successfully retrieved private link resources.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/privateLinkScopes/{scopeName}/privateLinkResources/{groupName}
@desc Gets the private link resources that need to be created for a Azure Monitor PrivateLinkScope.
@required {scopeName: any # The name of the Azure Monitor PrivateLinkScope resource., groupName: any # The name of the private link resource.}
@returns(200) Successfully retrieved a specified private link resource.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/privateLinkScopes/{scopeName}/privateEndpointConnections/{privateEndpointConnectionName}
@desc Gets a private endpoint connection.
@required {scopeName: any # The name of the Azure Monitor PrivateLinkScope resource., privateEndpointConnectionName: any # The name of the private endpoint connection.}
@returns(200) Successfully retrieved a specified private endpoint connection.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/privateLinkScopes/{scopeName}/privateEndpointConnections/{privateEndpointConnectionName}
@desc Approve or reject a private endpoint connection with a given name.
@required {scopeName: any # The name of the Azure Monitor PrivateLinkScope resource., privateEndpointConnectionName: any # The name of the private endpoint connection., parameters: map}
@returns(200) Successfully approved or rejected private endpoint connection.
@returns(202) Accepted

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/privateLinkScopes/{scopeName}/privateEndpointConnections/{privateEndpointConnectionName}
@desc Deletes a private endpoint connection with a given name.
@required {scopeName: any # The name of the Azure Monitor PrivateLinkScope resource., privateEndpointConnectionName: any # The name of the private endpoint connection.}
@returns(200) Successfully deleted private endpoint connection.
@returns(202) Accepted
@returns(204) Private endpoint connection does not exist.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/privateLinkScopes/{scopeName}/privateEndpointConnections
@desc Gets all private endpoint connections on a private link scope.
@required {scopeName: any # The name of the Azure Monitor PrivateLinkScope resource.}
@returns(200) Successfully retrieved private endpoint connections.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/privateLinkScopes/{scopeName}/scopedResources/{name}
@desc Gets a scoped resource in a private link scope.
@required {scopeName: any # The name of the Azure Monitor PrivateLinkScope resource., name: any # The name of the scoped resource object.}
@returns(200) Successfully retrieved a scoped resource in a private link scope.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/privateLinkScopes/{scopeName}/scopedResources/{name}
@desc Approve or reject a private endpoint connection with a given name.
@required {scopeName: any # The name of the Azure Monitor PrivateLinkScope resource., name: any # The name of the scoped resource object., parameters: map}
@returns(200) Successfully create or updated a new azure monitor scoped resource in a private link scope.
@returns(201) Successfully created a new azure monitor scoped resource in a private link scope.
@returns(202) Accepted

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/privateLinkScopes/{scopeName}/scopedResources/{name}
@desc Deletes a private endpoint connection with a given name.
@required {scopeName: any # The name of the Azure Monitor PrivateLinkScope resource., name: any # The name of the scoped resource object.}
@returns(200) Successfully deleted scoped resource.
@returns(202) Accepted
@returns(204) Scoped resource does not exist.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/privateLinkScopes/{scopeName}/scopedResources
@desc Gets all private endpoint connections on a private link scope.
@required {scopeName: any # The name of the Azure Monitor PrivateLinkScope resource.}
@returns(200) Successfully retrieved scoped resources in a private link scope.

@end
