Skip to content
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
4 changes: 2 additions & 2 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@ require (
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.283
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.443
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.385
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.445
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.445
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.359
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dayu v1.0.335
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dc v1.0.199
Expand Down
5 changes: 4 additions & 1 deletion go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -496,10 +496,13 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.430 h1:mGlG
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.430/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.438 h1:tz7YTepMgtehsPI7nTXEZ6W9eOaXR0rvLMtqwHDzhZ8=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.438/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.443 h1:5kS48/GyzW49t4eB8dkNAoDGMeVLEadfTrB1Wpr07qw=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.443/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.445 h1:ExpnqUQjuvmanxIARSyUyqCYIdL5wW+IL+e0FADmjdk=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.445/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.385 h1:8bwloRxRwSADSK48KxaUeO9JHmmgniNGJbA7Or/HUEk=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.385/go.mod h1:PMxA0L4o8Fbx/6+ju1cAMAU7x2bV4C6e/LTqVe745yM=
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.359 h1:cNKqelPgUxrJkLY0Azd2QHr/UMYOPPnmqs88clt2akk=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.359/go.mod h1:GlTYjlrf8EKEMu+Z2MXfaM2/nHGUBBF/huBBJqGyGwI=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dayu v1.0.335 h1:D8qrelkK5udv8RzJJIABMzItGIyaZoYnxEVeIsYqiNw=
Expand Down
2 changes: 1 addition & 1 deletion tencentcloud/data_source_tc_image.go
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ func dataSourceTencentCloudImageRead(d *schema.ResourceData, meta interface{}) e
var images []*cvm.Image
var errRet error
err := resource.Retry(readRetryTimeout, func() *resource.RetryError {
images, errRet = cvmService.DescribeImagesByFilter(ctx, filter)
images, errRet = cvmService.DescribeImagesByFilter(ctx, filter, "")
if errRet != nil {
return retryError(errRet, InternalError)
}
Expand Down
12 changes: 11 additions & 1 deletion tencentcloud/data_source_tc_images.go
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,11 @@ func dataSourceTencentCloudImages() *schema.Resource {
ValidateFunc: validateNotEmpty,
Description: "A string to apply with fuzzy match to the os_name attribute on the image list returned by TencentCloud, conflict with 'image_name_regex'.",
},
"instance_type": {
Type: schema.TypeString,
Optional: true,
Description: "Instance type, such as `S1.SMALL1`.",
},
"result_output_file": {
Type: schema.TypeString,
Optional: true,
Expand Down Expand Up @@ -229,10 +234,15 @@ func dataSourceTencentCloudImagesRead(d *schema.ResourceData, meta interface{})
osName = v.(string)
}

var instanceType string
if v, ok := d.GetOk("instance_type"); ok {
instanceType = v.(string)
}

var images []*cvm.Image
err = resource.Retry(readRetryTimeout, func() *resource.RetryError {
var e error
images, e = cvmService.DescribeImagesByFilter(ctx, filter)
images, e = cvmService.DescribeImagesByFilter(ctx, filter, instanceType)
if e != nil {
return retryError(e, InternalError)
}
Expand Down
13 changes: 13 additions & 0 deletions tencentcloud/data_source_tc_images_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,13 @@ func TestAccTencentCloudDataSourceImagesBase(t *testing.T) {
resource.TestCheckResourceAttrSet("data.tencentcloud_images.foo", "images.#"),
),
},
{
Config: testAccTencentCloudDataSourceImagesBaseWithInstanceType,
Check: resource.ComposeTestCheckFunc(
testAccCheckTencentCloudDataSourceID("data.tencentcloud_images.foo"),
resource.TestCheckResourceAttrSet("data.tencentcloud_images.foo", "images.#"),
),
},
},
})
}
Expand Down Expand Up @@ -69,3 +76,9 @@ data "tencentcloud_images" "foo" {
image_name_regex = "^CentOS\\s+7\\.5\\s+64\\w*"
}
`

const testAccTencentCloudDataSourceImagesBaseWithInstanceType = `
data "tencentcloud_images" "foo" {
instance_type = "S1.SMALL1"
}
`
6 changes: 4 additions & 2 deletions tencentcloud/service_tencentcloud_cvm.go
Original file line number Diff line number Diff line change
Expand Up @@ -1118,7 +1118,7 @@ func (me *CvmService) DescribeImageById(ctx context.Context, keyId string, isDel
return
}

func (me *CvmService) DescribeImagesByFilter(ctx context.Context, filters map[string][]string) (images []*cvm.Image, errRet error) {
func (me *CvmService) DescribeImagesByFilter(ctx context.Context, filters map[string][]string, instanceType string) (images []*cvm.Image, errRet error) {
logId := getLogId(ctx)

request := cvm.NewDescribeImagesRequest()
Expand All @@ -1133,7 +1133,9 @@ func (me *CvmService) DescribeImagesByFilter(ctx context.Context, filters map[st
}
request.Filters = append(request.Filters, &filter)
}

if instanceType != "" {
request.InstanceType = helper.String(instanceType)
}
var offset uint64 = 0
var pageSize uint64 = 100
images = make([]*cvm.Image, 0)
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading