Skip to content

Feat/mps support new param #2513

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Feb 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
7 changes: 7 additions & 0 deletions .changelog/2513.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
```release-note:enhancement
resource/tencentcloud_mps_schedule: Add `resource_id` field
```

```release-note:enhancement
resource/tencentcloud_mps_schedules: Add `resource_id` field
```
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,8 @@ require (
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mariadb v1.0.672
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mongodb v1.0.651
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.844
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mps v1.0.777
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/organization v1.0.856
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mps v1.0.853
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres v1.0.814
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns v1.0.815
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/pts v1.0.762
Expand Down
4 changes: 4 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -958,6 +958,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.847 h1:ITZm
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.847/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.856 h1:4PaaKxPjh0dmRzzz0CRZSZlbvzQIPcg4TE1Ibz0Cdlk=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.856/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.853 h1:TNYjF1jDLLNTirAkq7zRT9iF9xC2ZjgwpXsVSEBQvgQ=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.853/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.624 h1:nEZqsoqt1pEoaP9JjkHQy3/H00suCfzlHW1qOm2nYD8=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.624/go.mod h1:+TXSVyeKwt1IhZRqKPbTREteBcP+K07Q846/ilNzLWA=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cwp v1.0.762 h1:2egy69SP/wPsmnfozcQVZ6tUY6F6N/TpEe/7xtXrc/8=
Expand Down Expand Up @@ -1006,6 +1008,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.844 h1:ZR7
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.844/go.mod h1:a7PfDWl0B3QV+g99asQHumDNScEEMl+7lkXP0KXt8Xg=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mps v1.0.777 h1:SoH/KkqkEUw8iDmQDZCw5Saf319Ceyt3v8Vqodo8DiY=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mps v1.0.777/go.mod h1:sBmwqD3GkczHFiArdYpHPp9QriIbzNtO99DueYVyGwE=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mps v1.0.853 h1:abGpWsAtEuF2QIYKm2m9/hv9OqyHwWNLsd5+67z86BE=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mps v1.0.853/go.mod h1:xIprIT+IW+3Fj05GCWmgvxJOhICqFGoW4Ef77cDD2JQ=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/oceanus v1.0.831 h1:oyazF5wgAgoinGo/SDGfUReE3JFxqcpI6/pstWhK7yE=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/oceanus v1.0.831/go.mod h1:2WuTlTnKCnZoa6l0JxY9GNfo0UG6nU7AEsljF8rMMsM=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/organization v1.0.770 h1:Ksu947uY/fafnlILemfMuyKqL/RxHh9dfVowWX8paeQ=
Expand Down
9 changes: 9 additions & 0 deletions tencentcloud/services/mps/data_source_tc_mps_schedules.go
Original file line number Diff line number Diff line change
Expand Up @@ -2565,6 +2565,11 @@ func DataSourceTencentCloudMpsSchedules() *schema.Resource {
Computed: true,
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.",
},
"resource_id": {
Type: schema.TypeString,
Computed: true,
Description: "The resource ID. If there is no associated resource ID, fill it with the account's main resource ID.",
},
},
},
},
Expand Down Expand Up @@ -4565,6 +4570,10 @@ func dataSourceTencentCloudMpsSchedulesRead(d *schema.ResourceData, meta interfa
schedulesInfoMap["update_time"] = schedulesInfo.UpdateTime
}

if schedulesInfo.ResourceId != nil {
schedulesInfoMap["resource_id"] = schedulesInfo.ResourceId
}

ids = append(ids, helper.Int64ToStr(*schedulesInfo.ScheduleId))
tmpList = append(tmpList, schedulesInfoMap)
}
Expand Down
150 changes: 142 additions & 8 deletions tencentcloud/services/mps/data_source_tc_mps_schedules_test.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package mps_test

import (
"fmt"
"testing"

tcacctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest"
Expand All @@ -28,16 +27,15 @@ func TestAccTencentCloudMpsSchedulesDataSource_basic(t *testing.T) {
),
},
{
Config: fmt.Sprintf(testAccMpsSchedulesDataSource_specific_one, tcacctest.DefaultMpsScheduleId),
Config: testAccMpsSchedulesDataSource_specific_one,
Check: resource.ComposeTestCheckFunc(
tcacctest.AccCheckTencentCloudDataSourceID("data.tencentcloud_mps_schedules.schedules"),
resource.TestCheckResourceAttrSet("data.tencentcloud_mps_schedules.schedules", "schedule_ids.#"),
resource.TestCheckTypeSetElemAttr("data.tencentcloud_mps_schedules.schedules", "schedule_ids.*", fmt.Sprint(tcacctest.DefaultMpsScheduleId)),
resource.TestCheckResourceAttr("data.tencentcloud_mps_schedules.schedules", "trigger_type", "CosFileUpload"),
resource.TestCheckResourceAttr("data.tencentcloud_mps_schedules.schedules", "status", "Disabled"),
resource.TestCheckResourceAttrSet("data.tencentcloud_mps_schedules.schedules", "schedule_info_set.#"),
resource.TestCheckResourceAttr("data.tencentcloud_mps_schedules.schedules", "schedule_info_set.0.schedule_id", fmt.Sprint(tcacctest.DefaultMpsScheduleId)),
resource.TestCheckResourceAttr("data.tencentcloud_mps_schedules.schedules", "schedule_info_set.0.schedule_name", tcacctest.DefaultMpsScheduleName),
resource.TestCheckResourceAttrSet("data.tencentcloud_mps_schedules.schedules", "schedule_info_set.0.schedule_id"),
resource.TestCheckResourceAttr("data.tencentcloud_mps_schedules.schedules", "schedule_info_set.0.schedule_name", "tf_test_mps_schedule_001"),
resource.TestCheckResourceAttr("data.tencentcloud_mps_schedules.schedules", "schedule_info_set.0.status", "Disabled"),
resource.TestCheckResourceAttrSet("data.tencentcloud_mps_schedules.schedules", "schedule_info_set.0.trigger.#"),
resource.TestCheckResourceAttrSet("data.tencentcloud_mps_schedules.schedules", "schedule_info_set.0.activities.#"),
Expand All @@ -59,12 +57,148 @@ data "tencentcloud_mps_schedules" "schedules" {

`

const testAccMpsSchedulesDataSource_specific_one = `
const testAccMpsSchedulesDataSource_specific_one = tcacctest.UserInfoData + `
resource "tencentcloud_cos_bucket" "output" {
bucket = "tf-bucket-mps-schedule-output-${local.app_id}"
force_clean = true
acl = "public-read"
}

resource "tencentcloud_cos_bucket_object" "object" {
bucket = tencentcloud_cos_bucket.output.bucket
key = "/mps-test/test.mov"
content = "aaaaaaaaaaaaaaaa"
content_type = "binary/octet-stream"
}

resource "tencentcloud_mps_schedule" "schedule" {
schedule_name = "tf_test_mps_schedule_001"

trigger {
type = "CosFileUpload"
cos_file_upload_trigger {
bucket = tencentcloud_cos_bucket_object.object.bucket
region = "ap-guangzhou"
dir = "/upload/"
formats = ["flv", "mov"]
}
}

activities {
activity_type = "input"
reardrive_index = [1, 2]
}

activities {
activity_type = "action-trans"
reardrive_index = [3]
activity_para {
transcode_task {
definition = 10
}
}
}

activities {
activity_type = "action-trans"
reardrive_index = [6, 7]
activity_para {
transcode_task {
definition = 10
}
}
}

activities {
activity_type = "action-trans"
reardrive_index = [4, 5]
activity_para {
transcode_task {
definition = 10
}
}
}

activities {
activity_type = "action-trans"
reardrive_index = [10]
activity_para {
transcode_task {
definition = 10
}
}
}

activities {
activity_type = "action-trans"
reardrive_index = [10]
activity_para {
transcode_task {
definition = 10
}
}
}

activities {
activity_type = "action-trans"
reardrive_index = [10]
activity_para {
transcode_task {
definition = 10
}
}
}

activities {
activity_type = "action-trans"
reardrive_index = [8]
activity_para {
transcode_task {
definition = 10
}
}
}

activities {
activity_type = "action-trans"
reardrive_index = [9]
activity_para {
transcode_task {
definition = 10
}
}
}

activities {
activity_type = "action-trans"
reardrive_index = [10]
activity_para {
transcode_task {
definition = 10
}
}
}

activities {
activity_type = "output"
}

output_storage {
type = "COS"
cos_output_storage {
bucket = tencentcloud_cos_bucket.output.bucket
region = "ap-guangzhou"
}
}

output_dir = "output/"
resource_id = "vts-2600014161-0"
}

data "tencentcloud_mps_schedules" "schedules" {
schedule_ids = [%d]
schedule_ids = [tencentcloud_mps_schedule.schedule.id]
trigger_type = "CosFileUpload"
status = "Disabled"
}
}

`
20 changes: 20 additions & 0 deletions tencentcloud/services/mps/resource_tc_mps_schedule.go
Original file line number Diff line number Diff line change
Expand Up @@ -2650,6 +2650,12 @@ func ResourceTencentCloudMpsSchedule() *schema.Resource {
},
},
},

"resource_id": {
Optional: true,
Type: schema.TypeString,
Description: "Resource ID, you need to ensure that the corresponding resource is open. The default is the account main resource ID.",
},
},
}
}
Expand Down Expand Up @@ -4079,6 +4085,10 @@ func resourceTencentCloudMpsScheduleCreate(d *schema.ResourceData, meta interfac
request.TaskNotifyConfig = &taskNotifyConfig
}

if v, ok := d.GetOk("resource_id"); ok {
request.ResourceId = helper.String(v.(string))
}

err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError {
result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseMpsClient().CreateSchedule(request)
if e != nil {
Expand Down Expand Up @@ -6047,6 +6057,10 @@ func resourceTencentCloudMpsScheduleRead(d *schema.ResourceData, meta interface{
_ = d.Set("task_notify_config", []interface{}{taskNotifyConfigMap})
}

if schedule.ResourceId != nil {
_ = d.Set("resource_id", schedule.ResourceId)
}

return nil
}

Expand Down Expand Up @@ -7488,6 +7502,12 @@ func resourceTencentCloudMpsScheduleUpdate(d *schema.ResourceData, meta interfac
}
}

if d.HasChange("resource_id") {
if v, ok := d.GetOk("resource_id"); ok {
request.ResourceId = helper.String(v.(string))
}
}

err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError {
result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseMpsClient().ModifySchedule(request)
if e != nil {
Expand Down
32 changes: 20 additions & 12 deletions tencentcloud/services/mps/resource_tc_mps_schedule_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,7 @@ func TestAccTencentCloudMpsScheduleResource_basic(t *testing.T) {
resource.TestCheckResourceAttr("tencentcloud_mps_schedule.schedule", "output_storage.0.cos_output_storage.0.region", tcacctest.DefaultRegion),

resource.TestCheckResourceAttr("tencentcloud_mps_schedule.schedule", "output_dir", "output/"),
resource.TestCheckResourceAttrSet("tencentcloud_mps_schedule.schedule", "resource_id"),
),
},
{
Expand Down Expand Up @@ -184,6 +185,7 @@ func TestAccTencentCloudMpsScheduleResource_basic(t *testing.T) {
resource.TestCheckResourceAttr("tencentcloud_mps_schedule.schedule", "output_storage.0.cos_output_storage.0.region", tcacctest.DefaultRegion),

resource.TestCheckResourceAttr("tencentcloud_mps_schedule.schedule", "output_dir", "output_chagned/"),
resource.TestCheckResourceAttrSet("tencentcloud_mps_schedule.schedule", "resource_id"),
),
},
{
Expand All @@ -196,24 +198,26 @@ func TestAccTencentCloudMpsScheduleResource_basic(t *testing.T) {
}

const testAccMpsSchedule = tcacctest.UserInfoData + `
data "tencentcloud_cos_bucket_object" "object" {
bucket = "keep-bucket-${local.app_id}"
key = "/mps-test/test.mov"
}

resource "tencentcloud_cos_bucket" "output" {
bucket = "tf-bucket-mps-schedule-output-${local.app_id}"
force_clean = true
acl = "public-read"
}

resource "tencentcloud_cos_bucket_object" "object" {
bucket = tencentcloud_cos_bucket.output.bucket
key = "/mps-test/test.mov"
content = "aaaaaaaaaaaaaaaa"
content_type = "binary/octet-stream"
}

resource "tencentcloud_mps_schedule" "schedule" {
schedule_name = "tf_test_mps_schedule_%d"

trigger {
type = "CosFileUpload"
cos_file_upload_trigger {
bucket = data.tencentcloud_cos_bucket_object.object.bucket
bucket = tencentcloud_cos_bucket_object.object.bucket
region = "%s"
dir = "/upload/"
formats = ["flv", "mov"]
Expand Down Expand Up @@ -328,30 +332,33 @@ resource "tencentcloud_mps_schedule" "schedule" {
}

output_dir = "output/"
resource_id = "vts-2600014161-0"
}


`

const testAccMpsSchedule_update = tcacctest.UserInfoData + `
data "tencentcloud_cos_bucket_object" "object" {
bucket = "keep-bucket-${local.app_id}"
key = "/mps-test/test.mov"
}

resource "tencentcloud_cos_bucket" "output" {
bucket = "tf-bucket-mps-schedule-output-${local.app_id}"
force_clean = true
acl = "public-read"
}

resource "tencentcloud_cos_bucket_object" "object" {
bucket = tencentcloud_cos_bucket.output.bucket
key = "/mps-test/test.mov"
content = "aaaaaaaaaaaaaaaa"
content_type = "binary/octet-stream"
}

resource "tencentcloud_mps_schedule" "schedule" {
schedule_name = "tf_test_mps_schedule_%d_changed"

trigger {
type = "CosFileUpload"
cos_file_upload_trigger {
bucket = data.tencentcloud_cos_bucket_object.object.bucket
bucket = tencentcloud_cos_bucket_object.object.bucket
region = "%s"
dir = "/upload_changed/"
formats = ["mp4", "mov"]
Expand Down Expand Up @@ -466,6 +473,7 @@ resource "tencentcloud_mps_schedule" "schedule" {
}

output_dir = "output_chagned/"
resource_id = "vts-2600014161-0"
}


Expand Down
Loading