0a7a038368
Documentation showing what mappings are allowed in keystone federation. keystone-manage mapping_engine is being utilized. Change-Id: Ie49f1db212964c1d48402b9de66f04a9444cfeae
5.0 KiB
5.0 KiB
Mapping Schema for Federation
Description
The schema for mapping is a description of how a mapping should be created. It shows all the requirements and possibilities for a JSON to be used for mapping.
Mapping schema is validated with JSON Schema
Mapping Schema
The rules supported must use the following schema:
{"type": "object",
"required": ['rules'],
"properties": {
"rules": {
"minItems": 1,
"type": "array",
"items": {
"type": "object",
"required": ['local', 'remote'],
"additionalProperties": False,
"properties": {
"local": {
"type": "array"
,
}"remote": {
"minItems": 1,
"type": "array",
"items": {
"type": "object",
"oneOf": [
"$ref": "#/definitions/empty"},
{"$ref": "#/definitions/any_one_of"},
{"$ref": "#/definitions/not_any_of"},
{"$ref": "#/definitions/blacklist"},
{"$ref": "#/definitions/whitelist"}
{,
]
}
}
}
}
},
}"definitions": {
"empty": {
"type": "object",
"required": ['type'],
"properties": {
"type": {
"type": "string"
,
},
}"additionalProperties": False,
,
}"any_one_of": {
"type": "object",
"additionalProperties": False,
"required": ['type', 'any_one_of'],
"properties": {
"type": {
"type": "string"
,
}"any_one_of": {
"type": "array"
,
}"regex": {
"type": "boolean"
}
},
}"not_any_of": {
"type": "object",
"additionalProperties": False,
"required": ['type', 'not_any_of'],
"properties": {
"type": {
"type": "string"
,
}"not_any_of": {
"type": "array"
,
}"regex": {
"type": "boolean"
}
},
}"blacklist": {
"type": "object",
"additionalProperties": False,
"required": ['type', 'blacklist'],
"properties": {
"type": {
"type": "string"
,
}"blacklist": {
"type": "array"
}
},
}"whitelist": {
"type": "object",
"additionalProperties": False,
"required": ['type', 'whitelist'],
"properties": {
"type": {
"type": "string"
,
}"whitelist": {
"type": "array"
}
}
}
} }
Note
"additionalProperties": False
, shows that only the
properties shown can be displayed.
"whitelist": {
"type": "object",
"additionalProperties": False,
"required": ['type', 'whitelist'],
"properties": {
"type": {
"type": "string"
,
}"whitelist": {
"type": "array"
}
} }
Keystone will not accept any other keys in the JSON mapping other
than type
, and whitelist
.