github.com/artpar/rclone@v1.67.3/docs/content/oracleobjectstorage.md (about)

     1  ---
     2  title: "Oracle Object Storage"
     3  description: "Rclone docs for Oracle Object Storage"
     4  type: page
     5  versionIntroduced: "v1.60"
     6  ---
     7  
     8  # {{< icon "fa fa-cloud" >}} Oracle Object Storage
     9  - [Oracle Object Storage Overview](https://docs.oracle.com/en-us/iaas/Content/Object/Concepts/objectstorageoverview.htm)
    10  - [Oracle Object Storage FAQ](https://www.oracle.com/cloud/storage/object-storage/faq/)
    11  - [Oracle Object Storage Limits](https://docs.oracle.com/en-us/iaas/Content/Resources/Assets/whitepapers/oci-object-storage-best-practices.pdf)
    12  
    13  Paths are specified as `remote:bucket` (or `remote:` for the `lsd` command.)  You may put subdirectories in 
    14  too, e.g. `remote:bucket/path/to/dir`.
    15  
    16  Sample command to transfer local artifacts to remote:bucket in oracle object storage:
    17  
    18  `rclone -vvv  --progress --stats-one-line --max-stats-groups 10 --log-format date,time,UTC,longfile --fast-list --buffer-size 256Mi --oos-no-check-bucket --oos-upload-cutoff 10Mi --multi-thread-cutoff 16Mi --multi-thread-streams 3000 --transfers 3000 --checkers 64  --retries 2  --oos-chunk-size 10Mi --oos-upload-concurrency 10000  --oos-attempt-resume-upload --oos-leave-parts-on-error sync ./artifacts  remote:bucket -vv`
    19  
    20  ## Configuration
    21  
    22  Here is an example of making an oracle object storage configuration. `rclone config` walks you 
    23  through it.
    24  
    25  Here is an example of how to make a remote called `remote`.  First run:
    26  
    27       rclone config
    28  
    29  This will guide you through an interactive setup process:
    30  
    31  
    32  ```
    33  n) New remote
    34  d) Delete remote
    35  r) Rename remote
    36  c) Copy remote
    37  s) Set configuration password
    38  q) Quit config
    39  e/n/d/r/c/s/q> n
    40  
    41  Enter name for new remote.
    42  name> remote
    43  
    44  Option Storage.
    45  Type of storage to configure.
    46  Choose a number from below, or type in your own value.
    47  [snip]
    48  XX / Oracle Cloud Infrastructure Object Storage
    49     \ (oracleobjectstorage)
    50  Storage> oracleobjectstorage
    51  
    52  Option provider.
    53  Choose your Auth Provider
    54  Choose a number from below, or type in your own string value.
    55  Press Enter for the default (env_auth).
    56   1 / automatically pickup the credentials from runtime(env), first one to provide auth wins
    57     \ (env_auth)
    58     / use an OCI user and an API key for authentication.
    59   2 | you’ll need to put in a config file your tenancy OCID, user OCID, region, the path, fingerprint to an API key.
    60     | https://docs.oracle.com/en-us/iaas/Content/API/Concepts/sdkconfig.htm
    61     \ (user_principal_auth)
    62     / use instance principals to authorize an instance to make API calls.
    63   3 | each instance has its own identity, and authenticates using the certificates that are read from instance metadata.
    64     | https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/callingservicesfrominstances.htm
    65     \ (instance_principal_auth)
    66     / use workload identity to grant Kubernetes pods policy-driven access to Oracle Cloud
    67   4 | Infrastructure (OCI) resources using OCI Identity and Access Management (IAM).
    68     | https://docs.oracle.com/en-us/iaas/Content/ContEng/Tasks/contenggrantingworkloadaccesstoresources.htm
    69     \ (workload_identity_auth)
    70   5 / use resource principals to make API calls
    71     \ (resource_principal_auth)
    72   6 / no credentials needed, this is typically for reading public buckets
    73     \ (no_auth)
    74  provider> 2
    75  
    76  Option namespace.
    77  Object storage namespace
    78  Enter a value.
    79  namespace> idbamagbg734
    80  
    81  Option compartment.
    82  Object storage compartment OCID
    83  Enter a value.
    84  compartment> ocid1.compartment.oc1..aaaaaaaapufkxc7ame3sthry5i7ujrwfc7ejnthhu6bhanm5oqfjpyasjkba
    85  
    86  Option region.
    87  Object storage Region
    88  Enter a value.
    89  region> us-ashburn-1
    90  
    91  Option endpoint.
    92  Endpoint for Object storage API.
    93  Leave blank to use the default endpoint for the region.
    94  Enter a value. Press Enter to leave empty.
    95  endpoint> 
    96  
    97  Option config_file.
    98  Full Path to OCI config file
    99  Choose a number from below, or type in your own string value.
   100  Press Enter for the default (~/.oci/config).
   101   1 / oci configuration file location
   102     \ (~/.oci/config)
   103  config_file> /etc/oci/dev.conf
   104  
   105  Option config_profile.
   106  Profile name inside OCI config file
   107  Choose a number from below, or type in your own string value.
   108  Press Enter for the default (Default).
   109   1 / Use the default profile
   110     \ (Default)
   111  config_profile> Test
   112  
   113  Edit advanced config?
   114  y) Yes
   115  n) No (default)
   116  y/n> n
   117  
   118  Configuration complete.
   119  Options:
   120  - type: oracleobjectstorage
   121  - namespace: idbamagbg734
   122  - compartment: ocid1.compartment.oc1..aaaaaaaapufkxc7ame3sthry5i7ujrwfc7ejnthhu6bhanm5oqfjpyasjkba
   123  - region: us-ashburn-1
   124  - provider: user_principal_auth
   125  - config_file: /etc/oci/dev.conf
   126  - config_profile: Test
   127  Keep this "remote" remote?
   128  y) Yes this is OK (default)
   129  e) Edit this remote
   130  d) Delete this remote
   131  y/e/d> y
   132  ```
   133  
   134  See all buckets
   135  
   136      rclone lsd remote:
   137  
   138  Create a new bucket
   139  
   140      rclone mkdir remote:bucket
   141  
   142  List the contents of a bucket
   143  
   144      rclone ls remote:bucket
   145      rclone ls remote:bucket --max-depth 1
   146  
   147  ## Authentication Providers 
   148  
   149  OCI has various authentication methods. To learn more about authentication methods please refer [oci authentication 
   150  methods](https://docs.oracle.com/en-us/iaas/Content/API/Concepts/sdk_authentication_methods.htm) 
   151  These choices can be specified in the rclone config file.
   152  
   153  Rclone supports the following OCI authentication provider.
   154  
   155      User Principal
   156      Instance Principal
   157      Resource Principal
   158      Workload Identity
   159      No authentication
   160  
   161  ### User Principal
   162  
   163  Sample rclone config file for Authentication Provider User Principal:
   164  
   165      [oos]
   166      type = oracleobjectstorage
   167      namespace = id<redacted>34
   168      compartment = ocid1.compartment.oc1..aa<redacted>ba
   169      region = us-ashburn-1
   170      provider = user_principal_auth
   171      config_file = /home/opc/.oci/config
   172      config_profile = Default
   173  
   174  Advantages:
   175  - One can use this method from any server within OCI or on-premises or from other cloud provider.
   176  
   177  Considerations:
   178  - you need to configure user’s privileges / policy to allow access to object storage
   179  - Overhead of managing users and keys.
   180  - If the user is deleted, the config file will no longer work and may cause automation regressions that use the user's credentials.
   181  
   182  ###  Instance Principal
   183  
   184  An OCI compute instance can be authorized to use rclone by using it's identity and certificates as an instance principal. 
   185  With this approach no credentials have to be stored and managed.
   186  
   187  Sample rclone configuration file for Authentication Provider Instance Principal:
   188  
   189      [opc@rclone ~]$ cat ~/.config/artpar/artpar.conf
   190      [oos]
   191      type = oracleobjectstorage
   192      namespace = id<redacted>fn
   193      compartment = ocid1.compartment.oc1..aa<redacted>k7a
   194      region = us-ashburn-1
   195      provider = instance_principal_auth
   196  
   197  Advantages:
   198  
   199  - With instance principals, you don't need to configure user credentials and transfer/ save it to disk in your compute 
   200    instances or rotate the credentials.
   201  - You don’t need to deal with users and keys.
   202  - Greatly helps in automation as you don't have to manage access keys, user private keys, storing them in vault, 
   203    using kms etc.
   204  
   205  Considerations:
   206  
   207  - You need to configure a dynamic group having this instance as member and add policy to read object storage to that 
   208    dynamic group.
   209  - Everyone who has access to this machine can execute the CLI commands.
   210  - It is applicable for oci compute instances only. It cannot be used on external instance or resources.
   211  
   212  ### Resource Principal
   213  
   214  Resource principal auth is very similar to instance principal auth but used for resources that are not 
   215  compute instances such as [serverless functions](https://docs.oracle.com/en-us/iaas/Content/Functions/Concepts/functionsoverview.htm). 
   216  To use resource principal ensure Rclone process is started with these environment variables set in its process.
   217  
   218      export OCI_RESOURCE_PRINCIPAL_VERSION=2.2
   219      export OCI_RESOURCE_PRINCIPAL_REGION=us-ashburn-1
   220      export OCI_RESOURCE_PRINCIPAL_PRIVATE_PEM=/usr/share/model-server/key.pem
   221      export OCI_RESOURCE_PRINCIPAL_RPST=/usr/share/model-server/security_token
   222  
   223  Sample rclone configuration file for Authentication Provider Resource Principal:
   224  
   225      [oos]
   226      type = oracleobjectstorage
   227      namespace = id<redacted>34
   228      compartment = ocid1.compartment.oc1..aa<redacted>ba
   229      region = us-ashburn-1
   230      provider = resource_principal_auth
   231  
   232  ### Workload Identity
   233  Workload Identity auth may be used when running Rclone from Kubernetes pod on a Container Engine for Kubernetes (OKE) cluster.
   234  For more details on configuring Workload Identity, see [Granting Workloads Access to OCI Resources](https://docs.oracle.com/en-us/iaas/Content/ContEng/Tasks/contenggrantingworkloadaccesstoresources.htm).
   235  To use workload identity, ensure Rclone is started with these environment variables set in its process.
   236  
   237      export OCI_RESOURCE_PRINCIPAL_VERSION=2.2
   238      export OCI_RESOURCE_PRINCIPAL_REGION=us-ashburn-1
   239  
   240  ### No authentication
   241  
   242  Public buckets do not require any authentication mechanism to read objects.
   243  Sample rclone configuration file for No authentication:
   244      
   245      [oos]
   246      type = oracleobjectstorage
   247      namespace = id<redacted>34
   248      compartment = ocid1.compartment.oc1..aa<redacted>ba
   249      region = us-ashburn-1
   250      provider = no_auth
   251  
   252  ### Modification times and hashes
   253  
   254  The modification time is stored as metadata on the object as
   255  `opc-meta-mtime` as floating point since the epoch, accurate to 1 ns.
   256  
   257  If the modification time needs to be updated rclone will attempt to perform a server
   258  side copy to update the modification if the object can be copied in a single part.
   259  In the case the object is larger than 5Gb, the object will be uploaded rather than copied.
   260  
   261  Note that reading this from the object takes an additional `HEAD` request as the metadata
   262  isn't returned in object listings.
   263  
   264  The MD5 hash algorithm is supported.
   265  
   266  ### Multipart uploads
   267  
   268  rclone supports multipart uploads with OOS which means that it can
   269  upload files bigger than 5 GiB.
   270  
   271  Note that files uploaded *both* with multipart upload *and* through
   272  crypt remotes do not have MD5 sums.
   273  
   274  rclone switches from single part uploads to multipart uploads at the
   275  point specified by `--oos-upload-cutoff`.  This can be a maximum of 5 GiB
   276  and a minimum of 0 (ie always upload multipart files).
   277  
   278  The chunk sizes used in the multipart upload are specified by
   279  `--oos-chunk-size` and the number of chunks uploaded concurrently is
   280  specified by `--oos-upload-concurrency`.
   281  
   282  Multipart uploads will use `--transfers` * `--oos-upload-concurrency` *
   283  `--oos-chunk-size` extra memory.  Single part uploads to not use extra
   284  memory.
   285  
   286  Single part transfers can be faster than multipart transfers or slower
   287  depending on your latency from oos - the more latency, the more likely
   288  single part transfers will be faster.
   289  
   290  Increasing `--oos-upload-concurrency` will increase throughput (8 would
   291  be a sensible value) and increasing `--oos-chunk-size` also increases
   292  throughput (16M would be sensible).  Increasing either of these will
   293  use more memory.  The default values are high enough to gain most of
   294  the possible performance without using too much memory.
   295  
   296  {{< rem autogenerated options start" - DO NOT EDIT - instead edit fs.RegInfo in backend/oracleobjectstorage/oracleobjectstorage.go then run make backenddocs" >}}
   297  ### Standard options
   298  
   299  Here are the Standard options specific to oracleobjectstorage (Oracle Cloud Infrastructure Object Storage).
   300  
   301  #### --oos-provider
   302  
   303  Choose your Auth Provider
   304  
   305  Properties:
   306  
   307  - Config:      provider
   308  - Env Var:     RCLONE_OOS_PROVIDER
   309  - Type:        string
   310  - Default:     "env_auth"
   311  - Examples:
   312      - "env_auth"
   313          - automatically pickup the credentials from runtime(env), first one to provide auth wins
   314      - "user_principal_auth"
   315          - use an OCI user and an API key for authentication.
   316          - you’ll need to put in a config file your tenancy OCID, user OCID, region, the path, fingerprint to an API key.
   317          - https://docs.oracle.com/en-us/iaas/Content/API/Concepts/sdkconfig.htm
   318      - "instance_principal_auth"
   319          - use instance principals to authorize an instance to make API calls. 
   320          - each instance has its own identity, and authenticates using the certificates that are read from instance metadata. 
   321          - https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/callingservicesfrominstances.htm
   322      - "workload_identity_auth"
   323          - use workload identity to grant OCI Container Engine for Kubernetes workloads policy-driven access to OCI resources using OCI Identity and Access Management (IAM).
   324          - https://docs.oracle.com/en-us/iaas/Content/ContEng/Tasks/contenggrantingworkloadaccesstoresources.htm
   325      - "resource_principal_auth"
   326          - use resource principals to make API calls
   327      - "no_auth"
   328          - no credentials needed, this is typically for reading public buckets
   329  
   330  #### --oos-namespace
   331  
   332  Object storage namespace
   333  
   334  Properties:
   335  
   336  - Config:      namespace
   337  - Env Var:     RCLONE_OOS_NAMESPACE
   338  - Type:        string
   339  - Required:    true
   340  
   341  #### --oos-compartment
   342  
   343  Object storage compartment OCID
   344  
   345  Properties:
   346  
   347  - Config:      compartment
   348  - Env Var:     RCLONE_OOS_COMPARTMENT
   349  - Provider:    !no_auth
   350  - Type:        string
   351  - Required:    true
   352  
   353  #### --oos-region
   354  
   355  Object storage Region
   356  
   357  Properties:
   358  
   359  - Config:      region
   360  - Env Var:     RCLONE_OOS_REGION
   361  - Type:        string
   362  - Required:    true
   363  
   364  #### --oos-endpoint
   365  
   366  Endpoint for Object storage API.
   367  
   368  Leave blank to use the default endpoint for the region.
   369  
   370  Properties:
   371  
   372  - Config:      endpoint
   373  - Env Var:     RCLONE_OOS_ENDPOINT
   374  - Type:        string
   375  - Required:    false
   376  
   377  #### --oos-config-file
   378  
   379  Path to OCI config file
   380  
   381  Properties:
   382  
   383  - Config:      config_file
   384  - Env Var:     RCLONE_OOS_CONFIG_FILE
   385  - Provider:    user_principal_auth
   386  - Type:        string
   387  - Default:     "~/.oci/config"
   388  - Examples:
   389      - "~/.oci/config"
   390          - oci configuration file location
   391  
   392  #### --oos-config-profile
   393  
   394  Profile name inside the oci config file
   395  
   396  Properties:
   397  
   398  - Config:      config_profile
   399  - Env Var:     RCLONE_OOS_CONFIG_PROFILE
   400  - Provider:    user_principal_auth
   401  - Type:        string
   402  - Default:     "Default"
   403  - Examples:
   404      - "Default"
   405          - Use the default profile
   406  
   407  ### Advanced options
   408  
   409  Here are the Advanced options specific to oracleobjectstorage (Oracle Cloud Infrastructure Object Storage).
   410  
   411  #### --oos-storage-tier
   412  
   413  The storage class to use when storing new objects in storage. https://docs.oracle.com/en-us/iaas/Content/Object/Concepts/understandingstoragetiers.htm
   414  
   415  Properties:
   416  
   417  - Config:      storage_tier
   418  - Env Var:     RCLONE_OOS_STORAGE_TIER
   419  - Type:        string
   420  - Default:     "Standard"
   421  - Examples:
   422      - "Standard"
   423          - Standard storage tier, this is the default tier
   424      - "InfrequentAccess"
   425          - InfrequentAccess storage tier
   426      - "Archive"
   427          - Archive storage tier
   428  
   429  #### --oos-upload-cutoff
   430  
   431  Cutoff for switching to chunked upload.
   432  
   433  Any files larger than this will be uploaded in chunks of chunk_size.
   434  The minimum is 0 and the maximum is 5 GiB.
   435  
   436  Properties:
   437  
   438  - Config:      upload_cutoff
   439  - Env Var:     RCLONE_OOS_UPLOAD_CUTOFF
   440  - Type:        SizeSuffix
   441  - Default:     200Mi
   442  
   443  #### --oos-chunk-size
   444  
   445  Chunk size to use for uploading.
   446  
   447  When uploading files larger than upload_cutoff or files with unknown
   448  size (e.g. from "rclone rcat" or uploaded with "rclone mount" they will be uploaded 
   449  as multipart uploads using this chunk size.
   450  
   451  Note that "upload_concurrency" chunks of this size are buffered
   452  in memory per transfer.
   453  
   454  If you are transferring large files over high-speed links and you have
   455  enough memory, then increasing this will speed up the transfers.
   456  
   457  Rclone will automatically increase the chunk size when uploading a
   458  large file of known size to stay below the 10,000 chunks limit.
   459  
   460  Files of unknown size are uploaded with the configured
   461  chunk_size. Since the default chunk size is 5 MiB and there can be at
   462  most 10,000 chunks, this means that by default the maximum size of
   463  a file you can stream upload is 48 GiB.  If you wish to stream upload
   464  larger files then you will need to increase chunk_size.
   465  
   466  Increasing the chunk size decreases the accuracy of the progress
   467  statistics displayed with "-P" flag.
   468  
   469  
   470  Properties:
   471  
   472  - Config:      chunk_size
   473  - Env Var:     RCLONE_OOS_CHUNK_SIZE
   474  - Type:        SizeSuffix
   475  - Default:     5Mi
   476  
   477  #### --oos-max-upload-parts
   478  
   479  Maximum number of parts in a multipart upload.
   480  
   481  This option defines the maximum number of multipart chunks to use
   482  when doing a multipart upload.
   483  
   484  OCI has max parts limit of 10,000 chunks.
   485  
   486  Rclone will automatically increase the chunk size when uploading a
   487  large file of a known size to stay below this number of chunks limit.
   488  
   489  
   490  Properties:
   491  
   492  - Config:      max_upload_parts
   493  - Env Var:     RCLONE_OOS_MAX_UPLOAD_PARTS
   494  - Type:        int
   495  - Default:     10000
   496  
   497  #### --oos-upload-concurrency
   498  
   499  Concurrency for multipart uploads.
   500  
   501  This is the number of chunks of the same file that are uploaded
   502  concurrently.
   503  
   504  If you are uploading small numbers of large files over high-speed links
   505  and these uploads do not fully utilize your bandwidth, then increasing
   506  this may help to speed up the transfers.
   507  
   508  Properties:
   509  
   510  - Config:      upload_concurrency
   511  - Env Var:     RCLONE_OOS_UPLOAD_CONCURRENCY
   512  - Type:        int
   513  - Default:     10
   514  
   515  #### --oos-copy-cutoff
   516  
   517  Cutoff for switching to multipart copy.
   518  
   519  Any files larger than this that need to be server-side copied will be
   520  copied in chunks of this size.
   521  
   522  The minimum is 0 and the maximum is 5 GiB.
   523  
   524  Properties:
   525  
   526  - Config:      copy_cutoff
   527  - Env Var:     RCLONE_OOS_COPY_CUTOFF
   528  - Type:        SizeSuffix
   529  - Default:     4.656Gi
   530  
   531  #### --oos-copy-timeout
   532  
   533  Timeout for copy.
   534  
   535  Copy is an asynchronous operation, specify timeout to wait for copy to succeed
   536  
   537  
   538  Properties:
   539  
   540  - Config:      copy_timeout
   541  - Env Var:     RCLONE_OOS_COPY_TIMEOUT
   542  - Type:        Duration
   543  - Default:     1m0s
   544  
   545  #### --oos-disable-checksum
   546  
   547  Don't store MD5 checksum with object metadata.
   548  
   549  Normally rclone will calculate the MD5 checksum of the input before
   550  uploading it so it can add it to metadata on the object. This is great
   551  for data integrity checking but can cause long delays for large files
   552  to start uploading.
   553  
   554  Properties:
   555  
   556  - Config:      disable_checksum
   557  - Env Var:     RCLONE_OOS_DISABLE_CHECKSUM
   558  - Type:        bool
   559  - Default:     false
   560  
   561  #### --oos-encoding
   562  
   563  The encoding for the backend.
   564  
   565  See the [encoding section in the overview](/overview/#encoding) for more info.
   566  
   567  Properties:
   568  
   569  - Config:      encoding
   570  - Env Var:     RCLONE_OOS_ENCODING
   571  - Type:        Encoding
   572  - Default:     Slash,InvalidUtf8,Dot
   573  
   574  #### --oos-leave-parts-on-error
   575  
   576  If true avoid calling abort upload on a failure, leaving all successfully uploaded parts for manual recovery.
   577  
   578  It should be set to true for resuming uploads across different sessions.
   579  
   580  WARNING: Storing parts of an incomplete multipart upload counts towards space usage on object storage and will add
   581  additional costs if not cleaned up.
   582  
   583  
   584  Properties:
   585  
   586  - Config:      leave_parts_on_error
   587  - Env Var:     RCLONE_OOS_LEAVE_PARTS_ON_ERROR
   588  - Type:        bool
   589  - Default:     false
   590  
   591  #### --oos-attempt-resume-upload
   592  
   593  If true attempt to resume previously started multipart upload for the object.
   594  This will be helpful to speed up multipart transfers by resuming uploads from past session.
   595  
   596  WARNING: If chunk size differs in resumed session from past incomplete session, then the resumed multipart upload is 
   597  aborted and a new multipart upload is started with the new chunk size.
   598  
   599  The flag leave_parts_on_error must be true to resume and optimize to skip parts that were already uploaded successfully.
   600  
   601  
   602  Properties:
   603  
   604  - Config:      attempt_resume_upload
   605  - Env Var:     RCLONE_OOS_ATTEMPT_RESUME_UPLOAD
   606  - Type:        bool
   607  - Default:     false
   608  
   609  #### --oos-no-check-bucket
   610  
   611  If set, don't attempt to check the bucket exists or create it.
   612  
   613  This can be useful when trying to minimise the number of transactions
   614  rclone does if you know the bucket exists already.
   615  
   616  It can also be needed if the user you are using does not have bucket
   617  creation permissions.
   618  
   619  
   620  Properties:
   621  
   622  - Config:      no_check_bucket
   623  - Env Var:     RCLONE_OOS_NO_CHECK_BUCKET
   624  - Type:        bool
   625  - Default:     false
   626  
   627  #### --oos-sse-customer-key-file
   628  
   629  To use SSE-C, a file containing the base64-encoded string of the AES-256 encryption key associated
   630  with the object. Please note only one of sse_customer_key_file|sse_customer_key|sse_kms_key_id is needed.'
   631  
   632  Properties:
   633  
   634  - Config:      sse_customer_key_file
   635  - Env Var:     RCLONE_OOS_SSE_CUSTOMER_KEY_FILE
   636  - Type:        string
   637  - Required:    false
   638  - Examples:
   639      - ""
   640          - None
   641  
   642  #### --oos-sse-customer-key
   643  
   644  To use SSE-C, the optional header that specifies the base64-encoded 256-bit encryption key to use to
   645  encrypt or  decrypt the data. Please note only one of sse_customer_key_file|sse_customer_key|sse_kms_key_id is
   646  needed. For more information, see Using Your Own Keys for Server-Side Encryption 
   647  (https://docs.cloud.oracle.com/Content/Object/Tasks/usingyourencryptionkeys.htm)
   648  
   649  Properties:
   650  
   651  - Config:      sse_customer_key
   652  - Env Var:     RCLONE_OOS_SSE_CUSTOMER_KEY
   653  - Type:        string
   654  - Required:    false
   655  - Examples:
   656      - ""
   657          - None
   658  
   659  #### --oos-sse-customer-key-sha256
   660  
   661  If using SSE-C, The optional header that specifies the base64-encoded SHA256 hash of the encryption
   662  key. This value is used to check the integrity of the encryption key. see Using Your Own Keys for 
   663  Server-Side Encryption (https://docs.cloud.oracle.com/Content/Object/Tasks/usingyourencryptionkeys.htm).
   664  
   665  Properties:
   666  
   667  - Config:      sse_customer_key_sha256
   668  - Env Var:     RCLONE_OOS_SSE_CUSTOMER_KEY_SHA256
   669  - Type:        string
   670  - Required:    false
   671  - Examples:
   672      - ""
   673          - None
   674  
   675  #### --oos-sse-kms-key-id
   676  
   677  if using your own master key in vault, this header specifies the
   678  OCID (https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of a master encryption key used to call
   679  the Key Management service to generate a data encryption key or to encrypt or decrypt a data encryption key.
   680  Please note only one of sse_customer_key_file|sse_customer_key|sse_kms_key_id is needed.
   681  
   682  Properties:
   683  
   684  - Config:      sse_kms_key_id
   685  - Env Var:     RCLONE_OOS_SSE_KMS_KEY_ID
   686  - Type:        string
   687  - Required:    false
   688  - Examples:
   689      - ""
   690          - None
   691  
   692  #### --oos-sse-customer-algorithm
   693  
   694  If using SSE-C, the optional header that specifies "AES256" as the encryption algorithm.
   695  Object Storage supports "AES256" as the encryption algorithm. For more information, see
   696  Using Your Own Keys for Server-Side Encryption (https://docs.cloud.oracle.com/Content/Object/Tasks/usingyourencryptionkeys.htm).
   697  
   698  Properties:
   699  
   700  - Config:      sse_customer_algorithm
   701  - Env Var:     RCLONE_OOS_SSE_CUSTOMER_ALGORITHM
   702  - Type:        string
   703  - Required:    false
   704  - Examples:
   705      - ""
   706          - None
   707      - "AES256"
   708          - AES256
   709  
   710  #### --oos-description
   711  
   712  Description of the remote
   713  
   714  Properties:
   715  
   716  - Config:      description
   717  - Env Var:     RCLONE_OOS_DESCRIPTION
   718  - Type:        string
   719  - Required:    false
   720  
   721  ## Backend commands
   722  
   723  Here are the commands specific to the oracleobjectstorage backend.
   724  
   725  Run them with
   726  
   727      rclone backend COMMAND remote:
   728  
   729  The help below will explain what arguments each command takes.
   730  
   731  See the [backend](/commands/rclone_backend/) command for more
   732  info on how to pass options and arguments.
   733  
   734  These can be run on a running backend using the rc command
   735  [backend/command](/rc/#backend-command).
   736  
   737  ### rename
   738  
   739  change the name of an object
   740  
   741      rclone backend rename remote: [options] [<arguments>+]
   742  
   743  This command can be used to rename a object.
   744  
   745  Usage Examples:
   746  
   747      rclone backend rename oos:bucket relative-object-path-under-bucket object-new-name
   748  
   749  
   750  ### list-multipart-uploads
   751  
   752  List the unfinished multipart uploads
   753  
   754      rclone backend list-multipart-uploads remote: [options] [<arguments>+]
   755  
   756  This command lists the unfinished multipart uploads in JSON format.
   757  
   758      rclone backend list-multipart-uploads oos:bucket/path/to/object
   759  
   760  It returns a dictionary of buckets with values as lists of unfinished
   761  multipart uploads.
   762  
   763  You can call it with no bucket in which case it lists all bucket, with
   764  a bucket or with a bucket and path.
   765  
   766      {
   767        "test-bucket": [
   768                  {
   769                          "namespace": "test-namespace",
   770                          "bucket": "test-bucket",
   771                          "object": "600m.bin",
   772                          "uploadId": "51dd8114-52a4-b2f2-c42f-5291f05eb3c8",
   773                          "timeCreated": "2022-07-29T06:21:16.595Z",
   774                          "storageTier": "Standard"
   775                  }
   776          ]
   777  
   778  
   779  ### cleanup
   780  
   781  Remove unfinished multipart uploads.
   782  
   783      rclone backend cleanup remote: [options] [<arguments>+]
   784  
   785  This command removes unfinished multipart uploads of age greater than
   786  max-age which defaults to 24 hours.
   787  
   788  Note that you can use --interactive/-i or --dry-run with this command to see what
   789  it would do.
   790  
   791      rclone backend cleanup oos:bucket/path/to/object
   792      rclone backend cleanup -o max-age=7w oos:bucket/path/to/object
   793  
   794  Durations are parsed as per the rest of rclone, 2h, 7d, 7w etc.
   795  
   796  
   797  Options:
   798  
   799  - "max-age": Max age of upload to delete
   800  
   801  ### restore
   802  
   803  Restore objects from Archive to Standard storage
   804  
   805      rclone backend restore remote: [options] [<arguments>+]
   806  
   807  This command can be used to restore one or more objects from Archive to Standard storage.
   808  
   809  	Usage Examples:
   810  
   811      rclone backend restore oos:bucket/path/to/directory -o hours=HOURS
   812      rclone backend restore oos:bucket -o hours=HOURS
   813  
   814  This flag also obeys the filters. Test first with --interactive/-i or --dry-run flags
   815  
   816  	rclone --interactive backend restore --include "*.txt" oos:bucket/path -o hours=72
   817  
   818  All the objects shown will be marked for restore, then
   819  
   820  	rclone backend restore --include "*.txt" oos:bucket/path -o hours=72
   821  
   822  	It returns a list of status dictionaries with Object Name and Status
   823  	keys. The Status will be "RESTORED"" if it was successful or an error message
   824  	if not.
   825  
   826  	[
   827  		{
   828  			"Object": "test.txt"
   829  			"Status": "RESTORED",
   830  		},
   831  		{
   832  			"Object": "test/file4.txt"
   833  			"Status": "RESTORED",
   834  		}
   835  	]
   836  
   837  
   838  Options:
   839  
   840  - "hours": The number of hours for which this object will be restored. Default is 24 hrs.
   841  
   842  {{< rem autogenerated options stop >}}
   843  
   844  ## Tutorials
   845  ### [Mounting Buckets](/oracleobjectstorage/tutorial_mount/)