@@ -77,27 +77,19 @@ func resourceGitlabLabelRead(ctx context.Context, d *schema.ResourceData, meta i
77
77
labelName := d .Id ()
78
78
log .Printf ("[DEBUG] read gitlab label %s/%s" , project , labelName )
79
79
80
- page := 1
81
- labelsLen := 0
82
- for page == 1 || labelsLen != 0 {
83
- labels , _ , err := client .Labels .ListLabels (project , & gitlab.ListLabelsOptions {ListOptions : gitlab.ListOptions {Page : page }}, gitlab .WithContext (ctx ))
84
- if err != nil {
85
- return diag .FromErr (err )
86
- }
87
- for _ , label := range labels {
88
- if label .Name == labelName {
89
- d .Set ("description" , label .Description )
90
- d .Set ("color" , label .Color )
91
- d .Set ("name" , label .Name )
92
- return nil
93
- }
80
+ label , _ , err := client .Labels .GetLabel (project , labelName , gitlab .WithContext (ctx ))
81
+ if err != nil {
82
+ if is404 (err ) {
83
+ log .Printf ("[DEBUG] failed to read gitlab label %s/%s" , project , labelName )
84
+ d .SetId ("" )
85
+ return nil
94
86
}
95
- labelsLen = len (labels )
96
- page = page + 1
87
+ return diag .FromErr (err )
97
88
}
98
89
99
- log .Printf ("[DEBUG] failed to read gitlab label %s/%s" , project , labelName )
100
- d .SetId ("" )
90
+ d .Set ("description" , label .Description )
91
+ d .Set ("color" , label .Color )
92
+ d .Set ("name" , label .Name )
101
93
return nil
102
94
}
103
95
0 commit comments