44 "context"
55 "encoding/json"
66 "fmt"
7- argoCDProject "github.com/argoproj/argo-cd/pkg/apiclient/project"
7+ "github.com/argoproj/argo-cd/pkg/apiclient/project"
88 application "github.com/argoproj/argo-cd/pkg/apis/application/v1alpha1"
99 "github.com/cristalhq/jwt/v3"
1010 "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
@@ -72,19 +72,19 @@ func resourceArgoCDProjectToken() *schema.Resource {
7272
7373func resourceArgoCDProjectTokenCreate (d * schema.ResourceData , meta interface {}) error {
7474 server := meta .(ServerInterface )
75- c := server .ProjectClient
75+ c := * server .ProjectClient
7676 var claims jwt.StandardClaims
7777 var expiresIn int64
7878
79- project := d .Get ("project" ).(string )
79+ p := d .Get ("project" ).(string )
8080 role := d .Get ("role" ).(string )
81- opts := & argoCDProject .ProjectTokenCreateRequest {
82- Project : project ,
81+ opts := & project .ProjectTokenCreateRequest {
82+ Project : p ,
8383 Role : role ,
8484 }
8585
86- if _ , ok := tokenMutexProjectMap [project ]; ! ok {
87- tokenMutexProjectMap [project ] = & sync.RWMutex {}
86+ if _ , ok := tokenMutexProjectMap [p ]; ! ok {
87+ tokenMutexProjectMap [p ] = & sync.RWMutex {}
8888 }
8989 if d , ok := d .GetOk ("description" ); ok {
9090 opts .Description = d .(string )
@@ -120,14 +120,14 @@ func resourceArgoCDProjectTokenCreate(d *schema.ResourceData, meta interface{})
120120 return err
121121 }
122122
123- tokenMutexProjectMap [project ].Lock ()
123+ tokenMutexProjectMap [p ].Lock ()
124124 resp , err := c .CreateToken (context .Background (), opts )
125125 // ensure issuedAt is unique upon multiple simultaneous resource creation invocations
126126 // as this is the unique ID for old tokens
127127 if ! featureTokenIDSupported {
128128 time .Sleep (1 * time .Second )
129129 }
130- tokenMutexProjectMap [project ].Unlock ()
130+ tokenMutexProjectMap [p ].Unlock ()
131131 if err != nil {
132132 return err
133133 }
@@ -164,7 +164,7 @@ func resourceArgoCDProjectTokenCreate(d *schema.ResourceData, meta interface{})
164164 }
165165 d .SetId (claims .ID )
166166 } else {
167- d .SetId (fmt .Sprintf ("%s-%s-%d" , project , role , claims .IssuedAt .Unix ()))
167+ d .SetId (fmt .Sprintf ("%s-%s-%d" , p , role , claims .IssuedAt .Unix ()))
168168 }
169169 return resourceArgoCDProjectTokenRead (d , meta )
170170}
@@ -177,10 +177,10 @@ func resourceArgoCDProjectTokenRead(d *schema.ResourceData, meta interface{}) er
177177 var requestTokenIAT int64 = 0
178178
179179 server := meta .(ServerInterface )
180- c := server .ProjectClient
180+ c := * server .ProjectClient
181181
182182 // Delete token from state if project has been deleted in an out-of-band fashion
183- project , err := c .Get (context .Background (), & argoCDProject .ProjectQuery {
183+ p , err := c .Get (context .Background (), & project .ProjectQuery {
184184 Name : d .Get ("project" ).(string ),
185185 })
186186 if err != nil {
@@ -192,8 +192,8 @@ func resourceArgoCDProjectTokenRead(d *schema.ResourceData, meta interface{}) er
192192 return err
193193 }
194194 }
195- if _ , ok := tokenMutexProjectMap [project .Name ]; ! ok {
196- tokenMutexProjectMap [project .Name ] = & sync.RWMutex {}
195+ if _ , ok := tokenMutexProjectMap [p .Name ]; ! ok {
196+ tokenMutexProjectMap [p .Name ] = & sync.RWMutex {}
197197 }
198198 featureTokenIDSupported , err := server .isFeatureSupported (featureTokenIDs )
199199 if err != nil {
@@ -214,13 +214,13 @@ func resourceArgoCDProjectTokenRead(d *schema.ResourceData, meta interface{}) er
214214 }
215215 }
216216
217- tokenMutexProjectMap [project .Name ].RLock ()
218- token , _ , err = project .GetJWTToken (
217+ tokenMutexProjectMap [p .Name ].RLock ()
218+ token , _ , err = p .GetJWTToken (
219219 d .Get ("role" ).(string ),
220220 requestTokenIAT ,
221221 requestTokenID ,
222222 )
223- tokenMutexProjectMap [project .Name ].RUnlock ()
223+ tokenMutexProjectMap [p .Name ].RUnlock ()
224224 if err != nil {
225225 // Token has been deleted in an out-of-band fashion
226226 d .SetId ("" )
@@ -269,17 +269,17 @@ func resourceArgoCDProjectTokenUpdate(d *schema.ResourceData, meta interface{})
269269
270270func resourceArgoCDProjectTokenDelete (d * schema.ResourceData , meta interface {}) error {
271271 server := meta .(ServerInterface )
272- c := server .ProjectClient
272+ c := * server .ProjectClient
273273
274- project := d .Get ("project" ).(string )
274+ p := d .Get ("project" ).(string )
275275 role := d .Get ("role" ).(string )
276- opts := & argoCDProject .ProjectTokenDeleteRequest {
277- Project : project ,
276+ opts := & project .ProjectTokenDeleteRequest {
277+ Project : p ,
278278 Role : role ,
279279 }
280280
281- if _ , ok := tokenMutexProjectMap [project ]; ! ok {
282- tokenMutexProjectMap [project ] = & sync.RWMutex {}
281+ if _ , ok := tokenMutexProjectMap [p ]; ! ok {
282+ tokenMutexProjectMap [p ] = & sync.RWMutex {}
283283 }
284284
285285 featureTokenIDSupported , err := server .isFeatureSupported (featureTokenIDs )
@@ -298,11 +298,11 @@ func resourceArgoCDProjectTokenDelete(d *schema.ResourceData, meta interface{})
298298 }
299299 }
300300
301- tokenMutexProjectMap [project ].Lock ()
301+ tokenMutexProjectMap [p ].Lock ()
302302 if _ , err := c .DeleteToken (context .Background (), opts ); err != nil {
303303 return err
304304 }
305- tokenMutexProjectMap [project ].Unlock ()
305+ tokenMutexProjectMap [p ].Unlock ()
306306 d .SetId ("" )
307307 return nil
308308}
0 commit comments