components:
  schemas:
    PCIeFunction_v1_0_0_DeviceClass:
      enum:
      - UnclassifiedDevice
      - MassStorageController
      - NetworkController
      - DisplayController
      - MultimediaController
      - MemoryController
      - Bridge
      - CommunicationController
      - GenericSystemPeripheral
      - InputDeviceController
      - DockingStation
      - Processor
      - SerialBusController
      - WirelessController
      - IntelligentController
      - SatelliteCommunicationsController
      - EncryptionController
      - SignalProcessingController
      - ProcessingAccelerators
      - NonEssentialInstrumentation
      - Coprocessor
      - UnassignedClass
      - Other
      type: string
      x-enumDescriptions:
        Bridge: A bridge
        CommunicationController: A communication controller
        Coprocessor: A coprocessor
        DisplayController: A display controller
        DockingStation: A docking station
        EncryptionController: An encryption controller
        GenericSystemPeripheral: A generic system peripheral
        InputDeviceController: An input device controller
        IntelligentController: An intelligent controller
        MassStorageController: A mass storage controller
        MemoryController: A memory controller
        MultimediaController: A multimedia controller
        NetworkController: A network controller
        NonEssentialInstrumentation: A non-essential instrumentation
        Other: A other class. The function Device Class Id needs to be verified
        ProcessingAccelerators: A processing accelerators
        Processor: A processor
        SatelliteCommunicationsController: A satellite communications controller
        SerialBusController: A serial bus controller
        SignalProcessingController: A signal processing controller
        UnassignedClass: An unassigned class
        UnclassifiedDevice: An unclassified device
        WirelessController: A wireless controller
    PCIeFunction_v1_0_0_FunctionType:
      enum:
      - Physical
      - Virtual
      type: string
      x-enumDescriptions:
        Physical: A physical PCie function
        Virtual: A virtual PCIe function
    PCIeFunction_v1_0_0_PCIeFunction:
      additionalProperties: false
      description: This is the schema definition for the PCIeFunction resource.  It
        represents the properties of a PCIeFunction attached to a System.
      properties:
        '@odata.context':
          $ref: http://redfish.dmtf.org/schemas/v1/odata.4.0.0.yaml#/components/schemas/odata_4_0_0_context
        '@odata.id':
          $ref: http://redfish.dmtf.org/schemas/v1/odata.4.0.0.yaml#/components/schemas/odata_4_0_0_id
        '@odata.type':
          $ref: http://redfish.dmtf.org/schemas/v1/odata.4.0.0.yaml#/components/schemas/odata_4_0_0_type
        ClassCode:
          description: The Class Code of this PCIe function.
          nullable: true
          pattern: /0[xX](([a-fA-F]|[0-9]){2}){3}
          type: string
          x-longDescription: The value of this property shall be the PCI Class Code
            of the PCIe device function.
        Description:
          $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Description
          nullable: true
        DeviceClass:
          $ref: '#/components/schemas/PCIeFunction_v1_0_0_DeviceClass'
          description: The class for this PCIe Function.
          readOnly: true
          x-longDescription: The value of this property shall be the device class
            of the PCIe device function such as Storage, Network, Memory etc.
        DeviceId:
          description: The Device ID of this PCIe function.
          nullable: true
          pattern: /0[xX](([a-fA-F]|[0-9]){2}){2}
          type: string
          x-longDescription: The value of this property shall be the PCI Device ID
            of the PCIe device function.
        FunctionId:
          description: The the PCIe Function identifier.
          nullable: true
          readOnly: true
          type: number
          x-longDescription: The value of this property shall the PCIe device function
            number within a given PCIe device.
        FunctionType:
          $ref: '#/components/schemas/PCIeFunction_v1_0_0_FunctionType'
          description: The type of the PCIe Function.
          readOnly: true
          x-longDescription: The value of this property shall be the function type
            of the PCIe device function such as Physical or Virtual.
        Id:
          $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Id
        Links:
          additionalProperties: false
          description: The links object contains the links to other resources that
            are related to this resource.
          properties:
            Drives:
              description: An array of references to the drives which the PCIe device
                produces
              items:
                $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
              readOnly: true
              type: array
              x-longDescription: The value of this property shall reference a resource
                of type Drive that represents the storage drives associated with this
                resource.
            Drives@odata.count:
              $ref: http://redfish.dmtf.org/schemas/v1/odata.4.0.0.yaml#/components/schemas/odata_4_0_0_count
            Drives@odata.navigationLink:
              format: uri
              type: string
            EthernetInterfaces:
              description: An array of references to the ethernet interfaces which
                the PCIe device produces
              items:
                $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
              readOnly: true
              type: array
              x-longDescription: The value of this property shall reference a resource
                of type EthernetInterface that represents the network interfaces associated
                with this resource.
            EthernetInterfaces@odata.count:
              $ref: http://redfish.dmtf.org/schemas/v1/odata.4.0.0.yaml#/components/schemas/odata_4_0_0_count
            EthernetInterfaces@odata.navigationLink:
              format: uri
              type: string
            Oem:
              $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Oem
              description: Oem extension object.
              x-longDescription: This object represents the Oem property.  All values
                for resources described by this schema shall comply to the requirements
                as described in the Redfish specification.
            PCIeDevice:
              $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
              description: A reference to the PCIeDevice on which this function resides.
              nullable: true
              readOnly: true
              x-longDescription: The value of this property shall be a reference to
                the resource that this function is a part of and shall reference a
                resource of type PCIeDevice.
            StorageControllers:
              description: An array of references to the storage controllers which
                the PCIe device produces
              items:
                $ref: http://redfish.dmtf.org/schemas/v1/Storage.v1_0_0.yaml#/components/schemas/Storage_v1_0_0_StorageController
              readOnly: true
              type: array
              x-longDescription: The value of this property shall reference a resource
                of type StorageController that represents the storage controllers
                associated with this resource.
            StorageControllers@odata.count:
              $ref: http://redfish.dmtf.org/schemas/v1/odata.4.0.0.yaml#/components/schemas/odata_4_0_0_count
            StorageControllers@odata.navigationLink:
              format: uri
              type: string
          readOnly: true
          type: object
          x-patternProperties:
            ^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\.[a-zA-Z_][a-zA-Z0-9_.]+$:
              description: This property shall specify a valid odata or Redfish property.
        Name:
          $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Name
        Oem:
          $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Oem
          description: This is the manufacturer/provider specific extension moniker
            used to divide the Oem object into sections.
          x-longDescription: The value of this string shall be of the format for the
            reserved word *Oem*.
        RevisionId:
          description: The Revision ID of this PCIe function.
          nullable: true
          pattern: /0[xX](([a-fA-F]|[0-9]){2}){1}
          type: string
          x-longDescription: The value of this property shall be the PCI Revision
            ID of the PCIe device function.
        Status:
          $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Status
          nullable: true
        SubsystemId:
          description: The Subsystem ID of this PCIe function.
          nullable: true
          pattern: /0[xX](([a-fA-F]|[0-9]){2}){2}
          type: string
          x-longDescription: The value of this property shall be the PCI Subsystem
            ID of the PCIe device function.
        SubsystemVendorId:
          description: The Subsystem Vendor ID of this PCIe function.
          nullable: true
          pattern: /0[xX](([a-fA-F]|[0-9]){2}){2}
          type: string
          x-longDescription: The value of this property shall be the PCI Subsystem
            Vendor ID of the PCIe device function.
        VendorId:
          description: The Vendor ID of this PCIe function.
          nullable: true
          pattern: /0[xX](([a-fA-F]|[0-9]){2}){2}
          type: string
          x-longDescription: The value of this property shall be the PCI Vendor ID
            of the PCIe device function.
      required:
      - Id
      - Name
      type: object
      x-patternProperties:
        ^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\.[a-zA-Z_][a-zA-Z0-9_.]+$:
          description: This property shall specify a valid odata or Redfish property.
title: '#PCIeFunction.v1_0_0.PCIeFunction'
x-copyright: Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For
  the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright
