Creates a storage component that exposes the S3 buckets, the data of which can be stored on various storage backends. Buckets must be already created before this call is made. Additionally, they must be empty.
Endpoint
POST /storage_component/create
Request structure
{
"id": "uuid",
"storageType": "type",
"storageComponentConfig": {
"label": "[label]",
"storageFaultDomain": "string",
"storageClass": "string",
"host": "url",
"uriScheme": "HTTPS",
"port": [nnnnn],
"bucket": "bucket_name",
"region": "[region_name]",
"authType": "[V2|V4]",
"siteAffiliation": {
"id": "uuid"
},
"accessKey": "key",
"secretKey": "key",
"useProxy": [true|false],
"proxyHost": "[host_name]",
"proxyPort": [nnnnn],
"proxyUserName": "[user_name]",
"proxyPassword": "[password]",
"proxyDomain": "[domain_name]",
"usePathStyleAlways": [true|false],
"connectionTimeout": [ms],
"socketTimeout": [ms],
"connectionTTL": [ms],
"maxConnections": [nnnnnnn],
"userAgentPrefix": "[prefix]",
"socketSendBufferSizeHint": [nnnnnnn],
"socketRecvBufferSizeHint": [nnnnnnn],
"managementProtocol": [http|https],
"managementHost": "[host_name]",
"managementUser": "[user_name]",
"managementPassword": "[password]",
"readOnly": {true|false}
"namespace": "string",
"dataPersistentVolumeName": "string",
"dataClaimCapacity": "string",
"node": "string"
},
"storageFaultDomainId": "string",
"storageClassId": "string",
"storageCustomMetadata": {
"custom1": "data",
"custom2": "data2"
}
}
| Parameter | Type | Description |
|---|---|---|
| id | UUID | The ID of the storage component. |
| storageType | String | The type of storage component:
|
| storageComponentConfig | List | The following storage component configuration values: |
| storageFaultDomain | String | The fault domain associated with the storage component. |
| storageClass | String | The storage class associated with the storage component. |
| label | String | The name of the storage component. |
| uriScheme | String | The Uniform Resource Identifier (URI) schema used when accessing the resource. |
| host | String | The URL of the storage component back-end host domain. |
| https | Boolean | If true, use an HTTPS connection to the back-end system. If false, use an HTTP connection to the back-end system. Default: false. |
| port | Integer | The HTTP port of the back-end system. |
| bucket | String | The name of the bucket. The bucket must already exist. |
| region | String | The S3 region. Default: us-east-1. |
| authType | String | The AWS Signature Version for authenticating all interactions with Amazon S3:
|
| siteAffiliation | UUID | For id, the UUID representing the storage component or the user. |
| accessKey | String | The access key of the S3 credentials for access to the bucket. |
| secretKey | String | The secret key of the S3 credentials for access to the bucket. |
| useProxy | Boolean | If true, a proxy server is defined. If false, a proxy server is not defined. If true, then values are required for proxyHost and proxyHost. Default: false. |
| proxyHost | String | The proxy host, if used. |
| proxyPort | Integer | The proxy port number, if used. |
| proxyUserName | String | The proxy domain user name, if used. |
| proxyPassword | String | The proxy domain password, if used. |
| proxyDomain | String | The proxy domain. This is not supported. |
| usePathStyleAlways | Boolean | If true, use path-style syntax to send requests to the back-end system. If false, use virtual-hosted style. Default: true. |
| connectionTimeout | 32-bit integer | The amount of time, in milliseconds, that the HTTP connection waits to establish a connection before timing out. |
| socketTimeout | 32-bit integer | The timeout value for reading from a connected socket. |
| connectionTTL | 64-bit integer | The connection time to live (TTL) for a request. |
| maxConnections | 32-bit integer | The maximum number of open HTTP connections to a storage component. If not specified, the defaults are:
|
| userAgentPrefix | String | The HTTP user agent prefix header, used in requests to a storage component. |
| socketSendBufferSizeHint | 32-bit integer | The size hint, in bytes, for the low-level TCP send buffer. If specified, you must also specify socketRecvBufferSizeHint. |
| socketRecvBufferSizeHint | 32-bit integer | The size hint, in bytes, for the low-level TCP receive buffer. If specified, you must also specify socketSendBufferSizeHint. |
| managementProtocol | String | Required for an VSP One Object S Series node storage component; do not provide for other storage component types. The communication protocol for MAPI requests:
There is no default; if you use the parameter you must specify a value. |
| managementHost | String | Required for an VSP One Object S Series node storage component; do not provide for other storage component types. Type the management system IP address or fully qualified domain name. |
| managementUser | String | Required for an VSP One Object S Series node storage component; do not provide for other storage component types. The administrative user name credential. The account must have permissions to execute MAPI methods on the storage component. |
| managementPassword | String | Required for an VSP One Object S Series node storage component; do not provide for other storage component types. The password credential. The account must have permissions to execute MAPI methods on the storage component. |
| readOnly | Boolean | If true, objects can be read and removed but writes aren't allowed. If false, writes are allowed. |
| namespace | String | The Kubernetes namespace associated with the storage component. |
| dataPersistentVolumeName | String | The persistent volume (PV) associated with the storage component. |
| dataClaimCapacity | String | The amount of storage requested for the storage component. |
| node | String | The node on the Kubernetes cluster on which the strorage is to be allocated. |
| storageFaultDomainId | String | The ID of the associated storage fault domain. |
| storageClassId | String | The type of storage class assigned to the storage component in Kubernetes. |
| storageCustomMetadata | String | The metadata assigned to the storage component. |
Response structure
The response returns the same parameters as the request.
Return codes
|
Status code |
HTTP name |
Description |
|---|---|---|
| 200 | OK | The request was executed successfully. |
| 400 | Bad Request | The MAPI metadata ID is not valid. |
| 401 | Unauthorized | Access was denied because credentials are not valid. |
| 405 | Method Not Allowed | The specified HTTP method is not allowed for a storage component. Resend using POST. |
| 503 | Service Unavailable | External KMIP servers have not been set up. Configure connection to an external KMIP server and resend. |