mirror of https://github.com/knative/pkg.git
Bump cloud.google.com/go/storage from 1.41.0 to 1.42.0 (#3057)
* Bump cloud.google.com/go/storage from 1.41.0 to 1.42.0 Bumps [cloud.google.com/go/storage](https://github.com/googleapis/google-cloud-go) from 1.41.0 to 1.42.0. - [Release notes](https://github.com/googleapis/google-cloud-go/releases) - [Changelog](https://github.com/googleapis/google-cloud-go/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-cloud-go/compare/spanner/v1.41.0...spanner/v1.42.0) --- updated-dependencies: - dependency-name: cloud.google.com/go/storage dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Run ./hack/update-codegen.sh --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This commit is contained in:
parent
339c22b821
commit
b94232cb28
4
go.mod
4
go.mod
|
@ -4,7 +4,7 @@ go 1.21
|
||||||
|
|
||||||
require (
|
require (
|
||||||
cloud.google.com/go/compute/metadata v0.3.0
|
cloud.google.com/go/compute/metadata v0.3.0
|
||||||
cloud.google.com/go/storage v1.41.0
|
cloud.google.com/go/storage v1.42.0
|
||||||
contrib.go.opencensus.io/exporter/ocagent v0.7.1-0.20200907061046-05415f1de66d
|
contrib.go.opencensus.io/exporter/ocagent v0.7.1-0.20200907061046-05415f1de66d
|
||||||
contrib.go.opencensus.io/exporter/prometheus v0.4.2
|
contrib.go.opencensus.io/exporter/prometheus v0.4.2
|
||||||
contrib.go.opencensus.io/exporter/zipkin v0.1.2
|
contrib.go.opencensus.io/exporter/zipkin v0.1.2
|
||||||
|
@ -104,7 +104,7 @@ require (
|
||||||
golang.org/x/text v0.16.0 // indirect
|
golang.org/x/text v0.16.0 // indirect
|
||||||
golang.org/x/time v0.5.0 // indirect
|
golang.org/x/time v0.5.0 // indirect
|
||||||
google.golang.org/genproto v0.0.0-20240528184218-531527333157 // indirect
|
google.golang.org/genproto v0.0.0-20240528184218-531527333157 // indirect
|
||||||
google.golang.org/genproto/googleapis/api v0.0.0-20240521202816-d264139d666e // indirect
|
google.golang.org/genproto/googleapis/api v0.0.0-20240604185151-ef581f913117 // indirect
|
||||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157 // indirect
|
google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157 // indirect
|
||||||
gopkg.in/inf.v0 v0.9.1 // indirect
|
gopkg.in/inf.v0 v0.9.1 // indirect
|
||||||
gopkg.in/yaml.v2 v2.4.0 // indirect
|
gopkg.in/yaml.v2 v2.4.0 // indirect
|
||||||
|
|
10
go.sum
10
go.sum
|
@ -31,6 +31,8 @@ cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7
|
||||||
cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk=
|
cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk=
|
||||||
cloud.google.com/go/iam v1.1.8 h1:r7umDwhj+BQyz0ScZMp4QrGXjSTI3ZINnpgU2nlB/K0=
|
cloud.google.com/go/iam v1.1.8 h1:r7umDwhj+BQyz0ScZMp4QrGXjSTI3ZINnpgU2nlB/K0=
|
||||||
cloud.google.com/go/iam v1.1.8/go.mod h1:GvE6lyMmfxXauzNq8NbgJbeVQNspG+tcdL/W8QO1+zE=
|
cloud.google.com/go/iam v1.1.8/go.mod h1:GvE6lyMmfxXauzNq8NbgJbeVQNspG+tcdL/W8QO1+zE=
|
||||||
|
cloud.google.com/go/longrunning v0.5.7 h1:WLbHekDbjK1fVFD3ibpFFVoyizlLRl73I7YKuAKilhU=
|
||||||
|
cloud.google.com/go/longrunning v0.5.7/go.mod h1:8GClkudohy1Fxm3owmBGid8W0pSgodEMwEAztp38Xng=
|
||||||
cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I=
|
cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I=
|
||||||
cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw=
|
cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw=
|
||||||
cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA=
|
cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA=
|
||||||
|
@ -40,8 +42,8 @@ cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0Zeo
|
||||||
cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk=
|
cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk=
|
||||||
cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs=
|
cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs=
|
||||||
cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0=
|
cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0=
|
||||||
cloud.google.com/go/storage v1.41.0 h1:RusiwatSu6lHeEXe3kglxakAmAbfV+rhtPqA6i8RBx0=
|
cloud.google.com/go/storage v1.42.0 h1:4QtGpplCVt1wz6g5o1ifXd656P5z+yNgzdw1tVfp0cU=
|
||||||
cloud.google.com/go/storage v1.41.0/go.mod h1:J1WCa/Z2FcgdEDuPUY8DxT5I+d9mFKsCepp5vR6Sq80=
|
cloud.google.com/go/storage v1.42.0/go.mod h1:HjMXRFq65pGKFn6hxj6x3HCyR41uSB72Z0SO/Vn6JFQ=
|
||||||
contrib.go.opencensus.io/exporter/ocagent v0.7.1-0.20200907061046-05415f1de66d h1:LblfooH1lKOpp1hIhukktmSAxFkqMPFk9KR6iZ0MJNI=
|
contrib.go.opencensus.io/exporter/ocagent v0.7.1-0.20200907061046-05415f1de66d h1:LblfooH1lKOpp1hIhukktmSAxFkqMPFk9KR6iZ0MJNI=
|
||||||
contrib.go.opencensus.io/exporter/ocagent v0.7.1-0.20200907061046-05415f1de66d/go.mod h1:IshRmMJBhDfFj5Y67nVhMYTTIze91RUeT73ipWKs/GY=
|
contrib.go.opencensus.io/exporter/ocagent v0.7.1-0.20200907061046-05415f1de66d/go.mod h1:IshRmMJBhDfFj5Y67nVhMYTTIze91RUeT73ipWKs/GY=
|
||||||
contrib.go.opencensus.io/exporter/prometheus v0.4.2 h1:sqfsYl5GIY/L570iT+l93ehxaWJs2/OwXtiWwew3oAg=
|
contrib.go.opencensus.io/exporter/prometheus v0.4.2 h1:sqfsYl5GIY/L570iT+l93ehxaWJs2/OwXtiWwew3oAg=
|
||||||
|
@ -691,8 +693,8 @@ google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6D
|
||||||
google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
||||||
google.golang.org/genproto v0.0.0-20240528184218-531527333157 h1:u7WMYrIrVvs0TF5yaKwKNbcJyySYf+HAIFXxWltJOXE=
|
google.golang.org/genproto v0.0.0-20240528184218-531527333157 h1:u7WMYrIrVvs0TF5yaKwKNbcJyySYf+HAIFXxWltJOXE=
|
||||||
google.golang.org/genproto v0.0.0-20240528184218-531527333157/go.mod h1:ubQlAQnzejB8uZzszhrTCU2Fyp6Vi7ZE5nn0c3W8+qQ=
|
google.golang.org/genproto v0.0.0-20240528184218-531527333157/go.mod h1:ubQlAQnzejB8uZzszhrTCU2Fyp6Vi7ZE5nn0c3W8+qQ=
|
||||||
google.golang.org/genproto/googleapis/api v0.0.0-20240521202816-d264139d666e h1:SkdGTrROJl2jRGT/Fxv5QUf9jtdKCQh4KQJXbXVLAi0=
|
google.golang.org/genproto/googleapis/api v0.0.0-20240604185151-ef581f913117 h1:+rdxYoE3E5htTEWIe15GlN6IfvbURM//Jt0mmkmm6ZU=
|
||||||
google.golang.org/genproto/googleapis/api v0.0.0-20240521202816-d264139d666e/go.mod h1:LweJcLbyVij6rCex8YunD8DYR5VDonap/jYl3ZRxcIU=
|
google.golang.org/genproto/googleapis/api v0.0.0-20240604185151-ef581f913117/go.mod h1:OimBR/bc1wPO9iV4NC2bpyjy3VnAwZh5EBPQdtaE5oo=
|
||||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157 h1:Zy9XzmMEflZ/MAaA7vNcoebnRAld7FsPW1EeBB7V0m8=
|
google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157 h1:Zy9XzmMEflZ/MAaA7vNcoebnRAld7FsPW1EeBB7V0m8=
|
||||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0=
|
google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0=
|
||||||
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
|
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
|
||||||
|
|
|
@ -1,6 +1,25 @@
|
||||||
# Changes
|
# Changes
|
||||||
|
|
||||||
|
|
||||||
|
## [1.42.0](https://github.com/googleapis/google-cloud-go/compare/storage/v1.41.0...storage/v1.42.0) (2024-06-10)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **storage:** Add new package transfermanager. This package is intended for parallel uploads and downloads, and is in preview. It is not stable, and is likely to change. ([#10045](https://github.com/googleapis/google-cloud-go/issues/10045)) ([cde5cbb](https://github.com/googleapis/google-cloud-go/commit/cde5cbba3145d5a702683656a42158621234fe71))
|
||||||
|
* **storage:** Add bucket HierarchicalNamespace ([#10315](https://github.com/googleapis/google-cloud-go/issues/10315)) ([b92406c](https://github.com/googleapis/google-cloud-go/commit/b92406ccfadfdcee379e86d6f78c901d772401a9)), refs [#10146](https://github.com/googleapis/google-cloud-go/issues/10146)
|
||||||
|
* **storage:** Add BucketName to BucketHandle ([#10127](https://github.com/googleapis/google-cloud-go/issues/10127)) ([203cc59](https://github.com/googleapis/google-cloud-go/commit/203cc599e5e2f2f821dc75b47c5a4c9073333f05))
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **storage:** Set invocation headers on xml reads ([#10250](https://github.com/googleapis/google-cloud-go/issues/10250)) ([c87e1ab](https://github.com/googleapis/google-cloud-go/commit/c87e1ab6f9618b8b3f4d0005ac159abd87b0daaf))
|
||||||
|
|
||||||
|
|
||||||
|
### Documentation
|
||||||
|
|
||||||
|
* **storage:** Update autoclass doc ([#10135](https://github.com/googleapis/google-cloud-go/issues/10135)) ([e4b2737](https://github.com/googleapis/google-cloud-go/commit/e4b2737ddc16d3bf8139a6def7326ac905f62acd))
|
||||||
|
|
||||||
## [1.41.0](https://github.com/googleapis/google-cloud-go/compare/storage/v1.40.0...storage/v1.41.0) (2024-05-13)
|
## [1.41.0](https://github.com/googleapis/google-cloud-go/compare/storage/v1.40.0...storage/v1.41.0) (2024-05-13)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -16,8 +16,6 @@ package storage
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"net/http"
|
|
||||||
"reflect"
|
|
||||||
|
|
||||||
"cloud.google.com/go/internal/trace"
|
"cloud.google.com/go/internal/trace"
|
||||||
"cloud.google.com/go/storage/internal/apiv2/storagepb"
|
"cloud.google.com/go/storage/internal/apiv2/storagepb"
|
||||||
|
@ -162,15 +160,6 @@ func (a *ACLHandle) objectDelete(ctx context.Context, entity ACLEntity) error {
|
||||||
return a.c.tc.DeleteObjectACL(ctx, a.bucket, a.object, entity, opts...)
|
return a.c.tc.DeleteObjectACL(ctx, a.bucket, a.object, entity, opts...)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *ACLHandle) configureCall(ctx context.Context, call interface{ Header() http.Header }) {
|
|
||||||
vc := reflect.ValueOf(call)
|
|
||||||
vc.MethodByName("Context").Call([]reflect.Value{reflect.ValueOf(ctx)})
|
|
||||||
if a.userProject != "" {
|
|
||||||
vc.MethodByName("UserProject").Call([]reflect.Value{reflect.ValueOf(a.userProject)})
|
|
||||||
}
|
|
||||||
setClientHeader(call.Header())
|
|
||||||
}
|
|
||||||
|
|
||||||
func toObjectACLRules(items []*raw.ObjectAccessControl) []ACLRule {
|
func toObjectACLRules(items []*raw.ObjectAccessControl) []ACLRule {
|
||||||
var rs []ACLRule
|
var rs []ACLRule
|
||||||
for _, item := range items {
|
for _, item := range items {
|
||||||
|
|
|
@ -116,6 +116,11 @@ func (b *BucketHandle) DefaultObjectACL() *ACLHandle {
|
||||||
return &b.defaultObjectACL
|
return &b.defaultObjectACL
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// BucketName returns the name of the bucket.
|
||||||
|
func (b *BucketHandle) BucketName() string {
|
||||||
|
return b.name
|
||||||
|
}
|
||||||
|
|
||||||
// Object returns an ObjectHandle, which provides operations on the named object.
|
// Object returns an ObjectHandle, which provides operations on the named object.
|
||||||
// This call does not perform any network operations such as fetching the object or verifying its existence.
|
// This call does not perform any network operations such as fetching the object or verifying its existence.
|
||||||
// Use methods on ObjectHandle to perform network operations.
|
// Use methods on ObjectHandle to perform network operations.
|
||||||
|
@ -486,6 +491,13 @@ type BucketAttrs struct {
|
||||||
// 7 day retention duration. In order to fully disable soft delete, you need
|
// 7 day retention duration. In order to fully disable soft delete, you need
|
||||||
// to set a policy with a RetentionDuration of 0.
|
// to set a policy with a RetentionDuration of 0.
|
||||||
SoftDeletePolicy *SoftDeletePolicy
|
SoftDeletePolicy *SoftDeletePolicy
|
||||||
|
|
||||||
|
// HierarchicalNamespace contains the bucket's hierarchical namespace
|
||||||
|
// configuration. Hierarchical namespace enabled buckets can contain
|
||||||
|
// [cloud.google.com/go/storage/control/apiv2/controlpb.Folder] resources.
|
||||||
|
// It cannot be modified after bucket creation time.
|
||||||
|
// UniformBucketLevelAccess must also also be enabled on the bucket.
|
||||||
|
HierarchicalNamespace *HierarchicalNamespace
|
||||||
}
|
}
|
||||||
|
|
||||||
// BucketPolicyOnly is an alias for UniformBucketLevelAccess.
|
// BucketPolicyOnly is an alias for UniformBucketLevelAccess.
|
||||||
|
@ -767,6 +779,7 @@ type Autoclass struct {
|
||||||
// TerminalStorageClass: The storage class that objects in the bucket
|
// TerminalStorageClass: The storage class that objects in the bucket
|
||||||
// eventually transition to if they are not read for a certain length of
|
// eventually transition to if they are not read for a certain length of
|
||||||
// time. Valid values are NEARLINE and ARCHIVE.
|
// time. Valid values are NEARLINE and ARCHIVE.
|
||||||
|
// To modify TerminalStorageClass, Enabled must be set to true.
|
||||||
TerminalStorageClass string
|
TerminalStorageClass string
|
||||||
// TerminalStorageClassUpdateTime represents the time of the most recent
|
// TerminalStorageClassUpdateTime represents the time of the most recent
|
||||||
// update to "TerminalStorageClass".
|
// update to "TerminalStorageClass".
|
||||||
|
@ -786,6 +799,15 @@ type SoftDeletePolicy struct {
|
||||||
RetentionDuration time.Duration
|
RetentionDuration time.Duration
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// HierarchicalNamespace contains the bucket's hierarchical namespace
|
||||||
|
// configuration. Hierarchical namespace enabled buckets can contain
|
||||||
|
// [cloud.google.com/go/storage/control/apiv2/controlpb.Folder] resources.
|
||||||
|
type HierarchicalNamespace struct {
|
||||||
|
// Enabled indicates whether hierarchical namespace features are enabled on
|
||||||
|
// the bucket. This can only be set at bucket creation time currently.
|
||||||
|
Enabled bool
|
||||||
|
}
|
||||||
|
|
||||||
func newBucket(b *raw.Bucket) (*BucketAttrs, error) {
|
func newBucket(b *raw.Bucket) (*BucketAttrs, error) {
|
||||||
if b == nil {
|
if b == nil {
|
||||||
return nil, nil
|
return nil, nil
|
||||||
|
@ -824,6 +846,7 @@ func newBucket(b *raw.Bucket) (*BucketAttrs, error) {
|
||||||
CustomPlacementConfig: customPlacementFromRaw(b.CustomPlacementConfig),
|
CustomPlacementConfig: customPlacementFromRaw(b.CustomPlacementConfig),
|
||||||
Autoclass: toAutoclassFromRaw(b.Autoclass),
|
Autoclass: toAutoclassFromRaw(b.Autoclass),
|
||||||
SoftDeletePolicy: toSoftDeletePolicyFromRaw(b.SoftDeletePolicy),
|
SoftDeletePolicy: toSoftDeletePolicyFromRaw(b.SoftDeletePolicy),
|
||||||
|
HierarchicalNamespace: toHierarchicalNamespaceFromRaw(b.HierarchicalNamespace),
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -858,6 +881,7 @@ func newBucketFromProto(b *storagepb.Bucket) *BucketAttrs {
|
||||||
ProjectNumber: parseProjectNumber(b.GetProject()), // this can return 0 the project resource name is ID based
|
ProjectNumber: parseProjectNumber(b.GetProject()), // this can return 0 the project resource name is ID based
|
||||||
Autoclass: toAutoclassFromProto(b.GetAutoclass()),
|
Autoclass: toAutoclassFromProto(b.GetAutoclass()),
|
||||||
SoftDeletePolicy: toSoftDeletePolicyFromProto(b.SoftDeletePolicy),
|
SoftDeletePolicy: toSoftDeletePolicyFromProto(b.SoftDeletePolicy),
|
||||||
|
HierarchicalNamespace: toHierarchicalNamespaceFromProto(b.HierarchicalNamespace),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -914,6 +938,7 @@ func (b *BucketAttrs) toRawBucket() *raw.Bucket {
|
||||||
CustomPlacementConfig: b.CustomPlacementConfig.toRawCustomPlacement(),
|
CustomPlacementConfig: b.CustomPlacementConfig.toRawCustomPlacement(),
|
||||||
Autoclass: b.Autoclass.toRawAutoclass(),
|
Autoclass: b.Autoclass.toRawAutoclass(),
|
||||||
SoftDeletePolicy: b.SoftDeletePolicy.toRawSoftDeletePolicy(),
|
SoftDeletePolicy: b.SoftDeletePolicy.toRawSoftDeletePolicy(),
|
||||||
|
HierarchicalNamespace: b.HierarchicalNamespace.toRawHierarchicalNamespace(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -975,6 +1000,7 @@ func (b *BucketAttrs) toProtoBucket() *storagepb.Bucket {
|
||||||
CustomPlacementConfig: b.CustomPlacementConfig.toProtoCustomPlacement(),
|
CustomPlacementConfig: b.CustomPlacementConfig.toProtoCustomPlacement(),
|
||||||
Autoclass: b.Autoclass.toProtoAutoclass(),
|
Autoclass: b.Autoclass.toProtoAutoclass(),
|
||||||
SoftDeletePolicy: b.SoftDeletePolicy.toProtoSoftDeletePolicy(),
|
SoftDeletePolicy: b.SoftDeletePolicy.toProtoSoftDeletePolicy(),
|
||||||
|
HierarchicalNamespace: b.HierarchicalNamespace.toProtoHierarchicalNamespace(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1174,6 +1200,9 @@ type BucketAttrsToUpdate struct {
|
||||||
RPO RPO
|
RPO RPO
|
||||||
|
|
||||||
// If set, updates the autoclass configuration of the bucket.
|
// If set, updates the autoclass configuration of the bucket.
|
||||||
|
// To disable autoclass on the bucket, set to an empty &Autoclass{}.
|
||||||
|
// To update the configuration for Autoclass.TerminalStorageClass,
|
||||||
|
// Autoclass.Enabled must also be set to true.
|
||||||
// See https://cloud.google.com/storage/docs/using-autoclass for more information.
|
// See https://cloud.google.com/storage/docs/using-autoclass for more information.
|
||||||
Autoclass *Autoclass
|
Autoclass *Autoclass
|
||||||
|
|
||||||
|
@ -2136,6 +2165,42 @@ func toSoftDeletePolicyFromProto(p *storagepb.Bucket_SoftDeletePolicy) *SoftDele
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (hns *HierarchicalNamespace) toProtoHierarchicalNamespace() *storagepb.Bucket_HierarchicalNamespace {
|
||||||
|
if hns == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return &storagepb.Bucket_HierarchicalNamespace{
|
||||||
|
Enabled: hns.Enabled,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (hns *HierarchicalNamespace) toRawHierarchicalNamespace() *raw.BucketHierarchicalNamespace {
|
||||||
|
if hns == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return &raw.BucketHierarchicalNamespace{
|
||||||
|
Enabled: hns.Enabled,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func toHierarchicalNamespaceFromProto(p *storagepb.Bucket_HierarchicalNamespace) *HierarchicalNamespace {
|
||||||
|
if p == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return &HierarchicalNamespace{
|
||||||
|
Enabled: p.Enabled,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func toHierarchicalNamespaceFromRaw(r *raw.BucketHierarchicalNamespace) *HierarchicalNamespace {
|
||||||
|
if r == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return &HierarchicalNamespace{
|
||||||
|
Enabled: r.Enabled,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Objects returns an iterator over the objects in the bucket that match the
|
// Objects returns an iterator over the objects in the bucket that match the
|
||||||
// Query q. If q is nil, no filtering is done. Objects will be iterated over
|
// Query q. If q is nil, no filtering is done. Objects will be iterated over
|
||||||
// lexicographically by name.
|
// lexicographically by name.
|
||||||
|
|
|
@ -272,7 +272,6 @@ func (it *HMACKeysIterator) fetch(pageSize int, pageToken string) (token string,
|
||||||
// TODO: Remove fetch method upon integration. This method is internalized into
|
// TODO: Remove fetch method upon integration. This method is internalized into
|
||||||
// httpStorageClient.ListHMACKeys() as it is the only caller.
|
// httpStorageClient.ListHMACKeys() as it is the only caller.
|
||||||
call := it.raw.List(it.projectID)
|
call := it.raw.List(it.projectID)
|
||||||
setClientHeader(call.Header())
|
|
||||||
if pageToken != "" {
|
if pageToken != "" {
|
||||||
call = call.PageToken(pageToken)
|
call = call.PageToken(pageToken)
|
||||||
}
|
}
|
||||||
|
|
|
@ -176,7 +176,6 @@ func (c *httpStorageClient) CreateBucket(ctx context.Context, project, bucket st
|
||||||
bkt.Location = "US"
|
bkt.Location = "US"
|
||||||
}
|
}
|
||||||
req := c.raw.Buckets.Insert(project, bkt)
|
req := c.raw.Buckets.Insert(project, bkt)
|
||||||
setClientHeader(req.Header())
|
|
||||||
if attrs != nil && attrs.PredefinedACL != "" {
|
if attrs != nil && attrs.PredefinedACL != "" {
|
||||||
req.PredefinedAcl(attrs.PredefinedACL)
|
req.PredefinedAcl(attrs.PredefinedACL)
|
||||||
}
|
}
|
||||||
|
@ -207,7 +206,6 @@ func (c *httpStorageClient) ListBuckets(ctx context.Context, project string, opt
|
||||||
|
|
||||||
fetch := func(pageSize int, pageToken string) (token string, err error) {
|
fetch := func(pageSize int, pageToken string) (token string, err error) {
|
||||||
req := c.raw.Buckets.List(it.projectID)
|
req := c.raw.Buckets.List(it.projectID)
|
||||||
setClientHeader(req.Header())
|
|
||||||
req.Projection("full")
|
req.Projection("full")
|
||||||
req.Prefix(it.Prefix)
|
req.Prefix(it.Prefix)
|
||||||
req.PageToken(pageToken)
|
req.PageToken(pageToken)
|
||||||
|
@ -245,7 +243,6 @@ func (c *httpStorageClient) ListBuckets(ctx context.Context, project string, opt
|
||||||
func (c *httpStorageClient) DeleteBucket(ctx context.Context, bucket string, conds *BucketConditions, opts ...storageOption) error {
|
func (c *httpStorageClient) DeleteBucket(ctx context.Context, bucket string, conds *BucketConditions, opts ...storageOption) error {
|
||||||
s := callSettings(c.settings, opts...)
|
s := callSettings(c.settings, opts...)
|
||||||
req := c.raw.Buckets.Delete(bucket)
|
req := c.raw.Buckets.Delete(bucket)
|
||||||
setClientHeader(req.Header())
|
|
||||||
if err := applyBucketConds("httpStorageClient.DeleteBucket", conds, req); err != nil {
|
if err := applyBucketConds("httpStorageClient.DeleteBucket", conds, req); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -259,7 +256,6 @@ func (c *httpStorageClient) DeleteBucket(ctx context.Context, bucket string, con
|
||||||
func (c *httpStorageClient) GetBucket(ctx context.Context, bucket string, conds *BucketConditions, opts ...storageOption) (*BucketAttrs, error) {
|
func (c *httpStorageClient) GetBucket(ctx context.Context, bucket string, conds *BucketConditions, opts ...storageOption) (*BucketAttrs, error) {
|
||||||
s := callSettings(c.settings, opts...)
|
s := callSettings(c.settings, opts...)
|
||||||
req := c.raw.Buckets.Get(bucket).Projection("full")
|
req := c.raw.Buckets.Get(bucket).Projection("full")
|
||||||
setClientHeader(req.Header())
|
|
||||||
err := applyBucketConds("httpStorageClient.GetBucket", conds, req)
|
err := applyBucketConds("httpStorageClient.GetBucket", conds, req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
@ -287,7 +283,6 @@ func (c *httpStorageClient) UpdateBucket(ctx context.Context, bucket string, uat
|
||||||
s := callSettings(c.settings, opts...)
|
s := callSettings(c.settings, opts...)
|
||||||
rb := uattrs.toRawBucket()
|
rb := uattrs.toRawBucket()
|
||||||
req := c.raw.Buckets.Patch(bucket, rb).Projection("full")
|
req := c.raw.Buckets.Patch(bucket, rb).Projection("full")
|
||||||
setClientHeader(req.Header())
|
|
||||||
err := applyBucketConds("httpStorageClient.UpdateBucket", conds, req)
|
err := applyBucketConds("httpStorageClient.UpdateBucket", conds, req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
@ -340,7 +335,6 @@ func (c *httpStorageClient) ListObjects(ctx context.Context, bucket string, q *Q
|
||||||
if it.query.SoftDeleted {
|
if it.query.SoftDeleted {
|
||||||
req.SoftDeleted(it.query.SoftDeleted)
|
req.SoftDeleted(it.query.SoftDeleted)
|
||||||
}
|
}
|
||||||
setClientHeader(req.Header())
|
|
||||||
projection := it.query.Projection
|
projection := it.query.Projection
|
||||||
if projection == ProjectionDefault {
|
if projection == ProjectionDefault {
|
||||||
projection = ProjectionFull
|
projection = ProjectionFull
|
||||||
|
@ -666,7 +660,7 @@ func (c *httpStorageClient) UpdateBucketACL(ctx context.Context, bucket string,
|
||||||
}, s.retry, s.idempotent)
|
}, s.retry, s.idempotent)
|
||||||
}
|
}
|
||||||
|
|
||||||
// configureACLCall sets the context, user project and headers on the apiary library call.
|
// configureACLCall sets the context and user project on the apiary library call.
|
||||||
// This will panic if the call does not have the correct methods.
|
// This will panic if the call does not have the correct methods.
|
||||||
func configureACLCall(ctx context.Context, userProject string, call interface{ Header() http.Header }) {
|
func configureACLCall(ctx context.Context, userProject string, call interface{ Header() http.Header }) {
|
||||||
vc := reflect.ValueOf(call)
|
vc := reflect.ValueOf(call)
|
||||||
|
@ -674,7 +668,6 @@ func configureACLCall(ctx context.Context, userProject string, call interface{ H
|
||||||
if userProject != "" {
|
if userProject != "" {
|
||||||
vc.MethodByName("UserProject").Call([]reflect.Value{reflect.ValueOf(userProject)})
|
vc.MethodByName("UserProject").Call([]reflect.Value{reflect.ValueOf(userProject)})
|
||||||
}
|
}
|
||||||
setClientHeader(call.Header())
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Object ACL methods.
|
// Object ACL methods.
|
||||||
|
@ -760,7 +753,6 @@ func (c *httpStorageClient) ComposeObject(ctx context.Context, req *composeObjec
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
var obj *raw.Object
|
var obj *raw.Object
|
||||||
setClientHeader(call.Header())
|
|
||||||
|
|
||||||
var err error
|
var err error
|
||||||
retryCall := func(ctx context.Context) error { obj, err = call.Context(ctx).Do(); return err }
|
retryCall := func(ctx context.Context) error { obj, err = call.Context(ctx).Do(); return err }
|
||||||
|
@ -809,7 +801,6 @@ func (c *httpStorageClient) RewriteObject(ctx context.Context, req *rewriteObjec
|
||||||
|
|
||||||
var res *raw.RewriteResponse
|
var res *raw.RewriteResponse
|
||||||
var err error
|
var err error
|
||||||
setClientHeader(call.Header())
|
|
||||||
|
|
||||||
retryCall := func(ctx context.Context) error { res, err = call.Context(ctx).Do(); return err }
|
retryCall := func(ctx context.Context) error { res, err = call.Context(ctx).Do(); return err }
|
||||||
|
|
||||||
|
@ -864,17 +855,18 @@ func (c *httpStorageClient) newRangeReaderXML(ctx context.Context, params *newRa
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
reopen := readerReopen(ctx, req.Header, params, s,
|
||||||
|
func(ctx context.Context) (*http.Response, error) {
|
||||||
// Set custom headers passed in via the context. This is only required for XML;
|
// Set custom headers passed in via the context. This is only required for XML;
|
||||||
// for gRPC & JSON this is handled in the GAPIC and Apiary layers respectively.
|
// for gRPC & JSON this is handled in the GAPIC and Apiary layers respectively.
|
||||||
ctxHeaders := callctx.HeadersFromContext(ctx)
|
ctxHeaders := callctx.HeadersFromContext(ctx)
|
||||||
for k, vals := range ctxHeaders {
|
for k, vals := range ctxHeaders {
|
||||||
for _, v := range vals {
|
for _, v := range vals {
|
||||||
req.Header.Add(k, v)
|
req.Header.Set(k, v)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return c.hc.Do(req.WithContext(ctx))
|
||||||
reopen := readerReopen(ctx, req.Header, params, s,
|
},
|
||||||
func(ctx context.Context) (*http.Response, error) { return c.hc.Do(req.WithContext(ctx)) },
|
|
||||||
func() error { return setConditionsHeaders(req.Header, params.conds) },
|
func() error { return setConditionsHeaders(req.Header, params.conds) },
|
||||||
func() { req.URL.RawQuery = fmt.Sprintf("generation=%d", params.gen) })
|
func() { req.URL.RawQuery = fmt.Sprintf("generation=%d", params.gen) })
|
||||||
|
|
||||||
|
@ -888,7 +880,6 @@ func (c *httpStorageClient) newRangeReaderXML(ctx context.Context, params *newRa
|
||||||
func (c *httpStorageClient) newRangeReaderJSON(ctx context.Context, params *newRangeReaderParams, s *settings) (r *Reader, err error) {
|
func (c *httpStorageClient) newRangeReaderJSON(ctx context.Context, params *newRangeReaderParams, s *settings) (r *Reader, err error) {
|
||||||
call := c.raw.Objects.Get(params.bucket, params.object)
|
call := c.raw.Objects.Get(params.bucket, params.object)
|
||||||
|
|
||||||
setClientHeader(call.Header())
|
|
||||||
call.Projection("full")
|
call.Projection("full")
|
||||||
|
|
||||||
if s.userProject != "" {
|
if s.userProject != "" {
|
||||||
|
@ -1004,7 +995,6 @@ func (c *httpStorageClient) OpenWriter(params *openWriterParams, opts ...storage
|
||||||
func (c *httpStorageClient) GetIamPolicy(ctx context.Context, resource string, version int32, opts ...storageOption) (*iampb.Policy, error) {
|
func (c *httpStorageClient) GetIamPolicy(ctx context.Context, resource string, version int32, opts ...storageOption) (*iampb.Policy, error) {
|
||||||
s := callSettings(c.settings, opts...)
|
s := callSettings(c.settings, opts...)
|
||||||
call := c.raw.Buckets.GetIamPolicy(resource).OptionsRequestedPolicyVersion(int64(version))
|
call := c.raw.Buckets.GetIamPolicy(resource).OptionsRequestedPolicyVersion(int64(version))
|
||||||
setClientHeader(call.Header())
|
|
||||||
if s.userProject != "" {
|
if s.userProject != "" {
|
||||||
call.UserProject(s.userProject)
|
call.UserProject(s.userProject)
|
||||||
}
|
}
|
||||||
|
@ -1025,7 +1015,6 @@ func (c *httpStorageClient) SetIamPolicy(ctx context.Context, resource string, p
|
||||||
|
|
||||||
rp := iamToStoragePolicy(policy)
|
rp := iamToStoragePolicy(policy)
|
||||||
call := c.raw.Buckets.SetIamPolicy(resource, rp)
|
call := c.raw.Buckets.SetIamPolicy(resource, rp)
|
||||||
setClientHeader(call.Header())
|
|
||||||
if s.userProject != "" {
|
if s.userProject != "" {
|
||||||
call.UserProject(s.userProject)
|
call.UserProject(s.userProject)
|
||||||
}
|
}
|
||||||
|
@ -1039,7 +1028,6 @@ func (c *httpStorageClient) SetIamPolicy(ctx context.Context, resource string, p
|
||||||
func (c *httpStorageClient) TestIamPermissions(ctx context.Context, resource string, permissions []string, opts ...storageOption) ([]string, error) {
|
func (c *httpStorageClient) TestIamPermissions(ctx context.Context, resource string, permissions []string, opts ...storageOption) ([]string, error) {
|
||||||
s := callSettings(c.settings, opts...)
|
s := callSettings(c.settings, opts...)
|
||||||
call := c.raw.Buckets.TestIamPermissions(resource, permissions)
|
call := c.raw.Buckets.TestIamPermissions(resource, permissions)
|
||||||
setClientHeader(call.Header())
|
|
||||||
if s.userProject != "" {
|
if s.userProject != "" {
|
||||||
call.UserProject(s.userProject)
|
call.UserProject(s.userProject)
|
||||||
}
|
}
|
||||||
|
@ -1088,7 +1076,6 @@ func (c *httpStorageClient) ListHMACKeys(ctx context.Context, project, serviceAc
|
||||||
}
|
}
|
||||||
fetch := func(pageSize int, pageToken string) (token string, err error) {
|
fetch := func(pageSize int, pageToken string) (token string, err error) {
|
||||||
call := c.raw.Projects.HmacKeys.List(project)
|
call := c.raw.Projects.HmacKeys.List(project)
|
||||||
setClientHeader(call.Header())
|
|
||||||
if pageToken != "" {
|
if pageToken != "" {
|
||||||
call = call.PageToken(pageToken)
|
call = call.PageToken(pageToken)
|
||||||
}
|
}
|
||||||
|
|
|
@ -962,7 +962,9 @@ func (c *gRPCClient) Connection() *grpc.ClientConn {
|
||||||
func (c *gRPCClient) setGoogleClientInfo(keyval ...string) {
|
func (c *gRPCClient) setGoogleClientInfo(keyval ...string) {
|
||||||
kv := append([]string{"gl-go", gax.GoVersion}, keyval...)
|
kv := append([]string{"gl-go", gax.GoVersion}, keyval...)
|
||||||
kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "grpc", grpc.Version)
|
kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "grpc", grpc.Version)
|
||||||
c.xGoogHeaders = []string{"x-goog-api-client", gax.XGoogHeader(kv...)}
|
c.xGoogHeaders = []string{
|
||||||
|
"x-goog-api-client", gax.XGoogHeader(kv...),
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Close closes the connection to the API service. The user should invoke this when
|
// Close closes the connection to the API service. The user should invoke this when
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// Copyright 2023 Google LLC
|
// Copyright 2024 Google LLC
|
||||||
//
|
//
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
// you may not use this file except in compliance with the License.
|
// you may not use this file except in compliance with the License.
|
||||||
|
@ -14,7 +14,7 @@
|
||||||
|
|
||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-go v1.33.0
|
// protoc-gen-go v1.34.1
|
||||||
// protoc v4.25.3
|
// protoc v4.25.3
|
||||||
// source: google/storage/v2/storage.proto
|
// source: google/storage/v2/storage.proto
|
||||||
|
|
||||||
|
|
|
@ -15,4 +15,4 @@
|
||||||
package internal
|
package internal
|
||||||
|
|
||||||
// Version is the current tagged release of the library.
|
// Version is the current tagged release of the library.
|
||||||
const Version = "1.41.0"
|
const Version = "1.42.0"
|
||||||
|
|
|
@ -84,7 +84,21 @@ func setInvocationHeaders(ctx context.Context, invocationID string, attempts int
|
||||||
invocationHeader := fmt.Sprintf("gccl-invocation-id/%v gccl-attempt-count/%v", invocationID, attempts)
|
invocationHeader := fmt.Sprintf("gccl-invocation-id/%v gccl-attempt-count/%v", invocationID, attempts)
|
||||||
xGoogHeader := strings.Join([]string{invocationHeader, xGoogDefaultHeader}, " ")
|
xGoogHeader := strings.Join([]string{invocationHeader, xGoogDefaultHeader}, " ")
|
||||||
|
|
||||||
|
// TODO: remove this once the respective transport packages merge xGoogHeader.
|
||||||
|
// Also remove gl-go at that time, as it will be repeated.
|
||||||
|
hdrs := callctx.HeadersFromContext(ctx)
|
||||||
|
for _, v := range hdrs[xGoogHeaderKey] {
|
||||||
|
xGoogHeader = strings.Join([]string{xGoogHeader, v}, " ")
|
||||||
|
}
|
||||||
|
|
||||||
|
if hdrs[xGoogHeaderKey] != nil {
|
||||||
|
// Replace the key instead of adding it, if there was anything to merge with.
|
||||||
|
hdrs[xGoogHeaderKey] = []string{xGoogHeader}
|
||||||
|
} else {
|
||||||
|
// TODO: keep this line when removing the above code.
|
||||||
ctx = callctx.SetHeaders(ctx, xGoogHeaderKey, xGoogHeader)
|
ctx = callctx.SetHeaders(ctx, xGoogHeaderKey, xGoogHeader)
|
||||||
|
}
|
||||||
|
|
||||||
ctx = callctx.SetHeaders(ctx, idempotencyHeaderKey, invocationID)
|
ctx = callctx.SetHeaders(ctx, idempotencyHeaderKey, invocationID)
|
||||||
return ctx
|
return ctx
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,10 +44,14 @@ type storageClientOption interface {
|
||||||
ApplyStorageOpt(*storageConfig)
|
ApplyStorageOpt(*storageConfig)
|
||||||
}
|
}
|
||||||
|
|
||||||
// WithJSONReads is an option that may be passed to a Storage Client on creation.
|
// WithJSONReads is an option that may be passed to [NewClient].
|
||||||
// It sets the client to use the JSON API for object reads. Currently, the
|
// It sets the client to use the Cloud Storage JSON API for object
|
||||||
// default API used for reads is XML.
|
// reads. Currently, the default API used for reads is XML, but JSON will
|
||||||
// Setting this option is required to use the GenerationNotMatch condition.
|
// become the default in a future release.
|
||||||
|
//
|
||||||
|
// Setting this option is required to use the GenerationNotMatch condition. We
|
||||||
|
// also recommend using JSON reads to ensure consistency with other client
|
||||||
|
// operations (all of which use JSON by default).
|
||||||
//
|
//
|
||||||
// Note that when this option is set, reads will return a zero date for
|
// Note that when this option is set, reads will return a zero date for
|
||||||
// [ReaderObjectAttrs].LastModified and may return a different value for
|
// [ReaderObjectAttrs].LastModified and may return a different value for
|
||||||
|
@ -56,10 +60,11 @@ func WithJSONReads() option.ClientOption {
|
||||||
return &withReadAPI{useJSON: true}
|
return &withReadAPI{useJSON: true}
|
||||||
}
|
}
|
||||||
|
|
||||||
// WithXMLReads is an option that may be passed to a Storage Client on creation.
|
// WithXMLReads is an option that may be passed to [NewClient].
|
||||||
// It sets the client to use the XML API for object reads.
|
// It sets the client to use the Cloud Storage XML API for object reads.
|
||||||
//
|
//
|
||||||
// This is the current default.
|
// This is the current default, but the default will switch to JSON in a future
|
||||||
|
// release.
|
||||||
func WithXMLReads() option.ClientOption {
|
func WithXMLReads() option.ClientOption {
|
||||||
return &withReadAPI{useJSON: false}
|
return &withReadAPI{useJSON: false}
|
||||||
}
|
}
|
||||||
|
|
|
@ -72,6 +72,12 @@ type ReaderObjectAttrs struct {
|
||||||
// ErrObjectNotExist will be returned if the object is not found.
|
// ErrObjectNotExist will be returned if the object is not found.
|
||||||
//
|
//
|
||||||
// The caller must call Close on the returned Reader when done reading.
|
// The caller must call Close on the returned Reader when done reading.
|
||||||
|
//
|
||||||
|
// By default, reads are made using the Cloud Storage XML API. We recommend
|
||||||
|
// using the JSON API instead, which can be done by setting [WithJSONReads]
|
||||||
|
// when calling [NewClient]. This ensures consistency with other client
|
||||||
|
// operations, which all use JSON. JSON will become the default in a future
|
||||||
|
// release.
|
||||||
func (o *ObjectHandle) NewReader(ctx context.Context) (*Reader, error) {
|
func (o *ObjectHandle) NewReader(ctx context.Context) (*Reader, error) {
|
||||||
return o.NewRangeReader(ctx, 0, -1)
|
return o.NewRangeReader(ctx, 0, -1)
|
||||||
}
|
}
|
||||||
|
@ -86,6 +92,12 @@ func (o *ObjectHandle) NewReader(ctx context.Context) (*Reader, error) {
|
||||||
// decompressive transcoding per https://cloud.google.com/storage/docs/transcoding
|
// decompressive transcoding per https://cloud.google.com/storage/docs/transcoding
|
||||||
// that file will be served back whole, regardless of the requested range as
|
// that file will be served back whole, regardless of the requested range as
|
||||||
// Google Cloud Storage dictates.
|
// Google Cloud Storage dictates.
|
||||||
|
//
|
||||||
|
// By default, reads are made using the Cloud Storage XML API. We recommend
|
||||||
|
// using the JSON API instead, which can be done by setting [WithJSONReads]
|
||||||
|
// when calling [NewClient]. This ensures consistency with other client
|
||||||
|
// operations, which all use JSON. JSON will become the default in a future
|
||||||
|
// release.
|
||||||
func (o *ObjectHandle) NewRangeReader(ctx context.Context, offset, length int64) (r *Reader, err error) {
|
func (o *ObjectHandle) NewRangeReader(ctx context.Context, offset, length int64) (r *Reader, err error) {
|
||||||
// This span covers the life of the reader. It is closed via the context
|
// This span covers the life of the reader. It is closed via the context
|
||||||
// in Reader.Close.
|
// in Reader.Close.
|
||||||
|
|
|
@ -117,10 +117,6 @@ type Client struct {
|
||||||
|
|
||||||
// tc is the transport-agnostic client implemented with either gRPC or HTTP.
|
// tc is the transport-agnostic client implemented with either gRPC or HTTP.
|
||||||
tc storageClient
|
tc storageClient
|
||||||
// useGRPC flags whether the client uses gRPC. This is needed while the
|
|
||||||
// integration piece is only partially complete.
|
|
||||||
// TODO: remove before merging to main.
|
|
||||||
useGRPC bool
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewClient creates a new Google Cloud Storage client using the HTTP transport.
|
// NewClient creates a new Google Cloud Storage client using the HTTP transport.
|
||||||
|
@ -237,7 +233,7 @@ func NewGRPCClient(ctx context.Context, opts ...option.ClientOption) (*Client, e
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
return &Client{tc: tc, useGRPC: true}, nil
|
return &Client{tc: tc}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Close closes the Client.
|
// Close closes the Client.
|
||||||
|
@ -975,7 +971,8 @@ func (o *ObjectHandle) Update(ctx context.Context, uattrs ObjectAttrsToUpdate) (
|
||||||
gen: o.gen,
|
gen: o.gen,
|
||||||
encryptionKey: o.encryptionKey,
|
encryptionKey: o.encryptionKey,
|
||||||
conds: o.conds,
|
conds: o.conds,
|
||||||
overrideRetention: o.overrideRetention}, opts...)
|
overrideRetention: o.overrideRetention,
|
||||||
|
}, opts...)
|
||||||
}
|
}
|
||||||
|
|
||||||
// BucketName returns the name of the bucket.
|
// BucketName returns the name of the bucket.
|
||||||
|
@ -2356,7 +2353,6 @@ func toProtoChecksums(sendCRC32C bool, attrs *ObjectAttrs) *storagepb.ObjectChec
|
||||||
func (c *Client) ServiceAccount(ctx context.Context, projectID string) (string, error) {
|
func (c *Client) ServiceAccount(ctx context.Context, projectID string) (string, error) {
|
||||||
o := makeStorageOpts(true, c.retry, "")
|
o := makeStorageOpts(true, c.retry, "")
|
||||||
return c.tc.GetServiceAccount(ctx, projectID, o...)
|
return c.tc.GetServiceAccount(ctx, projectID, o...)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// bucketResourceName formats the given project ID and bucketResourceName ID
|
// bucketResourceName formats the given project ID and bucketResourceName ID
|
||||||
|
|
|
@ -30,8 +30,8 @@ cloud.google.com/go/compute/metadata
|
||||||
## explicit; go 1.19
|
## explicit; go 1.19
|
||||||
cloud.google.com/go/iam
|
cloud.google.com/go/iam
|
||||||
cloud.google.com/go/iam/apiv1/iampb
|
cloud.google.com/go/iam/apiv1/iampb
|
||||||
# cloud.google.com/go/storage v1.41.0
|
# cloud.google.com/go/storage v1.42.0
|
||||||
## explicit; go 1.19
|
## explicit; go 1.20
|
||||||
cloud.google.com/go/storage
|
cloud.google.com/go/storage
|
||||||
cloud.google.com/go/storage/internal
|
cloud.google.com/go/storage/internal
|
||||||
cloud.google.com/go/storage/internal/apiv2
|
cloud.google.com/go/storage/internal/apiv2
|
||||||
|
@ -479,7 +479,7 @@ google.golang.org/api/transport/http/internal/propagation
|
||||||
## explicit; go 1.20
|
## explicit; go 1.20
|
||||||
google.golang.org/genproto/googleapis/type/date
|
google.golang.org/genproto/googleapis/type/date
|
||||||
google.golang.org/genproto/googleapis/type/expr
|
google.golang.org/genproto/googleapis/type/expr
|
||||||
# google.golang.org/genproto/googleapis/api v0.0.0-20240521202816-d264139d666e
|
# google.golang.org/genproto/googleapis/api v0.0.0-20240604185151-ef581f913117
|
||||||
## explicit; go 1.20
|
## explicit; go 1.20
|
||||||
google.golang.org/genproto/googleapis/api
|
google.golang.org/genproto/googleapis/api
|
||||||
google.golang.org/genproto/googleapis/api/annotations
|
google.golang.org/genproto/googleapis/api/annotations
|
||||||
|
|
Loading…
Reference in New Issue