Support SKE OS versions auto and forceful updates (#364)

* Deprecate os_version and add os_version_used

* Add os_version_min field

* Draft implementation for os_version_min

* Finish implementation

* Fix mapFields

* Update stackit/internal/services/ske/cluster/resource.go

Co-authored-by: Diogo Ferrão <diogo.ferrao@freiheit.com>

* Update stackit/internal/services/ske/cluster/resource.go

Co-authored-by: Diogo Ferrão <diogo.ferrao@freiheit.com>

* Update stackit/internal/services/ske/cluster/resource.go

Co-authored-by: Diogo Ferrão <diogo.ferrao@freiheit.com>

* Update stackit/internal/services/ske/cluster/resource.go

Co-authored-by: Diogo Ferrão <diogo.ferrao@freiheit.com>

* Improve descriptions

* Improve variable names

* Fix lint

* Extend acc test, generate docs

* Don't select automatically preview versions

* Update acc test

* Simplify code

---------

Co-authored-by: Diogo Ferrão <diogo.ferrao@freiheit.com>
This commit is contained in:
Vicente Pinto 2024-05-20 18:03:50 +01:00 committed by GitHub
parent 76b8e5692d
commit e850a952bd
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 1080 additions and 153 deletions

View file

@ -106,6 +106,8 @@ Read-Only:
- `name` (String) Specifies the name of the node pool.
- `os_name` (String) The name of the OS image.
- `os_version` (String) The OS image version.
- `os_version_min` (String) The minimum OS image version, this field is always nil. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current OS image version being used for the node pool, use the read-only `os_version_used` field.
- `os_version_used` (String) Full OS image version used. For example, if 3815.2 was set in `os_version_min`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html).
- `taints` (Attributes List) Specifies a taint list as defined below. (see [below for nested schema](#nestedatt--node_pools--taints))
- `volume_size` (Number) The volume size in GB.
- `volume_type` (String) Specifies the volume type.