@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api ApplicationInsightsManagementClient
@base https://management.azure.com
@version 2015-05-01
@auth OAuth2
@endpoints 8
@toc subscriptions(8)

@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.Insights/components
@desc Gets a list of all Application Insights components within a subscription.
@returns(200) A list containing 0 or more Application Insights component definitions.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components
@desc Gets a list of Application Insights components within a resource group.
@returns(200) A list containing 0 or more Application Insights component definitions.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}
@desc Deletes an Application Insights component.
@required {resourceName: any # The name of the Application Insights component resource.}
@returns(200) Successful request when deleting an Application Insights component.
@returns(204) The specified component does not exist.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}
@desc Returns an Application Insights component.
@required {resourceName: any # The name of the Application Insights component resource.}
@returns(200) An Application Insights Component definition.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}
@desc Creates (or updates) an Application Insights component. Note: You cannot specify a different value for InstrumentationKey nor AppId in the Put operation.
@required {resourceName: any # The name of the Application Insights component resource., InsightProperties: any # Properties that need to be specified to create an Application Insights component.}
@returns(200) Successful request when creating or updating an Application Insights component. The updated component is returned.

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}
@desc Updates an existing component's tags. To update other fields use the CreateOrUpdate method.
@required {resourceName: any # The name of the Application Insights component resource., ComponentTags: any # Updated tag information to set into the component instance.}
@returns(200) Updating the Application Insights component's tags was successful. Component tags are updated and returned with the rest of the Component's object properties.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/purge
@desc Purges data in an Application Insights component by a set of user-defined filters.
@required {resourceName: any # The name of the Application Insights component resource., body: any # Describes the body of a request to purge data in a single table of an Application Insights component}
@returns(202) Accepted request for purging an Application Insights component.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/operations/{purgeId}
@desc Get status for an ongoing purge operation.
@required {resourceName: any # The name of the Application Insights component resource., purgeId: any # In a purge status request, this is the Id of the operation the status of which is returned.}
@returns(200) Returns status of purge operation in body of response. e.g.:  running, completed.

@end
