@@ -57,43 +57,45 @@ func ResourceTencentCloudCkafkaUser() *schema.Resource {
5757func resourceTencentCloudCkafkaUserCreate (d * schema.ResourceData , meta interface {}) error {
5858 defer tccommon .LogElapsed ("resource.tencentcloud_ckafka_user.create" )()
5959
60- logId := tccommon .GetLogId (tccommon .ContextNil )
61- ctx := context .WithValue (context .TODO (), tccommon .LogIdKey , logId )
60+ var (
61+ logId = tccommon .GetLogId (tccommon .ContextNil )
62+ ctx = context .WithValue (context .TODO (), tccommon .LogIdKey , logId )
63+ ckafkaService = CkafkaService {client : meta .(tccommon.ProviderMeta ).GetAPIV3Conn ()}
64+ )
6265
6366 instanceId := d .Get ("instance_id" ).(string )
6467 accountName := d .Get ("account_name" ).(string )
6568 password := d .Get ("password" ).(string )
6669
67- ckafkaService := CkafkaService {
68- client : meta .(tccommon.ProviderMeta ).GetAPIV3Conn (),
69- }
7070 if err := ckafkaService .CreateUser (ctx , instanceId , accountName , password ); err != nil {
7171 return fmt .Errorf ("[CRITAL]%s create ckafka user failed, reason:%+v" , logId , err )
7272 }
73- d .SetId (instanceId + tccommon .FILED_SP + accountName )
7473
74+ d .SetId (strings .Join ([]string {instanceId , accountName }, tccommon .FILED_SP ))
7575 return resourceTencentCloudCkafkaUserRead (d , meta )
7676}
7777
7878func resourceTencentCloudCkafkaUserRead (d * schema.ResourceData , meta interface {}) error {
7979 defer tccommon .LogElapsed ("resource.tencentcloud_ckafka_user.read" )()
8080 defer tccommon .InconsistentCheck (d , meta )()
8181
82- logId := tccommon .GetLogId (tccommon .ContextNil )
83- ctx := context .WithValue (context .TODO (), tccommon .LogIdKey , logId )
84- ckafkaService := CkafkaService {
85- client : meta .(tccommon.ProviderMeta ).GetAPIV3Conn (),
86- }
82+ var (
83+ logId = tccommon .GetLogId (tccommon .ContextNil )
84+ ctx = context .WithValue (context .TODO (), tccommon .LogIdKey , logId )
85+ ckafkaService = CkafkaService {client : meta .(tccommon.ProviderMeta ).GetAPIV3Conn ()}
86+ id = d .Id ()
87+ )
8788
88- id := d .Id ()
8989 info , has , err := ckafkaService .DescribeUserByUserId (ctx , id )
9090 if err != nil {
9191 return err
9292 }
93+
9394 if ! has {
9495 d .SetId ("" )
9596 return nil
9697 }
98+
9799 items := strings .Split (id , tccommon .FILED_SP )
98100 _ = d .Set ("instance_id" , items [0 ])
99101 _ = d .Set ("account_name" , info .Name )
@@ -106,20 +108,23 @@ func resourceTencentCloudCkafkaUserRead(d *schema.ResourceData, meta interface{}
106108func resourceTencentCloudCkafkaUserUpdate (d * schema.ResourceData , meta interface {}) error {
107109 defer tccommon .LogElapsed ("resource.tencentcloud_ckafka_user.update" )()
108110
109- logId := tccommon . GetLogId ( tccommon . ContextNil )
110- ctx := context . WithValue ( context . TODO (), tccommon .LogIdKey , logId )
111- ckafkaService := CkafkaService {
112- client : meta .(tccommon.ProviderMeta ).GetAPIV3Conn (),
113- }
111+ var (
112+ logId = tccommon . GetLogId ( tccommon .ContextNil )
113+ ctx = context . WithValue ( context . TODO (), tccommon . LogIdKey , logId )
114+ ckafkaService = CkafkaService { client : meta .(tccommon.ProviderMeta ).GetAPIV3Conn ()}
115+ )
114116
115- instanceId := d .Get ("instance_id" ).(string )
116- user := d .Get ("account_name" ).(string )
117117 if d .HasChange ("password" ) {
118+ idSplit := strings .Split (d .Id (), tccommon .FILED_SP )
119+ if len (idSplit ) != 2 {
120+ return fmt .Errorf ("id is broken, id is %s" , d .Id ())
121+ }
122+
123+ instanceId , user := idSplit [0 ], idSplit [1 ]
118124 old , new := d .GetChange ("password" )
119125 if err := ckafkaService .ModifyPassword (ctx , instanceId , user , old .(string ), new .(string )); err != nil {
120126 return err
121127 }
122-
123128 }
124129
125130 return resourceTencentCloudCkafkaUserRead (d , meta )
@@ -128,14 +133,15 @@ func resourceTencentCloudCkafkaUserUpdate(d *schema.ResourceData, meta interface
128133func resourceTencentCloudCkafkaUserDelete (d * schema.ResourceData , meta interface {}) error {
129134 defer tccommon .LogElapsed ("resource.tencentcloud_ckafka_user.delete" )()
130135
131- logId := tccommon . GetLogId ( tccommon . ContextNil )
132- ctx := context . WithValue ( context . TODO (), tccommon .LogIdKey , logId )
133- ckafkaService := CkafkaService {
134- client : meta .(tccommon.ProviderMeta ).GetAPIV3Conn (),
135- }
136+ var (
137+ logId = tccommon . GetLogId ( tccommon .ContextNil )
138+ ctx = context . WithValue ( context . TODO (), tccommon . LogIdKey , logId )
139+ ckafkaService = CkafkaService { client : meta .(tccommon.ProviderMeta ).GetAPIV3Conn ()}
140+ )
136141
137142 if err := ckafkaService .DeleteUser (ctx , d .Id ()); err != nil {
138143 return err
139144 }
145+
140146 return nil
141147}
0 commit comments