Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
82 commits
Select commit Hold shift + click to select a range
d3e14fb
fix: update teo resource
gitmkn Sep 14, 2022
541328e
fix: update service
gitmkn Sep 14, 2022
807634c
fix: update sdk version
gitmkn Sep 14, 2022
5de2a2b
fix: update sdk version
gitmkn Sep 14, 2022
e6fa504
fix: update zone
gitmkn Sep 14, 2022
ae0cbb7
feat: support teo data source
gitmkn Sep 15, 2022
28de3e0
fix: create zone
Sep 15, 2022
0ccd8ee
fix: update zone
gitmkn Sep 15, 2022
eff40ad
fix: update provider
gitmkn Sep 15, 2022
e5a42b0
fix: update teo data source
gitmkn Sep 15, 2022
7f7a637
fix: update bot_portrait_rules
gitmkn Sep 15, 2022
66f5f7b
fix: update zone_available_plans
gitmkn Sep 15, 2022
0b7def2
fix: update teo_security_policy_regions
gitmkn Sep 15, 2022
bd42763
fix: update security_policy_regions
gitmkn Sep 15, 2022
4ab3d36
fix: modify teo source
gitmkn Sep 16, 2022
645209c
fix: see list below.
Sep 16, 2022
673e276
fix: update teo resource
gitmkn Sep 16, 2022
9715871
Merge branch 'fix/teo-support-change' of github.com:gitmkn/terraform-…
gitmkn Sep 16, 2022
c601619
fix: don't change plan_type when read zone info.
Sep 16, 2022
a4ccf52
fix: go fmt
gitmkn Sep 16, 2022
09ddb28
Merge branch 'fix/teo-support-change' of github.com:gitmkn/terraform-…
gitmkn Sep 16, 2022
cadb9ca
fix: update teo rule
gitmkn Sep 16, 2022
cffa32a
fix: don't use default empty string to fill update request.
Sep 16, 2022
5bc9c4e
fix: delete tags field in tencentcloud_teo_zone_setting.
Sep 16, 2022
30adc39
fix: zone tag.
Sep 16, 2022
5e3190b
fix: update teo rule priority
gitmkn Sep 16, 2022
20bd94f
Merge branch 'fix/teo-support-change' of github.com:gitmkn/terraform-…
gitmkn Sep 16, 2022
e8c8091
fix: update teo origin_group
gitmkn Sep 18, 2022
0ee9812
fix: update teo load balancing
gitmkn Sep 18, 2022
71053ac
fix: update teo example
gitmkn Sep 18, 2022
def1a57
fix: update teo application proxy
gitmkn Sep 18, 2022
bfe6c65
fix: update teo application_proxy_rule
gitmkn Sep 18, 2022
6d2d234
fix: update teo ddos policy
gitmkn Sep 18, 2022
b8536ec
fix: update teo default_certificate
gitmkn Sep 18, 2022
b621d3e
fix: zone filed, cname_speed_up and paused
Sep 19, 2022
22c7ef0
fix: always use tag API.
Sep 19, 2022
747c25b
fix: zoneSetting ignore InvalidParameter.ZoneNotFound when creating.
Sep 19, 2022
17a89f2
fix: retry when creating or deleting dns records.
Sep 19, 2022
c7b641e
fix: update teo_host_certificate
gitmkn Sep 19, 2022
a653227
Merge branch 'fix/teo-support-change' of github.com:gitmkn/terraform-…
gitmkn Sep 19, 2022
30b2fa8
fix: retry when creating or deleting resources.
Sep 19, 2022
68d3a82
Merge remote-tracking branch 'arun/fix/teo-support-change' into fix/t…
Sep 19, 2022
647c761
fix: must check zone access completion before add dns record.
Sep 19, 2022
9021123
fix: support teo_custom_error_page
gitmkn Sep 19, 2022
29c5b6b
Merge branch 'fix/teo-support-change' of github.com:gitmkn/terraform-…
gitmkn Sep 19, 2022
fa9e953
fix: zero value is valid.
Sep 19, 2022
87e5812
Merge remote-tracking branch 'arun/fix/teo-support-change' into fix/t…
Sep 19, 2022
78719eb
fix: delete all useless `tags` fields.
Sep 19, 2022
8cc3986
fix: setting `status` to offline automatically.
Sep 19, 2022
509edcc
fix: update teo_security_policy
gitmkn Sep 19, 2022
83c3f8f
fix: merge
gitmkn Sep 19, 2022
30711e1
fix: go fmt
gitmkn Sep 19, 2022
384b0df
fix: update teo sdk and doc
gitmkn Sep 20, 2022
c863ae5
fix: update teo sdk and doc
gitmkn Sep 20, 2022
4576dbe
fix: application proxy rule
Sep 20, 2022
776bb23
fix: update teo_security_policy
gitmkn Sep 20, 2022
8f1b50e
fix: update teo_security_policy
gitmkn Sep 20, 2022
9fa6e78
fix: update teo_security_policy
gitmkn Sep 20, 2022
3bd8416
fix: merge master
gitmkn Sep 20, 2022
bade07e
fix: rule engine improve
Sep 20, 2022
8923ea8
Merge remote-tracking branch 'arun/fix/teo-support-change' into fix/t…
Sep 20, 2022
7c53333
fix: default certificate improved
Sep 20, 2022
7f13c04
fix: pageSize is incorrect
Sep 20, 2022
bb4c1fb
fix: delete `total`
Sep 20, 2022
2b22271
fix: read data source
Sep 20, 2022
685115e
fix: error page creation
Sep 20, 2022
290529d
fix: security_policy support importer
gitmkn Sep 20, 2022
fe6932d
Merge branch 'fix/teo-support-change' of github.com:gitmkn/terraform-…
gitmkn Sep 20, 2022
55e6a02
fix: update error page
gitmkn Sep 21, 2022
a7affe7
fix: rule_engine change fields
Sep 21, 2022
ab3a3b5
fix: ddosPolicy creation
Sep 21, 2022
a27d329
fix: ddosPolicy & securityPolicy document
Sep 21, 2022
86f5745
fix: clean up teo docs
Sep 21, 2022
09b23d5
fix: creation of ddos and security policy
Sep 21, 2022
761368b
fix: delete `udp_shard_open`
Sep 21, 2022
fffa095
fix: doc improvement
Sep 21, 2022
2fd6d81
fix: check zone active before create applicationProxy
Sep 21, 2022
03df632
fix: for batch creation or deletion
Sep 21, 2022
2500cc2
fix: `ipv6` is readable.
Sep 21, 2022
fa48ba7
fix: go fmt and update doc
gitmkn Sep 21, 2022
075bc45
fix: update datasource id
gitmkn Sep 21, 2022
59c61ec
fix: update doc
gitmkn Sep 21, 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
4 changes: 2 additions & 2 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,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.494
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.500
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.445
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.488
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dayu v1.0.335
Expand All @@ -61,7 +61,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/teo v1.0.500
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke v1.0.489
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vod v1.0.199
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.479
Expand Down
12 changes: 11 additions & 1 deletion go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -481,12 +481,18 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.472/go.mod
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/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.486/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.487 h1:6PCOaohR7z/5lbK1PDJRg0TY9tYK7zvjmDxY1yXWsQE=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.487/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.488 h1:rFQ+2+p2sFMdSGE99zc5oqN3TvYVK9Vxbp+wZJjTrHw=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.488/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.489 h1:707A5KMvEapIjH+QWUGHn+Re57VpGz8RzFEoxMAs6FI=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.489/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.490 h1:mmz27tVi2r70JYnm5y0Zk8w0Qzsx+vfUw3oqSyrEfP8=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.490/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.493/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.494 h1:IC3vvhWYomlthgXvBAQbP/M/YW+OpcodyYz4gU3JCiQ=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.494/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.500 h1:xuc9CRLhkpww61x5/k2cZ1tx8zGTEzE1+pv/1bSWlPI=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.500/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.488 h1:A1seXWtMf2atBjSNYvcwxyDoFzCMgqyVnsxnWzhqJEA=
Expand Down Expand Up @@ -542,6 +548,10 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tem v1.0.472 h1:9Jzrgx7
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.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/teo v1.0.500 h1:8pOrQK3GLskFEHGYR3s6is0YLAgSe7vYs7wdC+brA30=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/teo v1.0.500/go.mod h1:eQfp4Z6W1vg5vBVkR6i/ZdgKeXWoMECCvQKGTvU5dP0=
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/tke v1.0.489 h1:61QTzF5vjDthscsPh2WGL1bLlmOjIJ6PB2+pIihzeTI=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke v1.0.489/go.mod h1:ECfO9sL5b6ZDhQWx2k85JtrCWOC3kH1KFw00TGlBL6Y=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vod v1.0.199 h1:6Yt74l4pA5QtzhwMNIEUt0spXdSBKH744DDqTHJOCP0=
Expand Down
2 changes: 2 additions & 0 deletions tencentcloud/common.go
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,8 @@ var retryableErrorCode = []string{
"ResourceUnavailable",
// cbs
"ResourceBusy",
// teo
"InvalidParameter.ActionInProgress",
}

func init() {
Expand Down
2 changes: 1 addition & 1 deletion tencentcloud/connectivity/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +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"
teo "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/teo/v20220901"
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
145 changes: 145 additions & 0 deletions tencentcloud/data_source_tc_teo_bot_managed_rules.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
/*
Use this data source to query detailed information of teo botManagedRules

Example Usage

```hcl
data "tencentcloud_teo_bot_managed_rules" "botManagedRules" {
zone_id = ""
entity = ""
}
```
*/
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/v20220901"
)

func dataSourceTencentCloudTeoBotManagedRules() *schema.Resource {
return &schema.Resource{
Read: dataSourceTencentCloudTeoBotManagedRulesRead,
Schema: map[string]*schema.Schema{
"zone_id": {
Type: schema.TypeString,
Required: true,
Description: "Site ID.",
},

"entity": {
Type: schema.TypeString,
Required: true,
Description: "Subdomain or application name.",
},

"rules": {
Type: schema.TypeList,
Computed: true,
Description: "Managed rules list.",
Elem: &schema.Resource{
Schema: map[string]*schema.Schema{
"rule_id": {
Type: schema.TypeInt,
Computed: true,
Description: "Rule ID.",
},
"description": {
Type: schema.TypeString,
Computed: true,
Description: "Description of the rule.",
},
"rule_type_name": {
Type: schema.TypeString,
Computed: true,
Description: "Type of the rule.",
},
"status": {
Type: schema.TypeString,
Computed: true,
Description: "Status of the rule.",
},
},
},
},

"result_output_file": {
Type: schema.TypeString,
Optional: true,
Description: "Used to save results.",
},
},
}
}

func dataSourceTencentCloudTeoBotManagedRulesRead(d *schema.ResourceData, meta interface{}) error {
defer logElapsed("data_source.tencentcloud_teo_bot_managed_rules.read")()
defer inconsistentCheck(d, meta)()

logId := getLogId(contextNil)
ctx := context.WithValue(context.TODO(), logIdKey, logId)
var zoneId string
var entity string

paramMap := make(map[string]interface{})
if v, ok := d.GetOk("zone_id"); ok {
zoneId = v.(string)
paramMap["zone_id"] = v
}

if v, ok := d.GetOk("entity"); ok {
paramMap["entity"] = v
}

teoService := TeoService{client: meta.(*TencentCloudClient).apiV3Conn}

var rules []*teo.BotManagedRuleDetail
err := resource.Retry(readRetryTimeout, func() *resource.RetryError {
results, e := teoService.DescribeTeoBotManagedRulesByFilter(ctx, paramMap)
if e != nil {
return retryError(e)
}
rules = results
return nil
})
if err != nil {
log.Printf("[CRITAL]%s read Teo rules failed, reason:%+v", logId, err)
return err
}

ruleList := []interface{}{}
if rules != nil {
for _, rule := range rules {
ruleMap := map[string]interface{}{}
if rule.RuleId != nil {
ruleMap["rule_id"] = rule.RuleId
}
if rule.Description != nil {
ruleMap["description"] = rule.Description
}
if rule.RuleTypeName != nil {
ruleMap["rule_type_name"] = rule.RuleTypeName
}
if rule.Status != nil {
ruleMap["status"] = rule.Status
}

ruleList = append(ruleList, ruleMap)
}
_ = d.Set("rules", ruleList)
}

d.SetId(zoneId + FILED_SP + entity)

output, ok := d.GetOk("result_output_file")
if ok && output.(string) != "" {
if e := writeToFile(output.(string), ruleList); e != nil {
return e
}
}
return nil
}
33 changes: 33 additions & 0 deletions tencentcloud/data_source_tc_teo_bot_managed_rules_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package tencentcloud

import (
"testing"

"github.com/hashicorp/terraform-plugin-sdk/helper/resource"
)

func TestAccTencentCloudTeoBotManagedRulesDataSource(t *testing.T) {
t.Parallel()

resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
Providers: testAccProviders,
Steps: []resource.TestStep{
{
Config: testAccDataSourceTeoBotManagedRules,
Check: resource.ComposeTestCheckFunc(
testAccCheckTencentCloudDataSourceID("data.tencentcloud_teo_bot_managed_rules.bot_managed_rules"),
),
},
},
})
}

const testAccDataSourceTeoBotManagedRules = `

data "tencentcloud_teo_bot_managed_rules" "bot_managed_rules" {
zone_id = ""
entity = ""
}

`
Loading