Edit container mode settings

Edit Container Mode settings for the system.

Request

Security

Table 1. Roles capable of executing the Edit Container Mode Settings API method
Any Super User System Admin Security Admin Operator
  superUser systemAdmin    

HTTP method

POST /manager/api/{apiResponseType}/1.0/editContainerModeSettings.adm HTTP/1.1 Host:{manager.dsnet} dnsCompliantContainerNames={true}&migrateAccessControls={true}

Curl method

curl -u {admin}:{password} -k “https://{manager.dsnet}/manager/api/{apiResponseType}/1.0/editContainerModeSettings.adm” -d ”dnsCompliantContainerNames={true}&migrateAccessControls={true}“

Parameters

Table 2. Request parameters for Configure Container Mode (systemContainerModeConfiguration) API method
Parameter Type Usage Default Description
dnsCompliantContainerNames Boolean     Toggles if containers are required to have DNS compliant names
containerVaultDefault Boolean     Toggles whether new vaults created will be container vaults by default
transferAllowedIpsToContainer Boolean     Whether to transfer the allowed IP address list to container or remain at vault; if set to true, the value will be transferred to container and remove from vault. Default is true. Reject conversion if the value is true while dsnet in mix release mode.
transferHardQuotaToContainer Boolean     Whether to transfer the allowed IP address list to container or remain at vault; if set to true, the value will be transferred to container and remove from vault. Default is true. Reject conversion if the value is true while dsnet in mix release mode.
configureContainersViaServiceAPIOnly Boolean true, false   If set to true, containers can be configured via service api only

Response

On success, the default JSON example response is returned.

However, on failure, one of two responses is returned as shown in JSON response example.

JSON response example

The following example is identical to the default JSON failure response, and is returned if there's a simple error.

{
"responseStatus":"fail",
"responseHeader": {
    "now":1588369433692,
    "status":"fail",
    "requestId":"XqyYGQqMZFgAAFKxEFQAAACN"
  },
"responseData": {
    "errors":[
        {
           "field":"accessPoolIds",
           "code":"accessPoolIds.invalid",
           "message":"An access pool with the id 987654321 could not be found"
        },
        {
           "field":"accessPoolIds",
           "code":"accessPoolIds.invalid",
           "message":"An access pool with the id 123456789 could not be found"
        }
     ]
  }
}

The following JSON might be returned if there are more complex validation errors enabling container mode. Each object in the validationErrors array has a category, rule, and an array of objects that are violating the rule, if necessary. Inside the "objects" array are details of each object that is violating the rule. For instance in the above JSON, there is an access pool (id=8) that has an improper API type. All of these errors must be resolved before container mode can be enabled.

{
   "responseStatus": "fail",
   "responseHeader": {
     "now": 1465840430014,
     "status": "fail",
     "requestId": null
   },
   "responseData": {
     "validationErrors": [
       {
         "category": "Vault Existence",
         "rule": "Only service or management vaults may exist",
         "objects": []
       },
       {
         "category": "API",
         "rule": "access pool(s) must change its API type to 'Cloud Storage Object'",
         "objects": [
           {
             "type": "accessPool",
             "id": 8,
             "name": "Access Pool 3"
           }
         ]
       },
       {
         "category": "Mirror",
         "rule": "Container Mode not supported on dsNets with mirrors",
         "objects": []
       }
     ],
     "migrationErrors": []
   }
 }