Implement S3 Gateway to third party cloud storage providers. (#3756)

Currently supported backend is Azure Blob Storage.

```
export MINIO_ACCESS_KEY=azureaccountname
export MINIO_SECRET_KEY=azureaccountkey
minio gateway azure
```
This commit is contained in:
Krishna Srinivas
2017-03-16 12:21:58 -07:00
committed by Harshavardhana
parent 8426cf9aec
commit cea4cfa3a8
41 changed files with 6983 additions and 65 deletions

View File

@@ -708,8 +708,8 @@ type ListAllBucketPoliciesArgs struct {
BucketName string `json:"bucketName"`
}
// Collection of canned bucket policy at a given prefix.
type bucketAccessPolicy struct {
// BucketAccessPolicy - Collection of canned bucket policy at a given prefix.
type BucketAccessPolicy struct {
Prefix string `json:"prefix"`
Policy policy.BucketPolicy `json:"policy"`
}
@@ -717,7 +717,7 @@ type bucketAccessPolicy struct {
// ListAllBucketPoliciesRep - get all bucket policy reply.
type ListAllBucketPoliciesRep struct {
UIVersion string `json:"uiVersion"`
Policies []bucketAccessPolicy `json:"policies"`
Policies []BucketAccessPolicy `json:"policies"`
}
// GetllBucketPolicy - get all bucket policy.
@@ -738,7 +738,7 @@ func (web *webAPIHandlers) ListAllBucketPolicies(r *http.Request, args *ListAllB
reply.UIVersion = browser.UIVersion
for prefix, policy := range policy.GetPolicies(policyInfo.Statements, args.BucketName) {
reply.Policies = append(reply.Policies, bucketAccessPolicy{
reply.Policies = append(reply.Policies, BucketAccessPolicy{
Prefix: prefix,
Policy: policy,
})