Class GatewayTLSConfig
- java.lang.Object
-
- io.fabric8.kubernetes.api.model.gatewayapi.v1.GatewayTLSConfig
-
- All Implemented Interfaces:
io.fabric8.kubernetes.api.builder.Editable<GatewayTLSConfigBuilder>
,io.fabric8.kubernetes.api.model.KubernetesResource
,Serializable
@Generated("io.fabric8.kubernetes.schema.generator.model.ModelGenerator") public class GatewayTLSConfig extends Object implements io.fabric8.kubernetes.api.builder.Editable<GatewayTLSConfigBuilder>, io.fabric8.kubernetes.api.model.KubernetesResource
GatewayTLSConfig describes a TLS configuration.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description GatewayTLSConfig()
No args constructor for use in serializationGatewayTLSConfig(List<SecretObjectReference> certificateRefs, FrontendTLSValidation frontendValidation, String mode, Map<String,String> options)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description GatewayTLSConfigBuilder
edit()
Map<String,Object>
getAdditionalProperties()
List<SecretObjectReference>
getCertificateRefs()
CertificateRefs contains a series of references to Kubernetes objects that contains TLS certificates and private keys.FrontendTLSValidation
getFrontendValidation()
GatewayTLSConfig describes a TLS configuration.String
getMode()
Mode defines the TLS behavior for the TLS session initiated by the client.Map<String,String>
getOptions()
Options are a list of key/value pairs to enable extended TLS configuration for each implementation.void
setAdditionalProperties(Map<String,Object> additionalProperties)
void
setAdditionalProperty(String name, Object value)
void
setCertificateRefs(List<SecretObjectReference> certificateRefs)
CertificateRefs contains a series of references to Kubernetes objects that contains TLS certificates and private keys.void
setFrontendValidation(FrontendTLSValidation frontendValidation)
GatewayTLSConfig describes a TLS configuration.void
setMode(String mode)
Mode defines the TLS behavior for the TLS session initiated by the client.void
setOptions(Map<String,String> options)
Options are a list of key/value pairs to enable extended TLS configuration for each implementation.GatewayTLSConfigBuilder
toBuilder()
-
-
-
Constructor Detail
-
GatewayTLSConfig
public GatewayTLSConfig()
No args constructor for use in serialization
-
GatewayTLSConfig
public GatewayTLSConfig(List<SecretObjectReference> certificateRefs, FrontendTLSValidation frontendValidation, String mode, Map<String,String> options)
-
-
Method Detail
-
getCertificateRefs
public List<SecretObjectReference> getCertificateRefs()
CertificateRefs contains a series of references to Kubernetes objects that contains TLS certificates and private keys. These certificates are used to establish a TLS handshake for requests that match the hostname of the associated listener.A single CertificateRef to a Kubernetes Secret has "Core" support. Implementations MAY choose to support attaching multiple certificates to a Listener, but this behavior is implementation-specific.
References to a resource in different namespace are invalid UNLESS there is a ReferenceGrant in the target namespace that allows the certificate to be attached. If a ReferenceGrant does not allow this reference, the "ResolvedRefs" condition MUST be set to False for this listener with the "RefNotPermitted" reason.
This field is required to have at least one element when the mode is set to "Terminate" (default) and is optional otherwise.
CertificateRefs can reference to standard Kubernetes resources, i.e. Secret, or implementation-specific custom resources.
Support: Core - A single reference to a Kubernetes Secret of type kubernetes.io/tls
Support: Implementation-specific (More than one reference or other resource types)
-
setCertificateRefs
public void setCertificateRefs(List<SecretObjectReference> certificateRefs)
CertificateRefs contains a series of references to Kubernetes objects that contains TLS certificates and private keys. These certificates are used to establish a TLS handshake for requests that match the hostname of the associated listener.A single CertificateRef to a Kubernetes Secret has "Core" support. Implementations MAY choose to support attaching multiple certificates to a Listener, but this behavior is implementation-specific.
References to a resource in different namespace are invalid UNLESS there is a ReferenceGrant in the target namespace that allows the certificate to be attached. If a ReferenceGrant does not allow this reference, the "ResolvedRefs" condition MUST be set to False for this listener with the "RefNotPermitted" reason.
This field is required to have at least one element when the mode is set to "Terminate" (default) and is optional otherwise.
CertificateRefs can reference to standard Kubernetes resources, i.e. Secret, or implementation-specific custom resources.
Support: Core - A single reference to a Kubernetes Secret of type kubernetes.io/tls
Support: Implementation-specific (More than one reference or other resource types)
-
getFrontendValidation
public FrontendTLSValidation getFrontendValidation()
GatewayTLSConfig describes a TLS configuration.
-
setFrontendValidation
public void setFrontendValidation(FrontendTLSValidation frontendValidation)
GatewayTLSConfig describes a TLS configuration.
-
getMode
public String getMode()
Mode defines the TLS behavior for the TLS session initiated by the client. There are two possible modes:- Terminate: The TLS session between the downstream client and the
Gateway is terminated at the Gateway. This mode requires certificates
to be specified in some way, such as populating the certificateRefs
field.
- Passthrough: The TLS session is NOT terminated by the Gateway. This
implies that the Gateway can't decipher the TLS stream except for
the ClientHello message of the TLS protocol. The certificateRefs field
is ignored in this mode.
Support: Core
-
setMode
public void setMode(String mode)
Mode defines the TLS behavior for the TLS session initiated by the client. There are two possible modes:- Terminate: The TLS session between the downstream client and the
Gateway is terminated at the Gateway. This mode requires certificates
to be specified in some way, such as populating the certificateRefs
field.
- Passthrough: The TLS session is NOT terminated by the Gateway. This
implies that the Gateway can't decipher the TLS stream except for
the ClientHello message of the TLS protocol. The certificateRefs field
is ignored in this mode.
Support: Core
-
getOptions
public Map<String,String> getOptions()
Options are a list of key/value pairs to enable extended TLS configuration for each implementation. For example, configuring the minimum TLS version or supported cipher suites.A set of common keys MAY be defined by the API in the future. To avoid any ambiguity, implementation-specific definitions MUST use domain-prefixed names, such as `example.com/my-custom-option`. Un-prefixed names are reserved for key names defined by Gateway API.
Support: Implementation-specific
-
setOptions
public void setOptions(Map<String,String> options)
Options are a list of key/value pairs to enable extended TLS configuration for each implementation. For example, configuring the minimum TLS version or supported cipher suites.A set of common keys MAY be defined by the API in the future. To avoid any ambiguity, implementation-specific definitions MUST use domain-prefixed names, such as `example.com/my-custom-option`. Un-prefixed names are reserved for key names defined by Gateway API.
Support: Implementation-specific
-
edit
public GatewayTLSConfigBuilder edit()
- Specified by:
edit
in interfaceio.fabric8.kubernetes.api.builder.Editable<GatewayTLSConfigBuilder>
-
toBuilder
public GatewayTLSConfigBuilder toBuilder()
-
-