@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api RecoveryServicesClient
@base https://management.azure.com
@version 2016-06-01
@auth OAuth2
@common_fields {api-version: any # Client Api Version.}
@endpoints 13
@toc subscriptions(12), providers(1)

@group subscriptions
@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/privateLinkResources
@desc Returns the list of private link resources that need to be created for Backup and SiteRecovery
@required {subscriptionId: any # The subscription Id., resourceGroupName: any # The name of the resource group where the recovery services vault is present., vaultName: any # The name of the recovery services vault.}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/privateLinkResources/{privateLinkResourceName}
@desc Returns a specified private link resource that need to be created for Backup and SiteRecovery
@required {subscriptionId: any # The subscription Id., resourceGroupName: any # The name of the resource group where the recovery services vault is present., vaultName: any # The name of the recovery services vault., privateLinkResourceName: any}
@returns(200) OK

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/locations/{location}/checkNameAvailability
@desc API to check for resource name availability.
@required {subscriptionId: any # The subscription Id., resourceGroupName: any # The name of the resource group where the recovery services vault is present., location: any # Location of the resource, input: map # Contains information about Resource type and Resource name}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/vaults
@desc Fetches all the resources of the specified type in the subscription.
@required {subscriptionId: any # The subscription Id.}
@returns(200) OK

@endgroup

@group providers
@endpoint GET /providers/Microsoft.RecoveryServices/operations
@desc Returns the list of available operations.
@returns(200) OK

@endgroup

@group subscriptions
@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults
@desc Retrieve a list of Vaults.
@required {subscriptionId: any # The subscription Id., resourceGroupName: any # The name of the resource group where the recovery services vault is present.}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}
@desc Get the Vault details.
@required {subscriptionId: any # The subscription Id., resourceGroupName: any # The name of the resource group where the recovery services vault is present., vaultName: any # The name of the recovery services vault.}
@returns(200) OK

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}
@desc Creates or updates a Recovery Services vault.
@required {subscriptionId: any # The subscription Id., resourceGroupName: any # The name of the resource group where the recovery services vault is present., vaultName: any # The name of the recovery services vault., vault: map # Recovery Services Vault to be created.}
@returns(200) OK
@returns(201) Created

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}
@desc Deletes a vault.
@required {subscriptionId: any # The subscription Id., resourceGroupName: any # The name of the resource group where the recovery services vault is present., vaultName: any # The name of the recovery services vault.}
@returns(200) OK

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}
@desc Updates the vault.
@required {subscriptionId: any # The subscription Id., resourceGroupName: any # The name of the resource group where the recovery services vault is present., vaultName: any # The name of the recovery services vault., vault: map # Recovery Services Vault to be created.}
@returns(200) OK
@returns(201) Created

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/extendedInformation/vaultExtendedInfo
@desc Get the vault extended info.
@required {subscriptionId: any # The subscription Id., resourceGroupName: any # The name of the resource group where the recovery services vault is present., vaultName: any # The name of the recovery services vault.}
@returns(200) OK

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/extendedInformation/vaultExtendedInfo
@desc Create vault extended info.
@required {subscriptionId: any # The subscription Id., resourceGroupName: any # The name of the resource group where the recovery services vault is present., vaultName: any # The name of the recovery services vault., resourceResourceExtendedInfoDetails: map # Details of ResourceExtendedInfo}
@returns(200) OK

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/extendedInformation/vaultExtendedInfo
@desc Update vault extended info.
@required {subscriptionId: any # The subscription Id., resourceGroupName: any # The name of the resource group where the recovery services vault is present., vaultName: any # The name of the recovery services vault., resourceResourceExtendedInfoDetails: map # Details of ResourceExtendedInfo}
@returns(200) OK

@endgroup

@end
