1<?xml version="1.0" encoding="UTF-8"?>
2<!---->
3<!--################################################################################       -->
4<!--# Redfish Schema:  LicenseService v1.1.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-2024 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://redfish.dmtf.org/schemas/v1/RedfishExtensions_v1.xml">
21    <edmx:Include Namespace="RedfishExtensions.v1_0_0" Alias="Redfish"/>
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/LicenseCollection_v1.xml">
28    <edmx:Include Namespace="LicenseCollection"/>
29  </edmx:Reference>
30  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Manager_v1.xml">
31    <edmx:Include Namespace="Manager"/>
32  </edmx:Reference>
33
34  <edmx:DataServices>
35
36    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="LicenseService">
37      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
38      <Annotation Term="Redfish.Language" String="en"/>
39
40      <EntityType Name="LicenseService" BaseType="Resource.v1_0_0.Resource" Abstract="true">
41        <Annotation Term="OData.Description" String="The `LicenseService` schema describes the license service and the properties for the service itself with a link to the collection of licenses.  The license service also provides methods for installing licenses in a Redfish service."/>
42        <Annotation Term="OData.LongDescription" String="This resource shall represent a license service and the properties that affect the service itself for a Redfish implementation."/>
43        <Annotation Term="Capabilities.InsertRestrictions">
44          <Record>
45            <PropertyValue Property="Insertable" Bool="false"/>
46          </Record>
47        </Annotation>
48        <Annotation Term="Capabilities.UpdateRestrictions">
49          <Record>
50            <PropertyValue Property="Updatable" Bool="true"/>
51          </Record>
52        </Annotation>
53        <Annotation Term="Capabilities.DeleteRestrictions">
54          <Record>
55            <PropertyValue Property="Deletable" Bool="false"/>
56          </Record>
57        </Annotation>
58        <Annotation Term="Redfish.Uris">
59          <Collection>
60            <String>/redfish/v1/LicenseService</String>
61          </Collection>
62        </Annotation>
63      </EntityType>
64
65      <Action Name="Install" IsBound="true">
66        <Annotation Term="OData.Description" String="This action installs one or more licenses from a remote file."/>
67        <Annotation Term="OData.LongDescription" String="This action shall install one or more licenses from a remote file.  The service may update an existing `License` resource.  The `Location` header in the response shall contain the URI of the new or updated `License` resource."/>
68        <Parameter Name="LicenseService" Type="LicenseService.v1_0_0.Actions"/>
69        <Parameter Name="LicenseFileURI" Type="Edm.String" Nullable="false">
70          <Annotation Term="OData.Description" String="The URI of the license file to install."/>
71          <Annotation Term="OData.LongDescription" String="This parameter shall contain an RFC3986-defined URI that links to a file that the license service retrieves to install the license in that file.  This URI should contain a scheme that describes the transfer protocol.  If the `TransferProtocol` parameter is absent or not supported, and a transfer protocol is not specified by a scheme contained within this URI, the service shall use HTTP to get the file."/>
72          <Annotation Term="OData.IsURL"/>
73        </Parameter>
74        <Parameter Name="TransferProtocol" Type="LicenseService.v1_0_0.TransferProtocolType">
75          <Annotation Term="OData.Description" String="The network protocol that the license service uses to retrieve the license file located at the URI provided in `LicenseFileURI`.  This parameter is ignored if the URI provided in `LicenseFileURI` contains a scheme."/>
76          <Annotation Term="OData.LongDescription" String="This parameter shall contain the network protocol that the license service shall use to retrieve the license file located at the `LicenseFileURI`.  Services should ignore this parameter if the URI provided in `LicenseFileURI` contains a scheme.  If this parameter is not provided or supported, and if a transfer protocol is not specified by a scheme contained within this URI, the service shall use HTTP to retrieve the file."/>
77        </Parameter>
78        <Parameter Name="Username" Type="Edm.String">
79          <Annotation Term="OData.Description" String="The username to access the URI specified by the `LicenseFileURI` parameter."/>
80          <Annotation Term="OData.LongDescription" String="This parameter shall contain the username to access the URI specified by the `LicenseFileURI` parameter."/>
81        </Parameter>
82        <Parameter Name="Password" Type="Edm.String">
83          <Annotation Term="OData.Description" String="The password to access the URI specified by the `LicenseFileURI` parameter."/>
84          <Annotation Term="OData.LongDescription" String="This parameter shall contain the password to access the URI specified by the `LicenseFileURI` parameter."/>
85        </Parameter>
86        <Parameter Name="AuthorizedDevices" Type="Collection(Resource.Item)">
87          <Annotation Term="OData.Description" String="An array of links to the devices to be authorized by the license."/>
88          <Annotation Term="OData.LongDescription" String="This parameter shall contain an array of links to the devices to be authorized by the license.  Clients can provide this parameter when installing a license to apply the license to specific devices.  If not provided when installing a license, the service may determine the devices to which the license applies.  This parameter shall not be present if the `AuthorizationScope` property contains the value `Service`."/>
89          <Annotation Term="Redfish.Revisions">
90            <Collection>
91              <Record>
92                <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Added"/>
93                <PropertyValue Property="Version" String="v1_1_0"/>
94              </Record>
95            </Collection>
96          </Annotation>
97        </Parameter>
98        <Parameter Name="TargetServices" Type="Collection(Manager.Manager)">
99          <Annotation Term="OData.Description" String="An array of links to the managers where the license will be installed."/>
100          <Annotation Term="OData.LongDescription" String="This property shall contain an array of links to resources of type `Manager` that represent the services where the license will be installed, such as remote Redfish services.  This parameter shall only be present in aggregators when the `AuthorizationScope` property contains `Service` or `Capacity`."/>
101          <Annotation Term="Redfish.Revisions">
102            <Collection>
103              <Record>
104                <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Added"/>
105                <PropertyValue Property="Version" String="v1_1_0"/>
106              </Record>
107            </Collection>
108          </Annotation>
109        </Parameter>
110      </Action>
111    </Schema>
112
113    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="LicenseService.v1_0_0">
114      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
115      <Annotation Term="Redfish.Release" String="2021.3"/>
116
117      <EntityType Name="LicenseService" BaseType="LicenseService.LicenseService">
118        <Property Name="ServiceEnabled" Type="Edm.Boolean">
119          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
120          <Annotation Term="OData.Description" String="An indication of whether this service is enabled."/>
121          <Annotation Term="OData.LongDescription" String="This property shall indicate whether this service is enabled."/>
122        </Property>
123        <Property Name="LicenseExpirationWarningDays" Type="Edm.Int64">
124          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
125          <Annotation Term="OData.Description" String="The number of days prior to a license expiration that a warning message is sent.  A value of zero indicates no warning message is sent."/>
126          <Annotation Term="OData.LongDescription" String="This property shall contain the number of days prior to a license expiration that the service shall send the `DaysBeforeExpiration` message from the License Message Registry at least once.  A value of zero shall indicate that no warning messages are sent prior to license expiration."/>
127        </Property>
128        <Property Name="Actions" Type="LicenseService.v1_0_0.Actions" Nullable="false">
129          <Annotation Term="OData.Description" String="The available actions for this resource."/>
130          <Annotation Term="OData.LongDescription" String="This property shall contain the available actions for this resource."/>
131        </Property>
132        <NavigationProperty Name="Licenses" Type="LicenseCollection.LicenseCollection" ContainsTarget="true" Nullable="false">
133          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
134          <Annotation Term="OData.Description" String="The link to the collection of licenses."/>
135          <Annotation Term="OData.LongDescription" String="This property shall contain a link to a resource collection of type `LicenseCollection`.  When installing a license with a `POST` operation to this collection, the service may update an existing License resource instead of creating a new resource.  In these cases, the service shall respond with the HTTP `200 OK` status code or HTTP `204 No Content` status code and the `Location` header in the response shall contain the URI of the updated License resource."/>
136          <Annotation Term="OData.AutoExpandReferences"/>
137        </NavigationProperty>
138      </EntityType>
139
140      <ComplexType Name="Actions">
141        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
142        <Annotation Term="OData.Description" String="The available actions for this resource."/>
143        <Annotation Term="OData.LongDescription" String="This type shall contain the available actions for this resource."/>
144        <Property Name="Oem" Type="LicenseService.v1_0_0.OemActions" Nullable="false">
145          <Annotation Term="OData.Description" String="The available OEM-specific actions for this resource."/>
146          <Annotation Term="OData.LongDescription" String="This property shall contain the available OEM-specific actions for this resource."/>
147        </Property>
148      </ComplexType>
149
150      <ComplexType Name="OemActions">
151        <Annotation Term="OData.AdditionalProperties" Bool="true"/>
152        <Annotation Term="OData.Description" String="The available OEM-specific actions for this resource."/>
153        <Annotation Term="OData.LongDescription" String="This type shall contain the available OEM-specific actions for this resource."/>
154      </ComplexType>
155
156      <EnumType Name="TransferProtocolType">
157        <Member Name="CIFS">
158          <Annotation Term="OData.Description" String="Common Internet File System (CIFS)."/>
159        </Member>
160        <Member Name="FTP">
161          <Annotation Term="OData.Description" String="File Transfer Protocol (FTP)."/>
162        </Member>
163        <Member Name="SFTP">
164          <Annotation Term="OData.Description" String="SSH File Transfer Protocol (SFTP)."/>
165        </Member>
166        <Member Name="HTTP">
167          <Annotation Term="OData.Description" String="Hypertext Transfer Protocol (HTTP)."/>
168        </Member>
169        <Member Name="HTTPS">
170          <Annotation Term="OData.Description" String="Hypertext Transfer Protocol Secure (HTTPS)."/>
171        </Member>
172        <Member Name="SCP">
173          <Annotation Term="OData.Description" String="Secure Copy Protocol (SCP)."/>
174        </Member>
175        <Member Name="TFTP">
176          <Annotation Term="OData.Description" String="Trivial File Transfer Protocol (TFTP)."/>
177        </Member>
178        <Member Name="OEM">
179          <Annotation Term="OData.Description" String="A manufacturer-defined protocol."/>
180        </Member>
181        <Member Name="NFS">
182          <Annotation Term="OData.Description" String="Network File System (NFS)."/>
183        </Member>
184      </EnumType>
185    </Schema>
186
187    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="LicenseService.v1_0_1">
188      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
189      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
190      <EntityType Name="LicenseService" BaseType="LicenseService.v1_0_0.LicenseService"/>
191    </Schema>
192
193    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="LicenseService.v1_0_2">
194      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
195      <Annotation Term="OData.Description" String="This version was created to correct the description for the `SFTP` value to match IETF documentation.  It was also created to force the regeneration of OpenAPI schemas to properly express nullable properties with external references.  It was also created to correct various typographical errors."/>
196      <EntityType Name="LicenseService" BaseType="LicenseService.v1_0_1.LicenseService"/>
197    </Schema>
198
199    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="LicenseService.v1_1_0">
200      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
201      <Annotation Term="Redfish.Release" String="2022.3"/>
202      <Annotation Term="OData.Description" String="This version was created to add the `AuthorizedDevices` and `TargetServices` parameters to the `Install` action."/>
203
204      <EntityType Name="LicenseService" BaseType="LicenseService.v1_0_0.LicenseService"/>
205    </Schema>
206
207    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="LicenseService.v1_1_1">
208      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
209      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
210      <EntityType Name="LicenseService" BaseType="LicenseService.v1_1_0.LicenseService"/>
211    </Schema>
212
213    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="LicenseService.v1_1_2">
214      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
215      <Annotation Term="OData.Description" String="This version was created to correct the description for the `SFTP` value to match IETF documentation.  It was also created to force the regeneration of OpenAPI schemas to properly express nullable properties with external references.  It was also created to correct various typographical errors."/>
216      <EntityType Name="LicenseService" BaseType="LicenseService.v1_1_1.LicenseService"/>
217    </Schema>
218
219  </edmx:DataServices>
220</edmx:Edmx>
221