@@ -13,16 +13,15 @@ import (
1313 "github.com/hashicorp/terraform-plugin-framework/path"
1414 "github.com/hashicorp/terraform-plugin-framework/resource"
1515 "github.com/hashicorp/terraform-plugin-framework/resource/schema"
16- "github.com/hashicorp/terraform-plugin-framework/resource/schema/int64planmodifier "
16+ "github.com/hashicorp/terraform-plugin-framework/resource/schema/int32planmodifier "
1717 "github.com/hashicorp/terraform-plugin-framework/resource/schema/listplanmodifier"
1818 "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier"
1919 "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier"
2020 "github.com/hashicorp/terraform-plugin-framework/schema/validator"
2121 "github.com/hashicorp/terraform-plugin-framework/types"
2222 "github.com/hashicorp/terraform-plugin-log/tflog"
2323 "github.com/stackitcloud/stackit-sdk-go/core/oapierror"
24- sdkUtils "github.com/stackitcloud/stackit-sdk-go/core/utils"
25- "github.com/stackitcloud/stackit-sdk-go/services/logs"
24+ logs "github.com/stackitcloud/stackit-sdk-go/services/logs/v1api"
2625 "github.com/stackitcloud/terraform-provider-stackit/stackit/internal/conversion"
2726 "github.com/stackitcloud/terraform-provider-stackit/stackit/internal/core"
2827 "github.com/stackitcloud/terraform-provider-stackit/stackit/internal/services/logs/utils"
@@ -53,7 +52,7 @@ var schemaDescriptions = map[string]string{
5352 "permissions" : "The access permissions granted to the access token. Possible values: `read`, `write`." ,
5453 "status" : fmt .Sprintf (
5554 "The status of the access token. %s" ,
56- tfutils .FormatPossibleValues (sdkUtils . EnumSliceToStringSlice ( logs . AllowedAccessTokenStatusEnumValues ) ... ),
55+ tfutils .FormatPossibleValues ("active" , "expired" ),
5756 ),
5857}
5958
@@ -69,7 +68,7 @@ type Model struct {
6968 AccessToken types.String `tfsdk:"access_token"`
7069 Expires types.Bool `tfsdk:"expires"`
7170 ValidUntil types.String `tfsdk:"valid_until"`
72- Lifetime types.Int64 `tfsdk:"lifetime"`
71+ Lifetime types.Int32 `tfsdk:"lifetime"`
7372 Permissions types.List `tfsdk:"permissions"`
7473 Status types.String `tfsdk:"status"`
7574}
@@ -211,11 +210,11 @@ func (r *logsAccessTokenResource) Schema(_ context.Context, _ resource.SchemaReq
211210 Description : schemaDescriptions ["valid_until" ],
212211 Computed : true ,
213212 },
214- "lifetime" : schema.Int64Attribute {
213+ "lifetime" : schema.Int32Attribute {
215214 Description : schemaDescriptions ["lifetime" ],
216215 Optional : true ,
217- PlanModifiers : []planmodifier.Int64 {
218- int64planmodifier .RequiresReplace (),
216+ PlanModifiers : []planmodifier.Int32 {
217+ int32planmodifier .RequiresReplace (),
219218 },
220219 },
221220 "permissions" : schema.ListAttribute {
@@ -260,20 +259,15 @@ func (r *logsAccessTokenResource) Create(ctx context.Context, req resource.Creat
260259 return
261260 }
262261
263- createResp , err := r .client .CreateAccessToken (ctx , projectId , region , instanceId ).CreateAccessTokenPayload (* payload ).Execute ()
262+ createResp , err := r .client .DefaultAPI . CreateAccessToken (ctx , projectId , region , instanceId ).CreateAccessTokenPayload (* payload ).Execute ()
264263 if err != nil {
265264 core .LogAndAddError (ctx , & resp .Diagnostics , "Error creating Logs access token" , fmt .Sprintf ("Calling API: %v" , err ))
266265 return
267266 }
268267
269268 ctx = core .LogResponse (ctx )
270269
271- if createResp .Id == nil {
272- core .LogAndAddError (ctx , & resp .Diagnostics , "Error creating Logs access token" , "Got empty credential id" )
273- return
274- }
275- accessTokenId := * createResp .Id
276- ctx = tflog .SetField (ctx , "access_token_id" , accessTokenId )
270+ ctx = tflog .SetField (ctx , "access_token_id" , createResp .Id )
277271
278272 err = mapFields (ctx , createResp , & model )
279273 if err != nil {
@@ -308,7 +302,7 @@ func (r *logsAccessTokenResource) Read(ctx context.Context, req resource.ReadReq
308302 ctx = tflog .SetField (ctx , "instance_id" , instanceID )
309303 ctx = tflog .SetField (ctx , "access_token_id" , accessTokenID )
310304
311- accessTokenResponse , err := r .client .GetAccessToken (ctx , projectID , region , instanceID , accessTokenID ).Execute ()
305+ accessTokenResponse , err := r .client .DefaultAPI . GetAccessToken (ctx , projectID , region , instanceID , accessTokenID ).Execute ()
312306 if err != nil {
313307 var oapiErr * oapierror.GenericOpenAPIError
314308 ok := errors .As (err , & oapiErr )
@@ -362,15 +356,15 @@ func (r *logsAccessTokenResource) Update(ctx context.Context, req resource.Updat
362356 return
363357 }
364358
365- err = r .client .UpdateAccessToken (ctx , projectID , region , instanceID , accessTokenID ).UpdateAccessTokenPayload (* payload ).Execute ()
359+ err = r .client .DefaultAPI . UpdateAccessToken (ctx , projectID , region , instanceID , accessTokenID ).UpdateAccessTokenPayload (* payload ).Execute ()
366360 if err != nil {
367361 core .LogAndAddError (ctx , & resp .Diagnostics , "Error updating Logs access token" , fmt .Sprintf ("Calling API: %v" , err ))
368362 return
369363 }
370364
371365 ctx = core .LogResponse (ctx )
372366
373- accessTokenResponse , err := r .client .GetAccessToken (ctx , projectID , region , instanceID , accessTokenID ).Execute ()
367+ accessTokenResponse , err := r .client .DefaultAPI . GetAccessToken (ctx , projectID , region , instanceID , accessTokenID ).Execute ()
374368 if err != nil {
375369 core .LogAndAddError (ctx , & resp .Diagnostics , "Error updating Logs access token" , fmt .Sprintf ("Calling API: %v" , err ))
376370 return
@@ -412,7 +406,7 @@ func (r *logsAccessTokenResource) Delete(ctx context.Context, req resource.Delet
412406 ctx = tflog .SetField (ctx , "instance_id" , instanceID )
413407 ctx = tflog .SetField (ctx , "access_token_id" , accessTokenID )
414408
415- err := r .client .DeleteAccessToken (ctx , projectID , region , instanceID , accessTokenID ).Execute ()
409+ err := r .client .DefaultAPI . DeleteAccessToken (ctx , projectID , region , instanceID , accessTokenID ).Execute ()
416410 if err != nil {
417411 core .LogAndAddError (ctx , & resp .Diagnostics , "Error deleting Logs access token" , fmt .Sprintf ("Calling API: %v" , err ))
418412 return
@@ -449,16 +443,16 @@ func toCreatePayload(ctx context.Context, diagnostics diag.Diagnostics, model *M
449443
450444 payload := & logs.CreateAccessTokenPayload {
451445 Description : conversion .StringValueToPointer (model .Description ),
452- DisplayName : conversion . StringValueToPointer ( model .DisplayName ),
453- Lifetime : conversion .Int64ValueToPointer (model .Lifetime ),
446+ DisplayName : model .DisplayName . ValueString ( ),
447+ Lifetime : conversion .Int32ValueToPointer (model .Lifetime ),
454448 }
455449
456450 if ! (tfutils .IsUndefined (model .Permissions )) {
457451 var permissions []string
458452 permissionDiags := model .Permissions .ElementsAs (ctx , & permissions , false )
459453 diagnostics .Append (permissionDiags ... )
460454 if ! permissionDiags .HasError () {
461- payload .Permissions = & permissions
455+ payload .Permissions = permissions
462456 }
463457 }
464458
@@ -476,20 +470,20 @@ func mapFields(ctx context.Context, accessToken *logs.AccessToken, model *Model)
476470 var accessTokenID string
477471 if model .AccessTokenID .ValueString () != "" {
478472 accessTokenID = model .AccessTokenID .ValueString ()
479- } else if accessToken .Id != nil {
480- accessTokenID = * accessToken .Id
473+ } else if accessToken .Id != "" {
474+ accessTokenID = accessToken .Id
481475 } else {
482476 return fmt .Errorf ("access token id not present" )
483477 }
484478
485479 model .ID = tfutils .BuildInternalTerraformId (model .ProjectID .ValueString (), model .Region .ValueString (), model .InstanceID .ValueString (), accessTokenID )
486480 model .AccessTokenID = types .StringValue (accessTokenID )
487481 model .Region = types .StringValue (model .Region .ValueString ())
488- model .Creator = types .StringPointerValue (accessToken .Creator )
482+ model .Creator = types .StringValue (accessToken .Creator )
489483 model .Description = types .StringPointerValue (accessToken .Description )
490- model .DisplayName = types .StringPointerValue (accessToken .DisplayName )
491- model .Expires = types .BoolPointerValue (accessToken .Expires )
492- model .Status = types .StringValue (string ( * accessToken .Status ) )
484+ model .DisplayName = types .StringValue (accessToken .DisplayName )
485+ model .Expires = types .BoolValue (accessToken .Expires )
486+ model .Status = types .StringValue (accessToken .Status )
493487
494488 model .ValidUntil = types .StringNull ()
495489 if accessToken .ValidUntil != nil {
@@ -502,7 +496,7 @@ func mapFields(ctx context.Context, accessToken *logs.AccessToken, model *Model)
502496
503497 permissionList := types .ListNull (types .StringType )
504498 var diags diag.Diagnostics
505- if accessToken . Permissions != nil && len (* accessToken .Permissions ) > 0 {
499+ if len (accessToken .Permissions ) > 0 {
506500 permissionList , diags = types .ListValueFrom (ctx , types .StringType , accessToken .Permissions )
507501 if diags .HasError () {
508502 return fmt .Errorf ("mapping permissions: %w" , core .DiagsToError (diags ))
0 commit comments