azure-resource-manager-schemas/schemas/2021-08-31-preview/Microsoft.ExtendedLocation....

426 строки
15 KiB
JSON

{
"id": "https://schema.management.azure.com/schemas/2021-08-31-preview/Microsoft.ExtendedLocation.json#",
"title": "Microsoft.ExtendedLocation",
"description": "Microsoft ExtendedLocation Resource Types",
"$schema": "http://json-schema.org/draft-04/schema#",
"resourceDefinitions": {
"customLocations": {
"description": "Microsoft.ExtendedLocation/customLocations",
"properties": {
"apiVersion": {
"enum": [
"2021-08-31-preview"
],
"type": "string"
},
"identity": {
"description": "Identity for the resource.",
"oneOf": [
{
"$ref": "#/definitions/Identity"
},
{
"$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": "Custom Locations name.",
"oneOf": [
{
"maxLength": 63,
"minLength": 1,
"pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$",
"type": "string"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"properties": {
"description": "The set of properties specific to a Custom Location",
"oneOf": [
{
"$ref": "#/definitions/CustomLocationProperties"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"resources": {
"items": {
"oneOf": [
{
"$ref": "#/definitions/customLocations_resourceSyncRules_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.ExtendedLocation/customLocations"
],
"type": "string"
}
},
"required": [
"name",
"properties",
"apiVersion",
"type"
],
"type": "object"
},
"customLocations_resourceSyncRules": {
"description": "Microsoft.ExtendedLocation/customLocations/resourceSyncRules",
"properties": {
"apiVersion": {
"enum": [
"2021-08-31-preview"
],
"type": "string"
},
"location": {
"description": "The geo-location where the resource lives",
"type": "string"
},
"name": {
"description": "Resource Sync Rule name.",
"oneOf": [
{
"maxLength": 63,
"minLength": 1,
"pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$",
"type": "string"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"properties": {
"description": "The set of properties specific to a Resource Sync Rule",
"oneOf": [
{
"$ref": "#/definitions/ResourceSyncRuleProperties"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"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.ExtendedLocation/customLocations/resourceSyncRules"
],
"type": "string"
}
},
"required": [
"name",
"properties",
"apiVersion",
"type"
],
"type": "object"
}
},
"definitions": {
"CustomLocationProperties": {
"description": "Properties for a custom location.",
"properties": {
"authentication": {
"description": "This is optional input that contains the authentication that should be used to generate the namespace.",
"oneOf": [
{
"$ref": "#/definitions/CustomLocationPropertiesAuthentication"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"clusterExtensionIds": {
"description": "Contains the reference to the add-on that contains charts to deploy CRDs and operators.",
"oneOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"displayName": {
"description": "Display name for the Custom Locations location.",
"type": "string"
},
"hostResourceId": {
"description": "Connected Cluster or AKS Cluster. The Custom Locations RP will perform a checkAccess API for listAdminCredentials permissions.",
"type": "string"
},
"hostType": {
"description": "Type of host the Custom Locations is referencing (Kubernetes, etc...).",
"oneOf": [
{
"enum": [
"Kubernetes"
],
"type": "string"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"namespace": {
"description": "Kubernetes namespace that will be created on the specified cluster.",
"type": "string"
},
"provisioningState": {
"description": "Provisioning State for the Custom Location.",
"type": "string"
}
},
"type": "object"
},
"CustomLocationPropertiesAuthentication": {
"description": "This is optional input that contains the authentication that should be used to generate the namespace.",
"properties": {
"type": {
"description": "The type of the Custom Locations authentication",
"type": "string"
},
"value": {
"description": "The kubeconfig value.",
"type": "string"
}
},
"type": "object"
},
"Identity": {
"description": "Identity for the resource.",
"properties": {
"type": {
"description": "The identity type.",
"oneOf": [
{
"enum": [
"SystemAssigned",
"None"
],
"type": "string"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
}
},
"type": "object"
},
"MatchExpressionsProperties": {
"description": "Resource Sync Rules matchExpression property definition.",
"properties": {
"key": {
"description": "Key is the label key that the selector applies to.",
"type": "string"
},
"operator": {
"description": "The Operator field represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.",
"type": "string"
},
"values": {
"description": "The label value",
"oneOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
}
},
"type": "object"
},
"ResourceSyncRuleProperties": {
"description": "Properties for a resource sync rule. For an unmapped custom resource, its labels will be used to find out matching resource sync rules using the selector property of the resource sync rule. If this resource sync rule has highest priority among all matching rules, then the unmapped custom resource will be projected to the target resource group associated with this resource sync rule.",
"properties": {
"priority": {
"description": "Priority represents a priority of the Resource Sync Rule",
"oneOf": [
{
"type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"selector": {
"description": "A label selector is composed of two parts, matchLabels and matchExpressions. The first part, matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is 'key', the operator is 'In', and the values array contains only 'value'. The second part, matchExpressions is a list of resource selector requirements. Valid operators include In, NotIn, Exists, and DoesNotExist. The values set must be non-empty in the case of In and NotIn. The values set must be empty in the case of Exists and DoesNotExist. All of the requirements, from both matchLabels and matchExpressions must all be satisfied in order to match.",
"oneOf": [
{
"$ref": "#/definitions/ResourceSyncRulePropertiesSelector"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"targetResourceGroup": {
"description": "For an unmapped custom resource, its labels will be used to find matching resource sync rules. If this resource sync rule is one of the matching rules with highest priority, then the unmapped custom resource will be projected to the target resource group associated with this resource sync rule. The user creating this resource sync rule should have write permissions on the target resource group and this write permission will be validated when creating the resource sync rule.",
"type": "string"
}
},
"type": "object"
},
"ResourceSyncRulePropertiesSelector": {
"description": "A label selector is composed of two parts, matchLabels and matchExpressions. The first part, matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is 'key', the operator is 'In', and the values array contains only 'value'. The second part, matchExpressions is a list of resource selector requirements. Valid operators include In, NotIn, Exists, and DoesNotExist. The values set must be non-empty in the case of In and NotIn. The values set must be empty in the case of Exists and DoesNotExist. All of the requirements, from both matchLabels and matchExpressions must all be satisfied in order to match.",
"properties": {
"matchExpressions": {
"description": "MatchExpressions is a list of resource selector requirements. Valid operators include In, NotIn, Exists, and DoesNotExist. The values set must be non-empty in the case of In and NotIn. The values set must be empty in the case of Exists and DoesNotExist.",
"oneOf": [
{
"items": {
"$ref": "#/definitions/MatchExpressionsProperties"
},
"type": "array"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"matchLabels": {
"description": "MatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is 'key', the operator is 'In', and the values array contains only 'value'.",
"oneOf": [
{
"additionalProperties": {
"type": "string"
},
"properties": {},
"type": "object"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
}
},
"type": "object"
},
"customLocations_resourceSyncRules_childResource": {
"description": "Microsoft.ExtendedLocation/customLocations/resourceSyncRules",
"properties": {
"apiVersion": {
"enum": [
"2021-08-31-preview"
],
"type": "string"
},
"location": {
"description": "The geo-location where the resource lives",
"type": "string"
},
"name": {
"description": "Resource Sync Rule name.",
"oneOf": [
{
"maxLength": 63,
"minLength": 1,
"pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$",
"type": "string"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"properties": {
"description": "The set of properties specific to a Resource Sync Rule",
"oneOf": [
{
"$ref": "#/definitions/ResourceSyncRuleProperties"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"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": [
"resourceSyncRules"
],
"type": "string"
}
},
"required": [
"name",
"properties",
"apiVersion",
"type"
],
"type": "object"
}
}
}