diff --git a/apis/management.cattle.io/v3/cluster_types.go b/apis/management.cattle.io/v3/cluster_types.go index 339d84e1..dafdf056 100644 --- a/apis/management.cattle.io/v3/cluster_types.go +++ b/apis/management.cattle.io/v3/cluster_types.go @@ -42,6 +42,9 @@ const ( ClusterDriverImported = "imported" ClusterDriverLocal = "local" ClusterDriverRKE = "rancherKubernetesEngine" + ClusterDriverGKE = "googleKubernetesEngine" + ClusterDriverEKS = "amazonElasticContainerService" + ClusterDriverAKS = "azureKubernetesService" ) type Cluster struct { @@ -98,6 +101,7 @@ type ClusterStatus struct { Version *version.Info `json:"version,omitempty"` AppliedPodSecurityPolicyTemplateName string `json:"appliedPodSecurityPolicyTemplateId"` AppliedEnableNetworkPolicy bool `json:"appliedEnableNetworkPolicy" norman:"nocreate,noupdate,default=false"` + Capabilities Capabilities `json:"capabilities,omitempty"` } type ClusterComponentStatus struct { @@ -285,3 +289,23 @@ type ImportClusterYamlInput struct { type ImportYamlOutput struct { Message string `json:"message,omitempty"` } + +type Capabilities struct { + L4LoadBalancer L4LoadBalancer `json:"l4loadBalancer,omitempty"` + IngressControllers []IngressController `json:"ingressControllers,omitempty"` + NodePoolScalingSupported bool `json:"nodePoolScalingSupported,omitempty"` + NodePortRange string `json:"nodePortRange,omitempty"` +} + +type L4LoadBalancer struct { + Enabled bool `json:"enabled,omitempty"` + Provider string `json:"provider,omitempty"` + ProtocolsSupported []string `json:"protocolsSupported,omitempty"` + HealthCheckSupported bool `json:"healthCheckSupported,omitempty"` +} + +type IngressController struct { + HTTPLoadBalancingEnabled bool `json:"httpLoadBalancingEnabled,omitempty"` + IngressProvider string `json:"ingressProvider,omitempty"` + CustomDefaultBackend bool `json:"customDefaultBackend,omitempty"` +}