@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api RedisManagementClient
@base https://management.azure.com
@version 2018-03-01
@auth OAuth2
@common_fields {api-version: any # Client Api Version., subscriptionId: any # Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.}
@endpoints 26
@hint download_for_search
@toc providers(1), subscriptions(25)

@group providers
@endpoint GET /providers/Microsoft.Cache/operations
@desc Lists all of the available REST API operations of the Microsoft.Cache provider.
@returns(200) Success. The response describes the list of operations.

@endgroup

@group subscriptions
@endpoint POST /subscriptions/{subscriptionId}/providers/Microsoft.Cache/CheckNameAvailability
@desc Checks that the redis cache name is valid and is not already in use.
@required {parameters: any # Parameters supplied to the CheckNameAvailability Redis operation. The only supported resource type is 'Microsoft.Cache/redis'}
@returns(200) Name is available

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/listUpgradeNotifications
@desc Gets any upgrade notifications for a Redis cache.
@required {resourceGroupName: any # The name of the resource group., name: any # The name of the Redis cache., history: any # how many minutes in past to look for upgrade notifications}
@returns(200) All upgrade notifications in given time range

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}
@desc Create or replace (overwrite/recreate, with potential downtime) an existing Redis cache.
@required {resourceGroupName: any # The name of the resource group., name: any # The name of the Redis cache., parameters: any # Parameters supplied to the Create Redis operation.}
@returns(200) The existing redis cache was successfully updated. Check provisioningState to see detailed status.
@returns(201) The new redis cache was successfully created. Check provisioningState to see detailed status.

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}
@desc Update an existing Redis cache.
@required {resourceGroupName: any # The name of the resource group., name: any # The name of the Redis cache., parameters: any # Parameters supplied to the Update Redis operation.}
@returns(200) The existing redis cache was successfully updated. Check provisioningState to see detailed status.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}
@desc Deletes a Redis cache.
@required {resourceGroupName: any # The name of the resource group., name: any # The name of the Redis cache.}
@returns(200) The redis cache was successfully deleted.
@returns(202) The redis cache 'delete' operation was successfully enqueued; follow the Location header to poll for final outcome.
@returns(204) The redis cache was successfully deleted.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}
@desc Gets a Redis cache (resource description).
@required {resourceGroupName: any # The name of the resource group., name: any # The name of the Redis cache.}
@returns(200) The redis cache was successfully found.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis
@desc Lists all Redis caches in a resource group.
@required {resourceGroupName: any # The name of the resource group.}
@returns(200)

@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.Cache/Redis
@desc Gets all Redis caches in the specified subscription.
@returns(200)

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/listKeys
@desc Retrieve a Redis cache's access keys. This operation requires write permission to the cache resource.
@required {resourceGroupName: any # The name of the resource group., name: any # The name of the Redis cache.}
@returns(200) Lists the keys for the specified Redis cache.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/regenerateKey
@desc Regenerate Redis cache's access keys. This operation requires write permission to the cache resource.
@required {resourceGroupName: any # The name of the resource group., name: any # The name of the Redis cache., parameters: any # Specifies which key to regenerate.}
@returns(200) Lists the regenerated keys for Redis Cache

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/forceReboot
@desc Reboot specified Redis node(s). This operation requires write permission to the cache resource. There can be potential data loss.
@required {resourceGroupName: any # The name of the resource group., name: any # The name of the Redis cache., parameters: any # Specifies which Redis node(s) to reboot.}
@returns(200) Reboot operation successfully enqueued

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/import
@desc Import data into Redis cache.
@required {resourceGroupName: any # The name of the resource group., name: any # The name of the Redis cache., parameters: any # Parameters for Redis import operation.}
@returns(200) Import operation succeeded.
@returns(202) Import operation successfully enqueued; follow the Location header to poll for final outcome.
@returns(204) Import operation succeeded.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/export
@desc Export data from the redis cache to blobs in a container.
@required {resourceGroupName: any # The name of the resource group., name: any # The name of the Redis cache., parameters: any # Parameters for Redis export operation.}
@returns(200) Export operation succeeded.
@returns(202) Export operation successfully enqueued; follow the Location header to poll for final outcome.
@returns(204) Export operation succeeded.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{cacheName}/firewallRules
@desc Gets all firewall rules in the specified redis cache.
@required {resourceGroupName: any # The name of the resource group., cacheName: any # The name of the Redis cache.}
@returns(200) Successfully got the current rules

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{cacheName}/firewallRules/{ruleName}
@desc Create or update a redis cache firewall rule
@required {resourceGroupName: any # The name of the resource group., cacheName: any # The name of the Redis cache., ruleName: any # The name of the firewall rule., parameters: any # Parameters supplied to the create or update redis firewall rule operation.}
@returns(200) Resource was successfully updated
@returns(201) Resource was successfully created

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{cacheName}/firewallRules/{ruleName}
@desc Gets a single firewall rule in a specified redis cache.
@required {resourceGroupName: any # The name of the resource group., cacheName: any # The name of the Redis cache., ruleName: any # The name of the firewall rule.}
@returns(200) Successfully found the rule

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{cacheName}/firewallRules/{ruleName}
@desc Deletes a single firewall rule in a specified redis cache.
@required {resourceGroupName: any # The name of the resource group., cacheName: any # The name of the Redis cache., ruleName: any # The name of the firewall rule.}
@returns(200) Successfully deleted the rule
@returns(204) Successfully deleted the rule

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{cacheName}/patchSchedules
@desc Gets all patch schedules in the specified redis cache (there is only one).
@required {resourceGroupName: any # The name of the resource group., cacheName: any # The name of the Redis cache.}
@returns(200) Successfully got the current patch schedules

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/patchSchedules/{default}
@desc Create or replace the patching schedule for Redis cache.
@required {resourceGroupName: any # The name of the resource group., name: any # The name of the Redis cache., default: any # Default string modeled as parameter for auto generation to work correctly., parameters: any # Parameters to set the patching schedule for Redis cache.}
@returns(200) The patch schedule was successfully updated.
@returns(201) The patch schedule was successfully created.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/patchSchedules/{default}
@desc Deletes the patching schedule of a redis cache.
@required {resourceGroupName: any # The name of the resource group., name: any # The name of the redis cache., default: any # Default string modeled as parameter for auto generation to work correctly.}
@returns(200) Success.
@returns(204) Success.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/patchSchedules/{default}
@desc Gets the patching schedule of a redis cache.
@required {resourceGroupName: any # The name of the resource group., name: any # The name of the redis cache., default: any # Default string modeled as parameter for auto generation to work correctly.}
@returns(200) Response of get patch schedules.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/linkedServers/{linkedServerName}
@desc Adds a linked server to the Redis cache (requires Premium SKU).
@required {resourceGroupName: any # The name of the resource group., name: any # The name of the Redis cache., linkedServerName: any # The name of the linked server that is being added to the Redis cache., parameters: any # Parameters supplied to the Create Linked server operation.}
@returns(200) The linked server was successfully added.
@returns(201) The linked server was successfully added.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/linkedServers/{linkedServerName}
@desc Deletes the linked server from a redis cache (requires Premium SKU).
@required {resourceGroupName: any # The name of the resource group., name: any # The name of the redis cache., linkedServerName: any # The name of the linked server that is being added to the Redis cache.}
@returns(200) Linked server was successfully deleted.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/linkedServers/{linkedServerName}
@desc Gets the detailed information about a linked server of a redis cache (requires Premium SKU).
@required {resourceGroupName: any # The name of the resource group., name: any # The name of the redis cache., linkedServerName: any # The name of the linked server.}
@returns(200) Response of get linked server.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/linkedServers
@desc Gets the list of linked servers associated with this redis cache (requires Premium SKU).
@required {resourceGroupName: any # The name of the resource group., name: any # The name of the redis cache.}
@returns(200) Response of get linked servers.

@endgroup

@end
