diff --git a/.changelog/3643.txt b/.changelog/3643.txt new file mode 100644 index 0000000000..0dc8344a86 --- /dev/null +++ b/.changelog/3643.txt @@ -0,0 +1,3 @@ +```release-note:enhancement +resource/tencentcloud_cvm_sync_image: add computed `image_set` +``` \ No newline at end of file diff --git a/tencentcloud/services/cvm/resource_tc_cvm_sync_image.go b/tencentcloud/services/cvm/resource_tc_cvm_sync_image.go index ae86987ba1..a53a77968f 100644 --- a/tencentcloud/services/cvm/resource_tc_cvm_sync_image.go +++ b/tencentcloud/services/cvm/resource_tc_cvm_sync_image.go @@ -75,9 +75,20 @@ func ResourceTencentCloudCvmSyncImage() *schema.Resource { "image_set": { Computed: true, - Type: schema.TypeSet, - Elem: &schema.Schema{ - Type: schema.TypeString, + Type: schema.TypeList, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "image_id": { + Type: schema.TypeString, + Computed: true, + Description: "Image ID.", + }, + "region": { + Type: schema.TypeString, + Computed: true, + Description: "Region of the image.", + }, + }, }, Description: "ID of the image created in the destination region.", }, @@ -145,7 +156,22 @@ func resourceTencentCloudCvmSyncImageCreate(d *schema.ResourceData, meta interfa d.SetId(imageId) - _ = d.Set("image_set", response.Response.ImageSet) + imageSetList := []interface{}{} + for _, image := range response.Response.ImageSet { + imageMap := map[string]interface{}{} + + if image.ImageId != nil { + imageMap["image_id"] = image.ImageId + } + + if image.Region != nil { + imageMap["region"] = image.Region + } + + imageSetList = append(imageSetList, imageMap) + } + + _ = d.Set("image_set", imageSetList) service := CvmService{client: meta.(tccommon.ProviderMeta).GetAPIV3Conn()} diff --git a/website/docs/r/cvm_sync_image.html.markdown b/website/docs/r/cvm_sync_image.html.markdown index 157ac24955..d2efdff6cf 100644 --- a/website/docs/r/cvm_sync_image.html.markdown +++ b/website/docs/r/cvm_sync_image.html.markdown @@ -45,5 +45,7 @@ In addition to all arguments above, the following attributes are exported: * `id` - ID of the resource. * `image_set` - ID of the image created in the destination region. + * `image_id` - Image ID. + * `region` - Region of the image.