summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJiaqing Zhao <jiaqing.zhao@intel.com>2023-02-23 08:45:00 +0300
committerEd Tanous <edtanous@google.com>2023-06-08 23:45:25 +0300
commit9cfcad2db4cf52ae4e6fa449f033d7200d30838f (patch)
treecb427a51bcefd827b9d74149e3a63e8a16478e41
parent61b1eb21464d676d9ab92125e38dfd5a2acb850f (diff)
downloadbmcweb-9cfcad2db4cf52ae4e6fa449f033d7200d30838f.tar.xz
Remove usage of deprecated VLanNetworkInterface
In Redfish Schema (DSP2046) 2022.3 introduces EthernetInterface 1.9.0 that allows creating VLAN interface by POST EthernetInterface [1] instead of using the deprecated VLanNetworkInterface. This patch removes all current usage of VLanNetworkInterface. This patchest (topic:redfish-ethernet-1.9) introduces breaking API changes to current VLAN management features. All deprecated VLAN APIs are removed, VLAN interfaces will be managed in the same way as the EthernetInterface Resource, except they can be created or deleted. Since webui-vue has not implemented anything related to VLAN yet, it is not impacted. Solves the issue mentioned in 188cb6294105 ("ethernet: Bump EthernetInterface schema 1.4.1 -> 1.6.0") [1] https://redfishforum.com/thread/619 Tested: Redfish validator passed on a board with VLAN interface. No VLAN interface is exposed in Redfish. Change-Id: I9b243a5bb0f07642aa60bc13a622e862f62ee871 Signed-off-by: Jiaqing Zhao <jiaqing.zhao@intel.com>
-rw-r--r--Redfish.md8
-rw-r--r--redfish-core/include/schemas.hpp2
-rw-r--r--redfish-core/lib/ethernet.hpp289
-rwxr-xr-xscripts/update_schemas.py2
-rw-r--r--static/redfish/v1/$metadata/index.xml24
-rw-r--r--static/redfish/v1/JsonSchemas/VLanNetworkInterface/VLanNetworkInterface.json254
-rw-r--r--static/redfish/v1/JsonSchemas/VLanNetworkInterfaceCollection/VLanNetworkInterfaceCollection.json114
-rw-r--r--static/redfish/v1/schema/VLanNetworkInterfaceCollection_v1.xml87
-rw-r--r--static/redfish/v1/schema/VLanNetworkInterface_v1.xml288
9 files changed, 0 insertions, 1068 deletions
diff --git a/Redfish.md b/Redfish.md
index 9cd7a106da..4c2dcfb17f 100644
--- a/Redfish.md
+++ b/Redfish.md
@@ -504,14 +504,6 @@ Fields common to all schemas
- SpeedMbps
- StaticNameServers
- Status
-- VLANs
-
-### /redfish/v1/Managers/bmc/EthernetInterfaces/{EthernetInterfaceId}/VLANs/
-
-#### VLanNetworkInterfaceCollection
-
-- Members
-- Members@odata.count
### /redfish/v1/Managers/bmc/LogServices/
diff --git a/redfish-core/include/schemas.hpp b/redfish-core/include/schemas.hpp
index f0d01dc7b1..fa3143d5c9 100644
--- a/redfish-core/include/schemas.hpp
+++ b/redfish-core/include/schemas.hpp
@@ -126,7 +126,5 @@ namespace redfish
"UpdateService",
"VirtualMedia",
"VirtualMediaCollection",
- "VLanNetworkInterface",
- "VLanNetworkInterfaceCollection",
};
}
diff --git a/redfish-core/lib/ethernet.hpp b/redfish-core/lib/ethernet.hpp
index 5330be134b..97262e322d 100644
--- a/redfish-core/lib/ethernet.hpp
+++ b/redfish-core/lib/ethernet.hpp
@@ -1629,9 +1629,6 @@ inline void
jsonResponse["FQDN"] = fqdn;
}
- jsonResponse["VLANs"]["@odata.id"] = boost::urls::format(
- "/redfish/v1/Managers/bmc/EthernetInterfaces/{}/VLANs", ifaceId);
-
jsonResponse["NameServers"] = ethData.nameServers;
jsonResponse["StaticNameServers"] = ethData.staticNameServers;
@@ -1693,11 +1690,6 @@ inline void
}
}
-inline bool verifyNames(const std::string& parent, const std::string& iface)
-{
- return iface.starts_with(parent + "_");
-}
-
inline void requestEthernetInterfacesRoutes(App& app)
{
BMCWEB_ROUTE(app, "/redfish/v1/Managers/bmc/EthernetInterfaces/")
@@ -1938,287 +1930,6 @@ inline void requestEthernetInterfacesRoutes(App& app)
}
});
});
-
- BMCWEB_ROUTE(
- app, "/redfish/v1/Managers/bmc/EthernetInterfaces/<str>/VLANs/<str>/")
- .privileges(redfish::privileges::getVLanNetworkInterface)
- .methods(boost::beast::http::verb::get)(
- [&app](const crow::Request& req,
- const std::shared_ptr<bmcweb::AsyncResp>& asyncResp,
- const std::string& parentIfaceId,
- const std::string& ifaceId) {
- if (!redfish::setUpRedfishRoute(app, req, asyncResp))
- {
- return;
- }
- asyncResp->res.jsonValue["@odata.type"] =
- "#VLanNetworkInterface.v1_1_0.VLanNetworkInterface";
- asyncResp->res.jsonValue["Name"] = "VLAN Network Interface";
-
- if (!verifyNames(parentIfaceId, ifaceId))
- {
- return;
- }
-
- // Get single eth interface data, and call the below callback
- // for JSON preparation
- getEthernetIfaceData(ifaceId, [asyncResp, parentIfaceId, ifaceId](
- const bool& success,
- const EthernetInterfaceData& ethData,
- const std::vector<IPv4AddressData>&,
- const std::vector<IPv6AddressData>&) {
- if (success && ethData.vlanId)
- {
- asyncResp->res.jsonValue["Id"] = ifaceId;
- asyncResp->res.jsonValue["@odata.id"] = boost::urls::format(
- "/redfish/v1/Managers/bmc/EthernetInterfaces/{}/VLANs/{}",
- parentIfaceId, ifaceId);
-
- asyncResp->res.jsonValue["VLANEnable"] = ethData.nicEnabled;
- asyncResp->res.jsonValue["VLANId"] = *ethData.vlanId;
- }
- else
- {
- // ... otherwise return error
- // TODO(Pawel)consider distinguish between non
- // existing object, and other errors
- messages::resourceNotFound(asyncResp->res,
- "VLanNetworkInterface", ifaceId);
- }
- });
- });
-
- BMCWEB_ROUTE(
- app, "/redfish/v1/Managers/bmc/EthernetInterfaces/<str>/VLANs/<str>/")
- .privileges(redfish::privileges::patchVLanNetworkInterface)
- .methods(boost::beast::http::verb::patch)(
- [&app](const crow::Request& req,
- const std::shared_ptr<bmcweb::AsyncResp>& asyncResp,
- const std::string& parentIfaceId,
- const std::string& ifaceId) {
- if (!redfish::setUpRedfishRoute(app, req, asyncResp))
- {
- return;
- }
- if (!verifyNames(parentIfaceId, ifaceId))
- {
- messages::resourceNotFound(asyncResp->res, "VLanNetworkInterface",
- ifaceId);
- return;
- }
-
- std::optional<bool> vlanEnable;
- std::optional<uint32_t> vlanId;
-
- if (!json_util::readJsonPatch(req, asyncResp->res, "VLANEnable",
- vlanEnable, "VLANId", vlanId))
- {
- return;
- }
-
- if (vlanId)
- {
- messages::propertyNotWritable(asyncResp->res, "VLANId");
- return;
- }
-
- // Get single eth interface data, and call the below callback
- // for JSON preparation
- getEthernetIfaceData(ifaceId,
- [asyncResp, parentIfaceId, ifaceId,
- vlanEnable](const bool& success,
- const EthernetInterfaceData& ethData,
- const std::vector<IPv4AddressData>&,
- const std::vector<IPv6AddressData>&) {
- if (success && ethData.vlanId)
- {
- if (vlanEnable)
- {
- crow::connections::systemBus->async_method_call(
- [asyncResp](const boost::system::error_code& ec) {
- if (ec)
- {
- messages::internalError(asyncResp->res);
- return;
- }
- },
- "xyz.openbmc_project.Network",
- "/xyz/openbmc_project/network/" + ifaceId,
- "org.freedesktop.DBus.Properties", "Set",
- "xyz.openbmc_project.Network.EthernetInterface",
- "NICEnabled",
- dbus::utility::DbusVariantType(*vlanEnable));
- }
- }
- else
- {
- // TODO(Pawel)consider distinguish between non
- // existing object, and other errors
- messages::resourceNotFound(asyncResp->res,
- "VLanNetworkInterface", ifaceId);
- return;
- }
- });
- });
-
- BMCWEB_ROUTE(
- app, "/redfish/v1/Managers/bmc/EthernetInterfaces/<str>/VLANs/<str>/")
- .privileges(redfish::privileges::deleteVLanNetworkInterface)
- .methods(boost::beast::http::verb::delete_)(
- [&app](const crow::Request& req,
- const std::shared_ptr<bmcweb::AsyncResp>& asyncResp,
- const std::string& parentIfaceId,
- const std::string& ifaceId) {
- if (!redfish::setUpRedfishRoute(app, req, asyncResp))
- {
- return;
- }
- if (!verifyNames(parentIfaceId, ifaceId))
- {
- messages::resourceNotFound(asyncResp->res, "VLanNetworkInterface",
- ifaceId);
- return;
- }
-
- // Get single eth interface data, and call the below callback
- // for JSON preparation
- getEthernetIfaceData(ifaceId, [asyncResp, parentIfaceId, ifaceId](
- const bool& success,
- const EthernetInterfaceData& ethData,
- const std::vector<IPv4AddressData>&,
- const std::vector<IPv6AddressData>&) {
- if (success && ethData.vlanId)
- {
- auto callback =
- [asyncResp](const boost::system::error_code& ec) {
- if (ec)
- {
- messages::internalError(asyncResp->res);
- }
- };
- crow::connections::systemBus->async_method_call(
- std::move(callback), "xyz.openbmc_project.Network",
- std::string("/xyz/openbmc_project/network/") + ifaceId,
- "xyz.openbmc_project.Object.Delete", "Delete");
- }
- else
- {
- // ... otherwise return error
- // TODO(Pawel)consider distinguish between non
- // existing object, and other errors
- messages::resourceNotFound(asyncResp->res,
- "VLanNetworkInterface", ifaceId);
- }
- });
- });
-
- BMCWEB_ROUTE(app,
- "/redfish/v1/Managers/bmc/EthernetInterfaces/<str>/VLANs/")
-
- .privileges(redfish::privileges::getVLanNetworkInterfaceCollection)
- .methods(boost::beast::http::verb::get)(
- [&app](const crow::Request& req,
- const std::shared_ptr<bmcweb::AsyncResp>& asyncResp,
- const std::string& rootInterfaceName) {
- if (!redfish::setUpRedfishRoute(app, req, asyncResp))
- {
- return;
- }
- // Get eth interface list, and call the below callback for JSON
- // preparation
- getEthernetIfaceList([asyncResp, rootInterfaceName](
- const bool& success,
- const std::vector<std::string>& ifaceList) {
- if (!success)
- {
- messages::internalError(asyncResp->res);
- return;
- }
- if (std::find(ifaceList.begin(), ifaceList.end(),
- rootInterfaceName) == ifaceList.end())
- {
- messages::resourceNotFound(asyncResp->res,
- "VLanNetworkInterfaceCollection",
- rootInterfaceName);
- return;
- }
-
- asyncResp->res.jsonValue["@odata.type"] =
- "#VLanNetworkInterfaceCollection."
- "VLanNetworkInterfaceCollection";
- asyncResp->res.jsonValue["Name"] =
- "VLAN Network Interface Collection";
-
- nlohmann::json ifaceArray = nlohmann::json::array();
-
- for (const std::string& ifaceItem : ifaceList)
- {
- if (ifaceItem.starts_with(rootInterfaceName + "_"))
- {
- nlohmann::json::object_t iface;
- iface["@odata.id"] = boost::urls::format(
- "/redfish/v1/Managers/bmc/EthernetInterfaces/{}/VLANs/{}",
- rootInterfaceName, ifaceItem);
- ifaceArray.emplace_back(std::move(iface));
- }
- }
-
- asyncResp->res.jsonValue["Members@odata.count"] = ifaceArray.size();
- asyncResp->res.jsonValue["Members"] = std::move(ifaceArray);
- asyncResp->res.jsonValue["@odata.id"] = boost::urls::format(
- "/redfish/v1/Managers/bmc/EthernetInterfaces/{}/VLANs",
- rootInterfaceName);
- });
- });
-
- BMCWEB_ROUTE(app,
- "/redfish/v1/Managers/bmc/EthernetInterfaces/<str>/VLANs/")
- .privileges(redfish::privileges::postVLanNetworkInterfaceCollection)
- .methods(boost::beast::http::verb::post)(
- [&app](const crow::Request& req,
- const std::shared_ptr<bmcweb::AsyncResp>& asyncResp,
- const std::string& rootInterfaceName) {
- if (!redfish::setUpRedfishRoute(app, req, asyncResp))
- {
- return;
- }
- bool vlanEnable = false;
- uint32_t vlanId = 0;
- if (!json_util::readJsonPatch(req, asyncResp->res, "VLANId", vlanId,
- "VLANEnable", vlanEnable))
- {
- return;
- }
- // Need both vlanId and vlanEnable to service this request
- if (vlanId == 0U)
- {
- messages::propertyMissing(asyncResp->res, "VLANId");
- }
- if (!vlanEnable)
- {
- messages::propertyMissing(asyncResp->res, "VLANEnable");
- }
- if (static_cast<bool>(vlanId) ^ vlanEnable)
- {
- return;
- }
-
- auto callback = [asyncResp](const boost::system::error_code& ec) {
- if (ec)
- {
- // TODO(ed) make more consistent error messages
- // based on phosphor-network responses
- messages::internalError(asyncResp->res);
- return;
- }
- messages::created(asyncResp->res);
- };
- crow::connections::systemBus->async_method_call(
- std::move(callback), "xyz.openbmc_project.Network",
- "/xyz/openbmc_project/network",
- "xyz.openbmc_project.Network.VLAN.Create", "VLAN",
- rootInterfaceName, vlanId);
- });
}
} // namespace redfish
diff --git a/scripts/update_schemas.py b/scripts/update_schemas.py
index 3115a262d8..92d446fbbc 100755
--- a/scripts/update_schemas.py
+++ b/scripts/update_schemas.py
@@ -130,8 +130,6 @@ include_list = [
"Triggers",
"TriggersCollection",
"UpdateService",
- "VLanNetworkInterfaceCollection",
- "VLanNetworkInterface",
"VirtualMedia",
"VirtualMediaCollection",
"odata",
diff --git a/static/redfish/v1/$metadata/index.xml b/static/redfish/v1/$metadata/index.xml
index 538429c644..b514422da4 100644
--- a/static/redfish/v1/$metadata/index.xml
+++ b/static/redfish/v1/$metadata/index.xml
@@ -3300,30 +3300,6 @@
<edmx:Reference Uri="/redfish/v1/schema/VirtualMediaCollection_v1.xml">
<edmx:Include Namespace="VirtualMediaCollection"/>
</edmx:Reference>
- <edmx:Reference Uri="/redfish/v1/schema/VLanNetworkInterface_v1.xml">
- <edmx:Include Namespace="VLanNetworkInterface"/>
- <edmx:Include Namespace="VLanNetworkInterface.v1_0_0"/>
- <edmx:Include Namespace="VLanNetworkInterface.v1_0_1"/>
- <edmx:Include Namespace="VLanNetworkInterface.v1_0_2"/>
- <edmx:Include Namespace="VLanNetworkInterface.v1_0_3"/>
- <edmx:Include Namespace="VLanNetworkInterface.v1_0_4"/>
- <edmx:Include Namespace="VLanNetworkInterface.v1_0_5"/>
- <edmx:Include Namespace="VLanNetworkInterface.v1_0_6"/>
- <edmx:Include Namespace="VLanNetworkInterface.v1_0_7"/>
- <edmx:Include Namespace="VLanNetworkInterface.v1_0_8"/>
- <edmx:Include Namespace="VLanNetworkInterface.v1_0_9"/>
- <edmx:Include Namespace="VLanNetworkInterface.v1_1_0"/>
- <edmx:Include Namespace="VLanNetworkInterface.v1_1_1"/>
- <edmx:Include Namespace="VLanNetworkInterface.v1_1_2"/>
- <edmx:Include Namespace="VLanNetworkInterface.v1_1_3"/>
- <edmx:Include Namespace="VLanNetworkInterface.v1_1_4"/>
- <edmx:Include Namespace="VLanNetworkInterface.v1_1_5"/>
- <edmx:Include Namespace="VLanNetworkInterface.v1_2_0"/>
- <edmx:Include Namespace="VLanNetworkInterface.v1_3_0"/>
- </edmx:Reference>
- <edmx:Reference Uri="/redfish/v1/schema/VLanNetworkInterfaceCollection_v1.xml">
- <edmx:Include Namespace="VLanNetworkInterfaceCollection"/>
- </edmx:Reference>
<edmx:DataServices>
<Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Service">
<EntityContainer Name="Service" Extends="ServiceRoot.v1_0_0.ServiceContainer"/>
diff --git a/static/redfish/v1/JsonSchemas/VLanNetworkInterface/VLanNetworkInterface.json b/static/redfish/v1/JsonSchemas/VLanNetworkInterface/VLanNetworkInterface.json
deleted file mode 100644
index 29c220c570..0000000000
--- a/static/redfish/v1/JsonSchemas/VLanNetworkInterface/VLanNetworkInterface.json
+++ /dev/null
@@ -1,254 +0,0 @@
-{
- "$id": "http://redfish.dmtf.org/schemas/v1/VLanNetworkInterface.v1_3_0.json",
- "$ref": "#/definitions/VLanNetworkInterface",
- "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
- "copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
- "definitions": {
- "Actions": {
- "additionalProperties": false,
- "description": "The available actions for this resource.",
- "longDescription": "This type shall contain the available actions for this resource.",
- "patternProperties": {
- "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
- "description": "This property shall specify a valid odata or Redfish property.",
- "type": [
- "array",
- "boolean",
- "integer",
- "number",
- "null",
- "object",
- "string"
- ]
- }
- },
- "properties": {
- "Oem": {
- "$ref": "#/definitions/OemActions",
- "description": "The available OEM-specific actions for this resource.",
- "longDescription": "This property shall contain the available OEM-specific actions for this resource.",
- "versionAdded": "v1_1_0"
- }
- },
- "type": "object"
- },
- "OemActions": {
- "additionalProperties": true,
- "description": "The available OEM-specific actions for this resource.",
- "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
- "patternProperties": {
- "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
- "description": "This property shall specify a valid odata or Redfish property.",
- "type": [
- "array",
- "boolean",
- "integer",
- "number",
- "null",
- "object",
- "string"
- ]
- }
- },
- "properties": {},
- "type": "object"
- },
- "VLAN": {
- "additionalProperties": false,
- "description": "The attributes of a VLAN.",
- "longDescription": "This type shall contain any attributes of a VLAN.",
- "patternProperties": {
- "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
- "description": "This property shall specify a valid odata or Redfish property.",
- "type": [
- "array",
- "boolean",
- "integer",
- "number",
- "null",
- "object",
- "string"
- ]
- }
- },
- "properties": {
- "Tagged": {
- "description": "An indication of whether this VLAN is tagged or untagged for this interface.",
- "longDescription": "This property shall indicate whether this VLAN is tagged or untagged for this interface.",
- "readonly": false,
- "type": [
- "boolean",
- "null"
- ],
- "versionAdded": "v1_3_0"
- },
- "VLANEnable": {
- "description": "An indication of whether this VLAN is enabled for this VLAN network interface.",
- "longDescription": "This property shall indicate whether this VLAN is enabled for this VLAN network interface.",
- "readonly": false,
- "type": [
- "boolean",
- "null"
- ]
- },
- "VLANId": {
- "anyOf": [
- {
- "$ref": "#/definitions/VLANId"
- },
- {
- "type": "null"
- }
- ],
- "description": "The ID for this VLAN.",
- "longDescription": "This property shall contain the ID for this VLAN.",
- "readonly": false
- },
- "VLANPriority": {
- "anyOf": [
- {
- "$ref": "#/definitions/VLANPriority"
- },
- {
- "type": "null"
- }
- ],
- "description": "The priority for this VLAN.",
- "longDescription": "This property shall contain the priority for this VLAN.",
- "readonly": false,
- "versionAdded": "v1_2_0"
- }
- },
- "requiredOnCreate": [
- "VLANEnable",
- "VLANId"
- ],
- "type": "object"
- },
- "VLANId": {
- "maximum": 4094,
- "minimum": 0,
- "type": "integer"
- },
- "VLANPriority": {
- "maximum": 7,
- "minimum": 0,
- "type": "integer"
- },
- "VLanNetworkInterface": {
- "additionalProperties": false,
- "deprecated": "This schema has been deprecated in favor of using individual EthernetInterface resources to show VLAN information.",
- "description": "The VLanNetworkInterface schema describes a VLAN network instance that is available on a manager, system, or other device.",
- "longDescription": "This resource contains information for a VLAN network instance that is available on a manager, system, or other device for a Redfish implementation.",
- "patternProperties": {
- "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
- "description": "This property shall specify a valid odata or Redfish property.",
- "type": [
- "array",
- "boolean",
- "integer",
- "number",
- "null",
- "object",
- "string"
- ]
- }
- },
- "properties": {
- "@odata.context": {
- "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
- },
- "@odata.etag": {
- "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
- },
- "@odata.id": {
- "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
- },
- "@odata.type": {
- "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
- },
- "Actions": {
- "$ref": "#/definitions/Actions",
- "description": "The available actions for this resource.",
- "longDescription": "This property shall contain the available actions for this resource.",
- "versionAdded": "v1_1_0"
- },
- "Description": {
- "anyOf": [
- {
- "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
- },
- {
- "type": "null"
- }
- ],
- "readonly": true
- },
- "Id": {
- "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
- "readonly": true
- },
- "Name": {
- "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
- "readonly": true
- },
- "Oem": {
- "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
- "description": "The OEM extension property.",
- "longDescription": "This property shall contain the OEM extensions. All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
- },
- "VLANEnable": {
- "description": "An indication of whether this VLAN is enabled for this interface.",
- "longDescription": "This property shall indicate whether this VLAN is enabled for this interface.",
- "readonly": false,
- "type": [
- "boolean",
- "null"
- ]
- },
- "VLANId": {
- "anyOf": [
- {
- "$ref": "#/definitions/VLANId"
- },
- {
- "type": "null"
- }
- ],
- "description": "The ID for this VLAN.",
- "longDescription": "This property shall contain the ID for this VLAN.",
- "readonly": false
- },
- "VLANPriority": {
- "anyOf": [
- {
- "$ref": "#/definitions/VLANPriority"
- },
- {
- "type": "null"
- }
- ],
- "description": "The priority for this VLAN.",
- "longDescription": "This property shall contain the priority for this VLAN.",
- "readonly": false,
- "versionAdded": "v1_2_0"
- }
- },
- "required": [
- "@odata.id",
- "@odata.type",
- "Id",
- "Name"
- ],
- "requiredOnCreate": [
- "VLANEnable",
- "VLANId"
- ],
- "type": "object",
- "versionDeprecated": "v1_3_0"
- }
- },
- "owningEntity": "DMTF",
- "release": "2021.2",
- "title": "#VLanNetworkInterface.v1_3_0.VLanNetworkInterface"
-} \ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/VLanNetworkInterfaceCollection/VLanNetworkInterfaceCollection.json b/static/redfish/v1/JsonSchemas/VLanNetworkInterfaceCollection/VLanNetworkInterfaceCollection.json
deleted file mode 100644
index 2268d22978..0000000000
--- a/static/redfish/v1/JsonSchemas/VLanNetworkInterfaceCollection/VLanNetworkInterfaceCollection.json
+++ /dev/null
@@ -1,114 +0,0 @@
-{
- "$id": "http://redfish.dmtf.org/schemas/v1/VLanNetworkInterfaceCollection.json",
- "$ref": "#/definitions/VLanNetworkInterfaceCollection",
- "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
- "copyright": "Copyright 2014-2023 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
- "definitions": {
- "VLanNetworkInterfaceCollection": {
- "anyOf": [
- {
- "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/idRef"
- },
- {
- "additionalProperties": false,
- "description": "The collection of VLanNetworkInterface resource instances.",
- "longDescription": "This resource shall represent a resource collection of VLanNetworkInterface instances for a Redfish implementation.",
- "patternProperties": {
- "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
- "description": "This property shall specify a valid odata or Redfish property.",
- "type": [
- "array",
- "boolean",
- "integer",
- "number",
- "null",
- "object",
- "string"
- ]
- }
- },
- "properties": {
- "@odata.context": {
- "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
- },
- "@odata.etag": {
- "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
- },
- "@odata.id": {
- "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
- },
- "@odata.type": {
- "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
- },
- "Description": {
- "anyOf": [
- {
- "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
- },
- {
- "type": "null"
- }
- ],
- "readonly": true
- },
- "Members": {
- "description": "The members of this collection.",
- "items": {
- "$ref": "http://redfish.dmtf.org/schemas/v1/VLanNetworkInterface.json#/definitions/VLanNetworkInterface"
- },
- "longDescription": "This property shall contain an array of links to the members of this collection.",
- "readonly": true,
- "type": "array"
- },
- "Members@odata.count": {
- "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
- },
- "Members@odata.nextLink": {
- "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/nextLink"
- },
- "Name": {
- "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
- "readonly": true
- },
- "Oem": {
- "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
- "description": "The OEM extension property.",
- "longDescription": "This property shall contain the OEM extensions. All values for properties contained in this object shall conform to the Redfish Specification-described requirements."
- }
- },
- "required": [
- "Members",
- "Members@odata.count",
- "@odata.id",
- "@odata.type",
- "Name"
- ],
- "type": "object"
- }
- ],
- "deletable": false,
- "insertable": true,
- "updatable": false,
- "uris": [
- "/redfish/v1/Chassis/{ChassisId}/NetworkAdapters/{NetworkAdapterId}/NetworkDeviceFunctions/{NetworkDeviceFunctionId}/Ethernet/VLANs",
- "/redfish/v1/Managers/{ManagerId}/EthernetInterfaces/{EthernetInterfaceId}/VLANs",
- "/redfish/v1/Systems/{ComputerSystemId}/EthernetInterfaces/{EthernetInterfaceId}/VLANs",
- "/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/EthernetInterfaces/{EthernetInterfaceId}/VLANs",
- "/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/EthernetInterfaces/{EthernetInterfaceId}/VLANs",
- "/redfish/v1/ResourceBlocks/{ResourceBlockId}/EthernetInterfaces/{EthernetInterfaceId}/VLANs",
- "/redfish/v1/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/EthernetInterfaces/{EthernetInterfaceId}/VLANs"
- ],
- "urisDeprecated": [
- "/redfish/v1/Chassis/{ChassisId}/NetworkAdapters/{NetworkAdapterId}/NetworkDeviceFunctions/{NetworkDeviceFunctionId}/Ethernet/VLANs",
- "/redfish/v1/Managers/{ManagerId}/EthernetInterfaces/{EthernetInterfaceId}/VLANs",
- "/redfish/v1/Systems/{ComputerSystemId}/EthernetInterfaces/{EthernetInterfaceId}/VLANs",
- "/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/EthernetInterfaces/{EthernetInterfaceId}/VLANs",
- "/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/EthernetInterfaces/{EthernetInterfaceId}/VLANs",
- "/redfish/v1/ResourceBlocks/{ResourceBlockId}/EthernetInterfaces/{EthernetInterfaceId}/VLANs",
- "/redfish/v1/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/EthernetInterfaces/{EthernetInterfaceId}/VLANs"
- ]
- }
- },
- "owningEntity": "DMTF",
- "title": "#VLanNetworkInterfaceCollection.VLanNetworkInterfaceCollection"
-} \ No newline at end of file
diff --git a/static/redfish/v1/schema/VLanNetworkInterfaceCollection_v1.xml b/static/redfish/v1/schema/VLanNetworkInterfaceCollection_v1.xml
deleted file mode 100644
index c75a02f492..0000000000
--- a/static/redfish/v1/schema/VLanNetworkInterfaceCollection_v1.xml
+++ /dev/null
@@ -1,87 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!---->
-<!--################################################################################ -->
-<!--# Redfish Schema: VLanNetworkInterfaceCollection -->
-<!--# -->
-<!--# For a detailed change log, see the README file contained in the DSP8010 bundle, -->
-<!--# available at http://www.dmtf.org/standards/redfish -->
-<!--# Copyright 2014-2023 DMTF. -->
-<!--# For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright -->
-<!--################################################################################ -->
-<!---->
-<edmx:Edmx xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Version="4.0">
-
- <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Core.V1.xml">
- <edmx:Include Namespace="Org.OData.Core.V1" Alias="OData"/>
- </edmx:Reference>
- <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Capabilities.V1.xml">
- <edmx:Include Namespace="Org.OData.Capabilities.V1" Alias="Capabilities"/>
- </edmx:Reference>
- <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Resource_v1.xml">
- <edmx:Include Namespace="Resource.v1_0_0"/>
- </edmx:Reference>
- <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/RedfishExtensions_v1.xml">
- <edmx:Include Namespace="RedfishExtensions.v1_0_0" Alias="Redfish"/>
- </edmx:Reference>
- <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/VLanNetworkInterface_v1.xml">
- <edmx:Include Namespace="VLanNetworkInterface"/>
- </edmx:Reference>
-
- <edmx:DataServices>
-
- <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="VLanNetworkInterfaceCollection">
- <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
-
- <EntityType Name="VLanNetworkInterfaceCollection" BaseType="Resource.v1_0_0.ResourceCollection">
- <Annotation Term="OData.Description" String="The collection of VLanNetworkInterface resource instances."/>
- <Annotation Term="OData.LongDescription" String="This resource shall represent a resource collection of VLanNetworkInterface instances for a Redfish implementation."/>
- <Annotation Term="Capabilities.InsertRestrictions">
- <Record>
- <PropertyValue Property="Insertable" Bool="true"/>
- <Annotation Term="OData.Description" String="In some implementations, VLAN network interfaces can be added through a POST to the VLAN network interface collection. In other implementations, the collection can be pre-populated with a fixed number of available VLANs."/>
- </Record>
- </Annotation>
- <Annotation Term="Capabilities.UpdateRestrictions">
- <Record>
- <PropertyValue Property="Updatable" Bool="false"/>
- </Record>
- </Annotation>
- <Annotation Term="Capabilities.DeleteRestrictions">
- <Record>
- <PropertyValue Property="Deletable" Bool="false"/>
- </Record>
- </Annotation>
- <Annotation Term="Redfish.Uris">
- <Collection>
- <String>/redfish/v1/Chassis/{ChassisId}/NetworkAdapters/{NetworkAdapterId}/NetworkDeviceFunctions/{NetworkDeviceFunctionId}/Ethernet/VLANs</String>
- <String>/redfish/v1/Managers/{ManagerId}/EthernetInterfaces/{EthernetInterfaceId}/VLANs</String>
- <String>/redfish/v1/Systems/{ComputerSystemId}/EthernetInterfaces/{EthernetInterfaceId}/VLANs</String>
- <String>/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/EthernetInterfaces/{EthernetInterfaceId}/VLANs</String>
- <String>/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/EthernetInterfaces/{EthernetInterfaceId}/VLANs</String>
- <String>/redfish/v1/ResourceBlocks/{ResourceBlockId}/EthernetInterfaces/{EthernetInterfaceId}/VLANs</String>
- <String>/redfish/v1/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/EthernetInterfaces/{EthernetInterfaceId}/VLANs</String>
- </Collection>
- </Annotation>
- <Annotation Term="Redfish.DeprecatedUris">
- <Collection>
- <String>/redfish/v1/Chassis/{ChassisId}/NetworkAdapters/{NetworkAdapterId}/NetworkDeviceFunctions/{NetworkDeviceFunctionId}/Ethernet/VLANs</String>
- <String>/redfish/v1/Managers/{ManagerId}/EthernetInterfaces/{EthernetInterfaceId}/VLANs</String>
- <String>/redfish/v1/Systems/{ComputerSystemId}/EthernetInterfaces/{EthernetInterfaceId}/VLANs</String>
- <String>/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/EthernetInterfaces/{EthernetInterfaceId}/VLANs</String>
- <String>/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/EthernetInterfaces/{EthernetInterfaceId}/VLANs</String>
- <String>/redfish/v1/ResourceBlocks/{ResourceBlockId}/EthernetInterfaces/{EthernetInterfaceId}/VLANs</String>
- <String>/redfish/v1/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/EthernetInterfaces/{EthernetInterfaceId}/VLANs</String>
- </Collection>
- </Annotation>
- <NavigationProperty Name="Members" Type="Collection(VLanNetworkInterface.VLanNetworkInterface)">
- <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
- <Annotation Term="OData.Description" String="The members of this collection."/>
- <Annotation Term="OData.LongDescription" String="This property shall contain an array of links to the members of this collection."/>
- <Annotation Term="OData.AutoExpandReferences"/>
- <Annotation Term="Redfish.Required"/>
- </NavigationProperty>
- </EntityType>
- </Schema>
-
- </edmx:DataServices>
-</edmx:Edmx>
diff --git a/static/redfish/v1/schema/VLanNetworkInterface_v1.xml b/static/redfish/v1/schema/VLanNetworkInterface_v1.xml
deleted file mode 100644
index dfb362cf42..0000000000
--- a/static/redfish/v1/schema/VLanNetworkInterface_v1.xml
+++ /dev/null
@@ -1,288 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!---->
-<!--################################################################################ -->
-<!--# Redfish Schema: VLanNetworkInterface v1.3.0 -->
-<!--# -->
-<!--# For a detailed change log, see the README file contained in the DSP8010 bundle, -->
-<!--# available at http://www.dmtf.org/standards/redfish -->
-<!--# Copyright 2014-2023 DMTF. -->
-<!--# For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright -->
-<!--################################################################################ -->
-<!---->
-<edmx:Edmx xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Version="4.0">
-
- <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Core.V1.xml">
- <edmx:Include Namespace="Org.OData.Core.V1" Alias="OData"/>
- </edmx:Reference>
- <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Capabilities.V1.xml">
- <edmx:Include Namespace="Org.OData.Capabilities.V1" Alias="Capabilities"/>
- </edmx:Reference>
- <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/RedfishExtensions_v1.xml">
- <edmx:Include Namespace="RedfishExtensions.v1_0_0" Alias="Redfish"/>
- <edmx:Include Namespace="Validation.v1_0_0" Alias="Validation"/>
- </edmx:Reference>
- <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Resource_v1.xml">
- <edmx:Include Namespace="Resource.v1_0_0"/>
- </edmx:Reference>
-
- <edmx:DataServices>
-
- <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="VLanNetworkInterface">
- <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
-
- <EntityType Name="VLanNetworkInterface" BaseType="Resource.v1_0_0.Resource" Abstract="true">
- <Annotation Term="OData.Description" String="The VLanNetworkInterface schema describes a VLAN network instance that is available on a manager, system, or other device."/>
- <Annotation Term="OData.LongDescription" String="This resource contains information for a VLAN network instance that is available on a manager, system, or other device for a Redfish implementation."/>
- <Annotation Term="Capabilities.InsertRestrictions">
- <Record>
- <PropertyValue Property="Insertable" Bool="false"/>
- </Record>
- </Annotation>
- <Annotation Term="Capabilities.UpdateRestrictions">
- <Record>
- <PropertyValue Property="Updatable" Bool="true"/>
- <Annotation Term="OData.Description" String="VLAN network interfaces can be updated to enable or disable them or change their VLAN IDs."/>
- </Record>
- </Annotation>
- <Annotation Term="Capabilities.DeleteRestrictions">
- <Record>
- <PropertyValue Property="Deletable" Bool="true"/>
- <Annotation Term="OData.Description" String="In some implementations, VLAN network interfaces can be deleted. However, because other implementations can keep a fixed number of interfaces in the collection, they do not allow deletion of interfaces."/>
- </Record>
- </Annotation>
- <Annotation Term="Redfish.Uris">
- <Collection>
- <String>/redfish/v1/Chassis/{ChassisId}/NetworkAdapters/{NetworkAdapterId}/NetworkDeviceFunctions/{NetworkDeviceFunctionId}/Ethernet/VLANs/{VLanNetworkInterfaceId}</String>
- <String>/redfish/v1/Managers/{ManagerId}/EthernetInterfaces/{EthernetInterfaceId}/VLANs/{VLanNetworkInterfaceId}</String>
- <String>/redfish/v1/Systems/{ComputerSystemId}/EthernetInterfaces/{EthernetInterfaceId}/VLANs/{VLanNetworkInterfaceId}</String>
- <String>/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/EthernetInterfaces/{EthernetInterfaceId}/VLANs/{VLanNetworkInterfaceId}</String>
- <String>/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/EthernetInterfaces/{EthernetInterfaceId}/VLANs/{VLanNetworkInterfaceId}</String>
- <String>/redfish/v1/ResourceBlocks/{ResourceBlockId}/EthernetInterfaces/{EthernetInterfaceId}/VLANs/{VLanNetworkInterfaceId}</String>
- <String>/redfish/v1/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/EthernetInterfaces/{EthernetInterfaceId}/VLANs/{VLanNetworkInterfaceId}</String>
- </Collection>
- </Annotation>
- <Annotation Term="Redfish.DeprecatedUris">
- <Collection>
- <String>/redfish/v1/Chassis/{ChassisId}/NetworkAdapters/{NetworkAdapterId}/NetworkDeviceFunctions/{NetworkDeviceFunctionId}/Ethernet/VLANs/{VLanNetworkInterfaceId}</String>
- <String>/redfish/v1/Managers/{ManagerId}/EthernetInterfaces/{EthernetInterfaceId}/VLANs/{VLanNetworkInterfaceId}</String>
- <String>/redfish/v1/Systems/{ComputerSystemId}/EthernetInterfaces/{EthernetInterfaceId}/VLANs/{VLanNetworkInterfaceId}</String>
- <String>/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/EthernetInterfaces/{EthernetInterfaceId}/VLANs/{VLanNetworkInterfaceId}</String>
- <String>/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/EthernetInterfaces/{EthernetInterfaceId}/VLANs/{VLanNetworkInterfaceId}</String>
- <String>/redfish/v1/ResourceBlocks/{ResourceBlockId}/EthernetInterfaces/{EthernetInterfaceId}/VLANs/{VLanNetworkInterfaceId}</String>
- <String>/redfish/v1/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/EthernetInterfaces/{EthernetInterfaceId}/VLANs/{VLanNetworkInterfaceId}</String>
- </Collection>
- </Annotation>
- <Annotation Term="Redfish.Revisions">
- <Collection>
- <Record>
- <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Deprecated"/>
- <PropertyValue Property="Version" String="v1_3_0"/>
- <PropertyValue Property="Description" String="This schema has been deprecated in favor of using individual EthernetInterface resources to show VLAN information."/>
- </Record>
- </Collection>
- </Annotation>
- </EntityType>
-
- <ComplexType Name="VLAN" Abstract="true">
- <Annotation Term="OData.AdditionalProperties" Bool="false"/>
- <Annotation Term="OData.Description" String="The attributes of a VLAN."/>
- <Annotation Term="OData.LongDescription" String="This type shall contain any attributes of a VLAN."/>
- </ComplexType>
- </Schema>
-
- <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="VLanNetworkInterface.v1_0_0">
- <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
- <Annotation Term="Redfish.Release" String="1.0"/>
-
- <EntityType Name="VLanNetworkInterface" BaseType="VLanNetworkInterface.VLanNetworkInterface">
- <Property Name="VLANEnable" Type="Edm.Boolean">
- <Annotation Term="Redfish.RequiredOnCreate"/>
- <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
- <Annotation Term="OData.Description" String="An indication of whether this VLAN is enabled for this interface."/>
- <Annotation Term="OData.LongDescription" String="This property shall indicate whether this VLAN is enabled for this interface."/>
- </Property>
- <Property Name="VLANId" Type="VLanNetworkInterface.v1_0_0.VLANId">
- <Annotation Term="Redfish.RequiredOnCreate"/>
- <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
- <Annotation Term="OData.Description" String="The ID for this VLAN."/>
- <Annotation Term="OData.LongDescription" String="This property shall contain the ID for this VLAN."/>
- </Property>
- </EntityType>
-
- <ComplexType Name="VLAN" BaseType="VLanNetworkInterface.VLAN">
- <Property Name="VLANEnable" Type="Edm.Boolean">
- <Annotation Term="Redfish.RequiredOnCreate"/>
- <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
- <Annotation Term="OData.Description" String="An indication of whether this VLAN is enabled for this VLAN network interface."/>
- <Annotation Term="OData.LongDescription" String="This property shall indicate whether this VLAN is enabled for this VLAN network interface."/>
- </Property>
- <Property Name="VLANId" Type="VLanNetworkInterface.v1_0_0.VLANId">
- <Annotation Term="Redfish.RequiredOnCreate"/>
- <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
- <Annotation Term="OData.Description" String="The ID for this VLAN."/>
- <Annotation Term="OData.LongDescription" String="This property shall contain the ID for this VLAN."/>
- </Property>
- </ComplexType>
-
- <TypeDefinition Name="VLANId" UnderlyingType="Edm.Int64">
- <Annotation Term="Validation.Minimum" Int="0"/>
- <Annotation Term="Validation.Maximum" Int="4094"/>
- </TypeDefinition>
- </Schema>
-
- <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="VLanNetworkInterface.v1_0_1">
- <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
- <Annotation Term="OData.Description" String="This version was created to show that annotations in previous namespaces were updated."/>
- <EntityType Name="VLanNetworkInterface" BaseType="VLanNetworkInterface.v1_0_0.VLanNetworkInterface"/>
- </Schema>
-
- <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="VLanNetworkInterface.v1_0_2">
- <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
- <Annotation Term="OData.Description" String="This version was created to show that annotations in previous namespaces were updated."/>
- <EntityType Name="VLanNetworkInterface" BaseType="VLanNetworkInterface.v1_0_1.VLanNetworkInterface"/>
- </Schema>
-
- <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="VLanNetworkInterface.v1_0_3">
- <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
- <Annotation Term="OData.Description" String="This version was created to add explicit Permissions annotations to all properties for clarity."/>
- <EntityType Name="VLanNetworkInterface" BaseType="VLanNetworkInterface.v1_0_2.VLanNetworkInterface"/>
- </Schema>
-
- <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="VLanNetworkInterface.v1_0_4">
- <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
- <Annotation Term="OData.Description" String="This version was created to show that annotations in previous namespaces were updated."/>
- <EntityType Name="VLanNetworkInterface" BaseType="VLanNetworkInterface.v1_0_3.VLanNetworkInterface"/>
- </Schema>
-
- <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="VLanNetworkInterface.v1_0_5">
- <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
- <Annotation Term="OData.Description" String="This version was created to add an abstract base type for VLAN."/>
- <EntityType Name="VLanNetworkInterface" BaseType="VLanNetworkInterface.v1_0_4.VLanNetworkInterface"/>
- </Schema>
-
- <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="VLanNetworkInterface.v1_0_6">
- <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
- <Annotation Term="OData.Description" String="This version was created to force the regeneration of JSON Schema so that OData properties are marked as required, and integer properties are marked as integer rather than number."/>
- <EntityType Name="VLanNetworkInterface" BaseType="VLanNetworkInterface.v1_0_5.VLanNetworkInterface"/>
- </Schema>
-
- <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="VLanNetworkInterface.v1_0_7">
- <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
- <Annotation Term="OData.Description" String="This version was created to force the regeneration of JSON Schema so that URI properties use the uri-reference format."/>
- <EntityType Name="VLanNetworkInterface" BaseType="VLanNetworkInterface.v1_0_6.VLanNetworkInterface"/>
- </Schema>
-
- <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="VLanNetworkInterface.v1_0_8">
- <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
- <Annotation Term="OData.Description" String="This version was created to update descriptions that this schema defines."/>
- <EntityType Name="VLanNetworkInterface" BaseType="VLanNetworkInterface.v1_0_7.VLanNetworkInterface"/>
- </Schema>
-
- <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="VLanNetworkInterface.v1_0_9">
- <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
- <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
- <EntityType Name="VLanNetworkInterface" BaseType="VLanNetworkInterface.v1_0_8.VLanNetworkInterface"/>
- </Schema>
-
- <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="VLanNetworkInterface.v1_1_0">
- <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
- <Annotation Term="Redfish.Release" String="2017.1"/>
-
- <EntityType Name="VLanNetworkInterface" BaseType="VLanNetworkInterface.v1_0_4.VLanNetworkInterface">
- <Property Name="Actions" Type="VLanNetworkInterface.v1_1_0.Actions" Nullable="false">
- <Annotation Term="OData.Description" String="The available actions for this resource."/>
- <Annotation Term="OData.LongDescription" String="This property shall contain the available actions for this resource."/>
- </Property>
- </EntityType>
-
- <ComplexType Name="Actions">
- <Annotation Term="OData.AdditionalProperties" Bool="false"/>
- <Annotation Term="OData.Description" String="The available actions for this resource."/>
- <Annotation Term="OData.LongDescription" String="This type shall contain the available actions for this resource."/>
- <Property Name="Oem" Type="VLanNetworkInterface.v1_1_0.OemActions" Nullable="false">
- <Annotation Term="OData.Description" String="The available OEM-specific actions for this resource."/>
- <Annotation Term="OData.LongDescription" String="This property shall contain the available OEM-specific actions for this resource."/>
- </Property>
- </ComplexType>
-
- <ComplexType Name="OemActions">
- <Annotation Term="OData.AdditionalProperties" Bool="true"/>
- <Annotation Term="OData.Description" String="The available OEM-specific actions for this resource."/>
- <Annotation Term="OData.LongDescription" String="This type shall contain the available OEM-specific actions for this resource."/>
- </ComplexType>
- </Schema>
-
- <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="VLanNetworkInterface.v1_1_1">
- <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
- <Annotation Term="OData.Description" String="This version was created to add an abstract base type for VLAN."/>
- <EntityType Name="VLanNetworkInterface" BaseType="VLanNetworkInterface.v1_1_0.VLanNetworkInterface"/>
- </Schema>
-
- <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="VLanNetworkInterface.v1_1_2">
- <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
- <Annotation Term="OData.Description" String="This version was created to force the regeneration of JSON Schema so that OData properties are marked as required, and integer properties are marked as integer rather than number."/>
- <EntityType Name="VLanNetworkInterface" BaseType="VLanNetworkInterface.v1_1_1.VLanNetworkInterface"/>
- </Schema>
-
- <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="VLanNetworkInterface.v1_1_3">
- <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
- <Annotation Term="OData.Description" String="This version was created to force the regeneration of JSON Schema so that URI properties use the uri-reference format."/>
- <EntityType Name="VLanNetworkInterface" BaseType="VLanNetworkInterface.v1_1_2.VLanNetworkInterface"/>
- </Schema>
-
- <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="VLanNetworkInterface.v1_1_4">
- <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
- <Annotation Term="OData.Description" String="This version was created to update descriptions that this schema defines."/>
- <EntityType Name="VLanNetworkInterface" BaseType="VLanNetworkInterface.v1_1_3.VLanNetworkInterface"/>
- </Schema>
-
- <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="VLanNetworkInterface.v1_1_5">
- <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
- <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
- <EntityType Name="VLanNetworkInterface" BaseType="VLanNetworkInterface.v1_1_4.VLanNetworkInterface"/>
- </Schema>
-
- <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="VLanNetworkInterface.v1_2_0">
- <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
- <Annotation Term="OData.Description" String="This version was created to add VLAN priority."/>
- <Annotation Term="Redfish.Release" String="2020.4"/>
-
- <EntityType Name="VLanNetworkInterface" BaseType="VLanNetworkInterface.v1_1_5.VLanNetworkInterface">
- <Property Name="VLANPriority" Type="VLanNetworkInterface.v1_2_0.VLANPriority">
- <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
- <Annotation Term="OData.Description" String="The priority for this VLAN."/>
- <Annotation Term="OData.LongDescription" String="This property shall contain the priority for this VLAN."/>
- </Property>
- </EntityType>
-
- <ComplexType Name="VLAN" BaseType="VLanNetworkInterface.v1_0_0.VLAN">
- <Property Name="VLANPriority" Type="VLanNetworkInterface.v1_2_0.VLANPriority">
- <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
- <Annotation Term="OData.Description" String="The priority for this VLAN."/>
- <Annotation Term="OData.LongDescription" String="This property shall contain the priority for this VLAN."/>
- </Property>
- </ComplexType>
-
- <TypeDefinition Name="VLANPriority" UnderlyingType="Edm.Int64">
- <Annotation Term="Validation.Minimum" Int="0"/>
- <Annotation Term="Validation.Maximum" Int="7"/>
- </TypeDefinition>
- </Schema>
-
- <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="VLanNetworkInterface.v1_3_0">
- <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
- <Annotation Term="Redfish.Release" String="2021.2"/>
-
- <EntityType Name="VLanNetworkInterface" BaseType="VLanNetworkInterface.v1_2_0.VLanNetworkInterface"/>
-
- <ComplexType Name="VLAN" BaseType="VLanNetworkInterface.v1_2_0.VLAN">
- <Property Name="Tagged" Type="Edm.Boolean">
- <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
- <Annotation Term="OData.Description" String="An indication of whether this VLAN is tagged or untagged for this interface."/>
- <Annotation Term="OData.LongDescription" String="This property shall indicate whether this VLAN is tagged or untagged for this interface."/>
- </Property>
- </ComplexType>
- </Schema>
-
- </edmx:DataServices>
-</edmx:Edmx>