| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- package util
- import (
- "net"
- v1 "k8s.io/api/core/v1"
- )
- // See https://kubernetes.io/docs/reference/labels-annotations-taints/
- func GetZone(labels map[string]string) (string, bool) {
- if _, ok := labels[v1.LabelTopologyZone]; ok { // Label as of 1.17
- return labels[v1.LabelTopologyZone], true
- } else if _, ok := labels[v1.LabelZoneFailureDomain]; ok { // deprecated label
- return labels[v1.LabelZoneFailureDomain], true
- } else {
- return "", false
- }
- }
- func GetRegion(labels map[string]string) (string, bool) {
- if _, ok := labels[v1.LabelTopologyRegion]; ok { // Label as of 1.17
- return labels[v1.LabelTopologyRegion], true
- } else if _, ok := labels[v1.LabelZoneRegion]; ok { // deprecated label
- return labels[v1.LabelZoneRegion], true
- } else {
- return "", false
- }
- }
- func GetInstanceType(labels map[string]string) (string, bool) {
- if _, ok := labels[v1.LabelInstanceTypeStable]; ok {
- return labels[v1.LabelInstanceTypeStable], true
- } else if _, ok := labels[v1.LabelInstanceType]; ok {
- return labels[v1.LabelInstanceType], true
- } else {
- return "", false
- }
- }
- func GetOperatingSystem(labels map[string]string) (string, bool) {
- if _, ok := labels[v1.LabelOSStable]; ok {
- return labels[v1.LabelOSStable], true
- } else if _, ok := labels["beta.kubernetes.io/os"]; ok {
- return labels["beta.kubernetes.io/os"], true
- } else {
- return "", false
- }
- }
- func GetArchType(labels map[string]string) (string, bool) {
- if _, ok := labels[v1.LabelArchStable]; ok {
- return labels[v1.LabelArchStable], true
- } else if _, ok := labels["beta.kubernetes.io/arch"]; ok {
- return labels["beta.kubernetes.io/arch"], true
- } else {
- return "", false
- }
- }
- func PrivateIPCheck(ip string) bool {
- ipAddress := net.ParseIP(ip)
- return ipAddress.IsPrivate()
- }
|