From 04683f7aae520b6f7bd7d82330615ef46977faab Mon Sep 17 00:00:00 2001 From: David Townshend Date: Fri, 19 Jun 2020 08:30:19 +0200 Subject: [PATCH 1/3] add support for importing gitlab group labels --- gitlab/resource_gitlab_group_label.go | 27 ++++++++++++++ gitlab/resource_gitlab_group_label_test.go | 42 ++++++++++++++++++++++ website/docs/r/group_label.html.markdown | 8 +++++ 3 files changed, 77 insertions(+) diff --git a/gitlab/resource_gitlab_group_label.go b/gitlab/resource_gitlab_group_label.go index b9c839224..b8a2f3545 100644 --- a/gitlab/resource_gitlab_group_label.go +++ b/gitlab/resource_gitlab_group_label.go @@ -1,7 +1,9 @@ package gitlab import ( + "fmt" "log" + "strings" "github.com/hashicorp/terraform-plugin-sdk/helper/schema" gitlab "github.com/xanzy/go-gitlab" @@ -13,6 +15,9 @@ func resourceGitlabGroupLabel() *schema.Resource { Read: resourceGitlabGroupLabelRead, Update: resourceGitlabGroupLabelUpdate, Delete: resourceGitlabGroupLabelDelete, + Importer: &schema.ResourceImporter{ + State: resourceGitlabGroupLabelImporter, + }, Schema: map[string]*schema.Schema{ "group": { @@ -123,3 +128,25 @@ func resourceGitlabGroupLabelDelete(d *schema.ResourceData, meta interface{}) er _, err := client.GroupLabels.DeleteGroupLabel(group, options) return err } + +func resourceGitlabGroupLabelImporter(d *schema.ResourceData, meta interface{}) ([]*schema.ResourceData, error) { + client := meta.(*gitlab.Client) + parts := strings.SplitN(d.Id(), ":", 2) + if len(parts) != 2 { + return nil, fmt.Errorf("invalid label id (should be .