Skip to content

Commit 2328396

Browse files
authored
feat(kubernetes): add method for getting available kubernetes plans (#224)
1 parent 1ab235d commit 2328396

4 files changed

Lines changed: 22 additions & 0 deletions

File tree

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ See updating [Changelog example here](https://keepachangelog.com/en/1.0.0/)
55

66
## [Unreleased]
77

8+
### Added
9+
- method for fetching available kubernetes plans
10+
811
## [6.1.0]
912

1013
### Added

upcloud/kubernetes.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,3 +60,9 @@ type KubernetesTaint struct {
6060
Key string `json:"key"`
6161
Value string `json:"value"`
6262
}
63+
64+
type KubernetesPlan struct {
65+
Name string `json:"name"`
66+
ServerNumber int `json:"server_number"`
67+
MaxNodes int `json:"max_nodes"`
68+
}

upcloud/request/kubernetes.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,3 +165,9 @@ type DeleteKubernetesNodeGroupRequest struct {
165165
func (r *DeleteKubernetesNodeGroupRequest) RequestURL() string {
166166
return fmt.Sprintf("%s/%s/node-groups/%s", kubernetesClusterBasePath, r.ClusterUUID, r.Name)
167167
}
168+
169+
type GetKubernetesPlansRequest struct{}
170+
171+
func (r *GetKubernetesPlansRequest) RequestURL() string {
172+
return fmt.Sprintf("%s/plans", kubernetesClusterBasePath)
173+
}

upcloud/service/kubernetes.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ type Kubernetes interface {
2222
CreateKubernetesNodeGroup(ctx context.Context, r *request.CreateKubernetesNodeGroupRequest) (*upcloud.KubernetesNodeGroup, error)
2323
ModifyKubernetesNodeGroup(ctx context.Context, r *request.ModifyKubernetesNodeGroupRequest) (*upcloud.KubernetesNodeGroup, error)
2424
DeleteKubernetesNodeGroup(ctx context.Context, r *request.DeleteKubernetesNodeGroupRequest) error
25+
GetKubernetesPlans(ctx context.Context, r *request.GetKubernetesPlansRequest) ([]upcloud.KubernetesPlan, error)
2526
}
2627

2728
// GetKubernetesClusters retrieves a list of Kubernetes clusters (EXPERIMENTAL).
@@ -144,3 +145,9 @@ func (s *Service) ModifyKubernetesNodeGroup(ctx context.Context, r *request.Modi
144145
func (s *Service) DeleteKubernetesNodeGroup(ctx context.Context, r *request.DeleteKubernetesNodeGroupRequest) error {
145146
return s.delete(ctx, r)
146147
}
148+
149+
// GetKubernetesPlans retrieves a list of Kubernetes plans (EXPERIMENTAL).
150+
func (s *Service) GetKubernetesPlans(ctx context.Context, r *request.GetKubernetesPlansRequest) ([]upcloud.KubernetesPlan, error) {
151+
plans := make([]upcloud.KubernetesPlan, 0)
152+
return plans, s.get(ctx, r.RequestURL(), &plans)
153+
}

0 commit comments

Comments
 (0)