@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Microsoft Storage Sync
@base https://management.azure.com
@version 2019-03-01
@auth OAuth2
@endpoints 37
@hint download_for_search
@toc providers(1), subscriptions(36)

@group providers
@endpoint GET /providers/Microsoft.StorageSync/operations
@desc Lists all of the available Storage Sync Rest API operations.
@returns(200) Array of operations resources in the Resource Provider

@endgroup

@group subscriptions
@endpoint POST /subscriptions/{subscriptionId}/providers/Microsoft.StorageSync/locations/{locationName}/checkNameAvailability
@desc Check the give namespace name availability.
@required {locationName: any # The desired region for the name check., parameters: any # Parameters to check availability of the given namespace name}
@returns(200) check availability returned successfully.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}
@desc Create a new StorageSyncService.
@required {storageSyncServiceName: any # Name of Storage Sync Service resource., parameters: any # Storage Sync Service resource name.}
@returns(200) Storage Sync Service object created/updated

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}
@desc Get a given StorageSyncService.
@required {storageSyncServiceName: any # Name of Storage Sync Service resource.}
@returns(200) Storage Sync Service object

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}
@desc Patch a given StorageSyncService.
@required {storageSyncServiceName: any # Name of Storage Sync Service resource.}
@optional {parameters: any # Storage Sync Service resource.}
@returns(200) Storage Sync Service object created/updated

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}
@desc Delete a given StorageSyncService.
@required {storageSyncServiceName: any # Name of Storage Sync Service resource.}
@returns(200) Storage Sync Service object was deleted.
@returns(204) Storage Sync Service Resource doesn't exist

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices
@desc Get a StorageSyncService list by Resource group name.
@returns(200) Array of registered Storage Sync Service resources in the Resource Group

@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.StorageSync/storageSyncServices
@desc Get a StorageSyncService list by subscription.
@returns(200) Array of registered Storage Sync Service resources in the subscription.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups
@desc Get a SyncGroup List.
@required {storageSyncServiceName: any # Name of Storage Sync Service resource.}
@returns(200) Array of Sync Group resources in Storage Sync Service

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}
@desc Create a new SyncGroup.
@required {storageSyncServiceName: any # Name of Storage Sync Service resource., syncGroupName: any # Name of Sync Group resource., parameters: map # Sync Group Body}
@returns(200) Sync Group object

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}
@desc Get a given SyncGroup.
@required {storageSyncServiceName: any # Name of Storage Sync Service resource., syncGroupName: any # Name of Sync Group resource.}
@returns(200) Sync Group object

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}
@desc Delete a given SyncGroup.
@required {storageSyncServiceName: any # Name of Storage Sync Service resource., syncGroupName: any # Name of Sync Group resource.}
@returns(200) Sync Group object was deleted
@returns(204) Resource doesn't exist

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/cloudEndpoints/{cloudEndpointName}
@desc Create a new CloudEndpoint.
@required {storageSyncServiceName: any # Name of Storage Sync Service resource., syncGroupName: any # Name of Sync Group resource., cloudEndpointName: any # Name of Cloud Endpoint object., parameters: map # Body of Cloud Endpoint resource.}
@returns(200) Cloud Endpoint object
@returns(202) Asynchronous Operation Status Location

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/cloudEndpoints/{cloudEndpointName}
@desc Get a given CloudEndpoint.
@required {storageSyncServiceName: any # Name of Storage Sync Service resource., syncGroupName: any # Name of Sync Group resource., cloudEndpointName: any # Name of Cloud Endpoint object.}
@returns(200) Cloud Endpoint object

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/cloudEndpoints/{cloudEndpointName}
@desc Delete a given CloudEndpoint.
@required {storageSyncServiceName: any # Name of Storage Sync Service resource., syncGroupName: any # Name of Sync Group resource., cloudEndpointName: any # Name of Cloud Endpoint object.}
@returns(200) Ok
@returns(202) Asynchronous Operation Status Location
@returns(204) Resource doesn't exist

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/cloudEndpoints
@desc Get a CloudEndpoint List.
@required {storageSyncServiceName: any # Name of Storage Sync Service resource., syncGroupName: any # Name of Sync Group resource.}
@returns(200) Array of Cloud Endpoint resources in Sync Group

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/cloudEndpoints/{cloudEndpointName}/prebackup
@desc Pre Backup a given CloudEndpoint.
@required {storageSyncServiceName: any # Name of Storage Sync Service resource., syncGroupName: any # Name of Sync Group resource., cloudEndpointName: any # Name of Cloud Endpoint object., parameters: map # Body of Backup request.}
@returns(200) Ok
@returns(202) Asynchronous Operation Status Location

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/cloudEndpoints/{cloudEndpointName}/postbackup
@desc Post Backup a given CloudEndpoint.
@required {storageSyncServiceName: any # Name of Storage Sync Service resource., syncGroupName: any # Name of Sync Group resource., cloudEndpointName: any # Name of Cloud Endpoint object., parameters: map # Body of Backup request.}
@returns(200) Ok
@returns(202) Asynchronous Operation Status Location

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/cloudEndpoints/{cloudEndpointName}/prerestore
@desc Pre Restore a given CloudEndpoint.
@required {storageSyncServiceName: any # Name of Storage Sync Service resource., syncGroupName: any # Name of Sync Group resource., cloudEndpointName: any # Name of Cloud Endpoint object., parameters: map # Body of Cloud Endpoint object.}
@returns(200) Ok
@returns(202) Asynchronous Operation Status Location

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/cloudEndpoints/{cloudEndpointName}/restoreheartbeat
@desc Restore Heartbeat a given CloudEndpoint.
@required {storageSyncServiceName: any # Name of Storage Sync Service resource., syncGroupName: any # Name of Sync Group resource., cloudEndpointName: any # Name of Cloud Endpoint object.}
@returns(200) Restore Heartbeat Operation has ran successfully.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/cloudEndpoints/{cloudEndpointName}/postrestore
@desc Post Restore a given CloudEndpoint.
@required {storageSyncServiceName: any # Name of Storage Sync Service resource., syncGroupName: any # Name of Sync Group resource., cloudEndpointName: any # Name of Cloud Endpoint object., parameters: map # Body of Cloud Endpoint object.}
@returns(200) Ok
@returns(202) Asynchronous Operation Status Location

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/cloudEndpoints/{cloudEndpointName}/triggerChangeDetection
@desc Triggers detection of changes performed on Azure File share connected to the specified Azure File Sync Cloud Endpoint.
@required {storageSyncServiceName: any # Name of Storage Sync Service resource., syncGroupName: any # Name of Sync Group resource., cloudEndpointName: any # Name of Cloud Endpoint object., parameters: any # Trigger Change Detection Action parameters.}
@returns(200) Ok
@returns(202) Asynchronous Operation Status Location

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/serverEndpoints/{serverEndpointName}
@desc Create a new ServerEndpoint.
@required {storageSyncServiceName: any # Name of Storage Sync Service resource., syncGroupName: any # Name of Sync Group resource., serverEndpointName: any # Name of Server Endpoint object., parameters: map # Body of Server Endpoint object.}
@returns(200) Server Endpoint object
@returns(202) Asynchronous Operation Status Location

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/serverEndpoints/{serverEndpointName}
@desc Patch a given ServerEndpoint.
@required {storageSyncServiceName: any # Name of Storage Sync Service resource., syncGroupName: any # Name of Sync Group resource., serverEndpointName: any # Name of Server Endpoint object.}
@optional {parameters: any # Any of the properties applicable in PUT request.}
@returns(200) Server Endpoint object
@returns(202) Asynchronous Operation Status Location

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/serverEndpoints/{serverEndpointName}
@desc Get a ServerEndpoint.
@required {storageSyncServiceName: any # Name of Storage Sync Service resource., syncGroupName: any # Name of Sync Group resource., serverEndpointName: any # Name of Server Endpoint object.}
@returns(200) Server Endpoint object

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/serverEndpoints/{serverEndpointName}
@desc Delete a given ServerEndpoint.
@required {storageSyncServiceName: any # Name of Storage Sync Service resource., syncGroupName: any # Name of Sync Group resource., serverEndpointName: any # Name of Server Endpoint object.}
@returns(200) Ok
@returns(202) Asynchronous Operation Status Location

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/serverEndpoints
@desc Get a ServerEndpoint list.
@required {storageSyncServiceName: any # Name of Storage Sync Service resource., syncGroupName: any # Name of Sync Group resource.}
@returns(200) Array of Server Endpoint resources in Sync Group

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/serverEndpoints/{serverEndpointName}/recallAction
@desc Recall a server endpoint.
@required {storageSyncServiceName: any # Name of Storage Sync Service resource., syncGroupName: any # Name of Sync Group resource., serverEndpointName: any # Name of Server Endpoint object., parameters: any # Body of Recall Action object.}
@returns(200) Server Endpoint object
@returns(202) Asynchronous Operation Status Location

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/registeredServers
@desc Get a given registered server list.
@required {storageSyncServiceName: any # Name of Storage Sync Service resource.}
@returns(200) Array of Registered Server resources in Storage Sync Service

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/registeredServers/{serverId}
@desc Get a given registered server.
@required {storageSyncServiceName: any # Name of Storage Sync Service resource., serverId: any # GUID identifying the on-premises server.}
@returns(200) Registered Server resources in Sync Group

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/registeredServers/{serverId}
@desc Add a new registered server.
@required {storageSyncServiceName: any # Name of Storage Sync Service resource., serverId: any # GUID identifying the on-premises server., parameters: map # Body of Registered Server object.}
@returns(200) Registered Server resources in Sync Group
@returns(202) Asynchronous Operation Status Location

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/registeredServers/{serverId}
@desc Delete the given registered server.
@required {storageSyncServiceName: any # Name of Storage Sync Service resource., serverId: any # GUID identifying the on-premises server.}
@returns(200) Ok
@returns(202) Asynchronous Operation Status Location
@returns(204) Resource doesn't exist

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/registeredServers/{serverId}/triggerRollover
@desc Triggers Server certificate rollover.
@required {storageSyncServiceName: any # Name of Storage Sync Service resource., serverId: any # Server Id, parameters: map # Body of Trigger Rollover request.}
@returns(200) Trigger Rollover success status
@returns(202) Asynchronous Operation Status Location

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/workflows
@desc Get a Workflow List
@required {storageSyncServiceName: any # Name of Storage Sync Service resource.}
@returns(200) Array of Workflow resources in Storage Sync Service

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/workflows/{workflowId}
@desc Get Workflows resource
@required {storageSyncServiceName: any # Name of Storage Sync Service resource., workflowId: any # workflow Id}
@returns(200) Workflow object

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/workflows/{workflowId}/abort
@desc Abort the given workflow.
@required {storageSyncServiceName: any # Name of Storage Sync Service resource., workflowId: any # workflow Id}
@returns(200) success

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/locations/{locationName}/workflows/{workflowId}/operations/{operationId}
@desc Get Operation status
@required {locationName: any # The desired region to obtain information from., workflowId: any # workflow Id, operationId: any # operation Id}
@returns(200) Operation Status

@endgroup

@end
