APIProducts represent a logical grouping of APIDoc operations that should be exposed to end users as a homogeneous API. Each APIProduct consists of one or more versions, and each version defines its own distinct set of APIDoc operations as well as the backends serving each operation. Together with the Environments that reference them, APIProducts control the way APIs are exposed by the Portal and the Router for consumption by client applications.
Specifies a list of usage plans defined by Environments that include this API Product. Each Environment that includes this API Product must define each usage plan referenced here. Will only be used in an Environment if no usage plan is specified for this API Product in that Environment’s Spec. If neither is provided, unlimited access will be enabled for unauthorized users.
Specifies how to expose operations in this API Doc on the Gateway. This configuration overrides the GatewayConfig set for the whole API Product version and is inherited by all the operations contained in this API Doc that do not provide their own GatewayConfig.
When true, all operations that are not explicitly listed will be implicitly selected. When false, all operations that are not explicitly listed will be omitted from the API Product. When this field is unset and no operation list is provided, we will default to selecting all operations. When this field is unset and some operations are provided, we will default to omitting operations not explicitly listed.
APIProductSpec.DisplayInfo
User-facing display information about this APIProduct.
Specify how to expose this Version’s operations on the gateway. Operations contained in this Version will inherit this configuration when they do not provide their own.
The set of labels that are observed in the metadata.labels on the APIProduct. We need to keep track of these labels so we can notify resources that depend on the APIProduct via a label selector (i.e. Environments, Users, and Groups) if they change.
An API Route is a route (matcher + destination) generated from an API definition combined with a Route config. These are translated internally into gateway routing configurations.
Specifies a route for exposing the operation to HTTP traffic. RouteSpecifiers can also be placed directly in the APIDoc on the operation or service itself using the x-solo-product-router OpenAPI extension. If no routing configuration is defined for an operation at any level, a route will not be exposed for the operation.
GrpcMethodSelector
A list of references to methods in a gRPC definition.
When true, this method will be omitted from the API Product. Use this field alongside the includeUnlistedOperations field to select methods via a blocklist approach. Defaults to false.
When true, this operation will be omitted from the API Product. Use this field alongside the includeUnlistedOperations field to select operations via a blocklist approach. Defaults to false.