Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
dcc0f57
support teo
hellertang Aug 5, 2022
3f98ce0
support teo
hellertang Aug 8, 2022
f10ed3e
update go.sum
hellertang Aug 9, 2022
ddb134a
support teo
hellertang Aug 5, 2022
d6985d1
support teo
hellertang Aug 8, 2022
430d69d
update go.sum
hellertang Aug 9, 2022
42b58ea
rebase
hellertang Aug 25, 2022
cc881b1
update doc
hellertang Aug 25, 2022
8db8fff
update origin_group
hellertang Aug 25, 2022
848ca8b
add teo rule
hellertang Aug 28, 2022
c65aba3
add teo proxy
hellertang Aug 28, 2022
6f6dc21
add teo proxy rule
hellertang Aug 28, 2022
ebc1eed
update teo zone
hellertang Aug 28, 2022
af831a5
add zone settings
hellertang Aug 28, 2022
5a825e8
add security policy
hellertang Aug 28, 2022
9444258
add host certificate
hellertang Aug 28, 2022
daf1d56
tencentcloud_teo_dns_sec
hellertang Aug 28, 2022
ead2a2e
add tencentcloud_teo_default_certificate
hellertang Aug 28, 2022
691360d
fix: update type
gitmkn Aug 29, 2022
df1bca2
feat: support ddos policy
gitmkn Aug 29, 2022
4f0c746
fix: support and update
gitmkn Aug 29, 2022
fd2d17c
fix: update paused
gitmkn Aug 29, 2022
30cc9cf
fix: add zone area
gitmkn Aug 29, 2022
85b0575
fix: Cancel ddos policy support
gitmkn Aug 30, 2022
98591b3
fix: Cancel ddos policy support
gitmkn Aug 30, 2022
788463b
feat: add ddos policy data resource
gitmkn Aug 31, 2022
abcfac2
fix: Modify experience problems
gitmkn Aug 31, 2022
720b8c3
fix: make fmt、make doc、support import
gitmkn Aug 31, 2022
0d7974e
fix: Revise test questions and revise doc
gitmkn Aug 31, 2022
6365242
fix: Modify test questions
gitmkn Aug 31, 2022
4378360
fix: add available plans data source
gitmkn Aug 31, 2022
65d2b51
fix: Modify test questions
gitmkn Aug 31, 2022
ca8d728
fix: modify price type
gitmkn Aug 31, 2022
33981fe
fix: date source set id
gitmkn Aug 31, 2022
8109bcf
fix: update ip
gitmkn Aug 31, 2022
42d17d8
fix: modify error fields
gitmkn Aug 31, 2022
0e77ea8
fix: id set default value
gitmkn Aug 31, 2022
0f1c316
fix: modify test
gitmkn Aug 31, 2022
671416d
fix: delete unit test
gitmkn Aug 31, 2022
4fbf289
fix: skip unit tests
gitmkn Sep 1, 2022
a221faa
update teo doc
hellertang Sep 1, 2022
c9ed864
update teo doc
hellertang Sep 1, 2022
049d515
Merge branch 'feat/support_teo' of https://github.com/tencentcloudsta…
hellertang Sep 1, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ require (
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.445
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.199
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.412
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.480
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.486
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.445
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.359
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dayu v1.0.335
Expand All @@ -60,6 +60,7 @@ require (
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tcr v1.0.267
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tdmq v1.0.268
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tem v1.0.472
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/teo v1.0.486
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke v1.0.480
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vod v1.0.199
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.479
Expand Down
13 changes: 13 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -489,11 +489,16 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.413/go.mod
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.414/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.443/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.445/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.463/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.466/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.472/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.479/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.480 h1:Dwnfdrk3KXpYRH9Kwrk9sHpZSOmrE7P9LBoNsYUJKR4=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.480/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.484 h1:x37ASMnNHHh7X0JpEhJmUz4OQL9DCIoXB0wv8u1TKic=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.484/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.486 h1:MUO3Gp/jo/t0NBJ2TLH2sDjy+b/eJUCGgBT+7BfN2yE=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.486/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.445 h1:Bh7XD0ypNMHYyBOM8hhKsSu+y0VVKUnJVS+YKKhfpGg=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.445/go.mod h1:jMDD351efCFpT1+KVFbcpu6SbmP4TYmp4qkoCfr63nQ=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.359 h1:cNKqelPgUxrJkLY0Azd2QHr/UMYOPPnmqs88clt2akk=
Expand Down Expand Up @@ -547,6 +552,14 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tdmq v1.0.268 h1:ez5lvK
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tdmq v1.0.268/go.mod h1:fchXZhmqaYaG2c4wTCBTdnW6TFAtxl3D/P/yuuuLMfA=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tem v1.0.472 h1:9Jzrgx78+5XnZ8myNYjCYZn5ZF+tbSIpF6KWGgWr0uY=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tem v1.0.472/go.mod h1:ayIL2FNqk7HH5fPQrkWtYjgU4jL7if63f7x+yRwb4a0=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/teo v1.0.463 h1:QA9uGf9PjzitWIRFtf/NjsB4HjeuJdFi43RvTXNJQ5M=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/teo v1.0.463/go.mod h1:D8kkDqqTJQe/qYhXsQkwD3ACxXPoAXwNR4JWe1rOQIs=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/teo v1.0.480 h1:sP9z+Q7acbqElkzRfWbESLWycmpQHFKM+qIbeFyW24I=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/teo v1.0.480/go.mod h1:XC6UD5UnzncR6O48Ya/FsIdkiPJT/jSKlUjolzpfayg=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/teo v1.0.484 h1:7+1ltleuaAz/jI3NIapvOsl7wzu8UcJYjnh+d4UWAtc=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/teo v1.0.484/go.mod h1:o3AyKFiYfjK7U/DsDzz1XmTRmXrTsemx/gx/630d+DE=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/teo v1.0.486 h1:JRtQYtJB9sErV9tXY6xbrC3RmXNepBKd7aV3inxkUPs=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/teo v1.0.486/go.mod h1:wtPJIKxQUR3KoL2KWAt/Qi8KMR4ayKHiOeVJ6sTSC4U=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke v1.0.480 h1:oZptW2Fo1pW8fKz/dv+RJLr2q8UC1qkqDqWs3rDgvQ8=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke v1.0.480/go.mod h1:rs+BUoY53xfiE5sRsVk2RpsjgzODtq52xiBTc6WTWWM=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vod v1.0.199 h1:6Yt74l4pA5QtzhwMNIEUt0spXdSBKH744DDqTHJOCP0=
Expand Down
15 changes: 15 additions & 0 deletions tencentcloud/connectivity/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ import (
tcr "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tcr/v20190924"
tdmq "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tdmq/v20200217"
tem "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tem/v20210701"
teo "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/teo/v20220106"
tke "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke/v20180525"
vod "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vod/v20180717"
vpc "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc/v20170312"
Expand Down Expand Up @@ -119,6 +120,7 @@ type TencentCloudClient struct {
domainConn *domain.Client
lighthouseConn *lighthouse.Client
temConn *tem.Client
teoConn *teo.Client
}

// NewClientProfile returns a new ClientProfile
Expand Down Expand Up @@ -746,6 +748,19 @@ func (me *TencentCloudClient) UseTemClient() *tem.Client {
return me.temConn
}

// UseTeoClient returns teo client for service
func (me *TencentCloudClient) UseTeoClient() *teo.Client {
if me.teoConn != nil {
return me.teoConn
}

cpf := me.NewClientProfile(300)
me.teoConn, _ = teo.NewClient(me.Credential, me.Region, cpf)
me.teoConn.WithHttpTransport(&LogRoundTripper{})

return me.teoConn
}

func getEnvDefault(key string, defVal int) int {
val, ex := os.LookupEnv(key)
if !ex {
Expand Down
130 changes: 130 additions & 0 deletions tencentcloud/data_source_tc_teo_zone_available_plans.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
/*
Use this data source to query zone available plans.

Example Usage

```hcl
data "tencentcloud_teo_zone_available_plans" "available_plans" {}
```
*/
package tencentcloud

import (
"context"
"log"

"github.com/hashicorp/terraform-plugin-sdk/helper/resource"
"github.com/hashicorp/terraform-plugin-sdk/helper/schema"
teo "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/teo/v20220106"
)

func dataSourceTencentCloudTeoZoneAvailablePlans() *schema.Resource {
return &schema.Resource{
Read: dataSourceTencentCloudTeoZoneAvailablePlansRead,

Schema: map[string]*schema.Schema{
"plan_info_list": {
Type: schema.TypeList,
Computed: true,
Description: "Available plans for a zone.",
Elem: &schema.Resource{
Schema: map[string]*schema.Schema{
"plan_type": {
Type: schema.TypeString,
Computed: true,
Description: "Plan type.",
},
"currency": {
Type: schema.TypeString,
Computed: true,
Description: "Currency type. Valid values: `CNY`, `USD`.",
},
"flux": {
Type: schema.TypeInt,
Computed: true,
Description: "The number of fluxes included in the zone plan. Unit: Byte.",
},
"frequency": {
Type: schema.TypeString,
Computed: true,
Description: "Billing cycle. Valid values: `y`: Billed by the year; `m`: Billed by the month; `h`: Billed by the hour; `M`: Billed by the minute; `s`: Billed by the second.",
},
"price": {
Type: schema.TypeInt,
Computed: true,
Description: "Price of the plan. Unit: cent.",
},
"request": {
Type: schema.TypeInt,
Computed: true,
Description: "The number of requests included in the zone plan.",
},
"site_number": {
Type: schema.TypeInt,
Computed: true,
Description: "The number of zones this zone plan can bind.",
},
},
},
},
"result_output_file": {
Type: schema.TypeString,
Optional: true,
Description: "Used for save results.",
},
},
}
}

func dataSourceTencentCloudTeoZoneAvailablePlansRead(d *schema.ResourceData, meta interface{}) error {
defer logElapsed("data_source.tencentcloud_teo_zone_available_plans.read")()

var (
logId = getLogId(contextNil)
ctx = context.WithValue(context.TODO(), logIdKey, logId)
service = TeoService{client: meta.(*TencentCloudClient).apiV3Conn}
availablePlans *teo.DescribeAvailablePlansResponseParams
err error
)

var outErr, inErr error
availablePlans, outErr = service.DescribeAvailablePlans(ctx)
if outErr != nil {
outErr = resource.Retry(readRetryTimeout, func() *resource.RetryError {
availablePlans, inErr = service.DescribeAvailablePlans(ctx)
if inErr != nil {
return retryError(inErr)
}
return nil
})
}

planInfos := availablePlans.PlanInfoList
planInfoList := make([]map[string]interface{}, 0, len(planInfos))
for _, v := range planInfos {
planInfo := map[string]interface{}{
"plan_type": v.PlanType,
"currency": v.Currency,
"flux": v.Flux,
"frequency": v.Frequency,
"price": v.Price,
"request": v.Request,
"site_number": v.SiteNumber,
}
planInfoList = append(planInfoList, planInfo)
}
if err = d.Set("plan_info_list", planInfoList); err != nil {
log.Printf("[CRITAL]%s provider set list fail, reason:%s", logId, err.Error())
return err
}

d.SetId("zone_available_plans")

output, ok := d.GetOk("result_output_file")
if ok && output.(string) != "" {
if e := writeToFile(output.(string), planInfoList); e != nil {
return e
}
}
return nil
}
Loading