- URL:
- https://<root>/data/<datastoreID>/config/volumes/edit
- Methods:
POST- Version Introduced:
- 11.3
Access requirements
Required privileges
The Enterprise Administrator API requires privilege-based access. An administrator must be assigned a specific user privilege, or role, to access any given endpoint. Listed below are the user privileges or roles an administrator can be assigned that provides access to this endpoint. If multiple privileges are listed, only one needs to be assigned to gain access.
Tokens
This API requires token-based authentication. A token is automatically generated for administrators who sign in to the Enterprise Administrator API directory's HTML interface. Tokens generated in this way are stored for the entirety of the session.
Those accessing the API directory outside of the HTML interface will need to acquire a session token from the generate operation in the Enterprise Directory API. For security reasons, all POST requests made to the Enterprise Administrator API must include a token in the request body.
Description
The edit operation updates the storage requests for the deployments of a system-managed object, spatiotemporal, or relational data store. It allows administrators to increase the storage value for the data store deployment’s PersistentVolumeClaim, which then expands the underlying volume for that data store.
This operation allows administrators to expand volumes before storage space has run out, which would result in the system freezing. Prior to 11.3, when the system was frozen, administrators would need to create a backup of their organization, undeploy ArcGIS Enterprise on Kubernetes, increase the storage request value in the PVC, and then redeploy ArcGIS Enterprise on Kubernetes, the process of which would result in downtime for organization members, collaborators, and users.
To be eligible for volume expansion, the PersistentVolume must be dynamically provisioned, and the underlying storage class must allow for volume expansion.
Once the operation is performed, it can take several minutes for volume optimization to complete. Administrators can perform another volume expansion once optimization for the previous expansion is finished. Limitations to how frequently administrators can perform volume expansions vary depending on the deployment’s cloud provider. For example, those using EKS as a cloud provider will only be able to perform volume expansion three times every six hours.
This operation can only be performed asynchronously. A job is created once the request is submitted and can be tracked to monitor the volume expansion in real-time.
Request parameters
| Parameter | Details |
|---|---|
(Required) | A JSON object contianing the new The following is a list of
Example |
| The response format. The default format is Values: |
Example usage
The following is a sample POST request for the edit operation, demonstraitng expanding the volumes for an object store in an organization using the Enhanced Availability architecture profile:
POST /<context>/admin/data/2eca8ba5-ad4e-4798-bbe5-ea27db7e04e84/config/volumes/edit HTTP/1.1
Host: organization.example.com
Content-Type: application/x-www-form-urlencoded
Content-Length: []
{
"datastoreId": "2eca8ba5-ad4e-4798-bbe5-ea27db7e04e84",
"datastoreType": "objectStore",
"deployments": [
{
"type": "ObjectStore",
"name": "arcgis-object-store-xxxx-xxxx",
"mode": "Metadata",
"volumes": [
{
"spec": {
"accessModes": ["ReadWriteOnce"],
"resources" {
"limits": {},
"requests": {
"storage": "33Gi"
}
},
"storageClassName": "gp3"
},
"kind": "PersistentVolumeClaim",
"purpose": "data-volume"
}
]
},
{
"type": "ObjectStore",
"name": "arcgis-object-store-xxxx-xxxx",
"mode": "Data",
"volumes": [
{
"spec": {
"accessModes": ["ReadWriteOnce"],
"resources": {
"limits": {},
"requests": {
"storage": "32Gi"
}
},
"storageClassName": "gp3"
},
"kind": "PersistentVolumeClaim",
"purpose": "data-volume"
}
]
}
]
}&f=pjson&token=ShyoW_1p9PjJNuVfR0D3a4qpLSAOJKVPoFWS6cEC6J3rXVkEWKEbD82VjAB0VQ_hWImd9pd-1h7AsHTt0m45N1_mzyzR-66Rqhu2Ydl7zc1Yk7JVRneVmQORFy2efBnc1ZndpXfuoKe41XRFGz3wl9LI8kG35lqAPGjM5F7v_hQMkhC1Ky37BDLizZCR4-xtq3h0Nb4VfYNtJRjwoKUUkgaaJSEUtilXj936p1yNBnPYQWb7dDjVuSVr502EzjvBJSON Response example
When the volume expansion request is submitted, the response will include a URL that can be used to access the job for this operation and check the status of the operation:
{
"jobsUrl" : "https://devent.esri.com/gis/admin/jobs/j6a7c23bd-797d-4f65-9139-aa3ea7bfe0df",
"jobid" : "j6a7c23bd-797d-4f65-9139-aa3ea7bfe0df",
"status" : "SUBMITTED"
}When completed, the job will either have a completed or failed status:
{
"result": {
"deployments": [
{
"mode": "Mixed",
"name": "arcgis-object-store-xxxx-xxxx",
"volumes": [
{
"purpose": "data-volume",
"kind": "PersistentVolumeClaim",
"persistentVolumeClaims": [
{
"actualCapacity": "32Gi",
"requestedCapacity": "32Gi",
"name": "data-volume-arcgis-object-store-xxxx-xxxx"
},
{
"actualCapacity": "32Gi",
"requestedCapacity": "32Gi",
"name": "data-volume-arcgis-object-store-xxxx-xxxx"
},
{
"actualCapacity": "32Gi",
"requestedCapacity": "32Gi",
"name": "data-volume-arcgis-object-store-xxxx-xxxx"
}
],
"spec": {
"storageClassName": "arcgis-storage-default",
"resources": {
"requests": {"storage": "33Gi"},
"limits": {}
},
"accessModes": ["ReadWriteOnce"],
"volumeMode": "Filesystem"
}
}
],
"type": "ObjectStore"
}
],
"datastoreId": "2eca8ba5-ad4e-4798-bbe5-ea27db7e04e84",
"datastoreType": "objectStore"
},
"updatedtime": 1715983746073,
"jobid": "j6a7c23bd-797d-4f65-9139-aa3ea7bfe0df",
"requestID": "726eb51c-5ed6-479a-b0a3-eb2d11f0b2fe",
"name": "expandDataStoreVolume",
"endtime": 1715983746078,
"starttime": 1715983745573,
"status": "COMPLETED"
}