Skip to content

Commit ef2d916

Browse files
authored
Merge pull request #7 from gitmkn/feat/cdc
Feat/cdc
2 parents 7b094f4 + 7c5b644 commit ef2d916

File tree

9 files changed

+30
-5
lines changed

9 files changed

+30
-5
lines changed

.web-docs/components/builder/cvm/README.md

+2
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,8 @@ a [communicator](/packer/docs/templates/legacy_json_templates/communicator) can
180180
[`dynamic_block`](/packer/docs/templates/hcl_templates/expressions#dynamic-blocks)
181181
will allow you to create those programatically.
182182

183+
- `cdc_id` (string) - Support for local dedicated cluster CDC
184+
183185
- `ssh_private_ip` (bool) - SSH Private Ip
184186

185187
<!-- End of code generated from the comments of the TencentCloudRunConfig struct in builder/tencentcloud/cvm/run_config.go; -->

builder/tencentcloud/cvm/builder.go

+2
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ func (b *Builder) Run(ctx context.Context, ui packersdk.Ui, hook packersdk.Hook)
109109
SubnetCidrBlock: b.config.SubnectCidrBlock,
110110
SubnetName: b.config.SubnetName,
111111
Zone: b.config.Zone,
112+
CdcId: b.config.CdcId,
112113
},
113114
&stepConfigSecurityGroup{
114115
SecurityGroupId: b.config.SecurityGroupId,
@@ -132,6 +133,7 @@ func (b *Builder) Run(ctx context.Context, ui packersdk.Ui, hook packersdk.Hook)
132133
AssociatePublicIpAddress: b.config.AssociatePublicIpAddress,
133134
CamRoleName: b.config.CamRoleName,
134135
Tags: b.config.RunTags,
136+
CdcId: b.config.CdcId,
135137
},
136138
&communicator.StepConnect{
137139
Config: &b.config.TencentCloudRunConfig.Comm,

builder/tencentcloud/cvm/builder.hcl2spec.go

+2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

builder/tencentcloud/cvm/run_config.go

+2
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,8 @@ type TencentCloudRunConfig struct {
103103
// [`dynamic_block`](/packer/docs/templates/hcl_templates/expressions#dynamic-blocks)
104104
// will allow you to create those programatically.
105105
RunTag config.KeyValues `mapstructure:"run_tag" required:"false"`
106+
// Support for local dedicated cluster CDC
107+
CdcId string `mapstructure:"cdc_id" required:"false"`
106108

107109
// Communicator settings
108110
Comm communicator.Config `mapstructure:",squash"`

builder/tencentcloud/cvm/step_config_subnet.go

+4
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ type stepConfigSubnet struct {
1717
SubnetName string
1818
Zone string
1919
isCreate bool
20+
CdcId string
2021
}
2122

2223
func (s *stepConfigSubnet) Run(ctx context.Context, state multistep.StateBag) multistep.StepAction {
@@ -57,6 +58,9 @@ func (s *stepConfigSubnet) Run(ctx context.Context, state multistep.StateBag) mu
5758
req.SubnetName = &s.SubnetName
5859
req.CidrBlock = &s.SubnetCidrBlock
5960
req.Zone = &s.Zone
61+
if s.CdcId != "" {
62+
req.CdcId = &s.CdcId
63+
}
6064
var resp *vpc.CreateSubnetResponse
6165
err := Retry(ctx, func(ctx context.Context) error {
6266
var e error

builder/tencentcloud/cvm/step_run_instance.go

+5
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ type stepRunInstance struct {
3232
AssociatePublicIpAddress bool
3333
Tags map[string]string
3434
DataDisks []tencentCloudDataDisk
35+
CdcId string
3536
}
3637

3738
func (s *stepRunInstance) Run(ctx context.Context, state multistep.StateBag) multistep.StepAction {
@@ -66,6 +67,10 @@ func (s *stepRunInstance) Run(ctx context.Context, state multistep.StateBag) mul
6667
if instanceChargeType == "" {
6768
instanceChargeType = "POSTPAID_BY_HOUR"
6869
}
70+
if s.CdcId != "" {
71+
instanceChargeType = "CDCPAID"
72+
req.DedicatedClusterId = &s.CdcId
73+
}
6974
req.InstanceChargeType = &instanceChargeType
7075
req.ImageId = source_image.ImageId
7176
req.InstanceType = &s.InstanceType

docs-partials/builder/tencentcloud/cvm/TencentCloudRunConfig-not-required.mdx

+2
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,8 @@
7474
[`dynamic_block`](/packer/docs/templates/hcl_templates/expressions#dynamic-blocks)
7575
will allow you to create those programatically.
7676

77+
- `cdc_id` (string) - Support for local dedicated cluster CDC
78+
7779
- `ssh_private_ip` (bool) - SSH Private Ip
7880

7981
<!-- End of code generated from the comments of the TencentCloudRunConfig struct in builder/tencentcloud/cvm/run_config.go; -->

go.mod

+3-3
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ require (
66
github.com/hashicorp/hcl/v2 v2.19.1
77
github.com/hashicorp/packer-plugin-sdk v0.5.2
88
github.com/pkg/errors v0.9.1
9-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.799
10-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.799
9+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1072
10+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.1072
1111
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sts v1.0.797
12-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.799
12+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.1072
1313
github.com/zclconf/go-cty v1.13.3
1414
)
1515

go.sum

+8-2
Original file line numberDiff line numberDiff line change
@@ -145,9 +145,9 @@ github.com/hashicorp/go-getter/s3/v2 v2.2.1/go.mod h1:KDqfEPgpwZIy+1sAplFX231CE+
145145
github.com/hashicorp/go-getter/v2 v2.2.1 h1:2JXqPZs1Jej67RtdTi0YZaEB2hEFB3fkBA4cPYKQwFQ=
146146
github.com/hashicorp/go-getter/v2 v2.2.1/go.mod h1:EcJx6oZE8hmGuRR1l38QrfnyiujQbwsEAn11eHv6l2M=
147147
github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ=
148+
github.com/hashicorp/go-hclog v1.2.1/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M=
148149
github.com/hashicorp/go-hclog v1.5.0 h1:bI2ocEMgcVlz55Oj1xZNBsVi900c7II+fWDyV9o+13c=
149150
github.com/hashicorp/go-hclog v1.5.0/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M=
150-
github.com/hashicorp/go-hclog v1.2.1/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M=
151151
github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60=
152152
github.com/hashicorp/go-immutable-radix v1.3.1 h1:DKHmCUm2hRBK510BaiZlwvpD40f8bJFeZnpfm2KLowc=
153153
github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60=
@@ -329,11 +329,15 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.797 h1:jDSf
329329
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.797/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
330330
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.799 h1:jAMelFh7c+sBrR2kzdNB2zfmkhsEXLIR9YFQcBuTnzI=
331331
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.799/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
332+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1072 h1:zoo8LhsH0kC3ysBCMDmgOCVzyQKTpw7foOzNoxAXcGE=
333+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1072/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
332334
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.366 h1:NJm4RjeL2btX3alWLQvyzObmlDtGC0pCFCoeqWw2Veg=
333335
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.366/go.mod h1:x9QV7qu6FpnSdVyGQoirhjKsPd1dEpWnr9RL75DpgJ4=
334336
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.624/go.mod h1:+TXSVyeKwt1IhZRqKPbTREteBcP+K07Q846/ilNzLWA=
335337
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.799 h1:FnXNkHQhPX7sNvxKNYyMB6PGpbMCce6bfXkzRwGHS74=
336338
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.799/go.mod h1:bNuzbq27CiymhqONoqE1CnhK6aJJjWWcZG8J3ragVfs=
339+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.1072 h1:BO6eEqw2CxeP73AnOfkq99mJAPccP+w3exmVuBDMvAc=
340+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.1072/go.mod h1:Ot4h9BuqIbyOPotq8cIT3vCCMDdn6LXkc37jU2teHnQ=
337341
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sts v1.0.797 h1:Z9rTZBoR4arEXA9gYLu8AQnMInG1scb+WnlIWczLH2A=
338342
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sts v1.0.797/go.mod h1:IugQh1ZI86ZeEUBYf+u/REwTeKZcneP449FPU8BbLxA=
339343
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.366 h1:7wbTvCCJ41Hx9KWO9pcmvOFWFS1A9iPs0jtQJLwe++U=
@@ -342,6 +346,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.779 h1:4NpjQiF
342346
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.779/go.mod h1:kYBG2jgpjL7CuhYM+K1fkEtbWvNXrtt7NSLwXVCqmKA=
343347
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.799 h1:6M8TGTEvrLAjxaKl53RyDIktCmF8kPuL0swJeKsbR/E=
344348
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.799/go.mod h1:jq1PLPim6gB9soBqQ/H6fRAI/NYlj/Qtn8JZfOK+eWw=
349+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.1072 h1:qG5L/VZcw4PC+OSMjxM1BNXlOfJ9vvDfToItgmCxfLE=
350+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.1072/go.mod h1:fynFW8ciFiCFLVyIKyQKENQ6g+Tm7mXw687lFgPmU/Y=
345351
github.com/tencentcloudstack/terraform-provider-tencentcloud v1.81.47 h1:6e9miVImuKP6g2HDDyNNTGrh/UnCmgkqJ+CInE6kZ7s=
346352
github.com/tencentcloudstack/terraform-provider-tencentcloud v1.81.47/go.mod h1:YuYFm1AJbAELr9L799QJdLkZVkBaeFHokCeBG4J02Lc=
347353
github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM=
@@ -350,12 +356,12 @@ github.com/ugorji/go/codec v1.2.6 h1:7kbGefxLoDBuYXOms4yD7223OpNMMPNPZxXk5TvFcyQ
350356
github.com/ugorji/go/codec v1.2.6/go.mod h1:V6TCNZ4PHqoHGFZuSG1W8nrCzzdgA2DozYxWFFpvxTw=
351357
github.com/ulikunitz/xz v0.5.10 h1:t92gobL9l3HE202wg3rlk19F6X+JOxl9BBrCCMYEYd8=
352358
github.com/ulikunitz/xz v0.5.10/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14=
353-
github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b h1:FosyBZYxY34Wul7O/MSKey3txpPYyCqVO5ZyceuQJEI=
354359
github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
355360
github.com/vmihailenco/msgpack/v4 v4.3.12/go.mod h1:gborTTJjAo/GWTqqRjrLCn9pgNN+NXzzngzBKDPIqw4=
356361
github.com/vmihailenco/tagparser v0.1.1/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI=
357362
github.com/yangwenmai/ratelimit v0.0.0-20180104140304-44221c2292e1 h1:q6c//IMJug6THoqsseZ+Z/zq53HQvADPh5a66E9hb+I=
358363
github.com/yangwenmai/ratelimit v0.0.0-20180104140304-44221c2292e1/go.mod h1:Rl8MvKI/yVRGN91gMEZAIf/92QtFQBSG/QFRHWQZtmo=
364+
github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b h1:FosyBZYxY34Wul7O/MSKey3txpPYyCqVO5ZyceuQJEI=
359365
go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
360366
go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M=
361367
go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E=

0 commit comments

Comments
 (0)