swagger: "2.0"
schemes:
  - https
host: management.azure.com
info:
  description: REST API for Azure Redis Cache Service.
  title: RedisManagementClient
  version: 2018-03-01
  x-apisguru-categories:
    - cloud
  x-logo:
    url: https://api.apis.guru/v2/cache/logo/https_assets.onestore.ms_cdnfiles_onestorerolling-1606-01000_shell_v3_images_logo_microsoft.png
  x-origin:
    - format: swagger
      url: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/redis/resource-manager/Microsoft.Cache/stable/2018-03-01/redis.json
      version: "2.0"
  x-preferred: true
  x-providerName: azure.com
  x-serviceName: redis
  x-tags:
    - Azure
    - Microsoft
consumes:
  - application/json
produces:
  - application/json
securityDefinitions:
  azure_auth:
    authorizationUrl: https://login.microsoftonline.com/common/oauth2/authorize
    description: Azure Active Directory OAuth2 Flow.
    flow: implicit
    scopes:
      user_impersonation: impersonate your user account
    type: oauth2
security:
  - azure_auth:
      - user_impersonation
parameters:
  ApiVersionParameter:
    description: Client Api Version.
    in: query
    name: api-version
    required: true
    type: string
  SubscriptionIdParameter:
    description: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
    in: path
    name: subscriptionId
    required: true
    type: string
paths:
  /providers/Microsoft.Cache/operations:
    get:
      description: Lists all of the available REST API operations of the Microsoft.Cache provider.
      operationId: Operations_List
      parameters:
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: Success. The response describes the list of operations.
          schema:
            $ref: "#/definitions/OperationListResult"
      tags:
        - Operations
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/providers/Microsoft.Cache/CheckNameAvailability":
    post:
      description: Checks that the redis cache name is valid and is not already in use.
      operationId: Redis_CheckNameAvailability
      parameters:
        - description: Parameters supplied to the CheckNameAvailability Redis operation. The only supported resource type is 'Microsoft.Cache/redis'
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/CheckNameAvailabilityParameters"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Name is available
      tags:
        - Redis
      x-ms-examples:
        RedisCacheList:
          parameters:
            api-version: 2018-03-01
            parameters:
              name: cacheName
              type: Microsoft.Cache/Redis
            subscriptionId: subid
          responses:
            "200": {}
  "/subscriptions/{subscriptionId}/providers/Microsoft.Cache/Redis":
    get:
      description: Gets all Redis caches in the specified subscription.
      operationId: Redis_List
      parameters:
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: ""
          schema:
            $ref: "#/definitions/RedisListResult"
      tags:
        - Redis
      x-ms-examples:
        RedisCacheList:
          parameters:
            api-version: 2018-03-01
            subscriptionId: subid
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1
                    location: West US
                    name: cache1
                    properties:
                      enableNonSslPort: true
                      hostName: cache1.redis.cache.windows.net
                      port: 6379
                      provisioningState: Creating
                      redisConfiguration: {}
                      redisVersion: "3.2"
                      sku:
                        capacity: 6
                        family: C
                        name: Standard
                      sslPort: 6380
                    tags: {}
                    type: Microsoft.Cache/Redis
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis":
    get:
      description: Lists all Redis caches in a resource group.
      operationId: Redis_ListByResourceGroup
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: ""
          schema:
            $ref: "#/definitions/RedisListResult"
      tags:
        - Redis
      x-ms-examples:
        RedisCacheListByResourceGroup:
          parameters:
            api-version: 2018-03-01
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1
                    location: West US
                    name: cache1
                    properties:
                      enableNonSslPort: true
                      hostName: cache1.redis.cache.windows.net
                      port: 6379
                      provisioningState: Creating
                      redisConfiguration: {}
                      redisVersion: "3.2"
                      sku:
                        capacity: 6
                        family: C
                        name: Standard
                      sslPort: 6380
                    tags: {}
                    type: Microsoft.Cache/Redis
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{cacheName}/firewallRules":
    get:
      description: Gets all firewall rules in the specified redis cache.
      operationId: FirewallRules_ListByRedisResource
      parameters:
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the Redis cache.
          in: path
          name: cacheName
          required: true
          type: string
      responses:
        "200":
          description: Successfully got the current rules
          schema:
            $ref: "#/definitions/RedisFirewallRuleListResult"
      tags:
        - Redis
        - FirewallRules
      x-ms-examples:
        RedisCacheFirewallRulesList:
          parameters:
            api-version: 2018-03-01
            cacheName: cache1
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1/firewallRules/rule1
                    name: rule1
                    properties:
                      endIP: 192.168.1.4
                      startIP: 192.168.1.1
                    type: Microsoft.Cache/Redis/firewallRules
                  - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1/firewallRules/rule2
                    name: rule2
                    properties:
                      endIP: 192.169.1.255
                      startIP: 192.169.1.0
                    type: Microsoft.Cache/Redis/firewallRules
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{cacheName}/firewallRules/{ruleName}":
    delete:
      description: Deletes a single firewall rule in a specified redis cache.
      operationId: FirewallRules_Delete
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the Redis cache.
          in: path
          name: cacheName
          required: true
          type: string
        - description: The name of the firewall rule.
          in: path
          name: ruleName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Successfully deleted the rule
        "204":
          description: Successfully deleted the rule
      tags:
        - Redis
        - FirewallRules
      x-ms-examples:
        RedisCacheFirewallRuleDelete:
          parameters:
            api-version: 2018-03-01
            cacheName: cache1
            resourceGroupName: rg1
            ruleName: rule1
            subscriptionId: subid
          responses:
            "200": {}
            "204": {}
    get:
      description: Gets a single firewall rule in a specified redis cache.
      operationId: FirewallRules_Get
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the Redis cache.
          in: path
          name: cacheName
          required: true
          type: string
        - description: The name of the firewall rule.
          in: path
          name: ruleName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Successfully found the rule
          schema:
            $ref: "#/definitions/RedisFirewallRule"
      tags:
        - Redis
        - FirewallRules
      x-ms-examples:
        RedisCacheFirewallRuleGet:
          parameters:
            api-version: 2018-03-01
            cacheName: cache1
            resourceGroupName: rg1
            ruleName: rule1
            subscriptionId: subid
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1/firewallRules/rule1
                name: cache1/rule1
                properties:
                  endIP: 192.168.1.4
                  startIP: 192.168.1.1
                type: Microsoft.Cache/Redis/firewallRules
    put:
      description: Create or update a redis cache firewall rule
      operationId: FirewallRules_CreateOrUpdate
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the Redis cache.
          in: path
          name: cacheName
          required: true
          type: string
        - description: The name of the firewall rule.
          in: path
          name: ruleName
          required: true
          type: string
        - description: Parameters supplied to the create or update redis firewall rule operation.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/RedisFirewallRuleCreateParameters"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Resource was successfully updated
          schema:
            $ref: "#/definitions/RedisFirewallRule"
        "201":
          description: Resource was successfully created
          schema:
            $ref: "#/definitions/RedisFirewallRule"
      tags:
        - Redis
        - FirewallRules
      x-ms-examples:
        RedisCacheFirewallRuleCreate:
          parameters:
            api-version: 2018-03-01
            cacheName: cache1
            parameters:
              properties:
                endIP: 192.168.1.4
                startIP: 192.168.1.1
            resourceGroupName: rg1
            ruleName: rule1
            subscriptionId: subid
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1/firewallRules/rule1
                name: cache1/rule1
                properties:
                  endIP: 192.168.1.4
                  startIP: 192.168.1.1
                type: Microsoft.Cache/Redis/firewallRules
            "201":
              body:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1/firewallRules/rule1
                name: cache1/rule1
                properties:
                  endIP: 192.168.1.4
                  startIP: 192.168.1.1
                type: Microsoft.Cache/Redis/firewallRules
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{cacheName}/patchSchedules":
    get:
      description: Gets all patch schedules in the specified redis cache (there is only one).
      operationId: PatchSchedules_ListByRedisResource
      parameters:
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the Redis cache.
          in: path
          name: cacheName
          required: true
          type: string
      responses:
        "200":
          description: Successfully got the current patch schedules
          schema:
            $ref: "#/definitions/RedisPatchScheduleListResult"
      tags:
        - Redis
        - PatchSchedules
      x-ms-examples:
        RedisCachePatchSchedulesList:
          parameters:
            api-version: 2018-03-01
            cacheName: cache1
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1/patchSchedules/default
                    name: default
                    properties:
                      scheduleEntries:
                        - dayOfWeek: Monday
                          maintenanceWindow: PT5H
                          startHourUtc: 12
                        - dayOfWeek: Tuesday
                          startHourUtc: 12
                    type: Microsoft.Cache/Redis/patchSchedules
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}":
    delete:
      description: Deletes a Redis cache.
      operationId: Redis_Delete
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the Redis cache.
          in: path
          name: name
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: The redis cache was successfully deleted.
        "202":
          description: The redis cache 'delete' operation was successfully enqueued; follow the Location header to poll for final outcome.
        "204":
          description: The redis cache was successfully deleted.
      tags:
        - Redis
      x-ms-examples:
        RedisCacheDelete:
          parameters:
            api-version: 2018-03-01
            name: cache1
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200": {}
            "202":
              headers:
                location: https://management.azure.com/subscriptions/subid/providers/Microsoft.Cache/...pathToOperationResult...
            "204": {}
      x-ms-long-running-operation: true
    get:
      description: Gets a Redis cache (resource description).
      operationId: Redis_Get
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the Redis cache.
          in: path
          name: name
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: The redis cache was successfully found.
          schema:
            $ref: "#/definitions/RedisResource"
      tags:
        - Redis
      x-ms-examples:
        RedisCacheGet:
          parameters:
            api-version: 2018-03-01
            name: cache1
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1
                location: West US
                name: cache1
                properties:
                  enableNonSslPort: true
                  hostName: cache1.redis.cache.windows.net
                  linkedServers:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1/linkedServers/cache2
                  port: 6379
                  provisioningState: Creating
                  redisConfiguration: {}
                  redisVersion: "3.2"
                  sku:
                    capacity: 6
                    family: C
                    name: Standard
                  sslPort: 6380
                tags: {}
                type: Microsoft.Cache/Redis
    patch:
      description: Update an existing Redis cache.
      operationId: Redis_Update
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the Redis cache.
          in: path
          name: name
          required: true
          type: string
        - description: Parameters supplied to the Update Redis operation.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/RedisUpdateParameters"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: The existing redis cache was successfully updated. Check provisioningState to see detailed status.
          schema:
            $ref: "#/definitions/RedisResource"
      tags:
        - Redis
      x-ms-examples:
        RedisCacheUpdate:
          parameters:
            api-version: 2018-03-01
            name: cache1
            parameters:
              properties:
                enableNonSslPort: true
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1
                location: West US
                name: cache1
                properties:
                  accessKeys:
                    primaryKey: secretkey1
                    secondaryKey: secretKey2
                  enableNonSslPort: true
                  hostName: cache1.redis.cache.windows.net
                  port: 6379
                  provisioningState: Succeeded
                  redisConfiguration:
                    maxclients: "1000"
                    maxmemory-delta: "50"
                    maxmemory-reserved: "50"
                  redisVersion: "3.0"
                  sku:
                    capacity: 1
                    family: P
                    name: Premium
                  sslPort: 6380
                tags: {}
                type: Microsoft.Cache/Redis
    put:
      description: Create or replace (overwrite/recreate, with potential downtime) an existing Redis cache.
      operationId: Redis_Create
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the Redis cache.
          in: path
          name: name
          required: true
          type: string
        - description: Parameters supplied to the Create Redis operation.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/RedisCreateParameters"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: The existing redis cache was successfully updated. Check provisioningState to see detailed status.
          schema:
            $ref: "#/definitions/RedisResource"
        "201":
          description: The new redis cache was successfully created. Check provisioningState to see detailed status.
          schema:
            $ref: "#/definitions/RedisResource"
      tags:
        - Redis
      x-ms-examples:
        RedisCacheCreate:
          parameters:
            api-version: 2018-03-01
            name: cache1
            parameters:
              location: West US
              properties:
                enableNonSslPort: true
                minimumTlsVersion: "1.2"
                redisConfiguration:
                  maxmemory-policy: allkeys-lru
                shardCount: 2
                sku:
                  capacity: 1
                  family: P
                  name: Premium
                staticIP: 192.168.0.5
                subnetId: /subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/network1/subnets/subnet1
              zones:
                - "1"
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1
                location: West US
                name: cache1
                properties:
                  accessKeys:
                    primaryKey: secretkey1
                    secondaryKey: secretKey2
                  enableNonSslPort: false
                  hostName: cache1.redis.cache.windows.net
                  minimumTlsVersion: "1.2"
                  port: 6379
                  provisioningState: Succeeded
                  redisConfiguration:
                    maxclients: "1000"
                    maxmemory-delta: "50"
                    maxmemory-reserved: "50"
                  redisVersion: "3.0"
                  sku:
                    capacity: 1
                    family: P
                    name: Premium
                  sslPort: 6380
                tags: {}
                type: Microsoft.Cache/Redis
                zones:
                  - "1"
            "201":
              body:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1
                location: West US
                name: cache1
                properties:
                  accessKeys:
                    primaryKey: secretkey1
                    secondaryKey: secretKey2
                  enableNonSslPort: false
                  hostName: cache1.redis.cache.windows.net
                  minimumTlsVersion: "1.2"
                  port: 6379
                  provisioningState: Succeeded
                  redisConfiguration:
                    maxmemory-policy: allkeys-lru
                  redisVersion: "3.0"
                  sku:
                    capacity: 1
                    family: P
                    name: Premium
                  sslPort: 6380
                tags: {}
                type: Microsoft.Cache/Redis
                zones:
                  - "1"
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/export":
    post:
      description: Export data from the redis cache to blobs in a container.
      operationId: Redis_ExportData
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the Redis cache.
          in: path
          name: name
          required: true
          type: string
        - description: Parameters for Redis export operation.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/ExportRDBParameters"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Export operation succeeded.
        "202":
          description: Export operation successfully enqueued; follow the Location header to poll for final outcome.
        "204":
          description: Export operation succeeded.
      tags:
        - Redis
      x-ms-examples:
        RedisCacheExport:
          parameters:
            api-version: 2018-03-01
            name: cache1
            parameters:
              container: https://contosostorage.blob.core.window.net/urltoBlobContainer?sasKeyParameters
              format: RDB
              prefix: datadump1
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200": {}
            "202":
              headers:
                location: https://management.azure.com/subscriptions/subid/providers/Microsoft.Cache/...pathToOperationResult...
            "204": {}
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/forceReboot":
    post:
      description: Reboot specified Redis node(s). This operation requires write permission to the cache resource. There can be potential data loss.
      operationId: Redis_ForceReboot
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the Redis cache.
          in: path
          name: name
          required: true
          type: string
        - description: Specifies which Redis node(s) to reboot.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/RedisRebootParameters"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Reboot operation successfully enqueued
          schema:
            $ref: "#/definitions/RedisForceRebootResponse"
      tags:
        - Redis
      x-ms-examples:
        RedisCacheForceReboot:
          parameters:
            api-version: 2018-03-01
            name: cache1
            parameters:
              rebootType: AllNodes
              shardId: 0
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                message: reboot operation enqueued
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/import":
    post:
      description: Import data into Redis cache.
      operationId: Redis_ImportData
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the Redis cache.
          in: path
          name: name
          required: true
          type: string
        - description: Parameters for Redis import operation.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/ImportRDBParameters"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Import operation succeeded.
        "202":
          description: Import operation successfully enqueued; follow the Location header to poll for final outcome.
        "204":
          description: Import operation succeeded.
      tags:
        - Redis
      x-ms-examples:
        RedisCacheImport:
          parameters:
            api-version: 2018-03-01
            name: cache1
            parameters:
              files:
                - http://fileuris.contoso.com/pathtofile1
              format: RDB
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200": {}
            "202":
              headers:
                location: https://management.azure.com/subscriptions/subid/providers/Microsoft.Cache/...pathToOperationResult...
            "204": {}
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/linkedServers":
    get:
      description: Gets the list of linked servers associated with this redis cache (requires Premium SKU).
      operationId: LinkedServer_List
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the redis cache.
          in: path
          name: name
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Response of get linked servers.
          schema:
            $ref: "#/definitions/RedisLinkedServerWithPropertiesList"
      tags:
        - Redis
      x-ms-examples:
        LinkedServer_List:
          parameters:
            api-version: 2018-03-01
            name: cache1
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1/linkedServers/cache2
                  name: cache2
                  properties:
                    linkedRedisCacheId: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache2
                    linkedRedisCacheLocation: West US
                    provisioningState: Succeeded
                    serverRole: Secondary
                  type: Microsoft.Cache/Redis/linkedServers
                - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1/linkedServers/cache3
                  name: cache3
                  properties:
                    linkedRedisCacheId: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache3
                    linkedRedisCacheLocation: West US
                    provisioningState: Succeeded
                    serverRole: Secondary
                  type: Microsoft.Cache/Redis/linkedServers
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/linkedServers/{linkedServerName}":
    delete:
      description: Deletes the linked server from a redis cache (requires Premium SKU).
      operationId: LinkedServer_Delete
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the redis cache.
          in: path
          name: name
          required: true
          type: string
        - description: The name of the linked server that is being added to the Redis cache.
          in: path
          name: linkedServerName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Linked server was successfully deleted.
      tags:
        - Redis
      x-ms-examples:
        LinkedServerDelete:
          parameters:
            api-version: 2018-03-01
            linkedServerName: cache2
            name: cache1
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200": {}
    get:
      description: Gets the detailed information about a linked server of a redis cache (requires Premium SKU).
      operationId: LinkedServer_Get
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the redis cache.
          in: path
          name: name
          required: true
          type: string
        - description: The name of the linked server.
          in: path
          name: linkedServerName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Response of get linked server.
          schema:
            $ref: "#/definitions/RedisLinkedServerWithProperties"
      tags:
        - Redis
      x-ms-examples:
        LinkedServer_Get:
          parameters:
            api-version: 2018-03-01
            linkedServerName: cache2
            name: cache1
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1/linkedServers/cache2
                name: cache2
                properties:
                  linkedRedisCacheId: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache2
                  linkedRedisCacheLocation: West US
                  provisioningState: Succeeded
                  serverRole: Secondary
                type: Microsoft.Cache/Redis/linkedServers
    put:
      description: Adds a linked server to the Redis cache (requires Premium SKU).
      operationId: LinkedServer_Create
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the Redis cache.
          in: path
          name: name
          required: true
          type: string
        - description: The name of the linked server that is being added to the Redis cache.
          in: path
          name: linkedServerName
          required: true
          type: string
        - description: Parameters supplied to the Create Linked server operation.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/RedisLinkedServerCreateParameters"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: The linked server was successfully added.
          schema:
            $ref: "#/definitions/RedisLinkedServerWithProperties"
        "201":
          description: The linked server was successfully added.
          schema:
            $ref: "#/definitions/RedisLinkedServerWithProperties"
      tags:
        - Redis
      x-ms-examples:
        LinkedServer_Create:
          parameters:
            api-version: 2018-03-01
            linkedServerName: cache2
            name: cache1
            parameters:
              properties:
                linkedRedisCacheId: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache2
                linkedRedisCacheLocation: West US
                serverRole: Secondary
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1/linkedServers/cache2
                name: cache2
                properties:
                  linkedRedisCacheId: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache2
                  linkedRedisCacheLocation: West US
                  provisioningState: Creating
                  serverRole: Secondary
                type: Microsoft.Cache/Redis/linkedServers
            "201":
              body:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1/linkedServers/cache2
                name: cache2
                properties:
                  linkedRedisCacheId: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache2
                  linkedRedisCacheLocation: West US
                  provisioningState: Creating
                  serverRole: Secondary
                type: Microsoft.Cache/Redis/linkedServers
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/listKeys":
    post:
      description: Retrieve a Redis cache's access keys. This operation requires write permission to the cache resource.
      operationId: Redis_ListKeys
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the Redis cache.
          in: path
          name: name
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Lists the keys for the specified Redis cache.
          schema:
            $ref: "#/definitions/RedisAccessKeys"
      tags:
        - Redis
      x-ms-examples:
        RedisCacheListKeys:
          parameters:
            api-version: 2018-03-01
            name: cache1
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                primaryKey: secretkey1
                secondaryKey: secretKey2
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/listUpgradeNotifications":
    get:
      description: Gets any upgrade notifications for a Redis cache.
      operationId: Redis_ListUpgradeNotifications
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the Redis cache.
          in: path
          name: name
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
        - description: how many minutes in past to look for upgrade notifications
          format: double
          in: query
          name: history
          required: true
          type: number
      responses:
        "200":
          description: All upgrade notifications in given time range
          schema:
            $ref: "#/definitions/NotificationListResponse"
      tags:
        - Redis
      x-ms-examples:
        RedisCacheGet:
          parameters:
            api-version: 2018-03-01
            history: "5000"
            name: cache1
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                value:
                  - name: notification1
                    timestamp: 2017-02-16T23:20:50.52Z
                    upsellNotification: {}
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/patchSchedules/{default}":
    delete:
      description: Deletes the patching schedule of a redis cache (requires Premium SKU).
      operationId: PatchSchedules_Delete
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the redis cache.
          in: path
          name: name
          required: true
          type: string
        - description: Default string modeled as parameter for auto generation to work correctly.
          enum:
            - default
          in: path
          name: default
          required: true
          type: string
          x-ms-enum:
            modelAsString: true
            name: defaultName
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Success.
        "204":
          description: Success.
      tags:
        - Redis
        - PatchSchedules
      x-ms-examples:
        RedisCachePatchSchedulesDelete:
          parameters:
            api-version: 2018-03-01
            default: default
            name: cache1
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200": {}
            "204": {}
    get:
      description: Gets the patching schedule of a redis cache (requires Premium SKU).
      operationId: PatchSchedules_Get
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the redis cache.
          in: path
          name: name
          required: true
          type: string
        - description: Default string modeled as parameter for auto generation to work correctly.
          enum:
            - default
          in: path
          name: default
          required: true
          type: string
          x-ms-enum:
            modelAsString: true
            name: defaultName
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Response of get patch schedules.
          schema:
            $ref: "#/definitions/RedisPatchSchedule"
      tags:
        - Redis
        - PatchSchedules
      x-ms-examples:
        RedisCachePatchSchedulesGet:
          parameters:
            api-version: 2018-03-01
            default: default
            name: cache1
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1/patchSchedules/default
                name: default
                properties:
                  scheduleEntries:
                    - dayOfWeek: Monday
                      maintenanceWindow: PT5H
                      startHourUtc: 12
                    - dayOfWeek: Tuesday
                      startHourUtc: 12
                type: Microsoft.Cache/Redis/patchSchedules
    put:
      description: Create or replace the patching schedule for Redis cache (requires Premium SKU).
      operationId: PatchSchedules_CreateOrUpdate
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the Redis cache.
          in: path
          name: name
          required: true
          type: string
        - description: Default string modeled as parameter for auto generation to work correctly.
          enum:
            - default
          in: path
          name: default
          required: true
          type: string
          x-ms-enum:
            modelAsString: true
            name: defaultName
        - description: Parameters to set the patching schedule for Redis cache.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/RedisPatchSchedule"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: The patch schedule was successfully updated.
          schema:
            $ref: "#/definitions/RedisPatchSchedule"
        "201":
          description: The patch schedule was successfully created.
          schema:
            $ref: "#/definitions/RedisPatchSchedule"
      tags:
        - Redis
        - PatchSchedules
      x-ms-examples:
        RedisCachePatchSchedulesCreateOrUpdate:
          parameters:
            api-version: 2018-03-01
            default: default
            name: cache1
            parameters:
              properties:
                scheduleEntries:
                  - dayOfWeek: Monday
                    maintenanceWindow: PT5H
                    startHourUtc: 12
                  - dayOfWeek: Tuesday
                    startHourUtc: 12
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1/patchSchedules/default
                name: default
                properties:
                  scheduleEntries:
                    - dayOfWeek: Monday
                      maintenanceWindow: PT5H
                      startHourUtc: 12
                    - dayOfWeek: Tuesday
                      startHourUtc: 12
                type: Microsoft.Cache/Redis/patchSchedules
            "201":
              body:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1/patchSchedules/default
                name: default
                properties:
                  scheduleEntries:
                    - dayOfWeek: Monday
                      maintenanceWindow: PT5H
                      startHourUtc: 12
                    - dayOfWeek: Tuesday
                      startHourUtc: 12
                type: Microsoft.Cache/Redis/patchSchedules
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/regenerateKey":
    post:
      description: Regenerate Redis cache's access keys. This operation requires write permission to the cache resource.
      operationId: Redis_RegenerateKey
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the Redis cache.
          in: path
          name: name
          required: true
          type: string
        - description: Specifies which key to regenerate.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/RedisRegenerateKeyParameters"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Lists the regenerated keys for Redis Cache
          schema:
            $ref: "#/definitions/RedisAccessKeys"
      tags:
        - Redis
      x-ms-examples:
        RedisCacheRegenerateKey:
          parameters:
            api-version: 2018-03-01
            name: cache1
            parameters:
              keyType: Primary
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                primaryKey: secretkey1
                secondaryKey: secretKey2
definitions:
  CheckNameAvailabilityParameters:
    description: Parameters body to pass for resource name availability check.
    properties:
      name:
        description: Resource name.
        type: string
      type:
        description: Resource type. The only legal value of this property for checking redis cache name availability is 'Microsoft.Cache/redis'.
        type: string
    required:
      - name
      - type
  ExportRDBParameters:
    description: Parameters for Redis export operation.
    properties:
      container:
        description: Container name to export to.
        type: string
      format:
        description: File format.
        type: string
      prefix:
        description: Prefix to use for exported files.
        type: string
    required:
      - container
      - prefix
  ImportRDBParameters:
    description: Parameters for Redis import operation.
    properties:
      files:
        description: files to import.
        items:
          type: string
        type: array
      format:
        description: File format.
        type: string
    required:
      - files
  NotificationListResponse:
    description: The response of listUpgradeNotifications.
    properties:
      nextLink:
        description: Link for next set of notifications.
        readOnly: true
        type: string
      value:
        description: List of all notifications.
        items:
          $ref: "#/definitions/UpgradeNotification"
        type: array
  Operation:
    description: REST API operation
    properties:
      display:
        description: The object that describes the operation.
        properties:
          description:
            description: Friendly name of the operation
            type: string
          operation:
            description: "Operation type: read, write, delete, listKeys/action, etc."
            type: string
          provider:
            description: Friendly name of the resource provider
            type: string
          resource:
            description: Resource type on which the operation is performed.
            type: string
      name:
        description: "Operation name: {provider}/{resource}/{operation}"
        type: string
    type: object
  OperationListResult:
    description: Result of the request to list REST API operations. It contains a list of operations and a URL nextLink to get the next set of results.
    properties:
      nextLink:
        description: URL to get the next set of operation list results if there are any.
        readOnly: true
        type: string
      value:
        description: List of operations supported by the resource provider.
        items:
          $ref: "#/definitions/Operation"
        type: array
  ProxyResource:
    allOf:
      - $ref: "#/definitions/Resource"
    description: The resource model definition for a ARM proxy resource. It will have everything other than required location and tags
  RedisAccessKeys:
    description: Redis cache access keys.
    properties:
      primaryKey:
        description: The current primary key that clients can use to authenticate with Redis cache.
        readOnly: true
        type: string
      secondaryKey:
        description: The current secondary key that clients can use to authenticate with Redis cache.
        readOnly: true
        type: string
  RedisCommonProperties:
    description: Create/Update/Get common properties of the redis cache.
    properties:
      enableNonSslPort:
        description: Specifies whether the non-ssl Redis server port (6379) is enabled.
        type: boolean
      minimumTlsVersion:
        description: "Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', '1.2')"
        enum:
          - "1.0"
          - "1.1"
          - "1.2"
        type: string
        x-ms-enum:
          modelAsString: true
          name: TlsVersion
      redisConfiguration:
        additionalProperties:
          type: string
        description: "All Redis Settings. Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value etc."
        type: object
      shardCount:
        description: The number of shards to be created on a Premium Cluster Cache.
        format: int32
        type: integer
      tenantSettings:
        additionalProperties:
          type: string
        description: A dictionary of tenant settings
        type: object
    x-ms-external: true
  RedisCreateParameters:
    description: Parameters supplied to the Create Redis operation.
    properties:
      location:
        description: The geo-location where the resource lives
        type: string
        x-ms-mutability:
          - read
          - create
      properties:
        $ref: "#/definitions/RedisCreateProperties"
        description: Redis cache properties.
        x-ms-client-flatten: true
      tags:
        additionalProperties:
          type: string
        description: Resource tags.
        type: object
      zones:
        description: A list of availability zones denoting where the resource needs to come from.
        items:
          type: string
        type: array
    required:
      - properties
      - location
  RedisCreateProperties:
    allOf:
      - $ref: "#/definitions/RedisCommonProperties"
    description: Properties supplied to Create Redis operation.
    properties:
      sku:
        $ref: "#/definitions/Sku"
        description: The SKU of the Redis cache to deploy.
      staticIP:
        description: Static IP address. Required when deploying a Redis cache inside an existing Azure Virtual Network.
        pattern: ^\d+\.\d+\.\d+\.\d+$
        type: string
      subnetId:
        description: "The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1"
        pattern: ^/subscriptions/[^/]*/resourceGroups/[^/]*/providers/Microsoft.(ClassicNetwork|Network)/virtualNetworks/[^/]*/subnets/[^/]*$
        type: string
    required:
      - sku
    x-ms-external: true
  RedisFirewallRule:
    allOf:
      - $ref: "#/definitions/ProxyResource"
    description: A firewall rule on a redis cache has a name, and describes a contiguous range of IP addresses permitted to connect
    properties:
      properties:
        $ref: "#/definitions/RedisFirewallRuleProperties"
        description: redis cache firewall rule properties
        x-ms-client-flatten: true
    required:
      - properties
  RedisFirewallRuleCreateParameters:
    description: Parameters required for creating a firewall rule on redis cache.
    properties:
      properties:
        $ref: "#/definitions/RedisFirewallRuleProperties"
        description: Properties required to create a firewall rule .
        x-ms-client-flatten: true
    required:
      - properties
  RedisFirewallRuleListResult:
    description: The response of list firewall rules Redis operation.
    properties:
      nextLink:
        description: Link for next page of results.
        readOnly: true
        type: string
      value:
        description: Results of the list firewall rules operation.
        items:
          $ref: "#/definitions/RedisFirewallRule"
        type: array
  RedisFirewallRuleProperties:
    description: Specifies a range of IP addresses permitted to connect to the cache
    properties:
      endIP:
        description: highest IP address included in the range
        type: string
      startIP:
        description: lowest IP address included in the range
        type: string
    required:
      - startIP
      - endIP
  RedisForceRebootResponse:
    description: Response to force reboot for Redis cache.
    properties:
      message:
        description: Status message
        readOnly: true
        type: string
  RedisLinkedServer:
    description: Linked server Id
    properties:
      id:
        description: Linked server Id.
        readOnly: true
        type: string
  RedisLinkedServerCreateParameters:
    description: Parameter required for creating a linked server to redis cache.
    properties:
      properties:
        $ref: "#/definitions/RedisLinkedServerCreateProperties"
        description: Properties required to create a linked server.
        x-ms-client-flatten: true
    required:
      - properties
  RedisLinkedServerCreateProperties:
    description: Create properties for a linked server
    properties:
      linkedRedisCacheId:
        description: Fully qualified resourceId of the linked redis cache.
        type: string
      linkedRedisCacheLocation:
        description: Location of the linked redis cache.
        type: string
      serverRole:
        description: Role of the linked server.
        enum:
          - Primary
          - Secondary
        type: string
        x-ms-enum:
          modelAsString: false
          name: ReplicationRole
    required:
      - linkedRedisCacheId
      - linkedRedisCacheLocation
      - serverRole
  RedisLinkedServerProperties:
    allOf:
      - $ref: "#/definitions/RedisLinkedServerCreateProperties"
    description: Properties of a linked server to be returned in get/put response
    properties:
      provisioningState:
        description: Terminal state of the link between primary and secondary redis cache.
        readOnly: true
        type: string
  RedisLinkedServerWithProperties:
    allOf:
      - $ref: "#/definitions/ProxyResource"
    description: Response to put/get linked server (with properties) for Redis cache.
    properties:
      properties:
        $ref: "#/definitions/RedisLinkedServerProperties"
        description: Properties of the linked server.
        x-ms-client-flatten: true
  RedisLinkedServerWithPropertiesList:
    description: List of linked servers (with properties) of a Redis cache.
    properties:
      nextLink:
        description: Link for next set.
        readOnly: true
        type: string
      value:
        description: List of linked servers (with properties) of a Redis cache.
        items:
          $ref: "#/definitions/RedisLinkedServerWithProperties"
        type: array
  RedisListResult:
    description: The response of list Redis operation.
    properties:
      nextLink:
        description: Link for next page of results.
        readOnly: true
        type: string
      value:
        description: List of Redis cache instances.
        items:
          $ref: "#/definitions/RedisResource"
        type: array
  RedisPatchSchedule:
    allOf:
      - $ref: "#/definitions/ProxyResource"
    description: Response to put/get patch schedules for Redis cache.
    properties:
      properties:
        $ref: "#/definitions/ScheduleEntries"
        description: List of patch schedules for a Redis cache.
        x-ms-client-flatten: true
    required:
      - properties
  RedisPatchScheduleListResult:
    description: The response of list patch schedules Redis operation.
    properties:
      nextLink:
        description: Link for next page of results.
        readOnly: true
        type: string
      value:
        description: Results of the list patch schedules operation.
        items:
          $ref: "#/definitions/RedisPatchSchedule"
        type: array
  RedisProperties:
    allOf:
      - $ref: "#/definitions/RedisCreateProperties"
    description: Properties of the redis cache.
    properties:
      accessKeys:
        $ref: "#/definitions/RedisAccessKeys"
        description: The keys of the Redis cache - not set if this object is not the response to Create or Update redis cache
        readOnly: true
      hostName:
        description: Redis host name.
        readOnly: true
        type: string
      linkedServers:
        description: List of the linked servers associated with the cache
        items:
          $ref: "#/definitions/RedisLinkedServer"
        readOnly: true
        type: array
      port:
        description: Redis non-SSL port.
        format: int32
        readOnly: true
        type: integer
      provisioningState:
        description: Redis instance provisioning status.
        enum:
          - Creating
          - Deleting
          - Disabled
          - Failed
          - Linking
          - Provisioning
          - RecoveringScaleFailure
          - Scaling
          - Succeeded
          - Unlinking
          - Unprovisioning
          - Updating
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: ProvisioningState
      redisVersion:
        description: Redis version.
        readOnly: true
        type: string
      sslPort:
        description: Redis SSL port.
        format: int32
        readOnly: true
        type: integer
    x-ms-external: true
  RedisRebootParameters:
    description: Specifies which Redis node(s) to reboot.
    properties:
      rebootType:
        description: Which Redis node(s) to reboot. Depending on this value data loss is possible.
        enum:
          - PrimaryNode
          - SecondaryNode
          - AllNodes
        type: string
        x-ms-enum:
          modelAsString: true
          name: RebootType
      shardId:
        description: If clustering is enabled, the ID of the shard to be rebooted.
        format: int32
        type: integer
    required:
      - rebootType
  RedisRegenerateKeyParameters:
    description: Specifies which Redis access keys to reset.
    properties:
      keyType:
        description: The Redis access key to regenerate.
        enum:
          - Primary
          - Secondary
        type: string
        x-ms-enum:
          modelAsString: false
          name: RedisKeyType
    required:
      - keyType
  RedisResource:
    allOf:
      - $ref: "#/definitions/TrackedResource"
    description: A single Redis item in List or Get Operation.
    properties:
      properties:
        $ref: "#/definitions/RedisProperties"
        description: Redis cache properties.
        x-ms-client-flatten: true
      zones:
        description: A list of availability zones denoting where the resource needs to come from.
        items:
          type: string
        type: array
    required:
      - properties
  RedisUpdateParameters:
    description: Parameters supplied to the Update Redis operation.
    properties:
      properties:
        $ref: "#/definitions/RedisUpdateProperties"
        description: Redis cache properties.
        x-ms-client-flatten: true
      tags:
        additionalProperties:
          type: string
        description: Resource tags.
        type: object
  RedisUpdateProperties:
    allOf:
      - $ref: "#/definitions/RedisCommonProperties"
    description: Patchable properties of the redis cache.
    properties:
      sku:
        $ref: "#/definitions/Sku"
        description: The SKU of the Redis cache to deploy.
    x-ms-external: true
  Resource:
    description: The Resource definition.
    properties:
      id:
        description: Resource ID.
        readOnly: true
        type: string
      name:
        description: Resource name.
        readOnly: true
        type: string
      type:
        description: Resource type.
        readOnly: true
        type: string
    x-ms-azure-resource: true
  ScheduleEntries:
    description: List of patch schedules for a Redis cache.
    properties:
      scheduleEntries:
        description: List of patch schedules for a Redis cache.
        items:
          $ref: "#/definitions/ScheduleEntry"
        type: array
        x-ms-client-name: ScheduleEntries
    required:
      - scheduleEntries
  ScheduleEntry:
    description: Patch schedule entry for a Premium Redis Cache.
    properties:
      dayOfWeek:
        description: Day of the week when a cache can be patched.
        enum:
          - Monday
          - Tuesday
          - Wednesday
          - Thursday
          - Friday
          - Saturday
          - Sunday
          - Everyday
          - Weekend
        type: string
        x-ms-enum:
          modelAsString: false
          name: DayOfWeek
      maintenanceWindow:
        description: "ISO8601 timespan specifying how much time cache patching can take. "
        format: duration
        type: string
      startHourUtc:
        description: Start hour after which cache patching can start.
        format: int32
        type: integer
    required:
      - dayOfWeek
      - startHourUtc
  Sku:
    description: SKU parameters supplied to the create Redis operation.
    properties:
      capacity:
        description: "The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) family (1, 2, 3, 4)."
        format: int32
        type: integer
      family:
        description: "The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium)."
        enum:
          - C
          - P
        type: string
        x-ms-enum:
          modelAsString: true
          name: SkuFamily
      name:
        description: "The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium)"
        enum:
          - Basic
          - Standard
          - Premium
        type: string
        x-ms-enum:
          modelAsString: true
          name: SkuName
    required:
      - name
      - family
      - capacity
  TrackedResource:
    allOf:
      - $ref: "#/definitions/Resource"
    description: The resource model definition for a ARM tracked top level resource
    properties:
      location:
        description: The geo-location where the resource lives
        type: string
        x-ms-mutability:
          - read
          - create
      tags:
        additionalProperties:
          type: string
        description: Resource tags.
        type: object
        x-ms-mutability:
          - read
          - create
          - update
    required:
      - location
  UpgradeNotification:
    description: Properties of upgrade notification.
    properties:
      name:
        description: Name of upgrade notification.
        readOnly: true
        type: string
      timestamp:
        description: Timestamp when upgrade notification occurred.
        format: date-time
        readOnly: true
        type: string
      upsellNotification:
        additionalProperties:
          type: string
        description: Details about this upgrade notification
        readOnly: true
        type: object
