5.3 共享访问规则
5.3.1 添加共享访问规则
功能介绍
共享规则添加。
说明
● 该接口为异步接口,返回为200只是表示接口下发接收成功,后续可以通过查询共享访问规 则接口,判断添加共享访问规则是否完成以及是否成功。
● API的microversions从2.28到2.42版本,支持添加共享访问规则时忽略已存在的访问规则的 错误状态。API的microversions通过请求头的X-Openstack-Manila-Api-Version参数指定。
URI
● POST /v2/{project_id}/shares/{share_id}/action?
vpc_ip_base_acl={vpc_ip_base_acl}
● 参数说明
参数 是否必选 参数类型 描述
share_id 是 String 共享的ID。
project_id 是 String 操作用户的项目ID,获取方法请参见 获取项目ID。
参数 是否必选 参数类型 描述 vpc_ip_base
_acl 否 String IP地址授权场景的标识符,当前可用 值只有enable。值为enable时,表示 创建IP地址授权场景的共享访问规 则。
须知
为了兼容性,当不设置该参数,或者设置 了该参数但是值不为enable时,仍然可以 使用接口创建IP地址授权场景的共享访问 规则,但是,这种方式已废弃,且后续不 再维护。
请求消息头
该操作消息头与普通请求一样,请参见表3-3。
请求消息
● 参数说明
参数 是否必选 参数类型 描述
os-allow_acces s
是 Object os-allow_access对象。
说明
当API的版本号在1.0-2.6之间时,请求体中JSON格式的body体中顶层参数使用"os-"前缀。
如果需要使用的API版本大于2.6,则需要去掉"os-"前缀。
● os-allow_access字段说明:
参数 是否必
选
参数类 型
描述
access_lev
el 否 String 共享访问的权限级别,取值为ro(只读),
rw(读写)。默认为rw(读写)。
access_typ
e 是 String 访问存储的方式。SFS容量型的取值为 cert,指以证书的方式访问存储。
参数 是否必 选
参数类 型
描述
access_to 是 String 定义访问规则的值,长度为1~255。根据场 景取值:
● 按照VPC授权的场景,填写VPCID。
● 按照IP地址授权的场景进行填写:
说明VPCID、IP、优先级和用户权限的说明与限制:
● VPCID:VPC的ID。
● IP:ECS主网口上的租户IPv4地址或IPv4地址 段。一条规则只支持设置一个IPv4地址或IPv4
参数 是否必 功添加至VPC B的授权IP地址内,但该云服务 器无法挂载属于VPC B下的文件系统。弹性云 服务器和文件系统所使用的VPC需为同一个。
● 请求样例(按照VPC授权的场景)
指定的API版本号在1.0-2.6之间时,请求样例如下:
{ "os-allow_access": {
"access_to": "59cd070d-9c4c-462e-9dcc-b6bb716225bc", "access_type": "cert",
"access_to": "59cd070d-9c4c-462e-9dcc-b6bb716225bc", "access_type": "cert",
"access_level": "rw"
} }
● 请求样例(按照IP地址授权的场景)
POST /v2/{project_id}/shares/{share_id}/action?vpc_ip_base_acl=enable NFS共享:
{ "allow_access": {
"access_to": "0560a527-0e77-40a6-aa3b-110beecad368#0.0.0.0/0#1#all_squash,root_squash", "access_type": "cert",
"access_to": "0560a527-0e77-40a6-aa3b-110beecad368#0.0.0.0/0#0", "access_type": "cert",
"access_level": "rw"
} }
须知
创建IP地址授权场景的共享访问规则时:
1. 请求头需要指定X-Openstack-Manila-Api-Version参数,且X-Openstack-Manila-Api-Version的值需要为2.28到2.42之间的版本。
2. 需要在请求URL中添加vpc_ip_base_acl参数且vpc_ip_base_acl的值需设置为 enable。为了兼容性,当不设置该参数,或者设置了该参数但是值不为enable 时,仍然可以使用接口创建IP地址授权场景的共享访问规则,但是,这种方式已 废弃,且后续不再维护。
响应消息
● 参数说明
参数 参数类型 描述
access Object access对象,如果共享访问规则未更新,这 个值为null。
● access字段说明:
参数 参数类型 描述
share_id String 添加访问规则共享的ID。
access_type String 共享访问规则类型。
access_to String 后端允许或拒绝访问的对象。
access_level String 共享访问规则级别。
id String 共享访问规则的ID。
state String 共享访问规则的状态。API版本在2.28之 前,共享访问规则的状态为new, active,或者 error;在2.28到2.42之后的版本,共享访问 规则的状态为queued_to_apply,applying, active, error, queued_to_deny或者 denying。
access_key String 访问规则的访问凭据。请求消息头指定的X-Openstack-Manila-Api-Version的值大于等 于2.21到2.42时,该字段才存在。
● 响应样例
{ "access": {
"share_id": "15940c49-789f-476a-b099-a3be7d311854", "access_type": "cert",
"access_to": "59cd070d-9c4c-462e-9dcc-b6bb716225bc", "access_level": "rw",
"state": "new",
"id": "418e3cf4-08c3-4ed2-a29a-ceffa346b3b8", "access_key":null,
}}
● 响应样例(按照IP地址授权的场景)
NFS共享:
{ "access":{
"access_key":null,
"share_id":"7ec1115f-518b-40ff-a998-5599ce2da332", "access_type":"cert",
"access_to":"0560a527-0e77-40a6-aa3b-110beecad368#0.0.0.0/0#1#all_squash,root_squash", "access_level":"rw",
"state":"queued_to_apply",
"id":"24615391-d58d-4a74-ac5a-520233c9c396", }
}
CIFS共享:
{ "access":{
"access_key":null,
"share_id":"7ec1115f-518b-40ff-a998-5599ce2da332", "access_type":"cert",
"access_to":"0560a527-0e77-40a6-aa3b-110beecad368#0.0.0.0/0#0", "access_level":"rw",
"state":"queued_to_apply",
"id":"24615391-d58d-4a74-ac5a-520233c9c396", }
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 由于冲突,请求无法被完成。
500 Internal Server Error 请求未完成。服务异常。
501 Not Implemented 请求未完成。服务器不支持所请求的功能。
502 Bad Gateway 请求未完成。服务器从上游服务器收到一个 无效的响应。
状态码 说明
503 Service Unavailable 请求未完成。系统暂时异常。
504 Gateway Timeout 网关超时。