@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api customproviders
@base https://management.azure.com
@version 2018-09-01-preview
@auth OAuth2
@common_fields {api-version: any # The API version to be used with the HTTP request.}
@endpoints 11
@toc providers(1), subscriptions(6), {scope}(4)

@group providers
@endpoint GET /providers/Microsoft.CustomProviders/operations
@desc The list of operations provided by Microsoft CustomProviders.
@returns(200) Describe the result of a successful operation.

@endgroup

@group subscriptions
@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}
@desc Creates or updates the custom resource provider.
@required {subscriptionId: any # The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000), resourceGroupName: any # The name of the resource group., resourceProviderName: any # The name of the resource provider., resourceProvider: any # The parameters required to create or update a custom resource provider definition.}
@returns(200) OK response definition. Resource already exists and the changes have been accepted
@returns(201) Created response definition. Resource has been created

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}
@desc Deletes the custom resource provider.
@required {subscriptionId: any # The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000), resourceGroupName: any # The name of the resource group., resourceProviderName: any # The name of the resource provider.}
@returns(200) OK resource deleted
@returns(202) OK resource delete has been accepted.
@returns(204) OK resource was not found.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}
@desc Gets the custom resource provider manifest.
@required {subscriptionId: any # The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000), resourceGroupName: any # The name of the resource group., resourceProviderName: any # The name of the resource provider.}
@returns(200) OK response definition with the existing resource.

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}
@desc Updates an existing custom resource provider. The only value that can be updated via PATCH currently is the tags.
@required {subscriptionId: any # The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000), resourceGroupName: any # The name of the resource group., resourceProviderName: any # The name of the resource provider., patchableResource: any # The updatable fields of a custom resource provider.}
@returns(200) OK response. The resource has been updated.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders
@desc Gets all the custom resource providers within a resource group.
@required {subscriptionId: any # The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000), resourceGroupName: any # The name of the resource group.}
@returns(200) OK - Returns an array of custom resource providers.

@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.CustomProviders/resourceProviders
@desc Gets all the custom resource providers within a subscription.
@required {subscriptionId: any # The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000)}
@returns(200) OK - Returns an array of custom resource providers.

@endgroup

@group {scope}
@endpoint PUT /{scope}/providers/Microsoft.CustomProviders/associations/{associationName}
@desc Create or update an association.
@required {scope: any # The scope of the association. The scope can be any valid REST resource instance. For example, use '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Compute/virtualMachines/{vm-name}' for a virtual machine resource., associationName: any # The name of the association., association: any # The parameters required to create or update an association.}
@returns(200) OK. Association already exists and the changes have been accepted.
@returns(201) Created. Association has been created.

@endpoint DELETE /{scope}/providers/Microsoft.CustomProviders/associations/{associationName}
@desc Delete an association.
@required {scope: any # The scope of the association., associationName: any # The name of the association.}
@returns(200) OK. Association deleted.
@returns(202) Accepted. Association delete has been accepted.
@returns(204) No Content. Association was not found.

@endpoint GET /{scope}/providers/Microsoft.CustomProviders/associations/{associationName}
@desc Get an association.
@required {scope: any # The scope of the association., associationName: any # The name of the association.}
@returns(200) OK. Returns association.

@endpoint GET /{scope}/providers/Microsoft.CustomProviders/associations
@desc Gets all association for the given scope.
@required {scope: any # The scope of the association.}
@returns(200) OK. Returns all associations for the given scope.

@endgroup

@end
