diff options
Diffstat (limited to 'vendor/github.com/minio/minio-go/v7/api-bucket-replication.go')
| -rw-r--r-- | vendor/github.com/minio/minio-go/v7/api-bucket-replication.go | 38 |
1 files changed, 37 insertions, 1 deletions
diff --git a/vendor/github.com/minio/minio-go/v7/api-bucket-replication.go b/vendor/github.com/minio/minio-go/v7/api-bucket-replication.go index b12bb13a6..8632bb85d 100644 --- a/vendor/github.com/minio/minio-go/v7/api-bucket-replication.go +++ b/vendor/github.com/minio/minio-go/v7/api-bucket-replication.go @@ -20,7 +20,6 @@ package minio import ( "bytes" "context" - "encoding/json" "encoding/xml" "io" "net/http" @@ -28,6 +27,7 @@ import ( "time" "github.com/google/uuid" + "github.com/minio/minio-go/v7/internal/json" "github.com/minio/minio-go/v7/pkg/replication" "github.com/minio/minio-go/v7/pkg/s3utils" ) @@ -290,6 +290,42 @@ func (c *Client) GetBucketReplicationResyncStatus(ctx context.Context, bucketNam return rinfo, nil } +// CancelBucketReplicationResync cancels in progress replication resync +func (c *Client) CancelBucketReplicationResync(ctx context.Context, bucketName string, tgtArn string) (id string, err error) { + // Input validation. + if err = s3utils.CheckValidBucketName(bucketName); err != nil { + return + } + // Get resources properly escaped and lined up before + // using them in http request. + urlValues := make(url.Values) + urlValues.Set("replication-reset-cancel", "") + if tgtArn != "" { + urlValues.Set("arn", tgtArn) + } + // Execute GET on bucket to get replication config. + resp, err := c.executeMethod(ctx, http.MethodPut, requestMetadata{ + bucketName: bucketName, + queryValues: urlValues, + }) + + defer closeResponse(resp) + if err != nil { + return id, err + } + + if resp.StatusCode != http.StatusOK { + return id, httpRespToErrorResponse(resp, bucketName, "") + } + strBuf, err := io.ReadAll(resp.Body) + if err != nil { + return "", err + } + + id = string(strBuf) + return id, nil +} + // GetBucketReplicationMetricsV2 fetches bucket replication status metrics func (c *Client) GetBucketReplicationMetricsV2(ctx context.Context, bucketName string) (s replication.MetricsV2, err error) { // Input validation. |
