@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api DataBoxEdgeManagementClient
@base https://management.azure.com
@version 2019-07-01
@auth OAuth2
@common_fields {api-version: any # The API version., subscriptionId: any # The subscription ID., resourceGroupName: any # The resource group name.}
@endpoints 49
@hint download_for_search
@toc providers(1), subscriptions(48)

@group providers
@endpoint GET /providers/Microsoft.DataBoxEdge/operations
@desc List all the supported operations.
@returns(200) List of supported operations.

@endgroup

@group subscriptions
@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices
@desc Gets all the Data Box Edge/Data Box Gateway devices in a subscription.
@optional {$expand: any # Specify $expand=details to populate additional fields related to the resource or Specify $skipToken= to populate the next page in the list.}
@returns(200) The collection of Data Box Edge/Data Box Gateway devices.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices
@desc Gets all the Data Box Edge/Data Box Gateway devices in a resource group.
@optional {$expand: any # Specify $expand=details to populate additional fields related to the resource or Specify $skipToken= to populate the next page in the list.}
@returns(200) The collection of Data Box Edge/Data Box Gateway devices.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}
@desc Gets the properties of the Data Box Edge/Data Box Gateway device.
@required {deviceName: any # The device name.}
@returns(200) The Data Box Edge/Data Box Gateway device.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}
@desc Creates or updates a Data Box Edge/Data Box Gateway resource.
@required {deviceName: any # The device name., DataBoxEdgeDevice: map # The resource object.}
@returns(200) Successfully created or updated the resource.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}
@desc Deletes the Data Box Edge/Data Box Gateway device.
@required {deviceName: any # The device name.}
@returns(200) Successfully deleted the resource.
@returns(202) Accepted the request to delete the resource.
@returns(204) The resource is already deleted.

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}
@desc Modifies a Data Box Edge/Data Box Gateway resource.
@required {deviceName: any # The device name., parameters: map # The resource parameters.}
@returns(200) Successfully updated the resource.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/alerts
@desc Gets all the alerts for a Data Box Edge/Data Box Gateway device.
@required {deviceName: any # The device name.}
@returns(200) The collection of alerts.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/alerts/{name}
@desc Gets an alert by name.
@required {deviceName: any # The device name., name: any # The alert name.}
@returns(200) The alert details.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/bandwidthSchedules
@desc Gets all the bandwidth schedules for a Data Box Edge/Data Box Gateway device.
@required {deviceName: any # The device name.}
@returns(200) The collection of bandwidth schedules.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/bandwidthSchedules/{name}
@desc Gets the properties of the specified bandwidth schedule.
@required {deviceName: any # The device name., name: any # The bandwidth schedule name.}
@returns(200) The bandwidth schedule.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/bandwidthSchedules/{name}
@desc Creates or updates a bandwidth schedule.
@required {deviceName: any # The device name., name: any # The bandwidth schedule name which needs to be added/updated., parameters: map # The bandwidth schedule to be added or updated.}
@returns(200) Successfully created or updated the bandwidth schedule.
@returns(202) Accepted the request to create or update the bandwidth schedule.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/bandwidthSchedules/{name}
@desc Deletes the specified bandwidth schedule.
@required {deviceName: any # The device name., name: any # The bandwidth schedule name.}
@returns(200) Successfully deleted the bandwidth schedule.
@returns(202) Accepted the request to delete the bandwidth schedule.
@returns(204) Successfully deleted the bandwidth schedule.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/downloadUpdates
@desc Downloads the updates on a Data Box Edge/Data Box Gateway device.
@required {deviceName: any # The device name.}
@returns(200) Successfully downloaded the updates on the device.
@returns(202) Accepted the request to download the updates on the device.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/getExtendedInformation
@desc Gets additional information for the specified Data Box Edge/Data Box Gateway device.
@required {deviceName: any # The device name.}
@returns(200) The additional information.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/installUpdates
@desc Installs the updates on the Data Box Edge/Data Box Gateway device.
@required {deviceName: any # The device name.}
@returns(200) Successfully installed updates on the device.
@returns(202) Accepted the request to install updates on the device.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/jobs/{name}
@desc Gets the details of a specified job on a Data Box Edge/Data Box Gateway device.
@required {deviceName: any # The device name., name: any # The job name.}
@returns(200) The job details.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/networkSettings/default
@desc Gets the network settings of the specified Data Box Edge/Data Box Gateway device.
@required {deviceName: any # The device name.}
@returns(200) The device network settings.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/nodes
@desc Gets all the nodes currently configured under this Data Box Edge device
@required {deviceName: any # The device name.}
@returns(200) The collection of all nodes on the device.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/operationsStatus/{name}
@desc Gets the details of a specified job on a Data Box Edge/Data Box Gateway device.
@required {deviceName: any # The device name., name: any # The job name.}
@returns(200) The job details.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/orders
@desc Lists all the orders related to a Data Box Edge/Data Box Gateway device.
@required {deviceName: any # The device name.}
@returns(200) Lists all the orders for the Data Box Edge Device

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/orders/default
@desc Gets a specific order by name.
@required {deviceName: any # The device name.}
@returns(200) The order details of a device.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/orders/default
@desc Creates or updates an order.
@required {deviceName: any # The device name., order: map # The order to be created or updated.}
@returns(200) Successfully created or updated the order.
@returns(202) Accepted the request to create or update the order.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/orders/default
@desc Deletes the order related to the device.
@required {deviceName: any # The device name.}
@returns(200) Successfully deleted the order.
@returns(202) Accepted the request to delete the order.
@returns(204) The order is already deleted.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles
@desc Lists all the roles configured in a Data Box Edge/Data Box Gateway device.
@required {deviceName: any # The device name.}
@returns(200) List of all the roles configured in the device.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles/{name}
@desc Gets a specific role by name.
@required {deviceName: any # The device name., name: any # The role name.}
@returns(200) The role with the specified name in the given device.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles/{name}
@desc Create or update a role.
@required {deviceName: any # The device name., name: any # The role name., role: map # The role properties.}
@returns(200) Successfully created or updated the role.
@returns(202) Accepted the request to create or update the role.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles/{name}
@desc Deletes the role on the device.
@required {deviceName: any # The device name., name: any # The role name.}
@returns(200) Successfully deleted the role.
@returns(202) Accepted the request to delete the role.
@returns(204) The role is already deleted.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/scanForUpdates
@desc Scans for updates on a Data Box Edge/Data Box Gateway device.
@required {deviceName: any # The device name.}
@returns(200) Successfully scanned the device for updates.
@returns(202) Accepted the request to scan for updates on the device.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/securitySettings/default/update
@desc Updates the security settings on a Data Box Edge/Data Box Gateway device.
@required {deviceName: any # The device name., securitySettings: map # The security settings.}
@returns(202) Accepted the request to update the security settings.
@returns(204) Updated the security settings.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/shares
@desc Lists all the shares in a Data Box Edge/Data Box Gateway device.
@required {deviceName: any # The device name.}
@returns(200) The collection of all the shares on the device.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/shares/{name}
@desc Gets a share by name.
@required {deviceName: any # The device name., name: any # The share name.}
@returns(200) The share details.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/shares/{name}
@desc Creates a new share or updates an existing share on the device.
@required {deviceName: any # The device name., name: any # The share name., share: map # The share properties.}
@returns(200) Successfully created or updated the share.
@returns(202) Accepted the request to create or update the share.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/shares/{name}
@desc Deletes the share on the Data Box Edge/Data Box Gateway device.
@required {deviceName: any # The device name., name: any # The share name.}
@returns(200) Successfully deleted the share.
@returns(202) Accepted the request to delete the share.
@returns(204) The share is already deleted.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/shares/{name}/refresh
@desc Refreshes the share metadata with the data from the cloud.
@required {deviceName: any # The device name., name: any # The share name.}
@returns(200) Successfully refreshed the share on the device.
@returns(202) Accepted the request to refresh the share on the device.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccountCredentials
@desc Gets all the storage account credentials in a Data Box Edge/Data Box Gateway device.
@required {deviceName: any # The device name.}
@returns(200) The collection of storage account credentials.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccountCredentials/{name}
@desc Gets the properties of the specified storage account credential.
@required {deviceName: any # The device name., name: any # The storage account credential name.}
@returns(200) The storage account credential properties.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccountCredentials/{name}
@desc Creates or updates the storage account credential.
@required {deviceName: any # The device name., name: any # The storage account credential name., storageAccountCredential: map # The storage account credential.}
@returns(200) Successfully created or updated the storage account credential.
@returns(202) Accepted the request to create or update the storage account credential.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccountCredentials/{name}
@desc Deletes the storage account credential.
@required {deviceName: any # The device name., name: any # The storage account credential name.}
@returns(200) Successfully deleted the storage account credential.
@returns(202) Accepted the request to delete the storage account credential.
@returns(204) The storage account credential is already deleted.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/triggers
@desc Lists all the triggers configured in the device.
@required {deviceName: any # The device name.}
@optional {$expand: any # Specify $filter='CustomContextTag eq ' to filter on custom context tag property}
@returns(200) List all the triggers configured in the device

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/triggers/{name}
@desc Get a specific trigger by name.
@required {deviceName: any # The device name., name: any # The trigger name.}
@returns(200) The trigger.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/triggers/{name}
@desc Creates or updates a trigger.
@required {deviceName: any # Creates or updates a trigger, name: any # The trigger name., trigger: map # The trigger.}
@returns(200) Successfully created or updated the trigger.
@returns(202) Accepted the request to create or update the trigger.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/triggers/{name}
@desc Deletes the trigger on the gateway device.
@required {deviceName: any # The device name., name: any # The trigger name.}
@returns(200) Successfully deleted the trigger.
@returns(202) Accepted the request to delete the trigger.
@returns(204) The trigger is already deleted.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/updateSummary/default
@desc Gets information about the availability of updates based on the last scan of the device. It also gets information about any ongoing download or install jobs on the device.
@required {deviceName: any # The device name.}
@returns(200) The update summary.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/uploadCertificate
@desc Uploads registration certificate for the device.
@required {deviceName: any # The device name., parameters: map # The upload certificate request.}
@returns(200) Successfully uploaded the registration certificate.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/users
@desc Gets all the users registered on a Data Box Edge/Data Box Gateway device.
@required {deviceName: any # The device name.}
@returns(200) The collection of all users on the device.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/users/{name}
@desc Gets the properties of the specified user.
@required {deviceName: any # The device name., name: any # The user name.}
@returns(200) The user details.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/users/{name}
@desc Creates a new user or updates an existing user's information on a Data Box Edge/Data Box Gateway device.
@required {deviceName: any # The device name., name: any # The user name., user: map # The user details.}
@returns(200) Successfully created or updated the user.
@returns(202) Accepted the request to create or update the user.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/users/{name}
@desc Deletes the user on a databox edge/gateway device.
@required {deviceName: any # The device name., name: any # The user name.}
@returns(200) Successfully deleted the user.
@returns(202) Accepted the request to delete the user.
@returns(204) The user is already deleted.

@endgroup

@end
