diff --git a/go.mod b/go.mod index d03e6c7da..422df11f7 100644 --- a/go.mod +++ b/go.mod @@ -16,21 +16,21 @@ require ( github.com/spf13/pflag v1.0.6 github.com/spf13/viper v1.20.0 github.com/stackitcloud/stackit-sdk-go/core v0.16.0 - github.com/stackitcloud/stackit-sdk-go/services/authorization v0.6.0 - github.com/stackitcloud/stackit-sdk-go/services/dns v0.13.0 - github.com/stackitcloud/stackit-sdk-go/services/iaas v0.21.1 - github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v0.18.0 - github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.20.0 - github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.0.1 - github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.13.0 + github.com/stackitcloud/stackit-sdk-go/services/authorization v0.6.1 + github.com/stackitcloud/stackit-sdk-go/services/dns v0.13.1 + github.com/stackitcloud/stackit-sdk-go/services/iaas v0.22.0 + github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v0.18.1 + github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.20.1 + github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.0.2 + github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.13.1 github.com/stackitcloud/stackit-sdk-go/services/runcommand v1.0.0 - github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.11.0 + github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.11.2 github.com/stackitcloud/stackit-sdk-go/services/serverbackup v0.6.0 github.com/stackitcloud/stackit-sdk-go/services/serverupdate v0.5.0 - github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.6.0 - github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.0.0 - github.com/stackitcloud/stackit-sdk-go/services/ske v0.22.0 - github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.0.0 + github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.6.1 + github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.0.1 + github.com/stackitcloud/stackit-sdk-go/services/ske v0.22.1 + github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.0.1 github.com/zalando/go-keyring v0.2.6 golang.org/x/mod v0.23.0 golang.org/x/oauth2 v0.26.0 @@ -76,13 +76,13 @@ require ( github.com/sourcegraph/conc v0.3.0 // indirect github.com/spf13/afero v1.12.0 // indirect github.com/spf13/cast v1.7.1 // indirect - github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.0.0 - github.com/stackitcloud/stackit-sdk-go/services/logme v0.21.0 - github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.21.0 - github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.1.0 - github.com/stackitcloud/stackit-sdk-go/services/observability v0.3.0 - github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.21.0 - github.com/stackitcloud/stackit-sdk-go/services/redis v0.21.0 + github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.0.1 + github.com/stackitcloud/stackit-sdk-go/services/logme v0.21.1 + github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.21.1 + github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.1.1 + github.com/stackitcloud/stackit-sdk-go/services/observability v0.3.1 + github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.21.1 + github.com/stackitcloud/stackit-sdk-go/services/redis v0.21.1 github.com/subosito/gotenv v1.6.0 // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/sys v0.30.0 // indirect diff --git a/go.sum b/go.sum index e2f7ae303..5f4cb3f28 100644 --- a/go.sum +++ b/go.sum @@ -113,50 +113,50 @@ github.com/spf13/viper v1.20.0 h1:zrxIyR3RQIOsarIrgL8+sAvALXul9jeEPa06Y0Ph6vY= github.com/spf13/viper v1.20.0/go.mod h1:P9Mdzt1zoHIG8m2eZQinpiBjo6kCmZSKBClNNqjJvu4= github.com/stackitcloud/stackit-sdk-go/core v0.16.0 h1:9caGZwGLZDyBBe6ojk9VR4B2m3/0H5It6znBz76sH1w= github.com/stackitcloud/stackit-sdk-go/core v0.16.0/go.mod h1:LRheSoXTFRHWAyA8Q9skWtWBp3ZZ+bFAKiKuf4lTDkE= -github.com/stackitcloud/stackit-sdk-go/services/authorization v0.6.0 h1:nSaSvo9o4c9KGc0vct+JWk5T49Ic6i3hzbLKviJtVhA= -github.com/stackitcloud/stackit-sdk-go/services/authorization v0.6.0/go.mod h1:LoOkWrUropfVm72oE5aWSC9yRiM3s8Vf3TvC7HtC3b8= -github.com/stackitcloud/stackit-sdk-go/services/dns v0.13.0 h1:gEoA2oj3OcDg3XI0KSJm8mCjQz9WOZENeSgfTFPK8ow= -github.com/stackitcloud/stackit-sdk-go/services/dns v0.13.0/go.mod h1:JE8POcTfSxTo+g1MkgVQ+OjT4jWEr08MIY8qx3Hi+Tw= -github.com/stackitcloud/stackit-sdk-go/services/iaas v0.21.1 h1:ZFFJr54FcYTUBjE+5E3Cx92jTDdHGKT2DTIvvJSRrTc= -github.com/stackitcloud/stackit-sdk-go/services/iaas v0.21.1/go.mod h1:9p5IIdOKOM5/DIjbenKrWvz6GlSps4jsPJZkH7QJuRU= -github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.0.0 h1:z2p0OobEAgSE5bQr+KR+4Y1QTvDbSC2a7w2eCV/oSp4= -github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.0.0/go.mod h1:x0jgrL+/K2cE4BvcIQByFUf0nOPVZRqq5Z074kjjr64= -github.com/stackitcloud/stackit-sdk-go/services/logme v0.21.0 h1:P7bxaVzkZPGMWItLynKIvc88Xh6jCnK4dPTTT+L607o= -github.com/stackitcloud/stackit-sdk-go/services/logme v0.21.0/go.mod h1:os4Kp2+jkMUJ2dZtgU9A91N3EJSw3MMh2slxgK1609g= -github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.21.0 h1:ks1i+cfD/YPRss//4aq6uvxbLvUwb5QvcUrOPeboLFY= -github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.21.0/go.mod h1:kGAT87SO5Wkv/CSZevMZcPml3V38G6tnT1Wvdkdmkv4= -github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v0.18.0 h1:mXVFa5/5uvOibPAUU0HTM7uf7H95IbnYnIzNvR5gB00= -github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v0.18.0/go.mod h1:uuTdgDo4Ju2W0eMfHc3a5n9SXNKJPdxuq15e3AFss6Q= -github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.1.0 h1:kWfmDQeTMijx0ySPiPfL4EU1TL6lcpkRVrzXenSaX6w= -github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.1.0/go.mod h1:giKgWW+KXpBDiZFWt/9D7D+sU1WSp27CQy+NolyrL8s= -github.com/stackitcloud/stackit-sdk-go/services/observability v0.3.0 h1:Hn4BwKCzzmUdIFCU74OD9KgDA9OgmzRJzGMGXjPCWkQ= -github.com/stackitcloud/stackit-sdk-go/services/observability v0.3.0/go.mod h1:PxfwA6YFtxwOajB4iTp1Eq7G02qUC3HdQPJvHGjQ1hk= -github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.20.0 h1:y83IhdbQv8EHovWPTqeulGgyZKJ39AQW1klo0g7a7og= -github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.20.0/go.mod h1:Gk3hWaQDCJGgaixjGkUmoIr74VNWwdAakiUrvizpOWQ= -github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.0.1 h1:vUi9//CyfS6UMv0hftYMamimjJLco5lxT/KW9y4QPqM= -github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.0.1/go.mod h1:7TqfCUZRW7sjv8qOrLV5IvS6jqvY9Uxka165zdjYwD4= -github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.21.0 h1:zEJXwsuasmYH8dONZrCsZzcann/+6HZDKUPhN3mOmY0= -github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.21.0/go.mod h1:SaL9BCTeWcEmU9JiKgNihEXKnFKDTn91L9ehgvauWuM= -github.com/stackitcloud/stackit-sdk-go/services/redis v0.21.0 h1:UDIRWwiZ2/2ukmn60wPo83PUSuWPaXqbuRzkRTjRQNQ= -github.com/stackitcloud/stackit-sdk-go/services/redis v0.21.0/go.mod h1:ErMQspxm7+XmtOsEM6lTD73oALPq3lUC5s+JQkm6Y/s= -github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.13.0 h1:fPCdQOsdPB1QqwcgytrROk+h5va49CAnp5YSCIrKZWY= -github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.13.0/go.mod h1:Hs8RwANfF2ZKqOowPBqMQqLoRHcMobiKAihWWirAdEU= +github.com/stackitcloud/stackit-sdk-go/services/authorization v0.6.1 h1:2lq6SG8qOgPOx2OIA5Bca8mwRSlect3Yljk57bXqd5I= +github.com/stackitcloud/stackit-sdk-go/services/authorization v0.6.1/go.mod h1:in9kC4GIBU5DpzXKFDL7RDl0fKyvN/RUIc7YbyWYEUA= +github.com/stackitcloud/stackit-sdk-go/services/dns v0.13.1 h1:W5zQhg/nA2RVSkUtRjsGcJMdYlOicoE5gBGE9zMT9Eo= +github.com/stackitcloud/stackit-sdk-go/services/dns v0.13.1/go.mod h1:+i7jQpfgj/OuZNVZ9A9aUHdVUR/j2SfICLeHbtNn+5c= +github.com/stackitcloud/stackit-sdk-go/services/iaas v0.22.0 h1:xaNory8kBIsBG7PJnBfPP1cERc+ERqjebxmEmEOvRHU= +github.com/stackitcloud/stackit-sdk-go/services/iaas v0.22.0/go.mod h1:LVOYlzNt5BXDC42AHd/GZj6KvlCg4w94of/E6pZOj5k= +github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.0.1 h1:4Kz9MH9VVuXYnnWFjJcPFVBiPtCUnSrHfsyUzBWwhKc= +github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.0.1/go.mod h1:x0jgrL+/K2cE4BvcIQByFUf0nOPVZRqq5Z074kjjr64= +github.com/stackitcloud/stackit-sdk-go/services/logme v0.21.1 h1:LwZlY0cANz2HR6U7I6hR+kFShmTKlTPNxBp1XHDoUzE= +github.com/stackitcloud/stackit-sdk-go/services/logme v0.21.1/go.mod h1:aSdF3zcNoudRx5AzHqGVQVN7Cq05OseCQFyDa7P2cC8= +github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.21.1 h1:gAFstHEqncA6nFIrXKHrF1HDNF5jqhB1gzW/lNHAevI= +github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.21.1/go.mod h1:kUOByn2sB5KSIiz8Bx3XOLF3z7B8JtqP2nhH+Cr2W7o= +github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v0.18.1 h1:n6xMTHrLV9L78ureeigHHPwmMC4ZntOgVC+agV81Rpk= +github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v0.18.1/go.mod h1:R+fHrtGfy+zx+d5s31cBh09P3TG58dyytb83gB7ldi0= +github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.1.1 h1:yyN3Q4i+5bmUVySPbQC7sSKG6sK21V8AxMjvhfJe2r0= +github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.1.1/go.mod h1:c5/LHxZZ7qZYOboR01qOw1Mqq5v/VNyONw7WPHctNeY= +github.com/stackitcloud/stackit-sdk-go/services/observability v0.3.1 h1:V6vvH++exqeqzD7TtzLc86ZRFrbcmxlaQqBJewiUXrE= +github.com/stackitcloud/stackit-sdk-go/services/observability v0.3.1/go.mod h1:/GFUX/OiR2/SsWh3Vsu7UnY6QLJzsbHwrcxiRBxmYOA= +github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.20.1 h1:Bag2KZMwHJhlz2iy5Sy4ANTwPSR/ArGXcF13tbC3O+M= +github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.20.1/go.mod h1:F1WyCyjAuzq3YI+YPJxj4AXrmpWXtxjFxGhwo9RIYy4= +github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.0.2 h1:S6uamk6ecVy8K3jE2mgU50h14GoGE0LRVmiK3TvgfTc= +github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.0.2/go.mod h1:7TqfCUZRW7sjv8qOrLV5IvS6jqvY9Uxka165zdjYwD4= +github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.21.1 h1:eShKpZ+YHv1/BfgKPR6gM66oPNFh7LyMBDAztApP388= +github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.21.1/go.mod h1:Z6j5yC+5xN/+KL2q8yN9F+DZWoGPYHzTpEaPy5mfYyo= +github.com/stackitcloud/stackit-sdk-go/services/redis v0.21.1 h1:JKKAeMJAcZ2L/spwMHonmOmFFtcEuaLHRMP3wCF87jg= +github.com/stackitcloud/stackit-sdk-go/services/redis v0.21.1/go.mod h1:ZPLAvqSApWS7hzinfCVAidPuWrMxizpkVhQ3zoIt8QU= +github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.13.1 h1:6bl/BSVebTnK73ToRn80Mtd1sl0TowfhOninyoSQA/U= +github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.13.1/go.mod h1:t7Bq7VRIN1D9C2sa2PE5gzwL6d7p1fypnsydYhKaA5k= github.com/stackitcloud/stackit-sdk-go/services/runcommand v1.0.0 h1:tKUyddNszcif4j2yL6lJd4tDAykcU3shMkAPoM9EzV8= github.com/stackitcloud/stackit-sdk-go/services/runcommand v1.0.0/go.mod h1:5n31cpeYcz2DSax4ygpZICEHDoHCTbWHrNGNYWwlRA8= -github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.11.0 h1:PwfpDFGUUJ8+Go5hJf+/hA5CHfY+DPS1cqIUYH+zWtE= -github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.11.0/go.mod h1:Hb21FmYP95q0fzOb9jk4/9CIxTsHzrSYDQZh6e82XUg= +github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.11.2 h1:SZoWUDUA8foNbu+cwRa67VxJXJJx4M8oiHeykVh8Wlg= +github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.11.2/go.mod h1:PrD0nNG94Dd5D9pu7HJ0bAg8ccDz6/7KaIts7K9p7as= github.com/stackitcloud/stackit-sdk-go/services/serverbackup v0.6.0 h1:cESGAkm0ftADRBfdbiyx3pp/KVQ8JgmUQdRzpwG61wE= github.com/stackitcloud/stackit-sdk-go/services/serverbackup v0.6.0/go.mod h1:aYPLsiImzWaYXEfYIZ0wJnV56PwcR+buy8Xu9jjbfGA= github.com/stackitcloud/stackit-sdk-go/services/serverupdate v0.5.0 h1:TMUxDh8XGgWUpnWo7GsawVq2ICDsy/r8dMlfC26MR5g= github.com/stackitcloud/stackit-sdk-go/services/serverupdate v0.5.0/go.mod h1:giHnHz3kHeLY8Av9MZLsyJlaTXYz+BuGqdP/SKB5Vo0= -github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.6.0 h1:y+XzJcntHJ7M+IWWvAUkiVFA8op+jZxwHs3ktW2aLoA= -github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.6.0/go.mod h1:J/Wa67cbDI1wAyxib9PiEbNqGfIoFUH+DSLueVazQx8= -github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.0.0 h1:Xxd5KUSWRt7FytnNWClLEa0n9GM6e5xAKo835ODSpAM= -github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.0.0/go.mod h1:EMqjiq/72WKXSwnJGLpumUJS4Uwlyhg5vtNg7qWoGtc= -github.com/stackitcloud/stackit-sdk-go/services/ske v0.22.0 h1:3KUVls8zXsbT2tOYRSHyp3/l0Kpjl4f3INmQKYTe65Y= -github.com/stackitcloud/stackit-sdk-go/services/ske v0.22.0/go.mod h1:63IvXpBJTIVONAnGPSDo0sRJ+6n6tzO918OLqfYBxto= -github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.0.0 h1:RYJO0rZea9+sxVfaJDWRo2zgfKNgiUcA5c0nbvZURiU= -github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.0.0/go.mod h1:d2ICXCS2h3IMsZW0OanWkEH2XdLiY/XRKx2TcR940nw= +github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.6.1 h1:VKgxgjsbaUVMCnntq+MLQ/c1Emn5crVr11B3gJnyHN4= +github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.6.1/go.mod h1:vn6xmMRxYgEoBhYEy6i2SY2qbeDKjs4IVNdnQHcQpBc= +github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.0.1 h1:7yY68QuntatwRG6ri65FlfeewACChLVbLp67wHCS8Go= +github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.0.1/go.mod h1:EMqjiq/72WKXSwnJGLpumUJS4Uwlyhg5vtNg7qWoGtc= +github.com/stackitcloud/stackit-sdk-go/services/ske v0.22.1 h1:9OnJGvQcL3Xwmc2BRQudjn2GNGvbJr8/xAIlmqtnmfQ= +github.com/stackitcloud/stackit-sdk-go/services/ske v0.22.1/go.mod h1:RlH5d+znKkOVt/HsD7OBAlhgIos7TM7vv0qCeqvCqmo= +github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.0.1 h1:3uPq1jXXw8+6Op/fJuPaKOpTP0nOCHAUobMzZV7aHGg= +github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.0.1/go.mod h1:d2ICXCS2h3IMsZW0OanWkEH2XdLiY/XRKx2TcR940nw= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= diff --git a/internal/cmd/image/create/create.go b/internal/cmd/image/create/create.go index 5fd2e86f2..d0550b1a4 100644 --- a/internal/cmd/image/create/create.go +++ b/internal/cmd/image/create/create.go @@ -141,7 +141,7 @@ func NewCmd(p *print.Printer) *cobra.Command { if !ok { return fmt.Errorf("create image: no upload URL has been provided") } - if err := uploadAsync(ctx, p, model, file, *url); err != nil { + if err := uploadAsync(ctx, p, model, file, url); err != nil { return err } diff --git a/internal/cmd/image/list/list.go b/internal/cmd/image/list/list.go index 32316eae0..47779fb83 100644 --- a/internal/cmd/image/list/list.go +++ b/internal/cmd/image/list/list.go @@ -80,13 +80,13 @@ func NewCmd(p *print.Printer) *cobra.Command { return fmt.Errorf("list images: %w", err) } - if items := response.GetItems(); items == nil || len(*items) == 0 { + if items := response.GetItems(); len(items) == 0 { p.Info("No images found for project %q", projectLabel) } else { - if model.Limit != nil && len(*items) > int(*model.Limit) { - *items = (*items)[:*model.Limit] + if model.Limit != nil && len(items) > int(*model.Limit) { + items = (items)[:*model.Limit] } - if err := outputResult(p, model.OutputFormat, *items); err != nil { + if err := outputResult(p, model.OutputFormat, items); err != nil { return fmt.Errorf("output images: %w", err) } } diff --git a/internal/cmd/observability/credentials/create/create_test.go b/internal/cmd/observability/credentials/create/create_test.go index 146fc9090..c261948c7 100644 --- a/internal/cmd/observability/credentials/create/create_test.go +++ b/internal/cmd/observability/credentials/create/create_test.go @@ -6,7 +6,6 @@ import ( "github.com/stackitcloud/stackit-cli/internal/pkg/globalflags" "github.com/stackitcloud/stackit-cli/internal/pkg/print" - "github.com/stackitcloud/stackit-cli/internal/pkg/utils" "github.com/stackitcloud/stackit-sdk-go/services/observability" "github.com/google/go-cmp/cmp" @@ -218,7 +217,7 @@ func TestOutputResult(t *testing.T) { name: "set response with credentials", args: args{ resp: &observability.CreateCredentialsResponse{ - Credentials: observability.NewCredentials(utils.Ptr("dummy-pw"), utils.Ptr("dummy-user")), + Credentials: observability.NewCredentials("dummy-pw", "dummy-user"), }, }, wantErr: false, diff --git a/internal/cmd/quota/list/list.go b/internal/cmd/quota/list/list.go index e18ed94de..2e7a307c4 100644 --- a/internal/cmd/quota/list/list.go +++ b/internal/cmd/quota/list/list.go @@ -133,40 +133,40 @@ func outputResult(p *print.Printer, outputFormat string, quotas *iaas.QuotaList) table := tables.NewTable() table.SetHeader("NAME", "LIMIT", "CURRENT USAGE", "PERCENT") if val := quotas.BackupGigabytes; val != nil { - table.AddRow("Total size in GiB of backups [GiB]", conv(val.GetLimit()), conv(val.GetUsage()), percentage(val)) + table.AddRow("Total size in GiB of backups [GiB]", conv(val.Limit), conv(val.Usage), percentage(val)) } if val := quotas.Backups; val != nil { - table.AddRow("Number of backups [Count]", conv(val.GetLimit()), conv(val.GetUsage()), percentage(val)) + table.AddRow("Number of backups [Count]", conv(val.Limit), conv(val.Usage), percentage(val)) } if val := quotas.Gigabytes; val != nil { - table.AddRow("Total size in GiB of volumes and snapshots [GiB]", conv(val.GetLimit()), conv(val.GetUsage()), percentage(val)) + table.AddRow("Total size in GiB of volumes and snapshots [GiB]", conv(val.Limit), conv(val.Usage), percentage(val)) } if val := quotas.Networks; val != nil { - table.AddRow("Number of networks [Count]", conv(val.GetLimit()), conv(val.GetUsage()), percentage(val)) + table.AddRow("Number of networks [Count]", conv(val.Limit), conv(val.Usage), percentage(val)) } if val := quotas.Nics; val != nil { - table.AddRow("Number of network interfaces (nics) [Count]", conv(val.GetLimit()), conv(val.GetUsage()), percentage(val)) + table.AddRow("Number of network interfaces (nics) [Count]", conv(val.Limit), conv(val.Usage), percentage(val)) } if val := quotas.PublicIps; val != nil { - table.AddRow("Number of public IP addresses [Count]", conv(val.GetLimit()), conv(val.GetUsage()), percentage(val)) + table.AddRow("Number of public IP addresses [Count]", conv(val.Limit), conv(val.Usage), percentage(val)) } if val := quotas.Ram; val != nil { - table.AddRow("Amount of server RAM in MiB [MiB]", conv(val.GetLimit()), conv(val.GetUsage()), percentage(val)) + table.AddRow("Amount of server RAM in MiB [MiB]", conv(val.Limit), conv(val.Usage), percentage(val)) } if val := quotas.SecurityGroupRules; val != nil { - table.AddRow("Number of security group rules [Count]", conv(val.GetLimit()), conv(val.GetUsage()), percentage(val)) + table.AddRow("Number of security group rules [Count]", conv(val.Limit), conv(val.Usage), percentage(val)) } if val := quotas.SecurityGroups; val != nil { - table.AddRow("Number of security groups [Count]", conv(val.GetLimit()), conv(val.GetUsage()), percentage(val)) + table.AddRow("Number of security groups [Count]", conv(val.Limit), conv(val.Usage), percentage(val)) } if val := quotas.Snapshots; val != nil { - table.AddRow("Number of snapshots [Count]", conv(val.GetLimit()), conv(val.GetUsage()), percentage(val)) + table.AddRow("Number of snapshots [Count]", conv(val.Limit), conv(val.Usage), percentage(val)) } if val := quotas.Vcpu; val != nil { - table.AddRow("Number of server cores (vcpu) [Count]", conv(val.GetLimit()), conv(val.GetUsage()), percentage(val)) + table.AddRow("Number of server cores (vcpu) [Count]", conv(val.Limit), conv(val.Usage), percentage(val)) } if val := quotas.Volumes; val != nil { - table.AddRow("Number of volumes [Count]", conv(val.GetLimit()), conv(val.GetUsage()), percentage(val)) + table.AddRow("Number of volumes [Count]", conv(val.Limit), conv(val.Usage), percentage(val)) } err := table.Display(p) if err != nil { @@ -185,11 +185,13 @@ func conv(n *int64) string { } func percentage(val interface { - GetLimit() *int64 - GetUsage() *int64 + GetLimitOk() (int64, bool) + GetUsageOk() (int64, bool) }) string { - if a, b := val.GetLimit(), val.GetUsage(); a != nil && b != nil { - return fmt.Sprintf("%3.1f%%", 100.0/float64(*a)*float64(*b)) + a, aOk := val.GetLimitOk() + b, bOk := val.GetUsageOk() + if aOk && bOk { + return fmt.Sprintf("%3.1f%%", 100.0/float64(a)*float64(b)) } return "n/a" } diff --git a/internal/cmd/security-group/list/list.go b/internal/cmd/security-group/list/list.go index 74a44c943..48caeddb3 100644 --- a/internal/cmd/security-group/list/list.go +++ b/internal/cmd/security-group/list/list.go @@ -67,10 +67,10 @@ func NewCmd(p *print.Printer) *cobra.Command { return fmt.Errorf("list security group: %w", err) } - if items := response.GetItems(); items == nil || len(*items) == 0 { + if items := response.GetItems(); len(items) == 0 { p.Info("No security groups found for project %q", projectLabel) } else { - if err := outputResult(p, model.OutputFormat, *items); err != nil { + if err := outputResult(p, model.OutputFormat, items); err != nil { return fmt.Errorf("output security groups: %w", err) } } diff --git a/internal/cmd/server/console/console.go b/internal/cmd/server/console/console.go index 3c6f08ab8..a9964619c 100644 --- a/internal/cmd/server/console/console.go +++ b/internal/cmd/server/console/console.go @@ -127,11 +127,11 @@ func outputResult(p *print.Printer, outputFormat, serverLabel string, serverUrl return nil default: - if serverUrl.GetUrl() == nil { + if _, ok := serverUrl.GetUrlOk(); !ok { return fmt.Errorf("server url is nil") } // unescape url in order to get rid of e.g. %40 - unescapedURL, err := url.PathUnescape(*serverUrl.GetUrl()) + unescapedURL, err := url.PathUnescape(serverUrl.GetUrl()) if err != nil { return fmt.Errorf("unescape url: %w", err) } diff --git a/internal/cmd/server/create/create.go b/internal/cmd/server/create/create.go index 461f58ce3..69cfc627b 100644 --- a/internal/cmd/server/create/create.go +++ b/internal/cmd/server/create/create.go @@ -289,6 +289,11 @@ func buildRequest(ctx context.Context, model *inputModel, apiClient *iaas.APICli } } + var userData *[]byte + if model.UserData != nil { + userData = utils.Ptr([]byte(*model.UserData)) + } + payload := iaas.CreateServerPayload{ Name: model.Name, MachineType: model.MachineType, @@ -299,7 +304,7 @@ func buildRequest(ctx context.Context, model *inputModel, apiClient *iaas.APICli KeypairName: model.KeypairName, SecurityGroups: model.SecurityGroups, ServiceAccountMails: model.ServiceAccountMails, - UserData: model.UserData, + UserData: userData, Volumes: model.Volumes, Labels: labelsMap, } diff --git a/internal/cmd/server/create/create_test.go b/internal/cmd/server/create/create_test.go index b5ffb23f9..bf8f815d5 100644 --- a/internal/cmd/server/create/create_test.go +++ b/internal/cmd/server/create/create_test.go @@ -120,7 +120,7 @@ func fixturePayload(mods ...func(payload *iaas.CreateServerPayload)) iaas.Create KeypairName: utils.Ptr("test-keypair-name"), SecurityGroups: utils.Ptr([]string{"test-security-groups"}), ServiceAccountMails: utils.Ptr([]string{"test-service-account"}), - UserData: utils.Ptr("test-user-data"), + UserData: utils.Ptr([]byte("test-user-data")), Volumes: utils.Ptr([]string{testVolumeId}), BootVolume: &iaas.CreateServerPayloadBootVolume{ PerformanceClass: utils.Ptr("test-perf-class"), diff --git a/internal/cmd/server/log/log.go b/internal/cmd/server/log/log.go index 974b149a3..646417b42 100644 --- a/internal/cmd/server/log/log.go +++ b/internal/cmd/server/log/log.go @@ -82,7 +82,7 @@ func NewCmd(p *print.Printer) *cobra.Command { return fmt.Errorf("server log: %w", err) } - log := *resp.GetOutput() + log := resp.GetOutput() lines := strings.Split(log, "\n") if len(lines) > int(*model.Length) { diff --git a/internal/cmd/server/machine-type/list/list.go b/internal/cmd/server/machine-type/list/list.go index e04f3e9f8..19be072d3 100644 --- a/internal/cmd/server/machine-type/list/list.go +++ b/internal/cmd/server/machine-type/list/list.go @@ -155,8 +155,8 @@ func outputResult(p *print.Printer, outputFormat string, machineTypes iaas.Machi table.SetTitle("Machine-Types") table.SetHeader("NAME", "DESCRIPTION") - if items := machineTypes.GetItems(); items != nil && len(*items) > 0 { - for _, machineType := range *items { + if items := machineTypes.GetItems(); len(items) > 0 { + for _, machineType := range items { table.AddRow(*machineType.Name, utils.PtrString(machineType.Description)) } }