Public Attributes | |
| OperationKind | kind |
| How the entry document exposes it. | |
| JSON::String | path |
| JSON::String | method |
| The method it answers to, as the field that declares it is spelled. | |
| JSON::String | origin |
| Where the Operation Object sits. | |
| JSON::String | endpoint |
| std::optional< JSON::String > | parent {std::nullopt} |
| std::vector< JSON::String > | servers |
| std::vector< JSON::String > | security |
| Where the Security Requirement Objects in force sit. | |
| std::vector< JSON::String > | parameters |
| std::vector< std::optional< JSON::String > > | tags |
One operation of the described API, which is what an endpoint and the Path Item it reaches come to between them
| JSON::String sourcemeta::core::OpenAPIFrame::Operation::endpoint |
Where the Path Item Object that exposes it sits, which is the position that gives it a URL rather than the one that defines it. The two differ whenever a reference stands between them
| std::vector<JSON::String> sourcemeta::core::OpenAPIFrame::Operation::parameters |
| std::optional<JSON::String> sourcemeta::core::OpenAPIFrame::Operation::parent {std::nullopt} |
Where the Operation Object that a Callback Object hangs off sits, with no value for an operation the Paths Object or the webhooks exposes. Section 4.8.10 has a Callback Object be "a map of possible out-of band callbacks related to the parent operation", and what the expression it is keyed by evaluates against is that Object's request, so one Callback Object two Operation Objects reach describes one callback for each of them
| JSON::String sourcemeta::core::OpenAPIFrame::Operation::path |
The path template, the webhook name, or the runtime expression that exposes it, according to how it is reached
| std::vector<JSON::String> sourcemeta::core::OpenAPIFrame::Operation::servers |
Where the Server Objects in force sit, empty when nothing declares any, in which case Section 4.8.1 puts a single Server Object with a url of / in their place
| std::vector<std::optional<JSON::String> > sourcemeta::core::OpenAPIFrame::Operation::tags |
Where the Tag Object each of its tags names sits, in the order the operation wrote them, with no value where the entry document declares no tag by that name. Section 4.8.1 permits exactly that: "Not all tags that are used by the Operation Object must be declared"