88 "github.com/coder/coder/v2/codersdk"
99 "github.com/coder/terraform-provider-coderd/internal/codersdkvalidator"
1010 "github.com/google/uuid"
11- "github.com/hashicorp/terraform-plugin-framework-validators/listvalidator"
12- "github.com/hashicorp/terraform-plugin-framework-validators/mapvalidator"
1311 "github.com/hashicorp/terraform-plugin-framework-validators/stringvalidator"
1412 "github.com/hashicorp/terraform-plugin-framework/diag"
1513 "github.com/hashicorp/terraform-plugin-framework/path"
@@ -135,9 +133,6 @@ func (r *OrganizationResource) Schema(ctx context.Context, req resource.SchemaRe
135133 ElementType : types.ListType {ElemType : UUIDType },
136134 Optional : true ,
137135 MarkdownDescription : "A map from OIDC group name to Coder group ID." ,
138- Validators : []validator.Map {
139- mapvalidator .ValueListsAre (listvalidator .ValueStringsAre (stringvalidator .Any ())),
140- },
141136 },
142137 },
143138 },
@@ -152,13 +147,10 @@ func (r *OrganizationResource) Schema(ctx context.Context, req resource.SchemaRe
152147 },
153148 },
154149 "mapping" : schema.MapAttribute {
155- ElementType : types.ListType {ElemType : UUIDType },
150+ ElementType : types.ListType {ElemType : types . StringType },
156151 Optional : true ,
157152 MarkdownDescription : "A map from OIDC group name to Coder " +
158153 "organization role." ,
159- Validators : []validator.Map {
160- mapvalidator .ValueListsAre (listvalidator .ValueStringsAre (stringvalidator .Any ())),
161- },
162154 },
163155 },
164156 },
@@ -289,13 +281,19 @@ func (r *OrganizationResource) Create(ctx context.Context, req resource.CreateRe
289281 "orgID" : orgID ,
290282 })
291283 if ! data .GroupSync .IsNull () {
292- r .patchGroupSync (ctx , orgID , data .GroupSync )
284+ resp .Diagnostics .Append (r .patchGroupSync (ctx , orgID , data .GroupSync )... )
285+ if resp .Diagnostics .HasError () {
286+ return
287+ }
293288 }
294289 tflog .Trace (ctx , "updating role sync" , map [string ]any {
295290 "orgID" : orgID ,
296291 })
297292 if ! data .RoleSync .IsNull () {
298- r .patchRoleSync (ctx , orgID , data .RoleSync )
293+ resp .Diagnostics .Append (r .patchRoleSync (ctx , orgID , data .RoleSync )... )
294+ if resp .Diagnostics .HasError () {
295+ return
296+ }
299297 }
300298
301299 // Save data into Terraform state
@@ -343,13 +341,19 @@ func (r *OrganizationResource) Update(ctx context.Context, req resource.UpdateRe
343341 "orgID" : orgID ,
344342 })
345343 if ! data .GroupSync .IsNull () {
346- r .patchGroupSync (ctx , orgID , data .GroupSync )
344+ resp .Diagnostics .Append (r .patchGroupSync (ctx , orgID , data .GroupSync )... )
345+ if resp .Diagnostics .HasError () {
346+ return
347+ }
347348 }
348349 tflog .Trace (ctx , "updating role sync" , map [string ]any {
349350 "orgID" : orgID ,
350351 })
351352 if ! data .RoleSync .IsNull () {
352- r .patchRoleSync (ctx , orgID , data .RoleSync )
353+ resp .Diagnostics .Append (r .patchRoleSync (ctx , orgID , data .RoleSync )... )
354+ if resp .Diagnostics .HasError () {
355+ return
356+ }
353357 }
354358
355359 // Save updated data into Terraform state
0 commit comments