Creates a file system.
Operation description
- Before you call this operation, you must understand the billing and pricing of File Storage NAS. For more information, see Billing and Pricing .
- Before you create a file system, you must complete real-name verification.
- When you call this operation, a service-linked role of NAS is automatically created. For more information, see Manage the service-linked roles of NAS.
Debugging
Authorization information
The following table shows the authorization information corresponding to the API. The authorization information can be used in the Action
policy element to grant a RAM user or RAM role the permissions to call this API operation. Description:
- Operation: the value that you can use in the Action element to specify the operation on a resource.
- Access level: the access level of each operation. The levels are read, write, and list.
- Resource type: the type of the resource on which you can authorize the RAM user or the RAM role to perform the operation. Take note of the following items:
- The required resource types are displayed in bold characters.
- If the permissions cannot be granted at the resource level,
All Resources
is used in the Resource type column of the operation.
- Condition Key: the condition key that is defined by the cloud service.
- Associated operation: other operations that the RAM user or the RAM role must have permissions to perform to complete the operation. To complete the operation, the RAM user or the RAM role must have the permissions to perform the associated operations.
Operation | Access level | Resource type | Condition key | Associated operation |
---|---|---|---|---|
nas:CreateFileSystem | create |
|
| none |
Request parameters
Parameter | Type | Required | Description | Example |
---|---|---|---|---|
FileSystemType | string | No | The type of the file system. Valid values:
Note
CPFS file systems are available only on the China site (aliyun.com).
| standard |
ChargeType | string | No | The billing method. Valid values:
| PayAsYouGo |
Duration | integer | No | The subscription duration. This parameter is valid and required only if the ChargeType parameter is set to Subscription. Unit: months. If you do not renew a subscription file system when the file system expires, the file system is automatically released. | 1 |
Capacity | long | No | The capacity of the file system. Unit: GiB. This parameter is valid and required if the FileSystemType parameter is set to extreme. Specify a value based on the specifications on the following buy page: | 100 |
Bandwidth | long | No | The maximum throughput of the file system. Unit: MB/s. Specify a value based on the specifications on the buy page. | 150 |
StorageType | string | Yes | The storage class.
| Performance |
ZoneId | string | No | The zone ID. Each region has multiple isolated locations known as zones. Each zone has its own independent power supply and networks. This parameter is not required if the FileSystemType parameter is set to standard. By default, a random zone is selected based on the protocol type and storage type. This parameter is required if the FileSystemType parameter is set to extreme. Note
| cn-hangzhou-b |
ProtocolType | string | Yes | The protocol type.
| NFS |
EncryptType | integer | No | Specifies whether to encrypt data in the file system. You can use the keys that are managed by Key Management Service (KMS) to encrypt data in a file system. When you read and write the encrypted data, the data is automatically decrypted. Valid values:
Note
| 1 |
SnapshotId | string | No | The snapshot ID. This parameter is available only for Extreme NAS file systems. Note
You can create a file system from a snapshot. In this case, the version of the file system is the same as that of the source file system. For example, the source file system of the snapshot uses version 1. To create a file system of version 2, you can create File System A from the snapshot and create File System B of version 2. You can then copy the data and migrate your business from File System A to File System B.
| s-xxx |
VpcId | string | No | The ID of the virtual private cloud (VPC). This parameter is reserved and does not take effect. You do not need to configure this parameter. | vpc-bp1cbv1ljve4j5hlw**** |
VSwitchId | string | No | The ID of the vSwitch. This parameter is reserved and does not take effect. You do not need to configure this parameter. | vsw-2ze37k6jh8ums2fw2**** |
Description | string | No | The description of the file system. Limits:
| test |
ClientToken | string | No | The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see How do I ensure the idempotence? Note
If you do not specify this parameter, the system automatically uses the request ID as the client token. The request ID may be different for each request.
| 123e4567-e89b-12d3-a456-42665544**** |
KmsKeyId | string | No | The ID of the KMS-managed key. This parameter is required only if the EncryptType parameter is set to 2. | 3c0b3885-2adf-483d-8a65-5e280689**** |
DryRun | boolean | No | Specifies whether to perform a dry run. During the dry run, the system checks whether the request parameters are valid and whether the requested resources are available. During the dry run, no file system is created and no fee is incurred. Valid values:
| true |
ResourceGroupId | string | No | The resource group ID. You can log on to the Resource Management console to view resource group IDs. | rg-acfmwavnfdf**** |
Take note of the following information about API idempotence:
The CreateFileSystem operation creates a file system and incurs fees. Therefore, if the request times out or an internal error occurs, the client may attempt to resend the request. In this case, you can specify the ClientToken parameter in the request. This ensures that the request is not repeatedly sent by the client.
The following list provides more details about the ClientToken parameter.
- A client token is a unique and case-sensitive string that is generated by the client. The token can contain only ASCII characters and cannot exceed 64 characters in length. Example:
ClientToken=123e4567-e89b-12d3-a456-426655440000
. - If you specify a used client token and modify other request parameters, NAS returns the IdempotentParameterMismatch error code.
-
If you specify the ClientToken parameter and the request fails, the request is resent based on the following HTTP status codes and error messages:
- If the HTTP status code 200 is returned, the client can receive the same result as the last request after the request is resent. However, your server status is not affected.
- If a 4xx HTTP status code is returned and the error message does not indicate "try it later", the request parameters are invalid. In this case, you must modify the request parameters based on the returned error message and then resend the request.
- If a 5xx HTTP status code is returned, a network timeout or an internal error occurred. In this case, you can resend the same request and the request must contain the same client token and request parameters.
-
A client token is valid for 30 days.
Response parameters
Examples
Sample success responses
JSON
format
{
"RequestId": "98696EF0-1607-4E9D-B01D-F20930B6****",
"FileSystemId": "1ca404****"
}
Error codes
HTTP status code | Error code | Error message | Description |
---|---|---|---|
202 | RequestAccepted | The request has been accepted by the server. | The request has been accepted by the server. |
400 | IdempotentParameterMismatch | The same client token was passed in to different parameters. | The same client token was passed in to different parameters. |
400 | InvalidParameter.KmsServiceNotEnabled | Key Management Service is not enabled. | Key Management Service is not enabled. |
400 | InvalidParameter.KmsKeyIdNotFound | The KMS key ID does not exist. | - |
400 | InvalidParameter.InvalidKmsKeyId | The KMS key ID is invalid. | - |
400 | DryRunOperation | The request is validated with DryRun flag set. | The request is validated with DryRun flag set. |
400 | SubAccount.NoExtremeSLRPermission | The RAM user does not have the permission to create service linked role AliyunServiceRoleForNasExtreme. Please authorize the RAM user the permission ram:CreateServiceLinkedRole. | The RAM user does not have the permission to create service linked role AliyunServiceRoleForNasExtreme. Please authorize the RAM user the permission ram:CreateServiceLinkedRole. |
400 | SubAccount.NoStandardSLRPermission | The RAM user does not have the permission to create service linked role AliyunServiceRoleForNasStandard. Please authorize the RAM user the permission ram:CreateServiceLinkedRole. | The RAM user does not have the permission to create service linked role AliyunServiceRoleForNasStandard. Please authorize the RAM user the permission ram:CreateServiceLinkedRole. |
400 | SubAccount.NoEncryptionSLRPermission | The RAM user does not have the permission to create service linked role AliyunServiceRoleForNasEncryption. Please authorize the RAM user the permission ram:CreateServiceLinkedRole. | The RAM user does not have the permission to create service linked role AliyunServiceRoleForNasEncryption. Please authorize the RAM user the permission ram:CreateServiceLinkedRole. |
400 | InvalidParam.NotSupportBYOK | The specified file system type does not support the BYOK encryption function. | The specified file system type does not support the BYOK encryption function. |
400 | MissingParameter.KmsKeyId | When parameter EncryptType equals 2, the parameter KmsKeyId is mandatory for your request. | When parameter EncryptType equals 2, the parameter KmsKeyId is mandatory for your request. |
403 | OperationDenied.InvalidState | The operation is not permitted when the status is processing. | The operation is not permitted when the status is processing. |
403 | InvalidFileSystem.AlreadyExisted | The specified file system already exists. | The specified file system already exists. |
403 | Resource.OutOfStock | The inventory of the specified zone is insufficient. | The inventory of the specified zone is insufficient. |
For a list of error codes, visit the Service error codes.
Change history
Change time | Summary of changes | Operation |
---|---|---|
2024-01-25 | The Error code has changed | View Change Details |
2023-12-26 | The Error code has changed. The request parameters of the API has changed | View Change Details |