104 lines
2.9 KiB
Python
104 lines
2.9 KiB
Python
# Copyright (c) 2018 Intel, Corp.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
identifiers_req_schema = {
|
|
'type': 'array',
|
|
'items': {
|
|
'type': 'object',
|
|
'properties': {
|
|
'DurableNameFormat': {
|
|
'type': 'string',
|
|
'enum': ['NQN', 'iQN']
|
|
},
|
|
'DurableName': {'type': 'string'}
|
|
},
|
|
"required": ['DurableNameFormat', 'DurableName']
|
|
}
|
|
}
|
|
|
|
connected_entities_req_schema = {
|
|
'type': 'array',
|
|
'items': {
|
|
'type': 'object',
|
|
'properties': {
|
|
'EntityLink': {
|
|
'type': 'object',
|
|
'properties': {
|
|
'@odata.id': {'type': 'string'}
|
|
},
|
|
"required": ['@odata.id']
|
|
},
|
|
'EntityRole': {
|
|
'type': 'string',
|
|
'enum': ['Initiator', 'Target', 'Both']
|
|
},
|
|
'Identifiers': {
|
|
'type': 'array',
|
|
'items': {
|
|
'type': 'object',
|
|
'properties': {
|
|
'DurableNameFormat': {
|
|
'type': 'string',
|
|
'enum': ['NQN', 'iQN', 'FC_WWN', 'UUID', 'EUI',
|
|
'NAA', 'NSID', 'SystemPath', 'LUN']
|
|
},
|
|
'DurableName': {'type': 'string'}
|
|
},
|
|
"required": ['DurableNameFormat', 'DurableName']
|
|
}
|
|
}
|
|
},
|
|
"required": ['EntityLink', 'EntityRole']
|
|
}
|
|
}
|
|
|
|
protocol_req_schema = {
|
|
'type': 'string'
|
|
}
|
|
|
|
ip_transport_details_req_schema = {
|
|
'type': 'array',
|
|
'items': {
|
|
'type': 'object',
|
|
'properties': {
|
|
'TransportProtocol': {'type': 'string'},
|
|
'IPv4Address': {
|
|
'type': 'object',
|
|
'properties': {
|
|
'Address': {'type': 'string'}
|
|
}
|
|
},
|
|
'IPv6Address': {
|
|
'type': 'object',
|
|
'properties': {
|
|
'Address': {'type': 'string'}
|
|
}
|
|
},
|
|
'Port': {'type': 'number'}
|
|
}
|
|
}
|
|
}
|
|
|
|
interface_req_schema = {
|
|
'type': 'string'
|
|
}
|
|
|
|
authentication_req_schema = {
|
|
'type': 'object',
|
|
'properties': {
|
|
'Username': {'type': 'string'},
|
|
'Password': {'type': 'string'}
|
|
}
|
|
}
|