Skip to content

Commit 41a6aa2

Browse files
committed
Use context-aware CRUD functions for Project Protected Branch data source
1 parent 56d091b commit 41a6aa2

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed

gitlab/data_source_gitlab_project_protected_branch.go

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,19 @@
11
package gitlab
22

33
import (
4+
"context"
45
"fmt"
56
"log"
67

8+
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
79
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
810
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation"
911
"github.com/xanzy/go-gitlab"
1012
)
1113

1214
func dataSourceGitlabProjectProtectedBranch() *schema.Resource {
1315
return &schema.Resource{
14-
Read: dataSourceGitlabProjectProtectedBranchRead,
16+
ReadContext: dataSourceGitlabProjectProtectedBranchRead,
1517
Schema: map[string]*schema.Schema{
1618
"project_id": {
1719
Type: schema.TypeString,
@@ -70,7 +72,7 @@ func dataSourceGitlabProjectProtectedBranchSchemaAccessLevels() *schema.Schema {
7072
}
7173
}
7274

73-
func dataSourceGitlabProjectProtectedBranchRead(d *schema.ResourceData, meta interface{}) error {
75+
func dataSourceGitlabProjectProtectedBranchRead(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics {
7476
client := meta.(*gitlab.Client)
7577

7678
log.Printf("[INFO] Reading Gitlab protected branch")
@@ -79,24 +81,24 @@ func dataSourceGitlabProjectProtectedBranchRead(d *schema.ResourceData, meta int
7981
name := d.Get("name").(string)
8082

8183
// Get protected branch by project ID/path and branch name
82-
pb, _, err := client.ProtectedBranches.GetProtectedBranch(project, name)
84+
pb, _, err := client.ProtectedBranches.GetProtectedBranch(project, name, gitlab.WithContext(ctx))
8385
if err != nil {
84-
return fmt.Errorf("error getting protected branch (Project: %v / Name %v): %v", project, name, err)
86+
return diag.Errorf("error getting protected branch (Project: %v / Name %v): %v", project, name, err)
8587
}
8688

8789
// lintignore:R004 // TODO: Resolve this tfproviderlint issue
8890
if err := d.Set("push_access_levels", convertBranchAccessDescriptionsToStateBranchAccessDescriptions(pb.PushAccessLevels)); err != nil {
89-
return err
91+
return diag.FromErr(err)
9092
}
9193
// lintignore:R004 // TODO: Resolve this tfproviderlint issue
9294
if err := d.Set("merge_access_levels", convertBranchAccessDescriptionsToStateBranchAccessDescriptions(pb.MergeAccessLevels)); err != nil {
93-
return err
95+
return diag.FromErr(err)
9496
}
9597
if err := d.Set("allow_force_push", pb.AllowForcePush); err != nil {
96-
return err
98+
return diag.FromErr(err)
9799
}
98100
if err := d.Set("code_owner_approval_required", pb.CodeOwnerApprovalRequired); err != nil {
99-
return err
101+
return diag.FromErr(err)
100102
}
101103

102104
d.SetId(fmt.Sprintf("%d", pb.ID))

0 commit comments

Comments
 (0)