diff --git a/apis/management.cattle.io/v3/machine_types.go b/apis/management.cattle.io/v3/machine_types.go index 8c8eb11a..e9b2eb50 100644 --- a/apis/management.cattle.io/v3/machine_types.go +++ b/apis/management.cattle.io/v3/machine_types.go @@ -233,13 +233,19 @@ type NodeDriverSpec struct { } type PublicEndpoint struct { - NodeName string `json:"nodeName,omitempty" norman:"type=reference[/v3/schemas/node],nocreate,noupdate"` - Address string `json:"address,omitempty" norman:"nocreate,noupdate"` - Port int32 `json:"port,omitempty" norman:"nocreate,noupdate"` - Protocol string `json:"protocol,omitempty" norman:"nocreate,noupdate"` - // for node port service + NodeName string `json:"nodeName,omitempty" norman:"type=reference[/v3/schemas/node],nocreate,noupdate"` + Addresses []string `json:"addresses,omitempty" norman:"nocreate,noupdate"` + Port int32 `json:"port,omitempty" norman:"nocreate,noupdate"` + Protocol string `json:"protocol,omitempty" norman:"nocreate,noupdate"` + // for node port service endpoint ServiceName string `json:"serviceName,omitempty" norman:"type=reference[service],nocreate,noupdate"` - // for host port + // for host port endpoint PodName string `json:"podName,omitempty" norman:"type=reference[pod],nocreate,noupdate"` - //serviceName and podName are mutually exclusive + // for ingress endpoint. ServiceName, podName, ingressName are mutually exclusive + IngressName string `json:"ingressName,omitempty" norman:"type=reference[ingress],nocreate,noupdate"` + // Hostname/path are set for Ingress endpoints + Hostname string `json:"hostname,omitempty" norman:"nocreate,noupdate"` + Path string `json:"path,omitempty" norman:"nocreate,noupdate"` + // True when endpoint is exposed on every node + AllNodes bool `json:"allNodes" norman:"nocreate,noupdate"` } diff --git a/apis/project.cattle.io/v3/types.go b/apis/project.cattle.io/v3/types.go index fa28ed25..560fb393 100644 --- a/apis/project.cattle.io/v3/types.go +++ b/apis/project.cattle.io/v3/types.go @@ -85,18 +85,21 @@ type SSHAuth struct { type NamespacedSSHAuth SSHAuth type PublicEndpoint struct { - NodeName string `json:"nodeName,omitempty" norman:"type=reference[/v3/schemas/node],nocreate,noupdate"` - Address string `json:"address,omitempty" norman:"nocreate,noupdate"` - Port int32 `json:"port,omitempty" norman:"nocreate,noupdate"` - Protocol string `json:"protocol,omitempty" norman:"nocreate,noupdate"` - // for node port service + NodeName string `json:"nodeName,omitempty" norman:"type=reference[/v3/schemas/node],nocreate,noupdate"` + Addresses []string `json:"addresses,omitempty" norman:"nocreate,noupdate"` + Port int32 `json:"port,omitempty" norman:"nocreate,noupdate"` + Protocol string `json:"protocol,omitempty" norman:"nocreate,noupdate"` + // for node port service endpoint ServiceName string `json:"serviceName,omitempty" norman:"type=reference[service],nocreate,noupdate"` - // for host port + // for host port endpoint PodName string `json:"podName,omitempty" norman:"type=reference[pod],nocreate,noupdate"` - //serviceName and podName are mutually exclusive + // for ingress endpoint. ServiceName, podName, ingressName are mutually exclusive + IngressName string `json:"ingressName,omitempty" norman:"type=reference[ingress],nocreate,noupdate"` + // Hostname/path are set for Ingress endpoints Hostname string `json:"hostname,omitempty" norman:"nocreate,noupdate"` Path string `json:"path,omitempty" norman:"nocreate,noupdate"` - // hostname and part is for global load balancer + // True when endpoint is exposed on every node + AllNodes bool `json:"allNodes" norman:"nocreate,noupdate"` } type Workload struct {