Class EndpointPublishingStrategy
- java.lang.Object
-
- io.fabric8.openshift.api.model.operator.v1.EndpointPublishingStrategy
-
- All Implemented Interfaces:
io.fabric8.kubernetes.api.builder.Editable<EndpointPublishingStrategyBuilder>,io.fabric8.kubernetes.api.model.KubernetesResource,Serializable
@Generated("io.fabric8.kubernetes.schema.generator.model.ModelGenerator") public class EndpointPublishingStrategy extends Object implements io.fabric8.kubernetes.api.builder.Editable<EndpointPublishingStrategyBuilder>, io.fabric8.kubernetes.api.model.KubernetesResource
EndpointPublishingStrategy is a way to publish the endpoints of an IngressController, and represents the type and any additional configuration for a specific type.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description EndpointPublishingStrategy()No args constructor for use in serializationEndpointPublishingStrategy(HostNetworkStrategy hostNetwork, LoadBalancerStrategy loadBalancer, NodePortStrategy nodePort, PrivateStrategy _private, String type)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description EndpointPublishingStrategyBuilderedit()Map<String,Object>getAdditionalProperties()HostNetworkStrategygetHostNetwork()EndpointPublishingStrategy is a way to publish the endpoints of an IngressController, and represents the type and any additional configuration for a specific type.LoadBalancerStrategygetLoadBalancer()EndpointPublishingStrategy is a way to publish the endpoints of an IngressController, and represents the type and any additional configuration for a specific type.NodePortStrategygetNodePort()EndpointPublishingStrategy is a way to publish the endpoints of an IngressController, and represents the type and any additional configuration for a specific type.PrivateStrategygetPrivate()EndpointPublishingStrategy is a way to publish the endpoints of an IngressController, and represents the type and any additional configuration for a specific type.StringgetType()type is the publishing strategy to use.voidsetAdditionalProperties(Map<String,Object> additionalProperties)voidsetAdditionalProperty(String name, Object value)voidsetHostNetwork(HostNetworkStrategy hostNetwork)EndpointPublishingStrategy is a way to publish the endpoints of an IngressController, and represents the type and any additional configuration for a specific type.voidsetLoadBalancer(LoadBalancerStrategy loadBalancer)EndpointPublishingStrategy is a way to publish the endpoints of an IngressController, and represents the type and any additional configuration for a specific type.voidsetNodePort(NodePortStrategy nodePort)EndpointPublishingStrategy is a way to publish the endpoints of an IngressController, and represents the type and any additional configuration for a specific type.voidsetPrivate(PrivateStrategy _private)EndpointPublishingStrategy is a way to publish the endpoints of an IngressController, and represents the type and any additional configuration for a specific type.voidsetType(String type)type is the publishing strategy to use.EndpointPublishingStrategyBuildertoBuilder()
-
-
-
Constructor Detail
-
EndpointPublishingStrategy
public EndpointPublishingStrategy()
No args constructor for use in serialization
-
EndpointPublishingStrategy
public EndpointPublishingStrategy(HostNetworkStrategy hostNetwork, LoadBalancerStrategy loadBalancer, NodePortStrategy nodePort, PrivateStrategy _private, String type)
-
-
Method Detail
-
getHostNetwork
public HostNetworkStrategy getHostNetwork()
EndpointPublishingStrategy is a way to publish the endpoints of an IngressController, and represents the type and any additional configuration for a specific type.
-
setHostNetwork
public void setHostNetwork(HostNetworkStrategy hostNetwork)
EndpointPublishingStrategy is a way to publish the endpoints of an IngressController, and represents the type and any additional configuration for a specific type.
-
getLoadBalancer
public LoadBalancerStrategy getLoadBalancer()
EndpointPublishingStrategy is a way to publish the endpoints of an IngressController, and represents the type and any additional configuration for a specific type.
-
setLoadBalancer
public void setLoadBalancer(LoadBalancerStrategy loadBalancer)
EndpointPublishingStrategy is a way to publish the endpoints of an IngressController, and represents the type and any additional configuration for a specific type.
-
getNodePort
public NodePortStrategy getNodePort()
EndpointPublishingStrategy is a way to publish the endpoints of an IngressController, and represents the type and any additional configuration for a specific type.
-
setNodePort
public void setNodePort(NodePortStrategy nodePort)
EndpointPublishingStrategy is a way to publish the endpoints of an IngressController, and represents the type and any additional configuration for a specific type.
-
getPrivate
public PrivateStrategy getPrivate()
EndpointPublishingStrategy is a way to publish the endpoints of an IngressController, and represents the type and any additional configuration for a specific type.
-
setPrivate
public void setPrivate(PrivateStrategy _private)
EndpointPublishingStrategy is a way to publish the endpoints of an IngressController, and represents the type and any additional configuration for a specific type.
-
getType
public String getType()
type is the publishing strategy to use. Valid values are:* LoadBalancerService
Publishes the ingress controller using a Kubernetes LoadBalancer Service.
In this configuration, the ingress controller deployment uses container networking. A LoadBalancer Service is created to publish the deployment.
See: https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer
If domain is set, a wildcard DNS record will be managed to point at the LoadBalancer Service's external name. DNS records are managed only in DNS zones defined by dns.config.openshift.io/cluster .spec.publicZone and .spec.privateZone.
Wildcard DNS management is currently supported only on the AWS, Azure, and GCP platforms.
* HostNetwork
Publishes the ingress controller on node ports where the ingress controller is deployed.
In this configuration, the ingress controller deployment uses host networking, bound to node ports 80 and 443. The user is responsible for configuring an external load balancer to publish the ingress controller via the node ports.
* Private
Does not publish the ingress controller.
In this configuration, the ingress controller deployment uses container networking, and is not explicitly published. The user must manually publish the ingress controller.
* NodePortService
Publishes the ingress controller using a Kubernetes NodePort Service.
In this configuration, the ingress controller deployment uses container networking. A NodePort Service is created to publish the deployment. The specific node ports are dynamically allocated by OpenShift; however, to support static port allocations, user changes to the node port field of the managed NodePort Service will preserved.
-
setType
public void setType(String type)
type is the publishing strategy to use. Valid values are:* LoadBalancerService
Publishes the ingress controller using a Kubernetes LoadBalancer Service.
In this configuration, the ingress controller deployment uses container networking. A LoadBalancer Service is created to publish the deployment.
See: https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer
If domain is set, a wildcard DNS record will be managed to point at the LoadBalancer Service's external name. DNS records are managed only in DNS zones defined by dns.config.openshift.io/cluster .spec.publicZone and .spec.privateZone.
Wildcard DNS management is currently supported only on the AWS, Azure, and GCP platforms.
* HostNetwork
Publishes the ingress controller on node ports where the ingress controller is deployed.
In this configuration, the ingress controller deployment uses host networking, bound to node ports 80 and 443. The user is responsible for configuring an external load balancer to publish the ingress controller via the node ports.
* Private
Does not publish the ingress controller.
In this configuration, the ingress controller deployment uses container networking, and is not explicitly published. The user must manually publish the ingress controller.
* NodePortService
Publishes the ingress controller using a Kubernetes NodePort Service.
In this configuration, the ingress controller deployment uses container networking. A NodePort Service is created to publish the deployment. The specific node ports are dynamically allocated by OpenShift; however, to support static port allocations, user changes to the node port field of the managed NodePort Service will preserved.
-
edit
public EndpointPublishingStrategyBuilder edit()
- Specified by:
editin interfaceio.fabric8.kubernetes.api.builder.Editable<EndpointPublishingStrategyBuilder>
-
toBuilder
public EndpointPublishingStrategyBuilder toBuilder()
-
-