Skip to content

Commit 6af96ce

Browse files
committed
update certificate_config and zone_setting resource
1 parent cd9fa9b commit 6af96ce

5 files changed

+188
-198
lines changed

tencentcloud/services/teo/resource_tc_teo_certificate_config.go

Lines changed: 4 additions & 65 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

tencentcloud/services/teo/resource_tc_teo_certificate_config_extension.go

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,13 @@ package teo
22

33
import (
44
"context"
5+
"fmt"
6+
"log"
7+
"strings"
8+
9+
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
10+
11+
"github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/internal/helper"
512

613
tccommon "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/common"
714

@@ -96,3 +103,75 @@ func resourceTencentCloudTeoCertificateConfigUpdateOnExit(ctx context.Context) e
96103

97104
return nil
98105
}
106+
107+
func resourceTencentCloudTeoCertificateConfigUpdateOnStart(ctx context.Context) error {
108+
d := tccommon.ResourceDataFromContext(ctx)
109+
meta := tccommon.ProviderMetaFromContext(ctx)
110+
111+
logId := ctx.Value(tccommon.LogIdKey)
112+
113+
request := teo.NewModifyHostsCertificateRequest()
114+
115+
idSplit := strings.Split(d.Id(), tccommon.FILED_SP)
116+
if len(idSplit) != 2 {
117+
return fmt.Errorf("id is broken,%s", d.Id())
118+
}
119+
zoneId := idSplit[0]
120+
host := idSplit[1]
121+
122+
request.ZoneId = &zoneId
123+
request.Hosts = []*string{&host}
124+
125+
if v, ok := d.GetOk("server_cert_info"); ok {
126+
for _, item := range v.([]interface{}) {
127+
dMap := item.(map[string]interface{})
128+
serverCertInfo := teo.ServerCertInfo{}
129+
if v, ok := dMap["cert_id"]; ok {
130+
serverCertInfo.CertId = helper.String(v.(string))
131+
}
132+
if v, ok := dMap["alias"]; ok && v.(string) != "" {
133+
serverCertInfo.Alias = helper.String(v.(string))
134+
}
135+
if v, ok := dMap["type"]; ok && v.(string) != "" {
136+
serverCertInfo.Type = helper.String(v.(string))
137+
}
138+
if v, ok := dMap["expire_time"]; ok && v.(string) != "" {
139+
serverCertInfo.ExpireTime = helper.String(v.(string))
140+
} else {
141+
serverCertInfo.ExpireTime = nil
142+
}
143+
if v, ok := dMap["deploy_time"]; ok && v.(string) != "" {
144+
serverCertInfo.DeployTime = helper.String(v.(string))
145+
} else {
146+
serverCertInfo.DeployTime = nil
147+
}
148+
if v, ok := dMap["sign_algo"]; ok && v.(string) != "" {
149+
serverCertInfo.SignAlgo = helper.String(v.(string))
150+
}
151+
if v, ok := dMap["common_name"]; ok && v.(string) != "" {
152+
serverCertInfo.CommonName = helper.String(v.(string))
153+
}
154+
request.ServerCertInfo = append(request.ServerCertInfo, &serverCertInfo)
155+
}
156+
}
157+
158+
if v, ok := d.GetOk("mode"); ok {
159+
request.Mode = helper.String(v.(string))
160+
}
161+
162+
err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError {
163+
result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseTeoClient().ModifyHostsCertificate(request)
164+
if e != nil {
165+
return tccommon.RetryError(e)
166+
} else {
167+
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString())
168+
}
169+
return nil
170+
})
171+
if err != nil {
172+
log.Printf("[CRITAL]%s update teo certificate failed, reason:%+v", logId, err)
173+
return err
174+
}
175+
176+
return nil
177+
}

tencentcloud/services/teo/resource_tc_teo_certificate_config_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ resource "tencentcloud_teo_certificate_config" "certificate" {
6161
cert_id = "EEIqXrZt"
6262
common_name = var.zone_name
6363
//deploy_time = "2024-04-22T10:34:13Z"
64-
expire_time = "2025-04-22T23:59:59Z"
64+
//expire_time = "2025-04-22T23:59:59Z"
6565
sign_algo = "RSA 2048"
6666
type = "managed"
6767
}

tencentcloud/services/teo/resource_tc_teo_zone_setting.go

Lines changed: 0 additions & 26 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)