components:
  schemas:
    PCIeFunction_v1_5_2_Actions:
      additionalProperties: false
      description: The available actions for this resource.
      properties:
        Oem:
          $ref: '#/components/schemas/PCIeFunction_v1_5_2_OemActions'
          description: The available OEM-specific actions for this resource.
          x-longDescription: This property shall contain the available OEM-specific
            actions for this resource.
          x-versionAdded: v1_1_0
      type: object
      x-longDescription: This type shall contain the available actions for this resource.
      x-patternProperties:
        ^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\.[a-zA-Z_][a-zA-Z0-9_]*$:
          description: This property shall specify a valid odata or Redfish property.
    PCIeFunction_v1_5_2_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: Other class.  The function Class Code 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_5_2_FunctionProtocol:
      enum:
      - PCIe
      - CXL
      type: string
      x-enumDescriptions:
        CXL: A PCIe function supporting CXL extensions.
        PCIe: A standard PCIe function.
    PCIeFunction_v1_5_2_FunctionType:
      enum:
      - Physical
      - Virtual
      type: string
      x-enumDescriptions:
        Physical: A physical PCIe function.
        Virtual: A virtual PCIe function.
    PCIeFunction_v1_5_2_Links:
      additionalProperties: false
      description: The links to other resources that are related to this resource.
      properties:
        CXLLogicalDevice:
          description: The link to the CXL logical device to which this function is
            assigned.
          oneOf:
          - $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          - enum:
            - null
          readOnly: true
          x-longDescription: This property shall contain a link to a resource of type
            `CXLLogicalDevice` that represents the CXL logical device to which this
            PCIe function is assigned.
          x-versionAdded: v1_5_0
        Drives:
          description: An array of links to the drives that this PCIe function produces.
          items:
            $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          readOnly: true
          type: array
          x-longDescription: This property shall contain an array of links to resources
            of type `Drive` that represent the drives associated with this PCIe function.
        Drives@odata.count:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_count
        EthernetInterfaces:
          description: An array of links to the Ethernet interfaces that this PCIe
            function produces.
          items:
            $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          readOnly: true
          type: array
          x-longDescription: This property shall contain an array of links to resources
            of type `EthernetInterface` that represent the network interfaces associated
            with this PCIe function.
        EthernetInterfaces@odata.count:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_count
        MemoryDomains:
          description: An array of links to the memory domains that the PCIe function
            produces.
          items:
            $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          readOnly: true
          type: array
          x-longDescription: This property shall contain an array of links to resources
            of type `MemoryDomain` that represent the memory domains associated with
            this PCIe function.
          x-versionAdded: v1_5_0
        MemoryDomains@odata.count:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_count
        NetworkDeviceFunctions:
          description: An array of links to the network device functions that the
            PCIe function produces.
          items:
            $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          readOnly: true
          type: array
          x-longDescription: This property shall contain an array of links to resources
            of type `NetworkDeviceFunction` that represent the network device functions
            associated with this PCIe function.
          x-versionAdded: v1_2_0
        NetworkDeviceFunctions@odata.count:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_count
        Oem:
          $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Oem
          description: The OEM extension property.
          x-longDescription: This property shall contain the OEM extensions.  All
            values for properties contained in this object shall conform to the Redfish
            Specification-described requirements.
        PCIeDevice:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          description: The link to the PCIe device on which this function resides.
          readOnly: true
          x-longDescription: This property shall contain a link to a resource of type
            `PCIeDevice` that represents the PCIe devices on which this function resides.
        Processor:
          description: The link to a processor that is hosted on this PCIe function.
          oneOf:
          - $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          - enum:
            - null
          readOnly: true
          x-longDescription: This property shall link to a resource of type `Processor`
            that represents the processor that is hosted on this PCIe function.
          x-versionAdded: v1_4_0
        StorageControllers:
          description: An array of links to the storage controllers that this PCIe
            function produces.
          items:
            $ref: http://redfish.dmtf.org/schemas/v1/Storage.yaml#/components/schemas/Storage_StorageController
          readOnly: true
          type: array
          x-longDescription: This property shall contain an array of links to referenceable
            members of type `StorageController` that represent the storage controllers
            associated with this PCIe function.
        StorageControllers@odata.count:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_count
      type: object
      x-longDescription: This Redfish Specification-described type shall contain links
        to resources that are related to but are not contained by, or subordinate
        to, this resource.
      x-patternProperties:
        ^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\.[a-zA-Z_][a-zA-Z0-9_]*$:
          description: This property shall specify a valid odata or Redfish property.
    PCIeFunction_v1_5_2_OemActions:
      additionalProperties: true
      description: The available OEM-specific actions for this resource.
      properties: {}
      type: object
      x-longDescription: This type shall contain the available OEM-specific actions
        for this resource.
      x-patternProperties:
        ^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\.[a-zA-Z_][a-zA-Z0-9_]*$:
          description: This property shall specify a valid odata or Redfish property.
    PCIeFunction_v1_5_2_PCIeFunction:
      additionalProperties: false
      description: The `PCIeFunction` schema describes the properties of a PCIe function
        that is attached to a system.
      properties:
        '@odata.context':
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_context
        '@odata.etag':
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_etag
        '@odata.id':
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_id
        '@odata.type':
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_type
        Actions:
          $ref: '#/components/schemas/PCIeFunction_v1_5_2_Actions'
          description: The available actions for this resource.
          x-longDescription: This property shall contain the available actions for
            this resource.
          x-versionAdded: v1_1_0
        ClassCode:
          description: The Class Code of this PCIe function.
          nullable: true
          pattern: ^0[xX]([0-9A-Fa-f]{2}){3}$
          readOnly: true
          type: string
          x-longDescription: This property shall contain the PCI Class Code, Subclass,
            and Programming Interface of the PCIe device function in the order listed.
        Description:
          oneOf:
          - $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Description
          - enum:
            - null
          readOnly: true
        DeviceClass:
          $ref: '#/components/schemas/PCIeFunction_v1_5_2_DeviceClass'
          description: The class for this PCIe function.
          readOnly: true
          x-longDescription: This property shall contain the device class of the PCIe
            device function, such as storage, network, or memory.
        DeviceId:
          description: The Device ID of this PCIe function.
          nullable: true
          pattern: ^0[xX]([0-9A-Fa-f]{2}){2}$
          readOnly: true
          type: string
          x-longDescription: This property shall contain the PCI Device ID of the
            PCIe device function with the most significant byte shown first.
        Enabled:
          description: An indication of whether this PCIe device function is enabled.
          readOnly: false
          type: boolean
          x-longDescription: The value of this property shall indicate if this PCIe
            device function is enabled.
          x-versionAdded: v1_3_0
        FunctionId:
          description: The PCIe function number.
          format: int64
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: This property shall contain the PCIe function number
            within a given PCIe device.
        FunctionProtocol:
          description: The PCIe function protocol.
          oneOf:
          - $ref: '#/components/schemas/PCIeFunction_v1_5_2_FunctionProtocol'
          - enum:
            - null
          readOnly: true
          x-longDescription: This property shall contain the protocol supported by
            this PCIe function.
          x-versionAdded: v1_5_0
        FunctionType:
          $ref: '#/components/schemas/PCIeFunction_v1_5_2_FunctionType'
          description: The type of the PCIe function.
          readOnly: true
          x-longDescription: This property shall contain 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
          readOnly: true
        Links:
          $ref: '#/components/schemas/PCIeFunction_v1_5_2_Links'
          description: The links to other resources that are related to this resource.
          x-longDescription: This property shall contain links to resources that are
            related to but are not contained by, or subordinate to, this resource.
        Name:
          $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Name
          readOnly: true
        Oem:
          $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Oem
          description: The OEM extension property.
          x-longDescription: This property shall contain the OEM extensions.  All
            values for properties that this object contains shall conform to the Redfish
            Specification-described requirements.
        RevisionId:
          description: The Revision ID of this PCIe function.
          nullable: true
          pattern: ^0[xX]([0-9A-Fa-f]{2}){1}$
          readOnly: true
          type: string
          x-longDescription: This property shall contain the PCI Revision ID of the
            PCIe device function.
        Status:
          $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Status
          description: The status and health of the resource and its subordinate or
            dependent resources.
          x-longDescription: This property shall contain any status or health properties
            of the resource.
        SubsystemId:
          description: The Subsystem ID of this PCIe function.
          nullable: true
          pattern: ^0[xX]([0-9A-Fa-f]{2}){2}$
          readOnly: true
          type: string
          x-longDescription: This property shall contain the PCI Subsystem ID of the
            PCIe device function with the most significant byte shown first.
        SubsystemVendorId:
          description: The Subsystem Vendor ID of this PCIe function.
          nullable: true
          pattern: ^0[xX]([0-9A-Fa-f]{2}){2}$
          readOnly: true
          type: string
          x-longDescription: This property shall contain the PCI Subsystem Vendor
            ID of the PCIe device function with the most significant byte shown first.
        VendorId:
          description: The Vendor ID of this PCIe function.
          nullable: true
          pattern: ^0[xX]([0-9A-Fa-f]{2}){2}$
          readOnly: true
          type: string
          x-longDescription: This property shall contain the PCI Vendor ID of the
            PCIe device function with the most significant byte shown first.
      required:
      - '@odata.id'
      - '@odata.type'
      - Id
      - Name
      type: object
      x-longDescription: This resource shall represent a PCIe function in a Redfish
        implementation.
      x-patternProperties:
        ^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\.[a-zA-Z_][a-zA-Z0-9_]*$:
          description: This property shall specify a valid odata or Redfish property.
title: '#PCIeFunction.v1_5_2.PCIeFunction'
x-copyright: Copyright 2014-2024 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright
x-language: en
x-owningEntity: DMTF
x-release: '2022.3'
