Skip to content

Commit 0a8919f

Browse files
authored
feat(kubernetes): add support for PrivateNodeGroups field (#230)
1 parent a24ae72 commit 0a8919f

5 files changed

Lines changed: 27 additions & 20 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ See updating [Changelog example here](https://keepachangelog.com/en/1.0.0/)
88
### Added
99
- Managed Database OpenSearch support
1010
- Support for defining NIC model upon creating or modifying a server. Also exported constants for each support NIC model.
11+
- Support for `PrivateNodeGroups` property of Kubernetes clusters.
1112

1213
### Changed
1314
- client: overwrite the HTTP Client Transport accordingly when `UPCLOUD_DEBUG_SKIP_CERTIFICATE_VERIFY` is set to `1`

upcloud/kubernetes.go

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,15 @@ type (
2727
)
2828

2929
type KubernetesCluster struct {
30-
Name string `json:"name"`
31-
Network string `json:"network"`
32-
NetworkCIDR string `json:"network_cidr"`
33-
NodeGroups []KubernetesNodeGroup `json:"node_groups"`
34-
State KubernetesClusterState `json:"state"`
35-
UUID string `json:"uuid"`
36-
Zone string `json:"zone"`
37-
Plan string `json:"plan"`
30+
Name string `json:"name"`
31+
Network string `json:"network"`
32+
NetworkCIDR string `json:"network_cidr"`
33+
NodeGroups []KubernetesNodeGroup `json:"node_groups"`
34+
State KubernetesClusterState `json:"state"`
35+
UUID string `json:"uuid"`
36+
Zone string `json:"zone"`
37+
Plan string `json:"plan"`
38+
PrivateNodeGroups bool `json:"private_node_groups"`
3839
}
3940

4041
type KubernetesNodeGroup struct {

upcloud/kubernetes_test.go

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ const exampleKubernetesClusterJSON string = `{
1515
"network": "03a98be3-7daa-443f-bb25-4bc6854b396c",
1616
"network_cidr": "172.16.0.0/24",
1717
"plan": "development",
18+
"private_node_groups": false,
1819
"node_groups": [
1920
{
2021
"name": "upcloud-go-sdk-unit-test",
@@ -101,10 +102,11 @@ func exampleKubernetesCluster() KubernetesCluster {
101102
exampleKubernetesNodeGroup(true),
102103
exampleKubernetesNodeGroup(false),
103104
},
104-
State: KubernetesClusterStateRunning,
105-
UUID: "0ddab8f4-97c0-4222-91ba-85a4fff7499b",
106-
Zone: "de-fra1",
107-
Plan: "development",
105+
State: KubernetesClusterStateRunning,
106+
UUID: "0ddab8f4-97c0-4222-91ba-85a4fff7499b",
107+
Zone: "de-fra1",
108+
Plan: "development",
109+
PrivateNodeGroups: false,
108110
}
109111
}
110112

upcloud/request/kubernetes.go

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -48,12 +48,13 @@ func (r *GetKubernetesClusterRequest) RequestURL() string {
4848

4949
// CreateKubernetesClusterRequest represents a request to create a Kubernetes cluster
5050
type CreateKubernetesClusterRequest struct {
51-
Name string `json:"name"`
52-
Network string `json:"network"`
53-
NetworkCIDR string `json:"network_cidr"`
54-
NodeGroups []KubernetesNodeGroup `json:"node_groups"`
55-
Zone string `json:"zone"`
56-
Plan string `json:"plan,omitempty"`
51+
Name string `json:"name"`
52+
Network string `json:"network"`
53+
NetworkCIDR string `json:"network_cidr"`
54+
NodeGroups []KubernetesNodeGroup `json:"node_groups"`
55+
Zone string `json:"zone"`
56+
Plan string `json:"plan,omitempty"`
57+
PrivateNodeGroups bool `json:"private_node_groups"`
5758
}
5859

5960
func (r *CreateKubernetesClusterRequest) RequestURL() string {

upcloud/request/kubernetes_test.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ const exampleCreateKubernetesClusterRequestJSON string = `{
1313
"network": "00000000-0000-0000-0000-000000000000",
1414
"network_cidr": "172.16.0.1/24",
1515
"plan": "production",
16+
"private_node_groups": false,
1617
"node_groups": [
1718
{
1819
"count": 1,
@@ -356,8 +357,9 @@ func exampleCreateKubernetesClusterRequest() CreateKubernetesClusterRequest {
356357
exampleKubernetesNodeGroup(),
357358
exampleKubernetesNodeGroup(),
358359
},
359-
Zone: "zone",
360-
Plan: "production",
360+
Zone: "zone",
361+
Plan: "production",
362+
PrivateNodeGroups: false,
361363
}
362364
}
363365

0 commit comments

Comments
 (0)