private List<ValidationEvent> validateStructure(Model model, OperationShape operation, HttpTrait http) {
        return validateBindings(model,
                operation,
                http,
                model.expectShape(operation.getInputShape(), StructureShape.class));
    }
Validates that httpLabel traits are applied correctly for operation inputs.

<ul>
    <li>Validates that if an operation has labels then it must have
    input.</li>
    <li>Validates that a corresponding input member can be found for each
    label in each operation.</li>
    <li>Validates that the correct target type is used for greedy and
    non-greedy labels.</li>
    <li>Validates that all labels in the URI of each operation that
    references the structure, have a corresponding member with the
    httpLabel trait.</li>
</ul>
smithy-model/src/main/java/software/amazon/smithy/model/validation/validators/HttpLabelTraitValidator.java