mygithub.libinneed.workers.dev/stackitcloud/stackit-cli
Advanced tools
| <svg xmlns="http://www.w3.org/2000/svg" width="134" height="22" viewBox="0 0 134 22" fill="none"> | ||
| <path d="M51.8688 7.7353H56.5271V19.5377H58.7301V7.7353H63.3701V5.66113H51.8688V7.7353Z" fill="#045462"/> | ||
| <path d="M105.743 5.66113H103.179L99.5725 11.7845L99.0287 12.6243L99.5695 13.4324L103.403 19.5377H106.004L101.578 12.5543L105.743 5.66113Z" fill="#045462"/> | ||
| <path d="M115.626 5.66113H113.423V19.5377H115.626V5.66113Z" fill="#045462"/> | ||
| <path d="M71.6047 5.66113L66.512 19.5377H68.8528L70.4394 15.0946L70.803 14.0035L72.5345 9.30638C72.5588 9.23906 72.5846 9.16482 72.6117 9.08374C72.6387 9.16458 72.6643 9.23857 72.6886 9.30535L76.372 19.5377H78.711L73.6183 5.66113H71.6047Z" fill="#045462"/> | ||
| <path d="M43.4819 11.5343L43.4815 11.5342C42.0538 10.9305 40.9263 10.4537 40.9263 9.34981C40.9263 8.48396 41.7711 7.58832 43.185 7.58832C44.6498 7.58832 45.6877 8.55392 45.697 8.56263L46.1236 8.97288L47.2281 7.08866L46.981 6.83397C46.9257 6.77702 45.5991 5.44043 43.185 5.44043C40.6623 5.44043 38.6864 7.17389 38.6864 9.38682C38.6864 11.8048 40.7739 12.7055 42.4515 13.4292C43.9586 14.0795 45.1491 14.593 45.1491 15.8311C45.1491 16.8792 44.2808 17.6111 43.0376 17.6111C41.2408 17.6111 39.9987 16.3496 39.9874 16.338L39.6129 15.945L38.2911 17.6541L38.5447 17.9434C38.6098 18.0175 40.175 19.7588 43.0009 19.7588C45.5846 19.7588 47.3892 18.1285 47.3892 15.7942C47.3892 13.1866 45.2227 12.2705 43.4819 11.5343Z" fill="#045462"/> | ||
| <path d="M121.874 5.66113V7.7353H126.532V19.5377H128.735V7.7353H133.375V5.66113H121.874Z" fill="#045462"/> | ||
| <path d="M88.7669 7.55261C90.9381 7.55261 92.3296 8.84727 92.3433 8.86016L92.7278 9.23026L93.9343 7.54754L93.6755 7.2652C93.5001 7.07846 91.8703 5.44043 88.7296 5.44043C84.932 5.44043 82.0455 8.28642 81.8569 12.1203H81.8386V12.4623C81.8386 12.4716 81.8399 12.4804 81.8399 12.4897C81.8399 12.499 81.8386 12.5079 81.8386 12.5171V12.8592H81.8569C82.0455 16.693 84.932 19.539 88.7296 19.539C91.8675 19.539 93.4997 17.9012 93.6777 17.712L93.9343 17.4319L92.7275 15.7489L92.3435 16.1192C92.3296 16.1322 90.9381 17.4268 88.7669 17.4268C86.0973 17.4268 84.0837 15.3051 84.0784 12.4897C84.0837 9.67437 86.0973 7.55261 88.7669 7.55261Z" fill="#045462"/> | ||
| <path d="M7.67387 0L4.99689 12.5446H11.6895L13.1299 5.79617H28.6337L29.8703 0H7.67387Z" fill="#045462"/> | ||
| <path d="M18.2405 9.41699L16.7919 16.2043H1.23623L0 22.0004H22.2476L24.9331 9.41699H18.2405Z" fill="#045462"/> | ||
| </svg> |
@@ -25,3 +25,3 @@ ## stackit beta sqlserverflex user create | ||
| Create a SQLServer Flex user for instance with ID "xxx" and specify the username, role and database | ||
| $ stackit beta sqlserverflex user create --instance-id xxx --username johndoe --roles "##STACKIT_DatabaseManager##" --database my-database | ||
| $ stackit beta sqlserverflex user create --instance-id xxx --username johndoe --roles "##STACKIT_DatabaseManager##" | ||
@@ -28,0 +28,0 @@ Create a SQLServer Flex user for instance with ID "xxx", specifying multiple roles |
+13
-18
@@ -7,3 +7,3 @@ module github.com/stackitcloud/stackit-cli | ||
| github.com/fatih/color v1.18.0 | ||
| github.com/goccy/go-yaml v1.15.23 | ||
| github.com/goccy/go-yaml v1.16.0 | ||
| github.com/golang-jwt/jwt/v5 v5.2.1 | ||
@@ -18,3 +18,3 @@ github.com/google/go-cmp v0.7.0 | ||
| github.com/spf13/pflag v1.0.6 | ||
| github.com/spf13/viper v1.19.0 | ||
| github.com/spf13/viper v1.20.0 | ||
| github.com/stackitcloud/stackit-sdk-go/core v0.16.0 | ||
@@ -28,3 +28,3 @@ github.com/stackitcloud/stackit-sdk-go/services/authorization v0.6.0 | ||
| github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.13.0 | ||
| github.com/stackitcloud/stackit-sdk-go/services/runcommand v0.3.0 | ||
| github.com/stackitcloud/stackit-sdk-go/services/runcommand v1.0.0 | ||
| github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.11.0 | ||
@@ -34,3 +34,3 @@ github.com/stackitcloud/stackit-sdk-go/services/serverbackup v0.6.0 | ||
| github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.6.0 | ||
| github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v0.5.0 | ||
| github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.0.0 | ||
| github.com/stackitcloud/stackit-sdk-go/services/ske v0.22.0 | ||
@@ -48,4 +48,4 @@ github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.0.0 | ||
| require ( | ||
| golang.org/x/net v0.30.0 // indirect | ||
| golang.org/x/time v0.5.0 // indirect | ||
| golang.org/x/net v0.33.0 // indirect | ||
| golang.org/x/time v0.8.0 // indirect | ||
| gopkg.in/inf.v0 v0.9.1 // indirect | ||
@@ -57,2 +57,3 @@ ) | ||
| github.com/fxamacker/cbor/v2 v2.7.0 // indirect | ||
| github.com/go-viper/mapstructure/v2 v2.2.1 // indirect | ||
| github.com/mattn/go-isatty v0.0.20 // indirect | ||
@@ -66,3 +67,3 @@ github.com/x448/float16 v0.8.4 // indirect | ||
| github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect | ||
| github.com/fsnotify/fsnotify v1.7.0 // indirect | ||
| github.com/fsnotify/fsnotify v1.8.0 // indirect | ||
| github.com/go-logr/logr v1.4.2 // indirect | ||
@@ -72,20 +73,16 @@ github.com/godbus/dbus/v5 v5.1.0 // indirect | ||
| github.com/google/gofuzz v1.2.0 // indirect | ||
| github.com/hashicorp/hcl v1.0.0 // indirect | ||
| github.com/imdario/mergo v0.3.6 // indirect | ||
| github.com/inconshreveable/mousetrap v1.1.0 // indirect | ||
| github.com/json-iterator/go v1.1.12 // indirect | ||
| github.com/magiconair/properties v1.8.7 // indirect | ||
| github.com/mattn/go-runewidth v0.0.16 // indirect | ||
| github.com/mitchellh/mapstructure v1.5.0 // indirect | ||
| github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect | ||
| github.com/modern-go/reflect2 v1.0.2 // indirect | ||
| github.com/pelletier/go-toml/v2 v2.2.2 // indirect | ||
| github.com/pelletier/go-toml/v2 v2.2.3 // indirect | ||
| github.com/rivo/uniseg v0.4.7 // indirect | ||
| github.com/russross/blackfriday/v2 v2.1.0 // indirect | ||
| github.com/sagikazarmark/locafero v0.4.0 // indirect | ||
| github.com/sagikazarmark/slog-shim v0.1.0 // indirect | ||
| github.com/sagikazarmark/locafero v0.7.0 // indirect | ||
| github.com/sourcegraph/conc v0.3.0 // indirect | ||
| github.com/spf13/afero v1.11.0 // indirect | ||
| github.com/spf13/cast v1.6.0 // indirect | ||
| github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v0.18.0 | ||
| 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 | ||
@@ -99,5 +96,3 @@ github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.21.0 | ||
| go.uber.org/multierr v1.11.0 // indirect | ||
| golang.org/x/exp v0.0.0-20240119083558-1b970713d09a // indirect | ||
| golang.org/x/sys v0.30.0 // indirect | ||
| gopkg.in/ini.v1 v1.67.0 // indirect | ||
| gopkg.in/yaml.v2 v2.4.0 // indirect | ||
@@ -104,0 +99,0 @@ gopkg.in/yaml.v3 v3.0.1 // indirect |
+28
-45
@@ -17,4 +17,4 @@ al.essio.dev/pkg/shellescape v1.5.1 h1:86HrALUujYS/h+GtqoB26SBEdkWfmMI6FubjXlsXyho= | ||
| github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= | ||
| github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= | ||
| github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= | ||
| github.com/fsnotify/fsnotify v1.8.0 h1:dAwr6QBTBZIkG8roQaJjGof0pp0EeF+tNV7YBP3F/8M= | ||
| github.com/fsnotify/fsnotify v1.8.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= | ||
| github.com/fxamacker/cbor/v2 v2.7.0 h1:iM5WgngdRBanHcxugY4JySA0nk1wZorNOpTgCMedv5E= | ||
@@ -30,4 +30,6 @@ github.com/fxamacker/cbor/v2 v2.7.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ= | ||
| github.com/go-openapi/swag v0.22.4/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= | ||
| github.com/goccy/go-yaml v1.15.23 h1:WS0GAX1uNPDLUvLkNU2vXq6oTnsmfVFocjQ/4qA48qo= | ||
| github.com/goccy/go-yaml v1.15.23/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA= | ||
| github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= | ||
| github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= | ||
| github.com/goccy/go-yaml v1.16.0 h1:d7m1G7A0t+logajVtklHfDYJs2Et9g3gHwdBNNFou0w= | ||
| github.com/goccy/go-yaml v1.16.0/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA= | ||
| github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk= | ||
@@ -53,4 +55,2 @@ github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= | ||
| github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= | ||
| github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= | ||
| github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= | ||
| github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28= | ||
@@ -76,4 +76,2 @@ github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= | ||
| github.com/lmittmann/tint v1.0.7/go.mod h1:HIS3gSy7qNwGCj+5oRjAutErFBl4BzdQP6cJZ0NfMwE= | ||
| github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= | ||
| github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= | ||
| github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= | ||
@@ -87,4 +85,2 @@ github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= | ||
| github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= | ||
| github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= | ||
| github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= | ||
| github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= | ||
@@ -97,4 +93,4 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= | ||
| github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= | ||
| github.com/pelletier/go-toml/v2 v2.2.2 h1:aYUidT7k73Pcl9nb2gScu7NSrKCSHIDE89b3+6Wq+LM= | ||
| github.com/pelletier/go-toml/v2 v2.2.2/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs= | ||
| github.com/pelletier/go-toml/v2 v2.2.3 h1:YmeHyLY8mFWbdkNWwpr+qIL2bEqT0o95WSdkNHvL12M= | ||
| github.com/pelletier/go-toml/v2 v2.2.3/go.mod h1:MfCQTFTvCcUyyvvwm1+G6H/jORL20Xlb6rzQu9GuUkc= | ||
| github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= | ||
@@ -110,12 +106,10 @@ github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= | ||
| github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= | ||
| github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6keLGt6kNQ= | ||
| github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4= | ||
| github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE= | ||
| github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ= | ||
| github.com/sagikazarmark/locafero v0.7.0 h1:5MqpDsTGNDhY8sGp0Aowyf0qKsPrhewaLSsFaodPcyo= | ||
| github.com/sagikazarmark/locafero v0.7.0/go.mod h1:2za3Cg5rMaTMoG/2Ulr9AwtFaIppKXTRYnozin4aB5k= | ||
| github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo= | ||
| github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0= | ||
| github.com/spf13/afero v1.11.0 h1:WJQKhtpdm3v2IzqG8VMqrr6Rf3UYpEF239Jy9wNepM8= | ||
| github.com/spf13/afero v1.11.0/go.mod h1:GH9Y3pIexgf1MTIWtNGyogA5MwRIDXGUr+hbWNoBjkY= | ||
| github.com/spf13/cast v1.6.0 h1:GEiTHELF+vaR5dhz3VqZfFSzZjYbgeKDpBxQVS4GYJ0= | ||
| github.com/spf13/cast v1.6.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= | ||
| github.com/spf13/afero v1.12.0 h1:UcOPyRBYczmFn6yvphxkn9ZEOY65cpwGKb5mL36mrqs= | ||
| github.com/spf13/afero v1.12.0/go.mod h1:ZTlWwG4/ahT8W7T0WQ5uYmjI9duaLQGy3Q2OAl4sk/4= | ||
| github.com/spf13/cast v1.7.1 h1:cuNEagBQEHWN1FnbGEjCXL2szYEXqfJPbP2HNUaca9Y= | ||
| github.com/spf13/cast v1.7.1/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= | ||
| github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo= | ||
@@ -125,4 +119,4 @@ github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0= | ||
| github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= | ||
| github.com/spf13/viper v1.19.0 h1:RWq5SEjt8o25SROyN3z2OrDB9l7RPd3lwTWU8EcEdcI= | ||
| github.com/spf13/viper v1.19.0/go.mod h1:GQUN9bilAbhU/jgc1bKs99f/suXKeUMct8Adx5+Ntkg= | ||
| 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= | ||
@@ -136,4 +130,4 @@ github.com/stackitcloud/stackit-sdk-go/core v0.16.0/go.mod h1:LRheSoXTFRHWAyA8Q9skWtWBp3ZZ+bFAKiKuf4lTDkE= | ||
| github.com/stackitcloud/stackit-sdk-go/services/iaas v0.21.1/go.mod h1:9p5IIdOKOM5/DIjbenKrWvz6GlSps4jsPJZkH7QJuRU= | ||
| github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v0.18.0 h1:7nNjIIcBQRDVnW4NL7+R8DaCKEqxxxsmVsgOVe50ZMU= | ||
| github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v0.18.0/go.mod h1:UFujBT+JlNvl6JNrY96UpLGqp+lZTD+JWL7siqhGPlw= | ||
| 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= | ||
@@ -159,4 +153,4 @@ github.com/stackitcloud/stackit-sdk-go/services/logme v0.21.0/go.mod h1:os4Kp2+jkMUJ2dZtgU9A91N3EJSw3MMh2slxgK1609g= | ||
| github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.13.0/go.mod h1:Hs8RwANfF2ZKqOowPBqMQqLoRHcMobiKAihWWirAdEU= | ||
| github.com/stackitcloud/stackit-sdk-go/services/runcommand v0.3.0 h1:S1DFVy2wwSiAFgNPpB527Q/YDQpSaduIFOMX988sZOE= | ||
| github.com/stackitcloud/stackit-sdk-go/services/runcommand v0.3.0/go.mod h1:1bANbviG6h5XaD3bBnC3v+eDWf5LBYLtLEF/ih+U4kA= | ||
| 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= | ||
@@ -170,4 +164,4 @@ github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.11.0/go.mod h1:Hb21FmYP95q0fzOb9jk4/9CIxTsHzrSYDQZh6e82XUg= | ||
| 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 v0.5.0 h1:QG+rGBHsyXOlJ3ZIeOgExGqu9PoTlGY1rltW/VpG6lw= | ||
| github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v0.5.0/go.mod h1:16dOVT052cMuHhUJ3NIcPuY7TrpCr9QlxmvvfjLZubA= | ||
| 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= | ||
@@ -178,11 +172,5 @@ github.com/stackitcloud/stackit-sdk-go/services/ske v0.22.0/go.mod h1:63IvXpBJTIVONAnGPSDo0sRJ+6n6tzO918OLqfYBxto= | ||
| github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= | ||
| github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= | ||
| github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= | ||
| 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= | ||
| github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= | ||
| github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= | ||
| github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= | ||
| github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= | ||
| github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= | ||
| github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= | ||
@@ -203,4 +191,2 @@ github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= | ||
| golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= | ||
| golang.org/x/exp v0.0.0-20240119083558-1b970713d09a h1:Q8/wZp0KX97QFTc2ywcOE0YRjZPVIx+MXInMzdvQqcA= | ||
| golang.org/x/exp v0.0.0-20240119083558-1b970713d09a/go.mod h1:idGWGoKP1toJGkd5/ig9ZLuPcZBC3ewk7SzmH0uou08= | ||
| golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= | ||
@@ -214,4 +200,4 @@ golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= | ||
| golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= | ||
| golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= | ||
| golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= | ||
| golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= | ||
| golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= | ||
| golang.org/x/oauth2 v0.26.0 h1:afQXWNNaeC4nvZ0Ed9XvCCzXM6UHJG7iCg0W4fPqSBE= | ||
@@ -234,4 +220,4 @@ golang.org/x/oauth2 v0.26.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= | ||
| golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY= | ||
| golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= | ||
| golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= | ||
| golang.org/x/time v0.8.0 h1:9i3RxcPv3PZnitoVGMPDKZSq1xW1gK1Xy3ArNOGZfEg= | ||
| golang.org/x/time v0.8.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= | ||
| golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= | ||
@@ -245,4 +231,4 @@ golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= | ||
| golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= | ||
| google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= | ||
| google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= | ||
| google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk= | ||
| google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= | ||
| gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= | ||
@@ -253,8 +239,5 @@ gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= | ||
| gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= | ||
| gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= | ||
| gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= | ||
| gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= | ||
| gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= | ||
| gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= | ||
| gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= | ||
| gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= | ||
@@ -261,0 +244,0 @@ gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= |
@@ -95,6 +95,3 @@ package create | ||
| }), | ||
| isValid: true, | ||
| expectedModel: fixtureInputModel(func(model *inputModel) { | ||
| model.Roles = nil | ||
| }), | ||
| isValid: false, | ||
| }, | ||
@@ -101,0 +98,0 @@ { |
@@ -53,3 +53,3 @@ package create | ||
| `Create a SQLServer Flex user for instance with ID "xxx" and specify the username, role and database`, | ||
| `$ stackit beta sqlserverflex user create --instance-id xxx --username johndoe --roles "##STACKIT_DatabaseManager##" --database my-database`), | ||
| `$ stackit beta sqlserverflex user create --instance-id xxx --username johndoe --roles "##STACKIT_DatabaseManager##"`), | ||
| examples.NewExample( | ||
@@ -108,3 +108,3 @@ `Create a SQLServer Flex user for instance with ID "xxx", specifying multiple roles`, | ||
| err := flags.MarkFlagsRequired(cmd, instanceIdFlag, usernameFlag) | ||
| err := flags.MarkFlagsRequired(cmd, instanceIdFlag, usernameFlag, rolesFlag) | ||
| cobra.CheckErr(err) | ||
@@ -111,0 +111,0 @@ } |
@@ -18,10 +18,14 @@ package create | ||
| var projectIdFlag = globalflags.ProjectIdFlag | ||
| const ( | ||
| testRegion = "eu02" | ||
| ) | ||
| type testCtxKey struct{} | ||
| var testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo") | ||
| var testClient = &loadbalancer.APIClient{} | ||
| var testProjectId = uuid.NewString() | ||
| var testRequestId = xRequestId | ||
| var ( | ||
| testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo") | ||
| testClient = &loadbalancer.APIClient{} | ||
| testProjectId = uuid.NewString() | ||
| testRequestId = xRequestId | ||
| ) | ||
@@ -102,3 +106,4 @@ var testPayload = &loadbalancer.CreateLoadBalancerPayload{ | ||
| flagValues := map[string]string{ | ||
| projectIdFlag: testProjectId, | ||
| globalflags.ProjectIdFlag: testProjectId, | ||
| globalflags.RegionFlag: testRegion, | ||
| payloadFlag: `{ | ||
@@ -185,2 +190,3 @@ "externalAddress": "", | ||
| ProjectId: testProjectId, | ||
| Region: testRegion, | ||
| Verbosity: globalflags.VerbosityDefault, | ||
@@ -197,3 +203,3 @@ }, | ||
| func fixtureRequest(mods ...func(request *loadbalancer.ApiCreateLoadBalancerRequest)) loadbalancer.ApiCreateLoadBalancerRequest { | ||
| request := testClient.CreateLoadBalancer(testCtx, testProjectId) | ||
| request := testClient.CreateLoadBalancer(testCtx, testProjectId, testRegion) | ||
| request = request.CreateLoadBalancerPayload(*testPayload) | ||
@@ -233,3 +239,3 @@ request = request.XRequestID(testRequestId) | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| delete(flagValues, projectIdFlag) | ||
| delete(flagValues, globalflags.ProjectIdFlag) | ||
| }), | ||
@@ -241,3 +247,3 @@ isValid: false, | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| flagValues[projectIdFlag] = "" | ||
| flagValues[globalflags.ProjectIdFlag] = "" | ||
| }), | ||
@@ -249,3 +255,3 @@ isValid: false, | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| flagValues[projectIdFlag] = "invalid-uuid" | ||
| flagValues[globalflags.ProjectIdFlag] = "invalid-uuid" | ||
| }), | ||
@@ -252,0 +258,0 @@ isValid: false, |
@@ -98,3 +98,3 @@ package create | ||
| s.Start("Creating load balancer") | ||
| _, err = wait.CreateLoadBalancerWaitHandler(ctx, apiClient, model.ProjectId, *model.Payload.Name).WaitWithContext(ctx) | ||
| _, err = wait.CreateLoadBalancerWaitHandler(ctx, apiClient, model.ProjectId, model.Region, *model.Payload.Name).WaitWithContext(ctx) | ||
| if err != nil { | ||
@@ -159,3 +159,3 @@ return fmt.Errorf("wait for load balancer creation: %w", err) | ||
| func buildRequest(ctx context.Context, model *inputModel, apiClient *loadbalancer.APIClient) loadbalancer.ApiCreateLoadBalancerRequest { | ||
| req := apiClient.CreateLoadBalancer(ctx, model.ProjectId) | ||
| req := apiClient.CreateLoadBalancer(ctx, model.ProjectId, model.Region) | ||
| req = req.CreateLoadBalancerPayload(*model.Payload) | ||
@@ -162,0 +162,0 @@ req = req.XRequestID(xRequestId) |
@@ -16,3 +16,5 @@ package delete | ||
| var projectIdFlag = globalflags.ProjectIdFlag | ||
| const ( | ||
| testRegion = "eu02" | ||
| ) | ||
@@ -38,3 +40,4 @@ type testCtxKey struct{} | ||
| flagValues := map[string]string{ | ||
| projectIdFlag: testProjectId, | ||
| globalflags.ProjectIdFlag: testProjectId, | ||
| globalflags.RegionFlag: testRegion, | ||
| } | ||
@@ -51,2 +54,3 @@ for _, mod := range mods { | ||
| ProjectId: testProjectId, | ||
| Region: testRegion, | ||
| Verbosity: globalflags.VerbosityDefault, | ||
@@ -63,3 +67,3 @@ }, | ||
| func fixtureRequest(mods ...func(request *loadbalancer.ApiDeleteLoadBalancerRequest)) loadbalancer.ApiDeleteLoadBalancerRequest { | ||
| request := testClient.DeleteLoadBalancer(testCtx, testProjectId, testLoadBalancerName) | ||
| request := testClient.DeleteLoadBalancer(testCtx, testProjectId, testRegion, testLoadBalancerName) | ||
| for _, mod := range mods { | ||
@@ -108,3 +112,3 @@ mod(&request) | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| delete(flagValues, projectIdFlag) | ||
| delete(flagValues, globalflags.ProjectIdFlag) | ||
| }), | ||
@@ -117,3 +121,3 @@ isValid: false, | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| flagValues[projectIdFlag] = "" | ||
| flagValues[globalflags.ProjectIdFlag] = "" | ||
| }), | ||
@@ -126,3 +130,3 @@ isValid: false, | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| flagValues[projectIdFlag] = "invalid-uuid" | ||
| flagValues[globalflags.ProjectIdFlag] = "invalid-uuid" | ||
| }), | ||
@@ -129,0 +133,0 @@ isValid: false, |
@@ -71,3 +71,3 @@ package delete | ||
| s.Start("Deleting load balancer") | ||
| _, err = wait.DeleteLoadBalancerWaitHandler(ctx, apiClient, model.ProjectId, model.LoadBalancerName).WaitWithContext(ctx) | ||
| _, err = wait.DeleteLoadBalancerWaitHandler(ctx, apiClient, model.ProjectId, model.Region, model.LoadBalancerName).WaitWithContext(ctx) | ||
| if err != nil { | ||
@@ -116,4 +116,4 @@ return fmt.Errorf("wait for load balancer deletion: %w", err) | ||
| func buildRequest(ctx context.Context, model *inputModel, apiClient *loadbalancer.APIClient) loadbalancer.ApiDeleteLoadBalancerRequest { | ||
| req := apiClient.DeleteLoadBalancer(ctx, model.ProjectId, model.LoadBalancerName) | ||
| req := apiClient.DeleteLoadBalancer(ctx, model.ProjectId, model.Region, model.LoadBalancerName) | ||
| return req | ||
| } |
@@ -15,3 +15,6 @@ package describe | ||
| var projectIdFlag = globalflags.ProjectIdFlag | ||
| const ( | ||
| testRegion = "eu02" | ||
| testloadBalancerName = "loadBalancer" | ||
| ) | ||
@@ -23,3 +26,2 @@ type testCtxKey struct{} | ||
| var testProjectId = uuid.NewString() | ||
| var testloadBalancerName = "loadBalancer" | ||
@@ -38,3 +40,4 @@ func fixtureArgValues(mods ...func(argValues []string)) []string { | ||
| flagValues := map[string]string{ | ||
| projectIdFlag: testProjectId, | ||
| globalflags.ProjectIdFlag: testProjectId, | ||
| globalflags.RegionFlag: testRegion, | ||
| } | ||
@@ -51,2 +54,3 @@ for _, mod := range mods { | ||
| ProjectId: testProjectId, | ||
| Region: testRegion, | ||
| Verbosity: globalflags.VerbosityDefault, | ||
@@ -63,3 +67,3 @@ }, | ||
| func fixtureRequest(mods ...func(request *loadbalancer.ApiGetLoadBalancerRequest)) loadbalancer.ApiGetLoadBalancerRequest { | ||
| request := testClient.GetLoadBalancer(testCtx, testProjectId, testloadBalancerName) | ||
| request := testClient.GetLoadBalancer(testCtx, testProjectId, testRegion, testloadBalancerName) | ||
| for _, mod := range mods { | ||
@@ -108,3 +112,3 @@ mod(&request) | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| delete(flagValues, projectIdFlag) | ||
| delete(flagValues, globalflags.ProjectIdFlag) | ||
| }), | ||
@@ -117,3 +121,3 @@ isValid: false, | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| flagValues[projectIdFlag] = "" | ||
| flagValues[globalflags.ProjectIdFlag] = "" | ||
| }), | ||
@@ -126,3 +130,3 @@ isValid: false, | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| flagValues[projectIdFlag] = "invalid-uuid" | ||
| flagValues[globalflags.ProjectIdFlag] = "invalid-uuid" | ||
| }), | ||
@@ -129,0 +133,0 @@ isValid: false, |
@@ -97,3 +97,3 @@ package describe | ||
| func buildRequest(ctx context.Context, model *inputModel, apiClient *loadbalancer.APIClient) loadbalancer.ApiGetLoadBalancerRequest { | ||
| req := apiClient.GetLoadBalancer(ctx, model.ProjectId, model.LoadBalancerName) | ||
| req := apiClient.GetLoadBalancer(ctx, model.ProjectId, model.Region, model.LoadBalancerName) | ||
| return req | ||
@@ -100,0 +100,0 @@ } |
@@ -16,3 +16,5 @@ package generatepayload | ||
| var projectIdFlag = globalflags.ProjectIdFlag | ||
| const ( | ||
| testRegion = "eu02" | ||
| ) | ||
@@ -32,5 +34,6 @@ type testCtxKey struct{} | ||
| flagValues := map[string]string{ | ||
| projectIdFlag: testProjectId, | ||
| loadBalancerNameFlag: testLoadBalancerName, | ||
| filePathFlag: testFilePath, | ||
| globalflags.ProjectIdFlag: testProjectId, | ||
| globalflags.RegionFlag: testRegion, | ||
| loadBalancerNameFlag: testLoadBalancerName, | ||
| filePathFlag: testFilePath, | ||
| } | ||
@@ -47,2 +50,3 @@ for _, mod := range mods { | ||
| ProjectId: testProjectId, | ||
| Region: testRegion, | ||
| Verbosity: globalflags.VerbosityDefault, | ||
@@ -60,3 +64,3 @@ }, | ||
| func fixtureRequest(mods ...func(request *loadbalancer.ApiGetLoadBalancerRequest)) loadbalancer.ApiGetLoadBalancerRequest { | ||
| request := testClient.GetLoadBalancer(testCtx, testProjectId, testLoadBalancerName) | ||
| request := testClient.GetLoadBalancer(testCtx, testProjectId, testRegion, testLoadBalancerName) | ||
| for _, mod := range mods { | ||
@@ -112,3 +116,3 @@ mod(&request) | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| delete(flagValues, projectIdFlag) | ||
| delete(flagValues, globalflags.ProjectIdFlag) | ||
| }), | ||
@@ -120,3 +124,3 @@ isValid: false, | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| flagValues[projectIdFlag] = "" | ||
| flagValues[globalflags.ProjectIdFlag] = "" | ||
| }), | ||
@@ -128,3 +132,3 @@ isValid: false, | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| flagValues[projectIdFlag] = "invalid-uuid" | ||
| flagValues[globalflags.ProjectIdFlag] = "invalid-uuid" | ||
| }), | ||
@@ -131,0 +135,0 @@ isValid: false, |
@@ -211,3 +211,3 @@ package generatepayload | ||
| func buildRequest(ctx context.Context, model *inputModel, apiClient *loadbalancer.APIClient) loadbalancer.ApiGetLoadBalancerRequest { | ||
| req := apiClient.GetLoadBalancer(ctx, model.ProjectId, *model.LoadBalancerName) | ||
| req := apiClient.GetLoadBalancer(ctx, model.ProjectId, model.Region, *model.LoadBalancerName) | ||
| return req | ||
@@ -214,0 +214,0 @@ } |
@@ -16,3 +16,5 @@ package list | ||
| var projectIdFlag = globalflags.ProjectIdFlag | ||
| const ( | ||
| testRegion = "eu02" | ||
| ) | ||
@@ -27,4 +29,5 @@ type testCtxKey struct{} | ||
| flagValues := map[string]string{ | ||
| projectIdFlag: testProjectId, | ||
| limitFlag: "10", | ||
| globalflags.ProjectIdFlag: testProjectId, | ||
| globalflags.RegionFlag: testRegion, | ||
| limitFlag: "10", | ||
| } | ||
@@ -41,2 +44,3 @@ for _, mod := range mods { | ||
| ProjectId: testProjectId, | ||
| Region: testRegion, | ||
| Verbosity: globalflags.VerbosityDefault, | ||
@@ -53,3 +57,3 @@ }, | ||
| func fixtureRequest(mods ...func(request *loadbalancer.ApiListLoadBalancersRequest)) loadbalancer.ApiListLoadBalancersRequest { | ||
| request := testClient.ListLoadBalancers(testCtx, testProjectId) | ||
| request := testClient.ListLoadBalancers(testCtx, testProjectId, testRegion) | ||
| for _, mod := range mods { | ||
@@ -82,3 +86,3 @@ mod(&request) | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| delete(flagValues, projectIdFlag) | ||
| delete(flagValues, globalflags.ProjectIdFlag) | ||
| }), | ||
@@ -90,3 +94,3 @@ isValid: false, | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| flagValues[projectIdFlag] = "" | ||
| flagValues[globalflags.ProjectIdFlag] = "" | ||
| }), | ||
@@ -98,3 +102,3 @@ isValid: false, | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| flagValues[projectIdFlag] = "invalid-uuid" | ||
| flagValues[globalflags.ProjectIdFlag] = "invalid-uuid" | ||
| }), | ||
@@ -209,2 +213,9 @@ isValid: false, | ||
| { | ||
| name: "empty loadbalancers slice", | ||
| args: args{ | ||
| loadBalancers: []loadbalancer.LoadBalancer{}, | ||
| }, | ||
| wantErr: false, | ||
| }, | ||
| { | ||
| name: "empty loadbalancer in loadbalancers slice", | ||
@@ -211,0 +222,0 @@ args: args{ |
@@ -130,3 +130,3 @@ package list | ||
| func buildRequest(ctx context.Context, model *inputModel, apiClient *loadbalancer.APIClient) loadbalancer.ApiListLoadBalancersRequest { | ||
| req := apiClient.ListLoadBalancers(ctx, model.ProjectId) | ||
| req := apiClient.ListLoadBalancers(ctx, model.ProjectId, model.Region) | ||
| return req | ||
@@ -158,9 +158,17 @@ } | ||
| l := loadBalancers[i] | ||
| externalAdress := utils.PtrStringDefault(l.ExternalAddress, "-") | ||
| var numListeners, numTargetPools int | ||
| if l.Listeners != nil { | ||
| numListeners = len(*l.Listeners) | ||
| } | ||
| if l.TargetPools != nil { | ||
| numTargetPools = len(*l.TargetPools) | ||
| } | ||
| externalAddress := utils.PtrStringDefault(l.ExternalAddress, "-") | ||
| table.AddRow( | ||
| utils.PtrString(l.Name), | ||
| utils.PtrString(l.Status), | ||
| externalAdress, | ||
| len(utils.PtrString(l.Listeners)), | ||
| len(utils.PtrString(l.TargetPools)), | ||
| externalAddress, | ||
| numListeners, | ||
| numTargetPools, | ||
| ) | ||
@@ -167,0 +175,0 @@ } |
@@ -16,3 +16,5 @@ package add | ||
| var projectIdFlag = globalflags.ProjectIdFlag | ||
| const ( | ||
| testRegion = "eu02" | ||
| ) | ||
@@ -27,6 +29,7 @@ type testCtxKey struct{} | ||
| flagValues := map[string]string{ | ||
| projectIdFlag: testProjectId, | ||
| displayNameFlag: "name", | ||
| usernameFlag: "username", | ||
| passwordFlag: "pwd", | ||
| globalflags.ProjectIdFlag: testProjectId, | ||
| globalflags.RegionFlag: testRegion, | ||
| displayNameFlag: "name", | ||
| usernameFlag: "username", | ||
| passwordFlag: "pwd", | ||
| } | ||
@@ -43,2 +46,3 @@ for _, mod := range mods { | ||
| ProjectId: testProjectId, | ||
| Region: testRegion, | ||
| Verbosity: globalflags.VerbosityDefault, | ||
@@ -57,3 +61,3 @@ }, | ||
| func fixtureRequest(mods ...func(request *loadbalancer.ApiCreateCredentialsRequest)) loadbalancer.ApiCreateCredentialsRequest { | ||
| request := testClient.CreateCredentials(testCtx, testProjectId) | ||
| request := testClient.CreateCredentials(testCtx, testProjectId, testRegion) | ||
| request = request.CreateCredentialsPayload(loadbalancer.CreateCredentialsPayload{ | ||
@@ -91,3 +95,3 @@ DisplayName: utils.Ptr("name"), | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| delete(flagValues, projectIdFlag) | ||
| delete(flagValues, globalflags.ProjectIdFlag) | ||
| }), | ||
@@ -99,3 +103,3 @@ isValid: false, | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| flagValues[projectIdFlag] = "" | ||
| flagValues[globalflags.ProjectIdFlag] = "" | ||
| }), | ||
@@ -107,3 +111,3 @@ isValid: false, | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| flagValues[projectIdFlag] = "invalid-uuid" | ||
| flagValues[globalflags.ProjectIdFlag] = "invalid-uuid" | ||
| }), | ||
@@ -110,0 +114,0 @@ isValid: false, |
@@ -136,3 +136,3 @@ package add | ||
| func buildRequest(ctx context.Context, model *inputModel, apiClient *loadbalancer.APIClient) loadbalancer.ApiCreateCredentialsRequest { | ||
| req := apiClient.CreateCredentials(ctx, model.ProjectId) | ||
| req := apiClient.CreateCredentials(ctx, model.ProjectId, model.Region) | ||
| req = req.XRequestID(uuid.NewString()) | ||
@@ -139,0 +139,0 @@ |
@@ -16,6 +16,7 @@ package cleanup | ||
| const testCredentialsRef = "credentials-1" | ||
| const ( | ||
| testRegion = "eu02" | ||
| testCredentialsRef = "credentials-1" | ||
| ) | ||
| var projectIdFlag = globalflags.ProjectIdFlag | ||
| type testCtxKey struct{} | ||
@@ -29,3 +30,4 @@ | ||
| flagValues := map[string]string{ | ||
| projectIdFlag: testProjectId, | ||
| globalflags.ProjectIdFlag: testProjectId, | ||
| globalflags.RegionFlag: testRegion, | ||
| } | ||
@@ -42,2 +44,3 @@ for _, mod := range mods { | ||
| ProjectId: testProjectId, | ||
| Region: testRegion, | ||
| Verbosity: globalflags.VerbosityDefault, | ||
@@ -53,3 +56,3 @@ }, | ||
| func fixtureDeleteCredentialRequest(mods ...func(request *loadbalancer.ApiDeleteCredentialsRequest)) loadbalancer.ApiDeleteCredentialsRequest { | ||
| request := testClient.DeleteCredentials(testCtx, testProjectId, testCredentialsRef) | ||
| request := testClient.DeleteCredentials(testCtx, testProjectId, testRegion, testCredentialsRef) | ||
| for _, mod := range mods { | ||
@@ -62,3 +65,3 @@ mod(&request) | ||
| func fixtureListCredentialsRequest(mods ...func(request *loadbalancer.ApiListCredentialsRequest)) loadbalancer.ApiListCredentialsRequest { | ||
| request := testClient.ListCredentials(testCtx, testProjectId) | ||
| request := testClient.ListCredentials(testCtx, testProjectId, testRegion) | ||
| for _, mod := range mods { | ||
@@ -98,3 +101,3 @@ mod(&request) | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| delete(flagValues, projectIdFlag) | ||
| delete(flagValues, globalflags.ProjectIdFlag) | ||
| }), | ||
@@ -106,3 +109,3 @@ isValid: false, | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| flagValues[projectIdFlag] = "" | ||
| flagValues[globalflags.ProjectIdFlag] = "" | ||
| }), | ||
@@ -114,3 +117,3 @@ isValid: false, | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| flagValues[projectIdFlag] = "invalid-uuid" | ||
| flagValues[globalflags.ProjectIdFlag] = "invalid-uuid" | ||
| }), | ||
@@ -117,0 +120,0 @@ isValid: false, |
@@ -62,3 +62,3 @@ package cleanup | ||
| if resp.Credentials != nil && len(*resp.Credentials) > 0 { | ||
| credentials, err = utils.FilterCredentials(ctx, apiClient, *resp.Credentials, model.ProjectId, utils.OP_FILTER_UNUSED) | ||
| credentials, err = utils.FilterCredentials(ctx, apiClient, *resp.Credentials, model.ProjectId, model.Region, utils.OP_FILTER_UNUSED) | ||
| if err != nil { | ||
@@ -134,3 +134,3 @@ return fmt.Errorf("filter Load Balancer observability credentials: %w", err) | ||
| func buildDeleteCredentialRequest(ctx context.Context, model *inputModel, apiClient *loadbalancer.APIClient, credentialsRef string) loadbalancer.ApiDeleteCredentialsRequest { | ||
| req := apiClient.DeleteCredentials(ctx, model.ProjectId, credentialsRef) | ||
| req := apiClient.DeleteCredentials(ctx, model.ProjectId, model.Region, credentialsRef) | ||
| return req | ||
@@ -140,4 +140,4 @@ } | ||
| func buildListCredentialsRequest(ctx context.Context, model *inputModel, apiClient *loadbalancer.APIClient) loadbalancer.ApiListCredentialsRequest { | ||
| req := apiClient.ListCredentials(ctx, model.ProjectId) | ||
| req := apiClient.ListCredentials(ctx, model.ProjectId, model.Region) | ||
| return req | ||
| } |
@@ -16,3 +16,6 @@ package delete | ||
| var projectIdFlag = globalflags.ProjectIdFlag | ||
| const ( | ||
| testRegion = "eu02" | ||
| testCredentialsRef = "credentials-xxx" | ||
| ) | ||
@@ -25,4 +28,2 @@ type testCtxKey struct{} | ||
| const testCredentialsRef = "credentials-xxx" | ||
| func fixtureArgValues(mods ...func(argValues []string)) []string { | ||
@@ -40,3 +41,4 @@ argValues := []string{ | ||
| flagValues := map[string]string{ | ||
| projectIdFlag: testProjectId, | ||
| globalflags.ProjectIdFlag: testProjectId, | ||
| globalflags.RegionFlag: testRegion, | ||
| } | ||
@@ -53,2 +55,3 @@ for _, mod := range mods { | ||
| ProjectId: testProjectId, | ||
| Region: testRegion, | ||
| Verbosity: globalflags.VerbosityDefault, | ||
@@ -65,3 +68,3 @@ }, | ||
| func fixtureRequest(mods ...func(request *loadbalancer.ApiDeleteCredentialsRequest)) loadbalancer.ApiDeleteCredentialsRequest { | ||
| request := testClient.DeleteCredentials(testCtx, testProjectId, testCredentialsRef) | ||
| request := testClient.DeleteCredentials(testCtx, testProjectId, testRegion, testCredentialsRef) | ||
| for _, mod := range mods { | ||
@@ -110,3 +113,3 @@ mod(&request) | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| delete(flagValues, projectIdFlag) | ||
| delete(flagValues, globalflags.ProjectIdFlag) | ||
| }), | ||
@@ -119,3 +122,3 @@ isValid: false, | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| flagValues[projectIdFlag] = "" | ||
| flagValues[globalflags.ProjectIdFlag] = "" | ||
| }), | ||
@@ -128,3 +131,3 @@ isValid: false, | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| flagValues[projectIdFlag] = "invalid-uuid" | ||
| flagValues[globalflags.ProjectIdFlag] = "invalid-uuid" | ||
| }), | ||
@@ -131,0 +134,0 @@ isValid: false, |
@@ -59,3 +59,3 @@ package delete | ||
| credentialsLabel, err := loadbalancerUtils.GetCredentialsDisplayName(ctx, apiClient, model.ProjectId, model.CredentialsRef) | ||
| credentialsLabel, err := loadbalancerUtils.GetCredentialsDisplayName(ctx, apiClient, model.ProjectId, model.Region, model.CredentialsRef) | ||
| if err != nil { | ||
@@ -114,4 +114,4 @@ p.Debug(print.ErrorLevel, "get observability credentials display name: %v", err) | ||
| func buildRequest(ctx context.Context, model *inputModel, apiClient *loadbalancer.APIClient) loadbalancer.ApiDeleteCredentialsRequest { | ||
| req := apiClient.DeleteCredentials(ctx, model.ProjectId, model.CredentialsRef) | ||
| req := apiClient.DeleteCredentials(ctx, model.ProjectId, model.Region, model.CredentialsRef) | ||
| return req | ||
| } |
@@ -15,3 +15,6 @@ package describe | ||
| var projectIdFlag = globalflags.ProjectIdFlag | ||
| const ( | ||
| testRegion = "eu02" | ||
| testCredentialsRef = "credentials-test" | ||
| ) | ||
@@ -24,4 +27,2 @@ type testCtxKey struct{} | ||
| const testCredentialsRef = "credentials-test" | ||
| func fixtureArgValues(mods ...func(argValues []string)) []string { | ||
@@ -39,3 +40,4 @@ argValues := []string{ | ||
| flagValues := map[string]string{ | ||
| projectIdFlag: testProjectId, | ||
| globalflags.ProjectIdFlag: testProjectId, | ||
| globalflags.RegionFlag: testRegion, | ||
| } | ||
@@ -52,2 +54,3 @@ for _, mod := range mods { | ||
| ProjectId: testProjectId, | ||
| Region: testRegion, | ||
| Verbosity: globalflags.VerbosityDefault, | ||
@@ -64,3 +67,3 @@ }, | ||
| func fixtureRequest(mods ...func(request *loadbalancer.ApiGetCredentialsRequest)) loadbalancer.ApiGetCredentialsRequest { | ||
| request := testClient.GetCredentials(testCtx, testProjectId, testCredentialsRef) | ||
| request := testClient.GetCredentials(testCtx, testProjectId, testRegion, testCredentialsRef) | ||
| for _, mod := range mods { | ||
@@ -109,3 +112,3 @@ mod(&request) | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| delete(flagValues, projectIdFlag) | ||
| delete(flagValues, globalflags.ProjectIdFlag) | ||
| }), | ||
@@ -118,3 +121,3 @@ isValid: false, | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| flagValues[projectIdFlag] = "" | ||
| flagValues[globalflags.ProjectIdFlag] = "" | ||
| }), | ||
@@ -127,3 +130,3 @@ isValid: false, | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| flagValues[projectIdFlag] = "invalid-uuid" | ||
| flagValues[globalflags.ProjectIdFlag] = "invalid-uuid" | ||
| }), | ||
@@ -130,0 +133,0 @@ isValid: false, |
@@ -94,3 +94,3 @@ package describe | ||
| func buildRequest(ctx context.Context, model *inputModel, apiClient *loadbalancer.APIClient) loadbalancer.ApiGetCredentialsRequest { | ||
| req := apiClient.GetCredentials(ctx, model.ProjectId, model.CredentialsRef) | ||
| req := apiClient.GetCredentials(ctx, model.ProjectId, model.Region, model.CredentialsRef) | ||
| return req | ||
@@ -97,0 +97,0 @@ } |
@@ -17,3 +17,5 @@ package list | ||
| var projectIdFlag = globalflags.ProjectIdFlag | ||
| const ( | ||
| testRegion = "eu02" | ||
| ) | ||
@@ -28,4 +30,5 @@ type testCtxKey struct{} | ||
| flagValues := map[string]string{ | ||
| projectIdFlag: testProjectId, | ||
| limitFlag: "10", | ||
| globalflags.ProjectIdFlag: testProjectId, | ||
| globalflags.RegionFlag: testRegion, | ||
| limitFlag: "10", | ||
| } | ||
@@ -42,2 +45,3 @@ for _, mod := range mods { | ||
| ProjectId: testProjectId, | ||
| Region: testRegion, | ||
| Verbosity: globalflags.VerbosityDefault, | ||
@@ -54,3 +58,3 @@ }, | ||
| func fixtureRequest(mods ...func(request *loadbalancer.ApiListCredentialsRequest)) loadbalancer.ApiListCredentialsRequest { | ||
| request := testClient.ListCredentials(testCtx, testProjectId) | ||
| request := testClient.ListCredentials(testCtx, testProjectId, testRegion) | ||
| for _, mod := range mods { | ||
@@ -83,3 +87,3 @@ mod(&request) | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| delete(flagValues, projectIdFlag) | ||
| delete(flagValues, globalflags.ProjectIdFlag) | ||
| }), | ||
@@ -91,3 +95,3 @@ isValid: false, | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| flagValues[projectIdFlag] = "" | ||
| flagValues[globalflags.ProjectIdFlag] = "" | ||
| }), | ||
@@ -99,3 +103,3 @@ isValid: false, | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| flagValues[projectIdFlag] = "invalid-uuid" | ||
| flagValues[globalflags.ProjectIdFlag] = "invalid-uuid" | ||
| }), | ||
@@ -102,0 +106,0 @@ isValid: false, |
@@ -95,3 +95,3 @@ package list | ||
| } | ||
| credentials, err = lbUtils.FilterCredentials(ctx, apiClient, credentials, model.ProjectId, filterOp) | ||
| credentials, err = lbUtils.FilterCredentials(ctx, apiClient, credentials, model.ProjectId, model.Region, filterOp) | ||
| if err != nil { | ||
@@ -166,3 +166,3 @@ return fmt.Errorf("filter credentials: %w", err) | ||
| func buildRequest(ctx context.Context, model *inputModel, apiClient *loadbalancer.APIClient) loadbalancer.ApiListCredentialsRequest { | ||
| req := apiClient.ListCredentials(ctx, model.ProjectId) | ||
| req := apiClient.ListCredentials(ctx, model.ProjectId, model.Region) | ||
| return req | ||
@@ -169,0 +169,0 @@ } |
@@ -18,8 +18,14 @@ package update | ||
| var projectIdFlag = globalflags.ProjectIdFlag | ||
| const ( | ||
| testRegion = "eu02" | ||
| testCredentialsRef = "credentials-test" | ||
| ) | ||
| type testCtxKey struct{} | ||
| var testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo") | ||
| var testClient = &loadbalancer.APIClient{} | ||
| var ( | ||
| testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo") | ||
| testClient = &loadbalancer.APIClient{} | ||
| testProjectId = uuid.NewString() | ||
| ) | ||
@@ -31,7 +37,7 @@ type loadBalancerClientMocked struct { | ||
| func (c *loadBalancerClientMocked) UpdateCredentials(ctx context.Context, projectId, credentialsRef string) loadbalancer.ApiUpdateCredentialsRequest { | ||
| return testClient.UpdateCredentials(ctx, projectId, credentialsRef) | ||
| func (c *loadBalancerClientMocked) UpdateCredentials(ctx context.Context, projectId, region, credentialsRef string) loadbalancer.ApiUpdateCredentialsRequest { | ||
| return testClient.UpdateCredentials(ctx, projectId, region, credentialsRef) | ||
| } | ||
| func (c *loadBalancerClientMocked) GetCredentialsExecute(_ context.Context, _, _ string) (*loadbalancer.GetCredentialsResponse, error) { | ||
| func (c *loadBalancerClientMocked) GetCredentialsExecute(_ context.Context, _, _, _ string) (*loadbalancer.GetCredentialsResponse, error) { | ||
| if c.getCredentialsError { | ||
@@ -43,6 +49,2 @@ return nil, fmt.Errorf("get credentials failed") | ||
| var testProjectId = uuid.NewString() | ||
| const testCredentialsRef = "credentials-test" | ||
| func fixtureArgValues(mods ...func(argValues []string)) []string { | ||
@@ -60,6 +62,7 @@ argValues := []string{ | ||
| flagValues := map[string]string{ | ||
| projectIdFlag: testProjectId, | ||
| displayNameFlag: "name", | ||
| usernameFlag: "username", | ||
| passwordFlag: "pwd", | ||
| globalflags.ProjectIdFlag: testProjectId, | ||
| globalflags.RegionFlag: testRegion, | ||
| displayNameFlag: "name", | ||
| usernameFlag: "username", | ||
| passwordFlag: "pwd", | ||
| } | ||
@@ -76,2 +79,3 @@ for _, mod := range mods { | ||
| ProjectId: testProjectId, | ||
| Region: testRegion, | ||
| Verbosity: globalflags.VerbosityDefault, | ||
@@ -91,3 +95,3 @@ }, | ||
| func fixtureRequest(mods ...func(request *loadbalancer.ApiUpdateCredentialsRequest)) loadbalancer.ApiUpdateCredentialsRequest { | ||
| request := testClient.UpdateCredentials(testCtx, testProjectId, testCredentialsRef) | ||
| request := testClient.UpdateCredentials(testCtx, testProjectId, testRegion, testCredentialsRef) | ||
| request = request.UpdateCredentialsPayload(loadbalancer.UpdateCredentialsPayload{ | ||
@@ -154,3 +158,3 @@ DisplayName: utils.Ptr("name"), | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| delete(flagValues, projectIdFlag) | ||
| delete(flagValues, globalflags.ProjectIdFlag) | ||
| }), | ||
@@ -163,3 +167,3 @@ isValid: false, | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| flagValues[projectIdFlag] = "" | ||
| flagValues[globalflags.ProjectIdFlag] = "" | ||
| }), | ||
@@ -172,3 +176,3 @@ isValid: false, | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| flagValues[projectIdFlag] = "invalid-uuid" | ||
| flagValues[globalflags.ProjectIdFlag] = "invalid-uuid" | ||
| }), | ||
@@ -175,0 +179,0 @@ isValid: false, |
@@ -30,2 +30,12 @@ package update | ||
| // enforce implementation of interfaces | ||
| var ( | ||
| _ loadBalancerClient = &loadbalancer.APIClient{} | ||
| ) | ||
| type loadBalancerClient interface { | ||
| UpdateCredentials(ctx context.Context, projectId, region, credentialsRef string) loadbalancer.ApiUpdateCredentialsRequest | ||
| GetCredentialsExecute(ctx context.Context, projectId, region, credentialsRef string) (*loadbalancer.GetCredentialsResponse, error) | ||
| } | ||
| type inputModel struct { | ||
@@ -72,3 +82,3 @@ *globalflags.GlobalFlagModel | ||
| credentialsLabel, err := loadBalancerUtils.GetCredentialsDisplayName(ctx, apiClient, model.ProjectId, model.CredentialsRef) | ||
| credentialsLabel, err := loadBalancerUtils.GetCredentialsDisplayName(ctx, apiClient, model.ProjectId, model.Region, model.CredentialsRef) | ||
| if err != nil { | ||
@@ -142,11 +152,6 @@ p.Debug(print.ErrorLevel, "get credentials display name: %v", err) | ||
| type loadBalancerClient interface { | ||
| UpdateCredentials(ctx context.Context, instanceId, projectId string) loadbalancer.ApiUpdateCredentialsRequest | ||
| GetCredentialsExecute(ctx context.Context, instanceId, projectId string) (*loadbalancer.GetCredentialsResponse, error) | ||
| } | ||
| func buildRequest(ctx context.Context, model *inputModel, apiClient loadBalancerClient) (loadbalancer.ApiUpdateCredentialsRequest, error) { | ||
| req := apiClient.UpdateCredentials(ctx, model.ProjectId, model.CredentialsRef) | ||
| req := apiClient.UpdateCredentials(ctx, model.ProjectId, model.Region, model.CredentialsRef) | ||
| currentCredentials, err := apiClient.GetCredentialsExecute(ctx, model.ProjectId, model.CredentialsRef) | ||
| currentCredentials, err := apiClient.GetCredentialsExecute(ctx, model.ProjectId, model.Region, model.CredentialsRef) | ||
| if err != nil { | ||
@@ -153,0 +158,0 @@ return req, fmt.Errorf("get Load Balancer observability credentials: %w", err) |
@@ -15,3 +15,5 @@ package quota | ||
| var projectIdFlag = globalflags.ProjectIdFlag | ||
| const ( | ||
| testRegion = "eu02" | ||
| ) | ||
@@ -26,3 +28,4 @@ type testCtxKey struct{} | ||
| flagValues := map[string]string{ | ||
| projectIdFlag: testProjectId, | ||
| globalflags.ProjectIdFlag: testProjectId, | ||
| globalflags.RegionFlag: testRegion, | ||
| } | ||
@@ -39,2 +42,3 @@ for _, mod := range mods { | ||
| ProjectId: testProjectId, | ||
| Region: testRegion, | ||
| Verbosity: globalflags.VerbosityDefault, | ||
@@ -50,3 +54,3 @@ }, | ||
| func fixtureRequest(mods ...func(request *loadbalancer.ApiGetQuotaRequest)) loadbalancer.ApiGetQuotaRequest { | ||
| request := testClient.GetQuota(testCtx, testProjectId) | ||
| request := testClient.GetQuota(testCtx, testProjectId, testRegion) | ||
| for _, mod := range mods { | ||
@@ -74,3 +78,3 @@ mod(&request) | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| delete(flagValues, projectIdFlag) | ||
| delete(flagValues, globalflags.ProjectIdFlag) | ||
| }), | ||
@@ -82,3 +86,3 @@ isValid: false, | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| flagValues[projectIdFlag] = "" | ||
| flagValues[globalflags.ProjectIdFlag] = "" | ||
| }), | ||
@@ -90,3 +94,3 @@ isValid: false, | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| flagValues[projectIdFlag] = "invalid-uuid" | ||
| flagValues[globalflags.ProjectIdFlag] = "invalid-uuid" | ||
| }), | ||
@@ -93,0 +97,0 @@ isValid: false, |
@@ -84,3 +84,3 @@ package quota | ||
| func buildRequest(ctx context.Context, model *inputModel, apiClient *loadbalancer.APIClient) loadbalancer.ApiGetQuotaRequest { | ||
| req := apiClient.GetQuota(ctx, model.ProjectId) | ||
| req := apiClient.GetQuota(ctx, model.ProjectId, model.Region) | ||
| return req | ||
@@ -87,0 +87,0 @@ } |
@@ -18,4 +18,2 @@ package addtarget | ||
| var projectIdFlag = globalflags.ProjectIdFlag | ||
| type testCtxKey struct{} | ||
@@ -30,2 +28,3 @@ | ||
| const ( | ||
| testRegion = "eu02" | ||
| testLBName = "my-load-balancer" | ||
@@ -44,3 +43,3 @@ testTargetPoolName = "target-pool-1" | ||
| func (m *loadBalancerClientMocked) GetCredentialsExecute(_ context.Context, _, _ string) (*loadbalancer.GetCredentialsResponse, error) { | ||
| func (m *loadBalancerClientMocked) GetCredentialsExecute(_ context.Context, _, _, _ string) (*loadbalancer.GetCredentialsResponse, error) { | ||
| if m.getCredentialsFails { | ||
@@ -52,3 +51,3 @@ return nil, fmt.Errorf("could not get credentials") | ||
| func (m *loadBalancerClientMocked) GetLoadBalancerExecute(_ context.Context, _, _ string) (*loadbalancer.LoadBalancer, error) { | ||
| func (m *loadBalancerClientMocked) GetLoadBalancerExecute(_ context.Context, _, _, _ string) (*loadbalancer.LoadBalancer, error) { | ||
| if m.getLoadBalancerFails { | ||
@@ -60,7 +59,7 @@ return nil, fmt.Errorf("could not get load balancer") | ||
| func (m *loadBalancerClientMocked) UpdateTargetPool(ctx context.Context, projectId, loadBalancerName, targetPoolName string) loadbalancer.ApiUpdateTargetPoolRequest { | ||
| return testClient.UpdateTargetPool(ctx, projectId, loadBalancerName, targetPoolName) | ||
| func (m *loadBalancerClientMocked) UpdateTargetPool(ctx context.Context, projectId, region, loadBalancerName, targetPoolName string) loadbalancer.ApiUpdateTargetPoolRequest { | ||
| return testClient.UpdateTargetPool(ctx, projectId, region, loadBalancerName, targetPoolName) | ||
| } | ||
| func (m *loadBalancerClientMocked) ListLoadBalancersExecute(_ context.Context, _ string) (*loadbalancer.ListLoadBalancersResponse, error) { | ||
| func (m *loadBalancerClientMocked) ListLoadBalancersExecute(_ context.Context, _, _ string) (*loadbalancer.ListLoadBalancersResponse, error) { | ||
| return nil, nil | ||
@@ -81,6 +80,7 @@ } | ||
| flagValues := map[string]string{ | ||
| projectIdFlag: testProjectId, | ||
| lbNameFlag: testLBName, | ||
| targetNameFlag: testTargetName, | ||
| targetPoolNameFlag: testTargetPoolName, | ||
| globalflags.ProjectIdFlag: testProjectId, | ||
| globalflags.RegionFlag: testRegion, | ||
| lbNameFlag: testLBName, | ||
| targetNameFlag: testTargetName, | ||
| targetPoolNameFlag: testTargetPoolName, | ||
| } | ||
@@ -97,2 +97,3 @@ for _, mod := range mods { | ||
| ProjectId: testProjectId, | ||
| Region: testRegion, | ||
| Verbosity: globalflags.VerbosityDefault, | ||
@@ -181,3 +182,3 @@ }, | ||
| func fixtureRequest(mods ...func(request *loadbalancer.ApiUpdateTargetPoolRequest)) loadbalancer.ApiUpdateTargetPoolRequest { | ||
| request := testClient.UpdateTargetPool(testCtx, testProjectId, testLBName, testTargetPoolName) | ||
| request := testClient.UpdateTargetPool(testCtx, testProjectId, testRegion, testLBName, testTargetPoolName) | ||
| request = request.UpdateTargetPoolPayload(*fixturePayload()) | ||
@@ -215,3 +216,3 @@ for _, mod := range mods { | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| delete(flagValues, projectIdFlag) | ||
| delete(flagValues, globalflags.ProjectIdFlag) | ||
| }), | ||
@@ -224,3 +225,3 @@ isValid: false, | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| flagValues[projectIdFlag] = "" | ||
| flagValues[globalflags.ProjectIdFlag] = "" | ||
| }), | ||
@@ -233,3 +234,3 @@ isValid: false, | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| flagValues[projectIdFlag] = "invalid-uuid" | ||
| flagValues[globalflags.ProjectIdFlag] = "invalid-uuid" | ||
| }), | ||
@@ -236,0 +237,0 @@ isValid: false, |
@@ -127,5 +127,5 @@ package addtarget | ||
| func buildRequest(ctx context.Context, model *inputModel, apiClient utils.LoadBalancerClient) (loadbalancer.ApiUpdateTargetPoolRequest, error) { | ||
| req := apiClient.UpdateTargetPool(ctx, model.ProjectId, model.LBName, model.TargetPoolName) | ||
| req := apiClient.UpdateTargetPool(ctx, model.ProjectId, model.Region, model.LBName, model.TargetPoolName) | ||
| targetPool, err := utils.GetLoadBalancerTargetPool(ctx, apiClient, model.ProjectId, model.LBName, model.TargetPoolName) | ||
| targetPool, err := utils.GetLoadBalancerTargetPool(ctx, apiClient, model.ProjectId, model.Region, model.LBName, model.TargetPoolName) | ||
| if err != nil { | ||
@@ -132,0 +132,0 @@ return req, fmt.Errorf("get load balancer target pool: %w", err) |
@@ -15,4 +15,2 @@ package describe | ||
| var projectIdFlag = globalflags.ProjectIdFlag | ||
| type testCtxKey struct{} | ||
@@ -27,2 +25,3 @@ | ||
| const ( | ||
| testRegion = "eu02" | ||
| testLoadBalancerName = "my-load-balancer" | ||
@@ -44,4 +43,5 @@ testTargetPoolName = "target-pool-1" | ||
| flagValues := map[string]string{ | ||
| projectIdFlag: testProjectId, | ||
| lbNameFlag: testLoadBalancerName, | ||
| globalflags.ProjectIdFlag: testProjectId, | ||
| globalflags.RegionFlag: testRegion, | ||
| lbNameFlag: testLoadBalancerName, | ||
| } | ||
@@ -58,2 +58,3 @@ for _, mod := range mods { | ||
| ProjectId: testProjectId, | ||
| Region: testRegion, | ||
| Verbosity: globalflags.VerbosityDefault, | ||
@@ -71,3 +72,3 @@ }, | ||
| func fixtureRequest(mods ...func(request *loadbalancer.ApiGetLoadBalancerRequest)) loadbalancer.ApiGetLoadBalancerRequest { | ||
| request := testClient.GetLoadBalancer(testCtx, testProjectId, testLoadBalancerName) | ||
| request := testClient.GetLoadBalancer(testCtx, testProjectId, testRegion, testLoadBalancerName) | ||
| for _, mod := range mods { | ||
@@ -104,3 +105,3 @@ mod(&request) | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| delete(flagValues, projectIdFlag) | ||
| delete(flagValues, globalflags.ProjectIdFlag) | ||
| }), | ||
@@ -113,3 +114,3 @@ isValid: false, | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| flagValues[projectIdFlag] = "" | ||
| flagValues[globalflags.ProjectIdFlag] = "" | ||
| }), | ||
@@ -122,3 +123,3 @@ isValid: false, | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| flagValues[projectIdFlag] = "invalid-uuid" | ||
| flagValues[globalflags.ProjectIdFlag] = "invalid-uuid" | ||
| }), | ||
@@ -125,0 +126,0 @@ isValid: false, |
@@ -118,3 +118,3 @@ package describe | ||
| func buildRequest(ctx context.Context, model *inputModel, apiClient *loadbalancer.APIClient) loadbalancer.ApiGetLoadBalancerRequest { | ||
| req := apiClient.GetLoadBalancer(ctx, model.ProjectId, model.LBName) | ||
| req := apiClient.GetLoadBalancer(ctx, model.ProjectId, model.Region, model.LBName) | ||
| return req | ||
@@ -121,0 +121,0 @@ } |
@@ -18,4 +18,2 @@ package removetarget | ||
| var projectIdFlag = globalflags.ProjectIdFlag | ||
| type testCtxKey struct{} | ||
@@ -30,5 +28,5 @@ | ||
| const ( | ||
| testRegion = "eu02" | ||
| testLBName = "my-load-balancer" | ||
| testTargetPoolName = "target-pool-1" | ||
| testTargetName = "my-target" | ||
| testIP = "1.2.3.4" | ||
@@ -44,3 +42,3 @@ ) | ||
| func (m *loadBalancerClientMocked) GetCredentialsExecute(_ context.Context, _, _ string) (*loadbalancer.GetCredentialsResponse, error) { | ||
| func (m *loadBalancerClientMocked) GetCredentialsExecute(_ context.Context, _, _, _ string) (*loadbalancer.GetCredentialsResponse, error) { | ||
| if m.getCredentialsFails { | ||
@@ -52,3 +50,3 @@ return nil, fmt.Errorf("could not get credentials") | ||
| func (m *loadBalancerClientMocked) GetLoadBalancerExecute(_ context.Context, _, _ string) (*loadbalancer.LoadBalancer, error) { | ||
| func (m *loadBalancerClientMocked) GetLoadBalancerExecute(_ context.Context, _, _, _ string) (*loadbalancer.LoadBalancer, error) { | ||
| if m.getLoadBalancerFails { | ||
@@ -60,7 +58,7 @@ return nil, fmt.Errorf("could not get load balancer") | ||
| func (m *loadBalancerClientMocked) UpdateTargetPool(ctx context.Context, projectId, loadBalancerName, targetPoolName string) loadbalancer.ApiUpdateTargetPoolRequest { | ||
| return testClient.UpdateTargetPool(ctx, projectId, loadBalancerName, targetPoolName) | ||
| func (m *loadBalancerClientMocked) UpdateTargetPool(ctx context.Context, projectId, region, loadBalancerName, targetPoolName string) loadbalancer.ApiUpdateTargetPoolRequest { | ||
| return testClient.UpdateTargetPool(ctx, projectId, region, loadBalancerName, targetPoolName) | ||
| } | ||
| func (m *loadBalancerClientMocked) ListLoadBalancersExecute(_ context.Context, _ string) (*loadbalancer.ListLoadBalancersResponse, error) { | ||
| func (m *loadBalancerClientMocked) ListLoadBalancersExecute(_ context.Context, _, _ string) (*loadbalancer.ListLoadBalancersResponse, error) { | ||
| return nil, nil | ||
@@ -81,5 +79,6 @@ } | ||
| flagValues := map[string]string{ | ||
| projectIdFlag: testProjectId, | ||
| lbNameFlag: testLBName, | ||
| targetPoolNameFlag: testTargetPoolName, | ||
| globalflags.ProjectIdFlag: testProjectId, | ||
| globalflags.RegionFlag: testRegion, | ||
| lbNameFlag: testLBName, | ||
| targetPoolNameFlag: testTargetPoolName, | ||
| } | ||
@@ -96,2 +95,3 @@ for _, mod := range mods { | ||
| ProjectId: testProjectId, | ||
| Region: testRegion, | ||
| Verbosity: globalflags.VerbosityDefault, | ||
@@ -179,3 +179,3 @@ }, | ||
| func fixtureRequest(mods ...func(request *loadbalancer.ApiUpdateTargetPoolRequest)) loadbalancer.ApiUpdateTargetPoolRequest { | ||
| request := testClient.UpdateTargetPool(testCtx, testProjectId, testLBName, testTargetPoolName) | ||
| request := testClient.UpdateTargetPool(testCtx, testProjectId, testRegion, testLBName, testTargetPoolName) | ||
| request = request.UpdateTargetPoolPayload(*fixturePayload()) | ||
@@ -213,3 +213,3 @@ for _, mod := range mods { | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| delete(flagValues, projectIdFlag) | ||
| delete(flagValues, globalflags.ProjectIdFlag) | ||
| }), | ||
@@ -222,3 +222,3 @@ isValid: false, | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| flagValues[projectIdFlag] = "" | ||
| flagValues[globalflags.ProjectIdFlag] = "" | ||
| }), | ||
@@ -231,3 +231,3 @@ isValid: false, | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| flagValues[projectIdFlag] = "invalid-uuid" | ||
| flagValues[globalflags.ProjectIdFlag] = "invalid-uuid" | ||
| }), | ||
@@ -234,0 +234,0 @@ isValid: false, |
@@ -59,3 +59,3 @@ package removetarget | ||
| targetLabel, err := utils.GetTargetName(ctx, apiClient, model.ProjectId, model.LBName, model.TargetPoolName, model.IP) | ||
| targetLabel, err := utils.GetTargetName(ctx, apiClient, model.ProjectId, model.Region, model.LBName, model.TargetPoolName, model.IP) | ||
| if err != nil { | ||
@@ -128,5 +128,5 @@ p.Debug(print.ErrorLevel, "get target name: %v", err) | ||
| func buildRequest(ctx context.Context, model *inputModel, apiClient utils.LoadBalancerClient) (loadbalancer.ApiUpdateTargetPoolRequest, error) { | ||
| req := apiClient.UpdateTargetPool(ctx, model.ProjectId, model.LBName, model.TargetPoolName) | ||
| req := apiClient.UpdateTargetPool(ctx, model.ProjectId, model.Region, model.LBName, model.TargetPoolName) | ||
| targetPool, err := utils.GetLoadBalancerTargetPool(ctx, apiClient, model.ProjectId, model.LBName, model.TargetPoolName) | ||
| targetPool, err := utils.GetLoadBalancerTargetPool(ctx, apiClient, model.ProjectId, model.Region, model.LBName, model.TargetPoolName) | ||
| if err != nil { | ||
@@ -133,0 +133,0 @@ return req, fmt.Errorf("get load balancer target pool: %w", err) |
@@ -17,3 +17,6 @@ package update | ||
| var projectIdFlag = globalflags.ProjectIdFlag | ||
| const ( | ||
| testRegion = "eu02" | ||
| testLoadBalancerName = "loadBalancer" | ||
| ) | ||
@@ -25,3 +28,2 @@ type testCtxKey struct{} | ||
| var testProjectId = uuid.NewString() | ||
| var testLoadBalancerName = "loadBalancer" | ||
@@ -113,3 +115,4 @@ var testPayload = loadbalancer.UpdateLoadBalancerPayload{ | ||
| flagValues := map[string]string{ | ||
| projectIdFlag: testProjectId, | ||
| globalflags.ProjectIdFlag: testProjectId, | ||
| globalflags.RegionFlag: testRegion, | ||
| payloadFlag: ` | ||
@@ -199,2 +202,3 @@ { | ||
| ProjectId: testProjectId, | ||
| Region: testRegion, | ||
| Verbosity: globalflags.VerbosityDefault, | ||
@@ -212,3 +216,3 @@ }, | ||
| func fixtureRequest(mods ...func(request *loadbalancer.ApiUpdateLoadBalancerRequest)) loadbalancer.ApiUpdateLoadBalancerRequest { | ||
| request := testClient.UpdateLoadBalancer(testCtx, testProjectId, testLoadBalancerName) | ||
| request := testClient.UpdateLoadBalancer(testCtx, testProjectId, testRegion, testLoadBalancerName) | ||
| request = request.UpdateLoadBalancerPayload(testPayload) | ||
@@ -258,3 +262,3 @@ for _, mod := range mods { | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| delete(flagValues, projectIdFlag) | ||
| delete(flagValues, globalflags.ProjectIdFlag) | ||
| }), | ||
@@ -267,3 +271,3 @@ isValid: false, | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| flagValues[projectIdFlag] = "" | ||
| flagValues[globalflags.ProjectIdFlag] = "" | ||
| }), | ||
@@ -276,3 +280,3 @@ isValid: false, | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| flagValues[projectIdFlag] = "invalid-uuid" | ||
| flagValues[globalflags.ProjectIdFlag] = "invalid-uuid" | ||
| }), | ||
@@ -279,0 +283,0 @@ isValid: false, |
@@ -132,3 +132,3 @@ package update | ||
| func buildRequest(ctx context.Context, model *inputModel, apiClient *loadbalancer.APIClient) loadbalancer.ApiUpdateLoadBalancerRequest { | ||
| req := apiClient.UpdateLoadBalancer(ctx, model.ProjectId, model.LoadBalancerName) | ||
| req := apiClient.UpdateLoadBalancer(ctx, model.ProjectId, model.Region, model.LoadBalancerName) | ||
@@ -135,0 +135,0 @@ req = req.UpdateLoadBalancerPayload(model.Payload) |
@@ -17,4 +17,2 @@ package create | ||
| var projectIdFlag = globalflags.ProjectIdFlag | ||
| type testCtxKey struct{} | ||
@@ -28,8 +26,13 @@ | ||
| const ( | ||
| testRegion = "eu02" | ||
| ) | ||
| func fixtureFlagValues(mods ...func(flagValues map[string]string)) map[string]string { | ||
| flagValues := map[string]string{ | ||
| projectIdFlag: testProjectId, | ||
| serverIdFlag: testServerId, | ||
| commandTemplateNameFlag: "RunShellScript", | ||
| paramsFlag: `script='echo hello'`, | ||
| globalflags.ProjectIdFlag: testProjectId, | ||
| globalflags.RegionFlag: testRegion, | ||
| serverIdFlag: testServerId, | ||
| commandTemplateNameFlag: "RunShellScript", | ||
| paramsFlag: `script='echo hello'`, | ||
| } | ||
@@ -46,2 +49,3 @@ for _, mod := range mods { | ||
| ProjectId: testProjectId, | ||
| Region: testRegion, | ||
| Verbosity: globalflags.VerbosityDefault, | ||
@@ -60,3 +64,3 @@ }, | ||
| func fixtureRequest(mods ...func(request *runcommand.ApiCreateCommandRequest)) runcommand.ApiCreateCommandRequest { | ||
| request := testClient.CreateCommand(testCtx, testProjectId, testServerId) | ||
| request := testClient.CreateCommand(testCtx, testProjectId, testServerId, testRegion) | ||
| request = request.CreateCommandPayload(fixturePayload()) | ||
@@ -107,3 +111,3 @@ for _, mod := range mods { | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| delete(flagValues, projectIdFlag) | ||
| delete(flagValues, globalflags.ProjectIdFlag) | ||
| }), | ||
@@ -115,3 +119,3 @@ isValid: false, | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| flagValues[projectIdFlag] = "" | ||
| flagValues[globalflags.ProjectIdFlag] = "" | ||
| }), | ||
@@ -123,3 +127,3 @@ isValid: false, | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| flagValues[projectIdFlag] = "invalid-uuid" | ||
| flagValues[globalflags.ProjectIdFlag] = "invalid-uuid" | ||
| }), | ||
@@ -126,0 +130,0 @@ isValid: false, |
@@ -145,3 +145,3 @@ package create | ||
| func buildRequest(ctx context.Context, model *inputModel, apiClient *runcommand.APIClient) (runcommand.ApiCreateCommandRequest, error) { | ||
| req := apiClient.CreateCommand(ctx, model.ProjectId, model.ServerId) | ||
| req := apiClient.CreateCommand(ctx, model.ProjectId, model.ServerId, model.Region) | ||
| req = req.CreateCommandPayload(runcommand.CreateCommandPayload{ | ||
@@ -148,0 +148,0 @@ CommandTemplateName: &model.CommandTemplateName, |
@@ -16,4 +16,2 @@ package describe | ||
| var projectIdFlag = globalflags.ProjectIdFlag | ||
| type testCtxKey struct{} | ||
@@ -25,4 +23,8 @@ | ||
| var testServerId = uuid.NewString() | ||
| var testCommandId = "5" | ||
| const ( | ||
| testRegion = "eu02" | ||
| testCommandId = "5" | ||
| ) | ||
| func fixtureArgValues(mods ...func(argValues []string)) []string { | ||
@@ -40,4 +42,5 @@ argValues := []string{ | ||
| flagValues := map[string]string{ | ||
| projectIdFlag: testProjectId, | ||
| serverIdFlag: testServerId, | ||
| globalflags.ProjectIdFlag: testProjectId, | ||
| globalflags.RegionFlag: testRegion, | ||
| serverIdFlag: testServerId, | ||
| } | ||
@@ -54,2 +57,3 @@ for _, mod := range mods { | ||
| ProjectId: testProjectId, | ||
| Region: testRegion, | ||
| Verbosity: globalflags.VerbosityDefault, | ||
@@ -67,3 +71,3 @@ }, | ||
| func fixtureRequest(mods ...func(request *runcommand.ApiGetCommandRequest)) runcommand.ApiGetCommandRequest { | ||
| request := testClient.GetCommand(testCtx, testProjectId, testServerId, testCommandId) | ||
| request := testClient.GetCommand(testCtx, testProjectId, testRegion, testServerId, testCommandId) | ||
| for _, mod := range mods { | ||
@@ -112,3 +116,3 @@ mod(&request) | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| delete(flagValues, projectIdFlag) | ||
| delete(flagValues, globalflags.ProjectIdFlag) | ||
| }), | ||
@@ -121,3 +125,3 @@ isValid: false, | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| flagValues[projectIdFlag] = "" | ||
| flagValues[globalflags.ProjectIdFlag] = "" | ||
| }), | ||
@@ -130,3 +134,3 @@ isValid: false, | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| flagValues[projectIdFlag] = "invalid-uuid" | ||
| flagValues[globalflags.ProjectIdFlag] = "invalid-uuid" | ||
| }), | ||
@@ -133,0 +137,0 @@ isValid: false, |
@@ -107,3 +107,3 @@ package describe | ||
| func buildRequest(ctx context.Context, model *inputModel, apiClient *runcommand.APIClient) runcommand.ApiGetCommandRequest { | ||
| req := apiClient.GetCommand(ctx, model.ProjectId, model.ServerId, model.CommandId) | ||
| req := apiClient.GetCommand(ctx, model.ProjectId, model.Region, model.ServerId, model.CommandId) | ||
| return req | ||
@@ -110,0 +110,0 @@ } |
@@ -17,4 +17,2 @@ package list | ||
| var projectIdFlag = globalflags.ProjectIdFlag | ||
| type testCtxKey struct{} | ||
@@ -27,7 +25,12 @@ | ||
| const ( | ||
| testRegion = "eu02" | ||
| ) | ||
| func fixtureFlagValues(mods ...func(flagValues map[string]string)) map[string]string { | ||
| flagValues := map[string]string{ | ||
| projectIdFlag: testProjectId, | ||
| limitFlag: "10", | ||
| serverIdFlag: testServerId, | ||
| globalflags.ProjectIdFlag: testProjectId, | ||
| globalflags.RegionFlag: testRegion, | ||
| limitFlag: "10", | ||
| serverIdFlag: testServerId, | ||
| } | ||
@@ -44,2 +47,3 @@ for _, mod := range mods { | ||
| ProjectId: testProjectId, | ||
| Region: testRegion, | ||
| Verbosity: globalflags.VerbosityDefault, | ||
@@ -57,3 +61,3 @@ }, | ||
| func fixtureRequest(mods ...func(request *runcommand.ApiListCommandsRequest)) runcommand.ApiListCommandsRequest { | ||
| request := testClient.ListCommands(testCtx, testProjectId, testServerId) | ||
| request := testClient.ListCommands(testCtx, testProjectId, testServerId, testRegion) | ||
| for _, mod := range mods { | ||
@@ -86,3 +90,3 @@ mod(&request) | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| delete(flagValues, projectIdFlag) | ||
| delete(flagValues, globalflags.ProjectIdFlag) | ||
| }), | ||
@@ -94,3 +98,3 @@ isValid: false, | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| flagValues[projectIdFlag] = "" | ||
| flagValues[globalflags.ProjectIdFlag] = "" | ||
| }), | ||
@@ -102,3 +106,3 @@ isValid: false, | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| flagValues[projectIdFlag] = "invalid-uuid" | ||
| flagValues[globalflags.ProjectIdFlag] = "invalid-uuid" | ||
| }), | ||
@@ -105,0 +109,0 @@ isValid: false, |
@@ -136,3 +136,3 @@ package list | ||
| func buildRequest(ctx context.Context, model *inputModel, apiClient *runcommand.APIClient) runcommand.ApiListCommandsRequest { | ||
| req := apiClient.ListCommands(ctx, model.ProjectId, model.ServerId) | ||
| req := apiClient.ListCommands(ctx, model.ProjectId, model.ServerId, model.Region) | ||
| return req | ||
@@ -139,0 +139,0 @@ } |
@@ -16,4 +16,2 @@ package describe | ||
| var projectIdFlag = globalflags.ProjectIdFlag | ||
| type testCtxKey struct{} | ||
@@ -25,4 +23,8 @@ | ||
| var testServerId = uuid.NewString() | ||
| var testCommandTemplateName = "RunShellScript" | ||
| const ( | ||
| testCommandTemplateName = "RunShellScript" | ||
| testRegion = "eu02" | ||
| ) | ||
| func fixtureArgValues(mods ...func(argValues []string)) []string { | ||
@@ -40,4 +42,5 @@ argValues := []string{ | ||
| flagValues := map[string]string{ | ||
| projectIdFlag: testProjectId, | ||
| serverIdFlag: testServerId, | ||
| globalflags.ProjectIdFlag: testProjectId, | ||
| globalflags.RegionFlag: testRegion, | ||
| serverIdFlag: testServerId, | ||
| } | ||
@@ -54,2 +57,3 @@ for _, mod := range mods { | ||
| ProjectId: testProjectId, | ||
| Region: testRegion, | ||
| Verbosity: globalflags.VerbosityDefault, | ||
@@ -67,3 +71,3 @@ }, | ||
| func fixtureRequest(mods ...func(request *runcommand.ApiGetCommandTemplateRequest)) runcommand.ApiGetCommandTemplateRequest { | ||
| request := testClient.GetCommandTemplate(testCtx, testProjectId, testServerId, testCommandTemplateName) | ||
| request := testClient.GetCommandTemplate(testCtx, testProjectId, testServerId, testCommandTemplateName, testRegion) | ||
| for _, mod := range mods { | ||
@@ -112,3 +116,3 @@ mod(&request) | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| delete(flagValues, projectIdFlag) | ||
| delete(flagValues, globalflags.ProjectIdFlag) | ||
| }), | ||
@@ -121,3 +125,3 @@ isValid: false, | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| flagValues[projectIdFlag] = "" | ||
| flagValues[globalflags.ProjectIdFlag] = "" | ||
| }), | ||
@@ -130,3 +134,3 @@ isValid: false, | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| flagValues[projectIdFlag] = "invalid-uuid" | ||
| flagValues[globalflags.ProjectIdFlag] = "invalid-uuid" | ||
| }), | ||
@@ -133,0 +137,0 @@ isValid: false, |
@@ -107,3 +107,3 @@ package describe | ||
| func buildRequest(ctx context.Context, model *inputModel, apiClient *runcommand.APIClient) runcommand.ApiGetCommandTemplateRequest { | ||
| req := apiClient.GetCommandTemplate(ctx, model.ProjectId, model.ServerId, model.CommandTemplateName) | ||
| req := apiClient.GetCommandTemplate(ctx, model.ProjectId, model.ServerId, model.CommandTemplateName, model.Region) | ||
| return req | ||
@@ -110,0 +110,0 @@ } |
@@ -17,4 +17,2 @@ package list | ||
| var projectIdFlag = globalflags.ProjectIdFlag | ||
| type testCtxKey struct{} | ||
@@ -28,4 +26,4 @@ | ||
| flagValues := map[string]string{ | ||
| projectIdFlag: testProjectId, | ||
| limitFlag: "10", | ||
| globalflags.ProjectIdFlag: testProjectId, | ||
| limitFlag: "10", | ||
| } | ||
@@ -81,3 +79,3 @@ for _, mod := range mods { | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| delete(flagValues, projectIdFlag) | ||
| delete(flagValues, globalflags.ProjectIdFlag) | ||
| }), | ||
@@ -89,3 +87,3 @@ isValid: false, | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| flagValues[projectIdFlag] = "" | ||
| flagValues[globalflags.ProjectIdFlag] = "" | ||
| }), | ||
@@ -97,3 +95,3 @@ isValid: false, | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| flagValues[projectIdFlag] = "invalid-uuid" | ||
| flagValues[globalflags.ProjectIdFlag] = "invalid-uuid" | ||
| }), | ||
@@ -100,0 +98,0 @@ isValid: false, |
@@ -99,3 +99,3 @@ package create | ||
| // Check if the project is enabled before trying to create | ||
| enabled, err := serviceEnablementUtils.ProjectEnabled(ctx, serviceEnablementApiClient, model.ProjectId) | ||
| enabled, err := serviceEnablementUtils.ProjectEnabled(ctx, serviceEnablementApiClient, model.ProjectId, model.Region) | ||
| if err != nil { | ||
@@ -102,0 +102,0 @@ return err |
@@ -72,3 +72,3 @@ package list | ||
| // Check if SKE is enabled for this project | ||
| enabled, err := serviceEnablementUtils.ProjectEnabled(ctx, serviceEnablementApiClient, model.ProjectId) | ||
| enabled, err := serviceEnablementUtils.ProjectEnabled(ctx, serviceEnablementApiClient, model.ProjectId, model.Region) | ||
| if err != nil { | ||
@@ -75,0 +75,0 @@ return err |
@@ -18,4 +18,2 @@ package describe | ||
| var projectIdFlag = globalflags.ProjectIdFlag | ||
| type testCtxKey struct{} | ||
@@ -26,6 +24,8 @@ | ||
| var testProjectId = uuid.NewString() | ||
| var testRegion = "eu01" | ||
| func fixtureFlagValues(mods ...func(flagValues map[string]string)) map[string]string { | ||
| flagValues := map[string]string{ | ||
| projectIdFlag: testProjectId, | ||
| globalflags.ProjectIdFlag: testProjectId, | ||
| globalflags.RegionFlag: testRegion, | ||
| } | ||
@@ -42,2 +42,3 @@ for _, mod := range mods { | ||
| ProjectId: testProjectId, | ||
| Region: testRegion, | ||
| Verbosity: globalflags.VerbosityDefault, | ||
@@ -52,4 +53,4 @@ }, | ||
| func fixtureRequest(mods ...func(request *serviceenablement.ApiGetServiceStatusRequest)) serviceenablement.ApiGetServiceStatusRequest { | ||
| request := testClient.GetServiceStatus(testCtx, testProjectId, serviceEnablementUtils.SKEServiceId) //nolint:staticcheck //command will be removed in a later update | ||
| func fixtureRequest(mods ...func(request *serviceenablement.ApiGetServiceStatusRegionalRequest)) serviceenablement.ApiGetServiceStatusRegionalRequest { | ||
| request := testClient.GetServiceStatusRegional(testCtx, testRegion, testProjectId, serviceEnablementUtils.SKEServiceId) //nolint:staticcheck //command will be removed in a later update | ||
| for _, mod := range mods { | ||
@@ -82,3 +83,3 @@ mod(&request) | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| delete(flagValues, projectIdFlag) | ||
| delete(flagValues, globalflags.ProjectIdFlag) | ||
| }), | ||
@@ -90,3 +91,3 @@ isValid: false, | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| flagValues[projectIdFlag] = "" | ||
| flagValues[globalflags.ProjectIdFlag] = "" | ||
| }), | ||
@@ -98,3 +99,3 @@ isValid: false, | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| flagValues[projectIdFlag] = "invalid-uuid" | ||
| flagValues[globalflags.ProjectIdFlag] = "invalid-uuid" | ||
| }), | ||
@@ -156,3 +157,3 @@ isValid: false, | ||
| isValid bool | ||
| expectedRequest serviceenablement.ApiGetServiceStatusRequest | ||
| expectedRequest serviceenablement.ApiGetServiceStatusRegionalRequest | ||
| }{ | ||
@@ -159,0 +160,0 @@ { |
@@ -84,4 +84,4 @@ package describe | ||
| func buildRequest(ctx context.Context, model *inputModel, apiClient *serviceenablement.APIClient) serviceenablement.ApiGetServiceStatusRequest { | ||
| req := apiClient.GetServiceStatus(ctx, model.ProjectId, skeUtils.SKEServiceId) | ||
| func buildRequest(ctx context.Context, model *inputModel, apiClient *serviceenablement.APIClient) serviceenablement.ApiGetServiceStatusRegionalRequest { | ||
| req := apiClient.GetServiceStatusRegional(ctx, model.Region, model.ProjectId, skeUtils.SKEServiceId) | ||
| return req | ||
@@ -88,0 +88,0 @@ } |
@@ -18,4 +18,2 @@ package disable | ||
| var projectIdFlag = globalflags.ProjectIdFlag | ||
| type testCtxKey struct{} | ||
@@ -26,6 +24,8 @@ | ||
| var testProjectId = uuid.NewString() | ||
| var testRegion = "eu01" | ||
| func fixtureFlagValues(mods ...func(flagValues map[string]string)) map[string]string { | ||
| flagValues := map[string]string{ | ||
| projectIdFlag: testProjectId, | ||
| globalflags.ProjectIdFlag: testProjectId, | ||
| globalflags.RegionFlag: testRegion, | ||
| } | ||
@@ -42,2 +42,3 @@ for _, mod := range mods { | ||
| ProjectId: testProjectId, | ||
| Region: testRegion, | ||
| Verbosity: globalflags.VerbosityDefault, | ||
@@ -52,4 +53,4 @@ }, | ||
| func fixtureRequest(mods ...func(request *serviceenablement.ApiDisableServiceRequest)) serviceenablement.ApiDisableServiceRequest { | ||
| request := testClient.DisableService(testCtx, testProjectId, utils.SKEServiceId) | ||
| func fixtureRequest(mods ...func(request *serviceenablement.ApiDisableServiceRegionalRequest)) serviceenablement.ApiDisableServiceRegionalRequest { | ||
| request := testClient.DisableServiceRegional(testCtx, testRegion, testProjectId, utils.SKEServiceId) | ||
| for _, mod := range mods { | ||
@@ -82,3 +83,3 @@ mod(&request) | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| delete(flagValues, projectIdFlag) | ||
| delete(flagValues, globalflags.ProjectIdFlag) | ||
| }), | ||
@@ -90,3 +91,3 @@ isValid: false, | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| flagValues[projectIdFlag] = "" | ||
| flagValues[globalflags.ProjectIdFlag] = "" | ||
| }), | ||
@@ -98,3 +99,3 @@ isValid: false, | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| flagValues[projectIdFlag] = "invalid-uuid" | ||
| flagValues[globalflags.ProjectIdFlag] = "invalid-uuid" | ||
| }), | ||
@@ -155,3 +156,3 @@ isValid: false, | ||
| model *inputModel | ||
| expectedRequest serviceenablement.ApiDisableServiceRequest | ||
| expectedRequest serviceenablement.ApiDisableServiceRegionalRequest | ||
| }{ | ||
@@ -158,0 +159,0 @@ { |
@@ -75,3 +75,3 @@ package disable | ||
| s.Start("Disabling SKE") | ||
| _, err = wait.DisableServiceWaitHandler(ctx, apiClient, model.ProjectId, utils.SKEServiceId).WaitWithContext(ctx) | ||
| _, err = wait.DisableServiceWaitHandler(ctx, apiClient, model.Region, model.ProjectId, utils.SKEServiceId).WaitWithContext(ctx) | ||
| if err != nil { | ||
@@ -116,5 +116,5 @@ return fmt.Errorf("wait for SKE disabling: %w", err) | ||
| func buildRequest(ctx context.Context, model *inputModel, apiClient *serviceenablement.APIClient) serviceenablement.ApiDisableServiceRequest { | ||
| req := apiClient.DisableService(ctx, model.ProjectId, utils.SKEServiceId) | ||
| func buildRequest(ctx context.Context, model *inputModel, apiClient *serviceenablement.APIClient) serviceenablement.ApiDisableServiceRegionalRequest { | ||
| req := apiClient.DisableServiceRegional(ctx, model.Region, model.ProjectId, utils.SKEServiceId) | ||
| return req | ||
| } |
@@ -18,4 +18,2 @@ package enable | ||
| var projectIdFlag = globalflags.ProjectIdFlag | ||
| type testCtxKey struct{} | ||
@@ -26,6 +24,8 @@ | ||
| var testProjectId = uuid.NewString() | ||
| var testRegion = "eu01" | ||
| func fixtureFlagValues(mods ...func(flagValues map[string]string)) map[string]string { | ||
| flagValues := map[string]string{ | ||
| projectIdFlag: testProjectId, | ||
| globalflags.ProjectIdFlag: testProjectId, | ||
| globalflags.RegionFlag: testRegion, | ||
| } | ||
@@ -42,2 +42,3 @@ for _, mod := range mods { | ||
| ProjectId: testProjectId, | ||
| Region: testRegion, | ||
| Verbosity: globalflags.VerbosityDefault, | ||
@@ -52,4 +53,4 @@ }, | ||
| func fixtureRequest(mods ...func(request *serviceenablement.ApiEnableServiceRequest)) serviceenablement.ApiEnableServiceRequest { | ||
| request := testClient.EnableService(testCtx, testProjectId, utils.SKEServiceId) | ||
| func fixtureRequest(mods ...func(request *serviceenablement.ApiEnableServiceRegionalRequest)) serviceenablement.ApiEnableServiceRegionalRequest { | ||
| request := testClient.EnableServiceRegional(testCtx, testRegion, testProjectId, utils.SKEServiceId) | ||
| for _, mod := range mods { | ||
@@ -82,3 +83,3 @@ mod(&request) | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| delete(flagValues, projectIdFlag) | ||
| delete(flagValues, globalflags.ProjectIdFlag) | ||
| }), | ||
@@ -90,3 +91,3 @@ isValid: false, | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| flagValues[projectIdFlag] = "" | ||
| flagValues[globalflags.ProjectIdFlag] = "" | ||
| }), | ||
@@ -98,3 +99,3 @@ isValid: false, | ||
| flagValues: fixtureFlagValues(func(flagValues map[string]string) { | ||
| flagValues[projectIdFlag] = "invalid-uuid" | ||
| flagValues[globalflags.ProjectIdFlag] = "invalid-uuid" | ||
| }), | ||
@@ -155,3 +156,3 @@ isValid: false, | ||
| model *inputModel | ||
| expectedRequest serviceenablement.ApiEnableServiceRequest | ||
| expectedRequest serviceenablement.ApiEnableServiceRegionalRequest | ||
| }{ | ||
@@ -158,0 +159,0 @@ { |
@@ -75,3 +75,3 @@ package enable | ||
| s.Start("Enabling SKE") | ||
| _, err = wait.EnableServiceWaitHandler(ctx, apiClient, model.ProjectId, utils.SKEServiceId).WaitWithContext(ctx) | ||
| _, err = wait.EnableServiceWaitHandler(ctx, apiClient, model.Region, model.ProjectId, utils.SKEServiceId).WaitWithContext(ctx) | ||
| if err != nil { | ||
@@ -116,5 +116,5 @@ return fmt.Errorf("wait for SKE enabling: %w", err) | ||
| func buildRequest(ctx context.Context, model *inputModel, apiClient *serviceenablement.APIClient) serviceenablement.ApiEnableServiceRequest { | ||
| req := apiClient.EnableService(ctx, model.ProjectId, utils.SKEServiceId) | ||
| func buildRequest(ctx context.Context, model *inputModel, apiClient *serviceenablement.APIClient) serviceenablement.ApiEnableServiceRegionalRequest { | ||
| req := apiClient.EnableServiceRegional(ctx, model.Region, model.ProjectId, utils.SKEServiceId) | ||
| return req | ||
| } |
@@ -274,3 +274,3 @@ <!DOCTYPE html> | ||
| alt="logo" | ||
| src="https://cdn.apps.01.cf.eu01.stackit.cloud/assets/img/logo_inverted.svg" | ||
| src="data:image/svg+xml;base64,{{.Logo}}" | ||
| /> | ||
@@ -277,0 +277,0 @@ </div> |
| package auth | ||
| import ( | ||
| "embed" | ||
| _ "embed" | ||
| "encoding/json" | ||
@@ -14,3 +14,2 @@ "errors" | ||
| "os/exec" | ||
| "path" | ||
| "runtime" | ||
@@ -21,2 +20,3 @@ "strconv" | ||
| "github.com/stackitcloud/stackit-cli/internal/pkg/utils" | ||
| "golang.org/x/oauth2" | ||
@@ -31,6 +31,3 @@ | ||
| loginSuccessPath = "/login-successful" | ||
| stackitLandingPage = "https://www.stackit.de" | ||
| htmlTemplatesPath = "templates" | ||
| loginSuccessfulHTMLFile = "login-successful.html" | ||
| loginSuccessPath = "/login-successful" | ||
@@ -43,7 +40,11 @@ // The IDP doesn't support wildcards for the port, | ||
| //go:embed templates/* | ||
| var htmlContent embed.FS | ||
| //go:embed templates/login-successful.html | ||
| var htmlTemplateContent string | ||
| type User struct { | ||
| //go:embed templates/stackit_nav_logo_light.svg | ||
| var logoSvgContent []byte | ||
| type InputValues struct { | ||
| Email string | ||
| Logo string | ||
| } | ||
@@ -222,4 +223,5 @@ | ||
| user := User{ | ||
| input := InputValues{ | ||
| Email: email, | ||
| Logo: utils.Base64Encode(logoSvgContent), | ||
| } | ||
@@ -229,3 +231,3 @@ | ||
| // See: https://github.com/golang/go/issues/44305#issuecomment-780111748 | ||
| htmlTemplate, err := template.ParseFS(htmlContent, path.Join(htmlTemplatesPath, loginSuccessfulHTMLFile)) | ||
| htmlTemplate, err := template.New("loginSuccess").Parse(htmlTemplateContent) | ||
| if err != nil { | ||
@@ -235,3 +237,3 @@ errServer = fmt.Errorf("parse html file: %w", err) | ||
| err = htmlTemplate.Execute(w, user) | ||
| err = htmlTemplate.Execute(w, input) | ||
| if err != nil { | ||
@@ -238,0 +240,0 @@ errServer = fmt.Errorf("render page: %w", err) |
@@ -130,2 +130,3 @@ package config | ||
| viper.SetConfigFile(configFilePath) | ||
| viper.SetConfigType(configFileExtension) | ||
@@ -132,0 +133,0 @@ f, err := os.Open(configFilePath) |
@@ -30,4 +30,3 @@ package client | ||
| } else { | ||
| region := viper.GetString(config.RegionKey) | ||
| cfgOptions = append(cfgOptions, authCfgOption, sdkConfig.WithRegion(region)) | ||
| cfgOptions = append(cfgOptions, authCfgOption) | ||
| } | ||
@@ -34,0 +33,0 @@ |
@@ -22,2 +22,3 @@ package utils | ||
| const ( | ||
| testRegion = "eu02" | ||
| testCredentialsRef = "credentials-ref" | ||
@@ -37,3 +38,3 @@ testCredentialsDisplayName = "credentials-name" | ||
| func (m *loadBalancerClientMocked) GetCredentialsExecute(_ context.Context, _, _ string) (*loadbalancer.GetCredentialsResponse, error) { | ||
| func (m *loadBalancerClientMocked) GetCredentialsExecute(_ context.Context, _, _, _ string) (*loadbalancer.GetCredentialsResponse, error) { | ||
| if m.getCredentialsFails { | ||
@@ -45,3 +46,3 @@ return nil, fmt.Errorf("could not get credentials") | ||
| func (m *loadBalancerClientMocked) GetLoadBalancerExecute(_ context.Context, _, _ string) (*loadbalancer.LoadBalancer, error) { | ||
| func (m *loadBalancerClientMocked) GetLoadBalancerExecute(_ context.Context, _, _, _ string) (*loadbalancer.LoadBalancer, error) { | ||
| if m.getLoadBalancerFails { | ||
@@ -53,3 +54,3 @@ return nil, fmt.Errorf("could not get load balancer") | ||
| func (m *loadBalancerClientMocked) ListLoadBalancersExecute(_ context.Context, _ string) (*loadbalancer.ListLoadBalancersResponse, error) { | ||
| func (m *loadBalancerClientMocked) ListLoadBalancersExecute(_ context.Context, _, _ string) (*loadbalancer.ListLoadBalancersResponse, error) { | ||
| if m.listLoadBalancersFails { | ||
@@ -61,3 +62,3 @@ return nil, fmt.Errorf("could not list load balancers") | ||
| func (m *loadBalancerClientMocked) UpdateTargetPool(_ context.Context, _, _, _ string) loadbalancer.ApiUpdateTargetPoolRequest { | ||
| func (m *loadBalancerClientMocked) UpdateTargetPool(_ context.Context, _, _, _, _ string) loadbalancer.ApiUpdateTargetPoolRequest { | ||
| return loadbalancer.ApiUpdateTargetPoolRequest{} | ||
@@ -198,3 +199,3 @@ } | ||
| output, err := GetCredentialsDisplayName(context.Background(), client, testProjectId, testCredentialsRef) | ||
| output, err := GetCredentialsDisplayName(context.Background(), client, testProjectId, testRegion, testCredentialsRef) | ||
@@ -279,3 +280,3 @@ if tt.isValid && err != nil { | ||
| output, err := GetLoadBalancerTargetPool(context.Background(), client, testProjectId, testLoadBalancerName, tt.targetPoolName) | ||
| output, err := GetLoadBalancerTargetPool(context.Background(), client, testProjectId, testRegion, testLoadBalancerName, tt.targetPoolName) | ||
@@ -834,3 +835,3 @@ if tt.isValid && err != nil { | ||
| output, err := GetTargetName(context.Background(), client, testProjectId, testLoadBalancerName, tt.targetPoolName, tt.targetIp) | ||
| output, err := GetTargetName(context.Background(), client, testProjectId, testRegion, testLoadBalancerName, tt.targetPoolName, tt.targetIp) | ||
@@ -973,3 +974,3 @@ if tt.isValid && err != nil { | ||
| output, err := GetUsedObsCredentials(testCtx, client, tt.allCredentials, testProjectId) | ||
| output, err := GetUsedObsCredentials(testCtx, client, tt.allCredentials, testProjectId, testRegion) | ||
@@ -1151,3 +1152,3 @@ if tt.isValid && err != nil { | ||
| } | ||
| filteredCredentials, err := FilterCredentials(testCtx, client, tt.allCredentials, testProjectId, tt.filterOp) | ||
| filteredCredentials, err := FilterCredentials(testCtx, client, tt.allCredentials, testProjectId, testRegion, tt.filterOp) | ||
| if err != nil { | ||
@@ -1154,0 +1155,0 @@ if !tt.isValid { |
@@ -18,11 +18,16 @@ package utils | ||
| // enforce implementation of interfaces | ||
| var ( | ||
| _ LoadBalancerClient = &loadbalancer.APIClient{} | ||
| ) | ||
| type LoadBalancerClient interface { | ||
| GetCredentialsExecute(ctx context.Context, projectId, credentialsRef string) (*loadbalancer.GetCredentialsResponse, error) | ||
| GetLoadBalancerExecute(ctx context.Context, projectId, name string) (*loadbalancer.LoadBalancer, error) | ||
| UpdateTargetPool(ctx context.Context, projectId, loadBalancerName, targetPoolName string) loadbalancer.ApiUpdateTargetPoolRequest | ||
| ListLoadBalancersExecute(ctx context.Context, projectId string) (*loadbalancer.ListLoadBalancersResponse, error) | ||
| GetCredentialsExecute(ctx context.Context, projectId, region, credentialsRef string) (*loadbalancer.GetCredentialsResponse, error) | ||
| GetLoadBalancerExecute(ctx context.Context, projectId, region, name string) (*loadbalancer.LoadBalancer, error) | ||
| UpdateTargetPool(ctx context.Context, projectId, region, loadBalancerName, targetPoolName string) loadbalancer.ApiUpdateTargetPoolRequest | ||
| ListLoadBalancersExecute(ctx context.Context, projectId, region string) (*loadbalancer.ListLoadBalancersResponse, error) | ||
| } | ||
| func GetCredentialsDisplayName(ctx context.Context, apiClient LoadBalancerClient, projectId, credentialsRef string) (string, error) { | ||
| resp, err := apiClient.GetCredentialsExecute(ctx, projectId, credentialsRef) | ||
| func GetCredentialsDisplayName(ctx context.Context, apiClient LoadBalancerClient, projectId, region, credentialsRef string) (string, error) { | ||
| resp, err := apiClient.GetCredentialsExecute(ctx, projectId, region, credentialsRef) | ||
| if err != nil { | ||
@@ -34,4 +39,4 @@ return "", fmt.Errorf("get Load Balancer credentials: %w", err) | ||
| func GetLoadBalancerTargetPool(ctx context.Context, apiClient LoadBalancerClient, projectId, loadBalancerName, targetPoolName string) (*loadbalancer.TargetPool, error) { | ||
| resp, err := apiClient.GetLoadBalancerExecute(ctx, projectId, loadBalancerName) | ||
| func GetLoadBalancerTargetPool(ctx context.Context, apiClient LoadBalancerClient, projectId, region, loadBalancerName, targetPoolName string) (*loadbalancer.TargetPool, error) { | ||
| resp, err := apiClient.GetLoadBalancerExecute(ctx, projectId, region, loadBalancerName) | ||
| if err != nil { | ||
@@ -126,4 +131,4 @@ return nil, fmt.Errorf("get load balancer: %w", err) | ||
| func GetTargetName(ctx context.Context, apiClient LoadBalancerClient, projectId, loadBalancerName, targetPoolName, targetIp string) (string, error) { | ||
| targetPool, err := GetLoadBalancerTargetPool(ctx, apiClient, projectId, loadBalancerName, targetPoolName) | ||
| func GetTargetName(ctx context.Context, apiClient LoadBalancerClient, projectId, region, loadBalancerName, targetPoolName, targetIp string) (string, error) { | ||
| targetPool, err := GetLoadBalancerTargetPool(ctx, apiClient, projectId, region, loadBalancerName, targetPoolName) | ||
| if err != nil { | ||
@@ -148,6 +153,6 @@ return "", fmt.Errorf("get target pool: %w", err) | ||
| // It goes through all load balancers and checks what observability credentials are being used, then returns a list of those credentials. | ||
| func GetUsedObsCredentials(ctx context.Context, apiClient LoadBalancerClient, allCredentials []loadbalancer.CredentialsResponse, projectId string) ([]loadbalancer.CredentialsResponse, error) { | ||
| func GetUsedObsCredentials(ctx context.Context, apiClient LoadBalancerClient, allCredentials []loadbalancer.CredentialsResponse, projectId, region string) ([]loadbalancer.CredentialsResponse, error) { | ||
| var usedCredentialsSlice []loadbalancer.CredentialsResponse | ||
| loadBalancers, err := apiClient.ListLoadBalancersExecute(ctx, projectId) | ||
| loadBalancers, err := apiClient.ListLoadBalancersExecute(ctx, projectId, region) | ||
| if err != nil { | ||
@@ -225,3 +230,3 @@ return nil, fmt.Errorf("list load balancers: %w", err) | ||
| // If both used and unused are false, it returns the original list of credentials. | ||
| func FilterCredentials(ctx context.Context, client LoadBalancerClient, allCredentials []loadbalancer.CredentialsResponse, projectId string, filterOp int) ([]loadbalancer.CredentialsResponse, error) { | ||
| func FilterCredentials(ctx context.Context, client LoadBalancerClient, allCredentials []loadbalancer.CredentialsResponse, projectId, region string, filterOp int) ([]loadbalancer.CredentialsResponse, error) { | ||
| // check that filter OP is valid | ||
@@ -236,3 +241,3 @@ if filterOp != OP_FILTER_USED && filterOp != OP_FILTER_UNUSED && filterOp != OP_FILTER_NOP { | ||
| usedCredentials, err := GetUsedObsCredentials(ctx, client, allCredentials, projectId) | ||
| usedCredentials, err := GetUsedObsCredentials(ctx, client, allCredentials, projectId, region) | ||
| if err != nil { | ||
@@ -239,0 +244,0 @@ return nil, fmt.Errorf("get used observability credentials: %w", err) |
@@ -30,4 +30,3 @@ package client | ||
| } else { | ||
| region := viper.GetString(config.RegionKey) | ||
| cfgOptions = append(cfgOptions, authCfgOption, sdkConfig.WithRegion(region)) | ||
| cfgOptions = append(cfgOptions, authCfgOption) | ||
| } | ||
@@ -34,0 +33,0 @@ |
@@ -18,2 +18,3 @@ package utils | ||
| testProjectId = uuid.NewString() | ||
| testRegion = "eu01" | ||
| ) | ||
@@ -27,3 +28,3 @@ | ||
| func (m *serviceEnableClientMocked) GetServiceStatusExecute(_ context.Context, _, _ string) (*serviceenablement.ServiceStatus, error) { | ||
| func (m *serviceEnableClientMocked) GetServiceStatusRegionalExecute(_ context.Context, _, _, _ string) (*serviceenablement.ServiceStatus, error) { | ||
| if m.getServiceStatusFails { | ||
@@ -92,3 +93,3 @@ return nil, fmt.Errorf("could not get service status") | ||
| output, err := ProjectEnabled(context.Background(), client, testProjectId) | ||
| output, err := ProjectEnabled(context.Background(), client, testRegion, testProjectId) | ||
@@ -95,0 +96,0 @@ if tt.isValid && err != nil { |
@@ -17,7 +17,7 @@ package utils | ||
| type ServiceEnablementClient interface { | ||
| GetServiceStatusExecute(ctx context.Context, projectId string, serviceId string) (*serviceenablement.ServiceStatus, error) | ||
| GetServiceStatusRegionalExecute(ctx context.Context, region, projectId, serviceId string) (*serviceenablement.ServiceStatus, error) | ||
| } | ||
| func ProjectEnabled(ctx context.Context, apiClient ServiceEnablementClient, projectId string) (bool, error) { | ||
| project, err := apiClient.GetServiceStatusExecute(ctx, projectId, SKEServiceId) | ||
| func ProjectEnabled(ctx context.Context, apiClient ServiceEnablementClient, projectId, region string) (bool, error) { | ||
| project, err := apiClient.GetServiceStatusRegionalExecute(ctx, region, projectId, SKEServiceId) | ||
| if err != nil { | ||
@@ -24,0 +24,0 @@ oapiErr, ok := err.(*oapierror.GenericOpenAPIError) //nolint:errorlint //complaining that error.As should be used to catch wrapped errors, but this error should not be wrapped |
@@ -24,4 +24,3 @@ package client | ||
| } | ||
| region := viper.GetString(config.RegionKey) | ||
| cfgOptions = append(cfgOptions, authCfgOption, sdkConfig.WithRegion(region)) | ||
| cfgOptions = append(cfgOptions, authCfgOption) | ||
@@ -28,0 +27,0 @@ customEndpoint := viper.GetString(config.SQLServerFlexCustomEndpointKey) |
| package utils | ||
| import ( | ||
| "encoding/base64" | ||
| "fmt" | ||
@@ -119,1 +120,8 @@ "net/url" | ||
| } | ||
| // Base64Encode encodes a []byte to a base64 representation as string | ||
| func Base64Encode(message []byte) string { | ||
| b := make([]byte, base64.StdEncoding.EncodedLen(len(message))) | ||
| base64.StdEncoding.Encode(b, message) | ||
| return string(b) | ||
| } |
+6
-1
@@ -23,3 +23,4 @@ <div align="center"> | ||
| This CLI is in a BETA state. More services and functionality will be supported soon. | ||
| Your feedback is appreciated! | ||
| Your feedback is appreciated! | ||
| Feel free to open [GitHub issues](https://github.com/stackitcloud/stackit-cli) to provide feature requests and bug reports. | ||
@@ -39,2 +40,6 @@ <a name="warning-new-stackit-idp"></a> | ||
| ## Documentation | ||
| There is some [documentation](./docs/stackit.md) available in the markdown format inside the `docs` directory of the repository. | ||
| ## Usage | ||
@@ -41,0 +46,0 @@ |