Skip to content
This repository was archived by the owner on Mar 1, 2023. It is now read-only.

Commit 107a3f8

Browse files
Vadim Chinyaevalexk53
authored andcommitted
images metadata support
1 parent cf457f5 commit 107a3f8

File tree

5 files changed

+156
-34
lines changed

5 files changed

+156
-34
lines changed

gcore/data_source_gcore_image.go

Lines changed: 64 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,10 @@ import (
1111
)
1212

1313
const (
14-
imagesPoint = "images"
15-
bmImagesPoint = "bmimages"
14+
imagesPoint = "images"
15+
bmImagesPoint = "bmimages"
16+
downloadImagePoint = "downloadimage"
17+
ImageUploadTimeout = 1200
1618
)
1719

1820
func dataSourceImage() *schema.Resource {
@@ -82,6 +84,37 @@ func dataSourceImage() *schema.Resource {
8284
Type: schema.TypeString,
8385
Computed: true,
8486
},
87+
"metadata_k": &schema.Schema{
88+
Type: schema.TypeString,
89+
Optional: true,
90+
},
91+
"metadata_kv": &schema.Schema{
92+
Type: schema.TypeMap,
93+
Optional: true,
94+
Elem: &schema.Schema{
95+
Type: schema.TypeString,
96+
},
97+
},
98+
"metadata_read_only": &schema.Schema{
99+
Type: schema.TypeList,
100+
Computed: true,
101+
Elem: &schema.Resource{
102+
Schema: map[string]*schema.Schema{
103+
"key": {
104+
Type: schema.TypeString,
105+
Computed: true,
106+
},
107+
"value": {
108+
Type: schema.TypeString,
109+
Computed: true,
110+
},
111+
"read_only": {
112+
Type: schema.TypeBool,
113+
Computed: true,
114+
},
115+
},
116+
},
117+
},
85118
},
86119
}
87120
}
@@ -102,7 +135,21 @@ func dataSourceImageRead(ctx context.Context, d *schema.ResourceData, m interfac
102135
return diag.FromErr(err)
103136
}
104137

105-
allImages, err := images.ListAll(client, images.ListOpts{})
138+
listOpts := &images.ListOpts{}
139+
140+
if metadataK, ok := d.GetOk("metadata_k"); ok {
141+
listOpts.MetadataK = metadataK.(string)
142+
}
143+
144+
if metadataRaw, ok := d.GetOk("metadata_kv"); ok {
145+
typedMetadataKV := make(map[string]string, len(metadataRaw.(map[string]interface{})))
146+
for k, v := range metadataRaw.(map[string]interface{}) {
147+
typedMetadataKV[k] = v.(string)
148+
}
149+
listOpts.MetadataKV = typedMetadataKV
150+
}
151+
152+
allImages, err := images.ListAll(client, *listOpts)
106153
if err != nil {
107154
return diag.FromErr(err)
108155
}
@@ -130,6 +177,20 @@ func dataSourceImageRead(ctx context.Context, d *schema.ResourceData, m interfac
130177
d.Set("os_version", image.OsVersion)
131178
d.Set("description", image.Description)
132179

180+
metadataReadOnly := make([]map[string]interface{}, 0, len(image.Metadata))
181+
if len(image.Metadata) > 0 {
182+
for _, metadataItem := range image.Metadata {
183+
metadataReadOnly = append(metadataReadOnly, map[string]interface{}{
184+
"key": metadataItem.Key,
185+
"value": metadataItem.Value,
186+
"read_only": metadataItem.ReadOnly,
187+
})
188+
}
189+
}
190+
191+
if err := d.Set("metadata_read_only", metadataReadOnly); err != nil {
192+
return diag.FromErr(err)
193+
}
133194
log.Println("[DEBUG] Finish Image reading")
134195
return nil
135196
}

gcore/data_source_gcore_image_test.go

Lines changed: 87 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,37 @@ import (
88
"strconv"
99
"testing"
1010

11+
gcorecloud "github.com/G-Core/gcorelabscloud-go"
1112
"github.com/G-Core/gcorelabscloud-go/gcore/image/v1/images"
13+
"github.com/G-Core/gcorelabscloud-go/gcore/task/v1/tasks"
1214
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
1315
)
1416

17+
func uploadTestImage(client *gcorecloud.ServiceClient, opts images.UploadOpts) (string, error) {
18+
res, err := images.Upload(client, opts).Extract()
19+
if err != nil {
20+
return "", err
21+
}
22+
23+
taskID := res.Tasks[0]
24+
imageID, err := tasks.WaitTaskAndReturnResult(client, taskID, true, ImageUploadTimeout, func(task tasks.TaskID) (interface{}, error) {
25+
taskInfo, err := tasks.Get(client, string(task)).Extract()
26+
if err != nil {
27+
return nil, fmt.Errorf("cannot get task with ID: %s. Error: %w", task, err)
28+
}
29+
id, err := images.ExtractImageIDFromTask(taskInfo)
30+
if err != nil {
31+
return nil, fmt.Errorf("cannot retrieve Image ID from task info: %w", err)
32+
}
33+
return id, nil
34+
})
35+
36+
if err != nil {
37+
return "", err
38+
}
39+
return imageID.(string), nil
40+
}
41+
1542
func TestAccImageDataSource(t *testing.T) {
1643
cfg, err := createTestConfig()
1744
if err != nil {
@@ -22,43 +49,90 @@ func TestAccImageDataSource(t *testing.T) {
2249
if err != nil {
2350
t.Fatal(err)
2451
}
52+
downloadClient, err := CreateTestClient(cfg.Provider, downloadImagePoint, versionPointV1)
53+
if err != nil {
54+
t.Fatal(err)
55+
}
56+
57+
opts1 := images.UploadOpts{
58+
HwMachineType: "q35",
59+
SshKey: "allow",
60+
Name: "test_image_tf1",
61+
OSType: "linux",
62+
URL: "http://mirror.noris.net/cirros/0.4.0/cirros-0.4.0-x86_64-disk.img",
63+
HwFirmwareType: "uefi",
64+
Metadata: map[string]string{"key1": "val1", "key2": "val2"},
65+
}
66+
67+
opts2 := opts1
68+
opts2.Name = "test_image_tf2"
69+
opts2.Metadata = map[string]string{"key1": "val1", "key3": "val3"}
2570

26-
imgs, err := images.ListAll(client, images.ListOpts{})
71+
image1ID, err := uploadTestImage(downloadClient, opts1)
2772
if err != nil {
2873
t.Fatal(err)
2974
}
75+
defer images.Delete(client, image1ID)
3076

31-
if len(imgs) == 0 {
32-
t.Fatal("images not found")
77+
image2ID, err := uploadTestImage(downloadClient, opts2)
78+
if err != nil {
79+
t.Fatal(err)
3380
}
81+
defer images.Delete(client, image2ID)
3482

35-
img := imgs[0]
83+
image1, err := images.Get(client, image1ID).Extract()
84+
if err != nil {
85+
t.Fatal(err)
86+
}
87+
88+
image2, err := images.Get(client, image2ID).Extract()
89+
if err != nil {
90+
t.Fatal(err)
91+
}
3692

3793
fullName := "data.gcore_image.acctest"
38-
tpl := func(name string) string {
94+
tpl := func(name string, metaQuery string) string {
3995
return fmt.Sprintf(`
4096
data "gcore_image" "acctest" {
4197
%s
4298
%s
4399
name = "%s"
100+
%s
44101
}
45-
`, projectInfo(), regionInfo(), name)
102+
`, projectInfo(), regionInfo(), name, metaQuery)
46103
}
47104

48105
resource.Test(t, resource.TestCase{
49106
PreCheck: func() { testAccPreCheck(t) },
50107
ProviderFactories: testAccProviders,
51108
Steps: []resource.TestStep{
52109
{
53-
Config: tpl(img.Name),
110+
Config: tpl(image1.Name, `metadata_k="key1"`),
111+
Check: resource.ComposeTestCheckFunc(
112+
testAccCheckResourceExists(fullName),
113+
resource.TestCheckResourceAttr(fullName, "name", image1.Name),
114+
resource.TestCheckResourceAttr(fullName, "id", image1.ID),
115+
resource.TestCheckResourceAttr(fullName, "min_disk", strconv.Itoa(image1.MinDisk)),
116+
resource.TestCheckResourceAttr(fullName, "min_ram", strconv.Itoa(image1.MinRAM)),
117+
resource.TestCheckResourceAttr(fullName, "os_distro", image1.OsDistro),
118+
resource.TestCheckResourceAttr(fullName, "os_version", image1.OsVersion),
119+
testAccCheckMetadata(fullName, true, map[string]string{
120+
"key1": "val1", "key2": "val2"}),
121+
),
122+
},
123+
{
124+
Config: tpl(image2.Name, `metadata_kv={key3 = "val3"}`),
54125
Check: resource.ComposeTestCheckFunc(
55126
testAccCheckResourceExists(fullName),
56-
resource.TestCheckResourceAttr(fullName, "name", img.Name),
57-
resource.TestCheckResourceAttr(fullName, "id", img.ID),
58-
resource.TestCheckResourceAttr(fullName, "min_disk", strconv.Itoa(img.MinDisk)),
59-
resource.TestCheckResourceAttr(fullName, "min_ram", strconv.Itoa(img.MinRAM)),
60-
resource.TestCheckResourceAttr(fullName, "os_distro", img.OsDistro),
61-
resource.TestCheckResourceAttr(fullName, "os_version", img.OsVersion),
127+
resource.TestCheckResourceAttr(fullName, "name", image2.Name),
128+
resource.TestCheckResourceAttr(fullName, "id", image2.ID),
129+
resource.TestCheckResourceAttr(fullName, "min_disk", strconv.Itoa(image2.MinDisk)),
130+
resource.TestCheckResourceAttr(fullName, "min_ram", strconv.Itoa(image2.MinRAM)),
131+
resource.TestCheckResourceAttr(fullName, "os_distro", image2.OsDistro),
132+
resource.TestCheckResourceAttr(fullName, "os_version", image2.OsVersion),
133+
testAccCheckMetadata(fullName, true, map[string]string{
134+
"key3": "val3",
135+
}),
62136
),
63137
},
64138
},

gcore/data_source_gcore_network.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@ func dataSourceNetworkRead(ctx context.Context, d *schema.ResourceData, m interf
119119
}
120120

121121
name := d.Get("name").(string)
122+
122123
metaOpts := &networks.ListOpts{}
123124

124125
if metadataK, ok := d.GetOk("metadata_k"); ok {
@@ -134,6 +135,7 @@ func dataSourceNetworkRead(ctx context.Context, d *schema.ResourceData, m interf
134135
}
135136

136137
nets, err := networks.ListAll(client, *metaOpts)
138+
137139
if err != nil {
138140
return diag.FromErr(err)
139141
}

go.mod

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ require (
77
github.com/G-Core/gcore-dns-sdk-go v0.2.3
88
github.com/G-Core/gcore-storage-sdk-go v0.1.34
99
github.com/G-Core/gcorelabscdn-go v0.1.24
10-
github.com/G-Core/gcorelabscloud-go v0.5.20
10+
github.com/G-Core/gcorelabscloud-go v0.5.21
1111
github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320
1212
github.com/hashicorp/terraform-plugin-sdk/v2 v2.10.1
1313
github.com/mitchellh/mapstructure v1.5.0
@@ -47,7 +47,6 @@ require (
4747
github.com/hashicorp/hcl/v2 v2.11.1 // indirect
4848
github.com/hashicorp/logutils v1.0.0 // indirect
4949
github.com/hashicorp/terraform-json v0.14.0 // indirect
50-
github.com/hashicorp/terraform-plugin-docs v0.13.0 // indirect
5150
github.com/hashicorp/terraform-plugin-go v0.5.0 // indirect
5251
github.com/hashicorp/terraform-plugin-log v0.2.0 // indirect
5352
github.com/hashicorp/terraform-registry-address v0.0.0-20210412075316-9b2996cce896 // indirect

go.sum

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -85,16 +85,11 @@ github.com/G-Core/gcore-storage-sdk-go v0.1.34 h1:0GPQfz1kA6mQi6fiisGsh0Um4H9PZe
8585
github.com/G-Core/gcore-storage-sdk-go v0.1.34/go.mod h1:BUAEZZZJJt/+luRFunqziv3+JnbVMLbQXDWz9kV8Te8=
8686
github.com/G-Core/gcorelabscdn-go v0.1.24 h1:3RZgU2rNxLum61FKQNND/XbFDj7vka2Q/BzG2Gg2oW4=
8787
github.com/G-Core/gcorelabscdn-go v0.1.24/go.mod h1:iSGXaTvZBzDHQW+rKFS918BgFVpONcyLEijwh8WsXpE=
88-
github.com/G-Core/gcorelabscloud-go v0.5.20 h1:pqwzbdRhuJK7TlzvQkWkz2ozGyk2UCuup+WNyOQYeqk=
89-
github.com/G-Core/gcorelabscloud-go v0.5.20/go.mod h1:EFyllSaVpPPIXnU35ALXXXQJhPRmwjShgOGHqHnb2Xk=
88+
github.com/G-Core/gcorelabscloud-go v0.5.21 h1:4ZcdtBIRytwfeh/4FetCkfnOuSuUj70nXYwDzSRN8L4=
89+
github.com/G-Core/gcorelabscloud-go v0.5.21/go.mod h1:EFyllSaVpPPIXnU35ALXXXQJhPRmwjShgOGHqHnb2Xk=
9090
github.com/Masterminds/goutils v1.1.0/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU=
91-
github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI=
92-
github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww=
9391
github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y=
94-
github.com/Masterminds/semver/v3 v3.1.1 h1:hLg3sBzpNErnxhQtUy/mmLR2I9foDujNK030IGemrRc=
95-
github.com/Masterminds/sprig v2.22.0+incompatible h1:z4yfnGrZ7netVz+0EDJ0Wi+5VZCSYp4Z0m2dk6cEM60=
9692
github.com/Masterminds/sprig v2.22.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o=
97-
github.com/Masterminds/sprig/v3 v3.2.2 h1:17jRggJu518dr3QaafizSXOjKYp94wKfABxUmyxvxX8=
9893
github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA=
9994
github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0=
10095
github.com/Microsoft/go-winio v0.5.0 h1:Elr9Wn+sGKPlkaBvwu4mTrxtmOp3F3yV9qhaHbXGjwU=
@@ -143,7 +138,6 @@ github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hC
143138
github.com/armon/circbuf v0.0.0-20190214190532-5111143e8da2/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o=
144139
github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY=
145140
github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
146-
github.com/armon/go-radix v1.0.0 h1:F4z6KzEeeQIMeLFa97iZU6vupzoecKdU5TX24SNppXI=
147141
github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
148142
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs=
149143
github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY=
@@ -159,7 +153,6 @@ github.com/baiyubin/aliyun-sts-go-sdk v0.0.0-20180326062324-cfa1a18b161f/go.mod
159153
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
160154
github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
161155
github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d/go.mod h1:6QX/PXZ00z/TKoufEY6K/a0k6AhaJrQKdFe6OfVXsa4=
162-
github.com/bgentry/speakeasy v0.1.0 h1:ByYyxL9InA1OWqxJqqp2A5pYHUrCiAL6K3J+LKSsQkY=
163156
github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs=
164157
github.com/bmatcuk/doublestar v1.1.5/go.mod h1:wiQtGV+rzVYxB7WIlirSN++5HPtPlXEo9MEoZQC/PmE=
165158
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
@@ -496,8 +489,6 @@ github.com/hashicorp/terraform-json v0.12.0/go.mod h1:pmbq9o4EuL43db5+0ogX10Yofv
496489
github.com/hashicorp/terraform-json v0.13.0/go.mod h1:y5OdLBCT+rxbwnpxZs9kGL7R9ExU76+cpdY8zHwoazk=
497490
github.com/hashicorp/terraform-json v0.14.0 h1:sh9iZ1Y8IFJLx+xQiKHGud6/TSUCM0N8e17dKDpqV7s=
498491
github.com/hashicorp/terraform-json v0.14.0/go.mod h1:5A9HIWPkk4e5aeeXIBbkcOvaZbIYnAIkEyqP2pNSckM=
499-
github.com/hashicorp/terraform-plugin-docs v0.13.0 h1:6e+VIWsVGb6jYJewfzq2ok2smPzZrt1Wlm9koLeKazY=
500-
github.com/hashicorp/terraform-plugin-docs v0.13.0/go.mod h1:W0oCmHAjIlTHBbvtppWHe8fLfZ2BznQbuv8+UD8OucQ=
501492
github.com/hashicorp/terraform-plugin-go v0.4.0/go.mod h1:7u/6nt6vaiwcWE2GuJKbJwNlDFnf5n95xKw4hqIVr58=
502493
github.com/hashicorp/terraform-plugin-go v0.5.0 h1:+gCDdF0hcYCm0YBTxrP4+K1NGIS5ZKZBKDORBewLJmg=
503494
github.com/hashicorp/terraform-plugin-go v0.5.0/go.mod h1:PAVN26PNGpkkmsvva1qfriae5Arky3xl3NfzKa8XFVM=
@@ -514,7 +505,6 @@ github.com/hashicorp/yamux v0.0.0-20180604194846-3520598351bb/go.mod h1:+NfK9FKe
514505
github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d h1:kJCB4vdITiW1eC1vq2e6IsrXKrZit1bv/TDYFGMp4BQ=
515506
github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM=
516507
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
517-
github.com/huandu/xstrings v1.3.2 h1:L18LIDzqlW6xN2rEkpdV8+oL/IXWJ1APd+vsdYy4Wdw=
518508
github.com/huandu/xstrings v1.3.2/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
519509
github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
520510
github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
@@ -618,7 +608,6 @@ github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3N
618608
github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso=
619609
github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI=
620610
github.com/mitchellh/cli v1.1.2/go.mod h1:6iaV0fGdElS6dPBx0EApTxHrcWvmJphyh2n8YBLPPZ4=
621-
github.com/mitchellh/cli v1.1.4 h1:qj8czE26AU4PbiaPXK5uVmMSM+V5BYsFBiM9HhGRLUA=
622611
github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db/go.mod h1:l0dey0ia/Uv7NcFFVbCLtqEBQbrT4OCwCSKTEv6enCw=
623612
github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw=
624613
github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw=
@@ -696,7 +685,6 @@ github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINE
696685
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
697686
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
698687
github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI=
699-
github.com/posener/complete v1.2.3 h1:NP0eAhjcjImqslEwo/1hq7gpajME0fTLTezBKDqfXqo=
700688
github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s=
701689
github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
702690
github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo=
@@ -710,7 +698,6 @@ github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6So
710698
github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
711699
github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
712700
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
713-
github.com/russross/blackfriday v1.6.0 h1:KqfZb0pUVN2lYqZUYRddxF4OR8ZMURnJIG5Y3VRLtww=
714701
github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
715702
github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts=
716703
github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0=
@@ -733,7 +720,6 @@ github.com/sirupsen/logrus v1.7.0 h1:ShrD1U9pZB12TX0cVy0DtePoCH97K8EtX+mg7ZARUtM
733720
github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
734721
github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM=
735722
github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk=
736-
github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w=
737723
github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
738724
github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
739725
github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=

0 commit comments

Comments
 (0)