@@ -25,6 +25,7 @@ import (
2525
2626const (
2727 nameFlag = "name"
28+ descriptionFlag = "description"
2829 ipv4DnsNameServersFlag = "ipv4-dns-name-servers"
2930 ipv4PrefixLengthFlag = "ipv4-prefix-length"
3031 ipv4PrefixFlag = "ipv4-prefix"
@@ -43,6 +44,7 @@ const (
4344type inputModel struct {
4445 * globalflags.GlobalFlagModel
4546 Name string
47+ Description * string
4648 IPv4DnsNameServers []string
4749 IPv4PrefixLength * int64
4850 IPv4Prefix * string
@@ -69,6 +71,10 @@ func NewCmd(params *types.CmdParams) *cobra.Command {
6971 `Create a network with name "network-1"` ,
7072 `$ stackit network create --name network-1` ,
7173 ),
74+ examples .NewExample (
75+ `Create a network with name "network-1" and a description` ,
76+ `$ stackit network create --name network-1 --description "My network"` ,
77+ ),
7278 examples .NewExample (
7379 `Create a non-routed network with name "network-1"` ,
7480 `$ stackit network create --name network-1 --non-routed` ,
@@ -122,7 +128,7 @@ func NewCmd(params *types.CmdParams) *cobra.Command {
122128 }
123129
124130 // Call API
125- req := buildRequest (ctx , model , apiClient )
131+ req := buildRequest (ctx , model , apiClient . DefaultAPI )
126132 resp , err := req .Execute ()
127133 if err != nil {
128134 return fmt .Errorf ("create network : %w" , err )
@@ -152,6 +158,7 @@ func NewCmd(params *types.CmdParams) *cobra.Command {
152158
153159func configureFlags (cmd * cobra.Command ) {
154160 cmd .Flags ().StringP (nameFlag , "n" , "" , "Network name" )
161+ cmd .Flags ().String (descriptionFlag , "" , "Description of the network (up to 255 characters)" )
155162 cmd .Flags ().StringSlice (ipv4DnsNameServersFlag , []string {}, "List of DNS name servers for IPv4. Nameservers cannot be defined for routed networks" )
156163 cmd .Flags ().Int64 (ipv4PrefixLengthFlag , 0 , "The prefix length of the IPv4 network" )
157164 cmd .Flags ().String (ipv4PrefixFlag , "" , "The IPv4 prefix of the network (CIDR)" )
@@ -190,6 +197,7 @@ func parseInput(p *print.Printer, cmd *cobra.Command, _ []string) (*inputModel,
190197 model := inputModel {
191198 GlobalFlagModel : globalFlags ,
192199 Name : flags .FlagToStringValue (p , cmd , nameFlag ),
200+ Description : flags .FlagToStringPointer (p , cmd , descriptionFlag ),
193201 IPv4DnsNameServers : flags .FlagToStringSliceValue (p , cmd , ipv4DnsNameServersFlag ),
194202 IPv4PrefixLength : flags .FlagToInt64Pointer (p , cmd , ipv4PrefixLengthFlag ),
195203 IPv4Prefix : flags .FlagToStringPointer (p , cmd , ipv4PrefixFlag ),
@@ -246,8 +254,8 @@ func parseInput(p *print.Printer, cmd *cobra.Command, _ []string) (*inputModel,
246254 return & model , nil
247255}
248256
249- func buildRequest (ctx context.Context , model * inputModel , apiClient * iaas.APIClient ) iaas.ApiCreateNetworkRequest {
250- req := apiClient .DefaultAPI . CreateNetwork (ctx , model .ProjectId , model .Region )
257+ func buildRequest (ctx context.Context , model * inputModel , apiClient iaas.DefaultAPI ) iaas.ApiCreateNetworkRequest {
258+ req := apiClient .CreateNetwork (ctx , model .ProjectId , model .Region )
251259 var ipv4Network * iaas.CreateNetworkIPv4
252260 var ipv6Network * iaas.CreateNetworkIPv6
253261
@@ -297,6 +305,7 @@ func buildRequest(ctx context.Context, model *inputModel, apiClient *iaas.APICli
297305
298306 payload := iaas.CreateNetworkPayload {
299307 Name : model .Name ,
308+ Description : model .Description ,
300309 Labels : model .Labels ,
301310 Routed : utils .Ptr (! model .NonRouted ),
302311 Ipv4 : ipv4Network ,
0 commit comments