From ba96157946f0fe0dd3404c619c62f1b90607bf85 Mon Sep 17 00:00:00 2001 From: Kazumichi Yamamoto Date: Fri, 5 Apr 2024 13:48:58 +0900 Subject: [PATCH] Feature: added EncryptionAlgorithm field to Disk (#140) --- disk/apply_request.go | 54 +++++++------- disk/apply_test.go | 94 +++++++++++++----------- disk/builder/builder.go | 155 +++++++++++++++++++++------------------ disk/builder/director.go | 132 +++++++++++++++++---------------- disk/create_request.go | 58 ++++++++------- disk/create_test.go | 26 ++++--- go.mod | 8 +- go.sum | 20 ++--- 8 files changed, 287 insertions(+), 260 deletions(-) diff --git a/disk/apply_request.go b/disk/apply_request.go index 1c44a9d..c41f5d6 100644 --- a/disk/apply_request.go +++ b/disk/apply_request.go @@ -27,17 +27,18 @@ type ApplyRequest struct { Zone string `service:"-" validate:"required"` ID types.ID `service:"-"` // TODO Builderを更新対応させる(変更できない値の場合はエラーにするとか) - Name string `validate:"required"` - Description string `validate:"min=0,max=512"` - Tags types.Tags - IconID types.ID - DiskPlanID types.ID - Connection types.EDiskConnection - SourceDiskID types.ID - SourceArchiveID types.ID - ServerID types.ID - SizeGB int - DistantFrom []types.ID + Name string `validate:"required"` + Description string `validate:"min=0,max=512"` + Tags types.Tags + IconID types.ID + DiskPlanID types.ID + Connection types.EDiskConnection + EncryptionAlgorithm types.EDiskEncryptionAlgorithm + SourceDiskID types.ID + SourceArchiveID types.ID + ServerID types.ID + SizeGB int + DistantFrom []types.ID OSType ostype.ArchiveOSType EditParameter *EditParameter @@ -84,21 +85,22 @@ func (req *ApplyRequest) Builder(caller iaas.APICaller) (disk.Builder, error) { } director := &disk.Director{ - OSType: req.OSType, - Name: req.Name, - SizeGB: req.SizeGB, - DistantFrom: req.DistantFrom, - PlanID: req.DiskPlanID, - Connection: req.Connection, - Description: req.Description, - Tags: req.Tags, - IconID: req.IconID, - DiskID: req.ID, - SourceDiskID: req.SourceDiskID, - SourceArchiveID: req.SourceArchiveID, - EditParameter: editParameter, - NoWait: req.NoWait, - Client: disk.NewBuildersAPIClient(caller), + OSType: req.OSType, + Name: req.Name, + SizeGB: req.SizeGB, + DistantFrom: req.DistantFrom, + PlanID: req.DiskPlanID, + Connection: req.Connection, + EncryptionAlgorithm: req.EncryptionAlgorithm, + Description: req.Description, + Tags: req.Tags, + IconID: req.IconID, + DiskID: req.ID, + SourceDiskID: req.SourceDiskID, + SourceArchiveID: req.SourceArchiveID, + EditParameter: editParameter, + NoWait: req.NoWait, + Client: disk.NewBuildersAPIClient(caller), } return director.Builder(), nil } diff --git a/disk/apply_test.go b/disk/apply_test.go index 7077755..ab3d99f 100644 --- a/disk/apply_test.go +++ b/disk/apply_test.go @@ -34,41 +34,44 @@ func TestDiskService_convertApplyRequest(t *testing.T) { // blank { in: &ApplyRequest{ - Zone: "is1a", - Name: "test", - Description: "description", - Tags: types.Tags{"tag1", "tag2"}, - IconID: types.ID(1), - ServerID: types.ID(2), - DiskPlanID: types.DiskPlans.SSD, - Connection: types.DiskConnections.VirtIO, - SizeGB: 20, - DistantFrom: nil, - OSType: 0, - EditParameter: nil, - NoWait: true, + Zone: "is1a", + Name: "test", + Description: "description", + Tags: types.Tags{"tag1", "tag2"}, + IconID: types.ID(1), + ServerID: types.ID(2), + DiskPlanID: types.DiskPlans.SSD, + Connection: types.DiskConnections.VirtIO, + EncryptionAlgorithm: types.DiskEncryptionAlgorithms.AES256XTS, + SizeGB: 20, + DistantFrom: nil, + OSType: 0, + EditParameter: nil, + NoWait: true, }, expect: &disk.BlankBuilder{ - Name: "test", - Description: "description", - Tags: types.Tags{"tag1", "tag2"}, - IconID: types.ID(1), - SizeGB: 20, - PlanID: types.DiskPlans.SSD, - Connection: types.DiskConnections.VirtIO, - Client: disk.NewBuildersAPIClient(caller), - NoWait: true, + Name: "test", + Description: "description", + Tags: types.Tags{"tag1", "tag2"}, + IconID: types.ID(1), + SizeGB: 20, + PlanID: types.DiskPlans.SSD, + Connection: types.DiskConnections.VirtIO, + EncryptionAlgorithm: types.DiskEncryptionAlgorithms.AES256XTS, + Client: disk.NewBuildersAPIClient(caller), + NoWait: true, }, }, // linux { in: &ApplyRequest{ - Zone: "is1a", - Name: "test", - DiskPlanID: types.DiskPlans.SSD, - Connection: types.DiskConnections.VirtIO, - SizeGB: 20, - OSType: ostype.Ubuntu, + Zone: "is1a", + Name: "test", + DiskPlanID: types.DiskPlans.SSD, + Connection: types.DiskConnections.VirtIO, + EncryptionAlgorithm: types.DiskEncryptionAlgorithms.AES256XTS, + SizeGB: 20, + OSType: ostype.Ubuntu, EditParameter: &EditParameter{ HostName: "hostname", Password: "password", @@ -76,11 +79,12 @@ func TestDiskService_convertApplyRequest(t *testing.T) { NoWait: true, }, expect: &disk.FromUnixBuilder{ - OSType: ostype.Ubuntu, - Name: "test", - SizeGB: 20, - PlanID: types.DiskPlans.SSD, - Connection: types.DiskConnections.VirtIO, + OSType: ostype.Ubuntu, + Name: "test", + SizeGB: 20, + PlanID: types.DiskPlans.SSD, + Connection: types.DiskConnections.VirtIO, + EncryptionAlgorithm: types.DiskEncryptionAlgorithms.AES256XTS, EditParameter: &disk.UnixEditRequest{ HostName: "hostname", Password: "password", @@ -93,12 +97,13 @@ func TestDiskService_convertApplyRequest(t *testing.T) { // source disk { in: &ApplyRequest{ - Zone: "is1a", - Name: "test", - DiskPlanID: types.DiskPlans.SSD, - Connection: types.DiskConnections.VirtIO, - SourceDiskID: types.ID(1), - SizeGB: 20, + Zone: "is1a", + Name: "test", + DiskPlanID: types.DiskPlans.SSD, + Connection: types.DiskConnections.VirtIO, + EncryptionAlgorithm: types.DiskEncryptionAlgorithms.AES256XTS, + SourceDiskID: types.ID(1), + SizeGB: 20, EditParameter: &EditParameter{ HostName: "hostname", Password: "password", @@ -106,11 +111,12 @@ func TestDiskService_convertApplyRequest(t *testing.T) { NoWait: true, }, expect: &disk.FromDiskOrArchiveBuilder{ - Name: "test", - SizeGB: 20, - PlanID: types.DiskPlans.SSD, - Connection: types.DiskConnections.VirtIO, - SourceDiskID: types.ID(1), + Name: "test", + SizeGB: 20, + PlanID: types.DiskPlans.SSD, + Connection: types.DiskConnections.VirtIO, + EncryptionAlgorithm: types.DiskEncryptionAlgorithms.AES256XTS, + SourceDiskID: types.ID(1), EditParameter: &disk.UnixEditRequest{ HostName: "hostname", Password: "password", diff --git a/disk/builder/builder.go b/disk/builder/builder.go index c2c1310..ec8f079 100644 --- a/disk/builder/builder.go +++ b/disk/builder/builder.go @@ -53,14 +53,15 @@ type UpdateResult struct { type FromUnixBuilder struct { OSType ostype.ArchiveOSType - Name string - SizeGB int - DistantFrom []types.ID - PlanID types.ID - Connection types.EDiskConnection - Description string - Tags types.Tags - IconID types.ID + Name string + SizeGB int + DistantFrom []types.ID + PlanID types.ID + Connection types.EDiskConnection + EncryptionAlgorithm types.EDiskEncryptionAlgorithm + Description string + Tags types.Tags + IconID types.ID EditParameter *UnixEditRequest @@ -149,15 +150,16 @@ func (d *FromUnixBuilder) createDiskParameter(ctx context.Context, client *APICl } createReq := &iaas.DiskCreateRequest{ - DiskPlanID: d.PlanID, - SizeMB: d.SizeGB * size.GiB, - Connection: d.Connection, - SourceArchiveID: archive.ID, - ServerID: serverID, - Name: d.Name, - Description: d.Description, - Tags: d.Tags, - IconID: d.IconID, + DiskPlanID: d.PlanID, + SizeMB: d.SizeGB * size.GiB, + Connection: d.Connection, + EncryptionAlgorithm: d.EncryptionAlgorithm, + SourceArchiveID: archive.ID, + ServerID: serverID, + Name: d.Name, + Description: d.Description, + Tags: d.Tags, + IconID: d.IconID, } var editReq *iaas.DiskEditRequest @@ -186,14 +188,15 @@ func (d *FromUnixBuilder) NoWaitFlag() bool { type FromFixedArchiveBuilder struct { OSType ostype.ArchiveOSType - Name string - SizeGB int - DistantFrom []types.ID - PlanID types.ID - Connection types.EDiskConnection - Description string - Tags types.Tags - IconID types.ID + Name string + SizeGB int + DistantFrom []types.ID + PlanID types.ID + Connection types.EDiskConnection + EncryptionAlgorithm types.EDiskEncryptionAlgorithm + Description string + Tags types.Tags + IconID types.ID Client *APIClient NoWait bool @@ -260,15 +263,16 @@ func (d *FromFixedArchiveBuilder) createDiskParameter(ctx context.Context, clien } createReq := &iaas.DiskCreateRequest{ - DiskPlanID: d.PlanID, - SizeMB: d.SizeGB * size.GiB, - Connection: d.Connection, - SourceArchiveID: archive.ID, - ServerID: serverID, - Name: d.Name, - Description: d.Description, - Tags: d.Tags, - IconID: d.IconID, + DiskPlanID: d.PlanID, + SizeMB: d.SizeGB * size.GiB, + Connection: d.Connection, + EncryptionAlgorithm: d.EncryptionAlgorithm, + SourceArchiveID: archive.ID, + ServerID: serverID, + Name: d.Name, + Description: d.Description, + Tags: d.Tags, + IconID: d.IconID, } return createReq, nil, nil } @@ -284,14 +288,15 @@ type FromDiskOrArchiveBuilder struct { SourceDiskID types.ID SourceArchiveID types.ID - Name string - SizeGB int - DistantFrom []types.ID - PlanID types.ID - Connection types.EDiskConnection - Description string - Tags types.Tags - IconID types.ID + Name string + SizeGB int + DistantFrom []types.ID + PlanID types.ID + Connection types.EDiskConnection + EncryptionAlgorithm types.EDiskEncryptionAlgorithm + Description string + Tags types.Tags + IconID types.ID EditParameter *UnixEditRequest @@ -382,16 +387,17 @@ func (d *FromDiskOrArchiveBuilder) updateDiskParameter() *iaas.DiskUpdateRequest func (d *FromDiskOrArchiveBuilder) createDiskParameter(ctx context.Context, client *APIClient, zone string, serverID types.ID) (*iaas.DiskCreateRequest, *iaas.DiskEditRequest, error) { createReq := &iaas.DiskCreateRequest{ - DiskPlanID: d.PlanID, - SizeMB: d.SizeGB * size.GiB, - Connection: d.Connection, - SourceArchiveID: d.SourceArchiveID, - SourceDiskID: d.SourceDiskID, - ServerID: serverID, - Name: d.Name, - Description: d.Description, - Tags: d.Tags, - IconID: d.IconID, + DiskPlanID: d.PlanID, + SizeMB: d.SizeGB * size.GiB, + Connection: d.Connection, + EncryptionAlgorithm: d.EncryptionAlgorithm, + SourceArchiveID: d.SourceArchiveID, + SourceDiskID: d.SourceDiskID, + ServerID: serverID, + Name: d.Name, + Description: d.Description, + Tags: d.Tags, + IconID: d.IconID, } var editReq *iaas.DiskEditRequest @@ -418,14 +424,15 @@ func (d *FromDiskOrArchiveBuilder) NoWaitFlag() bool { // BlankBuilder ブランクディスクを作成する場合のリクエスト type BlankBuilder struct { - Name string - SizeGB int - DistantFrom []types.ID - PlanID types.ID - Connection types.EDiskConnection - Description string - Tags types.Tags - IconID types.ID + Name string + SizeGB int + DistantFrom []types.ID + PlanID types.ID + Connection types.EDiskConnection + EncryptionAlgorithm types.EDiskEncryptionAlgorithm + Description string + Tags types.Tags + IconID types.ID Client *APIClient NoWait bool @@ -477,14 +484,15 @@ func (d *BlankBuilder) updateDiskParameter() *iaas.DiskUpdateRequest { func (d *BlankBuilder) createDiskParameter(ctx context.Context, client *APIClient, zone string, serverID types.ID) (*iaas.DiskCreateRequest, *iaas.DiskEditRequest, error) { createReq := &iaas.DiskCreateRequest{ - DiskPlanID: d.PlanID, - SizeMB: d.SizeGB * size.GiB, - Connection: d.Connection, - ServerID: serverID, - Name: d.Name, - Description: d.Description, - Tags: d.Tags, - IconID: d.IconID, + DiskPlanID: d.PlanID, + SizeMB: d.SizeGB * size.GiB, + Connection: d.Connection, + EncryptionAlgorithm: d.EncryptionAlgorithm, + ServerID: serverID, + Name: d.Name, + Description: d.Description, + Tags: d.Tags, + IconID: d.IconID, } return createReq, nil, nil } @@ -498,11 +506,12 @@ type ConnectedDiskBuilder struct { ID types.ID EditParameter *UnixEditRequest - Name string - Description string - Tags types.Tags - IconID types.ID - Connection types.EDiskConnection + Name string + Description string + Tags types.Tags + IconID types.ID + Connection types.EDiskConnection + EncryptionAlgorithm types.EDiskEncryptionAlgorithm NoWait bool Client *APIClient diff --git a/disk/builder/director.go b/disk/builder/director.go index 7c84b31..9915454 100644 --- a/disk/builder/director.go +++ b/disk/builder/director.go @@ -23,14 +23,15 @@ import ( type Director struct { OSType ostype.ArchiveOSType - Name string - SizeGB int - DistantFrom []types.ID - PlanID types.ID - Connection types.EDiskConnection - Description string - Tags types.Tags - IconID types.ID + Name string + SizeGB int + DistantFrom []types.ID + PlanID types.ID + Connection types.EDiskConnection + EncryptionAlgorithm types.EDiskEncryptionAlgorithm + Description string + Tags types.Tags + IconID types.ID DiskID types.ID SourceDiskID types.ID @@ -49,75 +50,80 @@ func (d *Director) Builder() Builder { switch { case !d.DiskID.IsEmpty(): return &ConnectedDiskBuilder{ - ID: d.DiskID, - Name: d.Name, - Description: d.Description, - Tags: d.Tags, - IconID: d.IconID, - Connection: d.Connection, - EditParameter: d.EditParameter.ToUnixDiskEditRequest(), - NoWait: d.NoWait, - Client: d.Client, + ID: d.DiskID, + Name: d.Name, + Description: d.Description, + Tags: d.Tags, + IconID: d.IconID, + Connection: d.Connection, + EncryptionAlgorithm: d.EncryptionAlgorithm, + EditParameter: d.EditParameter.ToUnixDiskEditRequest(), + NoWait: d.NoWait, + Client: d.Client, } case !d.SourceDiskID.IsEmpty(), !d.SourceArchiveID.IsEmpty(): return &FromDiskOrArchiveBuilder{ - SourceDiskID: d.SourceDiskID, - SourceArchiveID: d.SourceArchiveID, - Name: d.Name, - SizeGB: d.SizeGB, - DistantFrom: d.DistantFrom, - PlanID: d.PlanID, - Connection: d.Connection, - Description: d.Description, - Tags: d.Tags, - IconID: d.IconID, - EditParameter: d.EditParameter.ToUnixDiskEditRequest(), - NoWait: d.NoWait, - Client: d.Client, + SourceDiskID: d.SourceDiskID, + SourceArchiveID: d.SourceArchiveID, + Name: d.Name, + SizeGB: d.SizeGB, + DistantFrom: d.DistantFrom, + PlanID: d.PlanID, + Connection: d.Connection, + EncryptionAlgorithm: d.EncryptionAlgorithm, + Description: d.Description, + Tags: d.Tags, + IconID: d.IconID, + EditParameter: d.EditParameter.ToUnixDiskEditRequest(), + NoWait: d.NoWait, + Client: d.Client, } default: return &BlankBuilder{ - Name: d.Name, - SizeGB: d.SizeGB, - DistantFrom: d.DistantFrom, - PlanID: d.PlanID, - Connection: d.Connection, - Description: d.Description, - Tags: d.Tags, - IconID: d.IconID, - NoWait: d.NoWait, - Client: d.Client, + Name: d.Name, + SizeGB: d.SizeGB, + DistantFrom: d.DistantFrom, + PlanID: d.PlanID, + Connection: d.Connection, + EncryptionAlgorithm: d.EncryptionAlgorithm, + Description: d.Description, + Tags: d.Tags, + IconID: d.IconID, + NoWait: d.NoWait, + Client: d.Client, } } case d.OSType.IsSupportDiskEdit(): return &FromUnixBuilder{ - OSType: d.OSType, - Name: d.Name, - SizeGB: d.SizeGB, - DistantFrom: d.DistantFrom, - PlanID: d.PlanID, - Connection: d.Connection, - Description: d.Description, - Tags: d.Tags, - IconID: d.IconID, - EditParameter: d.EditParameter.ToUnixDiskEditRequest(), - NoWait: d.NoWait, - Client: d.Client, + OSType: d.OSType, + Name: d.Name, + SizeGB: d.SizeGB, + DistantFrom: d.DistantFrom, + PlanID: d.PlanID, + Connection: d.Connection, + EncryptionAlgorithm: d.EncryptionAlgorithm, + Description: d.Description, + Tags: d.Tags, + IconID: d.IconID, + EditParameter: d.EditParameter.ToUnixDiskEditRequest(), + NoWait: d.NoWait, + Client: d.Client, } default: // 現在はOSTypeにディスクの修正不可のアーカイブはないためここには到達しない return &FromFixedArchiveBuilder{ - OSType: d.OSType, - Name: d.Name, - SizeGB: d.SizeGB, - DistantFrom: d.DistantFrom, - PlanID: d.PlanID, - Connection: d.Connection, - Description: d.Description, - Tags: d.Tags, - IconID: d.IconID, - NoWait: d.NoWait, - Client: d.Client, + OSType: d.OSType, + Name: d.Name, + SizeGB: d.SizeGB, + DistantFrom: d.DistantFrom, + PlanID: d.PlanID, + Connection: d.Connection, + EncryptionAlgorithm: d.EncryptionAlgorithm, + Description: d.Description, + Tags: d.Tags, + IconID: d.IconID, + NoWait: d.NoWait, + Client: d.Client, } } } diff --git a/disk/create_request.go b/disk/create_request.go index a857a6f..42634bd 100644 --- a/disk/create_request.go +++ b/disk/create_request.go @@ -26,19 +26,20 @@ import ( type CreateRequest struct { Zone string `service:"-" validate:"required"` - Name string `validate:"required"` - Description string `validate:"min=0,max=512"` - Tags types.Tags - IconID types.ID - DiskPlanID types.ID `validate:"oneof=4 2"` - Connection types.EDiskConnection `validate:"oneof=virtio ide"` - SourceDiskID types.ID - SourceArchiveID types.ID - ServerID types.ID - SizeGB int `service:"SizeMB,filters=gb_to_mb"` - DistantFrom []types.ID - OSType ostype.ArchiveOSType - EditParameter *EditParameter + Name string `validate:"required"` + Description string `validate:"min=0,max=512"` + Tags types.Tags + IconID types.ID + DiskPlanID types.ID `validate:"oneof=4 2"` + Connection types.EDiskConnection `validate:"oneof=virtio ide"` + EncryptionAlgorithm types.EDiskEncryptionAlgorithm + SourceDiskID types.ID + SourceArchiveID types.ID + ServerID types.ID + SizeGB int `service:"SizeMB,filters=gb_to_mb"` + DistantFrom []types.ID + OSType ostype.ArchiveOSType + EditParameter *EditParameter NoWait bool } @@ -54,20 +55,21 @@ func (req *CreateRequest) Validate() error { func (req *CreateRequest) ApplyRequest() *ApplyRequest { return &ApplyRequest{ - Zone: req.Zone, - Name: req.Name, - Description: req.Description, - Tags: req.Tags, - IconID: req.IconID, - DiskPlanID: req.DiskPlanID, - Connection: req.Connection, - SourceDiskID: req.SourceDiskID, - SourceArchiveID: req.SourceArchiveID, - ServerID: req.ServerID, - SizeGB: req.SizeGB, - DistantFrom: req.DistantFrom, - OSType: req.OSType, - EditParameter: req.EditParameter, - NoWait: req.NoWait, + Zone: req.Zone, + Name: req.Name, + Description: req.Description, + Tags: req.Tags, + IconID: req.IconID, + DiskPlanID: req.DiskPlanID, + Connection: req.Connection, + EncryptionAlgorithm: req.EncryptionAlgorithm, + SourceDiskID: req.SourceDiskID, + SourceArchiveID: req.SourceArchiveID, + ServerID: req.ServerID, + SizeGB: req.SizeGB, + DistantFrom: req.DistantFrom, + OSType: req.OSType, + EditParameter: req.EditParameter, + NoWait: req.NoWait, } } diff --git a/disk/create_test.go b/disk/create_test.go index 4d798ba..8d7212d 100644 --- a/disk/create_test.go +++ b/disk/create_test.go @@ -29,12 +29,13 @@ func TestDiskService_convertCreateRequest(t *testing.T) { }{ { in: &CreateRequest{ - Zone: "is1a", - Name: "test", - DiskPlanID: types.DiskPlans.SSD, - Connection: types.DiskConnections.VirtIO, - SizeGB: 20, - OSType: ostype.Ubuntu, + Zone: "is1a", + Name: "test", + DiskPlanID: types.DiskPlans.SSD, + Connection: types.DiskConnections.VirtIO, + EncryptionAlgorithm: types.DiskEncryptionAlgorithms.AES256XTS, + SizeGB: 20, + OSType: ostype.Ubuntu, EditParameter: &EditParameter{ HostName: "hostname", Password: "password", @@ -42,12 +43,13 @@ func TestDiskService_convertCreateRequest(t *testing.T) { NoWait: true, }, expect: &ApplyRequest{ - Zone: "is1a", - Name: "test", - DiskPlanID: types.DiskPlans.SSD, - Connection: types.DiskConnections.VirtIO, - SizeGB: 20, - OSType: ostype.Ubuntu, + Zone: "is1a", + Name: "test", + DiskPlanID: types.DiskPlans.SSD, + Connection: types.DiskConnections.VirtIO, + EncryptionAlgorithm: types.DiskEncryptionAlgorithms.AES256XTS, + SizeGB: 20, + OSType: ostype.Ubuntu, EditParameter: &EditParameter{ HostName: "hostname", Password: "password", diff --git a/go.mod b/go.mod index 717229b..3157811 100644 --- a/go.mod +++ b/go.mod @@ -4,10 +4,10 @@ go 1.21 require ( github.com/sacloud/ftps v1.2.0 - github.com/sacloud/iaas-api-go v1.11.2 + github.com/sacloud/iaas-api-go v1.12.0 github.com/sacloud/packages-go v0.0.10 github.com/stretchr/testify v1.9.0 - golang.org/x/crypto v0.21.0 + golang.org/x/crypto v0.22.0 ) require ( @@ -29,10 +29,10 @@ require ( github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/sacloud/api-client-go v0.2.10 // indirect - github.com/sacloud/go-http v0.1.7 // indirect + github.com/sacloud/go-http v0.1.8 // indirect go.uber.org/ratelimit v0.3.0 // indirect golang.org/x/net v0.21.0 // indirect - golang.org/x/sys v0.18.0 // indirect + golang.org/x/sys v0.19.0 // indirect golang.org/x/text v0.14.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/go.sum b/go.sum index 257ad87..e89d56d 100644 --- a/go.sum +++ b/go.sum @@ -46,10 +46,10 @@ github.com/sacloud/api-client-go v0.2.10 h1:+rv3jDohD+pkdYwOTBiB+jZsM0xK3AxadXRz github.com/sacloud/api-client-go v0.2.10/go.mod h1:Jj3CTy2+O4bcMedVDXlbHuqqche85HEPuVXoQFhLaRc= github.com/sacloud/ftps v1.2.0 h1:7UlSWd7cnm1J+sANz7IiBV9ffVcS+4g6ZV5UHVVbvaw= github.com/sacloud/ftps v1.2.0/go.mod h1:h4awhOi3PEyhKLj1FpXjoVV5yVkmRUU+d5L95EwX2JU= -github.com/sacloud/go-http v0.1.7 h1:oBnoTLTlu4afkRJHIQSV6NJMUfIR1S3rB/SQaGzL/3Q= -github.com/sacloud/go-http v0.1.7/go.mod h1:WV31q5qAUt6Rs7dfqQfGyRprXhf91jS+41FofYHmxUI= -github.com/sacloud/iaas-api-go v1.11.2 h1:2jQLPwGRK/sS9bjvjWFWk2AFToU2Zq2o+6JP5Uvhqu8= -github.com/sacloud/iaas-api-go v1.11.2/go.mod h1:gjiuIY5c/7lj2LmFnVgyHcPMT17PysXpNPBrmVMV8dM= +github.com/sacloud/go-http v0.1.8 h1:ynreWA/vnM8G2ksbMlmefBHsXURKPz49qlPRqQ9IQdw= +github.com/sacloud/go-http v0.1.8/go.mod h1:7TL7TN1fnPKHsMifIqURDkGujnKViCgEz5Ei/LQdFK8= +github.com/sacloud/iaas-api-go v1.12.0 h1:kqXFn3HzCiawlX6hVJb1GVqcSJqcmiGHB4Zp14sxiI8= +github.com/sacloud/iaas-api-go v1.12.0/go.mod h1:SZLXeWOdXk3WReIS557sbU1gkOgrE4rseIBQV1B3b7o= github.com/sacloud/packages-go v0.0.10 h1:UiQGjy8LretewkRhsuna1TBM9Vz/l9FoYpQx+D+AOck= github.com/sacloud/packages-go v0.0.10/go.mod h1:f8QITBh9z4IZc4yE9j21Q8b0sXEMwRlRmhhjWeDVTYs= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -65,14 +65,14 @@ go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/ratelimit v0.3.0 h1:IdZd9wqvFXnvLvSEBo0KPcGfkoBGNkpTHlrE3Rcjkjw= go.uber.org/ratelimit v0.3.0/go.mod h1:So5LG7CV1zWpY1sHe+DXTJqQvOx+FFPFaAs2SnoyBaI= -golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= -golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= +golang.org/x/crypto v0.22.0 h1:g1v0xeRhjcugydODzvb3mEM9SQ0HGp9s/nh3COQ/C30= +golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M= golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= -golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= -golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8= -golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= +golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o= +golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/term v0.19.0 h1:+ThwsDv+tYfnJFhF4L8jITxu1tdTWRTZpdsWgEgjL6Q= +golang.org/x/term v0.19.0/go.mod h1:2CuTdWZ7KHSQwUzKva0cbMg6q2DMI3Mmxp+gKJbskEk= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=