Updating (overwrite) an existing storage component configuration

Virtual Storage Platform One Object Management API Reference Guide

Version
3.3.x
File Size
137 KB
Audience
anonymous
Part Number
MK-24VSP1OB002-04
ft:lastEdition
2026-05-14
post /v1/storage_component/update

Modifies the configuration of a storage component, overwriting the existing settings. Use the POST /storage_component/list endpoint to verify existing settings or changes. Use the PATCH /storage_component/update endpoint to update specific settings.

Request headers
X-XSRF-TOKEN String required

XSRF token header for CSRF security. Can be obtained as the value of a cookie by performing a GET on /csrf.

Example: xXSRFTOKEN_example
Cookie String required

XSRF token header for CSRF security. Can be obtained as the value of a cookie by performing a GET on /csrf.

Example: cookie_example
CLIENT REQUEST
curl -X 'POST'
-H 'Accept: application/json'
-H 'X-XSRF-TOKEN: xXSRFTOKEN_example' -H 'Cookie: cookie_example'
'http://localhost/v1/storage_component/update'
-d '{ "storageClassId" : 4, "storageComponentConfig" : { "arrayLun" : "arrayLun", "connectionTTL" : 2, "managementHost" : "hostname.acme.org", "dataClaimCapacity" : "dataClaimCapacity", "arrayName" : "arrayName", "socketRecvBufferSizeHint" : 3, "userAgentPrefix" : "userAgentPrefix", "storageFaultDomain" : "storageFaultDomain", "proxyPort" : 1, "storageClass" : "storageClass", "dataPersistentVolumeName" : "dataPersistentVolumeName", "arrayStorageTier" : "arrayStorageTier", "socketSendBufferSizeHint" : 9, "proxyUserName" : "proxyUserName", "host" : "URL of an existing storage component backend", "socketTimeout" : 5, "connectionTimeout" : 5, "maxConnections" : 7, "secretKey" : "secretKey", "siteAffiliation" : { "id" : "046b6c7f-0b8a-43b9-b35d-6489e6daee91" }, "proxyPassword" : "proxyPassword", "label" : "Cloud AWS Bucket", "useProxy" : true, "proxyHost" : "proxyHost", "arrayHost" : "arrayHost", "usePathStyleAlways" : true, "bucket" : "bucket", "node" : "node", "arrayNamespace" : "arrayNamespace", "proxyDomain" : "proxyDomain", "port" : 6, "accessKey" : "accessKey", "managementPassword" : "secret", "arrayPort" : 2, "managementProtocol" : "http or https", "namespace" : "namespace", "region" : "region", "managementUser" : "admin" }, "storageFaultDomainId" : "046b6c7f-0b8a-43b9-b35d-6489e6daee91", "storageType" : "storageType", "id" : 0, "storageCustomMetadata" : { "custom1" : "data", "custom2" : "data2" } }'
import http.client conn = http.client.HTTPConnection("undefinedundefined") headers = { 'X-XSRF-TOKEN': "SOME_STRING_VALUE", 'Cookie': "SOME_STRING_VALUE" } conn.request("POST", "/v1/storage_component/update", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
require 'uri' require 'net/http' url = URI("http://undefinedundefined/v1/storage_component/update") http = Net::HTTP.new(url.host, url.port) request = Net::HTTP::Post.new(url) request["X-XSRF-TOKEN"] = 'SOME_STRING_VALUE' request["Cookie"] = 'SOME_STRING_VALUE' response = http.request(request) puts response.read_body
const data = null; const xhr = new XMLHttpRequest(); xhr.withCredentials = true; xhr.addEventListener("readystatechange", function () { if (this.readyState === this.DONE) { console.log(this.responseText); } }); xhr.open("POST", "http://undefinedundefined/v1/storage_component/update"); xhr.setRequestHeader("X-XSRF-TOKEN", "SOME_STRING_VALUE"); xhr.setRequestHeader("Cookie", "SOME_STRING_VALUE"); xhr.send(data);
HttpResponse<String> response = Unirest.post("http://undefinedundefined/v1/storage_component/update") .header("X-XSRF-TOKEN", "SOME_STRING_VALUE") .header("Cookie", "SOME_STRING_VALUE") .asString();
import Foundation let headers = [ "X-XSRF-TOKEN": "SOME_STRING_VALUE", "Cookie": "SOME_STRING_VALUE" ] let request = NSMutableURLRequest(url: NSURL(string: "http://undefinedundefined/v1/storage_component/update")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume()
<?php $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => "http://undefinedundefined/v1/storage_component/update", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_HTTPHEADER => [ "Cookie: SOME_STRING_VALUE", "X-XSRF-TOKEN: SOME_STRING_VALUE" ], ]); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { echo "cURL Error #:" . $err; } else { echo $response; }
CURL *hnd = curl_easy_init(); curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); curl_easy_setopt(hnd, CURLOPT_URL, "http://undefinedundefined/v1/storage_component/update"); struct curl_slist *headers = NULL; headers = curl_slist_append(headers, "X-XSRF-TOKEN: SOME_STRING_VALUE"); headers = curl_slist_append(headers, "Cookie: SOME_STRING_VALUE"); curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); CURLcode ret = curl_easy_perform(hnd);
var client = new RestClient("http://undefinedundefined/v1/storage_component/update"); var request = new RestRequest(Method.POST); request.AddHeader("X-XSRF-TOKEN", "SOME_STRING_VALUE"); request.AddHeader("Cookie", "SOME_STRING_VALUE"); IRestResponse response = client.Execute(request);
Body parameters
required
*/*
idintegerrequired

ID of the storage component

storageTypestringrequired

Type of the storage component. Valid values are: AMAZON_S3, HCP_S3, HCPS_S3, GENERIC_S3, TAAL, ARRAY.

storageComponentConfigobjectrequired
labelstring

Name of the storage component

Example:"Cloud AWS Bucket"
storageFaultDomainstring

storage fault domain associated with the storage component

storageClassstring

storage class associated with the storage component

hoststring

Host domain of the storage backend

Example:"URL of an existing storage component backend"
uriSchemestring (Enum)

Set to HTTPS to use a secure https connection to access the storage backend. Set to HTTP to use http

Allowed values:"HTTPS""HTTP"
portintegerint32

S3 HTTP port

bucketstring

Name of the bucket (the bucket must already exist)

regionstring

Specifies the S3 region.

authTypestring (Enum)

AWS Signature Version used for authenticating all interactions with Amazon S3. If this not provided on a create, server will default to V4.

Allowed values:"V2""V4"
siteAffiliationobject
idstringrequireduuid

UUID identifier for metadata.

accessKeystring

Access key of the S3 credentials to access the bucket

secretKeystring

Secret key of the S3 credentials to access the bucket

useProxyboolean

Set to true to use a proxy server. Set to false to opt out. When useProxy is enabled, you must also specify proxyHost and proxyPort.

proxyHoststring

Proxy host (required if useProxy is set to true)

proxyPortintegerint32

Proxy domain port (required if useProxy is set to true)

proxyUserNamestring

User name for the proxy domain.

proxyPasswordstring

Password for the proxy domain.

proxyDomainstring

Proxy domain. This is not supported.

usePathStyleAlwaysboolean

If set to true, the path-style syntax is used for sending requests to the S3 storage. If set to false, the virtual-hosted style is used.

connectionTimeoutintegerint32

The amount of time (in milliseconds) that the HTTP connection will wait to establish a connection before giving up and timing out

socketTimeoutintegerint32

A timeout for reading from a connected socket

connectionTTLintegerint64

A connection time-to-live (TTL) for a request

maxConnectionsintegerint32

The maximum allowed number of open HTTP connections with the storage component

userAgentPrefixstring

The HTTP user agent prefix header used in requests to the storage component

socketSendBufferSizeHintintegerint32

The size hint (in bytes) for the low level TCP receive buffer (socketSendBufferSizeHint must also be specified)

socketRecvBufferSizeHintintegerint32

The size hint (in bytes) for the low level TCP send buffer (socketSendBufferSizeHint must also be specified)

managementProtocolstring

URL protocol definition

Example:"http or https"
managementHoststring

Host to use to establish a management connection

Example:"hostname.acme.org"
managementUserstring

User credential to establish a management connection

Example:"admin"
managementPasswordstring

Password credential to establish a management connection

Example:"secret"
namespacestring

The namespace in which the data PersistentVolumeClaims are created in, as well as the Array custom resource.

dataPersistentVolumeNamestring

The name of the PersistentVolume to be used for storing data.

dataClaimCapacitystring

The amount of storage capacity to be used for storing data.

nodestring

The node to schedule taal to run with dynamic volumes.

arrayNamestring

The name of the array being added

arrayStorageTierstring

The storage tier or the underlying storage of the array

arrayNamespacestring

The namespace of the array components

arrayLunstring

The lun of the array

arrayHoststring

The host

arrayPortinteger

The port

storageFaultDomainIdstringrequireduuid

Storage fault domain ID of the storage component

storageClassIdintegerrequired

Storage class ID of the storage component

storageCustomMetadataobjectrequired

Custom metadata of the storage component as a map of strings.

Additional propertiesstring
REQUEST
[*/* content]
Responses

The storage component was successfully updated.

Body
application/json
idintegerrequired

ID of the storage component

storageTypestringrequired

Type of the S3 storage component

storageComponentConfigobject
labelstring

Name of the storage component

Example:"Cloud AWS Bucket"
storageFaultDomainstring

storage fault domain associated with the storage component

storageClassstring

storage class associated with the storage component

hoststring

Host domain of the storage backend

Example:"URL of an existing storage component backend"
uriSchemestring (Enum)

Set to HTTPS to use a secure https connection to access the storage backend. Set to HTTP to use http

Allowed values:"HTTPS""HTTP"
portintegerint32

S3 HTTP port

bucketstring

Name of the bucket (the bucket must already exist)

regionstring

Specifies the S3 region.

authTypestring (Enum)

AWS Signature Version used for authenticating all interactions with Amazon S3. If this not provided on a create, server will default to V4.

Allowed values:"V2""V4"
siteAffiliationobject
idstringrequireduuid

UUID identifier for metadata.

useProxyboolean

Set to true to use a proxy server. Set to false to opt out. When useProxy is enabled, you must also specify proxyHost and proxyPort.

proxyHoststring

Proxy host (required if useProxy is set to true)

proxyPortintegerint32

Proxy domain port (required if useProxy is set to true)

proxyUserNamestring

User name for the proxy domain.

proxyPasswordstring

Password for the proxy domain.

proxyDomainstring

Proxy domain. This is not supported.

usePathStyleAlwaysboolean

If set to true, the path-style syntax is used for sending requests to the S3 storage. If set to false, the virtual-hosted style is used.

connectionTimeoutintegerint32

The amount of time (in milliseconds) that the HTTP connection will wait to establish a connection before giving up and timing out

socketTimeoutintegerint32

A timeout for reading from a connected socket

connectionTTLintegerint64

A connection time-to-live (TTL) for a request

maxConnectionsintegerint32

The maximum allowed number of open HTTP connections with the storage component

userAgentPrefixstring

The HTTP user agent prefix header used in requests to the storage component

socketSendBufferSizeHintintegerint32

The size hint (in bytes) for the low level TCP receive buffer (socketSendBufferSizeHint must also be specified)

socketRecvBufferSizeHintintegerint32

The size hint (in bytes) for the low level TCP send buffer (socketSendBufferSizeHint must also be specified)

managementProtocolstring

URL protocol definition

Example:"http or https"
managementHoststring

Host to use to establish a management connection

Example:"hostname.acme.org"
namespacestring

The namespace in which the data PersistentVolumeClaims are created in, as well as the Array custom resource.

dataPersistentVolumeNamestring

The name of the PersistentVolume to be used for storing data.

dataClaimCapacitystring

The amount of storage capacity to be used for storing data.

nodestring

The node to schedule taal to run with dynamic volumes.

arrayNamestring

The name of the array being added

arrayStorageTierstring

The storage tier or the underlying storage of the array

arrayNamespacestring

The namespace of the array components

arrayLunstring

The lun of the array

arrayHoststring

The host

arrayPortinteger

The port

statestring (Enum)

State of the storage component that indicates availability to server requests. When the component is ready for server requests, the status is ACTIVE. A PAUSED component is on an administrative pause. Accessibility issues caused by network, authentication, or certificates can cause the component to be INACCESSIBLE. A READ_ONLY component blocks all writes to data disks but allows reads. The component that has not been activated or failed to activate is UNVERIFIED. A component that is permanently unavailable for serving requests is DECOMMISSIONED.

Allowed values:"ACTIVE""PAUSED""INACCESSIBLE""READ_ONLY""UNVERIFIED""DECOMMISSIONED"
encryptedKeyVersionsstring
storageFaultDomainIdstringuuid

Storage fault domain ID of the storage component

storageClassIdinteger

Storage class ID of the storage component

storageCustomMetadataobject

Custom metadata of the storage component as a map of strings.

Additional propertiesstring
RESPONSE
{ "id": 0, "storageType": "example", "storageComponentConfig": { "label": "Cloud AWS Bucket", "storageFaultDomain": "example", "storageClass": "example", "host": "URL of an existing storage component backend", "uriScheme": "HTTPS", "port": 0, "bucket": "example", "region": "example", "authType": "V2", "siteAffiliation": { "id": "uuid string" }, "useProxy": false, "proxyHost": "example", "proxyPort": 0, "proxyUserName": "example", "proxyPassword": "example", "proxyDomain": "example", "usePathStyleAlways": false, "connectionTimeout": 0, "socketTimeout": 0, "connectionTTL": 0, "maxConnections": 0, "userAgentPrefix": "example", "socketSendBufferSizeHint": 0, "socketRecvBufferSizeHint": 0, "managementProtocol": "http or https", "managementHost": "hostname.acme.org", "namespace": "example", "dataPersistentVolumeName": "example", "dataClaimCapacity": "example", "node": "example", "arrayName": "example", "arrayStorageTier": "example", "arrayNamespace": "example", "arrayLun": "example", "arrayHost": "example", "arrayPort": 0, "state": "ACTIVE", "encryptedKeyVersions": "example" }, "storageFaultDomainId": "uuid string", "storageClassId": 0, "storageCustomMetadata": { "custom1": "data", "custom2": "data2" } }

The request is missing a valid storage component.

Body
application/json
codestring

Error code

messagestring

Error message

detailsstring

Error details

RESPONSE
{ "code": "example", "message": "example", "details": "example" }

Access was denied due to invalid credentials.

The requested component was not found.

Body
application/json
codestring

Error code

messagestring

Error message

detailsstring

Error details

RESPONSE
{ "code": "example", "message": "example", "details": "example" }

The specified HTTP method is not allowed. Please resend the request using the POST method.