From 8b5b9734c26b0e722fc80f0b2a135c96d35d7002 Mon Sep 17 00:00:00 2001 From: Ye Chen Date: Tue, 14 Jan 2025 15:39:54 -0500 Subject: [PATCH 1/4] support tier --- go.mod | 6 ++++-- go.sum | 6 ++---- linode/lke/framework_datasource_schema.go | 4 ++++ linode/lke/framework_datasource_test.go | 1 + linode/lke/framework_models.go | 2 ++ linode/lke/framework_resource_test.go | 1 + linode/lke/resource.go | 5 +++++ linode/lke/schema_resource.go | 5 +++++ linode/lke/tmpl/autoscaler.gotf | 2 ++ linode/lke/tmpl/autoscaler_many_pools.gotf | 2 ++ linode/lke/tmpl/autoscaler_no_count.gotf | 1 + linode/lke/tmpl/autoscaler_updates.gotf | 1 + linode/lke/tmpl/basic.gotf | 1 + linode/lke/tmpl/complex_pools.gotf | 1 + linode/lke/tmpl/control_plane.gotf | 1 + linode/lke/tmpl/many_pools.gotf | 1 + linode/lke/tmpl/taints_labels.gotf | 1 + linode/lke/tmpl/updates.gotf | 1 + 18 files changed, 36 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index e82a28d49..18886c59a 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/linode/terraform-provider-linode/v2 -go 1.23 +go 1.23.0 require ( github.com/aws/aws-sdk-go-v2 v1.32.8 @@ -9,7 +9,7 @@ require ( github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.4 github.com/aws/aws-sdk-go-v2/service/s3 v1.72.2 github.com/aws/smithy-go v1.22.1 - github.com/go-resty/resty/v2 v2.16.2 + github.com/go-resty/resty/v2 v2.16.3 github.com/google/go-cmp v0.6.0 github.com/hashicorp/go-cty v1.4.1-0.20200723130312-85980079f637 github.com/hashicorp/go-hclog v1.6.3 @@ -124,3 +124,5 @@ require ( sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect sigs.k8s.io/yaml v1.3.0 // indirect ) + +replace github.com/linode/linodego => /Users/yechen/linode/dx-devenv/repos/linodego diff --git a/go.sum b/go.sum index 9547504ef..bc7d8c4e3 100644 --- a/go.sum +++ b/go.sum @@ -79,8 +79,8 @@ github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2Kv github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= -github.com/go-resty/resty/v2 v2.16.2 h1:CpRqTjIzq/rweXUt9+GxzzQdlkqMdt8Lm/fuK/CAbAg= -github.com/go-resty/resty/v2 v2.16.2/go.mod h1:0fHAoK7JoBy/Ch36N8VFeMsK7xQOHhvWaC3iOktwmIU= +github.com/go-resty/resty/v2 v2.16.3 h1:zacNT7lt4b8M/io2Ahj6yPypL7bqx9n1iprfQuodV+E= +github.com/go-resty/resty/v2 v2.16.3/go.mod h1:hkJtXbA2iKHzJheXYvQ8snQES5ZLGKMwQ07xAwp/fiA= github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= github.com/go-test/deep v1.0.3 h1:ZrJSEWsXzPOxaZnFteGEfooLba+ju3FYIbOrS+rQd68= @@ -192,8 +192,6 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/linode/linodego v1.45.0 h1:jds704+yDlxX+1s854Bhyeonzde3MBZksp3Yvgi49L0= -github.com/linode/linodego v1.45.0/go.mod h1:J5qs5Qg8KafUbE9ltYzwxcNpJXaGwLcvOVyDJNZS2As= github.com/linode/linodego/k8s v1.25.2 h1:PY6S0sAD3xANVvM9WY38bz9GqMTjIbytC8IJJ9Cv23o= github.com/linode/linodego/k8s v1.25.2/go.mod h1:DC1XCSRZRGsmaa/ggpDPSDUmOM6aK1bhSIP6+f9Cwhc= github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= diff --git a/linode/lke/framework_datasource_schema.go b/linode/lke/framework_datasource_schema.go index 35325fbc5..2fffb35f1 100644 --- a/linode/lke/framework_datasource_schema.go +++ b/linode/lke/framework_datasource_schema.go @@ -64,6 +64,10 @@ var frameworkDataSourceSchema = schema.Schema{ Computed: true, Description: "When this Kubernetes cluster was updated.", }, + "tier": schema.StringAttribute{ + Computed: true, + Description: "The desired Kubernetes tier.", + }, }, Blocks: map[string]schema.Block{ "control_plane": schema.ListNestedBlock{ diff --git a/linode/lke/framework_datasource_test.go b/linode/lke/framework_datasource_test.go index 577cf72b3..81e724ae0 100644 --- a/linode/lke/framework_datasource_test.go +++ b/linode/lke/framework_datasource_test.go @@ -62,6 +62,7 @@ func TestAccDataSourceLKECluster_basic(t *testing.T) { resource.TestCheckResourceAttr(dataSourceClusterName, "region", testRegion), resource.TestCheckResourceAttr(dataSourceClusterName, "k8s_version", k8sVersionLatest), resource.TestCheckResourceAttr(dataSourceClusterName, "status", "ready"), + resource.TestCheckResourceAttr(dataSourceClusterName, "tier", "standard"), resource.TestCheckResourceAttr(dataSourceClusterName, "tags.#", "1"), resource.TestCheckResourceAttr(dataSourceClusterName, "pools.#", "1"), resource.TestCheckResourceAttr(dataSourceClusterName, "pools.0.type", "g6-standard-1"), diff --git a/linode/lke/framework_models.go b/linode/lke/framework_models.go index f588d0d79..5d26028c0 100644 --- a/linode/lke/framework_models.go +++ b/linode/lke/framework_models.go @@ -23,6 +23,7 @@ type LKEDataModel struct { Status types.String `tfsdk:"status"` K8sVersion types.String `tfsdk:"k8s_version"` Tags types.Set `tfsdk:"tags"` + Tier types.String `tfsdk:"tier"` ControlPlane []LKEControlPlane `tfsdk:"control_plane"` // LKE Node Pools @@ -98,6 +99,7 @@ func (data *LKEDataModel) parseLKEAttributes( data.Region = types.StringValue(cluster.Region) data.Status = types.StringValue(string(cluster.Status)) data.K8sVersion = types.StringValue(cluster.K8sVersion) + data.Tier = types.StringValue(cluster.Tier) tags, diags := types.SetValueFrom(ctx, types.StringType, cluster.Tags) if diags != nil { diff --git a/linode/lke/framework_resource_test.go b/linode/lke/framework_resource_test.go index cd15798a6..5dbfc6520 100644 --- a/linode/lke/framework_resource_test.go +++ b/linode/lke/framework_resource_test.go @@ -194,6 +194,7 @@ func TestAccResourceLKECluster_basic_smoke(t *testing.T) { resource.TestCheckResourceAttr(resourceClusterName, "region", testRegion), resource.TestCheckResourceAttr(resourceClusterName, "k8s_version", k8sVersionLatest), resource.TestCheckResourceAttr(resourceClusterName, "status", "ready"), + resource.TestCheckResourceAttr(resourceClusterName, "tier", "standard"), resource.TestCheckResourceAttr(resourceClusterName, "tags.#", "1"), resource.TestCheckResourceAttr(resourceClusterName, "pool.#", "1"), resource.TestCheckResourceAttr(resourceClusterName, "pool.0.type", "g6-standard-1"), diff --git a/linode/lke/resource.go b/linode/lke/resource.go index 3c3e4372e..35e372d9b 100644 --- a/linode/lke/resource.go +++ b/linode/lke/resource.go @@ -119,6 +119,7 @@ func readResource(ctx context.Context, d *schema.ResourceData, meta interface{}) d.Set("region", cluster.Region) d.Set("tags", cluster.Tags) d.Set("status", cluster.Status) + d.Set("tier", cluster.Tier) d.Set("kubeconfig", kubeconfig.KubeConfig) d.Set("dashboard_url", dashboard.URL) d.Set("api_endpoints", flattenLKEClusterAPIEndpoints(endpoints)) @@ -150,6 +151,10 @@ func createResource(ctx context.Context, d *schema.ResourceData, meta interface{ K8sVersion: d.Get("k8s_version").(string), } + if tier, ok := d.GetOk("tier"); ok { + createOpts.Tier = tier.(string) + } + if len(controlPlane) > 0 { expandedControlPlane := expandControlPlaneOptions(controlPlane[0].(map[string]interface{})) createOpts.ControlPlane = &expandedControlPlane diff --git a/linode/lke/schema_resource.go b/linode/lke/schema_resource.go index ae297e961..b63c3999f 100644 --- a/linode/lke/schema_resource.go +++ b/linode/lke/schema_resource.go @@ -63,6 +63,11 @@ var resourceSchema = map[string]*schema.Schema{ Computed: true, Description: "The status of the cluster.", }, + "tier": { + Type: schema.TypeString, + Optional: true, + Description: "The desired Kubernetes tier.", + }, "pool": { Type: schema.TypeList, Elem: &schema.Resource{ diff --git a/linode/lke/tmpl/autoscaler.gotf b/linode/lke/tmpl/autoscaler.gotf index 1ea11b7df..1d4516573 100644 --- a/linode/lke/tmpl/autoscaler.gotf +++ b/linode/lke/tmpl/autoscaler.gotf @@ -5,6 +5,8 @@ resource "linode_lke_cluster" "test" { region = "{{ .Region }}" k8s_version = "{{.K8sVersion}}" tags = ["test"] + tier = "standard" + pool { autoscaler { min = 1 diff --git a/linode/lke/tmpl/autoscaler_many_pools.gotf b/linode/lke/tmpl/autoscaler_many_pools.gotf index a74b13774..d7ce31e24 100644 --- a/linode/lke/tmpl/autoscaler_many_pools.gotf +++ b/linode/lke/tmpl/autoscaler_many_pools.gotf @@ -5,6 +5,8 @@ resource "linode_lke_cluster" "test" { region = "{{ .Region }}" k8s_version = "{{ .K8sVersion }}" tags = ["test"] + tier = "standard" + pool { autoscaler { min = 3 diff --git a/linode/lke/tmpl/autoscaler_no_count.gotf b/linode/lke/tmpl/autoscaler_no_count.gotf index 87b25a09f..2f216d03a 100644 --- a/linode/lke/tmpl/autoscaler_no_count.gotf +++ b/linode/lke/tmpl/autoscaler_no_count.gotf @@ -5,6 +5,7 @@ resource "linode_lke_cluster" "test" { label = "{{.Label}}" region = "{{ .Region }}" k8s_version = "{{.K8sVersion}}" + tier = "standard" pool { type = "g6-standard-1" diff --git a/linode/lke/tmpl/autoscaler_updates.gotf b/linode/lke/tmpl/autoscaler_updates.gotf index 41297b2d7..26d71d68e 100644 --- a/linode/lke/tmpl/autoscaler_updates.gotf +++ b/linode/lke/tmpl/autoscaler_updates.gotf @@ -5,6 +5,7 @@ resource "linode_lke_cluster" "test" { region = "{{ .Region }}" k8s_version = "{{.K8sVersion}}" tags = ["test"] + tier = "standard" pool { autoscaler { min = 1 diff --git a/linode/lke/tmpl/basic.gotf b/linode/lke/tmpl/basic.gotf index a288ba1dc..6326fc6c6 100644 --- a/linode/lke/tmpl/basic.gotf +++ b/linode/lke/tmpl/basic.gotf @@ -5,6 +5,7 @@ resource "linode_lke_cluster" "test" { region = "{{ .Region }}" k8s_version = "{{.K8sVersion}}" tags = ["test"] + tier = "standard" pool { type = "g6-standard-1" diff --git a/linode/lke/tmpl/complex_pools.gotf b/linode/lke/tmpl/complex_pools.gotf index bb7c6a0f1..72e5c1a86 100644 --- a/linode/lke/tmpl/complex_pools.gotf +++ b/linode/lke/tmpl/complex_pools.gotf @@ -5,6 +5,7 @@ resource "linode_lke_cluster" "test" { region = "{{ .Region }}" k8s_version = "{{.K8sVersion}}" tags = ["test"] + tier = "standard" pool { type = "g6-standard-2" diff --git a/linode/lke/tmpl/control_plane.gotf b/linode/lke/tmpl/control_plane.gotf index d0ec83c4e..cf9a1b970 100644 --- a/linode/lke/tmpl/control_plane.gotf +++ b/linode/lke/tmpl/control_plane.gotf @@ -5,6 +5,7 @@ resource "linode_lke_cluster" "test" { region = "{{ .Region }}" k8s_version = "{{.K8sVersion}}" tags = ["test"] + tier = "standard" control_plane { high_availability = {{.HighAvailability}} diff --git a/linode/lke/tmpl/many_pools.gotf b/linode/lke/tmpl/many_pools.gotf index 250c3e775..1545a92e7 100644 --- a/linode/lke/tmpl/many_pools.gotf +++ b/linode/lke/tmpl/many_pools.gotf @@ -5,6 +5,7 @@ resource "linode_lke_cluster" "test" { region = "{{ .Region }}" k8s_version = "{{.K8sVersion}}" tags = ["test"] + tier = "standard" pool { type = "g6-standard-1" diff --git a/linode/lke/tmpl/taints_labels.gotf b/linode/lke/tmpl/taints_labels.gotf index 43b522522..d906dcc3c 100644 --- a/linode/lke/tmpl/taints_labels.gotf +++ b/linode/lke/tmpl/taints_labels.gotf @@ -5,6 +5,7 @@ resource "linode_lke_cluster" "test" { region = "{{ .Region }}" k8s_version = "{{ .K8sVersion }}" tags = ["test"] + tier = "standard" pool { type = "g6-standard-1" diff --git a/linode/lke/tmpl/updates.gotf b/linode/lke/tmpl/updates.gotf index e6e985dbb..23c752a90 100644 --- a/linode/lke/tmpl/updates.gotf +++ b/linode/lke/tmpl/updates.gotf @@ -5,6 +5,7 @@ resource "linode_lke_cluster" "test" { region = "{{ .Region }}" k8s_version = "{{.K8sVersion}}" tags = ["test", "new_tag"] + tier = "standard" pool { type = "g6-standard-1" From f82f858a45969626a7b049da7a2233232ee67714 Mon Sep 17 00:00:00 2001 From: Ye Chen Date: Wed, 15 Jan 2025 16:59:20 -0500 Subject: [PATCH 2/4] add list lkes --- docs/data-sources/lke_cluster.md | 2 ++ docs/data-sources/lke_clusters.md | 2 ++ docs/resources/lke_cluster.md | 2 ++ linode/lkeclusters/datasource_test.go | 1 + linode/lkeclusters/framework_datasource_schema.go | 5 +++++ linode/lkeclusters/framework_models.go | 2 ++ linode/lkeclusters/tmpl/data_base.gotf | 6 ++++-- linode/lkeclusters/tmpl/data_filter.gotf | 5 +++++ 8 files changed, 23 insertions(+), 2 deletions(-) diff --git a/docs/data-sources/lke_cluster.md b/docs/data-sources/lke_cluster.md index 987b83ad5..664f5e46b 100644 --- a/docs/data-sources/lke_cluster.md +++ b/docs/data-sources/lke_cluster.md @@ -61,6 +61,8 @@ In addition to all arguments above, the following attributes are exported: * `tags` - An array of tags applied to this object. Tags are case-insensitive and are for organizational purposes only. + * `tier` - The desired Kubernetes tier. (**Note: v4beta only and may not currently be available to all users.**) + * `nodes` - The nodes in the Node Pool. * `id` - The ID of the node. diff --git a/docs/data-sources/lke_clusters.md b/docs/data-sources/lke_clusters.md index c0e8b31e3..417b3bd30 100644 --- a/docs/data-sources/lke_clusters.md +++ b/docs/data-sources/lke_clusters.md @@ -64,6 +64,8 @@ Each LKE Cluster will be stored in the `lke_clusters` attribute and will export * `region` - This Kubernetes cluster's location. +* `tier` - The desired Kubernetes tier. (**Note: v4beta only and may not currently be available to all users.**) + * `control_plane.high_availability` - Whether High Availability is enabled for the cluster Control Plane. To get more information about a cluster, i.e. node pools, please refer to the [linode_lke_cluster](lke_cluster.html.markdown) data source. diff --git a/docs/resources/lke_cluster.md b/docs/resources/lke_cluster.md index 6737eef7c..63981e640 100644 --- a/docs/resources/lke_cluster.md +++ b/docs/resources/lke_cluster.md @@ -97,6 +97,8 @@ The following arguments are supported: * `external_pool_tags` - (Optional) A set of node pool tags to ignore when planning and applying this cluster. This prevents externally managed node pools from being deleted or unintentionally updated on subsequent applies. See [Externally Managed Node Pools](#externally-managed-node-pools) for more details. +* `tier` - (Optional) The desired Kubernetes tier. (**Note: v4beta only and may not currently be available to all users.**) + ### pool ~> **Notice** Due to limitations in Terraform, the order of pools in the `linode_lke_cluster` resource is treated as significant. diff --git a/linode/lkeclusters/datasource_test.go b/linode/lkeclusters/datasource_test.go index 31d89d583..0a645bb86 100644 --- a/linode/lkeclusters/datasource_test.go +++ b/linode/lkeclusters/datasource_test.go @@ -79,6 +79,7 @@ func TestAccDataSourceLKEClusters_basic(t *testing.T) { resource.TestCheckResourceAttr(dataSourceName, "lke_clusters.0.k8s_version", k8sVersionLatest), resource.TestCheckResourceAttr(dataSourceName, "lke_clusters.0.status", "ready"), resource.TestCheckResourceAttr(dataSourceName, "lke_clusters.0.tags.#", "1"), + resource.TestCheckResourceAttr(dataSourceName, "lke_clusters.0.tier", "standard"), resource.TestCheckResourceAttr(dataSourceName, "lke_clusters.0.control_plane.high_availability", "false"), ), }, diff --git a/linode/lkeclusters/framework_datasource_schema.go b/linode/lkeclusters/framework_datasource_schema.go index c3c07fc93..5e15069f7 100644 --- a/linode/lkeclusters/framework_datasource_schema.go +++ b/linode/lkeclusters/framework_datasource_schema.go @@ -16,6 +16,7 @@ var filterConfig = frameworkfilter.Config{ "created": {APIFilterable: false, TypeFunc: helper.FilterTypeString}, "updated": {APIFilterable: false, TypeFunc: helper.FilterTypeString}, "status": {APIFilterable: false, TypeFunc: helper.FilterTypeString}, + "tier": {APIFilterable: false, TypeFunc: helper.FilterTypeString}, } var frameworkDatasourceSchema = schema.Schema{ @@ -67,6 +68,10 @@ var frameworkDatasourceSchema = schema.Schema{ Computed: true, Description: "The status of the cluster.", }, + "tier": schema.StringAttribute{ + Computed: true, + Description: "The desired Kubernetes tier.", + }, }, Blocks: map[string]schema.Block{ "control_plane": schema.SingleNestedBlock{ diff --git a/linode/lkeclusters/framework_models.go b/linode/lkeclusters/framework_models.go index 446dde09b..d86c7eb97 100644 --- a/linode/lkeclusters/framework_models.go +++ b/linode/lkeclusters/framework_models.go @@ -30,6 +30,7 @@ type LKEClusterModel struct { K8sVersion types.String `tfsdk:"k8s_version"` Tags types.Set `tfsdk:"tags"` ControlPlane LKEControlPlaneModel `tfsdk:"control_plane"` + Tier types.String `tfsdk:"tier"` } type LKEControlPlaneModel struct { @@ -65,6 +66,7 @@ func (data *LKEClusterModel) parseLKECluster( data.Region = types.StringValue(cluster.Region) data.Status = types.StringValue(string(cluster.Status)) data.K8sVersion = types.StringValue(cluster.K8sVersion) + data.Tier = types.StringValue(cluster.Tier) tags, diags := types.SetValueFrom(ctx, types.StringType, cluster.Tags) if diags != nil { diff --git a/linode/lkeclusters/tmpl/data_base.gotf b/linode/lkeclusters/tmpl/data_base.gotf index 779109274..57fcaeb9b 100644 --- a/linode/lkeclusters/tmpl/data_base.gotf +++ b/linode/lkeclusters/tmpl/data_base.gotf @@ -5,6 +5,7 @@ resource "linode_lke_cluster" "test" { region = "{{ .Region }}" k8s_version = "{{.K8sVersion}}" tags = ["test"] + tier = "standard" pool { type = "g6-standard-2" @@ -13,14 +14,15 @@ resource "linode_lke_cluster" "test" { } resource "linode_lke_cluster" "test2" { - label = "2-{{.Label}}" + label = "{{.Label}}-2" region = "{{ .Region }}" k8s_version = "{{.K8sVersion}}" tags = ["test-2"] + tier = "standard" pool { type = "g6-standard-2" - count = 3 + count = 1 } } diff --git a/linode/lkeclusters/tmpl/data_filter.gotf b/linode/lkeclusters/tmpl/data_filter.gotf index 8504355af..d88fb4fb0 100644 --- a/linode/lkeclusters/tmpl/data_filter.gotf +++ b/linode/lkeclusters/tmpl/data_filter.gotf @@ -8,6 +8,11 @@ data "linode_lke_clusters" "test" { name = "label" values = ["{{.Label}}"] } + + filter { + name = "tier" + values = ["standard"] + } } {{ end }} \ No newline at end of file From 3fa711c4f7955fc4c6ca6de4659e63e8f48a07dd Mon Sep 17 00:00:00 2001 From: Ye Chen Date: Wed, 15 Jan 2025 17:01:23 -0500 Subject: [PATCH 3/4] upgrad linodego --- go.mod | 4 +--- go.sum | 2 ++ 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 18886c59a..8d62133fc 100644 --- a/go.mod +++ b/go.mod @@ -24,7 +24,7 @@ require ( github.com/hashicorp/terraform-plugin-mux v0.17.0 github.com/hashicorp/terraform-plugin-sdk/v2 v2.35.0 github.com/hashicorp/terraform-plugin-testing v1.11.0 - github.com/linode/linodego v1.45.0 + github.com/linode/linodego v1.46.0 github.com/linode/linodego/k8s v1.25.2 github.com/stretchr/testify v1.10.0 golang.org/x/crypto v0.32.0 @@ -124,5 +124,3 @@ require ( sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect sigs.k8s.io/yaml v1.3.0 // indirect ) - -replace github.com/linode/linodego => /Users/yechen/linode/dx-devenv/repos/linodego diff --git a/go.sum b/go.sum index bc7d8c4e3..a47487573 100644 --- a/go.sum +++ b/go.sum @@ -192,6 +192,8 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/linode/linodego v1.46.0 h1:+uOG4SD2MIrhbrLrvOD5HrbdLN3D19Wgn3MgdUNQjeU= +github.com/linode/linodego v1.46.0/go.mod h1:vyklQRzZUWhFVBZdYx4dcYJU/gG9yKB9VUcUs6ub0Lk= github.com/linode/linodego/k8s v1.25.2 h1:PY6S0sAD3xANVvM9WY38bz9GqMTjIbytC8IJJ9Cv23o= github.com/linode/linodego/k8s v1.25.2/go.mod h1:DC1XCSRZRGsmaa/ggpDPSDUmOM6aK1bhSIP6+f9Cwhc= github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= From 9faa7379373cd9761443c80618e96f427a70eef7 Mon Sep 17 00:00:00 2001 From: Ye Chen Date: Mon, 27 Jan 2025 16:30:19 -0500 Subject: [PATCH 4/4] forcenew --- linode/lke/schema_resource.go | 1 + 1 file changed, 1 insertion(+) diff --git a/linode/lke/schema_resource.go b/linode/lke/schema_resource.go index b63c3999f..65fdcae2d 100644 --- a/linode/lke/schema_resource.go +++ b/linode/lke/schema_resource.go @@ -67,6 +67,7 @@ var resourceSchema = map[string]*schema.Schema{ Type: schema.TypeString, Optional: true, Description: "The desired Kubernetes tier.", + ForceNew: true, }, "pool": { Type: schema.TypeList,