azure-resource-manager-schemas/schemas/2021-06-01/Microsoft.Cache.json

930 строки
29 KiB
JSON

{
"id": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.Cache.json#",
"title": "Microsoft.Cache",
"description": "Microsoft Cache Resource Types",
"$schema": "http://json-schema.org/draft-04/schema#",
"resourceDefinitions": {
"redis": {
"description": "Microsoft.Cache/redis",
"properties": {
"apiVersion": {
"enum": [
"2021-06-01"
],
"type": "string"
},
"identity": {
"description": "The identity of the resource.",
"oneOf": [
{
"$ref": "#/definitions/ManagedServiceIdentity"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"location": {
"description": "The geo-location where the resource lives",
"type": "string"
},
"name": {
"description": "The name of the Redis cache.",
"type": "string"
},
"properties": {
"description": "Redis cache properties.",
"oneOf": [
{
"$ref": "#/definitions/RedisCreateProperties"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"resources": {
"items": {
"oneOf": [
{
"$ref": "#/definitions/redis_firewallRules_childResource"
},
{
"$ref": "#/definitions/redis_linkedServers_childResource"
},
{
"$ref": "#/definitions/redis_patchSchedules_childResource"
},
{
"$ref": "#/definitions/redis_privateEndpointConnections_childResource"
}
]
},
"type": "array"
},
"tags": {
"description": "Resource tags.",
"oneOf": [
{
"additionalProperties": {
"type": "string"
},
"properties": {},
"type": "object"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"type": {
"enum": [
"Microsoft.Cache/redis"
],
"type": "string"
},
"zones": {
"description": "A list of availability zones denoting where the resource needs to come from.",
"oneOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
}
},
"required": [
"name",
"properties",
"apiVersion",
"type"
],
"type": "object"
},
"redis_firewallRules": {
"description": "Microsoft.Cache/redis/firewallRules",
"properties": {
"apiVersion": {
"enum": [
"2021-06-01"
],
"type": "string"
},
"name": {
"description": "The name of the firewall rule.",
"type": "string"
},
"properties": {
"description": "redis cache firewall rule properties",
"oneOf": [
{
"$ref": "#/definitions/RedisFirewallRuleProperties"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"type": {
"enum": [
"Microsoft.Cache/redis/firewallRules"
],
"type": "string"
}
},
"required": [
"name",
"properties",
"apiVersion",
"type"
],
"type": "object"
},
"redis_linkedServers": {
"description": "Microsoft.Cache/redis/linkedServers",
"properties": {
"apiVersion": {
"enum": [
"2021-06-01"
],
"type": "string"
},
"name": {
"description": "The name of the linked server that is being added to the Redis cache.",
"type": "string"
},
"properties": {
"description": "Properties required to create a linked server.",
"oneOf": [
{
"$ref": "#/definitions/RedisLinkedServerCreateProperties"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"type": {
"enum": [
"Microsoft.Cache/redis/linkedServers"
],
"type": "string"
}
},
"required": [
"name",
"properties",
"apiVersion",
"type"
],
"type": "object"
},
"redis_patchSchedules": {
"description": "Microsoft.Cache/redis/patchSchedules",
"properties": {
"apiVersion": {
"enum": [
"2021-06-01"
],
"type": "string"
},
"name": {
"description": "Default string modeled as parameter for auto generation to work correctly.",
"oneOf": [
{
"pattern": "^.*/default$",
"type": "string"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"properties": {
"description": "List of patch schedules for a Redis cache.",
"oneOf": [
{
"$ref": "#/definitions/ScheduleEntries"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"type": {
"enum": [
"Microsoft.Cache/redis/patchSchedules"
],
"type": "string"
}
},
"required": [
"name",
"properties",
"apiVersion",
"type"
],
"type": "object"
},
"redis_privateEndpointConnections": {
"description": "Microsoft.Cache/redis/privateEndpointConnections",
"properties": {
"apiVersion": {
"enum": [
"2021-06-01"
],
"type": "string"
},
"name": {
"description": "The name of the private endpoint connection associated with the Azure resource",
"type": "string"
},
"properties": {
"description": "Resource properties.",
"oneOf": [
{
"$ref": "#/definitions/PrivateEndpointConnectionProperties"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"type": {
"enum": [
"Microsoft.Cache/redis/privateEndpointConnections"
],
"type": "string"
}
},
"required": [
"name",
"properties",
"apiVersion",
"type"
],
"type": "object"
}
},
"definitions": {
"ManagedServiceIdentity": {
"description": "Managed service identity (system assigned and/or user assigned identities)",
"properties": {
"type": {
"description": "Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).",
"oneOf": [
{
"enum": [
"None",
"SystemAssigned",
"UserAssigned",
"SystemAssigned, UserAssigned"
],
"type": "string"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"userAssignedIdentities": {
"description": "The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests.",
"oneOf": [
{
"additionalProperties": {
"$ref": "#/definitions/UserAssignedIdentity"
},
"properties": {},
"type": "object"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
}
},
"required": [
"type"
],
"type": "object"
},
"PrivateEndpoint": {
"description": "The Private Endpoint resource.",
"properties": {},
"type": "object"
},
"PrivateEndpointConnectionProperties": {
"description": "Properties of the PrivateEndpointConnectProperties.",
"properties": {
"privateEndpoint": {
"description": "The resource of private end point.",
"oneOf": [
{
"$ref": "#/definitions/PrivateEndpoint"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"privateLinkServiceConnectionState": {
"description": "A collection of information about the state of the connection between service consumer and provider.",
"oneOf": [
{
"$ref": "#/definitions/PrivateLinkServiceConnectionState"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
}
},
"required": [
"privateLinkServiceConnectionState"
],
"type": "object"
},
"PrivateLinkServiceConnectionState": {
"description": "A collection of information about the state of the connection between service consumer and provider.",
"properties": {
"actionsRequired": {
"description": "A message indicating if changes on the service provider require any updates on the consumer.",
"type": "string"
},
"description": {
"description": "The reason for approval/rejection of the connection.",
"type": "string"
},
"status": {
"description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.",
"oneOf": [
{
"enum": [
"Pending",
"Approved",
"Rejected"
],
"type": "string"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
}
},
"type": "object"
},
"RedisCommonPropertiesRedisConfiguration": {
"additionalProperties": {},
"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.",
"properties": {
"aof-backup-enabled": {
"description": "Specifies whether the aof backup is enabled",
"type": "string"
},
"aof-storage-connection-string-0": {
"description": "First storage account connection string",
"type": "string"
},
"aof-storage-connection-string-1": {
"description": "Second storage account connection string",
"type": "string"
},
"authnotrequired": {
"description": "Specifies whether the authentication is disabled. Setting this property is highly discouraged from security point of view.",
"type": "string"
},
"maxfragmentationmemory-reserved": {
"description": "Value in megabytes reserved for fragmentation per shard",
"type": "string"
},
"maxmemory-delta": {
"description": "Value in megabytes reserved for non-cache usage per shard e.g. failover.",
"type": "string"
},
"maxmemory-policy": {
"description": "The eviction strategy used when your data won't fit within its memory limit.",
"type": "string"
},
"maxmemory-reserved": {
"description": "Value in megabytes reserved for non-cache usage per shard e.g. failover.",
"type": "string"
},
"notify-keyspace-events": {
"description": "The keyspace events which should be monitored.",
"type": "string"
},
"rdb-backup-enabled": {
"description": "Specifies whether the rdb backup is enabled",
"type": "string"
},
"rdb-backup-frequency": {
"description": "Specifies the frequency for creating rdb backup",
"type": "string"
},
"rdb-backup-max-snapshot-count": {
"description": "Specifies the maximum number of snapshots for rdb backup",
"type": "string"
},
"rdb-storage-connection-string": {
"description": "The storage account connection string for storing rdb file",
"type": "string"
}
},
"type": "object"
},
"RedisCreateProperties": {
"description": "Properties supplied to Create Redis operation.",
"properties": {
"enableNonSslPort": {
"description": "Specifies whether the non-ssl Redis server port (6379) is enabled.",
"oneOf": [
{
"default": false,
"type": "boolean"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"minimumTlsVersion": {
"description": "Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', '1.2')",
"oneOf": [
{
"enum": [
"1.0",
"1.1",
"1.2"
],
"type": "string"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"publicNetworkAccess": {
"description": "Whether or not public endpoint access is allowed for this cache. Value is optional but if passed in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled'",
"oneOf": [
{
"enum": [
"Enabled",
"Disabled"
],
"type": "string"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"redisConfiguration": {
"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.",
"oneOf": [
{
"$ref": "#/definitions/RedisCommonPropertiesRedisConfiguration"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"redisVersion": {
"description": "Redis version. This should be in the form 'major[.minor[.build]]' (only 'major' is required) or the value 'latest' which refers to the latest stable Redis version that is available. Only the major and minor version are used in a PUT/PATCH request. Supported versions: 4.0, 6.0.",
"type": "string"
},
"replicasPerMaster": {
"description": "The number of replicas to be created per primary.",
"oneOf": [
{
"type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"replicasPerPrimary": {
"description": "The number of replicas to be created per primary.",
"oneOf": [
{
"type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"shardCount": {
"description": "The number of shards to be created on a Premium Cluster Cache.",
"oneOf": [
{
"type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"sku": {
"description": "The SKU of the Redis cache to deploy.",
"oneOf": [
{
"$ref": "#/definitions/Sku"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"staticIP": {
"description": "Static IP address. Optionally, may be specified when deploying a Redis cache inside an existing Azure Virtual Network; auto assigned by default.",
"oneOf": [
{
"pattern": "^\\d+\\.\\d+\\.\\d+\\.\\d+$",
"type": "string"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"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",
"type": "string"
},
"tenantSettings": {
"description": "A dictionary of tenant settings",
"oneOf": [
{
"additionalProperties": {
"type": "string"
},
"properties": {},
"type": "object"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
}
},
"required": [
"sku"
],
"type": "object"
},
"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"
],
"type": "object"
},
"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.",
"oneOf": [
{
"enum": [
"Primary",
"Secondary"
],
"type": "string"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
}
},
"required": [
"linkedRedisCacheId",
"linkedRedisCacheLocation",
"serverRole"
],
"type": "object"
},
"ScheduleEntries": {
"description": "List of patch schedules for a Redis cache.",
"properties": {
"scheduleEntries": {
"description": "List of patch schedules for a Redis cache.",
"oneOf": [
{
"items": {
"$ref": "#/definitions/ScheduleEntry"
},
"type": "array"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
}
},
"required": [
"scheduleEntries"
],
"type": "object"
},
"ScheduleEntry": {
"description": "Patch schedule entry for a Premium Redis Cache.",
"properties": {
"dayOfWeek": {
"description": "Day of the week when a cache can be patched.",
"oneOf": [
{
"enum": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday",
"Everyday",
"Weekend"
],
"type": "string"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"maintenanceWindow": {
"description": "ISO8601 timespan specifying how much time cache patching can take. ",
"type": "string"
},
"startHourUtc": {
"description": "Start hour after which cache patching can start.",
"oneOf": [
{
"type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
}
},
"required": [
"dayOfWeek",
"startHourUtc"
],
"type": "object"
},
"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).",
"oneOf": [
{
"type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"family": {
"description": "The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium).",
"oneOf": [
{
"enum": [
"C",
"P"
],
"type": "string"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"name": {
"description": "The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium)",
"oneOf": [
{
"enum": [
"Basic",
"Standard",
"Premium"
],
"type": "string"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
}
},
"required": [
"name",
"family",
"capacity"
],
"type": "object"
},
"UserAssignedIdentity": {
"description": "User assigned identity properties",
"properties": {},
"type": "object"
},
"redis_firewallRules_childResource": {
"description": "Microsoft.Cache/redis/firewallRules",
"properties": {
"apiVersion": {
"enum": [
"2021-06-01"
],
"type": "string"
},
"name": {
"description": "The name of the firewall rule.",
"type": "string"
},
"properties": {
"description": "redis cache firewall rule properties",
"oneOf": [
{
"$ref": "#/definitions/RedisFirewallRuleProperties"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"type": {
"enum": [
"firewallRules"
],
"type": "string"
}
},
"required": [
"name",
"properties",
"apiVersion",
"type"
],
"type": "object"
},
"redis_linkedServers_childResource": {
"description": "Microsoft.Cache/redis/linkedServers",
"properties": {
"apiVersion": {
"enum": [
"2021-06-01"
],
"type": "string"
},
"name": {
"description": "The name of the linked server that is being added to the Redis cache.",
"type": "string"
},
"properties": {
"description": "Properties required to create a linked server.",
"oneOf": [
{
"$ref": "#/definitions/RedisLinkedServerCreateProperties"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"type": {
"enum": [
"linkedServers"
],
"type": "string"
}
},
"required": [
"name",
"properties",
"apiVersion",
"type"
],
"type": "object"
},
"redis_patchSchedules_childResource": {
"description": "Microsoft.Cache/redis/patchSchedules",
"properties": {
"apiVersion": {
"enum": [
"2021-06-01"
],
"type": "string"
},
"name": {
"description": "Default string modeled as parameter for auto generation to work correctly.",
"oneOf": [
{
"enum": [
"default"
],
"type": "string"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"properties": {
"description": "List of patch schedules for a Redis cache.",
"oneOf": [
{
"$ref": "#/definitions/ScheduleEntries"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"type": {
"enum": [
"patchSchedules"
],
"type": "string"
}
},
"required": [
"name",
"properties",
"apiVersion",
"type"
],
"type": "object"
},
"redis_privateEndpointConnections_childResource": {
"description": "Microsoft.Cache/redis/privateEndpointConnections",
"properties": {
"apiVersion": {
"enum": [
"2021-06-01"
],
"type": "string"
},
"name": {
"description": "The name of the private endpoint connection associated with the Azure resource",
"type": "string"
},
"properties": {
"description": "Resource properties.",
"oneOf": [
{
"$ref": "#/definitions/PrivateEndpointConnectionProperties"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"type": {
"enum": [
"privateEndpointConnections"
],
"type": "string"
}
},
"required": [
"name",
"properties",
"apiVersion",
"type"
],
"type": "object"
}
}
}