zitadel/internal/static/s3/storage_client.go

22 lines
830 B
Go
Raw Normal View History

package s3
import (
"context"
"io"
"net/url"
"time"
"github.com/caos/zitadel/internal/domain"
)
type Client interface {
CreateBucket(ctx context.Context, name, location string) error
RemoveBucket(ctx context.Context, name string) error
ListBuckets(ctx context.Context) ([]*domain.BucketInfo, error)
PutObject(ctx context.Context, bucketName, objectName, contentType string, object io.Reader, objectSize int64) (*domain.AssetInfo, error)
GetObjectInfo(ctx context.Context, bucketName, objectName string) (*domain.AssetInfo, error)
ListObjectInfos(ctx context.Context, bucketName, prefix string) ([]*domain.AssetInfo, error)
GetObjectPresignedURL(ctx context.Context, bucketName, objectName string, expiration time.Duration) (*url.URL, error)
RemoveObject(ctx context.Context, bucketName, objectName string) error
}