mirror of
https://github.com/zitadel/zitadel.git
synced 2024-12-13 11:34:26 +00:00
22 lines
830 B
Go
22 lines
830 B
Go
|
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
|
||
|
}
|