Skip to content

Commit cea00cb

Browse files
authored
fix(teo): [117910882] Change action to Optional (#2672)
* fix: Change action to Optional * feat: add changelog * fix: T+3
1 parent 4f46dc3 commit cea00cb

File tree

5 files changed

+114
-44
lines changed

5 files changed

+114
-44
lines changed

.changelog/2672.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:enhancement
2+
resource/tencentcloud_teo_rule_engine: Change action to Optional
3+
```

tencentcloud/services/teo/resource_tc_teo_rule_engine.go

Lines changed: 32 additions & 36 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_rule_engine_test.go

Lines changed: 75 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,26 @@ func TestAccTencentCloudTeoRuleEngine_basic(t *testing.T) {
8080
resource.TestCheckResourceAttr("tencentcloud_teo_rule_engine.basic", "tags.#", "2"),
8181
),
8282
},
83+
{
84+
Config: testAccTeoRuleEngineActionUp,
85+
Check: resource.ComposeTestCheckFunc(
86+
testAccCheckRuleEngineExists("tencentcloud_teo_rule_engine.basic"),
87+
resource.TestCheckResourceAttrSet("tencentcloud_teo_rule_engine.basic", "zone_id"),
88+
resource.TestCheckResourceAttr("tencentcloud_teo_rule_engine.basic", "rule_name", "rule-up"),
89+
resource.TestCheckResourceAttr("tencentcloud_teo_rule_engine.basic", "status", "enable"),
90+
resource.TestCheckResourceAttr("tencentcloud_teo_rule_engine.basic", "rules.#", "1"),
91+
resource.TestCheckResourceAttr("tencentcloud_teo_rule_engine.basic", "rules.0.or.#", "1"),
92+
resource.TestCheckResourceAttr("tencentcloud_teo_rule_engine.basic", "rules.0.sub_rules.#", "1"),
93+
resource.TestCheckResourceAttr("tencentcloud_teo_rule_engine.basic", "rules.0.sub_rules.0.tags.#", "1"),
94+
resource.TestCheckResourceAttr("tencentcloud_teo_rule_engine.basic", "rules.0.sub_rules.0.rules.0.or.#", "1"),
95+
resource.TestCheckResourceAttr("tencentcloud_teo_rule_engine.basic", "rules.0.sub_rules.0.rules.0.or.0.and.#", "1"),
96+
resource.TestCheckResourceAttr("tencentcloud_teo_rule_engine.basic", "rules.0.sub_rules.0.rules.0.or.0.and.0.operator", "equal"),
97+
resource.TestCheckResourceAttr("tencentcloud_teo_rule_engine.basic", "rules.0.sub_rules.0.rules.0.or.0.and.0.target", "filename"),
98+
resource.TestCheckResourceAttr("tencentcloud_teo_rule_engine.basic", "rules.0.sub_rules.0.rules.0.or.0.and.0.ignore_case", "false"),
99+
resource.TestCheckResourceAttr("tencentcloud_teo_rule_engine.basic", "rules.0.sub_rules.0.rules.0.or.0.and.0.values.#", "1"),
100+
resource.TestCheckResourceAttr("tencentcloud_teo_rule_engine.basic", "tags.#", "2"),
101+
),
102+
},
83103
},
84104
})
85105
}
@@ -139,12 +159,18 @@ func testAccCheckRuleEngineExists(r string) resource.TestCheckFunc {
139159
}
140160
}
141161

142-
const testAccTeoRuleEngine = testAccTeoZone + `
162+
const testAccZoneVar = `
163+
variable "zone_id" {
164+
default = "zone-2qtuhspy7cr6"
165+
}
166+
`
167+
168+
const testAccTeoRuleEngine = testAccZoneVar + `
143169
144170
resource "tencentcloud_teo_rule_engine" "basic" {
145171
rule_name = "rule-1"
146172
status = "enable"
147-
zone_id = tencentcloud_teo_zone.basic.id
173+
zone_id = var.zone_id
148174
149175
rules {
150176
actions {
@@ -197,12 +223,12 @@ resource "tencentcloud_teo_rule_engine" "basic" {
197223
}
198224
`
199225

200-
const testAccTeoRuleEngineUp = testAccTeoZone + `
226+
const testAccTeoRuleEngineUp = testAccZoneVar + `
201227
202228
resource "tencentcloud_teo_rule_engine" "basic" {
203229
rule_name = "rule-up"
204230
status = "enable"
205-
zone_id = tencentcloud_teo_zone.basic.id
231+
zone_id = var.zone_id
206232
207233
tags = ["keep-test-np1", "keep-test-np2"]
208234
@@ -256,3 +282,48 @@ resource "tencentcloud_teo_rule_engine" "basic" {
256282
}
257283
}
258284
`
285+
286+
const testAccTeoRuleEngineActionUp = testAccZoneVar + `
287+
288+
resource "tencentcloud_teo_rule_engine" "basic" {
289+
rule_name = "rule-up"
290+
status = "enable"
291+
zone_id = var.zone_id
292+
293+
tags = ["keep-test-np1", "keep-test-np2"]
294+
295+
rules {
296+
or {
297+
and {
298+
operator = "equal"
299+
target = "extension"
300+
values = [
301+
"11",
302+
]
303+
}
304+
}
305+
sub_rules {
306+
tags = ["test-tag",]
307+
rules {
308+
or {
309+
and {
310+
operator = "equal"
311+
target = "filename"
312+
ignore_case = false
313+
values = ["test.txt"]
314+
}
315+
}
316+
actions {
317+
normal_action {
318+
action = "HostHeader"
319+
parameters {
320+
name = "ServerName"
321+
values = ["terraform-test.com"]
322+
}
323+
}
324+
}
325+
}
326+
}
327+
}
328+
}
329+
`

tencentcloud/services/teo/service_tencentcloud_teo.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -954,10 +954,10 @@ func (me *TeoService) DescribeTeoRuleEngineById(ctx context.Context, zoneId stri
954954
logId := tccommon.GetLogId(ctx)
955955

956956
request := teo.NewDescribeRulesRequest()
957-
request.ZoneId = &zoneId
957+
request.ZoneId = helper.String(zoneId)
958958
filter := &teo.Filter{
959959
Name: helper.String("rule-id"),
960-
Values: []*string{&ruleId},
960+
Values: []*string{helper.String(ruleId)},
961961
}
962962
request.Filters = append(request.Filters, filter)
963963

website/docs/r/teo_rule_engine.html.markdown

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -289,14 +289,14 @@ The `rewrite_action` object of `actions` supports the following:
289289

290290
The `rules` object of `sub_rules` supports the following:
291291

292-
* `actions` - (Required, List) The feature to be executed.
293292
* `or` - (Required, List) The condition that determines if a feature should run.
294293
Note: If any condition in the array is met, the feature will run.
294+
* `actions` - (Optional, List) The feature to be executed.
295295

296296
The `rules` object supports the following:
297297

298-
* `actions` - (Required, List) Feature to be executed.
299298
* `or` - (Required, List) OR Conditions list of the rule. Rule would be triggered if any of the condition is true.
299+
* `actions` - (Optional, List) Feature to be executed.
300300
* `sub_rules` - (Optional, List) The nested rule.
301301

302302
The `sub_rules` object of `rules` supports the following:

0 commit comments

Comments
 (0)