Skip to content

Commit 2859cb3

Browse files
committed
create commands
1 parent f10aa3b commit 2859cb3

40 files changed

Lines changed: 537 additions & 543 deletions

File tree

internal/cmd/affinity-groups/create/create.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,11 +88,11 @@ func configureFlags(cmd *cobra.Command) {
8888
}
8989

9090
func buildRequest(ctx context.Context, model inputModel, apiClient *iaas.APIClient) iaas.ApiCreateAffinityGroupRequest {
91-
req := apiClient.CreateAffinityGroup(ctx, model.ProjectId, model.Region)
91+
req := apiClient.DefaultAPI.CreateAffinityGroup(ctx, model.ProjectId, model.Region)
9292
req = req.CreateAffinityGroupPayload(
9393
iaas.CreateAffinityGroupPayload{
94-
Name: utils.Ptr(model.Name),
95-
Policy: utils.Ptr(model.Policy),
94+
Name: model.Name,
95+
Policy: model.Policy,
9696
},
9797
)
9898
return req

internal/cmd/affinity-groups/create/create_test.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
6161
}
6262

6363
func fixtureRequest(mods ...func(request *iaas.ApiCreateAffinityGroupRequest)) iaas.ApiCreateAffinityGroupRequest {
64-
request := testClient.CreateAffinityGroup(testCtx, testProjectId, testRegion)
64+
request := testClient.DefaultAPI.CreateAffinityGroup(testCtx, testProjectId, testRegion)
6565
request = request.CreateAffinityGroupPayload(fixturePayload())
6666
for _, mod := range mods {
6767
mod(&request)
@@ -71,8 +71,8 @@ func fixtureRequest(mods ...func(request *iaas.ApiCreateAffinityGroupRequest)) i
7171

7272
func fixturePayload(mods ...func(payload *iaas.CreateAffinityGroupPayload)) iaas.CreateAffinityGroupPayload {
7373
payload := iaas.CreateAffinityGroupPayload{
74-
Name: utils.Ptr(testName),
75-
Policy: utils.Ptr(testPolicy),
74+
Name: testName,
75+
Policy: testPolicy,
7676
}
7777
for _, mod := range mods {
7878
mod(&payload)
@@ -147,7 +147,7 @@ func TestBuildRequest(t *testing.T) {
147147
request := buildRequest(testCtx, tt.model, testClient)
148148
diff := cmp.Diff(request, tt.expectedRequest,
149149
cmp.AllowUnexported(tt.expectedRequest),
150-
cmpopts.EquateComparable(testCtx))
150+
cmpopts.EquateComparable(testCtx, iaas.DefaultAPIService{}))
151151
if diff != "" {
152152
t.Fatalf("Request does not match: %s", diff)
153153
}
@@ -173,9 +173,9 @@ func TestOutputResult(t *testing.T) {
173173
model: *fixtureInputModel(),
174174
response: iaas.AffinityGroup{
175175
Id: utils.Ptr(testProjectId),
176-
Members: utils.Ptr([]string{uuid.NewString(), uuid.NewString()}),
177-
Name: utils.Ptr("test-project"),
178-
Policy: utils.Ptr("hard-affinity"),
176+
Members: []string{uuid.NewString(), uuid.NewString()},
177+
Name: "test-project",
178+
Policy: "hard-affinity",
179179
},
180180
isValid: true,
181181
},

internal/cmd/image/create/create.go

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -72,11 +72,11 @@ type imageConfig struct {
7272
type inputModel struct {
7373
*globalflags.GlobalFlagModel
7474

75-
Id *string
75+
Id string
7676
Name string
7777
DiskFormat string
7878
LocalFilePath string
79-
Labels *map[string]string
79+
Labels map[string]any
8080
Config *imageConfig
8181
MinDiskSize *int64
8282
MinRam *int64
@@ -146,7 +146,7 @@ func NewCmd(params *types.CmdParams) *cobra.Command {
146146
if !ok {
147147
return fmt.Errorf("create image: no upload URL has been provided")
148148
}
149-
if err := uploadAsync(ctx, params.Printer, model, file, url); err != nil {
149+
if err := uploadAsync(ctx, params.Printer, model, file, *url); err != nil {
150150
return err
151151
}
152152

@@ -304,7 +304,7 @@ func parseInput(p *print.Printer, cmd *cobra.Command, _ []string) (*inputModel,
304304
Name: name,
305305
DiskFormat: flags.FlagToStringValue(p, cmd, diskFormatFlag),
306306
LocalFilePath: flags.FlagToStringValue(p, cmd, localFilePathFlag),
307-
Labels: flags.FlagToStringToStringPointer(p, cmd, labelsFlag),
307+
Labels: flags.FlagToStringToAny(p, cmd, labelsFlag),
308308
NoProgressIndicator: flags.FlagToBoolPointer(p, cmd, noProgressIndicatorFlag),
309309
Config: &imageConfig{
310310
Architecture: flags.FlagToStringPointer(p, cmd, architectureFlag),
@@ -332,16 +332,16 @@ func parseInput(p *print.Printer, cmd *cobra.Command, _ []string) (*inputModel,
332332
}
333333

334334
func buildRequest(ctx context.Context, model *inputModel, apiClient *iaas.APIClient) iaas.ApiCreateImageRequest {
335-
request := apiClient.CreateImage(ctx, model.ProjectId, model.Region).
335+
request := apiClient.DefaultAPI.CreateImage(ctx, model.ProjectId, model.Region).
336336
CreateImagePayload(createPayload(ctx, model))
337337
return request
338338
}
339339

340340
func createPayload(_ context.Context, model *inputModel) iaas.CreateImagePayload {
341341
payload := iaas.CreateImagePayload{
342-
DiskFormat: &model.DiskFormat,
343-
Name: &model.Name,
344-
Labels: utils.ConvertStringMapToInterfaceMap(model.Labels),
342+
DiskFormat: model.DiskFormat,
343+
Name: model.Name,
344+
Labels: model.Labels,
345345
MinDiskSize: model.MinDiskSize,
346346
MinRam: model.MinRam,
347347
Protected: model.Protected,
@@ -356,34 +356,34 @@ func createPayload(_ context.Context, model *inputModel) iaas.CreateImagePayload
356356
payload.Config.BootMenu = model.Config.BootMenu
357357
}
358358
if config.CdromBus != nil {
359-
payload.Config.CdromBus = iaas.NewNullableString(model.Config.CdromBus)
359+
payload.Config.CdromBus = *iaas.NewNullableString(model.Config.CdromBus)
360360
}
361361
if config.DiskBus != nil {
362-
payload.Config.DiskBus = iaas.NewNullableString(config.DiskBus)
362+
payload.Config.DiskBus = *iaas.NewNullableString(config.DiskBus)
363363
}
364364
if config.NicModel != nil {
365-
payload.Config.NicModel = iaas.NewNullableString(config.NicModel)
365+
payload.Config.NicModel = *iaas.NewNullableString(config.NicModel)
366366
}
367367
if config.OperatingSystem != nil {
368368
payload.Config.OperatingSystem = config.OperatingSystem
369369
}
370370
if config.OperatingSystemDistro != nil {
371-
payload.Config.OperatingSystemDistro = iaas.NewNullableString(config.OperatingSystemDistro)
371+
payload.Config.OperatingSystemDistro = *iaas.NewNullableString(config.OperatingSystemDistro)
372372
}
373373
if config.OperatingSystemVersion != nil {
374-
payload.Config.OperatingSystemVersion = iaas.NewNullableString(config.OperatingSystemVersion)
374+
payload.Config.OperatingSystemVersion = *iaas.NewNullableString(config.OperatingSystemVersion)
375375
}
376376
if config.RescueBus != nil {
377-
payload.Config.RescueBus = iaas.NewNullableString(config.RescueBus)
377+
payload.Config.RescueBus = *iaas.NewNullableString(config.RescueBus)
378378
}
379379
if config.RescueDevice != nil {
380-
payload.Config.RescueDevice = iaas.NewNullableString(config.RescueDevice)
380+
payload.Config.RescueDevice = *iaas.NewNullableString(config.RescueDevice)
381381
}
382382
if config.SecureBoot != nil {
383383
payload.Config.SecureBoot = config.SecureBoot
384384
}
385385
if config.VideoModel != nil {
386-
payload.Config.VideoModel = iaas.NewNullableString(config.VideoModel)
386+
payload.Config.VideoModel = *iaas.NewNullableString(config.VideoModel)
387387
}
388388
if config.VirtioScsi != nil {
389389
payload.Config.VirtioScsi = config.VirtioScsi
@@ -403,7 +403,7 @@ func outputResult(p *print.Printer, model *inputModel, resp *iaas.ImageCreateRes
403403
}
404404

405405
return p.OutputResult(outputFormat, resp, func() error {
406-
p.Outputf("Created image %q with id %s\n", model.Name, utils.PtrString(model.Id))
406+
p.Outputf("Created image %q with id %s\n", model.Name, model.Id)
407407
return nil
408408
})
409409
}

internal/cmd/image/create/create_test.go

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,8 @@ func fixtureFlagValues(mods ...func(flagValues map[string]string)) map[string]st
8484
return flagValues
8585
}
8686

87-
func parseLabels(labelstring string) map[string]string {
88-
labels := map[string]string{}
87+
func parseLabels(labelstring string) map[string]any {
88+
labels := map[string]any{}
8989
for _, part := range strings.Split(labelstring, ",") {
9090
v := strings.Split(part, "=")
9191
labels[v[0]] = v[1]
@@ -104,7 +104,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
104104
Name: testName,
105105
DiskFormat: testDiskFormat,
106106
LocalFilePath: testLocalImagePath,
107-
Labels: utils.Ptr(parseLabels(testLabels)),
107+
Labels: parseLabels(testLabels),
108108
Config: &imageConfig{
109109
Architecture: utils.Ptr(testArchitecture),
110110
BootMenu: utils.Ptr(testBootmenu),
@@ -136,28 +136,28 @@ func fixtureCreatePayload(mods ...func(payload *iaas.CreateImagePayload)) (paylo
136136
Config: &iaas.ImageConfig{
137137
Architecture: utils.Ptr(testArchitecture),
138138
BootMenu: utils.Ptr(testBootmenu),
139-
CdromBus: iaas.NewNullableString(utils.Ptr(testCdRomBus)),
140-
DiskBus: iaas.NewNullableString(utils.Ptr(testDiskBus)),
141-
NicModel: iaas.NewNullableString(utils.Ptr(testNicModel)),
139+
CdromBus: *iaas.NewNullableString(utils.Ptr(testCdRomBus)),
140+
DiskBus: *iaas.NewNullableString(utils.Ptr(testDiskBus)),
141+
NicModel: *iaas.NewNullableString(utils.Ptr(testNicModel)),
142142
OperatingSystem: utils.Ptr(testOperatingSystem),
143-
OperatingSystemDistro: iaas.NewNullableString(utils.Ptr(testOperatingSystemDistro)),
144-
OperatingSystemVersion: iaas.NewNullableString(utils.Ptr(testOperatingSystemVersion)),
145-
RescueBus: iaas.NewNullableString(utils.Ptr(testRescueBus)),
146-
RescueDevice: iaas.NewNullableString(utils.Ptr(testRescueDevice)),
143+
OperatingSystemDistro: *iaas.NewNullableString(utils.Ptr(testOperatingSystemDistro)),
144+
OperatingSystemVersion: *iaas.NewNullableString(utils.Ptr(testOperatingSystemVersion)),
145+
RescueBus: *iaas.NewNullableString(utils.Ptr(testRescueBus)),
146+
RescueDevice: *iaas.NewNullableString(utils.Ptr(testRescueDevice)),
147147
SecureBoot: utils.Ptr(testSecureBoot),
148148
Uefi: utils.Ptr(testUefi),
149-
VideoModel: iaas.NewNullableString(utils.Ptr(testVideoModel)),
149+
VideoModel: *iaas.NewNullableString(utils.Ptr(testVideoModel)),
150150
VirtioScsi: utils.Ptr(testVirtioScsi),
151151
},
152-
DiskFormat: utils.Ptr(testDiskFormat),
153-
Labels: &map[string]interface{}{
152+
DiskFormat: testDiskFormat,
153+
Labels: map[string]any{
154154
"foo": "FOO",
155155
"bar": "BAR",
156156
"baz": "BAZ",
157157
},
158158
MinDiskSize: utils.Ptr(testDiskSize),
159159
MinRam: utils.Ptr(testRamSize),
160-
Name: utils.Ptr(testName),
160+
Name: testName,
161161
Protected: utils.Ptr(testProtected),
162162
}
163163
for _, mod := range mods {
@@ -167,7 +167,7 @@ func fixtureCreatePayload(mods ...func(payload *iaas.CreateImagePayload)) (paylo
167167
}
168168

169169
func fixtureRequest(mods ...func(request *iaas.ApiCreateImageRequest)) iaas.ApiCreateImageRequest {
170-
request := testClient.CreateImage(testCtx, testProjectId, testRegion)
170+
request := testClient.DefaultAPI.CreateImage(testCtx, testProjectId, testRegion)
171171

172172
request = request.CreateImagePayload(fixtureCreatePayload())
173173

@@ -241,7 +241,7 @@ func TestParseInput(t *testing.T) {
241241
}),
242242
isValid: true,
243243
expectedModel: fixtureInputModel(func(model *inputModel) {
244-
model.Labels = &map[string]string{
244+
model.Labels = map[string]any{
245245
"foo": "bar",
246246
}
247247
}),
@@ -320,7 +320,7 @@ func TestBuildRequest(t *testing.T) {
320320
}),
321321
expectedRequest: fixtureRequest(func(request *iaas.ApiCreateImageRequest) {
322322
*request = (*request).CreateImagePayload(fixtureCreatePayload(func(payload *iaas.CreateImagePayload) {
323-
payload.Config.CdromBus = iaas.NewNullableString(utils.Ptr("foobar"))
323+
payload.Config.CdromBus = *iaas.NewNullableString(utils.Ptr("foobar"))
324324
}))
325325
}),
326326
},
@@ -342,7 +342,7 @@ func TestBuildRequest(t *testing.T) {
342342
request := buildRequest(testCtx, tt.model, testClient)
343343
diff := cmp.Diff(request, tt.expectedRequest,
344344
cmp.AllowUnexported(tt.expectedRequest),
345-
cmpopts.EquateComparable(testCtx),
345+
cmpopts.EquateComparable(testCtx, iaas.DefaultAPIService{}),
346346
cmp.AllowUnexported(iaas.NullableString{}),
347347
)
348348
if diff != "" {

internal/cmd/key-pair/create/create.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ const (
2626
type inputModel struct {
2727
*globalflags.GlobalFlagModel
2828
Name *string
29-
PublicKey *string
30-
Labels *map[string]string
29+
PublicKey string
30+
Labels map[string]any
3131
}
3232

3333
func NewCmd(params *types.CmdParams) *cobra.Command {
@@ -101,21 +101,21 @@ func parseInput(p *print.Printer, cmd *cobra.Command, _ []string) (*inputModel,
101101

102102
model := inputModel{
103103
GlobalFlagModel: globalFlags,
104-
Labels: flags.FlagToStringToStringPointer(p, cmd, labelFlag),
104+
Labels: flags.FlagToStringToAny(p, cmd, labelFlag),
105105
Name: flags.FlagToStringPointer(p, cmd, nameFlag),
106-
PublicKey: flags.FlagToStringPointer(p, cmd, publicKeyFlag),
106+
PublicKey: flags.FlagToStringValue(p, cmd, publicKeyFlag),
107107
}
108108

109109
p.DebugInputModel(model)
110110
return &model, nil
111111
}
112112

113113
func buildRequest(ctx context.Context, model *inputModel, apiClient *iaas.APIClient) iaas.ApiCreateKeyPairRequest {
114-
req := apiClient.CreateKeyPair(ctx)
114+
req := apiClient.DefaultAPI.CreateKeyPair(ctx)
115115

116116
payload := iaas.CreateKeyPairPayload{
117117
Name: model.Name,
118-
Labels: utils.ConvertStringMapToInterfaceMap(model.Labels),
118+
Labels: model.Labels,
119119
PublicKey: model.PublicKey,
120120
}
121121

internal/cmd/key-pair/create/create_test.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,10 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
4040
GlobalFlagModel: &globalflags.GlobalFlagModel{
4141
Verbosity: globalflags.VerbosityDefault,
4242
},
43-
Labels: utils.Ptr(map[string]string{
43+
Labels: map[string]any{
4444
"foo": "bar",
45-
}),
46-
PublicKey: utils.Ptr(testPublicKey),
45+
},
46+
PublicKey: testPublicKey,
4747
Name: utils.Ptr(testKeyPairName),
4848
}
4949
for _, mod := range mods {
@@ -53,7 +53,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
5353
}
5454

5555
func fixtureRequest(mods ...func(request *iaas.ApiCreateKeyPairRequest)) iaas.ApiCreateKeyPairRequest {
56-
request := testClient.CreateKeyPair(testCtx)
56+
request := testClient.DefaultAPI.CreateKeyPair(testCtx)
5757
request = request.CreateKeyPairPayload(fixturePayload())
5858
for _, mod := range mods {
5959
mod(&request)
@@ -63,10 +63,10 @@ func fixtureRequest(mods ...func(request *iaas.ApiCreateKeyPairRequest)) iaas.Ap
6363

6464
func fixturePayload(mods ...func(payload *iaas.CreateKeyPairPayload)) iaas.CreateKeyPairPayload {
6565
payload := iaas.CreateKeyPairPayload{
66-
Labels: utils.Ptr(map[string]interface{}{
66+
Labels: map[string]any{
6767
"foo": "bar",
68-
}),
69-
PublicKey: utils.Ptr(testPublicKey),
68+
},
69+
PublicKey: testPublicKey,
7070
Name: utils.Ptr(testKeyPairName),
7171
}
7272
for _, mod := range mods {
@@ -112,7 +112,7 @@ func TestParseInput(t *testing.T) {
112112
if err != nil {
113113
t.Fatal("could not create expected Model", err)
114114
}
115-
model.PublicKey = utils.Ptr(string(file))
115+
model.PublicKey = string(file)
116116
}),
117117
},
118118
{
@@ -148,7 +148,7 @@ func TestBuildRequest(t *testing.T) {
148148

149149
diff := cmp.Diff(request, tt.expectedRequest,
150150
cmp.AllowUnexported(tt.expectedRequest),
151-
cmpopts.EquateComparable(testCtx),
151+
cmpopts.EquateComparable(testCtx, iaas.DefaultAPIService{}),
152152
cmp.AllowUnexported(iaas.NullableString{}),
153153
)
154154
if diff != "" {

0 commit comments

Comments
 (0)