From 1bc88de7c550cc4713d3c3a908afa89d93a768ab Mon Sep 17 00:00:00 2001 From: gailwang Date: Tue, 7 Jul 2020 15:40:31 +0800 Subject: [PATCH 1/4] Resource: `tencentcloud_kubernetes_cluster_attachment` add new argument `worker_config` to support config with existing instances. --- CHANGELOG.md | 4 + tencentcloud/internal/helper/transform.go | 9 ++ tencentcloud/resource_tc_cam_role.go | 24 ++++ ...source_tc_kubernetes_cluster_attachment.go | 113 +++++++++++++++++- website/docs/r/cam_role.html.markdown | 24 ++++ ...ubernetes_cluster_attachment.html.markdown | 14 +++ 6 files changed, 187 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9ad39f1c37..d6b20c58c6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,8 @@ ## 1.39.0 (Unreleased) + +ENHANCEMENTS: +* Resource: `tencentcloud_kubernetes_cluster_attachment` add new argument `worker_config` to support config with existing instances. + ## 1.38.2 (July 03, 2020) BUG FIXES: diff --git a/tencentcloud/internal/helper/transform.go b/tencentcloud/internal/helper/transform.go index dd5b5f0c6f..4c915074a7 100644 --- a/tencentcloud/internal/helper/transform.go +++ b/tencentcloud/internal/helper/transform.go @@ -100,3 +100,12 @@ func BoolToInt64Pointer(s bool) (i *uint64) { i = &result return } + +func BoolToInt64(s bool) (i *int64) { + result := int64(0) + if s { + result = int64(1) + } + i = &result + return +} diff --git a/tencentcloud/resource_tc_cam_role.go b/tencentcloud/resource_tc_cam_role.go index 693e7bc119..c9c515058b 100644 --- a/tencentcloud/resource_tc_cam_role.go +++ b/tencentcloud/resource_tc_cam_role.go @@ -25,6 +25,30 @@ EOF } ``` +Created with SAML provider + +```hcl +resource "tencentcloud_cam_role" "boo" { + name = "cam-role-test" + document = < Date: Tue, 7 Jul 2020 15:48:07 +0800 Subject: [PATCH 2/4] rename user_script to user_data --- tencentcloud/resource_tc_kubernetes_cluster_attachment.go | 4 ++-- website/docs/r/kubernetes_cluster_attachment.html.markdown | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tencentcloud/resource_tc_kubernetes_cluster_attachment.go b/tencentcloud/resource_tc_kubernetes_cluster_attachment.go index 3fe3751e34..3a1e5f5e01 100644 --- a/tencentcloud/resource_tc_kubernetes_cluster_attachment.go +++ b/tencentcloud/resource_tc_kubernetes_cluster_attachment.go @@ -149,7 +149,7 @@ func TkeInstanceAdvancedSetting() map[string]*schema.Schema { }, }, }, - "user_script": { + "user_data": { Type: schema.TypeString, ForceNew: true, Optional: true, @@ -255,7 +255,7 @@ func tkeGetInstanceAdvancedPara(dMap map[string]interface{}, meta interface{}) ( setting.Unschedulable = helper.BoolToInt64(!dMap["is_schedule"].(bool)) - if v, ok := dMap["user_script"]; ok { + if v, ok := dMap["user_data"]; ok { setting.UserScript = helper.String(v.(string)) } diff --git a/website/docs/r/kubernetes_cluster_attachment.html.markdown b/website/docs/r/kubernetes_cluster_attachment.html.markdown index 12568a6d2e..f093181914 100644 --- a/website/docs/r/kubernetes_cluster_attachment.html.markdown +++ b/website/docs/r/kubernetes_cluster_attachment.html.markdown @@ -121,7 +121,7 @@ The `worker_config` object supports the following: * `docker_graph_path` - (Optional, ForceNew) Docker graph path. Default is `/var/lib/docker`. * `is_schedule` - (Optional, ForceNew) Indicate to schedule the adding node or not. Default is true. * `mount_target` - (Optional, ForceNew) Mount target. Default is not mounting. -* `user_script` - (Optional, ForceNew) Ase64-encoded User Data text, the length limit is 16KB. +* `user_data` - (Optional, ForceNew) Ase64-encoded User Data text, the length limit is 16KB. ## Attributes Reference From 67b292a82e2e1b072d812e3436296abb55daeb5d Mon Sep 17 00:00:00 2001 From: gailwang Date: Tue, 7 Jul 2020 17:06:45 +0800 Subject: [PATCH 3/4] fix description error --- tencentcloud/internal/helper/transform.go | 2 +- tencentcloud/resource_tc_cam_role.go | 6 ++++-- tencentcloud/resource_tc_kubernetes_cluster_attachment.go | 4 ++-- website/docs/r/cam_role.html.markdown | 6 ++++-- website/docs/r/kubernetes_cluster_attachment.html.markdown | 2 +- 5 files changed, 12 insertions(+), 8 deletions(-) diff --git a/tencentcloud/internal/helper/transform.go b/tencentcloud/internal/helper/transform.go index 4c915074a7..e3b35772e4 100644 --- a/tencentcloud/internal/helper/transform.go +++ b/tencentcloud/internal/helper/transform.go @@ -101,7 +101,7 @@ func BoolToInt64Pointer(s bool) (i *uint64) { return } -func BoolToInt64(s bool) (i *int64) { +func BoolToInt64Ptr(s bool) (i *int64) { result := int64(0) if s { result = int64(1) diff --git a/tencentcloud/resource_tc_cam_role.go b/tencentcloud/resource_tc_cam_role.go index c9c515058b..a87bff1bf8 100644 --- a/tencentcloud/resource_tc_cam_role.go +++ b/tencentcloud/resource_tc_cam_role.go @@ -3,6 +3,8 @@ Provides a resource to create a CAM role. Example Usage +Create normally + ```hcl resource "tencentcloud_cam_role" "foo" { name = "cam-role-test" @@ -25,7 +27,7 @@ EOF } ``` -Created with SAML provider +Create with SAML provider ```hcl resource "tencentcloud_cam_role" "boo" { @@ -35,7 +37,7 @@ resource "tencentcloud_cam_role" "boo" { "version": "2.0", "statement": [ { - "action": ["name/sts:AssumeRole"], + "action": ["name/sts:AssumeRole", "name/sts:AssumeRoleWithWebIdentity"], "effect": "allow", "principal": { "federated": ["qcs::cam::uin/3374997817:saml-provider/XXXX-oooo"] diff --git a/tencentcloud/resource_tc_kubernetes_cluster_attachment.go b/tencentcloud/resource_tc_kubernetes_cluster_attachment.go index 3a1e5f5e01..e9a91b6af4 100644 --- a/tencentcloud/resource_tc_kubernetes_cluster_attachment.go +++ b/tencentcloud/resource_tc_kubernetes_cluster_attachment.go @@ -153,7 +153,7 @@ func TkeInstanceAdvancedSetting() map[string]*schema.Schema { Type: schema.TypeString, ForceNew: true, Optional: true, - Description: "Ase64-encoded User Data text, the length limit is 16KB.", + Description: "Base64-encoded User Data text, the length limit is 16KB.", }, "is_schedule": { Type: schema.TypeBool, @@ -253,7 +253,7 @@ func tkeGetInstanceAdvancedPara(dMap map[string]interface{}, meta interface{}) ( } } - setting.Unschedulable = helper.BoolToInt64(!dMap["is_schedule"].(bool)) + setting.Unschedulable = helper.BoolToInt64Ptr(!dMap["is_schedule"].(bool)) if v, ok := dMap["user_data"]; ok { setting.UserScript = helper.String(v.(string)) diff --git a/website/docs/r/cam_role.html.markdown b/website/docs/r/cam_role.html.markdown index 8cf5283753..27ddd17b75 100644 --- a/website/docs/r/cam_role.html.markdown +++ b/website/docs/r/cam_role.html.markdown @@ -12,6 +12,8 @@ Provides a resource to create a CAM role. ## Example Usage +Create normally + ```hcl resource "tencentcloud_cam_role" "foo" { name = "cam-role-test" @@ -34,7 +36,7 @@ EOF } ``` -Created with SAML provider +Create with SAML provider ```hcl resource "tencentcloud_cam_role" "boo" { @@ -44,7 +46,7 @@ resource "tencentcloud_cam_role" "boo" { "version": "2.0", "statement": [ { - "action": ["name/sts:AssumeRole"], + "action": ["name/sts:AssumeRole", "name/sts:AssumeRoleWithWebIdentity"], "effect": "allow", "principal": { "federated": ["qcs::cam::uin/3374997817:saml-provider/XXXX-oooo"] diff --git a/website/docs/r/kubernetes_cluster_attachment.html.markdown b/website/docs/r/kubernetes_cluster_attachment.html.markdown index f093181914..265535d5f9 100644 --- a/website/docs/r/kubernetes_cluster_attachment.html.markdown +++ b/website/docs/r/kubernetes_cluster_attachment.html.markdown @@ -121,7 +121,7 @@ The `worker_config` object supports the following: * `docker_graph_path` - (Optional, ForceNew) Docker graph path. Default is `/var/lib/docker`. * `is_schedule` - (Optional, ForceNew) Indicate to schedule the adding node or not. Default is true. * `mount_target` - (Optional, ForceNew) Mount target. Default is not mounting. -* `user_data` - (Optional, ForceNew) Ase64-encoded User Data text, the length limit is 16KB. +* `user_data` - (Optional, ForceNew) Base64-encoded User Data text, the length limit is 16KB. ## Attributes Reference From 8a28f399dba837cee1ba736dc06ab26885e0ce11 Mon Sep 17 00:00:00 2001 From: gailwang Date: Tue, 7 Jul 2020 17:12:02 +0800 Subject: [PATCH 4/4] fix error example --- tencentcloud/resource_tc_cam_role.go | 4 ++-- website/docs/r/cam_role.html.markdown | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tencentcloud/resource_tc_cam_role.go b/tencentcloud/resource_tc_cam_role.go index a87bff1bf8..d0ea6a3415 100644 --- a/tencentcloud/resource_tc_cam_role.go +++ b/tencentcloud/resource_tc_cam_role.go @@ -16,7 +16,7 @@ resource "tencentcloud_cam_role" "foo" { "action": ["name/sts:AssumeRole"], "effect": "allow", "principal": { - "qcs": ["qcs::cam::uin/3374997817:uin/3374997817"] + "qcs": ["qcs::cam::uin/:uin/"] } } ] @@ -40,7 +40,7 @@ resource "tencentcloud_cam_role" "boo" { "action": ["name/sts:AssumeRole", "name/sts:AssumeRoleWithWebIdentity"], "effect": "allow", "principal": { - "federated": ["qcs::cam::uin/3374997817:saml-provider/XXXX-oooo"] + "federated": ["qcs::cam::uin/:saml-provider/"] } } ] diff --git a/website/docs/r/cam_role.html.markdown b/website/docs/r/cam_role.html.markdown index 27ddd17b75..95ddf9b828 100644 --- a/website/docs/r/cam_role.html.markdown +++ b/website/docs/r/cam_role.html.markdown @@ -25,7 +25,7 @@ resource "tencentcloud_cam_role" "foo" { "action": ["name/sts:AssumeRole"], "effect": "allow", "principal": { - "qcs": ["qcs::cam::uin/3374997817:uin/3374997817"] + "qcs": ["qcs::cam::uin/:uin/"] } } ] @@ -49,7 +49,7 @@ resource "tencentcloud_cam_role" "boo" { "action": ["name/sts:AssumeRole", "name/sts:AssumeRoleWithWebIdentity"], "effect": "allow", "principal": { - "federated": ["qcs::cam::uin/3374997817:saml-provider/XXXX-oooo"] + "federated": ["qcs::cam::uin/:saml-provider/"] } } ]