Skip to content

Commit 1e2d9fa

Browse files
committed
feat(certificate): allow adding labels during create
1 parent b3d1238 commit 1e2d9fa

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

internal/cmd/certificate/create.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ var CreateCmd = base.CreateCmd{
2424
cmd.Flags().String("name", "", "Certificate name (required)")
2525
_ = cmd.MarkFlagRequired("name")
2626

27+
cmd.Flags().StringToString("label", nil, "User-defined labels ('key=value') (can be specified multiple times)")
28+
2729
cmd.Flags().StringP("type", "t", string(hcloud.CertificateTypeUploaded),
2830
fmt.Sprintf("Type of certificate to create. Valid choices: %v, %v",
2931
hcloud.CertificateTypeUploaded, hcloud.CertificateTypeManaged))
@@ -61,6 +63,7 @@ var CreateCmd = base.CreateCmd{
6163
func createUploaded(s state.State, cmd *cobra.Command) (*hcloud.Certificate, error) {
6264
var (
6365
name string
66+
labels map[string]string
6467
certFile, keyFile string
6568
certPEM, keyPEM []byte
6669
cert *hcloud.Certificate
@@ -74,6 +77,9 @@ func createUploaded(s state.State, cmd *cobra.Command) (*hcloud.Certificate, err
7477
if name, err = cmd.Flags().GetString("name"); err != nil {
7578
return nil, err
7679
}
80+
if labels, err = cmd.Flags().GetStringToString("label"); err != nil {
81+
return nil, err
82+
}
7783
if certFile, err = cmd.Flags().GetString("cert-file"); err != nil {
7884
return nil, err
7985
}
@@ -90,6 +96,7 @@ func createUploaded(s state.State, cmd *cobra.Command) (*hcloud.Certificate, err
9096

9197
createOpts := hcloud.CertificateCreateOpts{
9298
Name: name,
99+
Labels: labels,
93100
Type: hcloud.CertificateTypeUploaded,
94101
Certificate: string(certPEM),
95102
PrivateKey: string(keyPEM),
@@ -105,6 +112,7 @@ func createUploaded(s state.State, cmd *cobra.Command) (*hcloud.Certificate, err
105112
func createManaged(s state.State, cmd *cobra.Command) (*hcloud.Certificate, error) {
106113
var (
107114
name string
115+
labels map[string]string
108116
domains []string
109117
res hcloud.CertificateCreateResult
110118
err error
@@ -119,9 +127,13 @@ func createManaged(s state.State, cmd *cobra.Command) (*hcloud.Certificate, erro
119127
if domains, err = cmd.Flags().GetStringSlice("domain"); err != nil {
120128
return nil, nil
121129
}
130+
if labels, err = cmd.Flags().GetStringToString("label"); err != nil {
131+
return nil, err
132+
}
122133

123134
createOpts := hcloud.CertificateCreateOpts{
124135
Name: name,
136+
Labels: labels,
125137
Type: hcloud.CertificateTypeManaged,
126138
DomainNames: domains,
127139
}

0 commit comments

Comments
 (0)