Skip to content

Commit aeca2a5

Browse files
authored
add bandwidth egress (#2146)
* add bandwidth egress * support set egress
1 parent f5558e2 commit aeca2a5

File tree

10 files changed

+183
-62
lines changed

10 files changed

+183
-62
lines changed

.changelog/2146.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:enhancement
2+
resource/tencentcloud_vpc_bandwidth_package: support set `egress`
3+
```

go.mod

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ require (
4242
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.693
4343
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.544
4444
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.711
45-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.754
45+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.755
4646
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.624
4747
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cwp v1.0.589
4848
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.692
@@ -92,7 +92,7 @@ require (
9292
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tse v1.0.732
9393
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tsf v1.0.674
9494
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vod v1.0.199
95-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.749
95+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.755
9696
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/wedata v1.0.725
9797
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/wss v1.0.199
9898
github.com/tencentyun/cos-go-sdk-v5 v0.7.42-0.20230629101357-7edd77448a0f

go.sum

Lines changed: 11 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -798,8 +798,6 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/chdfs v1.0.600 h1:qSpp4
798798
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/chdfs v1.0.600/go.mod h1:xud1dQ7Rc23yC5kS00TYRrvZ/A+94EOkwquaI6xGVac=
799799
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ciam v1.0.695 h1:FGwsF1/PgY+M92bEC+0NH4tJkI8i0qjrLbZWVjLXOAY=
800800
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ciam v1.0.695/go.mod h1:HAasVoWz8ed6kAg7Q/DTg+8uZXiOgW7lmJeAGGrquEQ=
801-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ckafka v1.0.706 h1:m1CDOlYmPBuYh8vTcyfxyrRglbQ1CzKyGkJsjYcm31o=
802-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ckafka v1.0.706/go.mod h1:X78AG97YgOyUBW4ODoeOcTB5RW7RVjISDyheYQDEB3Y=
803801
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ckafka v1.0.748 h1:rVvRHow8cFGJFT31sk3cEVW17a9OewHWhC1acUGNg7c=
804802
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ckafka v1.0.748/go.mod h1:nvb4W+PgsAe8NFG1ZevZa9ZLfto3aeBcJqxzYCRI9V4=
805803
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.693 h1:3eI2Ciq3NOXgoxeW/eY6vgCzi8vcqEZv+FzHww6K9oU=
@@ -849,7 +847,6 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.693/go.mod
849847
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.695/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
850848
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.696/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
851849
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.699/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
852-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.706/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
853850
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.711/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
854851
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.713/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
855852
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.715/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
@@ -860,26 +857,14 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.730/go.mod
860857
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.732/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
861858
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.734/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
862859
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.736/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
863-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.737/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
864-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.741 h1:lQMXqycdqNkCq6HkAA8yi3CHcRar+leQ8XN1fMvceRg=
865-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.741/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
866-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.742 h1:Qno5G08Ppz9nfi0M9yLNnyY+9vsr4TqvWLEp4xnX7yw=
867-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.742/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
868-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.743/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
869-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.744/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
870-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.745 h1:esd+b4fHf6ZgaryrrEN9Sz7QBTpnozl1cIuZ+bRgZbk=
871860
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.745/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
872861
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.746/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
873862
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.748/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
874-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.749/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
875863
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.750/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
876864
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.751/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
877-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.752 h1:FzHmZ3cNCT8vSA2eIrWZz8aXPq/z0qyFwQiNDoSdSEw=
878-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.752/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
879-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.753 h1:YbR9HvtIQ606fcIFw6HAjm4NA5eMgNiZzElIyxBC6ck=
880-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.753/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
881-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.754 h1:wqaUYsm/OHVOMKxBdLv5see/zYR/oPq4lgYOUld8WLs=
882865
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.754/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
866+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.755 h1:mAhmX5bEBbLoLfeQu7y6ygeWFle4Kb4Z5e+sp8QyZcA=
867+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.755/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
883868
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.624 h1:nEZqsoqt1pEoaP9JjkHQy3/H00suCfzlHW1qOm2nYD8=
884869
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.624/go.mod h1:+TXSVyeKwt1IhZRqKPbTREteBcP+K07Q846/ilNzLWA=
885870
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cwp v1.0.589 h1:LZihgirMH0vsaGScYexxwY0fTss9vHaSZs/YOQUVESg=
@@ -978,12 +963,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tsf v1.0.674 h1:VsMV1/v
978963
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tsf v1.0.674/go.mod h1:6+MWxaNR4y+spZHYNntulOyj628owTLuWmEFebJOWdA=
979964
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vod v1.0.199 h1:6Yt74l4pA5QtzhwMNIEUt0spXdSBKH744DDqTHJOCP0=
980965
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vod v1.0.199/go.mod h1:Yw6OQ33z3s4k0HVYTNSffB12qOzEJ2Zf1Vj4+5S3sRs=
981-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.749 h1:KcbXniSZIi6ND5I9PFO8m5GOwSIRQfLmSop/ZaXDI0o=
982-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.749/go.mod h1:1uL+/zlzqRHbtWpgUmOs5UELr4KbsgB7tiaUajpAF94=
983-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/waf v1.0.752 h1:9G/bl9hnQGmB9Mo4C0upXmQrcqJNSW4oUPej7m7mbpc=
984-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/waf v1.0.752/go.mod h1:t6kGE7oq0BSNhmICBhVtqItf32uSx61hbiQ/roPOxCo=
985-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/waf v1.0.753 h1:MXm9LgdYH+RJAjgxSMwO4dBGGorBfE3h/a+wfu/zhRM=
986-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/waf v1.0.753/go.mod h1:1j3396TGrZTysriO64QtEjdxWzAKlXN32vTt71pWYt4=
966+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.755 h1:3u79chvseChtkc4m3zNVOteMcggXuyOYzDorpDmz0ao=
967+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.755/go.mod h1:sOWUQj3GQHdkTqZc1b+mAFqWmhUv2Pg4EZoOjqDprzY=
987968
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/waf v1.0.754 h1:QjRYFbhUfH4xlwJZf1dRiz8hhQxxbfGTm8F5zC0XYXk=
988969
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/waf v1.0.754/go.mod h1:Xz3W12eATXJq8EULnYz8/7EY/w2GLCgCWb9Dw36SWKM=
989970
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/wedata v1.0.725 h1:ETqP+erlPnDK1zafCmyDYNkZLcY+dAG3143Ihk5vFHk=
@@ -992,7 +973,9 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/wss v1.0.199 h1:hMBLtiJ
992973
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/wss v1.0.199/go.mod h1:nnY91/H3j/Gu7V/oCA6Zeg8T5D3q36EUdBh4EjmHwqY=
993974
github.com/tencentyun/cos-go-sdk-v5 v0.7.42-0.20230629101357-7edd77448a0f h1:yTMDoBvFuXjZat10d98DIKbPnN9FQG+drt1SbNfMW5U=
994975
github.com/tencentyun/cos-go-sdk-v5 v0.7.42-0.20230629101357-7edd77448a0f/go.mod h1:LUFnaqRmGk6pEHOaRmdn2dCZR2j0cSsM5xowWFPTPao=
976+
github.com/tenntenn/modver v1.0.1 h1:2klLppGhDgzJrScMpkj9Ujy3rXPUspSjAcev9tSEBgA=
995977
github.com/tenntenn/modver v1.0.1/go.mod h1:bePIyQPb7UeioSRkw3Q0XeMhYZSMx9B8ePqg6SAMGH0=
978+
github.com/tenntenn/text/transform v0.0.0-20200319021203-7eef512accb3 h1:f+jULpRQGxTSkNYKJ51yaw6ChIqO+Je8UqsTKN/cDag=
996979
github.com/tenntenn/text/transform v0.0.0-20200319021203-7eef512accb3/go.mod h1:ON8b8w4BN/kE1EOhwT0o+d62W65a6aPw1nouo9LMgyY=
997980
github.com/tetafro/godot v1.4.11 h1:BVoBIqAf/2QdbFmSwAWnaIqDivZdOV0ZRwEm6jivLKw=
998981
github.com/tetafro/godot v1.4.11/go.mod h1:LR3CJpxDVGlYOWn3ZZg1PgNZdTUvzsZWu8xaEohUpn8=
@@ -1021,6 +1004,7 @@ github.com/vmihailenco/msgpack/v4 v4.3.12 h1:07s4sz9IReOgdikxLTKNbBdqDMLsjPKXwvC
10211004
github.com/vmihailenco/msgpack/v4 v4.3.12/go.mod h1:gborTTJjAo/GWTqqRjrLCn9pgNN+NXzzngzBKDPIqw4=
10221005
github.com/vmihailenco/tagparser v0.1.1 h1:quXMXlA39OCbd2wAdTsGDlK9RkOk6Wuw+x37wVyIuWY=
10231006
github.com/vmihailenco/tagparser v0.1.1/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI=
1007+
github.com/xanzy/ssh-agent v0.3.0 h1:wUMzuKtKilRgBAD1sUb8gOwwRr2FGoBVumcjoOACClI=
10241008
github.com/xanzy/ssh-agent v0.3.0/go.mod h1:3s9xbODqPuuhK9JV1R321M/FlMZSBvE5aY6eAcqrDh0=
10251009
github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778 h1:QldyIu/L63oPpyvQmHgvgickp1Yw510KJOqX7H24mg8=
10261010
github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778/go.mod h1:2MuV+tbUrU1zIOPMxZ5EncGwgmMJsa+9ucAQZXxsObs=
@@ -1059,6 +1043,7 @@ go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0=
10591043
go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo=
10601044
go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw=
10611045
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
1046+
go.uber.org/goleak v1.1.11 h1:wy28qYRKZgnJTxGxvye5/wgWr1EKjmUDGYox5mGlRlI=
10621047
go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4=
10631048
go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
10641049
go.uber.org/zap v1.24.0 h1:FiJd5l1UOLj0wCgbSE0rwwXHzEdAZS6hiiSnxJN/D60=
@@ -1289,6 +1274,7 @@ golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
12891274
golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA=
12901275
golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ=
12911276
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
1277+
golang.org/x/term v0.6.0 h1:clScbb1cHjoCkyRbWwBEUZ5H/tIFu5TAXIqaZD0Gcjw=
12921278
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
12931279
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
12941280
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -1492,13 +1478,15 @@ gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8
14921478
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
14931479
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
14941480
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
1481+
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
14951482
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
14961483
gopkg.in/cheggaaa/pb.v1 v1.0.27/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw=
14971484
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
14981485
gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
14991486
gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA=
15001487
gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
15011488
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
1489+
gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME=
15021490
gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI=
15031491
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
15041492
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=

tencentcloud/resource_tc_vpc_bandwidth_package.go

Lines changed: 49 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,21 @@ resource "tencentcloud_vpc_bandwidth_package" "bandwidth_package" {
2929
}
3030
````
3131
32+
Bandwidth Package With Egress
33+
34+
```hcl
35+
resource "tencentcloud_vpc_bandwidth_package" "example" {
36+
network_type = "SINGLEISP_CMCC"
37+
charge_type = "ENHANCED95_POSTPAID_BY_MONTH"
38+
bandwidth_package_name = "tf-example"
39+
internet_max_bandwidth = 400
40+
egress = "center_egress2"
41+
tags = {
42+
"createdBy" = "terraform"
43+
}
44+
}
45+
```
46+
3247
Import
3348
3449
vpc bandwidth_package can be imported using the id, e.g.
@@ -60,15 +75,17 @@ func resourceTencentCloudVpcBandwidthPackage() *schema.Resource {
6075
},
6176
Schema: map[string]*schema.Schema{
6277
"network_type": {
63-
Type: schema.TypeString,
64-
Optional: true,
65-
Description: "Bandwidth packet type, default:BGP, optional:- `BGP`: common BGP shared bandwidth package- `HIGH_QUALITY_BGP`: High Quality BGP Shared Bandwidth Package.",
78+
Type: schema.TypeString,
79+
Optional: true,
80+
Description: "Bandwidth packet type, default: `BGP`. " +
81+
"Optional value: `BGP`: common BGP shared bandwidth package; `HIGH_QUALITY_BGP`: High Quality BGP Shared Bandwidth Package; " +
82+
"`SINGLEISP_CMCC`: CMCC shared bandwidth package; `SINGLEISP_CTCC:`: CTCC shared bandwidth package; `SINGLEISP_CUCC`: CUCC shared bandwidth package.",
6683
},
6784

6885
"charge_type": {
6986
Type: schema.TypeString,
7087
Optional: true,
71-
Description: "Bandwidth package billing type, default: TOP5_POSTPAID_BY_MONTH." +
88+
Description: "Bandwidth package billing type, default: `TOP5_POSTPAID_BY_MONTH`." +
7289
" Optional value: `TOP5_POSTPAID_BY_MONTH`: TOP5 billed by monthly postpaid; `PERCENT95_POSTPAID_BY_MONTH`: 95 billed monthly postpaid;" +
7390
" `FIXED_PREPAID_BY_MONTH`: Monthly prepaid billing (Type FIXED_PREPAID_BY_MONTH product API capability is under construction);" +
7491
" `BANDWIDTH_POSTPAID_BY_DAY`: bandwidth billed by daily postpaid; `ENHANCED95_POSTPAID_BY_MONTH`: enhanced 95 billed monthly postpaid.",
@@ -95,8 +112,16 @@ func resourceTencentCloudVpcBandwidthPackage() *schema.Resource {
95112
"time_span": {
96113
Type: schema.TypeInt,
97114
Optional: true,
115+
ForceNew: true,
98116
Description: "The purchase duration of the prepaid monthly bandwidth package, unit: month, value range: 1~60.",
99117
},
118+
119+
"egress": {
120+
Type: schema.TypeString,
121+
Optional: true,
122+
Computed: true,
123+
Description: "Network egress. It defaults to `center_egress1`. If you want to try the egress feature, please [submit a ticket](https://console.cloud.tencent.com/workorder/category).",
124+
},
100125
},
101126
}
102127
}
@@ -142,6 +167,10 @@ func resourceTencentCloudVpcBandwidthPackageCreate(d *schema.ResourceData, meta
142167
request.TimeSpan = helper.IntUint64(v.(int))
143168
}
144169

170+
if v, ok := d.GetOk("egress"); ok {
171+
request.Egress = helper.String(v.(string))
172+
}
173+
145174
err := resource.Retry(writeRetryTimeout, func() *resource.RetryError {
146175
result, e := meta.(*TencentCloudClient).apiV3Conn.UseVpcClient().CreateBandwidthPackage(request)
147176
if e != nil {
@@ -236,6 +265,10 @@ func resourceTencentCloudVpcBandwidthPackageRead(d *schema.ResourceData, meta in
236265
_ = d.Set("internet_max_bandwidth", bandwidthPackage.Bandwidth)
237266
}
238267

268+
if bandwidthPackage.Egress != nil {
269+
_ = d.Set("egress", bandwidthPackage.Egress)
270+
}
271+
239272
tcClient := meta.(*TencentCloudClient).apiV3Conn
240273
tagService := &TagService{client: tcClient}
241274
tags, err := tagService.DescribeResourceTags(ctx, "vpc", "bandwidthPackage", tcClient.Region, d.Id())
@@ -254,34 +287,25 @@ func resourceTencentCloudVpcBandwidthPackageUpdate(d *schema.ResourceData, meta
254287
logId := getLogId(contextNil)
255288
ctx := context.WithValue(context.TODO(), logIdKey, logId)
256289

257-
request := vpc.NewModifyBandwidthPackageAttributeRequest()
258-
259290
bandwidthPackageId := d.Id()
260291

261-
request.BandwidthPackageId = &bandwidthPackageId
262-
263-
if d.HasChange("network_type") {
264-
return fmt.Errorf("`network_type` do not support change now.")
265-
}
266-
267-
if d.HasChange("bandwidth_package_count") {
268-
return fmt.Errorf("`bandwidth_package_count` do not support change now.")
269-
}
270-
271-
if d.HasChange("internet_max_bandwidth") {
272-
return fmt.Errorf("`internet_max_bandwidth` do not support change now.")
292+
immutableArgs := []string{
293+
"network_type",
294+
"internet_max_bandwidth",
295+
"egress",
273296
}
274297

275-
if d.HasChange("protocol") {
276-
return fmt.Errorf("`protocol` do not support change now.")
298+
for _, v := range immutableArgs {
299+
if d.HasChange(v) {
300+
return fmt.Errorf("argument `%s` cannot be changed", v)
301+
}
277302
}
278303

279-
if d.HasChange("internet_max_bandwidth") {
280-
return fmt.Errorf("`internet_max_bandwidth` do not support change now.")
281-
}
304+
request := vpc.NewModifyBandwidthPackageAttributeRequest()
305+
request.BandwidthPackageId = &bandwidthPackageId
282306

283-
if d.HasChange("time_span") {
284-
return fmt.Errorf("`time_span` do not support change now.")
307+
if v, ok := d.GetOk("bandwidth_package_name"); ok {
308+
request.BandwidthPackageName = helper.String(v.(string))
285309
}
286310

287311
if d.HasChange("charge_type") {
@@ -290,10 +314,6 @@ func resourceTencentCloudVpcBandwidthPackageUpdate(d *schema.ResourceData, meta
290314
}
291315
}
292316

293-
if v, ok := d.GetOk("bandwidth_package_name"); ok {
294-
request.BandwidthPackageName = helper.String(v.(string))
295-
}
296-
297317
err := resource.Retry(writeRetryTimeout, func() *resource.RetryError {
298318
result, e := meta.(*TencentCloudClient).apiV3Conn.UseVpcClient().ModifyBandwidthPackageAttribute(request)
299319
if e != nil {

0 commit comments

Comments
 (0)