diff --git a/website/content/docs/api-gateway/configuration/gatewayclass.mdx b/website/content/docs/api-gateway/configuration/gatewayclass.mdx index f231fed999..7690c452c9 100644 --- a/website/content/docs/api-gateway/configuration/gatewayclass.mdx +++ b/website/content/docs/api-gateway/configuration/gatewayclass.mdx @@ -7,13 +7,11 @@ description: >- # GatewayClass -This topic provides full details about the `GatewayClass` resource +This topic provides describes how to configure the `GatewayClass` resource, which is a generic Kubernetes gateway object used as a template for creating `Gateway` resources. ## Introduction -The `GatewayClass` resource is used as a template for creating `Gateway` resources. -The specification includes the name of the controller (`controllerName`) and an API object containing controller-specific configuration resources within the cluster (`parametersRef`). -The value of the `controllerName` field must be set to `hashicorp.com/consul-api-gateway-controller`. +The `GatewayClass` specification includes the name of the controller (`controllerName`) and an API object containing controller-specific configuration resources within the cluster (`parametersRef`). The value of the `controllerName` field must be set to `hashicorp.com/consul-api-gateway-controller`. When gateways are created from a `GatewayClass`, they use the parameters specified in the `GatewayClass` at the time of instantiation. @@ -23,10 +21,10 @@ The `GatewayClass` resource is a generic Kubernetes gateway object. For configur The following outline shows how to format the configurations in the `GatewayClass` object. Click on a property name to view details about the configuration. * [`controllerName`](#controllername): string | required -* [`parametersRef`](#parametersref): object | optional - * [`group`]([#parametersref-group): string | required is `parametersRef` is set - * [`kind`](#parametersref-kind): string | required is `parametersRef` is set - * [`name`](#parametersref-name): string | required is `parametersRef` is set +* [`parametersRef`](#parametersref): object | required + * [`group`](#parametersref): string | required if `parametersRef` is set + * [`kind`](#parametersref): string | required if `parametersRef` is set + * [`name`](#parametersref): string | required if `parametersRef` is set * [`description`](#description): string | optional ## Specification @@ -34,39 +32,24 @@ The following outline shows how to format the configurations in the `GatewayClas This topic provides details about the configuration parameters. ### controllerName -Specifies the name of the controller that manages the gateways generated by this class. The value must alwasy be `'hashicorp.com/consul-api-gateway-controller'`. +Specifies the name of the controller that manages the gateways generated by this class. +The value must always be `hashicorp.com/consul-api-gateway-controller`. * Type: string * Required: required ### parametersRef -Defines an object that specifies additional configurations required by the gateway controller. -* Type: object -* Required: required +Defines an API object that references additional configurations required by the gateway controller. The following table describes the fields that you must include in the `parametersRef` coniguration. -### parametersRef.group -Specifies the Kubernetes group that the `parametersRef` is a member of. The value must always be `api-gateway.consul.hashicorp.com`. - -The `parametersRef.group` is always the same across all deployments of Consul API Gateway. - -* Type: string -* Required: required - -### parametersRef.kind -Specifies the Kubernetes kind of entity that the `parametersRef` is. The value must always be `GatewayClassConfig`. - -This `parametersRef.kind` is always the same across all deployments of Consul API Gateway. - -* Type: string -* Required: required - -### parametersRef.name -Specfies the name of the `GatewayClassConfig` object. -* Type: object -* Required: required +| Parameter | Description | Type | Required | +| --- | --- | --- | --- | +| `group` | Specifies the Kubernetes group that the `parametersRef` is a member of.
The value must always be `api-gateway.consul.hashicorp.com`.
The `parametersRef.group` is always the same across all deployments of Consul API Gateway. | String | Required | +| `kind` | Specifies the type of Kubernetes object that the `parametersRef` configuration defines.
The value must always be `GatewayClassConfig`.
This `parametersRef.kind` is always the same across all deployments of Consul API Gateway. | String | Required | +| `name` | Specfies a name for the `GatewayClassConfig` object. | String | Required | ### description -Specifies a human-readable description of the gateway class. We recommend including a description so that a record exists that describes the gateway class's purpose. +Specifies a human-readable description of the gateway class. We recommend using the description field to describe the gateway class's purpose. + * Type: string * Required: optional @@ -86,6 +69,7 @@ The following example creates a gateway class called `test-gateway-class`: group: api-gateway.consul.hashicorp.com kind: GatewayClassConfig name: test-gateway-class-config + description: The gateway class is for creating test gateways class configurations ```