components:
  schemas:
    PCIeDevice_v1_21_0_Actions:
      additionalProperties: false
      description: The available actions for this resource.
      properties:
        Oem:
          $ref: '#/components/schemas/PCIeDevice_v1_21_0_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.
    PCIeDevice_v1_21_0_CXLDevice:
      additionalProperties: false
      description: The CXL-specific properties of a PCIe device.
      properties:
        CapableProtocolVersions:
          description: An array of the CXL specification revisions supported by this
            device.
          items:
            oneOf:
            - $ref: '#/components/schemas/PCIeDevice_v1_21_0_CXLProtocolVersion'
            - enum:
              - null
          readOnly: true
          type: array
          x-longDescription: This property shall contain an array of the CXL specification
            revisions that this device supports.
          x-versionAdded: v1_18_0
        CurrentProtocolVersion:
          description: The revision of the CXL specification in use by this device.
          oneOf:
          - $ref: '#/components/schemas/PCIeDevice_v1_21_0_CXLProtocolVersion'
          - enum:
            - null
          readOnly: true
          x-longDescription: This property shall contain the negotiated CXL specification
            revision in use by this device.
          x-versionAdded: v1_18_0
        DeviceType:
          description: The CXL device type.
          oneOf:
          - $ref: '#/components/schemas/PCIeDevice_v1_21_0_CXLDeviceType'
          - enum:
            - null
          readOnly: true
          x-longDescription: This property shall contain the CXL device type.
          x-versionAdded: v1_11_0
        DynamicCapacity:
          description: The CXL dynamic capacity device (DCD) information for this
            CXL device.
          oneOf:
          - $ref: '#/components/schemas/PCIeDevice_v1_21_0_CXLDynamicCapacity'
          - enum:
            - null
          x-longDescription: This property shall contain the CXL dynamic capacity
            device (DCD) information for this CXL device.
          x-versionAdded: v1_12_0
        EgressPortCongestionSupport:
          description: Indicates whether the CXL device supports egress port congestion
            management.
          nullable: true
          readOnly: true
          type: boolean
          x-longDescription: This property shall indicate whether the CXL device supports
            the CXL Specification-defined 'Egress Port Congestion' mechanism.
          x-versionAdded: v1_11_0
        MaxNumberLogicalDevices:
          description: The maximum number of logical devices supported by this CXL
            device.
          format: int64
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: This property shall contain the maximum number of logical
            devices supported by this CXL device.
          x-versionAdded: v1_11_0
        TemporaryThroughputReductionEnabled:
          description: Indicates whether temporary throughput reduction is enabled.
          nullable: true
          readOnly: false
          type: boolean
          x-longDescription: This property shall indicate whether the CXL Specification-defined
            'Temporary Throughput Reduction' mechanism is enabled on this device.
          x-versionAdded: v1_14_0
        TemporaryThroughputReductionSupported:
          description: Indicates whether temporary throughput reduction is supported.
          nullable: true
          readOnly: true
          type: boolean
          x-longDescription: This property shall indicate whether the CXL Specification-defined
            'Temporary Throughput Reduction' mechanism is supported on this device.
          x-versionAdded: v1_14_0
        ThroughputReductionSupport:
          deprecated: true
          description: Indicates whether the CXL device supports throughput reduction.
          nullable: true
          readOnly: true
          type: boolean
          x-deprecatedReason: This property has been deprecated in favor of `TemporaryThroughputReductionSupported`
            to align with the CXL Specification-defined FMAPI command.
          x-longDescription: This property shall indicate whether the CXL device supports
            the CXL Specification-defined 'Throughput Reduction' mechanism.
          x-versionAdded: v1_11_0
          x-versionDeprecated: v1_14_0
        Timestamp:
          description: The timestamp set on the CXL device.
          format: date-time
          readOnly: false
          type: string
          x-longDescription: This property shall contain the timestamp set on the
            CXL device.
          x-versionAdded: v1_11_0
      type: object
      x-longDescription: This type shall contain CXL-specific properties of a PCIe
        device.
      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.
    PCIeDevice_v1_21_0_CXLDeviceType:
      enum:
      - Type1
      - Type2
      - Type3
      type: string
      x-enumDescriptions:
        Type1: A CXL Type 1 device.
        Type2: A CXL Type 2 device.
        Type3: A CXL Type 3 device.
      x-enumLongDescriptions:
        Type1: This value shall indicate a CXL Specification-defined Type 1 device.
        Type2: This value shall indicate a CXL Specification-defined Type 2 device.
        Type3: This value shall indicate a CXL Specification-defined Type 3 device.
    PCIeDevice_v1_21_0_CXLDynamicCapacity:
      additionalProperties: false
      description: The CXL dynamic capacity device (DCD) information for a CXL device.
      properties:
        AddCapacityPoliciesSupported:
          description: The set of selection policies supported by the CXL device when
            dynamic capacity is added.
          items:
            oneOf:
            - $ref: '#/components/schemas/PCIeDevice_v1_21_0_CXLDynamicCapacityPolicies'
            - enum:
              - null
          readOnly: true
          type: array
          x-longDescription: This property shall contain the CXL Specification-defined
            dynamic capacity policies that are supported by this CXL device when dynamic
            capacity is added.
          x-versionAdded: v1_12_0
        MaxDynamicCapacityRegions:
          description: The maximum number of dynamic capacity memory regions available
            per host from this CXL device.
          format: int64
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: This property shall contain the maximum number of dynamic
            capacity memory regions available per host from this CXL device.
          x-versionAdded: v1_12_0
        MaxHosts:
          description: The maximum number of hosts supported by this CXL device.
          format: int64
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: This property shall contain the maximum number of hosts
            supported by this CXL device.
          x-versionAdded: v1_12_0
        MemoryBlockSizesSupported:
          description: The set of memory block sizes supported by memory regions in
            this CXL device.
          items:
            oneOf:
            - $ref: '#/components/schemas/PCIeDevice_v1_21_0_CXLRegionBlockSizes'
            - enum:
              - null
          type: array
          x-longDescription: This property shall contain the set of memory block sizes
            supported by memory regions in this CXL device.
          x-versionAdded: v1_12_0
        ReleaseCapacityPoliciesSupported:
          description: The set of removal policies supported by the CXL device when
            dynamic capacity is released.
          items:
            oneOf:
            - $ref: '#/components/schemas/PCIeDevice_v1_21_0_CXLDynamicCapacityPolicies'
            - enum:
              - null
          readOnly: true
          type: array
          x-longDescription: This property shall contain the CXL Specification-defined
            dynamic capacity policies that are supported by this CXL device when dynamic
            capacity is released.
          x-versionAdded: v1_12_0
        SanitizationOnReleaseSupport:
          description: An indication of whether the sanitization on capacity release
            is configurable for the memory regions in this CXL device.
          items:
            oneOf:
            - $ref: '#/components/schemas/PCIeDevice_v1_21_0_CXLRegionSanitization'
            - enum:
              - null
          type: array
          x-longDescription: This property shall indicate whether the sanitization
            on capacity release is configurable for the memory regions in this CXL
            device.
          x-versionAdded: v1_12_0
        TotalDynamicCapacityMiB:
          description: The total memory media capacity of the CXL device available
            for dynamic assignment in mebibytes (MiB).
          format: int64
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: This property shall contain the total memory media capacity
            of the CXL device available for dynamic assignment in mebibytes (MiB).
          x-units: MiBy
          x-versionAdded: v1_12_0
      type: object
      x-longDescription: This type shall contain the CXL dynamic capacity device (DCD)
        information for a CXL device.
      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.
    PCIeDevice_v1_21_0_CXLDynamicCapacityPolicies:
      enum:
      - Free
      - Contiguous
      - Prescriptive
      - TagBased
      type: string
      x-enumDescriptions:
        Contiguous: Contiguous add capacity policy.
        Free: Free add capacity policy.
        Prescriptive: Prescriptive add or release policy.
        TagBased: Tag-based release policy.
      x-enumLongDescriptions:
        Contiguous: This value shall indicate the CXL Specification-defined contiguous
          add capacity policy.
        Free: This value shall indicate the CXL Specification-defined free add capacity
          policy.
        Prescriptive: This value shall indicate the CXL Specification-defined prescriptive
          add or release policy.
        TagBased: This value shall indicate the CXL Specification-defined tag-based
          release policy.
    PCIeDevice_v1_21_0_CXLProtocolVersion:
      enum:
      - CXL1_1
      - CXL2_0
      - CXL3_0
      - CXL3_1
      - CXL3_2
      type: string
      x-enumDescriptions:
        CXL1_1: CXL protocol specification revision 1.1.
        CXL2_0: CXL protocol specification revision 2.0.
        CXL3_0: CXL protocol specification revision 3.0.
        CXL3_1: CXL protocol specification revision 3.1.
        CXL3_2: CXL protocol specification revision 3.2.
    PCIeDevice_v1_21_0_CXLRegionBlockSizes:
      additionalProperties: false
      description: Set of memory block sizes supported by memory region in the CXL
        device.
      properties:
        BlockSizeMiB:
          description: Set of memory block sizes supported by this memory region defined
            in mebibytes (MiB).
          items:
            format: int64
            nullable: true
            type: integer
          readOnly: true
          type: array
          x-longDescription: This property shall contain the set of memory block sizes
            supported by this memory region, with units in MiB.
          x-units: MiBy
          x-versionAdded: v1_12_0
        RegionNumber:
          description: The memory region number.
          format: int64
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: This property shall contain the memory region number.
          x-versionAdded: v1_12_0
      type: object
      x-longDescription: This type shall contain the set of memory block sizes supported
        by memory region in the dynamic capacity device.
      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.
    PCIeDevice_v1_21_0_CXLRegionSanitization:
      additionalProperties: false
      description: An indication of whether the sanitization on capacity release is
        configurable for the memory region.
      properties:
        RegionNumber:
          description: The memory region number.
          format: int64
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: This property shall contain the memory region number.
          x-versionAdded: v1_12_0
        SanitizationOnReleaseSupported:
          description: An indication of whether the sanitization on capacity release
            is configurable for this memory region.
          nullable: true
          readOnly: true
          type: boolean
          x-longDescription: This property shall indicate whether the sanitization
            on capacity release is configurable for this memory region.
          x-versionAdded: v1_12_0
      type: object
      x-longDescription: This property shall indicate whether the sanitization on
        capacity release is configurable for the memory region.
      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.
    PCIeDevice_v1_21_0_DeviceType:
      enum:
      - SingleFunction
      - MultiFunction
      - Simulated
      - Retimer
      type: string
      x-enumDescriptions:
        MultiFunction: A multi-function PCIe device.
        Retimer: A PCIe retimer device.
        Simulated: A PCIe device that is not currently physically present, but is
          being simulated by the PCIe infrastructure.
        SingleFunction: A single-function PCIe device.
      x-enumVersionAdded:
        Retimer: v1_10_0
    PCIeDevice_v1_21_0_LaneSplittingType:
      enum:
      - None
      - Bridged
      - Bifurcated
      type: string
      x-enumDescriptions:
        Bifurcated: The slot is bifurcated to split the lanes with associated devices.
        Bridged: The slot has a bridge to share the lanes with associated devices.
        None: The slot has no lane splitting.
    PCIeDevice_v1_21_0_Links:
      additionalProperties: false
      description: The links to other resources that are related to this resource.
      properties:
        Chassis:
          description: An array of links to the chassis in which the PCIe device is
            contained.
          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 `Chassis` that represent the physical containers associated with
            this resource.
        Chassis@odata.count:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_count
        ConnectedPCIePorts:
          description: An array of links to the remote PCIe ports to which this device
            is connected.
          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 `Port` that represent the remote PCIe ports to which this device
            is connected.
          x-versionAdded: v1_19_0
        ConnectedPCIePorts@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.
        PCIeFunctions:
          deprecated: true
          description: An array of links to PCIe functions exposed by this device.
          items:
            $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          readOnly: true
          type: array
          x-deprecatedReason: This property has been deprecated in favor of the `PCIeFunctions`
            property in the root that provides a link to a resource collection.
          x-longDescription: This property shall contain an array of links to resources
            of type `PCIeFunction` that represent the PCIe functions this device exposes.
          x-versionDeprecated: v1_4_0
        PCIeFunctions@odata.count:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_count
        Processors:
          description: An array of links to the processors that are directly connected
            or directly bridged to this PCIe device.
          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 `Processor` that represent processors that are directly connected
            or directly bridged to this PCIe device.
          x-versionAdded: v1_12_0
        Processors@odata.count:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_count
        Switch:
          description: The link to a switch that is associated with this PCIe device.
          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
            `Switch` that is associated with this PCIe device.
          x-versionAdded: v1_10_0
      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.
    PCIeDevice_v1_21_0_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.
    PCIeDevice_v1_21_0_PCIeDevice:
      additionalProperties: false
      description: The `PCIeDevice` schema describes the properties of a PCIe device
        that is attached to a system.  It also describes the location, such as a slot,
        socket, or bay, where a unit can be installed, by populating a resource instance
        with an absent state if a unit is not present.
      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/PCIeDevice_v1_21_0_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
        Assembly:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          description: The link to the assembly associated with this PCIe device.
          readOnly: true
          x-longDescription: This property shall contain a link to a resource of type
            `Assembly`.
          x-versionAdded: v1_2_0
        AssetTag:
          description: The user-assigned asset tag for this PCIe device.
          nullable: true
          readOnly: false
          type: string
          x-longDescription: This property shall contain an identifying string that
            tracks the PCIe device for inventory purposes.
        CXLDevice:
          description: The CXL-specific properties of this PCIe device.
          oneOf:
          - $ref: '#/components/schemas/PCIeDevice_v1_21_0_CXLDevice'
          - enum:
            - null
          x-longDescription: This property shall contain CXL-specific properties of
            this PCIe device.
          x-versionAdded: v1_11_0
        CXLLogicalDevices:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          description: The link to the collection of CXL logical devices within this
            PCIe device.
          readOnly: true
          x-longDescription: This property shall contain a link to a resource collection
            of type `CXLLogicalDeviceCollection`.
          x-versionAdded: v1_11_0
        Description:
          oneOf:
          - $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Description
          - enum:
            - null
          readOnly: true
        DeviceType:
          $ref: '#/components/schemas/PCIeDevice_v1_21_0_DeviceType'
          description: The device type for this PCIe device.
          readOnly: true
          x-longDescription: This property shall contain the device type of the PCIe
            device such as `SingleFunction` or `MultiFunction`.
        EnvironmentMetrics:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          description: The link to the environment metrics for this PCIe device.
          readOnly: true
          x-longDescription: This property shall contain a link to a resource of type
            `EnvironmentMetrics` that specifies the environment metrics for this PCIe
            device.
          x-versionAdded: v1_7_0
        FirmwareVersion:
          description: The version of firmware for this PCIe device.
          nullable: true
          readOnly: true
          type: string
          x-longDescription: This property shall contain the firmware version of the
            PCIe device.
        Id:
          $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Id
          readOnly: true
        Links:
          $ref: '#/components/schemas/PCIeDevice_v1_21_0_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.
        LocationIndicatorActive:
          description: An indicator allowing an operator to physically locate this
            resource.
          nullable: true
          readOnly: false
          type: boolean
          x-longDescription: This property shall contain the state of the indicator
            used to physically identify or locate this resource.
          x-versionAdded: v1_12_0
        Manufacturer:
          description: The manufacturer of this PCIe device.
          nullable: true
          readOnly: true
          type: string
          x-longDescription: This property shall contain the name of the organization
            responsible for producing the PCIe device.  This organization may be the
            entity from whom the PCIe device is purchased, but this is not necessarily
            true.
        Model:
          description: The model number for the PCIe device.
          nullable: true
          readOnly: true
          type: string
          x-longDescription: This property shall contain the name by which the manufacturer
            generally refers to the PCIe device.
        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.
        PCIeFunctions:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          description: The link to the collection of PCIe functions associated with
            this PCIe device.
          readOnly: true
          x-longDescription: This property shall contain a link to a resource collection
            of type `PCIeFunctionCollection`.  This property should not be present
            if `DeviceType` contains `Retimer`.
          x-versionAdded: v1_4_0
        PCIeInterface:
          $ref: '#/components/schemas/PCIeDevice_v1_21_0_PCIeInterface'
          description: The PCIe interface details for this PCIe device.
          x-longDescription: This property shall contain details for the PCIe interface
            that connects this PCIe device to its host or upstream switch.
          x-versionAdded: v1_3_0
        PartNumber:
          description: The part number for this PCIe device.
          nullable: true
          readOnly: true
          type: string
          x-longDescription: This property shall contain a part number assigned by
            the organization that is responsible for producing or manufacturing the
            PCIe device.
        ReadyToRemove:
          description: An indication of whether the PCIe device is prepared by the
            system for removal.
          nullable: true
          readOnly: false
          type: boolean
          x-longDescription: This property shall indicate whether the PCIe device
            is ready for removal.  Setting the value to `true` shall cause the service
            to perform appropriate actions to quiesce the device.  A task may spawn
            while the device is quiescing.
          x-versionAdded: v1_7_0
        SKU:
          description: The SKU for this PCIe device.
          nullable: true
          readOnly: true
          type: string
          x-longDescription: This property shall contain the stock-keeping unit number
            for this PCIe device.
        SerialNumber:
          description: The serial number for this PCIe device.
          nullable: true
          readOnly: true
          type: string
          x-longDescription: This property shall contain a manufacturer-allocated
            number that identifies the PCIe device.
        Slot:
          description: Information about the slot for this PCIe device.
          oneOf:
          - $ref: '#/components/schemas/PCIeDevice_v1_21_0_Slot'
          - enum:
            - null
          x-longDescription: This property shall contain information about the PCIe
            slot for this PCIe device.
          x-versionAdded: v1_9_0
        SparePartNumber:
          description: The spare part number of the PCIe device.
          nullable: true
          readOnly: true
          type: string
          x-longDescription: This property shall contain the spare part number of
            the PCIe device.
          x-versionAdded: v1_6_0
        StagedVersion:
          description: The staged firmware version for this PCIe device; this firmware
            is not yet active.
          readOnly: true
          type: string
          x-longDescription: This property shall contain the staged firmware version
            for this PCIe device; this firmware is not yet active.
          x-versionAdded: v1_11_0
        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.
        UUID:
          description: The UUID for this PCIe device.
          oneOf:
          - $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_UUID
          - enum:
            - null
          readOnly: true
          x-longDescription: This property shall contain the universally unique identifier
            number for this PCIe device.
          x-versionAdded: v1_5_0
      required:
      - '@odata.id'
      - '@odata.type'
      - Id
      - Name
      type: object
      x-longDescription: This resource shall represent a PCIe device in a Redfish
        implementation.  It may also represent a location, such as a slot, socket,
        or bay, where a unit may be installed, but the `State` property within the
        `Status` property contains `Absent`.
      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.
    PCIeDevice_v1_21_0_PCIeErrors:
      additionalProperties: false
      description: The PCIe errors associated with this device.
      properties:
        BadDLLPCount:
          description: The total number of Bad DLLPs issued on the PCIe link by the
            receiver.
          format: int64
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: This property shall contain the total number of Bad DLLPs
            issued on the PCIe link by the receiver.  A Bad DLLP in the context of
            PCIe communication is a packet that has encountered errors at the data
            link layer.  When a DLLP is considered bad, it means it has been corrupted
            or is incorrectly formatted, potentially due to transmission errors, hardware
            failures, or other issues that affect its integrity.
          x-versionAdded: v1_15_0
        BadTLPCount:
          description: The total number of Bad TLPs issued on the PCIe link by the
            receiver.
          format: int64
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: This property shall contain the total number of Bad TLPs
            issued on the PCIe link by the receiver.  A Bad TLP in the context of
            PCIe communication is a packet that cannot be properly processed due to
            errors at the transaction layer.  These errors could include corrupted
            data, incorrect packet formatting, invalid header information, or a mismatched
            checksum.
          x-versionAdded: v1_15_0
        CorrectableErrorCount:
          description: The total number of PCIe correctable errors for this device.
          format: int64
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: This property shall contain the total number of PCIe
            correctable errors for this device.
          x-versionAdded: v1_8_0
        FatalErrorCount:
          description: The total number of PCIe fatal errors for this device.
          format: int64
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: This property shall contain the total number of PCIe
            fatal errors for this device.
          x-versionAdded: v1_8_0
        FlowControlTimeoutErrors:
          description: The total number of Flow Control Credit timeouts.
          format: int64
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: This property shall contain the total number of Flow
            Control Credit timeouts, indicating a link-level problem that typically
            triggers link recovery.
          x-versionAdded: v1_21_0
        L0ToRecoveryCount:
          description: The total number of times the PCIe link states transitioned
            from L0 to the recovery state for this device.
          format: int64
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: This property shall contain the total number of times
            the PCIe link transitioned from L0 to the recovery state for this device.
          x-versionAdded: v1_8_0
        NAKReceivedCount:
          description: The total number of NAKs issued on the PCIe link by the receiver.
          format: int64
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: This property shall contain the total number of NAKs
            issued on the PCIe link by the receiver.  A NAK is issued by the receiver
            when it detects that a TLP from this device was missed.  This could be
            because this device did not transmit it, or because the receiver could
            not properly decode the packet.
          x-versionAdded: v1_8_0
        NAKSentCount:
          description: The total number of NAKs issued on the PCIe link by this device.
          format: int64
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: This property shall contain the total number of NAKs
            issued on the PCIe link by this device.  A NAK is issued by the device
            when it detects that a TLP from the receiver was missed.  This could be
            because the receiver did not transmit it, or because this device could
            not properly decode the packet.
          x-versionAdded: v1_8_0
        NonFatalErrorCount:
          description: The total number of PCIe non-fatal errors for this device.
          format: int64
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: This property shall contain the total number of PCIe
            non-fatal errors for this device.
          x-versionAdded: v1_8_0
        ReplayCount:
          description: The total number of PCIe replays issued by this device.
          format: int64
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: This property shall contain the total number of replays
            issued on the PCIe link by this device.  A replay is a retransmission
            of a TLP and occurs because the ACK timer is expired, which means that
            the receiver did not send the ACK or this device did not properly decode
            the ACK.
          x-versionAdded: v1_8_0
        ReplayRolloverCount:
          description: The total number of PCIe replay rollovers issued by this device.
          format: int64
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: This property shall contain the total number of replay
            rollovers issued on the PCIe link by this device.  A replay rollover occurs
            when consecutive replays failed to resolve the errors on the link, which
            means that this device forced the link into the recovery state.
          x-versionAdded: v1_8_0
        UnsupportedRequestCount:
          description: The total number of PCIe unsupported requests received by this
            device.
          format: int64
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: This property shall contain the total number of PCIe
            unsupported requests received by this device.
          x-versionAdded: v1_13_0
      type: object
      x-longDescription: This property shall contain properties that describe the
        PCIe errors associated with this device.
      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.
    PCIeDevice_v1_21_0_PCIeInterface:
      additionalProperties: false
      description: Properties that describe a PCIe interface.
      properties:
        LanesInUse:
          description: The number of PCIe lanes in use by this device.
          format: int64
          maximum: 32
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: This property shall contain the number of PCIe lanes
            in use by this device, which shall be equal to or less than the `MaxLanes`
            property value.
          x-versionAdded: v1_3_0
        MaxLanes:
          description: The number of PCIe lanes supported by this device.
          format: int64
          maximum: 32
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: This property shall contain the maximum number of PCIe
            lanes supported by this device.
          x-versionAdded: v1_3_0
        MaxPCIeType:
          description: The highest version of the PCIe specification supported by
            this device.
          oneOf:
          - $ref: http://redfish.dmtf.org/schemas/v1/PCIeDevice.yaml#/components/schemas/PCIeDevice_PCIeTypes
          - enum:
            - null
          readOnly: true
          x-longDescription: This property shall contain the maximum PCIe specification
            that this device supports.
          x-versionAdded: v1_3_0
        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.
          x-versionAdded: v1_3_0
        PCIeType:
          description: The version of the PCIe specification in use by this device.
          oneOf:
          - $ref: http://redfish.dmtf.org/schemas/v1/PCIeDevice.yaml#/components/schemas/PCIeDevice_PCIeTypes
          - enum:
            - null
          readOnly: true
          x-longDescription: This property shall contain the negotiated PCIe interface
            version in use by this device.
          x-versionAdded: v1_3_0
      type: object
      x-longDescription: This type shall contain the definition for a PCIe interface
        for 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.
    PCIeDevice_v1_21_0_PCIeMetrics:
      additionalProperties: false
      description: The PCIe metrics associated with this device.
      properties:
        CompletionCreditExhaustionDrops:
          description: The total number of read requests dropped due to completion
            credit exhaustion.
          format: int64
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: This property shall contain the total number of read
            requests dropped due to completion credit exhaustion.
          x-versionAdded: v1_20_0
        NPCreditExhaustionDrops:
          description: The total number of of read requests dropped due to non-posted
            credit exhaustion.
          format: int64
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: This property shall contain the total number of of read
            requests dropped due to non-posted credit exhaustion.
          x-versionAdded: v1_20_0
        OutboundCompletionTLPBytes:
          description: The total data payload in bytes transferred through outbound
            completion transaction layer packets (TLPs).
          format: int64
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: This property shall contain the total data payload in
            bytes transferred through outbound completion transaction layer packets
            (TLPs).
          x-versionAdded: v1_20_0
        OutboundCompletionTLPCount:
          description: The total number of outbound completion transaction layer packets
            (TLPs).
          format: int64
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: This property shall contain the total number of outbound
            completion transaction layer packets (TLPs).
          x-versionAdded: v1_20_0
        OutboundReadTLPBytes:
          description: The total data payload in bytes transferred through outbound
            read transaction layer packets (TLPs).
          format: int64
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: This property shall contain the total data payload in
            bytes transferred through outbound read transaction layer packets (TLPs).
          x-versionAdded: v1_20_0
        OutboundReadTLPCount:
          description: The total number of outbound read transaction layer packets
            (TLPs).
          format: int64
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: This property shall contain the total number of outbound
            read transaction layer packets (TLPs).
          x-versionAdded: v1_20_0
        OutboundWriteTLPBytes:
          description: The total data payload in bytes transferred through outbound
            write transaction layer packets (TLPs).
          format: int64
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: This property shall contain the total data payload in
            bytes transferred through outbound write transaction layer packets (TLPs).
          x-versionAdded: v1_20_0
        OutboundWriteTLPCount:
          description: The total number of outbound write transaction layer packets
            (TLPs).
          format: int64
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: This property shall contain the total number of outbound
            write transaction layer packets (TLPs).
          x-versionAdded: v1_20_0
        TagUnavailabilityDrops:
          description: The total number of read requests dropped due to tag unavailability.
          format: int64
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: This property shall contain the total number of read
            requests dropped due to tag unavailability.
          x-versionAdded: v1_20_0
      type: object
      x-longDescription: This property shall contain properties that describe the
        PCIe metrics associated with this device.
      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.
    PCIeDevice_v1_21_0_Slot:
      additionalProperties: false
      description: The PCIe slot associated with a PCIe device.
      properties:
        HotPluggable:
          description: An indication of whether this PCIe slot supports hotplug.
          nullable: true
          readOnly: true
          type: boolean
          x-longDescription: This property shall indicate whether this PCIe slot supports
            hotplug.
          x-versionAdded: v1_12_0
        LaneSplitting:
          description: The lane splitting strategy used in the PCIe slot.
          oneOf:
          - $ref: '#/components/schemas/PCIeDevice_v1_21_0_LaneSplittingType'
          - enum:
            - null
          readOnly: true
          x-longDescription: This property shall contain lane splitting information
            of the associated PCIe slot.
          x-versionAdded: v1_9_0
        Lanes:
          description: The number of PCIe lanes supported by this slot.
          format: int64
          maximum: 32
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: This property shall contain the maximum number of PCIe
            lanes supported by the slot.
          x-versionAdded: v1_9_0
        Location:
          $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Location
          description: The location of the PCIe slot.
          x-longDescription: This property shall contain part location information,
            including a `ServiceLabel` property, of the associated PCIe slot.
          x-versionAdded: v1_9_0
        PCIeType:
          description: The PCIe specification this slot supports.
          oneOf:
          - $ref: http://redfish.dmtf.org/schemas/v1/PCIeDevice.yaml#/components/schemas/PCIeDevice_PCIeTypes
          - enum:
            - null
          readOnly: true
          x-longDescription: This property shall contain the maximum PCIe specification
            that this slot supports.
          x-versionAdded: v1_9_0
        SlotType:
          description: The PCIe slot type.
          oneOf:
          - $ref: '#/components/schemas/PCIeDevice_v1_21_0_SlotType'
          - enum:
            - null
          readOnly: true
          x-longDescription: This property shall contain the PCIe slot type.
          x-versionAdded: v1_9_0
      type: object
      x-longDescription: This object shall contain properties that describe the PCIe
        slot associated with a PCIe device.
      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.
    PCIeDevice_v1_21_0_SlotType:
      enum:
      - FullLength
      - HalfLength
      - LowProfile
      - Mini
      - M2
      - OEM
      - OCP3Small
      - OCP3Large
      - U2
      - EDSFF
      type: string
      x-enumDescriptions:
        EDSFF: EDSFF slot.
        FullLength: Full-Length PCIe slot.
        HalfLength: Half-Length PCIe slot.
        LowProfile: Low-Profile or Slim PCIe slot.
        M2: PCIe M.2 slot.
        Mini: Mini PCIe slot.
        OCP3Large: Open Compute Project 3.0 large form factor slot.
        OCP3Small: Open Compute Project 3.0 small form factor slot.
        OEM: An OEM-specific slot.
        U2: U.2 / SFF-8639 slot or bay.
      x-enumVersionAdded:
        EDSFF: v1_17_0
title: '#PCIeDevice.v1_21_0.PCIeDevice'
x-copyright: Copyright 2014-2025 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright
x-language: en
x-owningEntity: DMTF
x-release: '2025.4'
