Skip to content

Commit ff020a6

Browse files
committed
fix(cdn): supprot cdn domin other bucket
1 parent 98cfc23 commit ff020a6

File tree

9 files changed

+3583
-2320
lines changed

9 files changed

+3583
-2320
lines changed

go.mod

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ require (
3636
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cat v1.0.825
3737
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cbs v1.0.591
3838
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdb v1.0.944
39-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdn v1.0.539
39+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdn v1.0.1010
4040
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwch v1.0.843
4141
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cfs v1.0.627
4242
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cfw v1.0.841
@@ -46,7 +46,7 @@ require (
4646
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.984
4747
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.544
4848
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.970
49-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1008
49+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1010
5050
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.960
5151
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cwp v1.0.762
5252
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.692

go.sum

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -842,6 +842,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdc v1.0.970 h1:0A6PwOa
842842
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdc v1.0.970/go.mod h1:H4k8QCKds731GA9pmSOfHJ99ZOZhy+gKvX1/N2DOsQQ=
843843
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdn v1.0.539 h1:0L6nZhT2bToTc/n1z3HOpNgdu5VX5ulmqIuPY+8UozA=
844844
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdn v1.0.539/go.mod h1:6Syk7W5fdDf0BLvX+RXL5obQ6unkt3Id4aN2QqVrV6U=
845+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdn v1.0.1010 h1:sO0vW6E09xFQ5+I8mfvAyIlRZvWBWPf6ilZU5LI4lmE=
846+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdn v1.0.1010/go.mod h1:/UDEkf2UhUud19VVMGMTpyiI7HoE3U/c23uoAqDgIWA=
845847
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwch v1.0.843 h1:3Xr3UPscUfi5jAzCtwQjDfDf4TPsbUxsCrDdHo6xIRI=
846848
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwch v1.0.843/go.mod h1:XTZXr3hF0pPTd3jD/vm90FhJEOvILL3d2u43Q52xZX8=
847849
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwdoris v1.0.993 h1:b4EFXmAFslKvrFLogWXNQCAVDKG1/IZsR/L4sDmEbr8=
@@ -932,6 +934,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1006 h1:WX1
932934
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1006/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
933935
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1008 h1:BQJUiwOi2d368bF1qmdCjHjUMEt24vM6d68r9S+OrQM=
934936
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1008/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
937+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1010 h1:HwhKTg+VcQd5M9AyaEZaqKmpKuWxbf5kni23g1KRmOk=
938+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1010/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
935939
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/controlcenter v1.0.993 h1:WlPgXldQCxt7qi5Xrc6j6zTrsXWzN5BcOGs7Irq7fwQ=
936940
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/controlcenter v1.0.993/go.mod h1:Z9U8zNtyuyKhjS0698wqsrG/kLx1TQ5CEixXBwVe7xY=
937941
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/csip v1.0.860 h1:F3esKBIT3HW9+7Gt8cVgf8X06VdGIczpgLBUECzSEzU=

tencentcloud/services/cdn/resource_tc_cdn_domain.go

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1521,6 +1521,43 @@ func ResourceTencentCloudCdnDomain() *schema.Resource {
15211521
},
15221522
},
15231523
},
1524+
"others_private_access": {
1525+
Type: schema.TypeList,
1526+
MaxItems: 1,
1527+
Optional: true,
1528+
Description: "Object storage back-to-source authentication of other vendors.",
1529+
Elem: &schema.Resource{
1530+
Schema: map[string]*schema.Schema{
1531+
"switch": {
1532+
Type: schema.TypeString,
1533+
Required: true,
1534+
Description: "Configuration switch, available values: `on`, `off` (default).",
1535+
},
1536+
"access_key": {
1537+
Type: schema.TypeString,
1538+
Optional: true,
1539+
Description: "Access ID.",
1540+
Sensitive: true,
1541+
},
1542+
"secret_key": {
1543+
Type: schema.TypeString,
1544+
Optional: true,
1545+
Description: "Key.",
1546+
Sensitive: true,
1547+
},
1548+
"region": {
1549+
Type: schema.TypeString,
1550+
Optional: true,
1551+
Description: "Region.",
1552+
},
1553+
"bucket": {
1554+
Type: schema.TypeString,
1555+
Optional: true,
1556+
Description: "Bucket.",
1557+
},
1558+
},
1559+
},
1560+
},
15241561
"tags": {
15251562
Type: schema.TypeMap,
15261563
Optional: true,
@@ -2389,6 +2426,24 @@ func resourceTencentCloudCdnDomainCreate(d *schema.ResourceData, meta interface{
23892426
request.QnPrivateAccess.SecretKey = &v
23902427
}
23912428
}
2429+
if v, ok := helper.InterfacesHeadMap(d, "others_private_access"); ok {
2430+
vSwitch := v["switch"].(string)
2431+
request.OthersPrivateAccess = &cdn.OthersPrivateAccess{
2432+
Switch: &vSwitch,
2433+
}
2434+
if v, ok := v["access_key"].(string); ok && v != "" {
2435+
request.OthersPrivateAccess.AccessKey = &v
2436+
}
2437+
if v, ok := v["secret_key"].(string); ok && v != "" {
2438+
request.OthersPrivateAccess.SecretKey = &v
2439+
}
2440+
if v, ok := v["region"].(string); ok && v != "" {
2441+
request.OthersPrivateAccess.Region = &v
2442+
}
2443+
if v, ok := v["bucket"].(string); ok && v != "" {
2444+
request.OthersPrivateAccess.Bucket = &v
2445+
}
2446+
}
23922447

23932448
if v := d.Get("explicit_using_dry_run").(bool); v {
23942449
d.SetId(domain)
@@ -3027,6 +3082,15 @@ func resourceTencentCloudCdnDomainRead(d *schema.ResourceData, meta interface{})
30273082
"secret_key": dc.QnPrivateAccess.SecretKey,
30283083
})
30293084
}
3085+
if ok := checkCdnInfoWritable(d, "others_private_access", dc.OthersPrivateAccess); ok {
3086+
_ = helper.SetMapInterfaces(d, "others_private_access", map[string]interface{}{
3087+
"switch": dc.OthersPrivateAccess.Switch,
3088+
"access_key": dc.OthersPrivateAccess.AccessKey,
3089+
"secret_key": dc.OthersPrivateAccess.SecretKey,
3090+
"bucket": dc.OthersPrivateAccess.Bucket,
3091+
"region": dc.OthersPrivateAccess.Region,
3092+
})
3093+
}
30303094

30313095
tags, errRet := tagService.DescribeResourceTags(ctx, CDN_SERVICE_NAME, CDN_RESOURCE_NAME_DOMAIN, region, domain)
30323096
if errRet != nil {
@@ -3883,6 +3947,24 @@ func resourceTencentCloudCdnDomainUpdate(d *schema.ResourceData, meta interface{
38833947
request.QnPrivateAccess.SecretKey = &v
38843948
}
38853949
}
3950+
if v, ok, hasChanged := checkCdnHeadMapOkAndChanged(d, "others_private_access"); ok && hasChanged {
3951+
vSwitch := v["switch"].(string)
3952+
request.OthersPrivateAccess = &cdn.OthersPrivateAccess{
3953+
Switch: &vSwitch,
3954+
}
3955+
if v, ok := v["access_key"].(string); ok && v != "" {
3956+
request.OthersPrivateAccess.AccessKey = &v
3957+
}
3958+
if v, ok := v["secret_key"].(string); ok && v != "" {
3959+
request.OthersPrivateAccess.SecretKey = &v
3960+
}
3961+
if v, ok := v["region"].(string); ok && v != "" {
3962+
request.OthersPrivateAccess.Region = &v
3963+
}
3964+
if v, ok := v["bucket"].(string); ok && v != "" {
3965+
request.OthersPrivateAccess.Bucket = &v
3966+
}
3967+
}
38863968

38873969
if v := d.Get("explicit_using_dry_run").(bool); v {
38883970
_ = d.Set("dry_run_update_result", request.ToJsonString())

0 commit comments

Comments
 (0)