<?xml version="1.0" encoding="UTF-8"?>
<!---->
<!--################################################################################       -->
<!--# Redfish Schema:  JobService v1.1.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-2026 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"/>
    <edmx:Include Namespace="Resource.v1_0_0"/>
  </edmx:Reference>
  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/JobCollection_v1.xml">
    <edmx:Include Namespace="JobCollection"/>
  </edmx:Reference>
  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/LogService_v1.xml">
    <edmx:Include Namespace="LogService"/>
  </edmx:Reference>
  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/JobDocumentCollection_v1.xml">
    <edmx:Include Namespace="JobDocumentCollection"/>
  </edmx:Reference>
  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/JobExecutorCollection_v1.xml">
    <edmx:Include Namespace="JobExecutorCollection"/>
  </edmx:Reference>
  <edmx:DataServices>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="JobService">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="Redfish.Language" String="en"/>

      <EntityType Name="JobService" BaseType="Resource.v1_0_0.Resource" Abstract="true">
        <Annotation Term="OData.Description" String="The `JobService` schema contains properties for scheduling and execution of operations, represents the properties for the job service itself, and has links to jobs managed by the job service."/>
        <Annotation Term="OData.LongDescription" String="This resource shall represent a job service 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="The job service can be updated to enable or disable the service, though some implementations might fail the update operation."/>
          </Record>
        </Annotation>
        <Annotation Term="Capabilities.DeleteRestrictions">
          <Record>
            <PropertyValue Property="Deletable" Bool="false"/>
          </Record>
        </Annotation>
        <Annotation Term="Redfish.Uris">
          <Collection>
            <String>/redfish/v1/JobService</String>
          </Collection>
        </Annotation>
      </EntityType>

      <Action Name="CancelAllJobs" IsBound="true">
        <Annotation Term="OData.Description" String="Cancels all jobs."/>
        <Annotation Term="OData.LongDescription" String="This action shall cancel all jobs.  The service shall transition all jobs to the `Cancelled` state."/>
        <Parameter Name="JobService" Type="JobService.v1_0_0.Actions"/>
        <Annotation Term="Redfish.Revisions">
          <Collection>
            <Record>
              <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Added"/>
              <PropertyValue Property="Version" String="v1_1_0"/>
            </Record>
          </Collection>
        </Annotation>
      </Action>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="JobService.v1_0_0">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="Redfish.Release" String="2018.2"/>

      <EntityType Name="JobService" BaseType="JobService.JobService">
        <Property Name="DateTime" Type="Edm.DateTimeOffset">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The current date and time setting for the job service."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the current date and time setting for the job service."/>
        </Property>
        <Property Name="ServiceEnabled" Type="Edm.Boolean">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="An indication of whether this service is enabled."/>
          <Annotation Term="OData.LongDescription" String="This property shall indicate whether this service is enabled."/>
        </Property>
        <Property Name="ServiceCapabilities" Type="JobService.v1_0_0.JobServiceCapabilities" Nullable="false">
          <Annotation Term="OData.Description" String="The supported capabilities of this job service implementation."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain properties that describe the capabilities or supported features of this implementation of a job service."/>
        </Property>
        <Property Name="Status" Type="Resource.Status" Nullable="false">
          <Annotation Term="OData.Description" String="The status and health of the resource and its subordinate or dependent resources."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain any status or health properties of the resource."/>
        </Property>
        <NavigationProperty Name="Log" Type="LogService.LogService" Nullable="false">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The link to a log service that the job service uses.  This service can be a dedicated log service or a pointer to a log service under another resource, such as a manager."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain a link to a resource of type `LogService` that this job service uses."/>
          <Annotation Term="OData.AutoExpandReferences"/>
        </NavigationProperty>
        <NavigationProperty Name="Jobs" Type="JobCollection.JobCollection" ContainsTarget="true" Nullable="false">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The links to the jobs collection."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain a link to a resource collection of type `JobCollection`."/>
          <Annotation Term="OData.AutoExpandReferences"/>
        </NavigationProperty>
        <Property Name="Actions" Type="JobService.v1_0_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="JobServiceCapabilities">
        <Annotation Term="OData.Description" String="The supported capabilities of this job service implementation."/>
        <Annotation Term="OData.LongDescription" String="This type shall contain properties that describe the capabilities or supported features of this implementation of a job service."/>
        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
        <Property Name="MaxJobs" Type="Edm.Int64">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The maximum number of jobs supported."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the maximum number of jobs supported by the implementation."/>
        </Property>
        <Property Name="MaxSteps" Type="Edm.Int64">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The maximum number of job steps supported."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the maximum number of steps supported by a single job instance."/>
        </Property>
        <Property Name="Scheduling" Type="Edm.Boolean">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="An indication of whether scheduling of jobs is supported."/>
          <Annotation Term="OData.LongDescription" String="This property shall indicate whether the `Schedule` property within the job supports scheduling of jobs."/>
        </Property>
      </ComplexType>

      <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="JobService.v1_0_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="JobService.v1_0_1">
      <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.  It was also created to correct the resource description."/>
      <EntityType Name="JobService" BaseType="JobService.v1_0_0.JobService"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="JobService.v1_0_2">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to update the description of the `Log` property.  It was also created to update descriptions that this schema defines."/>
      <EntityType Name="JobService" BaseType="JobService.v1_0_1.JobService"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="JobService.v1_0_3">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
      <EntityType Name="JobService" BaseType="JobService.v1_0_2.JobService"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="JobService.v1_0_4">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to specify 64-bit integers in OpenAPI."/>
      <EntityType Name="JobService" BaseType="JobService.v1_0_3.JobService"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="JobService.v1_0_5">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
      <EntityType Name="JobService" BaseType="JobService.v1_0_4.JobService"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="JobService.v1_0_6">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was 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."/>
      <EntityType Name="JobService" BaseType="JobService.v1_0_5.JobService"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="JobService.v1_1_0">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="Redfish.Release" String="2025.2"/>

      <EntityType Name="JobService" BaseType="JobService.v1_0_6.JobService">
        <Property Name="ValidationPolicy" Type="JobService.v1_1_0.ValidationPolicy">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The policy for how document-based jobs are validated."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain policy for how document-based jobs are validated."/>
        </Property>
        <NavigationProperty Name="JobDocuments" Type="JobDocumentCollection.JobDocumentCollection" ContainsTarget="true" Nullable="false">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The links to the job document collection."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain a link to a resource collection of type `JobDocumentCollection`.  This property shall only be present if the service supports document-based jobs."/>
          <Annotation Term="OData.AutoExpandReferences"/>
        </NavigationProperty>
        <NavigationProperty Name="JobExecutors" Type="JobExecutorCollection.JobExecutorCollection" ContainsTarget="true" Nullable="false">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The links to the job executor collection."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain a link to a resource collection of type `JobExecutorCollection`.  This property shall only be present if the service supports document-based jobs."/>
          <Annotation Term="OData.AutoExpandReferences"/>
        </NavigationProperty>
      </EntityType>

      <ComplexType Name="JobServiceCapabilities" BaseType="JobService.v1_0_0.JobServiceCapabilities">
        <Property Name="UserSpecifiedJobs" Type="Edm.Boolean">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="An indication of whether user-specified jobs are supported."/>
          <Annotation Term="OData.LongDescription" String="This property shall indicate whether user-specified jobs are supported.  User-specified jobs are jobs that are created by performing an HTTP `POST` operation on the `JobCollection` resource referenced by the `Jobs` property."/>
        </Property>
        <Property Name="DocumentBasedJobs" Type="Edm.Boolean">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="An indication of whether document-based jobs are supported."/>
          <Annotation Term="OData.LongDescription" String="This property shall indicate whether document-based jobs are supported.  Document-based jobs are jobs that are created by performing the `SubmitJob` action on a `JobDocument` resource in the `JobDocumentCollection` resource referenced by the `JobDocuments` property."/>
        </Property>
      </ComplexType>

      <EnumType Name="ValidationPolicy">
        <Member Name="Automatic">
          <Annotation Term="OData.Description" String="Jobs are validated automatically."/>
          <Annotation Term="OData.LongDescription" String="This value shall indicate that jobs are validated automatically.  The `JobState` property of a new job shall contain `Validating` when created with the `SubmitJob` action from the `JobDocument` resource."/>
        </Member>
        <Member Name="Manual">
          <Annotation Term="OData.Description" String="Jobs are validated manually."/>
          <Annotation Term="OData.LongDescription" String="This value shall indicate jobs are validated manually.  The `JobState` property of a new job shall contain `New` when created with the `SubmitJob` action from the `JobDocument` resource and wait for a user to perform the `Validate` action in the `Job` resource."/>
        </Member>
        <Member Name="Bypass">
          <Annotation Term="OData.Description" String="Jobs are not validated."/>
          <Annotation Term="OData.LongDescription" String="This value shall indicate jobs are not validated.  The `JobState` property of a new job shall contain `Pending` when created with the `SubmitJob` action from the `JobDocument` resource."/>
        </Member>
      </EnumType>
    </Schema>

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