Skip to content

Commit 1b6eae3

Browse files
authored
Feat/mps support new param (#2513)
* mps schedule resource add resource_id param * update e2e test * add changelog 2513.txt * update e2e datasource test
1 parent f04641b commit 1b6eae3

File tree

13 files changed

+344
-36
lines changed

13 files changed

+344
-36
lines changed

.changelog/2513.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
```release-note:enhancement
2+
resource/tencentcloud_mps_schedule: Add `resource_id` field
3+
```
4+
5+
```release-note:enhancement
6+
resource/tencentcloud_mps_schedules: Add `resource_id` field
7+
```

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,8 @@ require (
6868
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mariadb v1.0.672
6969
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mongodb v1.0.651
7070
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.844
71-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mps v1.0.777
7271
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/organization v1.0.856
72+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mps v1.0.853
7373
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres v1.0.814
7474
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns v1.0.815
7575
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/pts v1.0.762

go.sum

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -958,6 +958,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.847 h1:ITZm
958958
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.847/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
959959
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.856 h1:4PaaKxPjh0dmRzzz0CRZSZlbvzQIPcg4TE1Ibz0Cdlk=
960960
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.856/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
961+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.853 h1:TNYjF1jDLLNTirAkq7zRT9iF9xC2ZjgwpXsVSEBQvgQ=
962+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.853/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
961963
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.624 h1:nEZqsoqt1pEoaP9JjkHQy3/H00suCfzlHW1qOm2nYD8=
962964
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.624/go.mod h1:+TXSVyeKwt1IhZRqKPbTREteBcP+K07Q846/ilNzLWA=
963965
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cwp v1.0.762 h1:2egy69SP/wPsmnfozcQVZ6tUY6F6N/TpEe/7xtXrc/8=
@@ -1006,6 +1008,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.844 h1:ZR7
10061008
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.844/go.mod h1:a7PfDWl0B3QV+g99asQHumDNScEEMl+7lkXP0KXt8Xg=
10071009
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mps v1.0.777 h1:SoH/KkqkEUw8iDmQDZCw5Saf319Ceyt3v8Vqodo8DiY=
10081010
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mps v1.0.777/go.mod h1:sBmwqD3GkczHFiArdYpHPp9QriIbzNtO99DueYVyGwE=
1011+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mps v1.0.853 h1:abGpWsAtEuF2QIYKm2m9/hv9OqyHwWNLsd5+67z86BE=
1012+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mps v1.0.853/go.mod h1:xIprIT+IW+3Fj05GCWmgvxJOhICqFGoW4Ef77cDD2JQ=
10091013
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/oceanus v1.0.831 h1:oyazF5wgAgoinGo/SDGfUReE3JFxqcpI6/pstWhK7yE=
10101014
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/oceanus v1.0.831/go.mod h1:2WuTlTnKCnZoa6l0JxY9GNfo0UG6nU7AEsljF8rMMsM=
10111015
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/organization v1.0.770 h1:Ksu947uY/fafnlILemfMuyKqL/RxHh9dfVowWX8paeQ=

tencentcloud/services/mps/data_source_tc_mps_schedules.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2565,6 +2565,11 @@ func DataSourceTencentCloudMpsSchedules() *schema.Resource {
25652565
Computed: true,
25662566
Description: "The last updated time in [ISO date format](https://intl.cloud.tencent.com/document/product/862/37710?from_cn_redirect=1#52).Note: This field may return null, indicating that no valid values can be obtained.",
25672567
},
2568+
"resource_id": {
2569+
Type: schema.TypeString,
2570+
Computed: true,
2571+
Description: "The resource ID. If there is no associated resource ID, fill it with the account's main resource ID.",
2572+
},
25682573
},
25692574
},
25702575
},
@@ -4565,6 +4570,10 @@ func dataSourceTencentCloudMpsSchedulesRead(d *schema.ResourceData, meta interfa
45654570
schedulesInfoMap["update_time"] = schedulesInfo.UpdateTime
45664571
}
45674572

4573+
if schedulesInfo.ResourceId != nil {
4574+
schedulesInfoMap["resource_id"] = schedulesInfo.ResourceId
4575+
}
4576+
45684577
ids = append(ids, helper.Int64ToStr(*schedulesInfo.ScheduleId))
45694578
tmpList = append(tmpList, schedulesInfoMap)
45704579
}

tencentcloud/services/mps/data_source_tc_mps_schedules_test.go

Lines changed: 142 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package mps_test
22

33
import (
4-
"fmt"
54
"testing"
65

76
tcacctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest"
@@ -28,16 +27,15 @@ func TestAccTencentCloudMpsSchedulesDataSource_basic(t *testing.T) {
2827
),
2928
},
3029
{
31-
Config: fmt.Sprintf(testAccMpsSchedulesDataSource_specific_one, tcacctest.DefaultMpsScheduleId),
30+
Config: testAccMpsSchedulesDataSource_specific_one,
3231
Check: resource.ComposeTestCheckFunc(
3332
tcacctest.AccCheckTencentCloudDataSourceID("data.tencentcloud_mps_schedules.schedules"),
3433
resource.TestCheckResourceAttrSet("data.tencentcloud_mps_schedules.schedules", "schedule_ids.#"),
35-
resource.TestCheckTypeSetElemAttr("data.tencentcloud_mps_schedules.schedules", "schedule_ids.*", fmt.Sprint(tcacctest.DefaultMpsScheduleId)),
3634
resource.TestCheckResourceAttr("data.tencentcloud_mps_schedules.schedules", "trigger_type", "CosFileUpload"),
3735
resource.TestCheckResourceAttr("data.tencentcloud_mps_schedules.schedules", "status", "Disabled"),
3836
resource.TestCheckResourceAttrSet("data.tencentcloud_mps_schedules.schedules", "schedule_info_set.#"),
39-
resource.TestCheckResourceAttr("data.tencentcloud_mps_schedules.schedules", "schedule_info_set.0.schedule_id", fmt.Sprint(tcacctest.DefaultMpsScheduleId)),
40-
resource.TestCheckResourceAttr("data.tencentcloud_mps_schedules.schedules", "schedule_info_set.0.schedule_name", tcacctest.DefaultMpsScheduleName),
37+
resource.TestCheckResourceAttrSet("data.tencentcloud_mps_schedules.schedules", "schedule_info_set.0.schedule_id"),
38+
resource.TestCheckResourceAttr("data.tencentcloud_mps_schedules.schedules", "schedule_info_set.0.schedule_name", "tf_test_mps_schedule_001"),
4139
resource.TestCheckResourceAttr("data.tencentcloud_mps_schedules.schedules", "schedule_info_set.0.status", "Disabled"),
4240
resource.TestCheckResourceAttrSet("data.tencentcloud_mps_schedules.schedules", "schedule_info_set.0.trigger.#"),
4341
resource.TestCheckResourceAttrSet("data.tencentcloud_mps_schedules.schedules", "schedule_info_set.0.activities.#"),
@@ -59,12 +57,148 @@ data "tencentcloud_mps_schedules" "schedules" {
5957
6058
`
6159

62-
const testAccMpsSchedulesDataSource_specific_one = `
60+
const testAccMpsSchedulesDataSource_specific_one = tcacctest.UserInfoData + `
61+
resource "tencentcloud_cos_bucket" "output" {
62+
bucket = "tf-bucket-mps-schedule-output-${local.app_id}"
63+
force_clean = true
64+
acl = "public-read"
65+
}
66+
67+
resource "tencentcloud_cos_bucket_object" "object" {
68+
bucket = tencentcloud_cos_bucket.output.bucket
69+
key = "/mps-test/test.mov"
70+
content = "aaaaaaaaaaaaaaaa"
71+
content_type = "binary/octet-stream"
72+
}
73+
74+
resource "tencentcloud_mps_schedule" "schedule" {
75+
schedule_name = "tf_test_mps_schedule_001"
76+
77+
trigger {
78+
type = "CosFileUpload"
79+
cos_file_upload_trigger {
80+
bucket = tencentcloud_cos_bucket_object.object.bucket
81+
region = "ap-guangzhou"
82+
dir = "/upload/"
83+
formats = ["flv", "mov"]
84+
}
85+
}
86+
87+
activities {
88+
activity_type = "input"
89+
reardrive_index = [1, 2]
90+
}
91+
92+
activities {
93+
activity_type = "action-trans"
94+
reardrive_index = [3]
95+
activity_para {
96+
transcode_task {
97+
definition = 10
98+
}
99+
}
100+
}
101+
102+
activities {
103+
activity_type = "action-trans"
104+
reardrive_index = [6, 7]
105+
activity_para {
106+
transcode_task {
107+
definition = 10
108+
}
109+
}
110+
}
111+
112+
activities {
113+
activity_type = "action-trans"
114+
reardrive_index = [4, 5]
115+
activity_para {
116+
transcode_task {
117+
definition = 10
118+
}
119+
}
120+
}
121+
122+
activities {
123+
activity_type = "action-trans"
124+
reardrive_index = [10]
125+
activity_para {
126+
transcode_task {
127+
definition = 10
128+
}
129+
}
130+
}
131+
132+
activities {
133+
activity_type = "action-trans"
134+
reardrive_index = [10]
135+
activity_para {
136+
transcode_task {
137+
definition = 10
138+
}
139+
}
140+
}
141+
142+
activities {
143+
activity_type = "action-trans"
144+
reardrive_index = [10]
145+
activity_para {
146+
transcode_task {
147+
definition = 10
148+
}
149+
}
150+
}
151+
152+
activities {
153+
activity_type = "action-trans"
154+
reardrive_index = [8]
155+
activity_para {
156+
transcode_task {
157+
definition = 10
158+
}
159+
}
160+
}
161+
162+
activities {
163+
activity_type = "action-trans"
164+
reardrive_index = [9]
165+
activity_para {
166+
transcode_task {
167+
definition = 10
168+
}
169+
}
170+
}
171+
172+
activities {
173+
activity_type = "action-trans"
174+
reardrive_index = [10]
175+
activity_para {
176+
transcode_task {
177+
definition = 10
178+
}
179+
}
180+
}
181+
182+
activities {
183+
activity_type = "output"
184+
}
185+
186+
output_storage {
187+
type = "COS"
188+
cos_output_storage {
189+
bucket = tencentcloud_cos_bucket.output.bucket
190+
region = "ap-guangzhou"
191+
}
192+
}
193+
194+
output_dir = "output/"
195+
resource_id = "vts-2600014161-0"
196+
}
63197
64198
data "tencentcloud_mps_schedules" "schedules" {
65-
schedule_ids = [%d]
199+
schedule_ids = [tencentcloud_mps_schedule.schedule.id]
66200
trigger_type = "CosFileUpload"
67201
status = "Disabled"
68-
}
202+
}
69203
70204
`

tencentcloud/services/mps/resource_tc_mps_schedule.go

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2650,6 +2650,12 @@ func ResourceTencentCloudMpsSchedule() *schema.Resource {
26502650
},
26512651
},
26522652
},
2653+
2654+
"resource_id": {
2655+
Optional: true,
2656+
Type: schema.TypeString,
2657+
Description: "Resource ID, you need to ensure that the corresponding resource is open. The default is the account main resource ID.",
2658+
},
26532659
},
26542660
}
26552661
}
@@ -4079,6 +4085,10 @@ func resourceTencentCloudMpsScheduleCreate(d *schema.ResourceData, meta interfac
40794085
request.TaskNotifyConfig = &taskNotifyConfig
40804086
}
40814087

4088+
if v, ok := d.GetOk("resource_id"); ok {
4089+
request.ResourceId = helper.String(v.(string))
4090+
}
4091+
40824092
err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError {
40834093
result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseMpsClient().CreateSchedule(request)
40844094
if e != nil {
@@ -6047,6 +6057,10 @@ func resourceTencentCloudMpsScheduleRead(d *schema.ResourceData, meta interface{
60476057
_ = d.Set("task_notify_config", []interface{}{taskNotifyConfigMap})
60486058
}
60496059

6060+
if schedule.ResourceId != nil {
6061+
_ = d.Set("resource_id", schedule.ResourceId)
6062+
}
6063+
60506064
return nil
60516065
}
60526066

@@ -7488,6 +7502,12 @@ func resourceTencentCloudMpsScheduleUpdate(d *schema.ResourceData, meta interfac
74887502
}
74897503
}
74907504

7505+
if d.HasChange("resource_id") {
7506+
if v, ok := d.GetOk("resource_id"); ok {
7507+
request.ResourceId = helper.String(v.(string))
7508+
}
7509+
}
7510+
74917511
err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError {
74927512
result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseMpsClient().ModifySchedule(request)
74937513
if e != nil {

tencentcloud/services/mps/resource_tc_mps_schedule_test.go

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,7 @@ func TestAccTencentCloudMpsScheduleResource_basic(t *testing.T) {
126126
resource.TestCheckResourceAttr("tencentcloud_mps_schedule.schedule", "output_storage.0.cos_output_storage.0.region", tcacctest.DefaultRegion),
127127

128128
resource.TestCheckResourceAttr("tencentcloud_mps_schedule.schedule", "output_dir", "output/"),
129+
resource.TestCheckResourceAttrSet("tencentcloud_mps_schedule.schedule", "resource_id"),
129130
),
130131
},
131132
{
@@ -184,6 +185,7 @@ func TestAccTencentCloudMpsScheduleResource_basic(t *testing.T) {
184185
resource.TestCheckResourceAttr("tencentcloud_mps_schedule.schedule", "output_storage.0.cos_output_storage.0.region", tcacctest.DefaultRegion),
185186

186187
resource.TestCheckResourceAttr("tencentcloud_mps_schedule.schedule", "output_dir", "output_chagned/"),
188+
resource.TestCheckResourceAttrSet("tencentcloud_mps_schedule.schedule", "resource_id"),
187189
),
188190
},
189191
{
@@ -196,24 +198,26 @@ func TestAccTencentCloudMpsScheduleResource_basic(t *testing.T) {
196198
}
197199

198200
const testAccMpsSchedule = tcacctest.UserInfoData + `
199-
data "tencentcloud_cos_bucket_object" "object" {
200-
bucket = "keep-bucket-${local.app_id}"
201-
key = "/mps-test/test.mov"
202-
}
203-
204201
resource "tencentcloud_cos_bucket" "output" {
205202
bucket = "tf-bucket-mps-schedule-output-${local.app_id}"
206203
force_clean = true
207204
acl = "public-read"
208205
}
209206
207+
resource "tencentcloud_cos_bucket_object" "object" {
208+
bucket = tencentcloud_cos_bucket.output.bucket
209+
key = "/mps-test/test.mov"
210+
content = "aaaaaaaaaaaaaaaa"
211+
content_type = "binary/octet-stream"
212+
}
213+
210214
resource "tencentcloud_mps_schedule" "schedule" {
211215
schedule_name = "tf_test_mps_schedule_%d"
212216
213217
trigger {
214218
type = "CosFileUpload"
215219
cos_file_upload_trigger {
216-
bucket = data.tencentcloud_cos_bucket_object.object.bucket
220+
bucket = tencentcloud_cos_bucket_object.object.bucket
217221
region = "%s"
218222
dir = "/upload/"
219223
formats = ["flv", "mov"]
@@ -328,30 +332,33 @@ resource "tencentcloud_mps_schedule" "schedule" {
328332
}
329333
330334
output_dir = "output/"
335+
resource_id = "vts-2600014161-0"
331336
}
332337
333338
334339
`
335340

336341
const testAccMpsSchedule_update = tcacctest.UserInfoData + `
337-
data "tencentcloud_cos_bucket_object" "object" {
338-
bucket = "keep-bucket-${local.app_id}"
339-
key = "/mps-test/test.mov"
340-
}
341-
342342
resource "tencentcloud_cos_bucket" "output" {
343343
bucket = "tf-bucket-mps-schedule-output-${local.app_id}"
344344
force_clean = true
345345
acl = "public-read"
346346
}
347347
348+
resource "tencentcloud_cos_bucket_object" "object" {
349+
bucket = tencentcloud_cos_bucket.output.bucket
350+
key = "/mps-test/test.mov"
351+
content = "aaaaaaaaaaaaaaaa"
352+
content_type = "binary/octet-stream"
353+
}
354+
348355
resource "tencentcloud_mps_schedule" "schedule" {
349356
schedule_name = "tf_test_mps_schedule_%d_changed"
350357
351358
trigger {
352359
type = "CosFileUpload"
353360
cos_file_upload_trigger {
354-
bucket = data.tencentcloud_cos_bucket_object.object.bucket
361+
bucket = tencentcloud_cos_bucket_object.object.bucket
355362
region = "%s"
356363
dir = "/upload_changed/"
357364
formats = ["mp4", "mov"]
@@ -466,6 +473,7 @@ resource "tencentcloud_mps_schedule" "schedule" {
466473
}
467474
468475
output_dir = "output_chagned/"
476+
resource_id = "vts-2600014161-0"
469477
}
470478
471479

0 commit comments

Comments
 (0)