s3: add Outscale provider
Signed-off-by: matthias.gatto <matthias.gatto@outscale.com> Co-authored-by: André Tran <andre.tran@outscale.com>
This commit is contained in:
parent
51db76fd47
commit
9614fc60f2
4 changed files with 211 additions and 1 deletions
|
@ -93,6 +93,7 @@ Rclone *("rsync for cloud storage")* is a command-line program to sync files and
|
||||||
* OpenStack Swift [:page_facing_up:](https://rclone.org/swift/)
|
* OpenStack Swift [:page_facing_up:](https://rclone.org/swift/)
|
||||||
* Oracle Cloud Storage [:page_facing_up:](https://rclone.org/swift/)
|
* Oracle Cloud Storage [:page_facing_up:](https://rclone.org/swift/)
|
||||||
* Oracle Object Storage [:page_facing_up:](https://rclone.org/oracleobjectstorage/)
|
* Oracle Object Storage [:page_facing_up:](https://rclone.org/oracleobjectstorage/)
|
||||||
|
* Outscale [:page_facing_up:](https://rclone.org/s3/#outscale)
|
||||||
* ownCloud [:page_facing_up:](https://rclone.org/webdav/#owncloud)
|
* ownCloud [:page_facing_up:](https://rclone.org/webdav/#owncloud)
|
||||||
* pCloud [:page_facing_up:](https://rclone.org/pcloud/)
|
* pCloud [:page_facing_up:](https://rclone.org/pcloud/)
|
||||||
* Petabox [:page_facing_up:](https://rclone.org/s3/#petabox)
|
* Petabox [:page_facing_up:](https://rclone.org/s3/#petabox)
|
||||||
|
|
|
@ -136,6 +136,9 @@ var providerOption = fs.Option{
|
||||||
}, {
|
}, {
|
||||||
Value: "Netease",
|
Value: "Netease",
|
||||||
Help: "Netease Object Storage (NOS)",
|
Help: "Netease Object Storage (NOS)",
|
||||||
|
}, {
|
||||||
|
Value: "Outscale",
|
||||||
|
Help: "OUTSCALE Object Storage (OOS)",
|
||||||
}, {
|
}, {
|
||||||
Value: "Petabox",
|
Value: "Petabox",
|
||||||
Help: "Petabox Object Storage",
|
Help: "Petabox Object Storage",
|
||||||
|
@ -488,6 +491,26 @@ func init() {
|
||||||
Value: "eu-south-2",
|
Value: "eu-south-2",
|
||||||
Help: "Logrono, Spain",
|
Help: "Logrono, Spain",
|
||||||
}},
|
}},
|
||||||
|
}, {
|
||||||
|
Name: "region",
|
||||||
|
Help: "Region where your bucket will be created and your data stored.\n",
|
||||||
|
Provider: "Outscale",
|
||||||
|
Examples: []fs.OptionExample{{
|
||||||
|
Value: "eu-west-2",
|
||||||
|
Help: "Paris, France",
|
||||||
|
}, {
|
||||||
|
Value: "us-east-2",
|
||||||
|
Help: "New Jersey, USA",
|
||||||
|
}, {
|
||||||
|
Value: "us-west-1",
|
||||||
|
Help: "California, USA",
|
||||||
|
}, {
|
||||||
|
Value: "cloudgouv-eu-west-1",
|
||||||
|
Help: "SecNumCloud, Paris, France",
|
||||||
|
}, {
|
||||||
|
Value: "ap-northeast-1",
|
||||||
|
Help: "Tokyo, Japan",
|
||||||
|
}},
|
||||||
}, {
|
}, {
|
||||||
Name: "region",
|
Name: "region",
|
||||||
Help: "Region where your bucket will be created and your data stored.\n",
|
Help: "Region where your bucket will be created and your data stored.\n",
|
||||||
|
@ -1344,6 +1367,26 @@ func init() {
|
||||||
Value: "s3.ap-southeast-1.lyvecloud.seagate.com",
|
Value: "s3.ap-southeast-1.lyvecloud.seagate.com",
|
||||||
Help: "Seagate Lyve Cloud AP Southeast 1 (Singapore)",
|
Help: "Seagate Lyve Cloud AP Southeast 1 (Singapore)",
|
||||||
Provider: "LyveCloud",
|
Provider: "LyveCloud",
|
||||||
|
}, {
|
||||||
|
Value: "oos.eu-west-2.outscale.com",
|
||||||
|
Help: "Outscale EU West 2 (Paris)",
|
||||||
|
Provider: "Outscale",
|
||||||
|
}, {
|
||||||
|
Value: "oos.us-east-2.outscale.com",
|
||||||
|
Help: "Outscale US east 2 (New Jersey)",
|
||||||
|
Provider: "Outscale",
|
||||||
|
}, {
|
||||||
|
Value: "oos.us-west-1.outscale.com",
|
||||||
|
Help: "Outscale EU West 1 (California)",
|
||||||
|
Provider: "Outscale",
|
||||||
|
}, {
|
||||||
|
Value: "oos.cloudgouv-eu-west-1.outscale.com",
|
||||||
|
Help: "Outscale SecNumCloud (Paris)",
|
||||||
|
Provider: "Outscale",
|
||||||
|
}, {
|
||||||
|
Value: "oos.ap-northeast-1.outscale.com",
|
||||||
|
Help: "Outscale AP Northeast 1 (Japan)",
|
||||||
|
Provider: "Outscale",
|
||||||
}, {
|
}, {
|
||||||
Value: "s3.wasabisys.com",
|
Value: "s3.wasabisys.com",
|
||||||
Help: "Wasabi US East 1 (N. Virginia)",
|
Help: "Wasabi US East 1 (N. Virginia)",
|
||||||
|
@ -1798,7 +1841,7 @@ func init() {
|
||||||
}, {
|
}, {
|
||||||
Name: "location_constraint",
|
Name: "location_constraint",
|
||||||
Help: "Location constraint - must be set to match the Region.\n\nLeave blank if not sure. Used when creating buckets only.",
|
Help: "Location constraint - must be set to match the Region.\n\nLeave blank if not sure. Used when creating buckets only.",
|
||||||
Provider: "!AWS,Alibaba,ArvanCloud,HuaweiOBS,ChinaMobile,Cloudflare,IBMCOS,IDrive,IONOS,Leviia,Liara,Linode,Magalu,Qiniu,RackCorp,Scaleway,StackPath,Storj,TencentCOS,Petabox",
|
Provider: "!AWS,Alibaba,ArvanCloud,HuaweiOBS,ChinaMobile,Cloudflare,IBMCOS,IDrive,IONOS,Leviia,Liara,Linode,Magalu,Outscale,Qiniu,RackCorp,Scaleway,StackPath,Storj,TencentCOS,Petabox",
|
||||||
}, {
|
}, {
|
||||||
Name: "acl",
|
Name: "acl",
|
||||||
Help: `Canned ACL used when creating buckets and storing or copying objects.
|
Help: `Canned ACL used when creating buckets and storing or copying objects.
|
||||||
|
@ -3359,6 +3402,8 @@ func setQuirks(opt *Options) {
|
||||||
urlEncodeListings = false
|
urlEncodeListings = false
|
||||||
useMultipartEtag = false // untested
|
useMultipartEtag = false // untested
|
||||||
useAlreadyExists = false // untested
|
useAlreadyExists = false // untested
|
||||||
|
case "Outscale":
|
||||||
|
virtualHostStyle = false
|
||||||
case "RackCorp":
|
case "RackCorp":
|
||||||
// No quirks
|
// No quirks
|
||||||
useMultipartEtag = false // untested
|
useMultipartEtag = false // untested
|
||||||
|
|
|
@ -160,6 +160,7 @@ WebDAV or S3, that work out of the box.)
|
||||||
{{< provider name="OpenStack Swift" home="https://docs.openstack.org/swift/latest/" config="/swift/" >}}
|
{{< provider name="OpenStack Swift" home="https://docs.openstack.org/swift/latest/" config="/swift/" >}}
|
||||||
{{< provider name="Oracle Cloud Storage Swift" home="https://docs.oracle.com/en-us/iaas/integration/doc/configure-object-storage.html" config="/swift/" >}}
|
{{< provider name="Oracle Cloud Storage Swift" home="https://docs.oracle.com/en-us/iaas/integration/doc/configure-object-storage.html" config="/swift/" >}}
|
||||||
{{< provider name="Oracle Object Storage" home="https://www.oracle.com/cloud/storage/object-storage" config="/oracleobjectstorage/" >}}
|
{{< provider name="Oracle Object Storage" home="https://www.oracle.com/cloud/storage/object-storage" config="/oracleobjectstorage/" >}}
|
||||||
|
{{< provider name="Outscale" home="https://en.outscale.com/storage/outscale-object-storage/" config="/s3/#outscale" >}}
|
||||||
{{< provider name="ownCloud" home="https://owncloud.org/" config="/webdav/#owncloud" >}}
|
{{< provider name="ownCloud" home="https://owncloud.org/" config="/webdav/#owncloud" >}}
|
||||||
{{< provider name="pCloud" home="https://www.pcloud.com/" config="/pcloud/" >}}
|
{{< provider name="pCloud" home="https://www.pcloud.com/" config="/pcloud/" >}}
|
||||||
{{< provider name="Petabox" home="https://petabox.io/" config="/s3/#petabox" >}}
|
{{< provider name="Petabox" home="https://petabox.io/" config="/s3/#petabox" >}}
|
||||||
|
|
|
@ -27,6 +27,7 @@ The S3 backend can be used with a number of different providers:
|
||||||
{{< provider name="Linode Object Storage" home="https://www.linode.com/products/object-storage/" config="/s3/#linode" >}}
|
{{< provider name="Linode Object Storage" home="https://www.linode.com/products/object-storage/" config="/s3/#linode" >}}
|
||||||
{{< provider name="Magalu Object Storage" home="https://magalu.cloud/object-storage/" config="/s3/#magalu" >}}
|
{{< provider name="Magalu Object Storage" home="https://magalu.cloud/object-storage/" config="/s3/#magalu" >}}
|
||||||
{{< provider name="Minio" home="https://www.minio.io/" config="/s3/#minio" >}}
|
{{< provider name="Minio" home="https://www.minio.io/" config="/s3/#minio" >}}
|
||||||
|
{{< provider name="Outscale" home="https://en.outscale.com/storage/outscale-object-storage/" config="/s3/#outscale" >}}
|
||||||
{{< provider name="Petabox" home="https://petabox.io/" config="/s3/#petabox" >}}
|
{{< provider name="Petabox" home="https://petabox.io/" config="/s3/#petabox" >}}
|
||||||
{{< provider name="Qiniu Cloud Object Storage (Kodo)" home="https://www.qiniu.com/en/products/kodo" config="/s3/#qiniu" >}}
|
{{< provider name="Qiniu Cloud Object Storage (Kodo)" home="https://www.qiniu.com/en/products/kodo" config="/s3/#qiniu" >}}
|
||||||
{{< provider name="RackCorp Object Storage" home="https://www.rackcorp.com/" config="/s3/#RackCorp" >}}
|
{{< provider name="RackCorp Object Storage" home="https://www.rackcorp.com/" config="/s3/#RackCorp" >}}
|
||||||
|
@ -3225,6 +3226,168 @@ So once set up, for example, to copy files into a bucket
|
||||||
rclone copy /path/to/files minio:bucket
|
rclone copy /path/to/files minio:bucket
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Outscale
|
||||||
|
|
||||||
|
[OUTSCALE Object Storage (OOS)](https://en.outscale.com/storage/outscale-object-storage/) is an enterprise-grade, S3-compatible storage service provided by OUTSCALE, a brand of Dassault Systèmes. For more information about OOS, see the [official documentation](https://docs.outscale.com/en/userguide/OUTSCALE-Object-Storage-OOS.html).
|
||||||
|
|
||||||
|
Here is an example of an OOS configuration that you can paste into your rclone configuration file:
|
||||||
|
|
||||||
|
```
|
||||||
|
[outscale]
|
||||||
|
type = s3
|
||||||
|
provider = Outscale
|
||||||
|
env_auth = false
|
||||||
|
access_key_id = ABCDEFGHIJ0123456789
|
||||||
|
secret_access_key = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||||||
|
region = eu-west-2
|
||||||
|
endpoint = oos.eu-west-2.outscale.com
|
||||||
|
acl = private
|
||||||
|
```
|
||||||
|
|
||||||
|
You can also run `rclone config` to go through the interactive setup process:
|
||||||
|
|
||||||
|
```
|
||||||
|
No remotes found, make a new one?
|
||||||
|
n) New remote
|
||||||
|
s) Set configuration password
|
||||||
|
q) Quit config
|
||||||
|
n/s/q> n
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
Enter name for new remote.
|
||||||
|
name> outscale
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
Option Storage.
|
||||||
|
Type of storage to configure.
|
||||||
|
Choose a number from below, or type in your own value.
|
||||||
|
[snip]
|
||||||
|
X / Amazon S3 Compliant Storage Providers including AWS, ...Outscale, ...and others
|
||||||
|
\ (s3)
|
||||||
|
[snip]
|
||||||
|
Storage> outscale
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
Option provider.
|
||||||
|
Choose your S3 provider.
|
||||||
|
Choose a number from below, or type in your own value.
|
||||||
|
Press Enter to leave empty.
|
||||||
|
[snip]
|
||||||
|
XX / OUTSCALE Object Storage (OOS)
|
||||||
|
\ (Outscale)
|
||||||
|
[snip]
|
||||||
|
provider> Outscale
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
Option env_auth.
|
||||||
|
Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars).
|
||||||
|
Only applies if access_key_id and secret_access_key is blank.
|
||||||
|
Choose a number from below, or type in your own boolean value (true or false).
|
||||||
|
Press Enter for the default (false).
|
||||||
|
1 / Enter AWS credentials in the next step.
|
||||||
|
\ (false)
|
||||||
|
2 / Get AWS credentials from the environment (env vars or IAM).
|
||||||
|
\ (true)
|
||||||
|
env_auth>
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
Option access_key_id.
|
||||||
|
AWS Access Key ID.
|
||||||
|
Leave blank for anonymous access or runtime credentials.
|
||||||
|
Enter a value. Press Enter to leave empty.
|
||||||
|
access_key_id> ABCDEFGHIJ0123456789
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
Option secret_access_key.
|
||||||
|
AWS Secret Access Key (password).
|
||||||
|
Leave blank for anonymous access or runtime credentials.
|
||||||
|
Enter a value. Press Enter to leave empty.
|
||||||
|
secret_access_key> XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
Option region.
|
||||||
|
Region where your bucket will be created and your data stored.
|
||||||
|
Choose a number from below, or type in your own value.
|
||||||
|
Press Enter to leave empty.
|
||||||
|
1 / Paris, France
|
||||||
|
\ (eu-west-2)
|
||||||
|
2 / New Jersey, USA
|
||||||
|
\ (us-east-2)
|
||||||
|
3 / California, USA
|
||||||
|
\ (us-west-1)
|
||||||
|
4 / SecNumCloud, Paris, France
|
||||||
|
\ (cloudgouv-eu-west-1)
|
||||||
|
5 / Tokyo, Japan
|
||||||
|
\ (ap-northeast-1)
|
||||||
|
region> 1
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
Option endpoint.
|
||||||
|
Endpoint for S3 API.
|
||||||
|
Required when using an S3 clone.
|
||||||
|
Choose a number from below, or type in your own value.
|
||||||
|
Press Enter to leave empty.
|
||||||
|
1 / Outscale EU West 2 (Paris)
|
||||||
|
\ (oos.eu-west-2.outscale.com)
|
||||||
|
2 / Outscale US east 2 (New Jersey)
|
||||||
|
\ (oos.us-east-2.outscale.com)
|
||||||
|
3 / Outscale EU West 1 (California)
|
||||||
|
\ (oos.us-west-1.outscale.com)
|
||||||
|
4 / Outscale SecNumCloud (Paris)
|
||||||
|
\ (oos.cloudgouv-eu-west-1.outscale.com)
|
||||||
|
5 / Outscale AP Northeast 1 (Japan)
|
||||||
|
\ (oos.ap-northeast-1.outscale.com)
|
||||||
|
endpoint> 1
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
Option acl.
|
||||||
|
Canned ACL used when creating buckets and storing or copying objects.
|
||||||
|
This ACL is used for creating objects and if bucket_acl isn't set, for creating buckets too.
|
||||||
|
For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
|
||||||
|
Note that this ACL is applied when server-side copying objects as S3
|
||||||
|
doesn't copy the ACL from the source but rather writes a fresh one.
|
||||||
|
If the acl is an empty string then no X-Amz-Acl: header is added and
|
||||||
|
the default (private) will be used.
|
||||||
|
Choose a number from below, or type in your own value.
|
||||||
|
Press Enter to leave empty.
|
||||||
|
/ Owner gets FULL_CONTROL.
|
||||||
|
1 | No one else has access rights (default).
|
||||||
|
\ (private)
|
||||||
|
[snip]
|
||||||
|
acl> 1
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
Edit advanced config?
|
||||||
|
y) Yes
|
||||||
|
n) No (default)
|
||||||
|
y/n> n
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
Configuration complete.
|
||||||
|
Options:
|
||||||
|
- type: s3
|
||||||
|
- provider: Outscale
|
||||||
|
- access_key_id: ABCDEFGHIJ0123456789
|
||||||
|
- secret_access_key: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||||||
|
- endpoint: oos.eu-west-2.outscale.com
|
||||||
|
Keep this "outscale" remote?
|
||||||
|
y) Yes this is OK (default)
|
||||||
|
e) Edit this remote
|
||||||
|
d) Delete this remote
|
||||||
|
y/e/d> y
|
||||||
|
```
|
||||||
|
|
||||||
### Qiniu Cloud Object Storage (Kodo) {#qiniu}
|
### Qiniu Cloud Object Storage (Kodo) {#qiniu}
|
||||||
|
|
||||||
[Qiniu Cloud Object Storage (Kodo)](https://www.qiniu.com/en/products/kodo), a completely independent-researched core technology which is proven by repeated customer experience has occupied absolute leading market leader position. Kodo can be widely applied to mass data management.
|
[Qiniu Cloud Object Storage (Kodo)](https://www.qiniu.com/en/products/kodo), a completely independent-researched core technology which is proven by repeated customer experience has occupied absolute leading market leader position. Kodo can be widely applied to mass data management.
|
||||||
|
|
Loading…
Reference in a new issue