RackHD/on-http

View on GitHub
static/DSP8010_2016.3/metadata/PrivilegeRegistry_v1.xml

Summary

Maintainability
Test Coverage
<?xml version="1.0" encoding="UTF-8"?>
<!---->
<!--################################################################################       -->
<!--# Redfish Schema:  PrivilegeRegistry  v1.0.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-2016 Distributed Management Task Force, Inc. (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: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/Privileges_v1.xml">
    <edmx:Include Namespace="Privileges.v1_0_0"/>
  </edmx:Reference>

  <edmx:DataServices>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="PrivilegeRegistry">

      <EntityType Name="PrivilegeRegistry" BaseType="Resource.v1_0_0.Resource" Abstract="true">
        <Annotation Term="OData.Description" String="This is the schema definition for Operation to Privilege mapping."/>
        <Annotation Term="OData.LongDescription" String="This resource shall be used to represent operation to privilege mappings."/>
        <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="A Privilege Resource resource can be updated to change permissions on the various resource types based on a user's privilege level."/>
          </Record>
        </Annotation>
        <Annotation Term="Capabilities.DeleteRestrictions">
          <Record>
            <PropertyValue Property="Deletable" Bool="false"/>
          </Record>
        </Annotation>
      </EntityType>

    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="PrivilegeRegistry.v1_0_0">

      <EntityType Name="PrivilegeRegistry" BaseType="PrivilegeRegistry.PrivilegeRegistry">
        <Annotation Term="OData.Description" String="This is the schema definition for Operation to Privilege mapping."/>
        <Annotation Term="OData.LongDescription" String="This resource shall be used to represent operation to privilege mappings."/>
        <Property Name="PrivilegesUsed" Type="Collection(Privileges.v1_0_0.PrivilegeType)" Nullable="false">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permissions/Read"/>
          <Annotation Term="OData.Description" String="Lists the set of Redfish standard priviliges used in building this mapping."/>
        </Property>
        <Property Name="OEMPrivilegesUsed" Type="Collection(Edm.String)" Nullable="false">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permissions/Read"/>
          <Annotation Term="OData.Description" String="Lists the set of OEM Priviliges used in building this mapping."/>
        </Property>
        <Property Name="Mappings" Type="Collection(PrivilegeRegistry.v1_0_0.Mapping)" Nullable="false"> 
        </Property>
      </EntityType>

      <ComplexType Name="Mapping">
        <Property Name="Entity" Type="Edm.String" Nullable="false">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permissions/Read"/>
          <Annotation Term="OData.Description" String="Indicates entity name. e.g., Manager."/>
          <Annotation Term="OData.LongDescription" String="Indicates entity name. e.g., Manager."/>
        </Property>
        <Property Name="SubordinateOverrides" Type="Collection(PrivilegeRegistry.v1_0_0.Target_PrivilegeMap)" Nullable="true">
          <Annotation Term="OData.Description" String="Indicates privilege overrides of subordinate resource."/>
          <Annotation Term="OData.LongDescription" String="Indicates privilege overrides of subordinate resource. Target lists referenced by Entity."/>
        </Property>
        <Property Name="ResourceURIOverrides" Type="Collection(PrivilegeRegistry.v1_0_0.Target_PrivilegeMap)" Nullable="true">
          <Annotation Term="OData.Description" String="Indicates privilege overrides of Resource URI."/>
          <Annotation Term="OData.LongDescription" String="Indicates privilege overrides of Resource URI. Target lists Resource URI."/>
        </Property>
        <Property Name="PropertyOverrides" Type="Collection(PrivilegeRegistry.v1_0_0.Target_PrivilegeMap)" Nullable="true">
          <Annotation Term="OData.Description" String="Indicates privilege overrides of property or element within a entity."/>
          <Annotation Term="OData.LongDescription" String="Indicates privilege overrides of property or element. e.g., password property."/>
        </Property>
        <Property Name="OperationMap" Type="PrivilegeRegistry.v1_0_0.OperationMap" Nullable="false">
          <Annotation Term="OData.Description" String="List mapping between HTTP method and privilege required for entity."/>
          <Annotation Term="OData.LongDescription" String="List mapping between HTTP method and privilege required for entity."/>
        </Property>
      </ComplexType>

      <ComplexType Name="Target_PrivilegeMap">
        <Property Name="Targets" Type="Collection(Edm.String)" Nullable="true">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permissions/Read"/>
          <Annotation Term="OData.Description" String="Indicates the URI or Entity."/>
          <Annotation Term="OData.LongDescription" String="Indicates the set of URI(s) or Entity(s) or property(s). e.g./redfish/v1/Systems/1, Manager, Password. When targets property is not mentioned, then there is no override."/>
        </Property>
        <Property Name="OperationMap" Type="PrivilegeRegistry.v1_0_0.OperationMap" >
          <Annotation Term="OData.Description" String="List mapping between HTTP operation and privilege needed to perform operation."/>
          <Annotation Term="OData.LongDescription" String="List mapping between HTTP operation and privilege needed to perform operation."/>
        </Property>
      </ComplexType>

      <ComplexType Name="OperationMap">
        <Annotation Term="OData.Description" String="Used for describing the specific privileges for a set of HTTP operations."/>
        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
        <Property Name="GET" Type="Collection(PrivilegeRegistry.v1_0_0.OperationPrivilege)" Nullable="false">
          <Annotation Term="OData.Description" String="Indicates privilege required for HTTP GET operation."/>
          <Annotation Term="OData.LongDescription" String="Indicates privilege required for HTTP GET operation."/>
        </Property>
        <Property Name="HEAD" Type="Collection(PrivilegeRegistry.v1_0_0.OperationPrivilege)" Nullable="false">
          <Annotation Term="OData.Description" String="Indicates privilege required for HTTP HEAD operation."/>
          <Annotation Term="OData.LongDescription" String="Indicates privilege required for HTTP HEAD operation."/>
        </Property>
        <Property Name="PATCH" Type="Collection(PrivilegeRegistry.v1_0_0.OperationPrivilege)" Nullable="false">
          <Annotation Term="OData.Description" String="Indicates privilege required for HTTP PATCH operation."/>
          <Annotation Term="OData.LongDescription" String="Indicates privilege required for HTTP PATCH operation."/>
        </Property>
        <Property Name="POST" Type="Collection(PrivilegeRegistry.v1_0_0.OperationPrivilege)" Nullable="false">
          <Annotation Term="OData.Description" String="Indicates privilege required for HTTP POST operation."/>
          <Annotation Term="OData.LongDescription" String="Indicates privilege required for HTTP POST operation."/>
        </Property>
        <Property Name="PUT" Type="Collection(PrivilegeRegistry.v1_0_0.OperationPrivilege)" Nullable="false">
          <Annotation Term="OData.Description" String="Indicates privilege required for HTTP PUT operation."/>
          <Annotation Term="OData.LongDescription" String="Indicates privilege required for HTTP PUT operation."/>
        </Property>
        <Property Name="DELETE" Type="Collection(PrivilegeRegistry.v1_0_0.OperationPrivilege)" Nullable="false">
          <Annotation Term="OData.Description" String="Indicates privilege required for HTTP DELETE operation."/>
          <Annotation Term="OData.LongDescription" String="Indicates privilege required for HTTP DELETE operation."/>
        </Property>
      </ComplexType>

      <ComplexType Name="OperationPrivilege">
        <Annotation Term="OData.Description" String="Used for describing the specific privileges for a given type of HTTP operation."/>
        <Property Name="Privilege" Type="Collection(Edm.String)" Nullable="false">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permissions/Read"/>
          <Annotation Term="OData.Description" String="Lists the privileges that are allowed to perform the given type of HTTP operation on the entity type."/>
          <Annotation Term="OData.LongDescription" String="This array shall contain a set of strings that match 0 or more of the strings found in the PrivilegesUsed and OEMPrivilegesUsed properties."/>
        </Property>
      </ComplexType>

    </Schema>

  </edmx:DataServices>
</edmx:Edmx>