@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api HybridDataManagementClient
@base https://management.azure.com
@version 2016-06-01
@auth OAuth2
@common_fields {api-version: any # The API Version, subscriptionId: any # The Subscription Id}
@endpoints 29
@hint download_for_search
@toc providers(1), subscriptions(28)

@group providers
@endpoint GET /providers/Microsoft.HybridData/operations
@desc This method gets all the operations.
@returns(200) This method gets all the operations.

@endgroup

@group subscriptions
@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.HybridData/dataManagers
@desc Lists all the data manager resources available under the subscription.
@returns(200) List of data manager resources available under the subscription.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridData/dataManagers
@desc Lists all the data manager resources available under the given resource group.
@required {resourceGroupName: any # The Resource Group Name}
@returns(200) List of data manager resources by resource group.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridData/dataManagers/{dataManagerName}
@desc Gets information about the specified data manager resource.
@required {resourceGroupName: any # The Resource Group Name, dataManagerName: any # The name of the DataManager Resource within the specified resource group. DataManager names must be between 3 and 24 characters in length and use any alphanumeric and underscore only}
@returns(200) Data Manager Resource object.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridData/dataManagers/{dataManagerName}
@desc Creates a new data manager resource with the specified parameters. Existing resources cannot be updated with this API
@required {resourceGroupName: any # The Resource Group Name, dataManagerName: any # The name of the DataManager Resource within the specified resource group. DataManager names must be between 3 and 24 characters in length and use any alphanumeric and underscore only, dataManager: map # Data manager resource details from request body.}
@returns(200) Data Manager Resource object.
@returns(202) Accepted request for create/update.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridData/dataManagers/{dataManagerName}
@desc Deletes a data manager resource in Microsoft Azure.
@required {resourceGroupName: any # The Resource Group Name, dataManagerName: any # The name of the DataManager Resource within the specified resource group. DataManager names must be between 3 and 24 characters in length and use any alphanumeric and underscore only}
@returns(202) Data Manager Resource deleted.
@returns(204) Data Manager Resource deleted.

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridData/dataManagers/{dataManagerName}
@desc Updates the properties of an existing data manager resource.
@required {resourceGroupName: any # The Resource Group Name, dataManagerName: any # The name of the DataManager Resource within the specified resource group. DataManager names must be between 3 and 24 characters in length and use any alphanumeric and underscore only, dataManagerUpdateParameter: map # Data manager resource details from request body.}
@optional {If-Match: any # Defines the If-Match condition. The patch will be performed only if the ETag of the data manager resource on the server matches this value.}
@returns(200) Data Manager Resource object.
@returns(202) Data Manager Resource updated.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridData/dataManagers/{dataManagerName}/dataServices
@desc This method gets all the data services.
@required {resourceGroupName: any # The Resource Group Name, dataManagerName: any # The name of the DataManager Resource within the specified resource group. DataManager names must be between 3 and 24 characters in length and use any alphanumeric and underscore only}
@returns(200) The list of data services.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridData/dataManagers/{dataManagerName}/dataServices/{dataServiceName}
@desc Gets the data service that match the data service name given.
@required {dataServiceName: any # The name of the data service that is being queried., resourceGroupName: any # The Resource Group Name, dataManagerName: any # The name of the DataManager Resource within the specified resource group. DataManager names must be between 3 and 24 characters in length and use any alphanumeric and underscore only}
@returns(200) The data service that matches the name.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridData/dataManagers/{dataManagerName}/dataServices/{dataServiceName}/jobDefinitions
@desc This method gets all the job definitions of the given data service name.
@required {dataServiceName: any # The data service type of interest., resourceGroupName: any # The Resource Group Name, dataManagerName: any # The name of the DataManager Resource within the specified resource group. DataManager names must be between 3 and 24 characters in length and use any alphanumeric and underscore only}
@optional {$filter: any # OData Filter options}
@returns(200) The list of job definitions of the given data service type.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridData/dataManagers/{dataManagerName}/dataServices/{dataServiceName}/jobDefinitions/{jobDefinitionName}
@desc This method gets job definition object by name.
@required {dataServiceName: any # The data service name of the job definition, jobDefinitionName: any # The job definition name that is being queried., resourceGroupName: any # The Resource Group Name, dataManagerName: any # The name of the DataManager Resource within the specified resource group. DataManager names must be between 3 and 24 characters in length and use any alphanumeric and underscore only}
@returns(200) The job definition that matches the criteria.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridData/dataManagers/{dataManagerName}/dataServices/{dataServiceName}/jobDefinitions/{jobDefinitionName}
@desc Creates or updates a job definition.
@required {dataServiceName: any # The data service type of the job definition., jobDefinitionName: any # The job definition name to be created or updated., jobDefinition: map # Job Definition object to be created or updated., resourceGroupName: any # The Resource Group Name, dataManagerName: any # The name of the DataManager Resource within the specified resource group. DataManager names must be between 3 and 24 characters in length and use any alphanumeric and underscore only}
@returns(200) JobDefinition object.
@returns(202) Accepted request for create/update.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridData/dataManagers/{dataManagerName}/dataServices/{dataServiceName}/jobDefinitions/{jobDefinitionName}
@desc This method deletes the given job definition.
@required {dataServiceName: any # The data service type of the job definition., jobDefinitionName: any # The job definition name to be deleted., resourceGroupName: any # The Resource Group Name, dataManagerName: any # The name of the DataManager Resource within the specified resource group. DataManager names must be between 3 and 24 characters in length and use any alphanumeric and underscore only}
@returns(202) Accepted request for JobDefinition deletion.
@returns(204) JobDefinition deleted.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridData/dataManagers/{dataManagerName}/dataServices/{dataServiceName}/jobDefinitions/{jobDefinitionName}/jobs
@desc This method gets all the jobs of a given job definition.
@required {dataServiceName: any # The name of the data service of the job definition., jobDefinitionName: any # The name of the job definition for which jobs are needed., resourceGroupName: any # The Resource Group Name, dataManagerName: any # The name of the DataManager Resource within the specified resource group. DataManager names must be between 3 and 24 characters in length and use any alphanumeric and underscore only}
@optional {$filter: any # OData Filter options}
@returns(200) The list of jobs.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridData/dataManagers/{dataManagerName}/dataServices/{dataServiceName}/jobDefinitions/{jobDefinitionName}/jobs/{jobId}
@desc This method gets a data manager job given the jobId.
@required {dataServiceName: any # The name of the data service of the job definition., jobDefinitionName: any # The name of the job definition of the job., jobId: any # The job id of the job queried., resourceGroupName: any # The Resource Group Name, dataManagerName: any # The name of the DataManager Resource within the specified resource group. DataManager names must be between 3 and 24 characters in length and use any alphanumeric and underscore only}
@optional {$expand: any # $expand is supported on details parameter for job, which provides details on the job stages.}
@returns(200) The job that matches the given criteria.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridData/dataManagers/{dataManagerName}/dataServices/{dataServiceName}/jobDefinitions/{jobDefinitionName}/jobs/{jobId}/cancel
@desc Cancels the given job.
@required {dataServiceName: any # The name of the data service of the job definition., jobDefinitionName: any # The name of the job definition of the job., jobId: any # The job id of the job queried., resourceGroupName: any # The Resource Group Name, dataManagerName: any # The name of the DataManager Resource within the specified resource group. DataManager names must be between 3 and 24 characters in length and use any alphanumeric and underscore only}
@returns(202) Accepted job cancellation request.
@returns(204) Job cancelled.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridData/dataManagers/{dataManagerName}/dataServices/{dataServiceName}/jobDefinitions/{jobDefinitionName}/jobs/{jobId}/resume
@desc Resumes the given job.
@required {dataServiceName: any # The name of the data service of the job definition., jobDefinitionName: any # The name of the job definition of the job., jobId: any # The job id of the job queried., resourceGroupName: any # The Resource Group Name, dataManagerName: any # The name of the DataManager Resource within the specified resource group. DataManager names must be between 3 and 24 characters in length and use any alphanumeric and underscore only}
@returns(202) Accepted job resume request.
@returns(204) Job resumed.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridData/dataManagers/{dataManagerName}/dataServices/{dataServiceName}/jobDefinitions/{jobDefinitionName}/run
@desc This method runs a job instance of the given job definition.
@required {dataServiceName: any # The data service type of the job definition., jobDefinitionName: any # Name of the job definition., runParameters: map # Run time parameters for the job definition., resourceGroupName: any # The Resource Group Name, dataManagerName: any # The name of the DataManager Resource within the specified resource group. DataManager names must be between 3 and 24 characters in length and use any alphanumeric and underscore only}
@returns(202) Job run accepted.
@returns(204) Job run started.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridData/dataManagers/{dataManagerName}/dataServices/{dataServiceName}/jobs
@desc This method gets all the jobs of a data service type in a given resource.
@required {dataServiceName: any # The name of the data service of interest., resourceGroupName: any # The Resource Group Name, dataManagerName: any # The name of the DataManager Resource within the specified resource group. DataManager names must be between 3 and 24 characters in length and use any alphanumeric and underscore only}
@optional {$filter: any # OData Filter options}
@returns(200) The list of jobs that match the service and resource.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridData/dataManagers/{dataManagerName}/dataStores
@desc Gets all the data stores/repositories in the given resource.
@required {resourceGroupName: any # The Resource Group Name, dataManagerName: any # The name of the DataManager Resource within the specified resource group. DataManager names must be between 3 and 24 characters in length and use any alphanumeric and underscore only}
@optional {$filter: any # OData Filter options}
@returns(200) The list of data stores/repositories in the given resource.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridData/dataManagers/{dataManagerName}/dataStores/{dataStoreName}
@desc This method gets the data store/repository by name.
@required {dataStoreName: any # The data store/repository name queried., resourceGroupName: any # The Resource Group Name, dataManagerName: any # The name of the DataManager Resource within the specified resource group. DataManager names must be between 3 and 24 characters in length and use any alphanumeric and underscore only}
@returns(200) The data store/repository which matches the name given.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridData/dataManagers/{dataManagerName}/dataStores/{dataStoreName}
@desc Creates or updates the data store/repository in the data manager.
@required {dataStoreName: any # The data store/repository name to be created or updated., dataStore: map # The data store/repository object to be created or updated., resourceGroupName: any # The Resource Group Name, dataManagerName: any # The name of the DataManager Resource within the specified resource group. DataManager names must be between 3 and 24 characters in length and use any alphanumeric and underscore only}
@returns(200) The data store/repository object.
@returns(202) Accepted request for create/update.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridData/dataManagers/{dataManagerName}/dataStores/{dataStoreName}
@desc This method deletes the given data store/repository.
@required {dataStoreName: any # The data store/repository name to be deleted., resourceGroupName: any # The Resource Group Name, dataManagerName: any # The name of the DataManager Resource within the specified resource group. DataManager names must be between 3 and 24 characters in length and use any alphanumeric and underscore only}
@returns(202) Accepted request for DataStore deletion.
@returns(204) DataStore deleted.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridData/dataManagers/{dataManagerName}/dataStoreTypes
@desc Gets all the data store/repository types that the resource supports.
@required {resourceGroupName: any # The Resource Group Name, dataManagerName: any # The name of the DataManager Resource within the specified resource group. DataManager names must be between 3 and 24 characters in length and use any alphanumeric and underscore only}
@returns(200) The list of data store types that are supported.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridData/dataManagers/{dataManagerName}/dataStoreTypes/{dataStoreTypeName}
@desc Gets the data store/repository type given its name.
@required {dataStoreTypeName: any # The data store/repository type name for which details are needed., resourceGroupName: any # The Resource Group Name, dataManagerName: any # The name of the DataManager Resource within the specified resource group. DataManager names must be between 3 and 24 characters in length and use any alphanumeric and underscore only}
@returns(200) The data store/repository type.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridData/dataManagers/{dataManagerName}/jobDefinitions
@desc This method gets all the job definitions of the given data manager resource.
@required {resourceGroupName: any # The Resource Group Name, dataManagerName: any # The name of the DataManager Resource within the specified resource group. DataManager names must be between 3 and 24 characters in length and use any alphanumeric and underscore only}
@optional {$filter: any # OData Filter options}
@returns(200) The list of job definitions in that resource.OK

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridData/dataManagers/{dataManagerName}/jobs
@desc This method gets all the jobs at the data manager resource level.
@required {resourceGroupName: any # The Resource Group Name, dataManagerName: any # The name of the DataManager Resource within the specified resource group. DataManager names must be between 3 and 24 characters in length and use any alphanumeric and underscore only}
@optional {$filter: any # OData Filter options}
@returns(200) The list of jobs in the resource specified.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridData/dataManagers/{dataManagerName}/publicKeys
@desc This method gets the list view of public keys, however it will only have one element.
@required {resourceGroupName: any # The Resource Group Name, dataManagerName: any # The name of the DataManager Resource within the specified resource group. DataManager names must be between 3 and 24 characters in length and use any alphanumeric and underscore only}
@returns(200) The list of public keys.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridData/dataManagers/{dataManagerName}/publicKeys/{publicKeyName}
@desc This method gets the public keys.
@required {publicKeyName: any # Name of the public key., resourceGroupName: any # The Resource Group Name, dataManagerName: any # The name of the DataManager Resource within the specified resource group. DataManager names must be between 3 and 24 characters in length and use any alphanumeric and underscore only}
@returns(200) The public keys.

@endgroup

@end
