description: >
    Implement to provide slot connector attributes. An slot component is a
    swappable component that can be removed by a user and considered
    field-replaceable. The slot compoment represents a PCIe slot connections.
