Create a mirror

Create a mirror. A mirror can be used to mirror data across multiple vaults.

CAUTION:
Mirrors are not supported in Container Mode.

Request

Security

Table 1. Roles capable of executing the Create Mirror (createMirror) API method
Any Super User System Admin Security Admin Operator
  superUser systemAdmin    

HTTP method

POST /manager/api/{apiResponseType}/1.0/createMirror.adm HTTP/1.1 Host:{manager.dsnet} name={mirroringPolicy}&description={mirrorDescription}

Curl method

curl -u {admin}:{password} -k ”https://{manager.dsnet}/manager/api/{apiResponseType}/1.0/createMirror.adm“ -d ”name={mirroringPolicy}&description={mirrorDescription}“

Parameters

Table 2. Request Parameters for Create Mirror (createMirror) API method
Parameter Type Usage Default Description
name String Required  

The name for the mirror. It is used for display in the Manager.

description String Optional  

The description for the mirror. It is used for display in the Manager.

vaultId Long Optional  

A vault to use as the basis for the mirror. Configuration settings are copied from this vault to the mirror.

  • If given, this vault becomes one of the vaults in the mirror.
  • If given, all Accesser devices are undeployed from this vault.
writeThreshold Integer Optional 1 If set to one (1), only one of the two vaults that make up the mirror need to respond with a "success" for a given write operation on the mirror. Otherwise, with a write threshold of two (2), both vaults need to respond with a "success" for a given write operation on the mirror.
synchronousOperations Map[{operation}] Optional

read=false

write=false

multipart=true

delete=true

Contains mirror operations and a flag that represents whether they should be synchronous operations (true) or not (false).

Synchronous operations attempt to acknowledge that both sides are completed before returning.

Operations include read, write, multipart, delete.

mirrorType string required  

Possible values are: standard and protection.

minimumRetentionPeriod Long Optional 0 days Accepts value in days. Minimum value should be ≥ 0 days.

This parameter is only valid if protection state is set to enabled.

Note: This is for vault mode only.
maximumRetentionPeriod Long Optional 36159 days Accepts value in days. Maximum value should be ≤ 2,147,483,647 days.

This parameter is only valid if protection state is set to enabled.

Note: This is for vault mode only.
defaultRetentionPeriod Long Optional 730 days Accepts value in days. The default must be ≥mininumumRetentionPeriod and ≤maximumRetentionPeriod retention period.

This parameter is only valid if protection state is set to enabled.

Either defaultRetentionPeriod or defaultPermanentRetentionDurationEnabled should be specified, but not both.

Note: This is for vault mode only.
restrictiveAccessControlEnabled Boolean Optional false Enable restrictive access control on a protected mirror.
Note: When Restrictive Access Control is enabled, users with vault access permissions do not obtain equivalent object access permissions. Object read, metadata write, and access control updates can only be performed by the owner of the object in a protected vault or any user authorized by the owner. If this setting is disabled, users with vault permissions inherit equivalent object permissions, such as the ability to modify object protection. Once enabled, you cannot disable Restrictive Access Control.
permanentRetentionEnabled Boolean Optional false This allows objects to have permanent retention.

This parameter is only valid if protection state is set to enabled.

Note: This is vault mode only.
defaultPermanentRetentionDurationEnabled Boolean Optional false

When set to true, objects written into this mirror without a specific retention period will have permanent retention.

This parameter is only valid if protection state is set to enabled.

Either defaultRetentionPeriod or defaultPermanentRetentionDurationEnabled should be specified, but not both.

Note: This is vault mode only.
organizationId String Optional organizationId of the person creating the mirror.  

Response

Returns success or failure status.

JSON response example success

{
  ”responseStatus“:”ok“,
  ”responseHeader“:{
    ”status“:”ok“,
    ”now“:{milliseconds from the UNIX epoch},
    ”requestId“:”{requestId}“
  },
  ”responseData“:{
    ”id“:{mirrorId}
  }
}

JSON response example failure

{
  ”responseStatus“:”fail“,
  ”responseHeader“:{
    ”status“:”ok“,
    ”now“:{milliseconds from the UNIX epoch},
    ”requestId“:”{requestId}“
  }
}

Parameters

Table 3. Response Parameters for Create Mirror (createMirror) API method
Parameter Type Description
id Long

ID of the new mirror.