1<?xml version="1.0" encoding="UTF-8"?>
2<!---->
3<!--################################################################################       -->
4<!--# Redfish Schema:  AllowDeny v1.0.2                                                    -->
5<!--#                                                                                      -->
6<!--# For a detailed change log, see the README file contained in the DSP8010 bundle,      -->
7<!--# available at http://www.dmtf.org/standards/redfish                                   -->
8<!--# Copyright 2014-2023 DMTF.                                                            -->
9<!--# For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright -->
10<!--################################################################################       -->
11<!---->
12<edmx:Edmx xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Version="4.0">
13
14  <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Core.V1.xml">
15    <edmx:Include Namespace="Org.OData.Core.V1" Alias="OData"/>
16  </edmx:Reference>
17  <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Capabilities.V1.xml">
18    <edmx:Include Namespace="Org.OData.Capabilities.V1" Alias="Capabilities"/>
19  </edmx:Reference>
20  <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Measures.V1.xml">
21    <edmx:Include Namespace="Org.OData.Measures.V1" Alias="Measures"/>
22  </edmx:Reference>
23  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Resource_v1.xml">
24    <edmx:Include Namespace="Resource"/>
25    <edmx:Include Namespace="Resource.v1_0_0"/>
26  </edmx:Reference>
27  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/RedfishExtensions_v1.xml">
28    <edmx:Include Namespace="RedfishExtensions.v1_0_0" Alias="Redfish"/>
29    <edmx:Include Namespace="Validation.v1_0_0" Alias="Validation"/>
30  </edmx:Reference>
31
32  <edmx:DataServices>
33
34    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="AllowDeny">
35      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
36
37      <EntityType Name="AllowDeny" BaseType="Resource.v1_0_0.Resource" Abstract="true">
38        <Annotation Term="OData.Description" String="The AllowDeny schema represents a set of allow or deny configurations."/>
39        <Annotation Term="OData.LongDescription" String="This resource shall represent an AllowDeny resource in a Redfish implementation."/>
40        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
41        <Annotation Term="Capabilities.InsertRestrictions">
42          <Record>
43            <PropertyValue Property="Insertable" Bool="false"/>
44          </Record>
45        </Annotation>
46        <Annotation Term="Capabilities.UpdateRestrictions">
47          <Record>
48            <PropertyValue Property="Updatable" Bool="true"/>
49          </Record>
50        </Annotation>
51        <Annotation Term="Capabilities.DeleteRestrictions">
52          <Record>
53            <PropertyValue Property="Deletable" Bool="true"/>
54          </Record>
55        </Annotation>
56        <Annotation Term="Redfish.Uris">
57          <Collection>
58            <String>/redfish/v1/Chassis/{ChassisId}/NetworkAdapters/{NetworkAdapterId}/NetworkDeviceFunctions/{NetworkDeviceFunctionId}/AllowDeny/{AllowDenyId}</String>
59            <String>/redfish/v1/Systems/{ComputerSystemId}/NetworkInterfaces/{NetworkInterfaceId}/NetworkDeviceFunctions/{NetworkDeviceFunctionId}/AllowDeny/{AllowDenyId}</String>
60            <String>/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/NetworkInterfaces/{NetworkInterfaceId}/NetworkDeviceFunctions/{NetworkDeviceFunctionId}/AllowDeny/{AllowDenyId}</String>
61            <String>/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/NetworkInterfaces/{NetworkInterfaceId}/NetworkDeviceFunctions/{NetworkDeviceFunctionId}/AllowDeny/{AllowDenyId}</String>
62            <String>/redfish/v1/ResourceBlocks/{ResourceBlockId}/NetworkInterfaces/{NetworkInterfaceId}/NetworkDeviceFunctions/{NetworkDeviceFunctionId}/AllowDeny/{AllowDenyId}</String>
63            <String>/redfish/v1/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/NetworkInterfaces/{NetworkInterfaceId}/NetworkDeviceFunctions/{NetworkDeviceFunctionId}/AllowDeny/{AllowDenyId}</String>
64          </Collection>
65        </Annotation>
66      </EntityType>
67    </Schema>
68
69    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="AllowDeny.v1_0_0">
70      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
71      <Annotation Term="Redfish.Release" String="2021.2"/>
72
73      <EntityType Name="AllowDeny" BaseType="AllowDeny.AllowDeny">
74        <Property Name="Direction" Type="AllowDeny.v1_0_0.DataDirection">
75          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
76          <Annotation Term="OData.Description" String="Indicates the direction of the data to which this permission applies."/>
77          <Annotation Term="OData.LongDescription" String="This value shall indicate the direction of the data to which this permission applies for this network device function."/>
78        </Property>
79        <Property Name="AllowType" Type="AllowDeny.v1_0_0.AllowType">
80          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
81          <Annotation Term="OData.Description" String="Indicates the type of permission."/>
82          <Annotation Term="OData.LongDescription" String="This property shall indicate the type of permission."/>
83        </Property>
84        <Property Name="StatefulSession" Type="Edm.Boolean">
85          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
86          <Annotation Term="OData.Description" String="Indicates if this is a permission that only applies to stateful connections."/>
87          <Annotation Term="OData.LongDescription" String="This property shall indicate if this permission only applies to stateful connections, which are those using SYN, ACK, and FIN."/>
88        </Property>
89        <Property Name="IPAddressType" Type="AllowDeny.v1_0_0.IPAddressType">
90          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
91          <Annotation Term="OData.Description" String="The type of IP address populated in the IPAddressLower and IPAddressUpper properties."/>
92          <Annotation Term="OData.LongDescription" String="This property shall contain the type of IP address populated in the IPAddressLower and IPAddressUpper properties.  Services shall not permit mixing IPv6 and IPv4 addresses on the same resource."/>
93        </Property>
94        <Property Name="IPAddressLower" Type="Edm.String">
95          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
96          <Annotation Term="OData.Description" String="The lower IP address to which this permission applies."/>
97          <Annotation Term="OData.LongDescription" String="This property shall contain the lower IP address to which this permission applies."/>
98        </Property>
99        <Property Name="IPAddressUpper" Type="Edm.String">
100          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
101          <Annotation Term="OData.Description" String="The upper IP address to which this permission applies."/>
102          <Annotation Term="OData.LongDescription" String="This property shall contain the upper IP address to which this permission applies."/>
103        </Property>
104        <Property Name="IANAProtocolNumber" Type="Edm.Int64">
105          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
106          <Annotation Term="OData.Description" String="The IANA protocol number to which this permission applies.  For TCP, this is `6`.  For UDP, this is `17`."/>
107          <Annotation Term="OData.LongDescription" String="This property shall contain the IANA protocol number to which this permission applies."/>
108        </Property>
109        <Property Name="SourcePortLower" Type="Edm.Int64">
110          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
111          <Annotation Term="OData.Description" String="The TCP, UDP, or other source port to which this rule begins application, inclusive."/>
112          <Annotation Term="OData.LongDescription" String="This property shall contain the TCP, UDP, or other source port to which this rule begins application, inclusive."/>
113        </Property>
114        <Property Name="SourcePortUpper" Type="Edm.Int64">
115          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
116          <Annotation Term="OData.Description" String="The TCP, UDP or other source port to which this rule ends application, inclusive."/>
117          <Annotation Term="OData.LongDescription" String="This property shall contain the TCP, UDP, or other source port to which this rule ends application, inclusive."/>
118        </Property>
119        <Property Name="DestinationPortLower" Type="Edm.Int64">
120          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
121          <Annotation Term="OData.Description" String="The TCP, UDP, or other destination port to which this rule begins application, inclusive."/>
122          <Annotation Term="OData.LongDescription" String="This property shall contain the TCP, UDP, or other destination port to which this rule begins application, inclusive."/>
123        </Property>
124        <Property Name="DestinationPortUpper" Type="Edm.Int64">
125          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
126          <Annotation Term="OData.Description" String="The TCP, UDP, or other destination port to which this rule ends application, inclusive."/>
127          <Annotation Term="OData.LongDescription" String="This property shall contain the TCP, UDP, or other destination port to which this rule ends application, inclusive."/>
128        </Property>
129        <Property Name="Actions" Type="AllowDeny.v1_0_0.Actions" Nullable="false">
130          <Annotation Term="OData.Description" String="The available actions for this resource."/>
131          <Annotation Term="OData.LongDescription" String="This property shall contain the available actions for this resource."/>
132        </Property>
133      </EntityType>
134
135      <ComplexType Name="Actions">
136        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
137        <Annotation Term="OData.Description" String="The available actions for this resource."/>
138        <Annotation Term="OData.LongDescription" String="This type shall contain the available actions for this resource."/>
139        <Property Name="Oem" Type="AllowDeny.v1_0_0.OemActions" Nullable="false">
140          <Annotation Term="OData.Description" String="The available OEM-specific actions for this resource."/>
141          <Annotation Term="OData.LongDescription" String="This property shall contain the available OEM-specific actions for this resource."/>
142        </Property>
143      </ComplexType>
144
145      <ComplexType Name="OemActions">
146        <Annotation Term="OData.AdditionalProperties" Bool="true"/>
147        <Annotation Term="OData.Description" String="The available OEM-specific actions for this resource."/>
148        <Annotation Term="OData.LongDescription" String="This type shall contain the available OEM-specific actions for this resource."/>
149      </ComplexType>
150
151      <EnumType Name="IPAddressType">
152        <Member Name="IPv4">
153          <Annotation Term="OData.Description" String="IPv4 addressing is used for all IP-fields in this object."/>
154        </Member>
155        <Member Name="IPv6">
156          <Annotation Term="OData.Description" String="IPv6 addressing is used for all IP-fields in this object."/>
157        </Member>
158      </EnumType>
159
160      <EnumType Name="AllowType">
161        <Member Name="Allow">
162          <Annotation Term="OData.Description" String="Indicates that traffic that matches the criteria in this resource is permitted."/>
163        </Member>
164        <Member Name="Deny">
165          <Annotation Term="OData.Description" String="Indicates that traffic that matches the criteria in this resource is not permitted."/>
166        </Member>
167      </EnumType>
168
169      <EnumType Name="DataDirection">
170        <Member Name="Ingress">
171          <Annotation Term="OData.Description" String="Indicates that this limit is enforced on packets and bytes received by the network device function."/>
172        </Member>
173        <Member Name="Egress">
174          <Annotation Term="OData.Description" String="Indicates that this limit is enforced on packets and bytes transmitted by the network device function."/>
175        </Member>
176      </EnumType>
177    </Schema>
178
179    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="AllowDeny.v1_0_1">
180      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
181      <Annotation Term="OData.Description" String="This version was created to remove normative language from non-normative descriptions."/>
182      <EntityType Name="AllowDeny" BaseType="AllowDeny.v1_0_0.AllowDeny"/>
183    </Schema>
184
185    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="AllowDeny.v1_0_2">
186      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
187      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
188      <EntityType Name="AllowDeny" BaseType="AllowDeny.v1_0_1.AllowDeny"/>
189    </Schema>
190
191  </edmx:DataServices>
192</edmx:Edmx>
193