@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Software Plan RP
@base https://management.azure.com
@version 2019-12-01
@auth OAuth2
@common_fields {api-version: any # The api-version to be used by the service}
@endpoints 8
@toc subscriptions(1), {scope}(7)

@group subscriptions
@endpoint POST /subscriptions/{subscriptionId}/providers/Microsoft.SoftwarePlan/register
@desc Register to Microsoft.SoftwarePlan resource provider.
@returns(204) OK - Microsoft.SoftwarePlan is registered

@endgroup

@group {scope}
@endpoint GET /{scope}/providers/Microsoft.SoftwarePlan/hybridUseBenefits
@desc Get all hybrid use benefits associated with an ARM resource.
@required {scope: any # The scope at which the operation is performed. This is limited to Microsoft.Compute/virtualMachines and Microsoft.Compute/hostGroups/hosts for now}
@optional {$filter: any # Supports applying filter on the type of SKU}
@returns(200) OK - returns an array of plans at that scope

@endpoint PUT /{scope}/providers/Microsoft.SoftwarePlan/hybridUseBenefits/{planId}
@desc Create a new hybrid use benefit under a given scope
@required {scope: any # The scope at which the operation is performed. This is limited to Microsoft.Compute/virtualMachines and Microsoft.Compute/hostGroups/hosts for now, planId: any # This is a unique identifier for a plan. Should be a guid., body: any # Request body for creating a hybrid use benefit}
@returns(200) OK - returns the plan that is created

@endpoint PATCH /{scope}/providers/Microsoft.SoftwarePlan/hybridUseBenefits/{planId}
@desc Updates an existing hybrid use benefit
@required {scope: any # The scope at which the operation is performed. This is limited to Microsoft.Compute/virtualMachines and Microsoft.Compute/hostGroups/hosts for now, planId: any # This is a unique identifier for a plan. Should be a guid., body: any # Request body for creating a hybrid use benefit}
@returns(200) OK - successfully updated the given hybrid use benefit

@endpoint GET /{scope}/providers/Microsoft.SoftwarePlan/hybridUseBenefits/{planId}
@desc Gets a given plan ID
@required {scope: any # The scope at which the operation is performed. This is limited to Microsoft.Compute/virtualMachines and Microsoft.Compute/hostGroups/hosts for now, planId: any # This is a unique identifier for a plan. Should be a guid.}
@returns(200) OK - returns the plan that is created

@endpoint DELETE /{scope}/providers/Microsoft.SoftwarePlan/hybridUseBenefits/{planId}
@desc Deletes a given plan ID
@required {scope: any # The scope at which the operation is performed. This is limited to Microsoft.Compute/virtualMachines and Microsoft.Compute/hostGroups/hosts for now, planId: any # This is a unique identifier for a plan. Should be a guid.}
@returns(200) OK - successfully deleted the given plan
@returns(204) OK - there was no plan to delete

@endpoint GET /{scope}/providers/Microsoft.SoftwarePlan/hybridUseBenefits/{planId}/revisions
@desc Gets the version history of a hybrid use benefit
@required {scope: any # The scope at which the operation is performed. This is limited to Microsoft.Compute/virtualMachines and Microsoft.Compute/hostGroups/hosts for now, planId: any # This is a unique identifier for a plan. Should be a guid.}
@returns(200) OK - returns an array of plans ordered by revision

@endpoint GET /{scope}/providers/Microsoft.SoftwarePlan/operations
@desc Get operations.
@required {scope: any # The scope at which the operation is performed. This is limited to Microsoft.Compute/virtualMachines and Microsoft.Compute/hostGroups/hosts for now}
@returns(200) List all the operations.

@endgroup

@end
