Adding backup devices in JSON-RPC API
To add a backup device, use the AddAccount
method. Devices are added one at a time.
Required parameters
Parameter | Description | Type/Supported values |
---|---|---|
accountInfo
|
A group of parameters related to the device | AccountInfo , (has child parameters of its own see the AccountInfo child parameters table below) |
Parameter | Description | Type/Supported values |
---|---|---|
ID
|
An ID to assign to the new device. It must not coincide with the ID of existing devices | <int> Integer |
Name
|
A name to assign to the new device. It must not coincide with the names of existing devices. | OptionalNonEmptyString String |
NameAlias
|
An alternative name to assign to the new device. It must not coincide with this devices name or the names of existing devices. | OptionalNonEmptyString String |
Password
|
A password to assign to the new device. | OptionalNonEmptyString String |
Token
|
A token that will become the Encryption Key/Security Code for the new device | OptionalNonEmptyString String |
Type
|
The type of device, based on what data will be backed up |
|
PartnerId
|
The ID of the customer the device is created for (retrieved through the GetPartnerInfo method) |
<int> Integer |
ProductId
|
The ID of the product to assign to the new device. Use the EnumerateProducts method to get the list of products available to the customer. |
<int> Integer |
LocationId |
The location of the device.
We recommend using the location of the customer that owns the device (unless you know that the customer has storage in the desired location). This can be found by running the EnumerateLocations method and finding the appropriate geographic region. |
<int> Integer |
CreationTime |
The time code at which the device was created | <std::time_t> Integer in Unix format. For example, 1535673599 stands for August 30, 2018 |
ExpirationTime |
The time code at which the device expires | <std::time_t> Integer in Unix format. For example, 1535673599 stands for August 30, 2018 |
Flags
|
An array of flags denoting the type of account |
|
StorageLocationId
|
The ID number of the storage location to be used for this new device | <int> Integer |
RemovalTime
|
The time code at which the device will be removed | <AbsoluteTime> Integer as the total number of seconds since the beginning of January 1st 1900 |
AccountGroupId
|
The ID of the AccountGroup the device is associated to which can be found by running GetAccountGroup |
<int> Integer |
OwnUserId
|
The ID of the user running the call | <int> Integer |
StorageId
|
The ID of the storage pool the device will be assigned to | <int> Integer |
ProfileId
|
The ID of the profile to assign to the device. | <int> Integer |
ContinuityEnabled
|
Enable or disable a continuity plan from an array |
|
Optional parameters
Parameter | Description | Type/Supported values |
---|---|---|
|
A group of parameters related to the storage node | StorageNodeInfo , (has child parameters of its own, see the HomeNodeInfo child parameters table below) |
Parameter | Description | Type/Supported values |
---|---|---|
Id
|
The ID number of the home storage node to assign to the device | <int> Integer |
ActiveAccounts
|
Number of active devices associated to this storage node | <int> Integer |
TotalAccounts
|
Total number of devices associated to this storage node | <int> Integer |
LocationId
|
The location of the storage node. We recommend using the location of the customer that owns the node. | <int> Integer |
CommonInfo
|
Common information regarding the Storage Node | StorageNodeCommonInfo (has child parameters of its own, see the StorageNodeCommonInfo child parameters table below) |
|
State information regarding the Storage Node | StorageNodeStateInfo (has child parameters of its own, see the StorageNodeStateInfo child parameters table below) |
ModeInfo
|
Mode information regarding the Storage Node | StorageNodeModeInfo (has child parameters of its own, see the StorageNodeModeInfo child parameters table below) |
StorageNodeCommonInfo child parameters
Parameter | Description | Type/Supported values |
---|---|---|
StorageID
|
The ID number of the storage | <int> Integer |
Name
|
The name of the storage node | OptionalNonEmptyString String |
Family
|
The family of the storage node | OptionalNonEmptyString String |
User
|
The username the storage node belongs to | OptionalNonEmptyString String |
Password
|
The password of the storage node | OptionalNonEmptyString String |
Host
|
The hostname of the storage | OptionalNonEmptyString String |
Path
|
The path to the storage node | <std::string>
|
GatewayHost
|
The gateway host of the storage node | <std::string>
|
HttpGatwayHost
|
The HTTP gateway host of the storage node | <std::string>
|
CertificateInfo
|
Certificate information for the storage node | StorageNodeCertificateInfo (has child parameters of its own, see the StorageNodeCertificateInfo child parameters table below) |
StorageNodeCertificateInfo child parameters
Parameter | Description | Type/Supported values |
---|---|---|
Certificate
|
The certificate for the storage node | <std::string>
|
StartDate
|
The start date of the certificate | <std::time_t> Integer in Unix format. For example, 1535673599 stands for August 30, 2018 |
EndDate
|
The expiry date of the certificate | <std::time_t> Integer in Unix format. For example, 1535673599 stands for August 30, 2018 |
CertificatePin
|
The certificate pin | <std::string>
|
StorageNodeStateInfo child parameters
Parameter | Description | Type/Supported values |
---|---|---|
State
|
The state of the storage node |
|
UsedStorage
|
The used storage on the storage node | <std::int64_t> Integer (in mebibytes) |
TotalStorage
|
The total storage available on the storage node | <std::int64_t> Integer (in mebibytes) |
PrivilegedStorage
|
The privileged storage on the storage node | <std::int64_t> Integer (in mebibytes) |
StorageNodeModeInfo child parameters
Parameter | Description | Type/Supported values |
---|---|---|
Mode
|
The mode of the storage node |
|
Message
|
A note relative to the storage node mode | <std::string>
|
Sample request
The below example covers creating a very basic device with the minimum information. Once created in the Management Console, this device can be edited as needed, or changes can be made using the ModifyAccount method.
{ "id": "jsonrpc", "visa": "{{visa}}", "method": "AddAccount", "jsonrpc": "2.0", "params": { "accountInfo": { "Name": "test-device", "PartnerId": 33495, "ProductId": 1, "LocationId": 1 } } }
Sample response
{ "id":"jsonrpc", "jsonrpc":"2.0", "result":{ "result":{ "Id":72910, "Name":"test-device", "Password":"24e3ec5461ed", "Token":"068a53c1-a64b-45c8-a87e-0000XX0000X0Xx0" } }, "visa":"{{visa}}" }