Skip to content

Commit ec4f5ea

Browse files
Leonardo Biffitimofurrer
authored andcommitted
resource/gitlab_project_badge: Add name attribute
1 parent b3f8859 commit ec4f5ea

File tree

4 files changed

+22
-2
lines changed

4 files changed

+22
-2
lines changed

docs/resources/project_badge.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ resource "gitlab_project_badge" "example" {
2424
project = gitlab_project.foo.id
2525
link_url = "https://example.com/badge-123"
2626
image_url = "https://example.com/badge-123.svg"
27+
name = "badge-123"
2728
}
2829
```
2930

@@ -39,6 +40,7 @@ resource "gitlab_project_badge" "example" {
3940
### Optional
4041

4142
- `id` (String) The ID of this resource.
43+
- `name` (String) The name of the badge.
4244

4345
### Read-Only
4446

examples/resources/gitlab_project_badge/resource.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,5 @@ resource "gitlab_project_badge" "example" {
66
project = gitlab_project.foo.id
77
link_url = "https://example.com/badge-123"
88
image_url = "https://example.com/badge-123.svg"
9+
name = "badge-123"
910
}

internal/provider/resource_gitlab_project_badge.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,11 @@ var _ = registerResource("gitlab_project_badge", func() *schema.Resource {
4141
Type: schema.TypeString,
4242
Required: true,
4343
},
44+
"name": {
45+
Description: "The name of the badge.",
46+
Type: schema.TypeString,
47+
Optional: true,
48+
},
4449
"rendered_link_url": {
4550
Description: "The link_url argument rendered (in case of use of placeholders).",
4651
Type: schema.TypeString,
@@ -61,6 +66,7 @@ func resourceGitlabProjectBadgeCreate(ctx context.Context, d *schema.ResourceDat
6166
options := &gitlab.AddProjectBadgeOptions{
6267
LinkURL: gitlab.String(d.Get("link_url").(string)),
6368
ImageURL: gitlab.String(d.Get("image_url").(string)),
69+
Name: gitlab.String(d.Get("name").(string)),
6470
}
6571

6672
log.Printf("[DEBUG] create gitlab project badge %q / %q", *options.LinkURL, *options.ImageURL)
@@ -114,6 +120,7 @@ func resourceGitlabProjectBadgeUpdate(ctx context.Context, d *schema.ResourceDat
114120
options := &gitlab.EditProjectBadgeOptions{
115121
LinkURL: gitlab.String(d.Get("link_url").(string)),
116122
ImageURL: gitlab.String(d.Get("image_url").(string)),
123+
Name: gitlab.String(d.Get("name").(string)),
117124
}
118125

119126
log.Printf("[DEBUG] update gitlab project badge %s/%d", projectID, badgeID)
@@ -148,6 +155,7 @@ func resourceGitlabProjectBadgeDelete(ctx context.Context, d *schema.ResourceDat
148155
func resourceGitlabProjectBadgeSetToState(d *schema.ResourceData, badge *gitlab.ProjectBadge, projectID *string) {
149156
d.Set("link_url", badge.LinkURL)
150157
d.Set("image_url", badge.ImageURL)
158+
d.Set("name", badge.Name)
151159
d.Set("rendered_link_url", badge.RenderedLinkURL)
152160
d.Set("rendered_image_url", badge.RenderedImageURL)
153161
d.Set("project", projectID)

internal/provider/resource_gitlab_project_badge_test.go

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ func TestAccGitlabProjectBadge_basic(t *testing.T) {
2929
testAccCheckGitlabProjectBadgeAttributes(&badge, &testAccGitlabProjectBadgeExpectedAttributes{
3030
LinkURL: fmt.Sprintf("https://example.com/badge-%d", rInt),
3131
ImageURL: fmt.Sprintf("https://example.com/badge-%d.svg", rInt),
32+
Name: fmt.Sprintf("badge-%d", rInt),
3233
}),
3334
),
3435
},
@@ -46,6 +47,7 @@ func TestAccGitlabProjectBadge_basic(t *testing.T) {
4647
testAccCheckGitlabProjectBadgeAttributes(&badge, &testAccGitlabProjectBadgeExpectedAttributes{
4748
LinkURL: fmt.Sprintf("https://example.com/badge-%d", rInt),
4849
ImageURL: fmt.Sprintf("https://example.com/badge-%d.svg", rInt),
50+
Name: fmt.Sprintf("badge-%d", rInt),
4951
}),
5052
),
5153
},
@@ -83,6 +85,7 @@ func testAccCheckGitlabProjectBadgeExists(n string, badge *gitlab.ProjectBadge)
8385
type testAccGitlabProjectBadgeExpectedAttributes struct {
8486
LinkURL string
8587
ImageURL string
88+
Name string
8689
}
8790

8891
func testAccCheckGitlabProjectBadgeAttributes(badge *gitlab.ProjectBadge, want *testAccGitlabProjectBadgeExpectedAttributes) resource.TestCheckFunc {
@@ -95,6 +98,10 @@ func testAccCheckGitlabProjectBadgeAttributes(badge *gitlab.ProjectBadge, want *
9598
return fmt.Errorf("got image_url %s; want %s", badge.ImageURL, want.ImageURL)
9699
}
97100

101+
if badge.Name != want.Name {
102+
return fmt.Errorf("got name %q; want %q", badge.Name, want.Name)
103+
}
104+
98105
return nil
99106
}
100107
}
@@ -136,8 +143,9 @@ resource "gitlab_project_badge" "foo" {
136143
project = "${gitlab_project.foo.id}"
137144
link_url = "https://example.com/badge-%d"
138145
image_url = "https://example.com/badge-%d.svg"
146+
name = "badge-%d"
139147
}
140-
`, rInt, rInt, rInt)
148+
`, rInt, rInt, rInt, rInt)
141149
}
142150

143151
func testAccGitlabProjectBadgeUpdateConfig(rInt int) string {
@@ -155,6 +163,7 @@ resource "gitlab_project_badge" "foo" {
155163
project = "${gitlab_project.foo.id}"
156164
link_url = "https://example.com/badge-%d"
157165
image_url = "https://example.com/badge-%d.svg"
166+
name = "badge-%d"
158167
}
159-
`, rInt, rInt, rInt)
168+
`, rInt, rInt, rInt, rInt)
160169
}

0 commit comments

Comments
 (0)