github.com/IBM-Cloud/bluemix-go@v0.0.0-20240423071914-9e96525baef4/api/container/containerv1/versions.go (about) 1 package containerv1 2 3 import ( 4 "github.com/IBM-Cloud/bluemix-go/client" 5 ) 6 7 //KubeVersion ... 8 type KubeVersion struct { 9 Major int 10 Minor int 11 Patch int 12 Default bool 13 } 14 15 type V1Version map[string][]KubeVersion 16 17 //KubeVersions interface 18 type KubeVersions interface { 19 List(target ClusterTargetHeader) ([]KubeVersion, error) 20 ListV1(target ClusterTargetHeader) (V1Version, error) 21 } 22 23 type version struct { 24 client *client.Client 25 } 26 27 func newKubeVersionAPI(c *client.Client) KubeVersions { 28 return &version{ 29 client: c, 30 } 31 } 32 33 //List ... 34 func (v *version) List(target ClusterTargetHeader) ([]KubeVersion, error) { 35 versions := []KubeVersion{} 36 _, err := v.client.Get("/v1/kube-versions", &versions, target.ToMap()) 37 if err != nil { 38 return nil, err 39 } 40 return versions, err 41 } 42 43 func (v *version) ListV1(target ClusterTargetHeader) (V1Version, error) { 44 v1ver := V1Version{} 45 _, err := v.client.Get("/v1/versions", &v1ver, target.ToMap()) 46 if err != nil { 47 return nil, err 48 } 49 50 return v1ver, err 51 }