diff --git a/generated.go b/generated.go index c570350..db48d3a 100644 --- a/generated.go +++ b/generated.go @@ -4,6 +4,7 @@ package gcs import ( "context" "io" + "net/http" "time" "github.com/beyondstorage/go-storage/v4/pkg/httpclient" @@ -15,6 +16,7 @@ var _ Storager var _ services.ServiceError var _ httpclient.Options var _ time.Duration +var _ http.Request // Type is the type for gcs const Type = "gcs" @@ -88,6 +90,21 @@ func WithDefaultStoragePairs(v DefaultStoragePairs) Pair { } } +// WithEnableVirtualDir will apply enable_virtual_dir value to Options. +// +// VirtualDir virtual_dir feature is designed for a service that doesn't have native dir support but wants to provide simulated operations. +// +// - If this feature is disabled (the default behavior), the service will behave like it doesn't have any dir support. +// - If this feature is enabled, the service will support simulated dir behavior in create_dir, create, list, delete, and so on. +// +// This feature was introduced in GSP-109. +func WithEnableVirtualDir() Pair { + return Pair{ + Key: "enable_virtual_dir", + Value: true, + } +} + // WithEncryptionKey will apply encryption_key value to Options. // // EncryptionKey is the customer's 32-byte AES-256 key @@ -158,6 +175,7 @@ var pairMap = map[string]string{ "credential": "string", "default_service_pairs": "DefaultServicePairs", "default_storage_pairs": "DefaultStoragePairs", + "enable_virtual_dir": "bool", "encryption_key": "[]byte", "endpoint": "string", "expire": "time.Duration", diff --git a/go.mod b/go.mod index 39e534e..f6834a7 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.15 require ( cloud.google.com/go/storage v1.16.0 github.com/beyondstorage/go-integration-test/v4 v4.2.0 - github.com/beyondstorage/go-storage/v4 v4.4.0 + github.com/beyondstorage/go-storage/v4 v4.5.0 github.com/google/uuid v1.3.0 golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914 google.golang.org/api v0.50.0 diff --git a/go.sum b/go.sum index f840f0f..a541fdb 100644 --- a/go.sum +++ b/go.sum @@ -48,8 +48,8 @@ github.com/Xuanwo/templateutils v0.1.0/go.mod h1:OdE0DJ+CJxDBq6psX5DPV+gOZi8bhuH github.com/beyondstorage/go-integration-test/v4 v4.2.0 h1:h2+SLmlDqjfBg+NzVcDr6VCmcD7I2xG+mqMzDlaCG+0= github.com/beyondstorage/go-integration-test/v4 v4.2.0/go.mod h1:jLyYWSGUjQRH7U1HdaLbXE5sxBgqrtK73q+Q7PGIuSs= github.com/beyondstorage/go-storage/v4 v4.3.0/go.mod h1:0fdcRCzLKMQe7Ve4zPlyTGgoPYwuINiV79Gx9tCt9tQ= -github.com/beyondstorage/go-storage/v4 v4.4.0 h1:sWURraKFjNR4qpwthr45cAGOIx6EOLrrJcz6su4Je30= -github.com/beyondstorage/go-storage/v4 v4.4.0/go.mod h1:mc9VzBImjXDg1/1sLfta2MJH79elfM6m47ZZvZ+q/Uw= +github.com/beyondstorage/go-storage/v4 v4.5.0 h1:cWkX1A+yVLldEpj/Ad9capev9K1fbVIVcRvwqWsMgpw= +github.com/beyondstorage/go-storage/v4 v4.5.0/go.mod h1:mc9VzBImjXDg1/1sLfta2MJH79elfM6m47ZZvZ+q/Uw= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=