diff --git a/gendoc/main.go b/gendoc/main.go index 97a27d1cd3..b8832534b5 100644 --- a/gendoc/main.go +++ b/gendoc/main.go @@ -493,6 +493,10 @@ func formatUsageDesc(s string) string { for _, v := range m { title := strings.TrimSpace(v[1]) descp := strings.TrimSpace(v[2]) + if descp == "" { + rr = append(rr, title) + continue + } rr = append(rr, fmt.Sprintf("### %s\n\n%s", title, descp)) } diff --git a/tencentcloud/services/teo/resource_tc_teo_l7_acc_setting.go b/tencentcloud/services/teo/resource_tc_teo_l7_acc_setting.go index 9b95cef972..dac6844667 100644 --- a/tencentcloud/services/teo/resource_tc_teo_l7_acc_setting.go +++ b/tencentcloud/services/teo/resource_tc_teo_l7_acc_setting.go @@ -595,6 +595,11 @@ func resourceTencentCloudTeoL7AccSettingRead(d *schema.ResourceData, meta interf _ = d.Set("zone_name", respData.ZoneName) } + if v, ok := d.GetOk("zone_config"); ok { + _ = d.Set("zone_config", v) + return nil + } + zoneConfigMap := map[string]interface{}{} if respData.ZoneConfig != nil { diff --git a/tencentcloud/services/teo/resource_tc_teo_origin_group.go b/tencentcloud/services/teo/resource_tc_teo_origin_group.go index 843f8d560b..2282406751 100644 --- a/tencentcloud/services/teo/resource_tc_teo_origin_group.go +++ b/tencentcloud/services/teo/resource_tc_teo_origin_group.go @@ -53,6 +53,7 @@ func ResourceTencentCloudTeoOriginGroup() *schema.Resource { "records": { Type: schema.TypeSet, Required: true, + Set: teoOriginGroupRecordsHash, Description: "Origin site records.", Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ @@ -68,7 +69,6 @@ func ResourceTencentCloudTeoOriginGroup() *schema.Resource { }, "record_id": { Type: schema.TypeString, - Optional: true, Computed: true, Description: "Origin record ID.", }, @@ -289,23 +289,23 @@ func resourceTencentCloudTeoOriginGroupRead(d *schema.ResourceData, meta interfa recordsMap := map[string]interface{}{} if records.Record != nil { - recordsMap["record"] = records.Record + recordsMap["record"] = *records.Record } if records.Type != nil { - recordsMap["type"] = records.Type + recordsMap["type"] = *records.Type } if records.RecordId != nil { - recordsMap["record_id"] = records.RecordId + recordsMap["record_id"] = *records.RecordId } if records.Weight != nil { - recordsMap["weight"] = records.Weight + recordsMap["weight"] = int(*records.Weight) } if records.Private != nil { - recordsMap["private"] = records.Private + recordsMap["private"] = *records.Private } privateParametersList := make([]map[string]interface{}, 0, len(records.PrivateParameters)) @@ -314,11 +314,11 @@ func resourceTencentCloudTeoOriginGroupRead(d *schema.ResourceData, meta interfa privateParametersMap := map[string]interface{}{} if privateParameters.Name != nil { - privateParametersMap["name"] = privateParameters.Name + privateParametersMap["name"] = *privateParameters.Name } if privateParameters.Value != nil { - privateParametersMap["value"] = privateParameters.Value + privateParametersMap["value"] = *privateParameters.Value } privateParametersList = append(privateParametersList, privateParametersMap) diff --git a/tencentcloud/services/teo/resource_tc_teo_origin_group_extension.go b/tencentcloud/services/teo/resource_tc_teo_origin_group_extension.go index 95661f5fba..85aa3253e1 100644 --- a/tencentcloud/services/teo/resource_tc_teo_origin_group_extension.go +++ b/tencentcloud/services/teo/resource_tc_teo_origin_group_extension.go @@ -1 +1,56 @@ package teo + +import ( + "fmt" + "hash/crc32" + "sort" + "strings" +) + +func teoOriginGroupRecordsHash(v interface{}) int { + m, ok := v.(map[string]interface{}) + if !ok { + return 0 + } + + record := "" + if rv, ok := m["record"].(string); ok { + record = rv + } + + recordType := "" + if tv, ok := m["type"].(string); ok { + recordType = tv + } + + weight := 0 + if wv, ok := m["weight"].(int); ok { + weight = wv + } + + private := false + if pv, ok := m["private"].(bool); ok { + private = pv + } + + privateParamsSig := "" + if raw, ok := m["private_parameters"]; ok { + if list, ok := raw.([]interface{}); ok { + pairs := make([]string, 0, len(list)) + for _, item := range list { + pm, ok := item.(map[string]interface{}) + if !ok { + continue + } + name, _ := pm["name"].(string) + value, _ := pm["value"].(string) + pairs = append(pairs, name+"="+value) + } + sort.Strings(pairs) + privateParamsSig = strings.Join(pairs, ",") + } + } + + s := fmt.Sprintf("record=%s|type=%s|weight=%d|private=%t|private_parameters=%s", record, recordType, weight, private, privateParamsSig) + return int(crc32.ChecksumIEEE([]byte(s))) +} diff --git a/tencentcloud/services/thpc/resource_tc_thpc_workspaces.go b/tencentcloud/services/thpc/resource_tc_thpc_workspaces.go index 585b954b69..c2e63aa940 100644 --- a/tencentcloud/services/thpc/resource_tc_thpc_workspaces.go +++ b/tencentcloud/services/thpc/resource_tc_thpc_workspaces.go @@ -705,7 +705,7 @@ func resourceTencentCloudThpcWorkspacesCreate(d *schema.ResourceData, meta inter } if *result.Response.SpaceSet[0].SpaceState != SPACE_STATE_ONLINE { - return resource.RetryableError(fmt.Errorf("create thpc workspaces status is %d, requestId is %s", *result.Response.SpaceSet[0].SpaceState, *result.Response.RequestId)) + return resource.RetryableError(fmt.Errorf("create thpc workspaces status is %s, requestId is %s", *result.Response.SpaceSet[0].SpaceState, *result.Response.RequestId)) } return nil @@ -1338,7 +1338,7 @@ func resourceTencentCloudThpcWorkspacesDelete(d *schema.ResourceData, meta inter } if *result.Response.SpaceSet[0].SpaceState != SPACE_STATE_ARREARS { - return resource.RetryableError(fmt.Errorf("delete thpc workspaces status is %d, requestId is %s", *result.Response.SpaceSet[0].SpaceState, *result.Response.RequestId)) + return resource.RetryableError(fmt.Errorf("delete thpc workspaces status is %s, requestId is %s", *result.Response.SpaceSet[0].SpaceState, *result.Response.RequestId)) } return nil @@ -1380,7 +1380,7 @@ func resourceTencentCloudThpcWorkspacesDelete(d *schema.ResourceData, meta inter } if len(result.Response.SpaceSet) != 0 { - return resource.RetryableError(fmt.Errorf("delete thpc workspaces status is %d, requestId is %s", *result.Response.SpaceSet[0].SpaceState, *result.Response.RequestId)) + return resource.RetryableError(fmt.Errorf("delete thpc workspaces status is %s, requestId is %s", *result.Response.SpaceSet[0].SpaceState, *result.Response.RequestId)) } return nil