创建共享
功能介绍
创建文件共享。创建文件系统成功后,您还需前往弹性云服务器执行挂载操作,才能实现多个云服务器共享文件存储。
该接口为异步接口,返回为200只是表示接口下发接收成功,后续可以通过查询共享详细信息查询共享的共享状态和共享路径,判断创建共享是否完成以及是否成功,如果共享状态变为available,或者共享路径已经生成,说明创建已经成功。
通过该接口创建共享成功后,用户还需要参考添加共享访问规则添加共享访问规则,之后才可正常使用创建的共享。
URI
- POST /v2/{project_id}/shares
- 参数说明
参数
是否必选
参数类型
描述
project_id
是
String
操作用户的项目ID。
请求消息头
该操作消息头与普通请求一样,请参见表3。
请求消息
- 参数说明
参数
是否必选
参数类型
描述
share
是
Object
详见share字段说明
- share字段说明:
参数
是否必选
参数类型
描述
share_proto
是
String
文件系统共享协议,有效值为NFS(适用于linux系统)。
size
是
Integer
共享容量,单位GB。申请的共享容量不能大于配额值,需要查看配额,请参考配额查询接口。
name
否
String
共享名称,长度为0~255,只支持英文字母、数字、中划线、下划线。
description
否
String
共享描述信息,长度为0~255,只支持英文字母、数字、中划线、下划线。
is_public
否
Boolean
(API 微版本2.8到2.42支持)共享的可见程度。设置为true时公共可见,设置为false时私有个人可见,默认值为false。
availability_zone
否
String
AZ( availability zone)的名称,如果不输入AZ信息,后台会当成默认AZ处理,默认AZ中如果无存储资源,共享创建会失败。长度为0~255。
metadata
否
Object
创建共享的metadata信息,一到多个字典形式组织的键值对组成,见metadata字段说明。
- 请求样例 :POST https://{endpoint}/v2/16e1ab15c35a457e9c2b2aa189f544e1/shares
- 请求样例(使用企业项目功能时,创建共享):POST https://{endpoint}/v2/16e1ab15c35a457e9c2b2aa189f544e1/shares
创建使用企业项目功能的共享,共享协议类型为NFS,共享容量为1GB,共享的可见程度为私有个人可见。
{ "share": { "share_type": null, "name": "test", "snapshot_id": null, "description": "test description", "metadata": { "enterprise_project_id": "9130c90d-73b8-4203-b790-d49f98d503df" }, "share_proto": "NFS", "share_network_id": null, "size": 1, "is_public": false } }
响应消息
- 参数说明
参数
参数类型
描述
share
Object
详细参数说明请参见share字段说明
- share字段说明:
参数
参数类型
描述
links
Array
共享链接。
availability_zone
String
可用区AZ(availability zone)。
share_server_id
String
共享服务管理的ID
id
String
共享的ID。
size
Integer
共享容量,单位GB。
project_id
String
创建共享的项目的ID。
metadata
Object
一到多个字典形式组织的键值对。其中share_used作为key,对应的value表示共享已经使用的容量,单位是Bytes。
status
String
共享的状态。
description
String
共享描述。
host
String
共享主机名。
name
String
共享名称。
created_at
String
共享创建的时间标签。
share_proto
String
文件系统的共享协议。
share_type_name
String
共享类型的名称,共享类型用于指定分配哪些类型的存储服务,例如高性能类型(由SSD磁盘组成)、大容量类型(由SATA盘组成)。(API 微版本2.6以后支持)。
share_type
String
共享类型的ID。
volume_type
String
卷类型,,与share_type含义相同。
export_locations
Array
共享挂载路径信息列表,当前只支持有一个共享。当请求消息头指定的X-Openstack-Manila-Api-Version的值低于2.9,该字段存在,若为2.9到2.42之间,该消息不存在。
export_location
String
共享挂载路径,当请求消息头指定的X-Openstack-Manila-Api-Version的值低于2.9,该字段存在,若为2.9到2.42之间,该消息不存在。
is_public
Boolean
共享的可见程度。设置为true时公共可见,设置为false时私有个人可见,默认值为false。
- 响应样例
{ "share": { "status": "creating", "project_id": "16e1ab15c35a457e9c2b2aa189f544e1", "name": "share_London", "share_type": "25747776-08e5-494f-ab40-a64b9d20d8f7", "availability_zone": "az1.dc1", "created_at": "2015-09-18T10:25:24.533287", "export_location": null, "links": [ { "href": "http://192.168.198.54:8786/v2/16e1ab15c35a457e9c2b2aa189f544e1/shares/011d21e2-fbc3-4e4a-9993-9ea223f73264", "rel": "self" }, { "href": "http://192.168.198.54:8786/16e1ab15c35a457e9c2b2aa189f544e1/shares/011d21e2-fbc3-4e4a-9993-9ea223f73264", "rel": "bookmark" } ], "share_network_id": null, "export_locations": [], "share_proto": "NFS", "host": null, "volume_type": "default", "snapshot_id": null, "is_public": true, "metadata": { "project": "my_app", "aim": "doc" }, "id": "011d21e2-fbc3-4e4a-9993-9ea223f73264", "size": 1, "description": "My custom share London" } }
客户端收到系统响应时,共享创建任务还未结束,因此,共享路径不能马上查询到,当创建任务完成后,用户可以通过共享路径信息查询接口查询出来。
状态码
- 正常
- 异常
状态码
说明
400 Bad Request
服务器未能处理请求。
401 Unauthorized
被请求的页面需要用户名和密码。
403 Forbidden
对被请求页面的访问被禁止。
404 Not Found
服务器无法找到被请求的页面。
405 Method Not Allowed
请求中指定的方法不被允许。
406 Not Acceptable
服务器生成的响应无法被客户端所接受。
407 Proxy Authentication Required
用户必须首先使用代理服务器进行验证,这样请求才会被处理。
408 Request Timeout
请求超出了服务器的等待时间。
409 Conflict
由于冲突,请求无法被完成。
413 Quota Exceeded
用户配额不足。
500 Internal Server Error
请求未完成。服务异常。
501 Not Implemented
请求未完成。服务器不支持所请求的功能。
502 Bad Gateway
请求未完成。服务器从上游服务器收到一个无效的响应。
503 Service Unavailable
请求未完成。系统暂时异常。
504 Gateway Timeout
网关超时。