共享文件系统 API¶
这是 OpenStack 共享文件系统 API 的版本 2 参考文档,由 Manila 项目提供。Manila 提供了一个 RESTful HTTP 服务,通过该服务可以按需、可扩展、自助访问共享文件系统存储资源。
重要提示
在 Wallaby 版本发布之前,共享文件系统服务要求调用者在 API URL 中指定他们的“project_id”。此要求已被取消。API 服务现在无论 URL 中是否包含“project_id”都表现相同。如果您的云还不支持版本 2.60,则下面的所有资源 URL 都需要项目 ID。例如
GET /v2/{project_id}/shares
API 版本¶
列出所有共享文件系统 API 版本的信息。
概念¶
为了随着时间的推移为用户带来新功能,共享文件系统 API 支持版本控制。共享文件系统 API 中有两种类型的版本
‘’主要版本’’, 具有专用的 URL
‘’微版本’’, 可以通过使用
X-OpenStack-Manila-API-Version标头来请求
详细了解服务遵守的微版本指南 此处
请参阅 共享文件系统 API 版本的演变历史,以查看 API 的演变并选择 API 请求的适当版本。
这将获取有关部署中所有已知主要 API 版本的所有信息。将为每个 API 版本提供指向更多特定信息的链接,以及有关支持的最小和最大微版本的信息。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
300 - 多重选择 |
资源对应于多个表示形式。 |
响应¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
versions |
body |
数组 |
描述可用 API 版本的版本对象的列表。 |
id |
body |
字符串 |
版本的一个通用名称。仅供参考,不具有实际语义意义。 |
updated |
body |
字符串 |
API 版本的日期和时间戳。此字段不提供有意义的信息。 |
status |
body |
字符串 |
此 API 版本的状态。它可以是以下之一:
|
links |
body |
数组 |
资源的分页和书签链接。 |
media-types |
body |
对象 |
API 支持的媒体类型。 |
版本 |
body |
字符串 |
如果此版本的 API 支持微版本,则支持的最大微版本。如果不支持微版本,则为空字符串。 |
min_version |
body |
字符串 |
如果此版本的 API 支持微版本,则支持的最小微版本。如果不支持微版本,则为空字符串。 |
注意
响应中的 updated 和 media-types 参数是遗留的,不提供有用的信息。它们可能会被弃用并在未来删除。
响应示例¶
这演示了来自一个处于最新状态的服务器的预期响应,该服务器支持最新的微版本。在查询 OpenStack 环境时,您通常会发现 v2.1 API 上的当前微版本低于以下列出的版本。
{
"versions": [
{
"status": "DEPRECATED",
"updated": "2015-08-27T11:33:21Z",
"links": [
{
"href": "https://docs.openstack.org/",
"type": "text/html",
"rel": "describedby"
},
{
"href": "http://172.18.198.54:8786/v1/",
"rel": "self"
}
],
"min_version": "",
"version": "",
"media-types": [
{
"base": "application/json",
"type": "application/vnd.openstack.share+json;version=1"
}
],
"id": "v1.0"
},
{
"status": "CURRENT",
"updated": "2015-08-27T11:33:21Z",
"links": [
{
"href": "https://docs.openstack.org/",
"type": "text/html",
"rel": "describedby"
},
{
"href": "http://172.18.198.54:8786/v2/",
"rel": "self"
}
],
"min_version": "2.0",
"version": "2.15",
"media-types": [
{
"base": "application/json",
"type": "application/vnd.openstack.share+json;version=1"
}
],
"id": "v2.0"
}
]
}
这将获取特定 API 在其根目录上的详细信息。几乎所有这些信息都存在于 API 根目录中,因此这主要是冗余操作。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
api_version |
路径 |
字符串 |
如从 |
响应¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
版本 |
body |
字符串 |
版本。 |
id |
body |
字符串 |
版本的一个通用名称。仅供参考,不具有实际语义意义。 |
status |
body |
字符串 |
此 API 版本的状态。它可以是以下之一:
|
links |
body |
数组 |
资源的分页和书签链接。 |
版本 |
body |
字符串 |
如果此版本的 API 支持微版本,则支持的最大微版本。如果不支持微版本,则为空字符串。 |
updated |
body |
字符串 |
API 版本的日期和时间戳。此字段不提供有意义的信息。 |
min_version |
body |
字符串 |
如果此版本的 API 支持微版本,则支持的最小微版本。如果不支持微版本,则为空字符串。 |
media-types |
body |
对象 |
API 支持的媒体类型。 |
注意
响应中的 updated 和 media-types 参数是遗留的,不提供有用的信息。它们可能会被弃用并在未来删除。
响应示例¶
这是对相对较新服务器的 GET /v2/ 的一个示例。
{
"versions": [
{
"status": "CURRENT",
"updated": "2015-08-27T11:33:21Z",
"links": [
{
"href": "https://docs.openstack.org/",
"type": "text/html",
"rel": "describedby"
},
{
"href": "http://172.18.198.54:8786/v2/",
"rel": "self"
}
],
"min_version": "2.0",
"version": "2.15",
"media-types": [
{
"base": "application/json",
"type": "application/vnd.openstack.share+json;version=1"
}
],
"id": "v2.0"
}
]
}
API 扩展¶
列出可用的共享文件系统 API 扩展。
列出所有扩展。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
name |
body |
字符串 |
扩展的名称。例如,“Fox In Socks”。 |
links |
body |
数组 |
扩展链接。 |
description |
body |
字符串 |
扩展 API 的描述。 |
alias |
body |
字符串 |
扩展的别名。例如,“FOXNSOX”、“os-availability-zone”、“os-extended-quotas”、“os- share-unmanage”或“os-used-limits”。 |
updated |
body |
字符串 |
上次更新扩展 API 的日期和时间戳。 日期和时间戳格式为 ISO 8601
如果包含 例如, |
响应示例¶
{
"extensions": [
{
"alias": "os-extended-quotas",
"updated": "2013-06-09T00:00:00+00:00",
"name": "ExtendedQuotas",
"links": [],
"description": "Extend quotas. Adds ability for admins to delete quota and optionally force the update Quota command."
},
{
"alias": "os-quota-sets",
"updated": "2011-08-08T00:00:00+00:00",
"name": "Quotas",
"links": [],
"description": "Quotas management support."
},
{
"alias": "os-quota-class-sets",
"updated": "2012-03-12T00:00:00+00:00",
"name": "QuotaClasses",
"links": [],
"description": "Quota classes management support."
},
{
"alias": "os-share-unmanage",
"updated": "2015-02-17T00:00:00+00:00",
"name": "ShareUnmanage",
"links": [],
"description": "Enable share unmanage operation."
},
{
"alias": "os-types-manage",
"updated": "2011-08-24T00:00:00+00:00",
"name": "TypesManage",
"links": [],
"description": "Types manage support."
},
{
"alias": "share-actions",
"updated": "2012-08-14T00:00:00+00:00",
"name": "ShareActions",
"links": [],
"description": "Enable share actions."
},
{
"alias": "os-availability-zone",
"updated": "2015-07-28T00:00:00+00:00",
"name": "AvailabilityZones",
"links": [],
"description": "Describe Availability Zones."
},
{
"alias": "os-user-quotas",
"updated": "2013-07-18T00:00:00+00:00",
"name": "UserQuotas",
"links": [],
"description": "Project user quota support."
},
{
"alias": "os-share-type-access",
"updated": "2015-03-02T00:00:00Z",
"name": "ShareTypeAccess",
"links": [],
"description": "share type access support."
},
{
"alias": "os-types-extra-specs",
"updated": "2011-08-24T00:00:00+00:00",
"name": "TypesExtraSpecs",
"links": [],
"description": "Type extra specs support."
},
{
"alias": "os-admin-actions",
"updated": "2015-08-03T00:00:00+00:00",
"name": "AdminActions",
"links": [],
"description": "Enable admin actions."
},
{
"alias": "os-used-limits",
"updated": "2014-03-27T00:00:00+00:00",
"name": "UsedLimits",
"links": [],
"description": "Provide data on limited resources that are being used."
},
{
"alias": "os-services",
"updated": "2012-10-28T00:00:00-00:00",
"name": "Services",
"links": [],
"description": "Services support."
},
{
"alias": "os-share-manage",
"updated": "2015-02-17T00:00:00+00:00",
"name": "ShareManage",
"links": [],
"description": "Allows existing share to be 'managed' by Manila."
}
]
}
限制¶
限制是允许每个租户(项目)的资源限制。管理员可以在 manila.conf 文件中配置限制。
用户可以查询他们的速率和绝对限制。绝对限制包含有关的信息
总最大共享内存,以 GiB 为单位。
共享网络的数量。
共享快照的数量。
共享的数量。
共享和总使用的内存,以 GiB 为单位。
快照和总使用的内存,以 GiB 为单位。
共享副本的数量(自 API 版本 2.53 起)。
共享副本和总使用的内存,以 GiB 为单位(自 API 版本 2.53 起)。
速率限制控制用户可以发出特定 API 请求的频率。管理员使用速率限制来配置在特定时间间隔内可以进行的 API 调用类型和数量的限制。例如,速率限制可以控制在一分钟期间内可以处理的 GET 请求的数量。
列出共享限制。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
maxTotalShareGigabytes |
body |
整数 |
项目中允许的总最大共享千兆字节数。您不能请求超过允许的千兆字节配额的共享。 |
maxTotalSnapshotGigabytes |
body |
整数 |
项目中允许的总最大快照千兆字节数。 |
maxTotalShares |
body |
整数 |
项目中允许的总最大共享数。 |
maxTotalShareSnapshots |
body |
整数 |
项目中允许的总最大共享快照数。 |
maxTotalShareNetworks |
body |
整数 |
项目中允许的总最大共享网络数。 |
maxTotalShareReplicas |
body |
整数 |
允许的最大共享副本数。 新增于版本 2.53 |
maxTotalReplicaGigabytes |
body |
整数 |
允许的最大副本千兆字节数。如果创建共享、共享副本、管理共享或扩展共享将超过允许的副本千兆字节配额,则无法创建共享。 新增于版本 2.53 |
maxTotalShareBackups |
body |
整数 |
项目中允许的总最大共享备份数。 新增于版本 2.80 |
maxTotalBackupGigabytes |
body |
整数 |
项目中允许的总最大备份千兆字节数。 新增于版本 2.80 |
totalSharesUsed |
body |
整数 |
项目中创建的总共享数。 |
totalShareSnapshotsUsed |
body |
整数 |
项目中创建的总共享快照数。 |
totalShareNetworksUsed |
body |
整数 |
项目中创建的总共享网络数。 |
totalShareGigabytesUsed |
body |
整数 |
项目中由共享使用的总千兆字节数。 |
totalSnapshotGigabytesUsed |
body |
整数 |
项目中由快照使用的总千兆字节数。 |
totalShareReplicasUsed |
body |
整数 |
项目中创建的总共享副本数。 |
totalReplicaGigabytesUsed |
body |
整数 |
项目中由共享副本使用的总副本千兆字节数。 |
totalShareBackupsUsed |
body |
整数 |
项目中创建的总共享备份数。 |
totalBackupGigabytesUsed |
body |
整数 |
项目中由备份使用的总千兆字节数。 |
uri (可选) |
body |
字符串 |
速率限制的可读 URI。 |
regex (可选) |
body |
字符串 |
API 正则表达式。例如, |
value (可选) |
body |
整数 |
在特定时间间隔内允许的 API 请求数。与 |
verb (可选) |
body |
字符串 |
API 请求的 HTTP 方法。例如, |
remaining (可选) |
body |
整数 |
剩余允许的请求数。 |
unit (可选) |
body |
字符串 |
允许在一段时间内进行 API 请求数量的时间间隔。有效值为 |
next-available (可选) |
body |
字符串 |
下次可用问题的时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
响应示例¶
{
"limits": {
"rate": [],
"absolute": {
"totalShareNetworksUsed": 0,
"maxTotalShareGigabytes": 1000,
"maxTotalShareNetworks": 10,
"totalSharesUsed": 0,
"totalShareGigabytesUsed": 0,
"totalShareSnapshotsUsed": 0,
"maxTotalShares": 50,
"totalSnapshotGigabytesUsed": 0,
"maxTotalSnapshotGigabytes": 1000,
"maxTotalShareSnapshots": 50,
"maxTotalShareReplicas": 100,
"maxTotalReplicaGigabytes": 1000,
"totalShareReplicasUsed": 0,
"totalReplicaGigabytesUsed": 0,
"maxTotalShareBackups": 100,
"maxTotalBackupGigabytes": 1000,
"totalShareBackupsUsed": 0,
"totalBackupGigabytesUsed": 0
}
}
}
共享¶
共享是可远程挂载的文件系统。在下面的 API 中,共享资源是共享文件系统服务中此远程文件系统的表示形式。此资源表示形式包含有用的元数据,传达了用户和共享文件系统服务确定的远程文件系统的特征。
您可以创建共享并将其与网络关联,列出共享,以及显示、更新和删除共享的信息。
要创建共享,请指定以下受支持的协议之一
NFS。网络文件系统 (NFS)。CIFS。通用互联网文件系统 (CIFS)。GLUSTERFS。Gluster 文件系统 (GlusterFS)。HDFS。Hadoop 分布式文件系统 (HDFS)。CEPHFS。Ceph 文件系统 (CephFS)。MAPRFS。MapR 文件系统 (MAPRFS)。
您还可以创建共享的快照。要创建快照,请指定要快照的共享的 ID。
共享具有以下状态值之一
共享状态
状态 |
描述 |
|
正在备份共享。 |
|
正在从备份还原共享。 |
|
共享备份还原期间发生错误。 |
|
正在创建共享。 |
|
正在从父快照创建共享。 |
|
正在删除共享。 |
|
共享已删除。 |
|
共享创建期间发生错误。 |
|
共享删除期间发生错误。 |
|
共享已准备好使用。 |
|
共享处于非活动状态。 |
|
共享管理已启动。 |
|
共享管理失败。 |
|
共享取消管理已启动。 |
|
无法取消管理共享。 |
|
共享已取消管理。 |
|
扩展(或增加)共享大小的请求已成功发出。 |
|
扩展共享失败。 |
|
共享正在缩小。 |
|
共享缩小期间更新配额失败。 |
|
由于可能的数据丢失,缩小共享失败。 |
|
共享当前正在迁移。 |
|
共享是迁移目标。 |
|
共享正在进行复制更改。 |
|
共享正在还原到快照。 |
|
快照回滚失败。 |
|
共享正在被转移到不同项目的命名空间。 |
列出所有共享。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
all_tenants (可选) |
查询 |
布尔值 |
(仅限管理员)。定义是否为所有项目列出请求的资源。设置为 |
name (可选) |
查询 |
字符串 |
用于按资源名称过滤资源的由用户定义名称。 |
status (可选) |
查询 |
字符串 |
按共享状态过滤。有关有效状态,请参阅上方部分。 |
share_server_id (可选) |
查询 |
字符串 |
共享服务器的 UUID。 |
metadata (可选) |
查询 |
对象 |
一个或多个元数据键值对,作为字符串的 URL 编码字典。 |
extra_specs (可选) |
查询 |
字符串 |
作为一组键值对的额外规范。在每个对中,键是额外规范的名称,值是用于过滤共享类型列表的共享类型。查询必须是“百分比编码”字符串,例如,以下查询参数:{‘extra-specs’: {‘snapshot_support’: ‘true’, ‘availability_zones’: ‘az1’}} 编码为 ‘extra_specs=%7B%27snapshot_support%27%3A+%27true%27%2C+%27availability_zones%27%3A+%27az1%27%7D’ 版本 2.43 中新增 |
share_type_id (可选) |
查询 |
字符串 |
用于按共享类型查询资源的 UUID。 |
snapshot_id (可选) |
查询 |
字符串 |
用于基于快照过滤请求的共享的基本快照的 UUID。 |
source_backup_id (可选) |
查询 |
字符串 |
用于基于备份过滤请求的共享的备份的 UUID。 |
host (可选) |
查询 |
字符串 |
要查询的资源的宿主机名。通过主机名查询是一项特权操作。如果受 API 策略限制,服务器可能会静默忽略此查询参数。 |
share_network_id (可选) |
查询 |
字符串 |
用于按共享网络过滤资源的 UUID。 |
project_id (可选) |
查询 |
字符串 |
拥有资源的项目的 ID。此查询参数与 |
is_public (可选) |
查询 |
布尔值 |
一个布尔查询参数,当设置为 true 时,允许检索属于所有项目的公共资源。 |
share_group_id (可选) |
查询 |
字符串 |
用于过滤资源的共享组的 UUID。 版本 2.31 中新增 |
export_location_id (可选) |
查询 |
字符串 |
可用于过滤共享或共享实例的导出位置 UUID。 版本 2.35 中新增 |
export_location_path (可选) |
查询 |
字符串 |
可用于过滤共享或共享实例的导出位置路径。 版本 2.35 中新增 |
name~ (可选) |
查询 |
字符串 |
可用于过滤共享、共享快照、共享网络、传输或共享组的名称模式。 版本 2.36 中新增 |
description~ (可选) |
查询 |
字符串 |
可用于过滤共享、共享快照、共享网络或共享组的描述模式。 版本 2.36 中新增 |
with_count (可选) |
查询 |
布尔值 |
是否在共享列表 API 响应中显示 版本 2.42 中新增 |
is_soft_deleted (可选) |
查询 |
布尔值 |
一个布尔查询参数,当设置为 True 时,将返回回收站中的所有共享。默认值为 False,将返回不在回收站中的所有共享。 版本 2.69 中新增 |
limit (可选) |
查询 |
整数 |
要返回的最大资源记录数。 |
offset (可选) |
查询 |
整数 |
用于定义资源列表起点的偏移量。 |
sort_key (可选) |
查询 |
字符串 |
用于对共享列表进行排序的键。有效值为 |
sort_dir (可选) |
查询 |
字符串 |
用于对资源列表进行排序的方向。有效值为 |
encryption_key_ref (可选) |
查询 |
字符串 |
可用于过滤共享或共享实例的加密密钥引用。 版本 2.90 中新增 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
共享的 UUID。 |
links |
body |
数组 |
资源的分页和书签链接。 |
name |
body |
字符串 |
资源的由用户定义的名称。 |
count (可选) |
body |
整数 |
应用分页之前请求的资源的计数。如果查询中提供了“with_count=True”,则此参数仅存在于 API 响应中。 版本 2.42 中新增 |
响应示例¶
{
"shares": [
{
"id": "d94a8548-2079-4be0-b21c-0a887acd31ca",
"links": [
{
"href": "http://172.18.198.54:8786/v1/16e1ab15c35a457e9c2b2aa189f544e1/shares/d94a8548-2079-4be0-b21c-0a887acd31ca",
"rel": "self"
},
{
"href": "http://172.18.198.54:8786/16e1ab15c35a457e9c2b2aa189f544e1/shares/d94a8548-2079-4be0-b21c-0a887acd31ca",
"rel": "bookmark"
}
],
"name": "My_share"
},
{
"id": "406ea93b-32e9-4907-a117-148b3945749f",
"links": [
{
"href": "http://172.18.198.54:8786/v1/16e1ab15c35a457e9c2b2aa189f544e1/shares/406ea93b-32e9-4907-a117-148b3945749f",
"rel": "self"
},
{
"href": "http://172.18.198.54:8786/16e1ab15c35a457e9c2b2aa189f544e1/shares/406ea93b-32e9-4907-a117-148b3945749f",
"rel": "bookmark"
}
],
"name": "Share1"
}
],
"count": 10
}
列出所有共享,包含详细信息。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此资源有一个正在进行的操作,与此请求冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
all_tenants (可选) |
查询 |
布尔值 |
(仅限管理员)。定义是否为所有项目列出请求的资源。设置为 |
status (可选) |
查询 |
字符串 |
按共享状态过滤。有关有效状态,请参阅上方部分。 |
share_server_id (可选) |
查询 |
字符串 |
共享服务器的 UUID。 |
metadata (可选) |
查询 |
对象 |
一个或多个元数据键值对,作为字符串的 URL 编码字典。 |
extra_specs (可选) |
查询 |
字符串 |
作为一组键值对的额外规范。在每个对中,键是额外规范的名称,值是用于过滤共享类型列表的共享类型。查询必须是“百分比编码”字符串,例如,以下查询参数:{‘extra-specs’: {‘snapshot_support’: ‘true’, ‘availability_zones’: ‘az1’}} 编码为 ‘extra_specs=%7B%27snapshot_support%27%3A+%27true%27%2C+%27availability_zones%27%3A+%27az1%27%7D’ 版本 2.43 中新增 |
share_type_id (可选) |
查询 |
字符串 |
用于按共享类型查询资源的 UUID。 |
name (可选) |
查询 |
字符串 |
用于按资源名称过滤资源的由用户定义名称。 |
snapshot_id (可选) |
查询 |
字符串 |
用于基于快照过滤请求的共享的基本快照的 UUID。 |
source_backup_id (可选) |
查询 |
字符串 |
用于基于备份过滤请求的共享的备份的 UUID。 |
host (可选) |
查询 |
字符串 |
要查询的资源的宿主机名。通过主机名查询是一项特权操作。如果受 API 策略限制,服务器可能会静默忽略此查询参数。 |
share_network_id (可选) |
查询 |
字符串 |
用于按共享网络过滤资源的 UUID。 |
project_id (可选) |
查询 |
字符串 |
拥有资源的项目的 ID。此查询参数与 |
is_public (可选) |
查询 |
布尔值 |
一个布尔查询参数,当设置为 true 时,允许检索属于所有项目的公共资源。 |
share_group_id (可选) |
查询 |
字符串 |
用于过滤资源的共享组的 UUID。 版本 2.31 中新增 |
export_location_id (可选) |
查询 |
字符串 |
可用于过滤共享或共享实例的导出位置 UUID。 版本 2.35 中新增 |
export_location_path (可选) |
查询 |
字符串 |
可用于过滤共享或共享实例的导出位置路径。 版本 2.35 中新增 |
name~ (可选) |
查询 |
字符串 |
可用于过滤共享、共享快照、共享网络、传输或共享组的名称模式。 版本 2.36 中新增 |
description~ (可选) |
查询 |
字符串 |
可用于过滤共享、共享快照、共享网络或共享组的描述模式。 版本 2.36 中新增 |
with_count (可选) |
查询 |
布尔值 |
是否在共享列表 API 响应中显示 版本 2.42 中新增 |
is_soft_deleted (可选) |
查询 |
布尔值 |
一个布尔查询参数,当设置为 True 时,将返回回收站中的所有共享。默认值为 False,将返回不在回收站中的所有共享。 版本 2.69 中新增 |
limit (可选) |
查询 |
整数 |
要返回的最大资源记录数。 |
offset (可选) |
查询 |
整数 |
用于定义资源列表起点的偏移量。 |
sort_key (可选) |
查询 |
字符串 |
用于对共享列表进行排序的键。有效值为 |
sort_dir (可选) |
查询 |
字符串 |
用于对资源列表进行排序的方向。有效值为 |
encryption_key_ref (可选) |
查询 |
字符串 |
可用于过滤共享或共享实例的加密密钥引用。 版本 2.90 中新增 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
共享的 UUID。 |
size |
body |
整数 |
共享大小,以 GiB 为单位。 |
availability_zone |
body |
字符串 |
共享所在的可用区的名称。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
status |
body |
字符串 |
共享或共享实例的状态。可能的值在上方部分中列出。 |
name |
body |
字符串 |
资源的由用户定义的名称。 |
description |
body |
字符串 |
资源的由用户定义的描述。 |
project_id |
body |
字符串 |
拥有资源的项目的 ID。 |
snapshot_id |
body |
字符串 |
用于创建共享的快照的 UUID。 |
source_backup_id |
body |
字符串 |
恢复到共享的备份的 UUID。 新增于版本 2.80 |
share_network_id |
body |
字符串 |
资源导出到的共享网络 ID。 |
share_proto |
body |
字符串 |
共享文件系统协议。有效值为 |
metadata |
body |
对象 |
一个或多个元数据键值对,作为字符串的字典。 |
share_type |
body |
字符串 |
共享所属的共享类型 UUID。在 API 版本 2.6 之前,此参数解析为共享类型的名称。在 API 版本 2.6 及更高版本中,此参数持有共享类型 ID 而不是名称。 |
links |
body |
数组 |
资源的分页和书签链接。 |
is_public |
body |
布尔值 |
共享是否对公众可见(云中的所有项目)或不是。 |
share_server_id |
body |
字符串 |
共享服务器的 UUID。 |
host |
body |
字符串 |
资源所在的服务的后端宿主机名。此参数始终存在于响应模式中,但对于非管理员用户,该值可能表示为“null”。 |
snapshot_support |
body |
布尔值 |
此共享是否支持快照。快照是共享的某个时间点的备份。 版本 2.2 中新增 |
task_state |
body |
字符串 |
对于共享迁移,迁移任务状态。有效值为 版本 2.5 中新增 |
share_type_name |
body |
字符串 |
共享类型的名称。 |
access_rules_status |
body |
字符串 |
共享实例访问规则状态。有效值为 版本 2.10 中新增 |
replication_type |
body |
字符串 |
共享复制类型。值为
版本 2.11 中新增 |
has_replicas |
body |
布尔值 |
指示共享是否具有副本。 版本 2.11 中新增 |
user_id |
body |
字符串 |
创建共享的用户 ID。 版本 2.16 中新增 |
create_share_from_snapshot_support |
body |
布尔值 |
是否支持将快照克隆到新共享。如果共享不支持快照,则无关紧要(请参阅功能“snapshot_support”)。 版本 2.24 中新增 |
revert_to_snapshot_support |
body |
布尔值 |
是否支持将共享回滚到其最新快照。如果共享不支持快照,则无关紧要(请参阅功能“snapshot_support”)。 版本 2.27 中新增 |
share_group_id |
body |
字符串 |
共享组的 UUID。 版本 2.31 中新增 |
source_share_group_snapshot_member_id |
body |
字符串 |
作为此共享来源的组快照实例的 ID。 版本 2.31 中新增 |
mount_snapshot_support |
body |
布尔值 |
是否支持将快照挂载并独立于共享进行访问控制。如果共享不支持快照,则无关紧要(请参阅功能“snapshot_support”)。 版本 2.32 中新增 |
progress |
body |
字符串 |
共享创建的进度。 版本 2.54 中新增 |
count (可选) |
body |
整数 |
应用分页之前请求的资源的计数。如果查询中提供了“with_count=True”,则此参数仅存在于 API 响应中。 版本 2.42 中新增 |
volume_type |
body |
字符串 |
共享类型 ID。这是一个遗留参数,其中包含与 |
export_location |
body |
字符串 |
导出位置。对于较新的 API 版本,它在单独的 API 中可用。请参阅部分 共享导出位置 和 共享实例导出位置。 直到版本 2.8 可用 |
export_locations |
body |
数组 |
导出位置列表。例如,当共享服务器具有多个网络接口时,它可以具有多个导出位置。对于较新的 API 版本,它在单独的 API 中可用。请参阅部分 共享导出位置 和 共享实例导出位置。 直到版本 2.8 可用 |
is_soft_deleted (可选) |
body |
布尔值 |
共享是否已软删除到回收站。 版本 2.69 中新增 |
scheduled_to_be_deleted_at (可选) |
body |
字符串 |
估计在回收站中自动删除共享的时间。 版本 2.69 中新增 |
encryption_key_ref |
body |
对象 |
加密密钥引用是有效的 barbican secret UUID,存储驱动程序将使用它来获取加密密钥。 |
响应示例¶
{
"shares": [
{
"links": [
{
"href": "http://172.18.198.54:8786/v2/16e1ab15c35a457e9c2b2aa189f544e1/shares/f45cc5b2-d1bb-4a3e-ba5b-5c4125613adc",
"rel": "self"
},
{
"href": "http://172.18.198.54:8786/16e1ab15c35a457e9c2b2aa189f544e1/shares/f45cc5b2-d1bb-4a3e-ba5b-5c4125613adc",
"rel": "bookmark"
}
],
"availability_zone": "nova",
"share_network_id": "f9b2e754-ac01-4466-86e1-5c569424754e",
"export_locations": [],
"share_server_id": "87d8943a-f5da-47a4-b2f2-ddfa6794aa82",
"share_group_id": null,
"snapshot_id": null,
"source_backup_id": null,
"id": "f45cc5b2-d1bb-4a3e-ba5b-5c4125613adc",
"size": 1,
"share_type": "25747776-08e5-494f-ab40-a64b9d20d8f7",
"share_type_name": "default",
"export_location": null,
"project_id": "16e1ab15c35a457e9c2b2aa189f544e1",
"metadata": {},
"status": "error",
"progress": null,
"access_rules_status": "active",
"description": "There is a share description.",
"host": "manila2@generic1#GENERIC1",
"task_state": null,
"is_public": true,
"snapshot_support": true,
"user_id": "66ffd308757e44b9a8bec381322b0b88",
"name": "my_share4",
"has_replicas": false,
"replication_type": null,
"created_at": "2015-09-16T18:19:50.000000",
"share_proto": "NFS",
"volume_type": "default"
},
{
"links": [
{
"href": "http://172.18.198.54:8786/v2/16e1ab15c35a457e9c2b2aa189f544e1/shares/c4a2ced4-2c9f-4ae1-adaa-6171833e64df",
"rel": "self"
},
{
"href": "http://172.18.198.54:8786/16e1ab15c35a457e9c2b2aa189f544e1/shares/c4a2ced4-2c9f-4ae1-adaa-6171833e64df",
"rel": "bookmark"
}
],
"availability_zone": "nova",
"share_network_id": "f9b2e754-ac01-4466-86e1-5c569424754e",
"export_locations": [
"10.254.0.5:/shares/share-50ad5e7b-f6f1-4b78-a651-0812cef2bb67"
],
"share_server_id": "87d8943a-f5da-47a4-b2f2-ddfa6794aa82",
"snapshot_id": null,
"source_backup_id": null,
"id": "c4a2ced4-2c9f-4ae1-adaa-6171833e64df",
"size": 1,
"share_type": "25747776-08e5-494f-ab40-a64b9d20d8f7",
"share_type_name": "default",
"export_location": "10.254.0.5:/shares/share-50ad5e7b-f6f1-4b78-a651-0812cef2bb67",
"project_id": "16e1ab15c35a457e9c2b2aa189f544e1",
"metadata": {},
"status": "available",
"progress": "100%",
"access_rules_status": "active",
"description": "Changed description.",
"host": "manila2@generic1#GENERIC1",
"task_state": null,
"is_public": true,
"snapshot_support": true,
"name": "my_share4",
"has_replicas": false,
"replication_type": null,
"created_at": "2015-09-16T17:26:28.000000",
"user_id": "66ffd308757e44b9a8bec381322b0b88",
"share_proto": "NFS",
"volume_type": "default"
}
],
"count": 10
}
显示共享的详细信息。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_id |
路径 |
字符串 |
共享的 UUID。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
共享的 UUID。 |
size |
body |
整数 |
共享大小,以 GiB 为单位。 |
availability_zone |
body |
字符串 |
共享所在的可用区的名称。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
status |
body |
字符串 |
共享或共享实例的状态。可能的值在上方部分中列出。 |
name |
body |
字符串 |
资源的由用户定义的名称。 |
description |
body |
字符串 |
资源的由用户定义的描述。 |
project_id |
body |
字符串 |
拥有资源的项目的 ID。 |
snapshot_id |
body |
字符串 |
用于创建共享的快照的 UUID。 |
share_network_id |
body |
字符串 |
资源导出到的共享网络 ID。 |
share_proto |
body |
字符串 |
共享文件系统协议。有效值为 |
metadata |
body |
对象 |
一个或多个元数据键值对,作为字符串的字典。 |
share_type |
body |
字符串 |
共享所属的共享类型 UUID。在 API 版本 2.6 之前,此参数解析为共享类型的名称。在 API 版本 2.6 及更高版本中,此参数持有共享类型 ID 而不是名称。 |
links |
body |
数组 |
资源的分页和书签链接。 |
is_public |
body |
布尔值 |
共享是否对公众可见(云中的所有项目)或不是。 |
share_server_id |
body |
字符串 |
共享服务器的 UUID。 |
host |
body |
字符串 |
资源所在的服务的后端宿主机名。此参数始终存在于响应模式中,但对于非管理员用户,该值可能表示为“null”。 |
snapshot_support |
body |
布尔值 |
此共享是否支持快照。快照是共享的某个时间点的备份。 版本 2.2 中新增 |
task_state |
body |
字符串 |
对于共享迁移,迁移任务状态。有效值为 版本 2.5 中新增 |
share_type_name |
body |
字符串 |
共享类型的名称。 |
access_rules_status |
body |
字符串 |
共享实例访问规则状态。有效值为 版本 2.10 中新增 |
replication_type |
body |
字符串 |
共享复制类型。值为
版本 2.11 中新增 |
has_replicas |
body |
布尔值 |
指示共享是否具有副本。 版本 2.11 中新增 |
user_id |
body |
字符串 |
创建共享的用户 ID。 版本 2.16 中新增 |
create_share_from_snapshot_support |
body |
布尔值 |
是否支持将快照克隆到新共享。如果共享不支持快照,则无关紧要(请参阅功能“snapshot_support”)。 版本 2.24 中新增 |
revert_to_snapshot_support |
body |
布尔值 |
是否支持将共享回滚到其最新快照。如果共享不支持快照,则无关紧要(请参阅功能“snapshot_support”)。 版本 2.27 中新增 |
share_group_id |
body |
字符串 |
共享组的 UUID。 版本 2.31 中新增 |
source_share_group_snapshot_member_id |
body |
字符串 |
作为此共享来源的组快照实例的 ID。 版本 2.31 中新增 |
mount_snapshot_support |
body |
布尔值 |
是否支持将快照挂载并独立于共享进行访问控制。如果共享不支持快照,则无关紧要(请参阅功能“snapshot_support”)。 版本 2.32 中新增 |
progress |
body |
字符串 |
共享创建的进度。 版本 2.54 中新增 |
count (可选) |
body |
整数 |
应用分页之前请求的资源的计数。如果查询中提供了“with_count=True”,则此参数仅存在于 API 响应中。 版本 2.42 中新增 |
volume_type |
body |
字符串 |
共享类型 ID。这是一个遗留参数,其中包含与 |
export_location |
body |
字符串 |
导出位置。对于较新的 API 版本,它在单独的 API 中可用。请参阅部分 共享导出位置 和 共享实例导出位置。 直到版本 2.8 可用 |
export_locations |
body |
数组 |
导出位置列表。例如,当共享服务器具有多个网络接口时,它可以具有多个导出位置。对于较新的 API 版本,它在单独的 API 中可用。请参阅部分 共享导出位置 和 共享实例导出位置。 直到版本 2.8 可用 |
is_soft_deleted (可选) |
body |
布尔值 |
共享是否已软删除到回收站。 版本 2.69 中新增 |
scheduled_to_be_deleted_at (可选) |
body |
字符串 |
估计在回收站中自动删除共享的时间。 版本 2.69 中新增 |
encryption_key_ref |
body |
对象 |
加密密钥引用是有效的 barbican secret UUID,存储驱动程序将使用它来获取加密密钥。 |
响应示例¶
{
"share": {
"links": [
{
"href": "http://172.18.198.54:8786/v2/16e1ab15c35a457e9c2b2aa189f544e1/shares/011d21e2-fbc3-4e4a-9993-9ea223f73264",
"rel": "self"
},
{
"href": "http://172.18.198.54:8786/16e1ab15c35a457e9c2b2aa189f544e1/shares/011d21e2-fbc3-4e4a-9993-9ea223f73264",
"rel": "bookmark"
}
],
"availability_zone": "nova",
"share_network_id": "713df749-aac0-4a54-af52-10f6c991e80c",
"export_locations": [],
"share_server_id": "e268f4aa-d571-43dd-9ab3-f49ad06ffaef",
"share_group_id": null,
"snapshot_id": null,
"id": "011d21e2-fbc3-4e4a-9993-9ea223f73264",
"size": 1,
"share_type": "25747776-08e5-494f-ab40-a64b9d20d8f7",
"share_type_name": "default",
"export_location": null,
"project_id": "16e1ab15c35a457e9c2b2aa189f544e1",
"metadata": {
"project": "my_app",
"aim": "doc"
},
"status": "available",
"progress": "100%",
"description": "My custom share London",
"host": "manila2@generic1#GENERIC1",
"user_id": "66ffd308757e44b9a8bec381322b0b88",
"access_rules_status": "active",
"has_replicas": false,
"replication_type": null,
"task_state": null,
"is_public": true,
"snapshot_support": true,
"name": "share_London",
"created_at": "2015-09-18T10:25:24.000000",
"share_proto": "NFS",
"volume_type": "default"
}
}
版本 2.3 中新增。
列出共享的实例。
共享实例是共享的内部表示形式。已复制或正在迁移的共享在物理上存储在多个位置。这些单独的位置称为共享文件系统服务中的“实例”。最终用户无需关注此内部表示形式。作为管理员,您可以通过此端点资源列出共享的所有实例。使用 policy.yaml 文件将权限授予其他角色。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_id |
路径 |
字符串 |
共享的 UUID。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
status |
body |
字符串 |
共享或共享实例的状态。可能的值在上方部分中列出。 |
access_rules_status |
body |
字符串 |
共享实例访问规则状态。有效值为 版本 2.10 中新增 |
share_id |
body |
字符串 |
共享实例所属的共享的 UUID。 |
progress |
body |
字符串 |
共享创建的进度。 版本 2.54 中新增 |
availability_zone |
body |
字符串 |
共享所在的可用区的名称。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
replica_state |
body |
字符串 |
共享副本状态。仅在使用了复制时才具有设置值。可能的取值包括: 版本 2.11 中新增 |
export_location |
body |
字符串 |
导出位置。对于较新的 API 版本,它在单独的 API 中可用。请参阅部分 共享导出位置 和 共享实例导出位置。 直到版本 2.8 可用 |
export_locations |
body |
数组 |
导出位置列表。例如,当共享服务器具有多个网络接口时,它可以具有多个导出位置。对于较新的 API 版本,它在单独的 API 中可用。请参阅部分 共享导出位置 和 共享实例导出位置。 直到版本 2.8 可用 |
cast_rules_to_readonly |
body |
布尔值 |
如果共享实例的 2.30 版本新增 |
share_network_id |
body |
字符串 |
资源导出到的共享网络 ID。 |
share_server_id |
body |
字符串 |
共享服务器的 UUID。 |
host |
body |
字符串 |
资源所在的服务的后端宿主机名。此参数始终存在于响应模式中,但对于非管理员用户,该值可能表示为“null”。 |
access_rules_status |
body |
字符串 |
共享实例访问规则状态。有效值为 版本 2.10 中新增 |
share_type_id |
路径 |
字符串 |
共享类型的 UUID。 |
id |
body |
字符串 |
共享实例 ID。 |
encryption_key_ref |
body |
对象 |
加密密钥引用是有效的 barbican secret UUID,存储驱动程序将使用它来获取加密密钥。 |
响应示例¶
{
"share_instances": [
{
"status": "error",
"progress": null,
"share_id": "406ea93b-32e9-4907-a117-148b3945749f",
"availability_zone": "nova",
"replica_state": null,
"created_at": "2015-09-07T08:41:20.000000",
"updated_at": "2015-09-07T08:43:10.000000",
"share_network_id": "713df749-aac0-4a54-af52-10f6c991e80c",
"cast_rules_to_readonly": false,
"share_server_id": "ba11930a-bf1a-4aa7-bae4-a8dfbaa3cc73",
"host": "manila2@generic1#GENERIC1",
"access_rules_status": "active",
"share_type_id": "78dee8a9-1ee6-4a29-9081-14e6596fbb96",
"id": "081f7030-c54f-42f5-98ee-93a37393e0f2"
},
{
"status": "available",
"progress": "100%",
"share_id": "d94a8548-2079-4be0-b21c-0a887acd31ca",
"availability_zone": "nova",
"replica_state": null,
"created_at": "2015-09-07T08:51:34.000000",
"updated_at": "2015-09-10T02:01:22.000000",
"share_network_id": "713df749-aac0-4a54-af52-10f6c991e80c",
"cast_rules_to_readonly": false,
"share_server_id": "ba11930a-bf1a-4aa7-bae4-a8dfbaa3cc73",
"host": "manila2@generic1#GENERIC1",
"access_rules_status": "active",
"share_type_id": "78dee8a9-1ee6-4a29-9081-14e6596fbb96",
"id": "75559a8b-c90c-42a7-bda2-edbe86acfb7b"
},
{
"status": "creating_from_snapshot",
"progress": "30%",
"share_id": "9bb15af4-27e5-4174-ae15-dc549d4a3b51",
"availability_zone": "nova",
"replica_state": null,
"created_at": "2015-09-07T09:01:15.000000",
"updated_at": "2015-09-07T09:02:30.000000",
"share_network_id": "713df749-aac0-4a54-af52-10f6c991e80c",
"cast_rules_to_readonly": false,
"share_server_id": "ba11930a-bf1a-4aa7-bae4-a8dfbaa3cc73",
"host": "manila2@generic1#GENERIC1",
"access_rules_status": "active",
"share_type_id": "78dee8a9-1ee6-4a29-9081-14e6596fbb96",
"id": "48155648-2fd3-480d-b02b-44b995c24bab"
}
]
}
创建共享。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此资源有一个正在进行的操作,与此请求冲突。 |
422 - 无法处理的实体 |
请求的实体格式无法被请求的资源以该方法处理。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_proto |
body |
字符串 |
共享文件系统协议。有效值为 |
size |
body |
整数 |
共享大小,以 GiB 为单位。请求的共享大小不能大于允许的 GiB 配额。要查看允许的配额,请发出获取限制请求。 |
name (可选) |
body |
字符串 |
用户定义的资源名称。该字段的值限制为 255 个字符。 |
description(可选) |
body |
字符串 |
用户定义的资源描述。该字段的值限制为 255 个字符。 |
display_name(可选) |
body |
字符串 |
用户定义的资源名称。该字段设置 |
display_description(可选) |
body |
字符串 |
用户定义的资源描述。该字段设置 |
share_type(可选) |
body |
字符串 |
用于创建资源的共享类型名称或 ID。如果省略此参数,则使用默认共享类型。要查看管理员设置的默认共享类型,请发出列出默认共享类型请求。 |
snapshot_id (可选) |
body |
字符串 |
共享基本快照的 UUID。 |
is_public (可选) |
body |
布尔值 |
共享的可见性级别。设置为 |
share_group_id (可选) |
body |
字符串 |
共享组的 UUID。 版本 2.31 中新增 |
metadata |
body |
对象 |
一个或多个元数据键值对,作为字符串的字典。 |
share_network_id (可选) |
body |
字符串 |
资源必须导出的共享网络的 ID。请注意,在使用具有 |
availability_zone(可选) |
body |
字符串 |
要在其中创建资源的可用区 UUID 或名称。 |
scheduler_hints(可选) |
body |
对象 |
一个或多个 scheduler_hints 键值对,以字符串字典的形式。接受的提示包括:- 2.65 版本新增 |
mount_point_name(可选) |
body |
字符串 |
用户定义的共享导出位置。 2.84 版本新增 |
encryption_key_ref (可选) |
body |
对象 |
加密密钥引用是有效的 barbican secret UUID,存储驱动程序将使用它来获取加密密钥。 版本 2.90 中新增 |
请求示例¶
{
"share": {
"description": "My custom share London",
"share_type": null,
"share_proto": "nfs",
"share_network_id": "713df749-aac0-4a54-af52-10f6c991e80c",
"share_group_id": null,
"name": "share_London",
"snapshot_id": null,
"is_public": true,
"size": 1,
"metadata": {
"project": "my_app",
"aim": "doc"
},
"scheduler_hints": {
"same_host": "d9c66489-cf02-4156-b0f2-527f3211b243,4ffee55f-ba98-42d2-a8ce-e7cecb169182",
"different_host": "903685eb-f242-4105-903d-4bef2db94be4"
},
"mount_point_name": "my_share_London",
"encryption_key_ref": "86babe9b-7277-4c3a-a081-6eb3eac9231d"
}
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
共享的 UUID。 |
size |
body |
整数 |
共享大小,以 GiB 为单位。 |
availability_zone |
body |
字符串 |
共享所在的可用区的名称。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
status |
body |
字符串 |
共享或共享实例的状态。可能的值在上方部分中列出。 |
name |
body |
字符串 |
资源的由用户定义的名称。 |
description |
body |
字符串 |
资源的由用户定义的描述。 |
project_id |
body |
字符串 |
拥有资源的项目的 ID。 |
snapshot_id |
body |
字符串 |
用于创建共享的快照的 UUID。 |
share_network_id |
body |
字符串 |
资源导出到的共享网络 ID。 |
share_proto |
body |
字符串 |
共享文件系统协议。有效值为 |
metadata |
body |
对象 |
一个或多个元数据键值对,作为字符串的字典。 |
share_type |
body |
字符串 |
共享所属的共享类型 UUID。在 API 版本 2.6 之前,此参数解析为共享类型的名称。在 API 版本 2.6 及更高版本中,此参数持有共享类型 ID 而不是名称。 |
links |
body |
数组 |
资源的分页和书签链接。 |
is_public |
body |
布尔值 |
共享是否对公众可见(云中的所有项目)或不是。 |
share_server_id |
body |
字符串 |
共享服务器的 UUID。 |
host |
body |
字符串 |
资源所在的服务的后端宿主机名。此参数始终存在于响应模式中,但对于非管理员用户,该值可能表示为“null”。 |
snapshot_support |
body |
布尔值 |
此共享是否支持快照。快照是共享的某个时间点的备份。 版本 2.2 中新增 |
task_state |
body |
字符串 |
对于共享迁移,迁移任务状态。有效值为 版本 2.5 中新增 |
share_type_name |
body |
字符串 |
共享类型的名称。 |
access_rules_status |
body |
字符串 |
共享实例访问规则状态。有效值为 版本 2.10 中新增 |
replication_type |
body |
字符串 |
共享复制类型。值为
版本 2.11 中新增 |
has_replicas |
body |
布尔值 |
指示共享是否具有副本。 版本 2.11 中新增 |
user_id |
body |
字符串 |
创建共享的用户 ID。 版本 2.16 中新增 |
create_share_from_snapshot_support |
body |
布尔值 |
是否支持将快照克隆到新共享。如果共享不支持快照,则无关紧要(请参阅功能“snapshot_support”)。 版本 2.24 中新增 |
revert_to_snapshot_support |
body |
布尔值 |
是否支持将共享回滚到其最新快照。如果共享不支持快照,则无关紧要(请参阅功能“snapshot_support”)。 版本 2.27 中新增 |
share_group_id |
body |
字符串 |
共享组的 UUID。 版本 2.31 中新增 |
source_share_group_snapshot_member_id |
body |
字符串 |
作为此共享来源的组快照实例的 ID。 版本 2.31 中新增 |
mount_snapshot_support |
body |
布尔值 |
是否支持将快照挂载并独立于共享进行访问控制。如果共享不支持快照,则无关紧要(请参阅功能“snapshot_support”)。 版本 2.32 中新增 |
progress |
body |
字符串 |
共享创建的进度。 版本 2.54 中新增 |
count (可选) |
body |
整数 |
应用分页之前请求的资源的计数。如果查询中提供了“with_count=True”,则此参数仅存在于 API 响应中。 版本 2.42 中新增 |
volume_type |
body |
字符串 |
共享类型 ID。这是一个遗留参数,其中包含与 |
export_location |
body |
字符串 |
导出位置。对于较新的 API 版本,它在单独的 API 中可用。请参阅部分 共享导出位置 和 共享实例导出位置。 直到版本 2.8 可用 |
export_locations |
body |
数组 |
导出位置列表。例如,当共享服务器具有多个网络接口时,它可以具有多个导出位置。对于较新的 API 版本,它在单独的 API 中可用。请参阅部分 共享导出位置 和 共享实例导出位置。 直到版本 2.8 可用 |
is_soft_deleted (可选) |
body |
布尔值 |
共享是否已软删除到回收站。 版本 2.69 中新增 |
scheduled_to_be_deleted_at (可选) |
body |
字符串 |
估计在回收站中自动删除共享的时间。 版本 2.69 中新增 |
encryption_key_ref |
body |
对象 |
加密密钥引用是有效的 barbican secret UUID,存储驱动程序将使用它来获取加密密钥。 |
响应示例¶
{
"share": {
"status": null,
"progress": null,
"share_server_id": null,
"project_id": "16e1ab15c35a457e9c2b2aa189f544e1",
"name": "share_London",
"share_type": "25747776-08e5-494f-ab40-a64b9d20d8f7",
"share_type_name": "default",
"availability_zone": null,
"created_at": "2015-09-18T10:25:24.533287",
"export_location": null,
"links": [
{
"href": "http://172.18.198.54:8786/v1/16e1ab15c35a457e9c2b2aa189f544e1/shares/011d21e2-fbc3-4e4a-9993-9ea223f73264",
"rel": "self"
},
{
"href": "http://172.18.198.54:8786/16e1ab15c35a457e9c2b2aa189f544e1/shares/011d21e2-fbc3-4e4a-9993-9ea223f73264",
"rel": "bookmark"
}
],
"share_network_id": null,
"share_group_id": null,
"export_locations": [],
"share_proto": "NFS",
"host": null,
"access_rules_status": "active",
"has_replicas": false,
"replication_type": null,
"task_state": null,
"snapshot_support": true,
"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",
"encryption_key_ref": "86babe9b-7277-4c3a-a081-6eb3eac9231d"
}
}
2.7 版本新增。
使用此 API 将共享置于共享文件系统服务的管理之下。
仅限管理员。使用 policy.yaml 文件将此操作的权限授予其他角色。
注意
在 API 版本 2.49 之前,不支持在托管共享服务器之上创建的共享的管理。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此资源有一个正在进行的操作,与此请求冲突。 |
422 - 无法处理的实体 |
请求的实体格式无法被请求的资源以该方法处理。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share |
body |
对象 |
一个 |
协议 |
body |
字符串 |
要管理的共享的共享文件系统协议。有效值为 |
name (可选) |
body |
字符串 |
用户定义的资源名称。该字段的值限制为 255 个字符。 |
share_type(可选) |
body |
字符串 |
用于创建资源的共享类型名称或 ID。如果省略此参数,则使用默认共享类型。要查看管理员设置的默认共享类型,请发出列出默认共享类型请求。 |
driver_options(可选) |
body |
对象 |
一组键值对,以字符串字典的形式,描述驱动程序选项。驱动程序选项的详细信息应从 相应的共享驱动程序文档 中获取。 |
export_path |
body |
字符串 |
适用于协议的格式的共享导出路径
|
service_host |
body |
字符串 |
manage-share 服务主机,格式为:
|
share_server_id |
body |
字符串 |
共享服务器的 UUID。 2.49 版本新增 |
is_public (可选) |
body |
布尔值 |
共享的可见性级别。设置为 2.8 版本新增 |
description(可选) |
body |
字符串 |
用户定义的资源描述。该字段的值限制为 255 个字符。 |
请求示例¶
{
"share": {
"protocol": "nfs",
"name": "accounting_p8787",
"share_type": "gold",
"driver_options": {
"opt1": "opt1",
"opt2": "opt2"
},
"export_path": "192.162.10.6:/shares/share-accounting_p8787",
"service_host": "manila2@openstackstor01#accountingpool",
"is_public": true,
"description": "Common storage for spreadsheets and presentations. Please contact John Accessman to be added to the users of this drive.",
"share_server_id": "00137b40-ca06-4ae8-83a3-2c5989eebcce"
}
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
共享的 UUID。 |
size |
body |
整数 |
共享大小,以 GiB 为单位。 |
availability_zone |
body |
字符串 |
共享所在的可用区的名称。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
status |
body |
字符串 |
共享或共享实例的状态。可能的值在上方部分中列出。 |
name |
body |
字符串 |
资源的由用户定义的名称。 |
description |
body |
字符串 |
资源的由用户定义的描述。 |
project_id |
body |
字符串 |
拥有资源的项目的 ID。 |
snapshot_id |
body |
字符串 |
用于创建共享的快照的 UUID。 |
share_network_id |
body |
字符串 |
资源导出到的共享网络 ID。 |
share_proto |
body |
字符串 |
共享文件系统协议。有效值为 |
metadata |
body |
对象 |
一个或多个元数据键值对,作为字符串的字典。 |
share_type |
body |
字符串 |
共享所属的共享类型 UUID。在 API 版本 2.6 之前,此参数解析为共享类型的名称。在 API 版本 2.6 及更高版本中,此参数持有共享类型 ID 而不是名称。 |
links |
body |
数组 |
资源的分页和书签链接。 |
is_public |
body |
布尔值 |
共享是否对公众可见(云中的所有项目)或不是。 |
share_server_id |
body |
字符串 |
共享服务器的 UUID。 |
host |
body |
字符串 |
资源所在的服务的后端宿主机名。此参数始终存在于响应模式中,但对于非管理员用户,该值可能表示为“null”。 |
snapshot_support |
body |
布尔值 |
此共享是否支持快照。快照是共享的某个时间点的备份。 版本 2.2 中新增 |
task_state |
body |
字符串 |
对于共享迁移,迁移任务状态。有效值为 版本 2.5 中新增 |
share_type_name |
body |
字符串 |
共享类型的名称。 |
access_rules_status |
body |
字符串 |
共享实例访问规则状态。有效值为 版本 2.10 中新增 |
replication_type |
body |
字符串 |
共享复制类型。值为
版本 2.11 中新增 |
has_replicas |
body |
布尔值 |
指示共享是否具有副本。 版本 2.11 中新增 |
user_id |
body |
字符串 |
将共享置于 manila 管理之下的用户的 ID。 版本 2.16 中新增 |
create_share_from_snapshot_support |
body |
布尔值 |
是否支持将快照克隆到新共享。如果共享不支持快照,则无关紧要(请参阅功能“snapshot_support”)。 版本 2.24 中新增 |
revert_to_snapshot_support |
body |
布尔值 |
是否支持将共享回滚到其最新快照。如果共享不支持快照,则无关紧要(请参阅功能“snapshot_support”)。 版本 2.27 中新增 |
share_group_id |
body |
字符串 |
共享组的 UUID。 版本 2.31 中新增 |
source_share_group_snapshot_member_id |
body |
字符串 |
作为此共享来源的组快照实例的 ID。 版本 2.31 中新增 |
mount_snapshot_support |
body |
布尔值 |
是否支持将快照挂载并独立于共享进行访问控制。如果共享不支持快照,则无关紧要(请参阅功能“snapshot_support”)。 版本 2.32 中新增 |
progress |
body |
字符串 |
共享创建的进度。 版本 2.54 中新增 |
count (可选) |
body |
整数 |
应用分页之前请求的资源的计数。如果查询中提供了“with_count=True”,则此参数仅存在于 API 响应中。 版本 2.42 中新增 |
volume_type |
body |
字符串 |
共享类型 ID。这是一个遗留参数,其中包含与 |
export_location |
body |
字符串 |
导出位置。对于较新的 API 版本,它在单独的 API 中可用。请参阅部分 共享导出位置 和 共享实例导出位置。 直到版本 2.8 可用 |
export_locations |
body |
数组 |
导出位置列表。例如,当共享服务器具有多个网络接口时,它可以具有多个导出位置。对于较新的 API 版本,它在单独的 API 中可用。请参阅部分 共享导出位置 和 共享实例导出位置。 直到版本 2.8 可用 |
is_soft_deleted (可选) |
body |
布尔值 |
共享是否已软删除到回收站。 版本 2.69 中新增 |
scheduled_to_be_deleted_at (可选) |
body |
字符串 |
估计在回收站中自动删除共享的时间。 版本 2.69 中新增 |
encryption_key_ref |
body |
对象 |
加密密钥引用是有效的 barbican secret UUID,存储驱动程序将使用它来获取加密密钥。 |
响应示例¶
{
"share": {
"links": [
{
"href": "http://172.18.198.54:8786/v2/16e1ab15c35a457e9c2b2aa189f544e1/shares/00137b40-ca06-4ae8-83a3-2c5989eebcce",
"rel": "self"
},
{
"href": "http://172.18.198.54:8786/16e1ab15c35a457e9c2b2aa189f544e1/shares/00137b40-ca06-4ae8-83a3-2c5989eebcce",
"rel": "bookmark"
}
],
"availability_zone": null,
"share_network_id": null,
"export_locations": [],
"share_server_id": "00137b40-ca06-4ae8-83a3-2c5989eebcce",
"share_group_id": null,
"snapshot_id": null,
"id": "00137b40-ca06-4ae8-83a3-2c5989eebcce",
"size": null,
"share_type": "14747856-08e5-494f-ab40-a64b9d20d8f7",
"share_type_name": "d",
"export_location": "10.254.0.5:/shares/share-42033c24-0261-424f-abda-4fef2f6dbfd5",
"project_id": "16e1ab15c35a457e9c2b2aa189f544e1",
"metadata": {},
"status": "manage_starting",
"description": "Lets manage share.",
"user_id": "66ffd308757e44b9a8bec381322b0b88",
"host": "manila2@unmanage1#UNMANAGE1",
"access_rules_status": "active",
"has_replicas": false,
"replication_type": null,
"is_public": false,
"snapshot_support": true,
"name": "share_texas1",
"created_at": "2019-03-05T10:00:00.000000",
"share_proto": "NFS",
"volume_type": "d"
}
}
更新共享。
您可以更新这些属性
display_name,它也会更改共享的name。display_description,它也会更改共享的description。is_public。更改可见性级别。
如果您尝试更新其他属性,它们将保留其先前的值。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
422 - 无法处理的实体 |
请求的实体格式无法被请求的资源以该方法处理。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_id |
路径 |
字符串 |
共享的 UUID。 |
is_public (可选) |
body |
布尔值 |
共享的可见性级别。设置为 |
display_name(可选) |
body |
字符串 |
用户定义的资源名称。该字段设置 |
display_description(可选) |
body |
字符串 |
用户定义的资源描述。该字段设置 |
请求示例¶
{
"share": {
"is_public": true,
"display_description": "Changing the share description."
}
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
共享的 UUID。 |
size |
body |
整数 |
共享大小,以 GiB 为单位。 |
availability_zone |
body |
字符串 |
共享所在的可用区的名称。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
status |
body |
字符串 |
共享或共享实例的状态。可能的值在上方部分中列出。 |
name |
body |
字符串 |
资源的由用户定义的名称。 |
description |
body |
字符串 |
资源的由用户定义的描述。 |
project_id |
body |
字符串 |
拥有资源的项目的 ID。 |
snapshot_id |
body |
字符串 |
用于创建共享的快照的 UUID。 |
share_network_id |
body |
字符串 |
资源导出到的共享网络 ID。 |
share_proto |
body |
字符串 |
共享文件系统协议。有效值为 |
metadata |
body |
对象 |
一个或多个元数据键值对,作为字符串的字典。 |
share_type |
body |
字符串 |
共享所属的共享类型 UUID。在 API 版本 2.6 之前,此参数解析为共享类型的名称。在 API 版本 2.6 及更高版本中,此参数持有共享类型 ID 而不是名称。 |
links |
body |
数组 |
资源的分页和书签链接。 |
is_public |
body |
布尔值 |
共享是否对公众可见(云中的所有项目)或不是。 |
share_server_id |
body |
字符串 |
共享服务器的 UUID。 |
host |
body |
字符串 |
资源所在的服务的后端宿主机名。此参数始终存在于响应模式中,但对于非管理员用户,该值可能表示为“null”。 |
snapshot_support |
body |
布尔值 |
此共享是否支持快照。快照是共享的某个时间点的备份。 版本 2.2 中新增 |
task_state |
body |
字符串 |
对于共享迁移,迁移任务状态。有效值为 版本 2.5 中新增 |
share_type_name |
body |
字符串 |
共享类型的名称。 |
access_rules_status |
body |
字符串 |
共享实例访问规则状态。有效值为 版本 2.10 中新增 |
replication_type |
body |
字符串 |
共享复制类型。值为
版本 2.11 中新增 |
has_replicas |
body |
布尔值 |
指示共享是否具有副本。 版本 2.11 中新增 |
user_id |
body |
字符串 |
创建共享的用户 ID。 版本 2.16 中新增 |
create_share_from_snapshot_support |
body |
布尔值 |
是否支持将快照克隆到新共享。如果共享不支持快照,则无关紧要(请参阅功能“snapshot_support”)。 版本 2.24 中新增 |
revert_to_snapshot_support |
body |
布尔值 |
是否支持将共享回滚到其最新快照。如果共享不支持快照,则无关紧要(请参阅功能“snapshot_support”)。 版本 2.27 中新增 |
share_group_id |
body |
字符串 |
共享组的 UUID。 版本 2.31 中新增 |
source_share_group_snapshot_member_id |
body |
字符串 |
作为此共享来源的组快照实例的 ID。 版本 2.31 中新增 |
mount_snapshot_support |
body |
布尔值 |
是否支持将快照挂载并独立于共享进行访问控制。如果共享不支持快照,则无关紧要(请参阅功能“snapshot_support”)。 版本 2.32 中新增 |
progress |
body |
字符串 |
共享创建的进度。 版本 2.54 中新增 |
count (可选) |
body |
整数 |
应用分页之前请求的资源的计数。如果查询中提供了“with_count=True”,则此参数仅存在于 API 响应中。 版本 2.42 中新增 |
volume_type |
body |
字符串 |
共享类型 ID。这是一个遗留参数,其中包含与 |
export_location |
body |
字符串 |
导出位置。对于较新的 API 版本,它在单独的 API 中可用。请参阅部分 共享导出位置 和 共享实例导出位置。 直到版本 2.8 可用 |
export_locations |
body |
数组 |
导出位置列表。例如,当共享服务器具有多个网络接口时,它可以具有多个导出位置。对于较新的 API 版本,它在单独的 API 中可用。请参阅部分 共享导出位置 和 共享实例导出位置。 直到版本 2.8 可用 |
is_soft_deleted (可选) |
body |
布尔值 |
共享是否已软删除到回收站。 版本 2.69 中新增 |
scheduled_to_be_deleted_at (可选) |
body |
字符串 |
估计在回收站中自动删除共享的时间。 版本 2.69 中新增 |
encryption_key_ref |
body |
对象 |
加密密钥引用是有效的 barbican secret UUID,存储驱动程序将使用它来获取加密密钥。 |
响应示例¶
{
"share": {
"links": [
{
"href": "http://172.18.198.54:8786/v2/16e1ab15c35a457e9c2b2aa189f544e1/shares/011d21e2-fbc3-4e4a-9993-9ea223f73264",
"rel": "self"
},
{
"href": "http://172.18.198.54:8786/16e1ab15c35a457e9c2b2aa189f544e1/shares/011d21e2-fbc3-4e4a-9993-9ea223f73264",
"rel": "bookmark"
}
],
"availability_zone": "nova",
"share_network_id": "713df749-aac0-4a54-af52-10f6c991e80c",
"export_locations": [],
"share_server_id": "e268f4aa-d571-43dd-9ab3-f49ad06ffaef",
"share_group_id": null,
"snapshot_id": null,
"id": "011d21e2-fbc3-4e4a-9993-9ea223f73264",
"size": 1,
"share_type": "25747776-08e5-494f-ab40-a64b9d20d8f7",
"share_type_name": "default",
"export_location": null,
"project_id": "16e1ab15c35a457e9c2b2aa189f544e1",
"metadata": {
"project": "my_app",
"aim": "doc"
},
"status": "error",
"description": "Changing the share description.",
"host": "manila2@generic1#GENERIC1",
"task_state": null,
"is_public": true,
"snapshot_support": true,
"name": "share_London",
"created_at": "2015-09-18T10:25:24.000000",
"share_proto": "NFS",
"volume_type": "default",
"user_id": "66ffd308757e44b9a8bec381322b0b88"
}
}
删除共享。
先决条件
共享状态必须为
available、error或inactive您不能已经拥有共享的快照。
您不能已经拥有共享的组快照。
您不能已经拥有共享的副本。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此资源有一个正在进行的操作,与此请求冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_id |
路径 |
字符串 |
共享的 UUID。 |
共享导出位置(自 API v2.9 起)¶
用于查看共享导出位置的一组 API。
在 API 版本 2.46 之前,这些 API 允许检索属于非活动共享副本的导出位置。在 API 版本 2.47 及更高版本中,只能使用 共享副本导出位置 API 检索非活动共享副本的导出位置。
2.9 版本新增。
列出共享的所有导出位置。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_id |
路径 |
字符串 |
共享的 UUID。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
共享导出位置 UUID。 |
share_instance_id |
body |
字符串 |
此导出位置所属的共享实例的 UUID。此参数仅对具有“管理员”角色的用户可用,并且不能通过 policy.yaml 控制。 |
路径 |
body |
字符串 |
用于挂载操作的导出位置路径。 |
is_admin_only |
body |
布尔值 |
定义导出位置的目的。如果设置为 |
preferred |
body |
布尔值 |
驱动程序可以使用此字段来识别最有效的导出位置,并且客户端应优先使用这些导出位置。默认设置为 2.14 版本新增 |
响应示例¶
{
"export_locations": [
{
"path": "10.254.0.3:/shares/share-e1c2d35e-fe67-4028-ad7a-45f668732b1d",
"share_instance_id": "e1c2d35e-fe67-4028-ad7a-45f668732b1d",
"is_admin_only": false,
"id": "b6bd76ce-12a2-42a9-a30a-8a43b503867d",
"preferred": false
},
{
"path": "10.0.0.3:/shares/share-e1c2d35e-fe67-4028-ad7a-45f668732b1d",
"share_instance_id": "e1c2d35e-fe67-4028-ad7a-45f668732b1d",
"is_admin_only": true,
"id": "6921e862-88bc-49a5-a2df-efeed9acd583",
"preferred": false
}
]
}
2.9 版本新增。
显示属于共享的导出位置的详细信息。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_id |
路径 |
字符串 |
共享的 UUID。 |
export_location_id |
路径 |
字符串 |
导出位置的 UUID。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
共享导出位置 UUID。 |
share_instance_id |
body |
字符串 |
此导出位置所属的共享实例的 UUID。此参数仅对具有“管理员”角色的用户可用,并且不能通过 policy.yaml 控制。 |
路径 |
body |
字符串 |
用于挂载操作的导出位置路径。 |
is_admin_only |
body |
布尔值 |
定义导出位置的目的。如果设置为 |
preferred |
body |
布尔值 |
驱动程序可以使用此字段来识别最有效的导出位置,并且客户端应优先使用这些导出位置。默认设置为 2.14 版本新增 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
updated_at |
body |
字符串 |
资源上次在服务数据库中更新的日期和时间戳。如果资源在创建后从未更新,则此参数的值设置为 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
metadata |
body |
对象 |
一个或多个元数据键值对,作为字符串的字典。 |
响应示例¶
{
"export_location": {
"created_at": "2016-03-24T14:20:47.000000",
"updated_at": "2016-03-24T14:20:47.000000",
"preferred": false,
"is_admin_only": true,
"share_instance_id": "e1c2d35e-fe67-4028-ad7a-45f668732b1d",
"path": "10.0.0.3:/shares/share-e1c2d35e-fe67-4028-ad7a-45f668732b1d",
"id": "6921e862-88bc-49a5-a2df-efeed9acd583"
}
}
导出位置元数据(自 API v2.87 起)¶
显示、设置、更新和取消设置导出位置元数据。
2.87 版本新增。
显示导出位置的所有元数据,以键值对的形式。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_id |
路径 |
字符串 |
共享的 UUID。 |
export_location_id |
路径 |
字符串 |
导出位置的 UUID。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
metadata |
body |
对象 |
一个或多个元数据键值对,作为字符串的字典。 |
响应示例¶
{
"metadata": {
"project": "my_app",
"aim": "doc"
}
}
2.87 版本新增。
按其键检索导出位置元数据中的特定元数据项。如果指定的键不代表有效的元数据项,则 API 将响应 HTTP 404。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_id |
路径 |
字符串 |
共享的 UUID。 |
export_location_id |
路径 |
字符串 |
导出位置的 UUID。 |
key(可选) |
路径 |
字符串 |
元数据项的键。例如,如果现有共享或访问规则上的元数据如下: |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
metadata |
body |
对象 |
单个元数据键值对。 |
响应示例¶
{
"meta": {
"project": "my_app"
}
}
2.87 版本新增。
允许添加新的元数据项作为键值对。此 API 不会删除预先存在的元数据项。如果请求对象包含已存在的元数据项,则它们将使用请求对象中指定的新值进行更新。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此资源有一个正在进行的操作,与此请求冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_id |
路径 |
字符串 |
共享的 UUID。 |
export_location_id |
路径 |
字符串 |
导出位置的 UUID。 |
metadata |
body |
对象 |
一个或多个元数据键值对,以字符串字典的形式。例如, |
请求示例¶
{
"metadata": {
"aim": "changed_doc",
"project": "my_app",
"key1": "value1",
"new_metadata_key": "new_information",
"key": "value"
}
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
metadata |
body |
对象 |
一个或多个元数据键值对,作为字符串的字典。 |
响应示例¶
{
"metadata": {
"aim": "changed_doc",
"project": "my_app",
"key1": "value1",
"new_metadata_key": "new_information",
"key": "value"
}
}
2.87 版本新增。
使用请求对象中的元数据(以键值对的形式)替换给定导出位置的元数据。导出位置的所有预先存在的元数据都将被删除并替换为提供的新的元数据。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_id |
路径 |
字符串 |
共享的 UUID。 |
export_location_id |
路径 |
字符串 |
导出位置的 UUID。 |
metadata |
body |
对象 |
一个或多个元数据键值对,以字符串字典的形式。例如, |
请求示例¶
{
"metadata": {
"aim": "changed_doc",
"project": "my_app",
"new_metadata_key": "new_information"
}
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
metadata |
body |
对象 |
一个或多个元数据键值对,作为字符串的字典。 |
响应示例¶
{
"metadata": {
"aim": "changed_doc",
"project": "my_app",
"new_metadata_key": "new_information"
}
}
要删除给定导出位置上的所有现有元数据项,请求对象需要指定一个空元数据对象
请求示例¶
{
"metadata": null
}
响应示例¶
{
"metadata": null
}
2.87 版本新增。
删除导出位置上的单个元数据项,通过其键来标识。如果指定的键不代表有效的元数据项,API 将以 HTTP 404 响应。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_id |
路径 |
字符串 |
共享的 UUID。 |
export_location_id |
路径 |
字符串 |
导出位置的 UUID。 |
key(可选) |
路径 |
字符串 |
元数据项的键。例如,如果现有共享或访问规则上的元数据如下: |
共享元数据¶
显示、设置、更新和取消设置共享元数据。
以键值对的形式显示共享的所有元数据。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_id |
路径 |
字符串 |
共享的 UUID。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
metadata |
body |
对象 |
一个或多个元数据键值对,作为字符串的字典。 |
响应示例¶
{
"metadata": {
"project": "my_app",
"aim": "doc"
}
}
通过其键检索共享元数据中的特定元数据项。如果指定的键不代表有效的元数据项,API 将以 HTTP 404 响应。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_id |
路径 |
字符串 |
共享的 UUID。 |
key |
body |
对象 |
元数据项的键。例如,如果现有资源上的元数据如下: |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
metadata |
body |
对象 |
单个元数据键值对。 |
响应示例¶
{
"meta": {
"project": "my_app"
}
}
允许添加新的元数据项作为键值对。此 API 不会删除预先存在的元数据项。如果请求对象包含已存在的元数据项,则它们将使用请求对象中指定的新值进行更新。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此资源有一个正在进行的操作,与此请求冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_id |
路径 |
字符串 |
共享的 UUID。 |
metadata |
body |
对象 |
一个或多个元数据键值对,以字符串字典的形式。例如, |
请求示例¶
{
"metadata": {
"key1": "value1"
}
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
metadata |
body |
对象 |
一个或多个元数据键值对,作为字符串的字典。 |
响应示例¶
{
"metadata": {
"aim": "changed_doc",
"project": "my_app",
"key1": "value1",
"new_metadata_key": "new_information",
"key": "value"
}
}
使用请求对象中指定的元数据(以键值对的形式)替换给定共享的元数据。共享的所有预先存在的元数据将被删除并替换为提供的新元数据。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_id |
路径 |
字符串 |
共享的 UUID。 |
metadata |
body |
对象 |
一个或多个元数据键值对,以字符串字典的形式。例如, |
请求示例¶
{
"metadata": {
"aim": "changed_doc",
"project": "my_app",
"new_metadata_key": "new_information"
}
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
metadata |
body |
对象 |
一个或多个元数据键值对,作为字符串的字典。 |
响应示例¶
{
"metadata": {
"aim": "changed_doc",
"project": "my_app",
"new_metadata_key": "new_information"
}
}
要删除给定共享上的所有现有元数据项,请求对象需要指定一个空的元数据对象
请求示例¶
{
"metadata": null
}
响应示例¶
{
"metadata": null
}
删除共享上的单个元数据项,通过其键来标识。如果指定的键不代表有效的元数据项,API 将以 HTTP 404 响应。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_id |
路径 |
字符串 |
共享的 UUID。 |
key |
body |
对象 |
元数据项的键。例如,如果现有资源上的元数据如下: |
共享操作¶
共享操作包括授予或撤销共享访问权限、列出共享的可用访问规则、显式更新共享的状态、调整共享大小以及取消管理共享。
作为管理员,您可以重置共享的状态并在任何状态下强制删除共享。使用 policy.yaml 文件将此操作的权限授予其他角色。
您可以将共享的状态设置为以下受支持的状态
availableerrorcreatingdeletingerror_deleting
如果使用 API 版本 1.0-2.6,则所有共享操作(如下定义)都应在请求 JSON 主体的顶部元素中包含前缀 os-。
例如:{“access_list”: null} 对于 v2.7+ 有效。而 {“os- access_list”: null} 对于 v1.0-2.6 有效
所有 Manila 共享最初都没有访问权限。必须通过此 API 为客户端提供显式访问权限。
要授予访问权限,请指定以下受支持的共享访问级别之一
rw。读写 (RW) 访问权限。ro。只读 (RO) 访问权限。
您还必须指定以下受支持的身份验证方法
ip。通过 IP 地址验证实例。指定的值应该是有效的 IPv4 或 IPv6 地址,或者 CIDR 表示法中的子网。有效的格式是X:X:X:X:X:X:X:X、X:X:X:X:X:X:X:X/XX、XX.XX.XX.XX或XX.XX.XX.XX/XX等。例如0.0.0.0/0或::/0。
重要提示
仅在 API 版本 2.38 及更高版本中才支持基于 IPv6 的访问。
注意
从 API 版本 2.82 开始,可以通过参数 lock_deletion、lock_visibility 和 lock_reason 分别锁定删除、限制敏感字段的可见性以及指定此类锁定的原因,从而在调用授予访问权限 API 时锁定删除、限制可见性并指定原因。
cert。通过 TLS 证书验证实例。将 TLS 身份指定为 IDENTKEY。有效值是证书的常见名称 (CN) 中最多 64 个字符的任何字符串。字符串的含义取决于其解释。user。通过用户名或组名进行身份验证。有效值是包含一些特殊字符的字母数字字符串,长度为 4 到 255 个字符。
授予共享访问权限。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_id |
路径 |
字符串 |
共享的 UUID。 |
allow_access |
body |
对象 |
授予访问权限的对象。 |
access_level |
body |
字符串 |
共享的访问级别。要授予或拒绝共享的访问权限,您需要指定以下共享访问级别之一
|
access_type |
body |
字符串 |
访问规则类型。共享访问规则类型的有效值是以下值之一
|
access_to |
body |
字符串 |
定义访问权限的值。后端授予或拒绝对其的访问权限。有效值是以下值之一
|
metadata |
body |
对象 |
一个或多个访问规则元数据键值对,作为字符串字典。 新增于版本 2.45 |
lock_visibility(可选) |
body |
字符串 |
资源是否应限制其敏感字段。启用后,其他用户将看到“access_to”和“access_key”字段设置为 ** 新增于版本 2.82 |
lock_deletion(可选) |
body |
字符串 |
资源是否应锁定其删除。 新增于版本 2.82 |
lock_reason |
body |
字符串 |
表示特定资源锁定的原因的文本块。 |
请求示例¶
{
"allow_access": {
"access_level": "rw",
"access_type": "ip",
"access_to": "0.0.0.0/0",
"metadata":{
"key1": "value1",
"key2": "value2"
},
"lock_visibility": false,
"lock_deletion": true,
"lock_reason": "Locked for deletion until year end audit."
}
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
share_id |
body |
字符串 |
您被授予或拒绝访问权限的共享的 UUID。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
updated_at |
body |
字符串 |
资源上次在服务数据库中更新的日期和时间戳。如果资源在创建后从未更新,则此参数的值设置为 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
access_type |
body |
字符串 |
访问规则类型。共享访问规则类型的有效值是以下值之一
|
access_to |
body |
字符串 |
定义访问权限的值。后端授予或拒绝对其的访问权限。有效值是以下值之一
|
access_key |
body |
字符串 |
授予共享访问权限的实体的访问凭据。 新增于版本 2.21 |
access |
body |
对象 |
|
access_level |
body |
字符串 |
共享的访问级别。要授予或拒绝共享的访问权限,您需要指定以下共享访问级别之一
|
id |
body |
字符串 |
访问规则 ID。 |
metadata |
body |
对象 |
一个或多个访问规则元数据键值对,作为字符串字典。 |
响应示例¶
{
"access": {
"share_id": "406ea93b-32e9-4907-a117-148b3945749f",
"created_at": "2015-09-07T09:14:48.000000",
"updated_at": null,
"access_type": "ip",
"access_to": "0.0.0.0/0",
"access_level": "rw",
"access_key": null,
"id": "a25b2df3-90bd-4add-afa6-5f0dbbd50452",
"metadata":{
"key1": "value1",
"key2": "value2"
}
}
}
共享文件系统服务将其数据库中的每个访问规则存储起来,并为其分配一个唯一的 ID。可以使用此 ID 在请求访问权限后撤销访问权限。
注意
如果访问规则已锁定删除,则需要在撤销访问权限请求中提供 unrestrict 参数。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_id |
路径 |
字符串 |
共享的 UUID。 |
deny_access |
body |
对象 |
|
access_id |
body |
字符串 |
授予访问权限的访问规则的 UUID。 |
unrestrict(可选) |
body |
字符串 |
服务是否应尝试在删除访问规则期间删除删除限制。 新增于版本 2.82 |
请求示例¶
{
"deny_access": {
"access_id": "a25b2df3-90bd-4add-afa6-5f0dbbd50452",
"unrestrict": true
}
}
警告
从微版本 2.45 开始,此 API 已弃用,从微版本 2.45 开始,对此 API 的请求将失败并返回 404。请使用 列出共享访问规则 API 代替此 API,版本为 2.45。
列出共享的访问规则。返回的访问 ID 对于拒绝访问是必需的。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_id |
路径 |
字符串 |
共享的 UUID。 |
access_list |
body |
字符串 |
访问规则的对象。要列出访问规则,请将此值设置为 |
请求示例¶
{
"access_list": null
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
access_type |
body |
字符串 |
访问规则类型。共享访问规则类型的有效值是以下值之一
|
access_key |
body |
字符串 |
授予共享访问权限的实体的访问凭据。 新增于版本 2.21 |
access_to |
body |
字符串 |
定义访问权限的值。后端授予或拒绝对其的访问权限。有效值是以下值之一
|
access_level |
body |
字符串 |
共享的访问级别。要授予或拒绝共享的访问权限,您需要指定以下共享访问级别之一
|
state |
body |
字符串 |
在版本 2.28 之前,给定共享的所有访问规则的状态始终相同。这可能是 |
access_list |
body |
字符串 |
访问规则的对象。要列出访问规则,请将此值设置为 |
id |
body |
字符串 |
访问规则 ID。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
updated_at |
body |
字符串 |
资源上次在服务数据库中更新的日期和时间戳。如果资源在创建后从未更新,则此参数的值设置为 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
响应示例¶
{
"access_list": [
{
"access_level": "rw",
"state": "error",
"id": "507bf114-36f2-4f56-8cf4-857985ca87c1",
"access_type": "cert",
"access_to": "example.com",
"access_key": null
},
{
"access_level": "rw",
"state": "active",
"id": "a25b2df3-90bd-4add-afa6-5f0dbbd50452",
"access_type": "ip",
"access_to": "0.0.0.0/0",
"access_key": null
}
]
}
仅限管理员。显式更新共享的状态。
使用 policy.yaml 文件将此操作的权限授予其他角色。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_id |
路径 |
字符串 |
共享的 UUID。 |
reset_status |
body |
对象 |
|
status |
body |
字符串 |
要设置的共享或共享实例状态。可能的值列在 上面的部分 中。 |
请求示例¶
{
"reset_status": {
"status": "error"
}
}
仅限管理员。在任何状态下强制删除共享。
使用 policy.yaml 文件将此操作的权限授予其他角色。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_id |
路径 |
字符串 |
共享的 UUID。 |
force_delete |
body |
字符串 |
要强制删除共享或共享组,请将此值设置为 |
请求示例¶
{
"force_delete": null
}
增加共享的大小。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_id |
路径 |
字符串 |
共享的 UUID。 |
extend |
body |
对象 |
extend 对象。 |
new_size |
body |
整数 |
共享的新大小,以 GiB 为单位。 |
force (可选) |
body |
布尔值 |
(仅限管理员)。定义是否通过调度器,设置为 True 将直接扩展共享。设置为 False 将通过调度器,默认值为 False。 版本 2.64 中新增 |
请求示例¶
{
"extend": {
"new_size": 2,
"force": "true"
}
}
缩小共享的大小。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_id |
路径 |
字符串 |
共享的 UUID。 |
shrink |
body |
对象 |
shrink 对象。 |
new_size |
body |
整数 |
共享的新大小,以 GiB 为单位。 |
请求示例¶
{
"shrink": {
"new_size": 1
}
}
2.7 版本新增。
使用此 API 从共享文件系统服务的管理中删除共享,而不删除共享。
仅限管理员。使用 policy.yaml 文件将此操作的权限授予其他角色。
先决条件
在尝试取消管理共享之前,应删除任何快照和共享副本。
注意
在共享服务器上创建的共享(即使用共享网络创建的共享)在 API 版本 2.49 之前不支持取消管理。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此资源有一个正在进行的操作,与此请求冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_id |
路径 |
字符串 |
共享的 UUID。 |
unmanage |
body |
字符串 |
要取消管理共享,请将此值设置为 |
请求示例¶
{
"unmanage": null
}
响应参数¶
响应中没有正文内容。
版本 2.27 中新增。
将共享恢复到指定的快照,该快照必须是 manila 知道的最新快照。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此资源有一个正在进行的操作,与此请求冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_id |
路径 |
字符串 |
共享的 UUID。 |
snapshot_id |
body |
字符串 |
快照的 UUID。 |
请求示例¶
{
"revert": {
"snapshot_id": "6020af24-a305-4155-9a29-55e20efcb0e8"
}
}
版本 2.69 中新增。
将共享软删除到回收站。
先决条件
共享状态必须为
available、error或inactive共享不能有任何快照。
共享不能有共享组快照。
共享不能有依赖副本。
您不能软删除已在回收站中的共享。
您不能软删除不属于您项目的共享。
您不能软删除正忙于活动任务的共享。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此资源有一个正在进行的操作,与此请求冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_id |
路径 |
字符串 |
共享的 UUID。 |
请求示例¶
{
"soft_delete": null
}
版本 2.69 中新增。
从回收站恢复共享。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_id |
路径 |
字符串 |
共享的 UUID。 |
请求示例¶
{
"restore": null
}
共享快照¶
使用共享文件系统服务创建共享的快照。共享快照是包含在共享中的数据的某个时间点的只读副本。以下 API 允许控制共享快照。它们在共享文件系统服务中表示为“快照”资源,并且可以具有用户定义的元数据,例如名称和描述。
您可以创建、管理、更新和删除共享快照。创建或管理共享快照后,您可以从快照创建共享。您还可以将共享恢复到其最新的快照。
您可以更新共享快照以重命名它、更改其描述或将其状态更新为以下受支持的状态
availableerrorcreatingdeletingerror_deletingmanage_startingmanage_errorunmanage_startingunmanage_error恢复中
作为管理员,您还可以重置快照的状态并强制删除处于任何状态的共享快照。使用 policy.yaml 文件将这些操作的权限授予其他角色。
列出所有共享快照。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
all_tenants (可选) |
查询 |
布尔值 |
(仅限管理员)。定义是否为所有项目列出请求的资源。设置为 |
limit (可选) |
查询 |
整数 |
要返回的最大资源记录数。 |
offset (可选) |
查询 |
整数 |
用于定义资源列表起点的偏移量。 |
sort_key (可选) |
查询 |
字符串 |
用于对共享列表进行排序的键。有效值为 |
sort_dir (可选) |
查询 |
字符串 |
用于对资源列表进行排序的方向。有效值为 |
name (可选) |
查询 |
字符串 |
用于按资源名称过滤资源的由用户定义名称。 |
description(可选) |
查询 |
字符串 |
可用于筛选资源的、用户定义的描述文本。 |
status |
body |
字符串 |
快照状态,可以是 |
share_id |
body |
字符串 |
用于创建快照的源共享的 UUID。 |
size |
body |
整数 |
快照大小,以 GiB 为单位。 |
name~ (可选) |
查询 |
字符串 |
可用于过滤共享、共享快照、共享网络、传输或共享组的名称模式。 版本 2.36 中新增 |
description~ (可选) |
查询 |
字符串 |
可用于过滤共享、共享快照、共享网络或共享组的描述模式。 版本 2.36 中新增 |
metadata (可选) |
查询 |
字符串 |
按元数据筛选快照列表。该值必须是 API 可以解析的键值映射的字符串表示形式。例如: 版本 2.73 中新增 |
with_count (可选) |
查询 |
布尔值 |
是否在共享快照列表 API 响应中显示 版本 2.79 中新增 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
快照的 UUID。 |
name |
body |
字符串 |
资源的由用户定义的名称。 |
响应示例¶
{
"snapshots": [
{
"id": "086a1aa6-c425-4ecd-9612-391a3b1b9375",
"links": [
{
"href": "http://172.18.198.54:8786/v1/16e1ab15c35a457e9c2b2aa189f544e1/snapshots/086a1aa6-c425-4ecd-9612-391a3b1b9375",
"rel": "self"
},
{
"href": "http://172.18.198.54:8786/16e1ab15c35a457e9c2b2aa189f544e1/snapshots/086a1aa6-c425-4ecd-9612-391a3b1b9375",
"rel": "bookmark"
}
],
"name": "snapshot_My_share"
},
{
"id": "6d221c1d-0200-461e-8d20-24b4776b9ddb",
"links": [
{
"href": "http://172.18.198.54:8786/v1/16e1ab15c35a457e9c2b2aa189f544e1/snapshots/6d221c1d-0200-461e-8d20-24b4776b9ddb",
"rel": "self"
},
{
"href": "http://172.18.198.54:8786/16e1ab15c35a457e9c2b2aa189f544e1/snapshots/6d221c1d-0200-461e-8d20-24b4776b9ddb",
"rel": "bookmark"
}
],
"name": "snapshot_share1"
}
]
}
列出所有共享快照的详细信息。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
all_tenants (可选) |
查询 |
布尔值 |
(仅限管理员)。定义是否为所有项目列出请求的资源。设置为 |
limit (可选) |
查询 |
整数 |
要返回的最大资源记录数。 |
offset (可选) |
查询 |
整数 |
用于定义资源列表起点的偏移量。 |
sort_key (可选) |
查询 |
字符串 |
用于对共享列表进行排序的键。有效值为 |
sort_dir (可选) |
查询 |
字符串 |
用于对资源列表进行排序的方向。有效值为 |
name (可选) |
查询 |
字符串 |
用于按资源名称过滤资源的由用户定义名称。 |
description(可选) |
查询 |
字符串 |
可用于筛选资源的、用户定义的描述文本。 |
status |
body |
字符串 |
快照状态,可以是 |
share_id |
body |
字符串 |
用于创建快照的源共享的 UUID。 |
size |
body |
整数 |
快照大小,以 GiB 为单位。 |
name~ (可选) |
查询 |
字符串 |
可用于过滤共享、共享快照、共享网络、传输或共享组的名称模式。 版本 2.36 中新增 |
description~ (可选) |
查询 |
字符串 |
可用于过滤共享、共享快照、共享网络或共享组的描述模式。 版本 2.36 中新增 |
metadata (可选) |
查询 |
字符串 |
按元数据筛选快照列表。该值必须是 API 可以解析的键值映射的字符串表示形式。例如: 版本 2.73 中新增 |
with_count (可选) |
查询 |
布尔值 |
是否在共享快照列表 API 响应中显示 版本 2.79 中新增 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
快照的 UUID。 |
status |
body |
字符串 |
快照状态,可以是 |
share_id |
body |
字符串 |
用于创建快照的源共享的 UUID。 |
name |
body |
字符串 |
资源的由用户定义的名称。 |
description |
body |
字符串 |
资源的由用户定义的描述。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
share_proto |
body |
字符串 |
共享快照的文件系统协议。有效值为 |
share_size |
body |
整数 |
共享快照大小,以 GiB 为单位。 |
size |
body |
整数 |
快照大小,以 GiB 为单位。 |
project_id |
body |
字符串 |
快照所属项目的 ID。 版本 2.17 中新增 |
user_id |
body |
字符串 |
创建快照的用户的 ID。 版本 2.17 中新增 |
provider_location (可选) |
body |
字符串 |
后端上快照的提供程序位置。此参数仅供具有“管理员”角色的用户使用,这归功于默认的 RBAC。可以通过覆盖 版本 2.12 中新增 |
响应示例¶
{
"snapshots": [
{
"status": "creating",
"share_id": "d94a8548-2079-4be0-b21c-0a887acd31ca",
"user_id": "5c7bdb6eb0504d54a619acf8375c08ce",
"name": "snapshot_My_share",
"links": [
{
"href": "http://172.18.198.54:8786/v1/16e1ab15c35a457e9c2b2aa189f544e1/snapshots/086a1aa6-c425-4ecd-9612-391a3b1b9375",
"rel": "self"
},
{
"href": "http://172.18.198.54:8786/16e1ab15c35a457e9c2b2aa189f544e1/snapshots/086a1aa6-c425-4ecd-9612-391a3b1b9375",
"rel": "bookmark"
}
],
"created_at": "2015-09-07T11:55:09.000000",
"description": "Here is a snapshot of share My_share",
"share_proto": "NFS",
"share_size": 1,
"id": "086a1aa6-c425-4ecd-9612-391a3b1b9375",
"project_id": "cadd7139bc3148b8973df097c0911016",
"size": 1
},
{
"status": "available",
"share_id": "406ea93b-32e9-4907-a117-148b3945749f",
"user_id": "5c7bdb6eb0504d54a619acf8375c08ce",
"name": "snapshot_share1",
"links": [
{
"href": "http://172.18.198.54:8786/v1/16e1ab15c35a457e9c2b2aa189f544e1/snapshots/6d221c1d-0200-461e-8d20-24b4776b9ddb",
"rel": "self"
},
{
"href": "http://172.18.198.54:8786/16e1ab15c35a457e9c2b2aa189f544e1/snapshots/6d221c1d-0200-461e-8d20-24b4776b9ddb",
"rel": "bookmark"
}
],
"created_at": "2015-09-07T11:50:39.000000",
"description": "Here is a snapshot of share Share1",
"share_proto": "NFS",
"share_size": 1,
"id": "6d221c1d-0200-461e-8d20-24b4776b9ddb",
"project_id": "cadd7139bc3148b8973df097c0911016",
"size": 1
}
]
}
显示共享快照的详细信息。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
snapshot_id |
路径 |
字符串 |
快照的 UUID。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
快照的 UUID。 |
status |
body |
字符串 |
快照状态,可以是 |
share_id |
body |
字符串 |
用于创建快照的源共享的 UUID。 |
name |
body |
字符串 |
资源的由用户定义的名称。 |
description |
body |
字符串 |
资源的由用户定义的描述。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
share_proto |
body |
字符串 |
共享快照的文件系统协议。有效值为 |
share_size |
body |
整数 |
共享快照大小,以 GiB 为单位。 |
size |
body |
整数 |
快照大小,以 GiB 为单位。 |
project_id |
body |
字符串 |
快照所属项目的 ID。 版本 2.17 中新增 |
user_id |
body |
字符串 |
创建快照的用户的 ID。 版本 2.17 中新增 |
provider_location (可选) |
body |
字符串 |
后端上快照的提供程序位置。此参数仅供具有“管理员”角色的用户使用,这归功于默认的 RBAC。可以通过覆盖 版本 2.12 中新增 |
响应示例¶
{
"snapshot": {
"status": "available",
"share_id": "406ea93b-32e9-4907-a117-148b3945749f",
"user_id": "5c7bdb6eb0504d54a619acf8375c08ce",
"name": "snapshot_share1",
"links": [
{
"href": "http://172.18.198.54:8786/v1/16e1ab15c35a457e9c2b2aa189f544e1/snapshots/6d221c1d-0200-461e-8d20-24b4776b9ddb",
"rel": "self"
},
{
"href": "http://172.18.198.54:8786/16e1ab15c35a457e9c2b2aa189f544e1/snapshots/6d221c1d-0200-461e-8d20-24b4776b9ddb",
"rel": "bookmark"
}
],
"created_at": "2015-09-07T11:50:39.000000",
"description": "Here is a snapshot of share Share1",
"share_proto": "NFS",
"share_size": 1,
"id": "6d221c1d-0200-461e-8d20-24b4776b9ddb",
"project_id": "cadd7139bc3148b8973df097c0911016",
"size": 1
}
}
从共享创建快照。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
422 - 无法处理的实体 |
请求的实体格式无法被请求的资源以该方法处理。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_id |
body |
字符串 |
从中创建快照的共享的 UUID。 |
force (可选) |
body |
布尔值 |
指示是否应尝试在共享状态不是 |
name (可选) |
body |
字符串 |
用户定义的资源名称。该字段的值限制为 255 个字符。 |
description(可选) |
body |
字符串 |
用户定义的资源描述。该字段的值限制为 255 个字符。 |
display_name(可选) |
body |
字符串 |
用户定义的资源名称。该字段设置 |
display_description(可选) |
body |
字符串 |
用户定义的资源描述。该字段设置 |
请求示例¶
{
"snapshot": {
"share_id": "406ea93b-32e9-4907-a117-148b3945749f",
"force": "True",
"name": "snapshot_share1",
"description": "Here is a snapshot of share Share1"
}
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
快照的 UUID。 |
share_id |
body |
字符串 |
用于创建快照的源共享的 UUID。 |
status |
body |
字符串 |
快照状态,可以是 |
name |
body |
字符串 |
资源的由用户定义的名称。 |
description |
body |
字符串 |
资源的由用户定义的描述。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
share_proto |
body |
字符串 |
共享快照的文件系统协议。有效值为 |
share_size |
body |
整数 |
共享快照大小,以 GiB 为单位。 |
provider_location (可选) |
body |
字符串 |
后端上快照的提供程序位置。此参数仅供具有“管理员”角色的用户使用,这归功于默认的 RBAC。可以通过覆盖 版本 2.12 中新增 |
size |
body |
整数 |
快照大小,以 GiB 为单位。 |
project_id |
body |
字符串 |
快照所属项目的 ID。 版本 2.17 中新增 |
user_id |
body |
字符串 |
创建快照的用户的 ID。 版本 2.17 中新增 |
响应示例¶
{
"snapshot": {
"status": "creating",
"share_id": "406ea93b-32e9-4907-a117-148b3945749f",
"user_id": "5c7bdb6eb0504d54a619acf8375c08ce",
"name": "snapshot_share1",
"links": [
{
"href": "http://172.18.198.54:8786/v1/16e1ab15c35a457e9c2b2aa189f544e1/snapshots/6d221c1d-0200-461e-8d20-24b4776b9ddb",
"rel": "self"
},
{
"href": "http://172.18.198.54:8786/16e1ab15c35a457e9c2b2aa189f544e1/snapshots/6d221c1d-0200-461e-8d20-24b4776b9ddb",
"rel": "bookmark"
}
],
"created_at": "2015-09-07T11:50:39.756808",
"description": "Here is a snapshot of share Share1",
"share_proto": "NFS",
"share_size": 1,
"id": "6d221c1d-0200-461e-8d20-24b4776b9ddb",
"project_id": "cadd7139bc3148b8973df097c0911016",
"size": 1
}
}
版本 2.12 中新增。
配置共享文件系统以管理共享快照。
注意
在 API 版本 2.49 之前,不支持管理在共享服务器上创建的共享(即使用共享网络创建的共享)的快照。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此资源有一个正在进行的操作,与此请求冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_id |
body |
字符串 |
具有应管理的快照的共享的 UUID。 |
provider_location |
body |
字符串 |
后端上快照的提供程序位置。 |
name (可选) |
body |
字符串 |
用户定义的资源名称。该字段的值限制为 255 个字符。 |
display_name(可选) |
body |
字符串 |
用户定义的资源名称。该字段设置 |
description(可选) |
body |
字符串 |
用户定义的资源描述。该字段的值限制为 255 个字符。 |
display_description(可选) |
body |
字符串 |
用户定义的资源描述。该字段设置 |
driver_options(可选) |
body |
对象 |
一组键值对,以字符串字典的形式,描述驱动程序选项。驱动程序选项的详细信息应从 相应的共享驱动程序文档 中获取。 |
请求示例¶
{
"snapshot": {
"share_id": "dd6c5d35-9db1-4662-a7ae-8b52f880aeba",
"provider_location": "4045fee5-4e0e-408e-97f3-15e25239dbc9",
"name": "managed_snapshot",
"description": "description_of_managed_snapshot",
"driver_options": {
"opt1": "opt1",
"opt2": "opt2"
}
}
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
快照的 UUID。 |
share_id |
body |
字符串 |
用于创建快照的源共享的 UUID。 |
status |
body |
字符串 |
快照状态,可以是 |
name |
body |
字符串 |
资源的由用户定义的名称。 |
description |
body |
字符串 |
资源的由用户定义的描述。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
share_proto |
body |
字符串 |
共享快照的文件系统协议。有效值为 |
share_size |
body |
整数 |
共享快照大小,以 GiB 为单位。 |
provider_location |
body |
字符串 |
后端上快照的提供程序位置。 |
size |
body |
整数 |
快照大小,以 GiB 为单位。 |
project_id |
body |
字符串 |
快照所属项目的 ID。 版本 2.17 中新增 |
user_id |
body |
字符串 |
创建快照的用户的 ID。 版本 2.17 中新增 |
响应示例¶
{
"snapshot": {
"id": "22de7000-3a32-4fe1-bd0c-38d03f93dec3",
"share_id": "dd6c5d35-9db1-4662-a7ae-8b52f880aeba",
"share_size": 1,
"created_at": "2016-04-01T15:16:17.000000",
"status": "manage_starting",
"name": "managed_snapshot",
"description": "description_of_managed_snapshot",
"size": 1,
"share_proto": "NFS",
"user_id": "5c7bdb6eb0504d54a619acf8375c08ce",
"project_id": "cadd7139bc3148b8973df097c0911016",
"links": [
{
"href": "http://127.0.0.1:8786/v2/907004508ef4447397ce6741a8f037c1/snapshots/22de7000-3a32-4fe1-bd0c-38d03f93dec3",
"rel": "self"
},
{
"href": "http://127.0.0.1:8786/907004508ef4447397ce6741a8f037c1/snapshots/22de7000-3a32-4fe1-bd0c-38d03f93dec3",
"rel": "bookmark"
}
],
"provider_location": "4045fee5-4e0e-408e-97f3-15e25239dbc9"
}
}
版本 2.12 中新增。
配置共享文件系统以停止管理共享快照。
注意
在 API 版本 2.49 之前,不支持取消管理在共享服务器上创建的共享(即使用共享网络创建的共享)的快照。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此资源有一个正在进行的操作,与此请求冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
snapshot_id |
路径 |
字符串 |
快照的 UUID。 |
unmanage |
body |
字符串 |
要取消管理共享快照,请包含此参数并将其值设置为 |
请求示例¶
{
"unmanage": null
}
响应参数¶
响应中没有正文内容。
仅限管理员。显式更新共享快照的状态。
使用 policy.yaml 文件将此操作的权限授予其他角色。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
snapshot_id |
路径 |
字符串 |
快照的 UUID。 |
status (可选) |
body |
字符串 |
快照状态,可以是 |
请求示例¶
{
"reset_status": {
"status": "error"
}
}
仅限管理员。强制删除处于任何状态的共享快照。
使用 policy.yaml 文件将此操作的权限授予其他角色。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
snapshot_id |
路径 |
字符串 |
快照的 UUID。 |
force_delete |
body |
字符串 |
要强制删除快照,请包含此参数并将其值设置为 |
请求示例¶
{
"force_delete": null
}
更新共享快照。
您可以更新这些属性
display_name,它还会更改共享快照的name。display_description,它还会更改共享快照的description。
如果您尝试更新其他属性,它们将保留其先前的值。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
422 - 无法处理的实体 |
请求的实体格式无法被请求的资源以该方法处理。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
snapshot_id |
路径 |
字符串 |
快照的 UUID。 |
display_name(可选) |
body |
字符串 |
用户定义的资源名称。该字段设置 |
display_description(可选) |
body |
字符串 |
用户定义的资源描述。该字段设置 |
请求示例¶
{
"snapshot": {
"display_name": "snapshot_Share1",
"display_description": "I am changing a description also. Here is a snapshot of share Share1"
}
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
快照的 UUID。 |
status |
body |
字符串 |
快照状态,可以是 |
share_id |
body |
字符串 |
用于创建快照的源共享的 UUID。 |
name |
body |
字符串 |
资源的由用户定义的名称。 |
description |
body |
字符串 |
资源的由用户定义的描述。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
share_proto |
body |
字符串 |
共享快照的文件系统协议。有效值为 |
share_size |
body |
整数 |
共享快照大小,以 GiB 为单位。 |
size |
body |
整数 |
快照大小,以 GiB 为单位。 |
project_id |
body |
字符串 |
快照所属项目的 ID。 版本 2.17 中新增 |
user_id |
body |
字符串 |
创建快照的用户的 ID。 版本 2.17 中新增 |
响应示例¶
{
"snapshot": {
"status": "available",
"share_id": "406ea93b-32e9-4907-a117-148b3945749f",
"name": "snapshot_Share1",
"user_id": "5c7bdb6eb0504d54a619acf8375c08ce",
"project_id": "cadd7139bc3148b8973df097c0911016",
"links": [
{
"href": "http://172.18.198.54:8786/v1/16e1ab15c35a457e9c2b2aa189f544e1/snapshots/6d221c1d-0200-461e-8d20-24b4776b9ddb",
"rel": "self"
},
{
"href": "http://172.18.198.54:8786/16e1ab15c35a457e9c2b2aa189f544e1/snapshots/6d221c1d-0200-461e-8d20-24b4776b9ddb",
"rel": "bookmark"
}
],
"created_at": "2015-09-07T11:50:39.000000",
"description": "I am changing a description also. Here is a snapshot of share Share1",
"share_proto": "NFS",
"share_size": 1,
"id": "6d221c1d-0200-461e-8d20-24b4776b9ddb",
"size": 1
}
}
删除共享快照。
先决条件
共享快照状态必须为
可用或错误。
响应码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
snapshot_id |
路径 |
字符串 |
快照的 UUID。 |
快照元数据 (自 API v2.73 起)¶
显示、设置、更新和取消设置快照元数据。
在版本 2.73 中添加。
显示快照的所有元数据,以键值对的形式。
响应码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
snapshot_id |
路径 |
字符串 |
快照的 UUID。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
metadata |
body |
对象 |
一个或多个元数据键值对,作为字符串的字典。 |
响应示例¶
{
"metadata": {
"project": "my_app",
"aim": "doc"
}
}
在版本 2.73 中添加。
按键检索快照元数据中的特定元数据项。如果指定的键不代表有效的元数据项,API 将使用 HTTP 404 响应。
响应码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
snapshot_id |
路径 |
字符串 |
快照的 UUID。 |
key(可选) |
路径 |
字符串 |
元数据项的键。例如,如果现有共享或访问规则上的元数据如下: |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
metadata |
body |
对象 |
单个元数据键值对。 |
响应示例¶
{
"meta": {
"project": "my_app"
}
}
在版本 2.73 中添加。
允许添加新的元数据项作为键值对。此 API 不会删除预先存在的元数据项。如果请求对象包含已存在的元数据项,则它们将使用请求对象中指定的新值进行更新。
响应码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此资源有一个正在进行的操作,与此请求冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
snapshot_id |
路径 |
字符串 |
快照的 UUID。 |
metadata |
body |
对象 |
一个或多个元数据键值对,以字符串字典的形式。例如, |
请求示例¶
{
"metadata": {
"aim": "changed_doc",
"project": "my_app",
"key1": "value1",
"new_metadata_key": "new_information",
"key": "value"
}
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
metadata |
body |
对象 |
一个或多个元数据键值对,作为字符串的字典。 |
响应示例¶
{
"metadata": {
"aim": "changed_doc",
"project": "my_app",
"key1": "value1",
"new_metadata_key": "new_information",
"key": "value"
}
}
在版本 2.73 中添加。
使用请求对象中指定的元数据(以键值对的形式)替换给定快照的元数据。快照的所有预先存在的元数据将被删除并替换为提供的新元数据。
响应码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
snapshot_id |
路径 |
字符串 |
快照的 UUID。 |
metadata |
body |
对象 |
一个或多个元数据键值对,以字符串字典的形式。例如, |
请求示例¶
{
"metadata": {
"aim": "changed_doc",
"project": "my_app",
"new_metadata_key": "new_information"
}
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
metadata |
body |
对象 |
一个或多个元数据键值对,作为字符串的字典。 |
响应示例¶
{
"metadata": {
"aim": "changed_doc",
"project": "my_app",
"new_metadata_key": "new_information"
}
}
要删除给定快照上的所有现有元数据项,请求对象需要指定一个空的元数据对象
请求示例¶
{
"metadata": null
}
响应示例¶
{
"metadata": null
}
在版本 2.73 中添加。
删除快照元数据中由其键标识的单个元数据项。如果指定的键不代表有效的元数据项,API 将使用 HTTP 404 响应。
响应码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
snapshot_id |
路径 |
字符串 |
快照的 UUID。 |
key(可选) |
路径 |
字符串 |
元数据项的键。例如,如果现有共享或访问规则上的元数据如下: |
共享快照实例 (自 API v2.19 起)¶
共享快照实例是共享快照的内部表示。如果父共享具有多个 实例,则单个快照可以有多个快照实例。当共享被复制或正在迁移时,它可以存在于多个位置,并且每个位置在共享文件系统服务内部称为“实例”。
默认情况下,管理员可以列出、显示有关和显式设置共享快照实例的状态。使用 policy.yaml 文件将这些操作的权限授予其他角色。
在版本 2.19 中添加。
列出所有共享快照实例。
响应码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
snapshot_id (可选) |
查询 |
字符串 |
用于基于快照过滤请求的共享的基本快照的 UUID。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
共享快照实例的 UUID。 |
snapshot_id |
body |
字符串 |
快照的 UUID。 |
status |
body |
字符串 |
快照实例状态。有效值为 |
响应示例¶
{
"snapshot_instances": [
{
"status": "available",
"snapshot_id": "d447de19-a6d3-40b3-ae9f-895c86798924",
"id": "275516e8-c998-4e78-a41e-7dd3a03e71cd"
}
]
}
在版本 2.19 中添加。
列出带有详细信息的共享快照实例。
响应码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
snapshot_id (可选) |
查询 |
字符串 |
用于基于快照过滤请求的共享的基本快照的 UUID。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
共享快照实例的 UUID。 |
snapshot_id |
body |
字符串 |
快照的 UUID。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
updated_at |
body |
字符串 |
资源上次在服务数据库中更新的日期和时间戳。如果资源在创建后从未更新,则此参数的值设置为 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
status |
body |
字符串 |
快照实例状态。有效值为 |
share_id |
路径 |
字符串 |
共享的 UUID。 |
share_instance_id |
body |
字符串 |
共享实例的 UUID。 |
progress |
body |
字符串 |
快照创建的进度。 |
provider_location |
body |
字符串 |
后端上快照的提供程序位置。 |
响应示例¶
{
"snapshot_instances": [
{
"status": "available",
"share_id": "618599ab-09a1-432d-973a-c102564c7fec",
"share_instance_id": "8edff0cb-e5ce-4bab-aa99-afe02ed6a76a",
"snapshot_id": "d447de19-a6d3-40b3-ae9f-895c86798924",
"progress": "100%",
"created_at": "2017-08-04T00:44:52.000000",
"id": "275516e8-c998-4e78-a41e-7dd3a03e71cd",
"provider_location": "/path/to/fake/snapshot/snapshot_d447de19_a6d3_40b3_ae9f_895c86798924_275516e8_c998_4e78_a41e_7dd3a03e71cd",
"updated_at": "2017-08-04T00:44:54.000000"
}
]
}
在版本 2.19 中添加。
显示共享快照实例的详细信息。
响应码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
snapshot_instance_id |
路径 |
字符串 |
共享快照实例的 UUID。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
共享快照实例的 UUID。 |
snapshot_id |
body |
字符串 |
快照的 UUID。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
updated_at |
body |
字符串 |
资源上次在服务数据库中更新的日期和时间戳。如果资源在创建后从未更新,则此参数的值设置为 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
status |
body |
字符串 |
快照实例状态。有效值为 |
share_id |
路径 |
字符串 |
共享的 UUID。 |
share_instance_id |
body |
字符串 |
共享实例的 UUID。 |
progress |
body |
字符串 |
快照创建的进度。 |
provider_location |
body |
字符串 |
后端上快照的提供程序位置。 |
响应示例¶
{
"snapshot_instance":
{
"status": "available",
"share_id": "618599ab-09a1-432d-973a-c102564c7fec",
"share_instance_id": "8edff0cb-e5ce-4bab-aa99-afe02ed6a76a",
"snapshot_id": "d447de19-a6d3-40b3-ae9f-895c86798924",
"progress": "100%",
"created_at": "2017-08-04T00:44:52.000000",
"id": "275516e8-c998-4e78-a41e-7dd3a03e71cd",
"provider_location": "/path/to/fake/snapshot/snapshot_d447de19_a6d3_40b3_ae9f_895c86798924_275516e8_c998_4e78_a41e_7dd3a03e71cd",
"updated_at": "2017-08-04T00:44:54.000000"
}
}
在版本 2.19 中添加。
仅限管理员。显式更新共享快照实例的状态。
使用 policy.yaml 文件将此操作的权限授予其他角色。
响应码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
snapshot_instance_id |
路径 |
字符串 |
共享快照实例的 UUID。 |
status |
body |
字符串 |
快照实例状态。有效值为 |
请求示例¶
{
"reset_status": {
"status": "available"
}
}
共享副本 (自 API v2.11 起)¶
共享副本是现有共享的复制副本。您可以使用共享副本来同步数据,以便每个共享副本都具有相同共享的相同副本。共享复制可以用作灾难恢复解决方案或作为负载共享镜像解决方案。
Manila 支持在不同的存储池之间复制共享。这些池可能位于不同的后端存储系统或在同一后端,具体取决于所选的复制样式、驱动程序的capability 以及后端的配置。为了确保将辅助副本安排到不同的后端,您必须指定 availability_zone 属性。
注意
您可以使用具有指定有效复制样式的额外规范 replication_type 的共享类型来创建支持复制的共享。创建复制的共享后,它始终从 active 副本开始。然后,您可以创建共享的辅助副本。辅助副本可以“提升”以故障转移为 active 副本。
要创建支持复制的共享,共享类型必须指定以下受支持的复制类型之一
可写
同步复制的共享,所有副本都是可写的。不需要支持提升,因为所有副本都可以同时导出和访问。
可读
镜像式复制,具有一个主(可写)副本和一个或多个辅助(只读)副本,在提升后可以变为可写。
dr(用于灾难恢复)
通用的复制,辅助副本在提升为活动副本之前无法访问。
重要提示
术语“活动副本”是指主共享。在可写复制样式中,所有副本都是活动的,并且可能没有主共享的区别。在可读和 dr 复制样式中,辅助副本可以称为被动、非活动或简单副本。
在版本 2.11 中添加。
为共享创建共享副本。
响应码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_id |
body |
字符串 |
要从中创建共享副本的共享的 UUID。 |
availability_zone(可选) |
body |
字符串 |
可用区。 |
share_network_id (可选) |
body |
字符串 |
共享网络的 UUID。 |
scheduler_hints(可选) |
body |
对象 |
一个或多个 scheduler_hints 键值对,形式为字符串字典。接受的提示是:- 在版本 2.67 中新增 |
请求示例¶
{
"share_replica": {
"share_id": "50a6a566-6bac-475c-ad69-5035c86696c0",
"availability_zone": "nova",
"scheduler_hints": {
"only_host": "host1@generic1#GENERIC1"
}
}
}
注意
自 API 版本 2.72 起,添加了参数 share_network_id,该参数之前受支持,但后来在版本 2.51 中被弃用。如果未指定该参数,它将从其父共享继承,并且共享文件系统服务将根据指定的可用区自动选择您的共享副本将放置在哪个共享网络子网。
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
share_id |
body |
字符串 |
要从中创建共享副本的共享的 UUID。 |
status |
body |
字符串 |
共享副本的状态。可能的取值列表: |
cast_rules_to_readonly |
body |
布尔值 |
如果共享副本的 2.30 版本新增 |
updated_at |
body |
字符串 |
资源上次在服务数据库中更新的日期和时间戳。如果资源在创建后从未更新,则此参数的值设置为 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
share_network_id |
body |
字符串 |
资源导出到的共享网络 ID。 |
share_server_id |
body |
字符串 |
共享服务器的 UUID。 |
host |
body |
字符串 |
共享副本的主机名。 |
id |
body |
字符串 |
共享副本的 UUID。 |
replica_state |
body |
字符串 |
共享副本的副本状态。可能的取值列表: |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
响应示例¶
{
"share_replica": {
"status": "creating",
"share_id": "5043dffd-f033-4248-a315-319ca2bd70c8",
"availability_zone": null,
"cast_rules_to_readonly": true,
"updated_at": null,
"share_network_id": null,
"share_server_id": null,
"host": "",
"id": "c9f52e33-d780-41d8-89ba-fc06869f465f",
"replica_state": null,
"created_at": "2017-08-15T20:21:43.493731"
}
}
在版本 2.11 中添加。
将副本提升为 active 副本状态。
响应码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_replica_id |
路径 |
字符串 |
共享副本的 UUID。 |
quiesce_wait_time(可选) |
body |
整数 |
副本提升期间使用的静默等待时间(秒)。 在版本 2.75 中新增 |
请求示例¶
{
"promote": {
"quiesce_wait_time": 30
}
}
在版本 2.11 中添加。
与其 active 镜像重新同步副本。
响应码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_replica_id |
路径 |
字符串 |
共享副本的 UUID。 |
请求示例¶
{
"resync": null
}
在版本 2.11 中添加。
列出共享副本。
响应码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_id |
路径 |
字符串 |
共享的 UUID。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
share_id |
body |
字符串 |
要从中创建共享副本的共享的 UUID。 |
status |
body |
字符串 |
共享副本的状态。可能的取值列表: |
id |
body |
字符串 |
共享副本的 UUID。 |
replica_state |
body |
字符串 |
共享副本的副本状态。可能的取值列表: |
响应示例¶
{
"share_replicas": [
{
"status": "available",
"share_id": "5043dffd-f033-4248-a315-319ca2bd70c8",
"id": "57f5c47a-0216-4ee0-a517-0460d63301a6",
"replica_state": "active"
},
{
"status": "available",
"share_id": "5043dffd-f033-4248-a315-319ca2bd70c8",
"id": "c9f52e33-d780-41d8-89ba-fc06869f465f",
"replica_state": "in_sync"
}
]
}
在版本 2.11 中添加。
列出共享副本的详细信息。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_id (可选) |
查询 |
字符串 |
用于过滤共享副本的共享 ID。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
share_id |
body |
字符串 |
要从中创建共享副本的共享的 UUID。 |
status |
body |
字符串 |
共享副本的状态。可能的取值列表: |
cast_rules_to_readonly |
body |
布尔值 |
如果共享副本的 2.30 版本新增 |
updated_at |
body |
字符串 |
资源上次在服务数据库中更新的日期和时间戳。如果资源在创建后从未更新,则此参数的值设置为 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
share_network_id |
body |
字符串 |
资源导出到的共享网络 ID。 |
share_server_id |
body |
字符串 |
共享服务器的 UUID。 |
host |
body |
字符串 |
共享副本的主机名。 |
id |
body |
字符串 |
共享副本的 UUID。 |
replica_state |
body |
字符串 |
共享副本的副本状态。可能的取值列表: |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
响应示例¶
{
"share_replicas": [
{
"status": "available",
"share_id": "5043dffd-f033-4248-a315-319ca2bd70c8",
"availability_zone": "nova",
"cast_rules_to_readonly": false,
"updated_at": "2017-08-15T20:20:50.000000",
"share_network_id": null,
"share_server_id": null,
"host": "ubuntu@generic3#fake_pool_for_DummyDriver",
"id": "57f5c47a-0216-4ee0-a517-0460d63301a6",
"replica_state": "active",
"created_at": "2017-08-15T20:20:45.000000"
},
{
"status": "available",
"share_id": "5043dffd-f033-4248-a315-319ca2bd70c8",
"availability_zone": "nova",
"cast_rules_to_readonly": true,
"updated_at": "2017-08-15T20:21:49.000000",
"share_network_id": null,
"share_server_id": null,
"host": "ubuntu@generic2#fake_pool_for_DummyDriver",
"id": "c9f52e33-d780-41d8-89ba-fc06869f465f",
"replica_state": "in_sync",
"created_at": "2017-08-15T20:21:43.000000"
}
]
}
在版本 2.11 中添加。
显示一个共享副本。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_replica_id |
路径 |
字符串 |
共享副本的 UUID。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
share_id |
body |
字符串 |
要从中创建共享副本的共享的 UUID。 |
status |
body |
字符串 |
共享副本的状态。可能的取值列表: |
cast_rules_to_readonly |
body |
布尔值 |
如果共享副本的 2.30 版本新增 |
updated_at |
body |
字符串 |
资源上次在服务数据库中更新的日期和时间戳。如果资源在创建后从未更新,则此参数的值设置为 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
share_network_id |
body |
字符串 |
资源导出到的共享网络 ID。 |
share_server_id |
body |
字符串 |
共享服务器的 UUID。 |
host |
body |
字符串 |
共享副本的主机名。 |
id |
body |
字符串 |
共享副本的 UUID。 |
replica_state |
body |
字符串 |
共享副本的副本状态。可能的取值列表: |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
响应示例¶
{
"share_replica": {
"status": "available",
"share_id": "5043dffd-f033-4248-a315-319ca2bd70c8",
"availability_zone": "nova",
"cast_rules_to_readonly": false,
"updated_at": "2017-08-15T20:20:50.000000",
"share_network_id": null,
"share_server_id": null,
"host": "ubuntu@generic3#fake_pool_for_DummyDriver",
"id": "57f5c47a-0216-4ee0-a517-0460d63301a6",
"replica_state": "active",
"created_at": "2017-08-15T20:20:45.000000"
}
}
在版本 2.11 中添加。
仅限管理员。显式更新共享副本的 status。
使用 policy.yaml 文件将此操作的权限授予其他角色。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_replica_id |
路径 |
字符串 |
共享副本的 UUID。 |
reset_status |
body |
对象 |
|
status |
body |
字符串 |
共享副本的状态。可能的取值列表: |
请求示例¶
{
"reset_status": {
"status": "available"
}
}
在版本 2.11 中添加。
仅限管理员。显式更新共享副本的 replica state。
使用 policy.yaml 文件将此操作的权限授予其他角色。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_replica_id |
路径 |
字符串 |
共享副本的 UUID。 |
reset_replica_state |
body |
对象 |
包含 |
replica_state |
body |
字符串 |
共享副本的副本状态。可能的取值列表: |
请求示例¶
{
"reset_replica_state": {
"replica_state": "out_of_sync"
}
}
在版本 2.11 中添加。
删除一个共享副本。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此资源有一个正在进行的操作,与此请求冲突。 |
注意
无法使用此 API 删除活动副本。
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_replica_id |
路径 |
字符串 |
共享副本的 UUID。 |
在版本 2.11 中添加。
仅限管理员。强制删除处于任何状态的共享副本。
使用 policy.yaml 文件将此操作的权限授予其他角色。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
注意
无法使用此 API 删除活动副本。
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_replica_id |
路径 |
字符串 |
共享副本的 UUID。 |
force_delete |
body |
字符串 |
要强制删除共享副本,请将此值设置为 |
请求示例¶
{
"force_delete": null
}
共享副本导出位置(API v2.47 起)¶
用于查看共享副本导出位置的 API 集合。
在版本 2.47 中添加。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_replica_id |
路径 |
字符串 |
共享副本的 UUID。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
共享导出位置 UUID。 |
share_instance_id |
body |
字符串 |
此导出位置所属的共享实例的 UUID。此参数仅对具有“管理员”角色的用户可用,并且不能通过 policy.yaml 控制。 |
路径 |
body |
字符串 |
用于挂载操作的导出位置路径。 |
is_admin_only |
body |
布尔值 |
定义导出位置的目的。如果设置为 |
preferred |
body |
布尔值 |
驱动程序可以使用此字段来识别最有效的导出位置,并且客户端应优先使用这些导出位置。默认设置为 |
availability_zone |
body |
字符串 |
导出位置所属的可用区名称。 |
replica_state |
body |
字符串 |
共享副本的副本状态。可能的取值列表: |
响应示例¶
{
"export_locations": [
{
"path": "10.254.0.3:/shares/share-e1c2d35e-fe67-4028-ad7a-45f668732b1d",
"share_instance_id": "e1c2d35e-fe67-4028-ad7a-45f668732b1d",
"is_admin_only": false,
"id": "b6bd76ce-12a2-42a9-a30a-8a43b503867d",
"preferred": false,
"replica_state": "in_sync",
"availability_zone": "paris"
},
{
"path": "10.0.0.3:/shares/share-e1c2d35e-fe67-4028-ad7a-45f668732b1d",
"share_instance_id": "e1c2d35e-fe67-4028-ad7a-45f668732b1d",
"is_admin_only": true,
"id": "6921e862-88bc-49a5-a2df-efeed9acd583",
"preferred": false,
"replica_state": "in_sync",
"availability_zone": "paris"
}
]
}
在版本 2.47 中添加。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_replica_id |
路径 |
字符串 |
共享副本的 UUID。 |
export_location_id |
路径 |
字符串 |
导出位置的 UUID。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
共享导出位置 UUID。 |
share_instance_id |
body |
字符串 |
此导出位置所属的共享实例的 UUID。此参数仅对具有“管理员”角色的用户可用,并且不能通过 policy.yaml 控制。 |
路径 |
body |
字符串 |
用于挂载操作的导出位置路径。 |
is_admin_only |
body |
布尔值 |
定义导出位置的目的。如果设置为 |
preferred |
body |
布尔值 |
驱动程序可以使用此字段来识别最有效的导出位置,并且客户端应优先使用这些导出位置。默认设置为 |
availability_zone |
body |
字符串 |
导出位置所属的可用区名称。 |
replica_state |
body |
字符串 |
共享副本的副本状态。可能的取值列表: |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
updated_at |
body |
字符串 |
资源上次在服务数据库中更新的日期和时间戳。如果资源在创建后从未更新,则此参数的值设置为 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
响应示例¶
{
"export_location": {
"created_at": "2016-03-24T14:20:47.000000",
"updated_at": "2016-03-24T14:20:47.000000",
"preferred": false,
"is_admin_only": true,
"share_instance_id": "e1c2d35e-fe67-4028-ad7a-45f668732b1d",
"path": "10.0.0.3:/shares/share-e1c2d35e-fe67-4028-ad7a-45f668732b1d",
"id": "6921e862-88bc-49a5-a2df-efeed9acd583",
"replica_state": "in_sync",
"availability_zone": "paris"
}
}
共享网络¶
共享网络资源存储网络信息,用于创建和管理共享服务器。使用共享网络创建的共享在这些网络上导出,借助共享服务器。
您可以创建、更新、查看和删除共享网络。
创建共享网络时,可以选择性地指定关联的 neutron 网络和子网。
有关共享网络支持的插件的更多信息,请参阅 Manila 网络插件。
共享网络资源具有以下属性
用于分配网络的无类别域间路由 (CIDR) 表示法中的 IP 块。
网络的 IP 版本。
网络类型,可以是
vlan、vxlan、gre或flat。如果网络使用分段,则为分段标识符。例如,VLAN、VXLAN 和 GRE 网络使用分段。
共享网络资源还可以具有用户定义的名称和描述。
注意
从 API 版本 2.51 开始,允许共享网络跨越多个子网,并且字段 neutron_net_id、neutron_subnet_id、network_type、cidr、ip_version、gateway、segmentation_id 和 mtu 已从共享网络移动到子网。共享网络子网还包含一个名为 availability_zone 的属性。
列出所有共享网络。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
all_tenants (可选) |
查询 |
布尔值 |
(仅限管理员)。定义是否为所有项目列出请求的资源。设置为 |
name~ (可选) |
查询 |
字符串 |
可用于过滤共享、共享快照、共享网络、传输或共享组的名称模式。 版本 2.36 中新增 |
description~ (可选) |
查询 |
字符串 |
可用于过滤共享、共享快照、共享网络或共享组的描述模式。 版本 2.36 中新增 |
name (可选) |
查询 |
字符串 |
用于按资源名称过滤资源的由用户定义名称。 |
description(可选) |
查询 |
字符串 |
可用于筛选资源的、用户定义的描述文本。 |
created_since (可选) |
查询 |
字符串 |
搜索在指定日期之后创建的资源列表。日期格式为“yyyy-mm-dd”。 |
created_before (可选) |
查询 |
字符串 |
搜索在指定日期之前创建的资源列表。日期格式为“yyyy-mm-dd”。 |
security_service_id (可选) |
查询 |
字符串 |
用于过滤共享网络的安全性服务 ID。 |
nova_net_id (可选) |
查询 |
字符串 |
用于过滤共享网络的 Nova 网络 ID。 直到版本 2.26 可用 |
neutron_net_id (可选) |
查询 |
字符串 |
用于过滤共享网络的 neutron 网络 ID。 |
neutron_subnet_id (可选) |
查询 |
字符串 |
用于过滤共享网络的 neutron 网络子网 ID。 |
network_type (可选) |
查询 |
字符串 |
用于过滤共享网络的网络类型。 |
segmentation_id (可选) |
查询 |
字符串 |
用于过滤共享网络的分割 ID。 |
cidr (可选) |
查询 |
字符串 |
用于过滤共享网络的 CIDR。 |
ip_version (可选) |
查询 |
字符串 |
用于过滤共享网络的 IP 版本。 |
offset (可选) |
查询 |
整数 |
用于定义资源列表起点的偏移量。 |
limit (可选) |
查询 |
整数 |
要返回的最大资源记录数。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
共享网络资源的 UUID。 |
name |
body |
字符串 |
资源的由用户定义的名称。 |
响应示例¶
{
"share_networks": [
{
"id": "32763294-e3d4-456a-998d-60047677c2fb",
"name": "net_my1"
},
{
"id": "713df749-aac0-4a54-af52-10f6c991e80c",
"name": "net_my"
},
{
"id": "fa158a3d-6d9f-4187-9ca5-abbb82646eb2",
"name": null
}
]
}
列出所有共享网络的详细信息。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
all_tenants (可选) |
查询 |
布尔值 |
(仅限管理员)。定义是否为所有项目列出请求的资源。设置为 |
name~ (可选) |
查询 |
字符串 |
可用于过滤共享、共享快照、共享网络、传输或共享组的名称模式。 版本 2.36 中新增 |
description~ (可选) |
查询 |
字符串 |
可用于过滤共享、共享快照、共享网络或共享组的描述模式。 版本 2.36 中新增 |
created_since (可选) |
查询 |
字符串 |
搜索在指定日期之后创建的资源列表。日期格式为“yyyy-mm-dd”。 |
created_before (可选) |
查询 |
字符串 |
搜索在指定日期之前创建的资源列表。日期格式为“yyyy-mm-dd”。 |
nova_net_id (可选) |
查询 |
字符串 |
用于过滤共享网络的 Nova 网络 ID。 直到版本 2.26 可用 |
neutron_net_id (可选) |
查询 |
字符串 |
用于过滤共享网络的 neutron 网络 ID。 |
neutron_subnet_id (可选) |
查询 |
字符串 |
用于过滤共享网络的 neutron 网络子网 ID。 |
network_type (可选) |
查询 |
字符串 |
用于过滤共享网络的网络类型。 |
segmentation_id (可选) |
查询 |
字符串 |
用于过滤共享网络的分割 ID。 |
cidr (可选) |
查询 |
字符串 |
用于过滤共享网络的 CIDR。 |
ip_version (可选) |
查询 |
字符串 |
用于过滤共享网络的 IP 版本。 |
offset (可选) |
查询 |
整数 |
用于定义资源列表起点的偏移量。 |
limit (可选) |
查询 |
整数 |
要返回的最大资源记录数。 |
security_service_id (可选) |
查询 |
字符串 |
用于过滤共享网络的安全性服务 ID。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
共享网络资源的 UUID。 |
project_id |
body |
字符串 |
拥有资源的项目的 ID。 |
neutron_net_id |
body |
字符串 |
neutron 网络 ID。 直到版本 2.50 可用 |
neutron_subnet_id |
body |
字符串 |
neutron 子网 ID。 直到版本 2.50 可用 |
network_type |
body |
字符串 |
网络类型。有效值为 直到版本 2.50 可用 |
segmentation_id |
body |
整数 |
分割 ID。此参数由网络提供程序自动设置。对于 VLAN,此值为 1 到 4094 之间的整数。对于 VXLAN,此值为 1 到 16777215 之间的整数。对于 GRE,此值为 1 到 4294967295 之间的整数。 直到版本 2.50 可用 |
cidr |
body |
字符串 |
用于分配网络的 IP 块,采用 CIDR 表示法。例如, 直到版本 2.50 可用 |
ip_version |
body |
整数 |
网络的 IP 版本。有效值为 直到版本 2.50 可用 |
name |
body |
字符串 |
资源的由用户定义的名称。 |
description |
body |
字符串 |
资源的由用户定义的描述。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
updated_at |
body |
字符串 |
资源上次在服务数据库中更新的日期和时间戳。如果资源在创建后从未更新,则此参数的值设置为 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
gateway |
body |
字符串 |
共享网络的网关。 新增于版本 2.18 直到版本 2.50 可用 |
mtu |
body |
整数 |
共享网络的 MTU 值。 新增于版本 2.20 直到版本 2.50 可用 |
share_network_subnets |
body |
数组 |
与相关共享网络相关的共享网络子网列表。 新增于版本 2.51 |
security_service_update_support |
body |
布尔值 |
是否支持在共享网络正在使用时更新其安全性服务。 新增于版本 2.63 |
status |
body |
字符串 |
共享网络的的状态。可能的值为: 新增于版本 2.63 |
响应示例¶
{
"share_networks": [
{
"name": "net_my1",
"segmentation_id": null,
"created_at": "2015-09-04T14:57:13.000000",
"neutron_subnet_id": "53482b62-2c84-4a53-b6ab-30d9d9800d06",
"updated_at": null,
"id": "32763294-e3d4-456a-998d-60047677c2fb",
"neutron_net_id": "998b42ee-2cee-4d36-8b95-67b5ca1f2109",
"ip_version": null,
"cidr": null,
"project_id": "16e1ab15c35a457e9c2b2aa189f544e1",
"network_type": null,
"description": "descr",
"gateway": null,
"mtu": null
},
{
"name": "net_my",
"segmentation_id": null,
"created_at": "2015-09-04T14:54:25.000000",
"neutron_subnet_id": "53482b62-2c84-4a53-b6ab-30d9d9800d06",
"updated_at": null,
"id": "713df749-aac0-4a54-af52-10f6c991e80c",
"neutron_net_id": "998b42ee-2cee-4d36-8b95-67b5ca1f2109",
"ip_version": null,
"cidr": null,
"project_id": "16e1ab15c35a457e9c2b2aa189f544e1",
"network_type": null,
"description": "desecr",
"gateway": null,
"mtu": null
},
{
"name": null,
"segmentation_id": null,
"created_at": "2015-09-04T14:51:41.000000",
"neutron_subnet_id": null,
"updated_at": null,
"id": "fa158a3d-6d9f-4187-9ca5-abbb82646eb2",
"neutron_net_id": null,
"ip_version": null,
"cidr": null,
"project_id": "16e1ab15c35a457e9c2b2aa189f544e1",
"network_type": null,
"description": null,
"gateway": null,
"mtu": null
}
]
}
注意
从 API 版本 2.51 开始,共享网络可以跨越多个子网,因此在创建共享网络时,共享文件系统服务将自动创建一个新的子网并将其附加到共享网络。
{
"share_networks": [
{
"id": "03987b5f-cb79-4f5f-a590-f6936b91b49e",
"name": "net_my1",
"project_id": "16e1ab15c35a457e9c2b2aa189f544e1",
"created_at": "2019-10-02T12:33:36.000000",
"updated_at": null,
"description": null,
"share_network_subnets": [
{
"id": "022aa495-845e-42a6-9d83-a38f164053c9",
"availability_zone": null,
"created_at": "2019-10-02T12:33:36.000000",
"updated_at": null,
"segmentation_id": null,
"neutron_net_id": "f00732aa-7721-455d-ba14-ec37619ea13f",
"neutron_subnet_id": "eb7adcf8-ce71-43e3-b4c2-cf81da9f89a",
"ip_version": null,
"cidr": null,
"network_type": null,
"mtu": null,
"gateway": null
}
]
},
{
"id": "1324e7d3-fba8-45e4-bb37-b59c12eb06dc",
"name": "net_my2",
"project_id": "16e1ab15c35a457e9c2b2aa189f544e1",
"created_at": "2019-07-01T17:49:43.000000",
"updated_at": "2019-07-02T12:17:39.000000",
"description": null,
"share_network_subnets": [
{
"id": "8ebe964d-ac48-4e43-93ed-b1768148f8f4",
"availability_zone": "manila-zone-0",
"created_at": "2019-10-03T02:25:12.000000",
"updated_at": null,
"segmentation_id": null,
"neutron_net_id": "62187648-6617-4509-a780-ffc973a7fe43",
"neutron_subnet_id": "2276888a-27c1-47c2-82a0-ea3050128b5",
"ip_version": null,
"cidr": null,
"network_type": null,
"mtu": null,
"gateway": null
},
{
"id": "e4db03dc-6041-4c6a-a8f9-80bb4141a1eb",
"availability_zone": null,
"created_at": "2019-07-01T17:49:43.000000",
"updated_at": "2019-07-02T12:17:39.000000",
"segmentation_id": null,
"neutron_net_id": "62187648-6617-4509-a780-ffc973a7fe43",
"neutron_subnet_id": "2276888a-27c1-47c2-820-ea33050128b5",
"ip_version": 4,
"cidr": "172.24.5.0/24",
"network_type": "flat",
"mtu": 1500,
"gateway": "172.24.5.1"
}
]
}
]
}
显示共享网络的详细信息。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_network_id |
路径 |
字符串 |
共享网络的 UUID。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
共享网络资源的 UUID。 |
project_id |
body |
字符串 |
拥有资源的项目的 ID。 |
neutron_net_id |
body |
字符串 |
neutron 网络 ID。 直到版本 2.50 可用 |
neutron_subnet_id |
body |
字符串 |
neutron 子网 ID。 直到版本 2.50 可用 |
network_type |
body |
字符串 |
网络类型。有效值为 直到版本 2.50 可用 |
segmentation_id |
body |
整数 |
分割 ID。此参数由网络提供程序自动设置。对于 VLAN,此值为 1 到 4094 之间的整数。对于 VXLAN,此值为 1 到 16777215 之间的整数。对于 GRE,此值为 1 到 4294967295 之间的整数。 直到版本 2.50 可用 |
cidr |
body |
字符串 |
用于分配网络的 IP 块,采用 CIDR 表示法。例如, 直到版本 2.50 可用 |
ip_version |
body |
整数 |
网络的 IP 版本。有效值为 直到版本 2.50 可用 |
name |
body |
字符串 |
资源的由用户定义的名称。 |
description |
body |
字符串 |
资源的由用户定义的描述。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
updated_at |
body |
字符串 |
资源上次在服务数据库中更新的日期和时间戳。如果资源在创建后从未更新,则此参数的值设置为 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
gateway |
body |
字符串 |
共享网络的网关。 新增于版本 2.18 直到版本 2.50 可用 |
mtu |
body |
整数 |
共享网络的 MTU 值。 新增于版本 2.20 直到版本 2.50 可用 |
share_network_subnets |
body |
数组 |
与相关共享网络相关的共享网络子网列表。 新增于版本 2.51 |
security_service_update_support |
body |
布尔值 |
是否支持在共享网络正在使用时更新其安全性服务。 新增于版本 2.63 |
status |
body |
字符串 |
共享网络的的状态。可能的值为: 新增于版本 2.63 |
响应示例¶
{
"share_network": {
"name": "net_my1",
"segmentation_id": null,
"created_at": "2015-09-04T14:56:45.000000",
"neutron_subnet_id": "53482b62-2c84-4a53-b6ab-30d9d9800d06",
"updated_at": null,
"id": "7f950b52-6141-4a08-bbb5-bb7ffa3ea5fd",
"neutron_net_id": "998b42ee-2cee-4d36-8b95-67b5ca1f2109",
"ip_version": null,
"cidr": null,
"project_id": "16e1ab15c35a457e9c2b2aa189f544e1",
"network_type": null,
"description": "descr",
"gateway": null,
"mtu": null,
"security_service_update_support": true,
"status": "active"
}
}
注意
从 API 版本 2.51 开始,共享网络可以跨越多个子网,因此在创建共享网络时,共享文件系统服务将自动创建一个新的子网并将其附加到共享网络。
{
"share_network": {
"id": "1324e7d3-fba8-45e4-bb37-b59c12eb06dc",
"name": "net_my1",
"project_id": "16e1ab15c35a457e9c2b2aa189f544e1",
"created_at": "2019-10-02T17:49:43.000000",
"description": null,
"security_service_update_support": true,
"status": "active",
"share_network_subnets": [
{
"id": "e4db03dc-6041-4c6a-a8f9-80bb4141a1eb",
"availability_zone": null,
"created_at": "2019-10-02T17:49:43.000000",
"updated_at": "2019-10-03T12:17:39.000000",
"segmentation_id": null,
"neutron_net_id": "62187648-6617-4509-a780-ffc973a7fe43",
"neutron_subnet_id": "2276888a-27c1-47c2-82a0-ea33050128b5",
"ip_version": 4,
"cidr": "172.24.5.0/24",
"network_type": "flat",
"mtu": 1500,
"gateway": "172.24.5.1"
}
]
}
}
创建共享网络。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
413 - 请求实体过大 |
无法完成此操作。 |
422 - 无法处理的实体 |
请求的实体格式无法被请求的资源以该方法处理。 |
500 - 内部服务器错误 |
服务出现问题,导致无法满足请求。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
neutron_net_id (可选) |
body |
字符串 |
在设置或更新使用 neutron 的共享网络子网时,neutron 网络的 UUID。指定一个 neutron 网络及其所属的 neutron 子网。 |
neutron_subnet_id (可选) |
body |
字符串 |
在设置或更新使用 neutron 的共享网络子网时,neutron 子网的 UUID。指定一个 neutron 网络及其所属的 neutron 子网。 |
name (可选) |
body |
字符串 |
用户定义的资源名称。该字段的值限制为 255 个字符。 |
description(可选) |
body |
字符串 |
用户定义的资源描述。该字段的值限制为 255 个字符。 |
availability_zone(可选) |
body |
字符串 |
共享网络子网的可用区 UUID。 新增于版本 2.51 |
请求示例¶
{
"share_network": {
"neutron_net_id": "998b42ee-2cee-4d36-8b95-67b5ca1f2109",
"neutron_subnet_id": "53482b62-2c84-4a53-b6ab-30d9d9800d06",
"name": "my_network",
"description": "This is my share network",
"availability_zone": "manila-zone-0"
}
}
注意
从 API 版本 2.51 开始,可以在共享网络创建请求中指定 availability_zone。如果您未指定可用区,则此字段将设置为 null,并且创建的子网将由共享文件系统服务视为 default 子网。您每个共享网络只能有一个默认子网。如果您尝试在已经具有默认子网的共享网络中创建另一个默认子网,共享文件系统服务将拒绝该操作。
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
共享网络资源的 UUID。 |
project_id |
body |
字符串 |
拥有资源的项目的 ID。 |
neutron_net_id |
body |
字符串 |
neutron 网络 ID。 直到版本 2.50 可用 |
neutron_subnet_id |
body |
字符串 |
neutron 子网 ID。 直到版本 2.50 可用 |
network_type |
body |
字符串 |
网络类型。有效值为 直到版本 2.50 可用 |
segmentation_id |
body |
整数 |
分割 ID。此参数由网络提供程序自动设置。对于 VLAN,此值为 1 到 4094 之间的整数。对于 VXLAN,此值为 1 到 16777215 之间的整数。对于 GRE,此值为 1 到 4294967295 之间的整数。 直到版本 2.50 可用 |
cidr |
body |
字符串 |
用于分配网络的 IP 块,采用 CIDR 表示法。例如, 直到版本 2.50 可用 |
ip_version |
body |
整数 |
网络的 IP 版本。有效值为 直到版本 2.50 可用 |
name |
body |
字符串 |
资源的由用户定义的名称。 |
description |
body |
字符串 |
资源的由用户定义的描述。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
updated_at |
body |
字符串 |
资源上次在服务数据库中更新的日期和时间戳。如果资源在创建后从未更新,则此参数的值设置为 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
gateway |
body |
字符串 |
共享网络的网关。 新增于版本 2.18 直到版本 2.50 可用 |
mtu |
body |
整数 |
共享网络的 MTU 值。 新增于版本 2.20 直到版本 2.50 可用 |
share_network_subnets |
body |
数组 |
与相关共享网络相关的共享网络子网列表。 新增于版本 2.51 |
security_service_update_support |
body |
布尔值 |
是否支持在共享网络正在使用时更新其安全性服务。 新增于版本 2.63 |
status |
body |
字符串 |
共享网络的的状态。可能的值为: 新增于版本 2.63 |
响应示例¶
{
"share_network": {
"name": "my_network",
"segmentation_id": null,
"created_at": "2015-09-07T14:37:00.583656",
"neutron_subnet_id": "53482b62-2c84-4a53-b6ab-30d9d9800d06",
"updated_at": null,
"id": "77eb3421-4549-4789-ac39-0d5185d68c29",
"neutron_net_id": "998b42ee-2cee-4d36-8b95-67b5ca1f2109",
"ip_version": null,
"cidr": null,
"project_id": "e10a683c20da41248cfd5e1ab3d88c62",
"network_type": null,
"description": "This is my share network",
"gateway": null,
"mtu": null,
"security_service_update_support": true,
"status": "active"
}
}
注意
从 API 版本 2.51 开始,共享网络能够跨越多个子网,因此在创建共享网络时,共享文件系统服务将自动创建一个新的子网并将其附加到共享网络。
{
"share_network": {
"name": "my_network",
"created_at": "2019-09-07T14:37:00.583656",
"updated_at": null,
"id": "77eb3421-4549-4789-ac39-0d5185d68c29",
"project_id": "e10a683c20da41248cfd5e1ab3d88c62",
"description": "This is my share network",
"security_service_update_support": true,
"status": "active",
"share_network_subnets": [
{
"id": "91cc63b5-6c61-4078-b054-560923709654",
"availability_zone": "manila-zone-0",
"created_at": "2019-10-04T20:49:11.000000",
"updated_at": null,
"segmentation_id": null,
"neutron_net_id": "998b42ee-2cee-4d36-8b95-67b5ca1f2109",
"neutron_subnet_id": "53482b62-2c84-4a53-b6ab-30d9d9800d06",
"ip_version": null,
"cidr": null,
"network_type": null,
"mtu": null,
"gateway": null
}
]
}
}
将安全性服务添加到共享网络。
注意
从 API 版本 2.63 开始,manila 允许在共享后端支持的情况下,将安全性服务添加到正在使用的共享网络。在请求将安全性服务添加到正在使用的共享网络之前,请确保使用 检查添加 API。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此资源有一个正在进行的操作,与此请求冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id |
body |
字符串 |
拥有资源的项目的 ID。 |
share_network_id |
路径 |
字符串 |
共享网络的 UUID。 |
security_service_id |
body |
字符串 |
安全性服务 ID。 |
请求示例¶
{
"add_security_service": {
"security_service_id": "3c829734-0679-4c17-9637-801da48c0d5f"
}
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
共享网络资源的 UUID。 |
project_id |
body |
字符串 |
拥有资源的项目的 ID。 |
neutron_net_id |
body |
字符串 |
neutron 网络 ID。 直到版本 2.50 可用 |
neutron_subnet_id |
body |
字符串 |
neutron 子网 ID。 直到版本 2.50 可用 |
network_type |
body |
字符串 |
网络类型。有效值为 直到版本 2.50 可用 |
segmentation_id |
body |
整数 |
分割 ID。此参数由网络提供程序自动设置。对于 VLAN,此值为 1 到 4094 之间的整数。对于 VXLAN,此值为 1 到 16777215 之间的整数。对于 GRE,此值为 1 到 4294967295 之间的整数。 直到版本 2.50 可用 |
cidr |
body |
字符串 |
用于分配网络的 IP 块,采用 CIDR 表示法。例如, 直到版本 2.50 可用 |
ip_version |
body |
整数 |
网络的 IP 版本。有效值为 直到版本 2.50 可用 |
name |
body |
字符串 |
资源的由用户定义的名称。 |
description |
body |
字符串 |
资源的由用户定义的描述。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
updated_at |
body |
字符串 |
资源上次在服务数据库中更新的日期和时间戳。如果资源在创建后从未更新,则此参数的值设置为 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
gateway |
body |
字符串 |
共享网络的网关。 新增于版本 2.18 直到版本 2.50 可用 |
mtu |
body |
整数 |
共享网络的 MTU 值。 新增于版本 2.20 直到版本 2.50 可用 |
share_network_subnets |
body |
数组 |
与相关共享网络相关的共享网络子网列表。 新增于版本 2.51 |
security_service_update_support |
body |
布尔值 |
是否支持在共享网络正在使用时更新其安全性服务。 新增于版本 2.63 |
status |
body |
字符串 |
共享网络的的状态。可能的值为: 新增于版本 2.63 |
响应示例¶
{
"share_network": {
"name": "net2",
"segmentation_id": null,
"created_at": "2015-09-07T12:31:12.000000",
"neutron_subnet_id": null,
"updated_at": null,
"id": "d8ae6799-2567-4a89-aafb-fa4424350d2b",
"neutron_net_id": null,
"ip_version": null,
"cidr": null,
"project_id": "16e1ab15c35a457e9c2b2aa189f544e1",
"network_type": null,
"description": null,
"gateway": null,
"mtu": null,
"security_service_update_support": true,
"status": "active"
}
}
注意
从 API 版本 2.51 开始,共享网络可以跨越多个子网,因此在创建共享网络时,共享文件系统服务将自动创建一个新的子网并将其附加到共享网络。
{
"share_network": {
"name": "net2",
"created_at": "2019-11-10T12:31:12.000000",
"updated_at": null,
"id": "d8ae6799-2567-4a89-aafb-fa4424350d2b",
"project_id": "16e1ab15c35a457e9c2b2aa189f544e1",
"description": null,
"share_network_subnets": [
{
"id": "e4db03dc-6041-4c6a-a8f9-80bb4141a1eb",
"availability_zone": null,
"created_at": "2019-11-10T12:31:12.000000",
"updated_at": "2019-11-10T12:31:12.000000",
"segmentation_id": null,
"neutron_net_id": "62187648-6617-4509-a780-ffc973a7fe43",
"neutron_subnet_id": "2276888a-27c1-47c2-82a0-ea33050128b5",
"ip_version": 4,
"cidr": "172.24.5.0/24",
"network_type": "flat",
"mtu": 1500,
"gateway": "172.24.5.1"
}
]
}
}
从共享网络中删除安全性服务。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_network_id |
路径 |
字符串 |
共享网络的 UUID。 |
security_service_id |
body |
字符串 |
要从共享网络中删除的安全服务的 UUID。有关详细信息,请参阅安全服务部分。 |
请求示例¶
{
"remove_security_service": {
"security_service_id": "3c829734-0679-4c17-9637-801da48c0d5f"
}
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
共享网络资源的 UUID。 |
project_id |
body |
字符串 |
拥有资源的项目的 ID。 |
neutron_net_id |
body |
字符串 |
neutron 网络 ID。 直到版本 2.50 可用 |
neutron_subnet_id |
body |
字符串 |
neutron 子网 ID。 直到版本 2.50 可用 |
network_type |
body |
字符串 |
网络类型。有效值为 直到版本 2.50 可用 |
segmentation_id |
body |
整数 |
分割 ID。此参数由网络提供程序自动设置。对于 VLAN,此值为 1 到 4094 之间的整数。对于 VXLAN,此值为 1 到 16777215 之间的整数。对于 GRE,此值为 1 到 4294967295 之间的整数。 直到版本 2.50 可用 |
cidr |
body |
字符串 |
用于分配网络的 IP 块,采用 CIDR 表示法。例如, 直到版本 2.50 可用 |
ip_version |
body |
整数 |
网络的 IP 版本。有效值为 直到版本 2.50 可用 |
name |
body |
字符串 |
资源的由用户定义的名称。 |
description |
body |
字符串 |
资源的由用户定义的描述。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
updated_at |
body |
字符串 |
资源上次在服务数据库中更新的日期和时间戳。如果资源在创建后从未更新,则此参数的值设置为 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
gateway |
body |
字符串 |
共享网络的网关。 新增于版本 2.18 直到版本 2.50 可用 |
mtu |
body |
整数 |
共享网络的 MTU 值。 新增于版本 2.20 直到版本 2.50 可用 |
security_service_update_support |
body |
布尔值 |
是否支持在共享网络正在使用时更新其安全性服务。 新增于版本 2.63 |
status |
body |
字符串 |
共享网络的的状态。可能的值为: 新增于版本 2.63 |
响应示例¶
{
"share_network": {
"name": "net2",
"segmentation_id": null,
"created_at": "2015-09-07T12:31:12.000000",
"neutron_subnet_id": null,
"updated_at": null,
"id": "d8ae6799-2567-4a89-aafb-fa4424350d2b",
"neutron_net_id": null,
"ip_version": null,
"cidr": null,
"project_id": "16e1ab15c35a457e9c2b2aa189f544e1",
"network_type": null,
"description": null,
"gateway": null,
"mtu": null,
"security_service_update_support": true,
"status": "active"
}
}
注意
从 API 版本 2.51 开始,共享网络可以跨越多个子网,因此在创建共享网络时,共享文件系统服务将自动创建一个新的子网并将其附加到共享网络。
{
"share_network": {
"name": "net2",
"created_at": "2019-11-07T12:31:12.000000",
"updated_at": null,
"id": "d8ae6799-2567-4a89-aafb-fa4424350d2b",
"project_id": "16e1ab15c35a457e9c2b2aa189f544e1",
"description": null,
"security_service_update_support": true,
"status": "active",
"share_network_subnets": [
{
"id": "e4db03dc-6041-4c6a-a8f9-80bb4141a1eb",
"availability_zone": null,
"created_at": "2019-11-07T12:31:12.000000",
"updated_at": "2019-12-12T12:31:12.000000",
"segmentation_id": null,
"neutron_net_id": "62187648-6617-4509-a780-ffc973a7fe43",
"neutron_subnet_id": "2276888a-27c1-47c2-82a0-ea33050128b5",
"ip_version": 4,
"cidr": "172.24.5.0/24",
"network_type": "flat",
"mtu": 1500,
"gateway": "172.24.5.1"
}
]
}
}
更新一个共享网络。
请注意,如果共享网络被任何共享服务器使用,您只能更新 name 和 description 属性。
注意
自 API 版本 2.51 起,只能更新默认子网的 neutron_net_id 和 neutron_subnet_id。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
422 - 无法处理的实体 |
请求的实体格式无法被请求的资源以该方法处理。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_network_id |
路径 |
字符串 |
共享网络的 UUID。 |
name (可选) |
body |
字符串 |
用户定义的资源名称。该字段的值限制为 255 个字符。 |
description(可选) |
body |
字符串 |
用户定义的资源描述。该字段的值限制为 255 个字符。 |
neutron_net_id (可选) |
body |
字符串 |
在设置或更新使用 neutron 的共享网络子网时,neutron 网络的 UUID。指定一个 neutron 网络及其所属的 neutron 子网。 |
neutron_subnet_id (可选) |
body |
字符串 |
在设置或更新使用 neutron 的共享网络子网时,neutron 子网的 UUID。指定一个 neutron 网络及其所属的 neutron 子网。 |
请求示例¶
{
"share_network": {
"neutron_net_id": "998b42ee-2cee-4d36-8b95-67b5ca1f2109",
"neutron_subnet_id": "53482b62-2c84-4a53-b6ab-30d9d9800d06",
"name": "update my network",
"description": "i'm adding a description"
}
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
共享网络资源的 UUID。 |
project_id |
body |
字符串 |
拥有资源的项目的 ID。 |
neutron_net_id |
body |
字符串 |
neutron 网络 ID。 直到版本 2.50 可用 |
neutron_subnet_id |
body |
字符串 |
neutron 子网 ID。 直到版本 2.50 可用 |
network_type |
body |
字符串 |
网络类型。有效值为 直到版本 2.50 可用 |
segmentation_id |
body |
整数 |
分割 ID。此参数由网络提供程序自动设置。对于 VLAN,此值为 1 到 4094 之间的整数。对于 VXLAN,此值为 1 到 16777215 之间的整数。对于 GRE,此值为 1 到 4294967295 之间的整数。 直到版本 2.50 可用 |
cidr |
body |
字符串 |
用于分配网络的 IP 块,采用 CIDR 表示法。例如, 直到版本 2.50 可用 |
ip_version |
body |
整数 |
网络的 IP 版本。有效值为 直到版本 2.50 可用 |
name |
body |
字符串 |
资源的由用户定义的名称。 |
description |
body |
字符串 |
资源的由用户定义的描述。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
updated_at |
body |
字符串 |
资源上次在服务数据库中更新的日期和时间戳。如果资源在创建后从未更新,则此参数的值设置为 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
gateway |
body |
字符串 |
共享网络的网关。 新增于版本 2.18 直到版本 2.50 可用 |
mtu |
body |
整数 |
共享网络的 MTU 值。 新增于版本 2.20 直到版本 2.50 可用 |
security_service_update_support |
body |
布尔值 |
是否支持在共享网络正在使用时更新其安全性服务。 新增于版本 2.63 |
status |
body |
字符串 |
共享网络的的状态。可能的值为: 新增于版本 2.63 |
响应示例¶
{
"share_network": {
"name": "net_my",
"segmentation_id": null,
"created_at": "2015-09-04T14:54:25.000000",
"neutron_subnet_id": "53482b62-2c84-4a53-b6ab-30d9d9800d06",
"updated_at": "2015-09-07T08:02:53.512184",
"id": "713df749-aac0-4a54-af52-10f6c991e80c",
"neutron_net_id": "998b42ee-2cee-4d36-8b95-67b5ca1f2109",
"ip_version": "4",
"cidr": null,
"project_id": "16e1ab15c35a457e9c2b2aa189f544e1",
"network_type": null,
"description": "i'm adding a description",
"gateway": null,
"mtu": null,
"security_service_update_support": true,
"status": "active"
}
}
注意
从 API 版本 2.51 开始,共享网络可以跨越多个子网,因此在创建共享网络时,共享文件系统服务将自动创建一个新的子网并将其附加到共享网络。
{
"share_network":{
"id": "2b33cd3a-3049-4f36-a2fd-f7a211eb9202",
"name": "update my network",
"project_id": "79ed3be75dbb4d03afd687b758fcc2c0",
"created_at": "2019-11-12T17:18:10.000000",
"updated_at": null,
"description": "i'm adding a description",
"security_service_update_support": true,
"status": "active",
"share_network_subnets": [
{
"id": "687ab361-5c40-406e-945c-6326254782d4",
"availability_zone": null,
"created_at": "2019-11-13T17:18:10.000000",
"updated_at": "2019-11-13T17:18:56.000000",
"segmentation_id": null,
"neutron_net_id": "998b42ee-2cee-4d36-8b95-67b5ca1f2109",
"neutron_subnet_id": "53482b62-2c84-4a53-b6ab-30d9d9800d06",
"ip_version": 4,
"cidr": "172.24.5.0/24",
"network_type": "flat",
"mtu": 1500,
"gateway": "172.24.5.1"
}
]
}
}
删除一个共享网络。
先决条件
如果共享网络上有创建/导出的共享,则无法删除该共享网络。
如果共享网络上有创建的共享组,则无法删除该共享网络。
自 API 版本 2.51 起,如果共享网络上有多个共享网络子网,则无法删除该共享网络。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此资源有一个正在进行的操作,与此请求冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_network_id |
路径 |
字符串 |
共享网络的 UUID。 |
添加于版本 2.63。
替换共享网络中的安全服务。当前和新的安全服务必须具有相同的类型,并且必须将 security_service_update_support 功能设置为 True。
重要提示
在调用更新共享网络安全服务 API 之前,请确保通过 检查更新 API 检查共享网络内的共享后端是否可以容纳该操作。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此资源有一个正在进行的操作,与此请求冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_network_id |
路径 |
字符串 |
共享网络的 UUID。 |
current_security_service |
body |
字符串 |
当前附加到共享网络的的安全服务的 ID。 |
new_security_service |
body |
字符串 |
在共享网络安全服务更新操作后,必须附加到共享网络的的安全服务的 ID。 |
请求示例¶
{
"update_security_service": {
"current_service_id": "8971c5f6-52ec-4c53-bf6a-3fae38a9221e",
"new_service_id": "6cff8d33-f73b-483f-88af-e5429ad9daef"
}
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
资源导出到的共享网络 ID。 |
project_id |
body |
字符串 |
拥有资源的项目的 ID。 |
neutron_net_id |
body |
字符串 |
neutron 网络 ID。 直到版本 2.50 可用 |
neutron_subnet_id |
body |
字符串 |
neutron 子网 ID。 直到版本 2.50 可用 |
network_type |
body |
字符串 |
网络类型。有效值为 直到版本 2.50 可用 |
segmentation_id |
body |
整数 |
分割 ID。此参数由网络提供程序自动设置。对于 VLAN,此值为 1 到 4094 之间的整数。对于 VXLAN,此值为 1 到 16777215 之间的整数。对于 GRE,此值为 1 到 4294967295 之间的整数。 直到版本 2.50 可用 |
cidr |
body |
字符串 |
用于分配网络的 IP 块,采用 CIDR 表示法。例如, 直到版本 2.50 可用 |
ip_version |
body |
整数 |
网络的 IP 版本。有效值为 直到版本 2.50 可用 |
name |
body |
字符串 |
资源的由用户定义的名称。 |
description |
body |
字符串 |
资源的由用户定义的描述。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
updated_at |
body |
字符串 |
资源上次在服务数据库中更新的日期和时间戳。如果资源在创建后从未更新,则此参数的值设置为 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
gateway |
body |
字符串 |
共享网络的网关。 新增于版本 2.18 直到版本 2.50 可用 |
mtu |
body |
整数 |
共享网络的 MTU 值。 新增于版本 2.20 直到版本 2.50 可用 |
share_network_subnets |
body |
数组 |
与相关共享网络相关的共享网络子网列表。 新增于版本 2.51 |
security_service_update_support |
body |
布尔值 |
是否支持在共享网络正在使用时更新其安全性服务。 新增于版本 2.63 |
status |
body |
字符串 |
共享网络的的状态。可能的值为: 新增于版本 2.63 |
响应示例¶
{
"share_network": {
"id": "1e3f43b2-2290-4fb8-bdc3-fb741c336c2a",
"name": "my_share_network",
"project_id": "838f27f65c1d43baa37743c6884958ce",
"created_at": "2021-03-25T17: 48: 51.925433",
"updated_at": "2021-03-29T15: 06: 19.464021",
"description": null,
"share_network_subnets": [
{
"id": "14f7f4f6-b6b6-4b7e-a89c-1040700f3166",
"availability_zone": null,
"created_at": "2021-03-25T17: 48: 52.014525",
"updated_at": "2021-03-29T14: 50: 56.993391",
"segmentation_id": 1010,
"neutron_net_id": null,
"neutron_subnet_id": null,
"ip_version": 4,
"cidr": "10.0.0.0/24",
"network_type": "vlan",
"mtu": 1500,
"gateway": "10.0.0.1"
}
],
"status": "network_change",
"security_service_update_support": true
}
}
添加于版本 2.63。
检查是否可以替换正在使用的共享网络上的现有安全服务。在请求实际更新共享网络安全服务之前,必须触发此操作。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此资源有一个正在进行的操作,与此请求冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_network_id |
路径 |
字符串 |
共享网络的 UUID。 |
current_service_id |
body |
字符串 |
当前附加到共享网络的的安全服务的 ID。 |
new_service_id |
body |
字符串 |
在共享网络安全服务更新操作后,必须附加到共享网络的的安全服务的 ID。 |
reset_operation |
body |
布尔值 |
是否应忽略给定共享网络之前的检查结果,并再次检查操作的兼容性,以进行共享网络安全服务检查更新或添加操作。 |
请求示例¶
{
"update_security_service_check": {
"current_service_id": "8971c5f6-52ec-4c53-bf6a-3fae38a9221e",
"new_service_id": "6cff8d33-f73b-483f-88af-e5429ad9daef",
"reset_operation": false
}
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
operation |
body |
字符串 |
触发的检查操作的名称,为 |
current_security_service |
body |
字符串 |
当前附加到共享网络的的安全服务的 ID。 |
new_security_service |
body |
字符串 |
在共享网络安全服务更新操作后,必须附加到共享网络的的安全服务的 ID。 |
compatible |
body |
布尔值 |
指示检查操作的结果。如果为 |
requested_operation |
body |
对象 |
有关请求的操作的信息。 |
hosts_check_result |
body |
对象 |
(仅限管理员)。在安全服务更新检查操作中,从每个主机接收到的结果。 |
响应示例¶
{
"compatible": true,
"requested_operation": {
"operation": "update_security_service",
"current_security_service": "8971c5f6-52ec-4c53-bf6a-3fae38a9221e",
"new_security_service": "6cff8d33-f73b-483f-88af-e5429ad9daef"
},
"hosts_check_result": {
"ubuntu@dummy2": true
}
}
添加于版本 2.63。
检查是否可以将新的安全服务添加到正在使用的共享网络。在请求实际将安全服务添加到正在使用的共享网络之前,必须触发此操作。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此资源有一个正在进行的操作,与此请求冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_network_id |
路径 |
字符串 |
共享网络的 UUID。 |
security_service_id |
body |
字符串 |
当前附加到共享网络的的安全服务的 ID。 |
reset_operation |
body |
布尔值 |
是否应忽略给定共享网络之前的检查结果,并再次检查操作的兼容性,以进行共享网络安全服务检查更新或添加操作。 |
请求示例¶
{
"add_security_service_check": {
"security_service_id": "8971c5f6-52ec-4c53-bf6a-3fae38a9221e",
"reset_operation": false
}
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
operation |
body |
字符串 |
触发的检查操作的名称,为 |
current_security_service |
body |
字符串 |
当前附加到共享网络的的安全服务的 ID。 |
new_security_service |
body |
字符串 |
在共享网络安全服务更新操作后,必须附加到共享网络的的安全服务的 ID。 |
compatible |
body |
布尔值 |
指示检查操作的结果。如果为 |
requested_operation |
body |
对象 |
有关请求的操作的数据。 |
hosts_check_result |
body |
对象 |
(仅限管理员)。在安全服务更新检查操作中,从每个主机接收到的结果。 |
响应示例¶
{
"compatible": true,
"requested_operation": {
"operation": "add_security_service",
"current_security_service": null,
"new_security_service": "8971c5f6-52ec-4c53-bf6a-3fae38a9221e"
},
"hosts_check_result": {
"ubuntu@dummy2": true
}
}
添加于版本 2.63。
重置共享网络状态。
仅限管理员。显式更新共享网络的状态。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_network_id |
路径 |
字符串 |
共享网络的 UUID。 |
status |
body |
字符串 |
共享网络的的状态。可能的值为: 新增于版本 2.63 |
请求示例¶
{
"reset_status": {
"status": "active"
}
}
响应参数¶
响应中没有正文内容。
共享网络子网(自 API v2.51 起)¶
共享网络子网存储网络信息,用于创建和管理共享服务器。
您可以列出与共享网络相关的所有子网,还可以创建、删除和查看共享网络子网。
创建共享网络时,您可以选择性地指定关联的 neutron 网络、子网和可用区。如果您未指定可用区,则您创建的子网将具有空的可用区字段,并且此子网将被视为默认子网。共享文件系统服务将默认子网识别为跨所有可用存储可用区的子网。
注意
共享网络只能有一个默认子网。同样,共享网络不能在给定的可用区拥有多个子网。
有关共享网络子网支持的插件的更多信息,请参阅 Manila 网络插件。
共享网络子网资源具有这些属性
用于分配网络的无类别域间路由 (CIDR) 表示法中的 IP 块。
网络的 IP 版本。
网络类型,可以是
vlan、vxlan、gre或flat。如果网络使用分段,则为分段标识符。例如,VLAN、VXLAN 和 GRE 网络使用分段。
当
null时,可用区表示共享网络子网在共享文件系统服务已知的所有存储可用区中可用。
添加于版本 2.51。
列出给定共享网络中的所有共享网络子网。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_network_id |
路径 |
字符串 |
共享网络的 UUID。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
共享网络子网的 UUID。 |
availability_zone |
body |
字符串 |
共享网络子网所属的可用区的名称。 |
share_network_id |
body |
字符串 |
共享网络子网所属的共享网络的 UUID。 |
share_network_name |
body |
字符串 |
共享网络子网所属的共享网络的名称。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
updated_at |
body |
字符串 |
资源上次在服务数据库中更新的日期和时间戳。如果资源在创建后从未更新,则此参数的值设置为 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
segmentation_id |
body |
整数 |
分割 ID。此参数由网络提供程序自动设置。对于 VLAN,此值为 1 到 4094 之间的整数。对于 VXLAN,此值为 1 到 16777215 之间的整数。对于 GRE,此值为 1 到 4294967295 之间的整数。 |
neutron_net_id |
body |
字符串 |
neutron 网络 ID。 |
neutron_subnet_id |
body |
字符串 |
neutron 子网 ID。 |
ip_version |
body |
整数 |
网络的 IP 版本。有效值为 |
cidr |
body |
字符串 |
用于分配网络的 IP 块,采用 CIDR 表示法。例如, |
network_type |
body |
字符串 |
网络类型。有效值为 |
gateway |
body |
字符串 |
共享网络子网的网关。 |
mtu |
body |
字符串 |
共享网络子网的 MTU。 |
响应示例¶
{
"share_network_subnets": [
{
"id": "a7507a16-98bb-476c-ba90-487e4b4775fa",
"availability_zone": null,
"share_network_id": "8bc488d8-52f7-46cb-91b1-89dd92cae972",
"share_network_name": "sn_test",
"created_at": "2019-10-03T18:30:15.000000",
"segmentation_id": null,
"neutron_subnet_id": "dc0a37f0-81b0-4eb5-aad8-deffda5ff4ca",
"updated_at": null,
"neutron_net_id": "70bc8f03-525c-4334-a51b-261a024681c5",
"ip_version": 4,
"cidr": "10.190.5.0/24",
"network_type": "flat",
"mtu": 1500,
"gateway": "10.190.5.1"
},
{
"id": "8ebe964d-ac48-4e43-93ed-b1768148f8f4",
"availability_zone": "manila-zone-0",
"share_network_id": "8bc488d8-52f7-46cb-91b1-89dd92cae972",
"share_network_name": "sn_test",
"created_at": "2019-10-02T01:35:10.000000",
"segmentation_id": null,
"neutron_subnet_id": "2276888a-27c1-47c2-82a0-ea33050128b5",
"updated_at": null,
"neutron_net_id": "62187648-6617-4509-a780-ffc973a7fe43",
"ip_version": 4,
"cidr": "172.24.5.0/24",
"network_type": "flat",
"mtu": 1500,
"gateway": "172.24.5.1"
}
]
}
添加于版本 2.51。
显示共享网络子网的详细信息。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_network_id |
路径 |
字符串 |
共享网络的 UUID。 |
share_network_subnet_id |
路径 |
字符串 |
共享网络子网的 UUID。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
共享网络子网的 UUID。 |
neutron_net_id |
body |
字符串 |
neutron 网络 ID。 |
neutron_subnet_id |
body |
字符串 |
neutron 子网 ID。 |
network_type |
body |
字符串 |
网络类型。有效值为 |
segmentation_id |
body |
整数 |
分割 ID。此参数由网络提供程序自动设置。对于 VLAN,此值为 1 到 4094 之间的整数。对于 VXLAN,此值为 1 到 16777215 之间的整数。对于 GRE,此值为 1 到 4294967295 之间的整数。 |
cidr |
body |
字符串 |
用于分配网络的 IP 块,采用 CIDR 表示法。例如, |
ip_version |
body |
整数 |
网络的 IP 版本。有效值为 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
updated_at |
body |
字符串 |
资源上次在服务数据库中更新的日期和时间戳。如果资源在创建后从未更新,则此参数的值设置为 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
gateway |
body |
字符串 |
共享网络子网的网关。 |
mtu |
body |
字符串 |
共享网络子网的 MTU。 |
availability_zone |
body |
字符串 |
共享网络子网所属的可用区的名称。 |
share_network_id |
body |
字符串 |
共享网络子网所属的共享网络的 UUID。 |
share_network_name |
body |
字符串 |
共享网络子网所属的共享网络的名称。 |
响应示例¶
{
"share_network_subnet": {
"id": "e4db03dc-6041-4c6a-a8f9-80bb4141a1eb",
"availability_zone": null,
"share_network_id":"1324e7d3-fba8-45e4-bb37-b59c12eb06dc",
"share_network_name": "net_my1",
"created_at": "2019-10-01T17:49:43.000000",
"segmentation_id": null,
"neutron_subnet_id": "2276888a-27c1-47c2-82a0-ea33050128b5",
"updated_at": "2019-11-02T12:17:39.000000",
"neutron_net_id": "62187648-6617-4509-a780-ffc973a7fe43",
"ip_version": 4,
"cidr": "172.24.5.0/24",
"network_type": "flat",
"mtu": 1500,
"gateway": "172.24.5.1"
}
}
添加于版本 2.51。
在给定的共享网络中创建一个共享网络子网。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此资源有一个正在进行的操作,与此请求冲突。 |
500 - 内部服务器错误 |
服务出现问题,导致无法满足请求。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_network_id |
路径 |
字符串 |
共享网络的 UUID。 |
neutron_net_id (可选) |
body |
字符串 |
在设置或更新使用 neutron 的共享网络子网时,neutron 网络的 UUID。指定一个 neutron 网络及其所属的 neutron 子网。 |
neutron_subnet_id (可选) |
body |
字符串 |
在设置或更新使用 neutron 的共享网络子网时,neutron 子网的 UUID。指定一个 neutron 网络及其所属的 neutron 子网。 |
availability_zone(可选) |
body |
字符串 |
要在其中创建资源的可用区 UUID 或名称。 |
请求示例¶
{
"share-network-subnet": {
"neutron_net_id": "62187648-6617-4509-a780-ffc973a7fe43",
"neutron_subnet_id": "2276888a-27c1-47c2-82a0-ea33050128b5",
"availability_zone": "manila-zone-0"
}
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
共享网络子网的 UUID。 |
neutron_net_id |
body |
字符串 |
neutron 网络 ID。 |
neutron_subnet_id |
body |
字符串 |
neutron 子网 ID。 |
network_type |
body |
字符串 |
网络类型。有效值为 |
segmentation_id |
body |
整数 |
分割 ID。此参数由网络提供程序自动设置。对于 VLAN,此值为 1 到 4094 之间的整数。对于 VXLAN,此值为 1 到 16777215 之间的整数。对于 GRE,此值为 1 到 4294967295 之间的整数。 |
cidr |
body |
字符串 |
用于分配网络的 IP 块,采用 CIDR 表示法。例如, |
ip_version |
body |
整数 |
网络的 IP 版本。有效值为 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
updated_at |
body |
字符串 |
资源上次在服务数据库中更新的日期和时间戳。如果资源在创建后从未更新,则此参数的值设置为 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
gateway |
body |
字符串 |
共享网络子网的网关。 |
mtu |
body |
字符串 |
共享网络子网的 MTU。 |
availability_zone |
body |
字符串 |
共享网络子网所属的可用区的名称。 |
share_network_id |
body |
字符串 |
共享网络子网所属的共享网络的 UUID。 |
share_network_name |
body |
字符串 |
共享网络子网所属的共享网络的名称。 |
响应示例¶
{
"share_network_subnet": {
"id": "8ebe964d-ac48-4e43-93ed-b1768148f8f4",
"availability_zone": "manila-zone-0",
"share_network_id": "1324e7d3-fba8-45e4-bb37-b59c12eb06dc",
"share_network_name": "net_my1",
"created_at": "2019-10-03T02:25:12.000000",
"segmentation_id": null,
"neutron_subnet_id": "2276888a-27c1-47c2-82a0-ea33050128b5",
"updated_at": null,
"neutron_net_id": "62187648-6617-4509-a780-ffc973a7fe43",
"ip_version": null,
"cidr": null,
"network_type": null,
"mtu": null,
"gateway": null
}
}
添加于版本 2.51。
删除一个共享网络子网。
先决条件
如果共享网络上有创建/导出的共享,则无法删除该共享网络子网。
如果共享网络子网具有标志
is_auto_deletable设置为 False 的共享服务器,则无法删除该共享网络子网。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此资源有一个正在进行的操作,与此请求冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_network_id |
路径 |
字符串 |
共享网络的 UUID。 |
share_network_subnet_id |
路径 |
字符串 |
共享网络子网的 UUID。 |
共享网络子网元数据(自 API v2.78 起)¶
显示、设置、更新和取消设置共享网络子网元数据。
显示给定共享网络子网中的所有共享网络子网元数据。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_network_id |
路径 |
字符串 |
共享网络的 UUID。 |
share_network_subnet_id |
路径 |
字符串 |
共享网络子网的 UUID。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
metadata |
body |
对象 |
一个或多个元数据键值对,作为字符串的字典。 |
响应示例¶
{
"metadata": {
"project": "my_app",
"key": "value"
}
}
通过其键从共享网络子网的元数据中检索特定的元数据项。如果指定的键不代表有效的元数据项,则 API 将响应 HTTP 404。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_network_id |
路径 |
字符串 |
共享网络的 UUID。 |
share_network_subnet_id |
路径 |
字符串 |
共享网络子网的 UUID。 |
key |
body |
对象 |
元数据项的键。例如,如果现有资源上的元数据如下: |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
meta |
body |
对象 |
单个元数据键值对。 |
响应示例¶
{
"meta": {
"project": "my_app"
}
}
允许添加新的元数据项作为键值对。此 API 不会删除预先存在的元数据项。如果请求对象包含已存在的元数据项,则它们将使用请求对象中指定的新值进行更新。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_network_id |
路径 |
字符串 |
共享网络的 UUID。 |
share_network_subnet_id |
路径 |
字符串 |
共享网络子网的 UUID。 |
metadata |
body |
对象 |
一个或多个元数据键值对,以字符串字典的形式。例如, |
请求示例¶
{
"metadata": {
"key1": "value1"
}
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
metadata |
body |
对象 |
一个或多个元数据键值对,作为字符串的字典。 |
响应示例¶
{
"metadata": {
"aim": "changed_doc",
"project": "my_app",
"key1": "value1",
"new_metadata_key": "new_information",
"key": "value"
}
}
使用请求对象中指定的元数据(键值对)替换给定共享网络子网的元数据。共享网络子网的所有预先存在的元数据都将被删除并替换为提供的新元数据。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_network_id |
路径 |
字符串 |
共享网络的 UUID。 |
share_network_subnet_id |
路径 |
字符串 |
共享网络子网的 UUID。 |
metadata |
body |
对象 |
一个或多个元数据键值对,以字符串字典的形式。例如, |
请求示例¶
{
"metadata": {
"aim": "changed_doc",
"project": "my_app",
"new_metadata_key": "new_information"
}
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
metadata |
body |
对象 |
一个或多个元数据键值对,作为字符串的字典。 |
响应示例¶
{
"metadata": {
"aim": "changed_doc",
"project": "my_app",
"new_metadata_key": "new_information"
}
}
要删除给定共享网络子网上的所有现有元数据项,请求对象需要指定一个空的元数据对象
请求示例¶
{
"metadata": null
}
响应示例¶
{
"metadata": null
}
删除共享网络子网上的单个元数据项,通过其键标识。如果指定的键不代表有效的元数据项,API 将使用 HTTP 404 响应。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_network_id |
路径 |
字符串 |
共享网络的 UUID。 |
share_network_subnet_id |
路径 |
字符串 |
共享网络子网的 UUID。 |
key |
body |
对象 |
元数据项的键。例如,如果现有资源上的元数据如下: |
安全服务¶
您可以创建、更新、查看和删除安全服务。安全服务资源代表客户端的配置信息,用于身份验证和授权 (AuthN/AuthZ)。例如,共享服务器将是现有安全服务(如 LDAP、Kerberos 或 Microsoft Active Directory)的客户端。
共享文件系统服务支持三种安全服务类型
ldap. LDAP。kerberos. Kerberos。active_directory. Microsoft Active Directory。
您可以配置具有以下选项的安全服务
DNS IP 地址。某些驱动程序可能允许逗号分隔的多个地址列表,例如 NetApp ONTAP。
IP 地址或主机名。
域名。
ou,组织单元。(从 API 版本 2.44 开始可用)
用户名或组名。
如果指定了用户名,则用户的密码。
默认 AD 站点,可选(从 API 版本 2.76 开始可用)
安全服务资源还可以赋予用户定义的名称和描述。
列出所有安全服务。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
all_tenants (可选) |
查询 |
布尔值 |
(仅限管理员)。定义是否为所有项目列出请求的资源。设置为 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
status |
body |
字符串 |
安全服务状态。 |
类型 |
body |
字符串 |
安全服务类型。有效值为 |
id |
body |
字符串 |
安全性服务 ID。 |
name |
body |
字符串 |
资源的由用户定义的名称。 |
响应示例¶
{
"security_services": [
{
"status": "new",
"type": "kerberos",
"id": "3c829734-0679-4c17-9637-801da48c0d5f",
"name": "SecServ1"
},
{
"status": "new",
"type": "ldap",
"id": "5a1d3a12-34a7-4087-8983-50e9ed03509a",
"name": "SecServ2"
}
]
}
列出所有带有详细信息的安全服务。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
all_tenants (可选) |
查询 |
布尔值 |
(仅限管理员)。定义是否为所有项目列出请求的资源。设置为 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
status |
body |
字符串 |
安全服务状态。 |
id |
body |
字符串 |
安全性服务 ID。 |
project_id |
body |
字符串 |
拥有资源的项目的 ID。 |
类型 |
body |
字符串 |
安全服务类型。有效值为 |
name |
body |
字符串 |
资源的由用户定义的名称。 |
description |
body |
字符串 |
资源的由用户定义的描述。 |
dns_ip |
body |
字符串 |
项目网络内使用的 DNS IP 地址。 |
user |
body |
字符串 |
项目使用的安全服务用户名或组名。 |
password |
body |
字符串 |
如果指定了 |
domain |
body |
字符串 |
安全服务域名。 |
ou |
body |
字符串 |
安全服务的 ou。 新增于版本 2.44 |
server |
body |
字符串 |
安全服务主机名或 IP 地址。 |
default_ad_site |
body |
字符串 |
安全服务的默认 AD 站点。 新增于版本 2.76 |
updated_at |
body |
字符串 |
资源上次在服务数据库中更新的日期和时间戳。如果资源在创建后从未更新,则此参数的值设置为 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
响应示例¶
{
"security_services": [
{
"status": "new",
"domain": null,
"ou": null,
"project_id": "16e1ab15c35a457e9c2b2aa189f544e1",
"name": "SecServ1",
"created_at": "2015-09-07T12:19:10.000000",
"description": "Creating my first Security Service",
"updated_at": null,
"server": null,
"default_ad_site": null,
"dns_ip": "10.0.0.0/24",
"user": "demo",
"password": "supersecret",
"type": "kerberos",
"id": "3c829734-0679-4c17-9637-801da48c0d5f",
"share_networks": []
},
{
"status": "new",
"domain": null,
"ou": null,
"project_id": "16e1ab15c35a457e9c2b2aa189f544e1",
"name": "SecServ2",
"created_at": "2015-09-07T12:25:03.000000",
"description": "Creating my second Security Service",
"updated_at": null,
"server": null,
"default_ad_site": null,
"dns_ip": "10.0.0.0/24",
"user": null,
"password": null,
"type": "ldap",
"id": "5a1d3a12-34a7-4087-8983-50e9ed03509a",
"share_networks": []
}
]
}
显示安全服务的详细信息。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
security_service_id |
路径 |
字符串 |
安全服务的 UUID。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
status |
body |
字符串 |
安全服务状态。 |
id |
body |
字符串 |
安全性服务 ID。 |
project_id |
body |
字符串 |
拥有资源的项目的 ID。 |
类型 |
body |
字符串 |
安全服务类型。有效值为 |
name |
body |
字符串 |
资源的由用户定义的名称。 |
description |
body |
字符串 |
资源的由用户定义的描述。 |
dns_ip |
body |
字符串 |
项目网络内使用的 DNS IP 地址。 |
user |
body |
字符串 |
项目使用的安全服务用户名或组名。 |
password |
body |
字符串 |
如果指定了 |
domain |
body |
字符串 |
安全服务域名。 |
ou |
body |
字符串 |
安全服务的 ou。 新增于版本 2.44 |
server |
body |
字符串 |
安全服务主机名或 IP 地址。 |
default_ad_site |
body |
字符串 |
安全服务的默认 AD 站点。 新增于版本 2.76 |
updated_at |
body |
字符串 |
资源上次在服务数据库中更新的日期和时间戳。如果资源在创建后从未更新,则此参数的值设置为 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
响应示例¶
{
"security_service": {
"status": "new",
"domain": null,
"ou": null,
"project_id": "16e1ab15c35a457e9c2b2aa189f544e1",
"name": "SecServ1",
"created_at": "2015-09-07T12:19:10.000000",
"updated_at": null,
"server": null,
"default_ad_site": null,
"dns_ip": "10.0.0.0/24",
"user": "demo",
"password": "supersecret",
"type": "kerberos",
"id": "3c829734-0679-4c17-9637-801da48c0d5f",
"description": "Creating my first Security Service"
}
}
创建安全服务。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
422 - 无法处理的实体 |
请求的实体格式无法被请求的资源以该方法处理。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
类型 |
body |
字符串 |
安全服务类型。有效值为 |
name (可选) |
body |
字符串 |
用户定义的资源名称。该字段的值限制为 255 个字符。 |
description(可选) |
body |
字符串 |
用户定义的资源描述。该字段的值限制为 255 个字符。 |
dns_ip (可选) |
body |
字符串 |
项目网络内使用的 DNS IP 地址。 |
user (可选) |
body |
字符串 |
项目使用的安全服务用户名或组名。 |
password (可选) |
body |
字符串 |
如果指定了 |
domain (可选) |
body |
字符串 |
安全服务域名。 |
ou (可选) |
body |
字符串 |
安全服务的 ou。可以添加组织单元来指定共享最终存储的位置。 新增于版本 2.44 |
server (可选) |
body |
字符串 |
安全服务主机名或 IP 地址。 |
default_ad_site (可选) |
body |
字符串 |
安全服务的默认 AD 站点。 新增于版本 2.76 |
请求示例¶
{
"security_service": {
"description": "Creating my first Security Service",
"dns_ip": "10.0.0.0/24",
"user": "demo",
"password": "***",
"type": "kerberos",
"name": "SecServ1"
}
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
status |
body |
字符串 |
安全服务状态。 |
id |
body |
字符串 |
安全性服务 ID。 |
project_id |
body |
字符串 |
拥有资源的项目的 ID。 |
类型 |
body |
字符串 |
安全服务类型。有效值为 |
name |
body |
字符串 |
资源的由用户定义的名称。 |
description |
body |
字符串 |
资源的由用户定义的描述。 |
dns_ip |
body |
字符串 |
项目网络内使用的 DNS IP 地址。 |
user |
body |
字符串 |
项目使用的安全服务用户名或组名。 |
password |
body |
字符串 |
如果指定了 |
domain |
body |
字符串 |
安全服务域名。 |
ou |
body |
字符串 |
安全服务的 ou。 新增于版本 2.44 |
server |
body |
字符串 |
安全服务主机名或 IP 地址。 |
default_ad_site |
body |
字符串 |
安全服务的默认 AD 站点。 新增于版本 2.76 |
updated_at |
body |
字符串 |
资源上次在服务数据库中更新的日期和时间戳。如果资源在创建后从未更新,则此参数的值设置为 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
响应示例¶
{
"security_service": {
"status": "new",
"domain": null,
"ou": null,
"project_id": "16e1ab15c35a457e9c2b2aa189f544e1",
"name": "SecServ1",
"created_at": "2015-09-07T12:19:10.695211",
"updated_at": null,
"server": null,
"default_ad_site": null,
"dns_ip": "10.0.0.0/24",
"user": "demo",
"password": "supersecret",
"type": "kerberos",
"id": "3c829734-0679-4c17-9637-801da48c0d5f",
"description": "Creating my first Security Service"
}
}
更新安全服务。
如果安全服务处于 active 状态,则只能更新 name 和 description 属性。处于 active 状态的安全服务已附加到具有关联共享服务器的共享网络。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
422 - 无法处理的实体 |
请求的实体格式无法被请求的资源以该方法处理。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
security_service_id |
路径 |
字符串 |
安全服务的 UUID。 |
类型 |
body |
字符串 |
安全服务类型。有效值为 |
name (可选) |
body |
字符串 |
用户定义的资源名称。该字段的值限制为 255 个字符。 |
description(可选) |
body |
字符串 |
用户定义的资源描述。该字段的值限制为 255 个字符。 |
dns_ip (可选) |
body |
字符串 |
项目网络内使用的 DNS IP 地址。 |
user (可选) |
body |
字符串 |
项目使用的安全服务用户名或组名。 |
password (可选) |
body |
字符串 |
如果指定了 |
domain (可选) |
body |
字符串 |
安全服务域名。 |
ou (可选) |
body |
字符串 |
安全服务的 ou。可以添加组织单元来指定共享最终存储的位置。 新增于版本 2.44 |
server (可选) |
body |
字符串 |
安全服务主机名或 IP 地址。 |
default_ad_site (可选) |
body |
字符串 |
安全服务的默认 AD 站点。 新增于版本 2.76 |
请求示例¶
{
"security_service": {
"domain": "my_domain",
"ou": "CN=Computers",
"password": "***",
"user": "new_user",
"description": "Adding a description"
}
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
status |
body |
字符串 |
安全服务状态。 |
id |
body |
字符串 |
安全性服务 ID。 |
project_id |
body |
字符串 |
拥有资源的项目的 ID。 |
类型 |
body |
字符串 |
安全服务类型。有效值为 |
name |
body |
字符串 |
资源的由用户定义的名称。 |
description |
body |
字符串 |
资源的由用户定义的描述。 |
dns_ip |
body |
字符串 |
项目网络内使用的 DNS IP 地址。 |
user |
body |
字符串 |
项目使用的安全服务用户名或组名。 |
password |
body |
字符串 |
如果指定了 |
domain |
body |
字符串 |
安全服务域名。 |
ou |
body |
字符串 |
安全服务的 ou。 新增于版本 2.44 |
server |
body |
字符串 |
安全服务主机名或 IP 地址。 |
default_ad_site |
body |
字符串 |
安全服务的默认 AD 站点。 新增于版本 2.76 |
updated_at |
body |
字符串 |
资源上次在服务数据库中更新的日期和时间戳。如果资源在创建后从未更新,则此参数的值设置为 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
响应示例¶
{
"security_service": {
"status": "new",
"domain": "my_domain",
"ou": "CN=Computers",
"project_id": "16e1ab15c35a457e9c2b2aa189f544e1",
"name": "SecServ1",
"created_at": "2015-09-07T12:19:10.000000",
"updated_at": "2015-09-07T12:47:21.858737",
"server": null,
"dns_ip": "10.0.0.0/24",
"user": "new_user",
"password": "pass",
"type": "kerberos",
"id": "3c829734-0679-4c17-9637-801da48c0d5f",
"description": "Adding a description"
}
}
删除安全服务。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
security_service_id |
路径 |
字符串 |
安全服务的 UUID。 |
共享服务器¶
共享服务器由多租户后端驱动程序创建,这些驱动程序托管共享。例如,使用 generic 驱动程序,共享托管在计算虚拟机上。
管理员可以对共享服务器执行读取和删除操作。只有在不包含依赖共享的情况下,管理员才能删除活动共享服务器。如果管理员删除共享服务器,共享文件系统服务将在后续创建共享请求响应中创建一个共享服务器。
管理员可以使用 policy.yaml 文件将共享服务器操作的权限授予其他角色。
共享服务器的状态指示其当前状态。成功设置共享服务器后,其状态为 active。如果在设置过程中发生错误,例如服务器数据无效,其状态为 error。
可能的共享服务器状态是
共享服务器状态
状态 |
描述 |
|
共享服务器已成功设置。 |
|
设置或删除共享服务器失败。 |
|
共享服务器没有依赖共享,正在被删除。 |
|
共享服务器正在后端使用数据库中的数据创建。 |
列出所有共享服务器。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
共享服务器的 UUID。 |
project_id |
body |
字符串 |
拥有资源的项目的 ID。 |
status |
body |
字符串 |
共享服务器状态,为 |
share_network_id |
body |
字符串 |
与共享服务器关联的共享网络的 UUID。 |
share_network_name |
body |
字符串 |
与共享服务器关联的共享网络的名称。 |
host |
body |
字符串 |
共享服务器的主机名或 IP 地址。 |
updated_at |
body |
字符串 |
资源上次在服务数据库中更新的日期和时间戳。如果资源在创建后从未更新,则此参数的值设置为 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
share_network_subnet_id |
body |
字符串 |
共享服务器所关联的共享网络子网的 UUID。 新增于版本 2.51 |
security_service_update_support |
body |
布尔值 |
是否支持在创建后更新共享服务器的安全服务。 新增于版本 2.63 |
响应示例¶
{
"share_servers": [
{
"status": "active",
"updated_at": "2015-09-07T08:52:15.000000",
"share_network_id": "713df749-aac0-4a54-af52-10f6c991e80c",
"host": "manila2@generic1",
"share_network_name": "net_my",
"share_network_subnet_id": "f53252f0-c2a9-4d7c-af41-1c6f3cfb3af3",
"project_id": "16e1ab15c35a457e9c2b2aa189f544e1",
"id": "ba11930a-bf1a-4aa7-bae4-a8dfbaa3cc73",
"security_service_update_support": true
}
]
}
显示共享服务器的详细信息。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_server_id |
body |
字符串 |
共享服务器的 UUID。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
共享服务器的 UUID。 |
project_id |
body |
字符串 |
拥有资源的项目的 ID。 |
status |
body |
字符串 |
共享服务器状态,为 |
backend_details |
body |
对象 |
服务器的后端详细信息。每个后端可以存储其需要的任何键值信息。例如,通用后端驱动程序可能会存储路由器 ID。 |
share_network_id |
body |
字符串 |
与共享服务器关联的共享网络的 UUID。 |
share_network_name |
body |
字符串 |
与共享服务器关联的共享网络的名称。 |
host |
body |
字符串 |
共享服务器的主机名或 IP 地址。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
updated_at |
body |
字符串 |
资源上次在服务数据库中更新的日期和时间戳。如果资源在创建后从未更新,则此参数的值设置为 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
identifier |
body |
字符串 |
后端存储系统中共享服务器的标识符。 2.49 版本新增 |
is_auto_deletable |
body |
布尔值 |
定义共享服务器是否可以由服务自动删除。可以通过配置自动删除共享服务器。但是,曾经从服务管理中删除共享的共享服务器不能由服务自动删除。 2.49 版本新增 |
share_network_subnet_id |
body |
字符串 |
共享服务器所关联的共享网络子网的 UUID。 新增于版本 2.51 |
security_service_update_support |
body |
布尔值 |
共享网络或服务器是否支持安全服务更新。 新增于版本 2.63 |
encryption_key_ref |
body |
对象 |
加密密钥引用是有效的 barbican secret UUID,存储驱动程序将使用它来获取加密密钥。 |
响应示例¶
{
"share_server": {
"status": "active",
"backend_details": {
"username": "manila",
"router_id": "4b62ce91-56c5-45c1-b0ef-8cbbe5dd34f4",
"pk_path": "/opt/stack/.ssh/id_rsa",
"subnet_id": "16e99ad6-5191-461c-9f34-ac84a39c3adb",
"ip": "10.254.0.3",
"instance_id": "75f2f282-af65-49ba-a7b1-525705b1bf1a",
"public_address": "10.254.0.3",
"service_port_id": "8ff21760-961e-4b83-a032-03fd559bb1d3"
},
"created_at": "2015-09-07T08:37:19.000000",
"updated_at": "2015-09-07T08:52:15.000000",
"share_network_name": "net_my",
"host": "manila2@generic1",
"share_network_id": "713df749-aac0-4a54-af52-10f6c991e80c",
"share_network_subnet_id": "f53252f0-c2a9-4d7c-af41-1c6f3cfb3af3",
"project_id": "16e1ab15c35a457e9c2b2aa189f544e1",
"id": "ba11930a-bf1a-4aa7-bae4-a8dfbaa3cc73",
"security_service_update_support": true
}
}
显示共享服务器的后端详细信息。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_server_id |
body |
字符串 |
共享服务器的 UUID。 |
响应参数¶
响应参数可能因使用的后端而异。每个后端可以存储其需要的任何键值信息。例如,通用后端驱动程序可能会存储路由器 ID。
响应示例¶
{
"details": {
"username": "manila",
"router_id": "4b62ce91-56c5-45c1-b0ef-8cbbe5dd34f4",
"pk_path": "/opt/stack/.ssh/id_rsa",
"subnet_id": "16e99ad6-5191-461c-9f34-ac84a39c3adb",
"ip": "10.254.0.3",
"instance_id": "75f2f282-af65-49ba-a7b1-525705b1bf1a",
"public_address": "10.254.0.3",
"service_port_id": "8ff21760-961e-4b83-a032-03fd559bb1d3"
}
}
删除共享服务器。
只有在不包含依赖共享的情况下,管理员才能删除活动共享服务器。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此资源有一个正在进行的操作,与此请求冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_server_id |
body |
字符串 |
共享服务器的 UUID。 |
新增于版本 2.49。
管理共享服务器
如果后端驱动程序以 driver_handles_share_servers=True 模式运行,管理员可以引入预先存在的共享服务器。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
422 - 无法处理的实体 |
请求的实体格式无法被请求的资源以该方法处理。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
host |
body |
字符串 |
目标后端的宿主,格式为:
|
identifier |
body |
字符串 |
后端存储系统中共享服务器的标识符。 |
share_network |
body |
字符串 |
共享服务器将与之关联的共享网络的 UUID。 |
driver_options(可选) |
body |
对象 |
一组键值对,以字符串字典的形式,描述驱动程序选项。驱动程序选项的详细信息应从 相应的共享驱动程序文档 中获取。 |
share_network_subnet_id (可选) |
body |
字符串 |
共享服务器将与之关联的共享网络子网的 UUID。如果未指定,将使用共享网络的默认子网 UUID。 新增于版本 2.51 |
请求示例¶
{
"share_server": {
"host": "myhost@mybackend",
"share_network_id": "78cef6eb-648a-4bbd-9ae1-d2eaaf594cc0",
"share_network_subnet_id": "f53252f0-c2a9-4d7c-af41-1c6f3cfb3af3",
"identifier": "4ef3507e-0513-4140-beda-f619ab30d424",
"driver_options": {
"opt1": "opt1_value"
}
}
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
共享服务器的 UUID。 |
project_id |
body |
字符串 |
拥有资源的项目的 ID。 |
updated_at |
body |
字符串 |
资源上次在服务数据库中更新的日期和时间戳。如果资源在创建后从未更新,则此参数的值设置为 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
status |
body |
字符串 |
共享服务器状态,可以是 |
host |
body |
字符串 |
目标后端的宿主,格式为:
|
share_network_name |
body |
字符串 |
与共享服务器关联的共享网络的名称。 |
share_network_id |
body |
字符串 |
与共享服务器关联的共享网络的 UUID。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
backend_details |
body |
对象 |
服务器的后端详细信息。每个后端可以存储其需要的任何键值信息。例如,通用后端驱动程序可能会存储路由器 ID。 |
is_auto_deletable |
body |
布尔值 |
定义共享服务器是否可以由服务自动删除。可以通过配置自动删除共享服务器。但是,曾经从服务管理中删除共享的共享服务器不能由服务自动删除。 |
identifier |
body |
字符串 |
后端存储系统中共享服务器的标识符。 |
share_network_subnet_id |
body |
字符串 |
共享服务器所关联的共享网络子网的 UUID。 新增于版本 2.51 |
security_service_update_support |
body |
布尔值 |
共享网络或服务器是否支持安全服务更新。 新增于版本 2.63 |
encryption_key_ref |
body |
对象 |
加密密钥引用是有效的 barbican secret UUID,存储驱动程序将使用它来获取加密密钥。 |
响应示例¶
{
"share_server": {
"id": "dd218d97-6b16-45b7-9b23-19681ccdec3a",
"project_id": "5b23075b4b504261a5987b18588f86cf",
"updated_at": null,
"status": "manage_starting",
"host": "myhost@mybackend",
"share_network_name": "share-net-name",
"share_network_id": "78cef6eb-648a-4bbd-9ae1-d2eaaf594cc0",
"share_network_subnet_id": "f53252f0-c2a9-4d7c-af41-1c6f3cfb3af3",
"created_at": "2019-03-06T11:59:41.000000",
"backend_details": {},
"is_auto_deletable": false,
"identifier": "4ef3507e-0513-4140-beda-f619ab30d424",
"security_service_update_support": true
}
}
新增于版本 2.49。
取消管理共享服务器
如果服务不了解任何关联的共享,管理员可以从共享文件系统服务的管理中删除共享服务器。共享服务器不会在后端被拆除。
先决条件
共享服务器状态必须是
error、manage_error、active或unmanage_error。
响应码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
404 - Not Found |
找不到请求的资源。 |
请求参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_server_id |
body |
字符串 |
共享服务器的 UUID。 |
force (可选) |
body |
布尔值 |
指示是否允许强制更新已使用的配额,以及请求值是否超过配置的配额。设置为 |
unmanage |
body |
对象 |
要取消管理共享服务器,请将此值设置为 |
请求示例¶
{
"unmanage": {
"force": "false"
}
}
响应参数¶
响应中没有正文内容。
新增于版本 2.49。
重置共享服务器状态
仅限管理员。显式更新共享服务器的状态。
使用 policy.yaml 文件将此操作的权限授予其他角色。
响应码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
404 - Not Found |
找不到请求的资源。 |
请求参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_server_id |
body |
字符串 |
共享服务器的 UUID。 |
status |
body |
字符串 |
共享服务器状态,可以是 |
请求示例¶
{
"reset_status": {
"status": "active"
}
}
响应参数¶
响应中没有正文内容。
共享实例(自 API v2.3 起)¶
共享实例是共享的内部表示形式。已复制或正在迁移的共享在物理上存储在多个位置。共享文件系统服务中的每个这些单独的位置都称为“实例”。最终用户无需关心这种内部表示形式。作为管理员,您可以列出、显示共享实例的信息、显式设置共享实例的状态以及强制删除共享实例。使用 policy.yaml 文件将这些操作的权限授予其他角色。
版本 2.3 中新增。
列出所有共享实例。
响应码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
export_location_id (可选) |
查询 |
字符串 |
可用于过滤共享或共享实例的导出位置 UUID。 版本 2.35 中新增 |
export_location_path (可选) |
查询 |
字符串 |
可用于过滤共享或共享实例的导出位置路径。 版本 2.35 中新增 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
status |
body |
字符串 |
共享或共享实例的状态。可能的值在上方部分中列出。 |
access_rules_status |
body |
字符串 |
共享实例访问规则状态。有效值为 版本 2.10 中新增 |
share_id |
body |
字符串 |
共享实例所属的共享的 UUID。 |
progress |
body |
字符串 |
共享创建的进度。 版本 2.54 中新增 |
availability_zone |
body |
字符串 |
共享所在的可用区的名称。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
updated_at |
body |
字符串 |
资源上次在服务数据库中更新的日期和时间戳。如果资源在创建后从未更新,则此参数的值设置为 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
replica_state |
body |
字符串 |
共享副本状态。仅在使用了复制时才具有设置值。可能的取值包括: 版本 2.11 中新增 |
export_location |
body |
字符串 |
导出位置。对于较新的 API 版本,它在单独的 API 中可用。请参阅部分 共享导出位置 和 共享实例导出位置。 直到版本 2.8 可用 |
export_locations |
body |
数组 |
导出位置列表。例如,当共享服务器具有多个网络接口时,它可以具有多个导出位置。对于较新的 API 版本,它在单独的 API 中可用。请参阅部分 共享导出位置 和 共享实例导出位置。 直到版本 2.8 可用 |
cast_rules_to_readonly |
body |
布尔值 |
如果共享实例的 2.30 版本新增 |
share_network_id |
body |
字符串 |
资源导出到的共享网络 ID。 |
share_server_id |
body |
字符串 |
共享服务器的 UUID。 |
host |
body |
字符串 |
资源所在的服务的后端宿主机名。此参数始终存在于响应模式中,但对于非管理员用户,该值可能表示为“null”。 |
access_rules_status |
body |
字符串 |
共享实例访问规则状态。有效值为 版本 2.10 中新增 |
share_type_id |
路径 |
字符串 |
共享类型的 UUID。 |
id |
body |
字符串 |
共享实例 ID。 |
响应示例¶
{
"share_instances": [
{
"status": "error",
"progress": null,
"share_id": "406ea93b-32e9-4907-a117-148b3945749f",
"availability_zone": "nova",
"replica_state": null,
"created_at": "2015-09-07T08:41:20.000000",
"updated_at": "2015-09-07T08:43:10.000000",
"share_network_id": "713df749-aac0-4a54-af52-10f6c991e80c",
"cast_rules_to_readonly": false,
"share_server_id": "ba11930a-bf1a-4aa7-bae4-a8dfbaa3cc73",
"host": "manila2@generic1#GENERIC1",
"access_rules_status": "active",
"share_type_id": "78dee8a9-1ee6-4a29-9081-14e6596fbb96",
"id": "081f7030-c54f-42f5-98ee-93a37393e0f2"
},
{
"status": "available",
"progress": "100%",
"share_id": "d94a8548-2079-4be0-b21c-0a887acd31ca",
"availability_zone": "nova",
"replica_state": null,
"created_at": "2015-09-07T08:51:34.000000",
"updated_at": "2015-09-10T02:01:22.000000",
"share_network_id": "713df749-aac0-4a54-af52-10f6c991e80c",
"cast_rules_to_readonly": false,
"share_server_id": "ba11930a-bf1a-4aa7-bae4-a8dfbaa3cc73",
"host": "manila2@generic1#GENERIC1",
"access_rules_status": "active",
"share_type_id": "78dee8a9-1ee6-4a29-9081-14e6596fbb96",
"id": "75559a8b-c90c-42a7-bda2-edbe86acfb7b"
},
{
"status": "creating_from_snapshot",
"progress": "30%",
"share_id": "9bb15af4-27e5-4174-ae15-dc549d4a3b51",
"availability_zone": "nova",
"replica_state": null,
"created_at": "2015-09-07T09:01:15.000000",
"updated_at": "2015-09-07T09:02:30.000000",
"share_network_id": "713df749-aac0-4a54-af52-10f6c991e80c",
"cast_rules_to_readonly": false,
"share_server_id": "ba11930a-bf1a-4aa7-bae4-a8dfbaa3cc73",
"host": "manila2@generic1#GENERIC1",
"access_rules_status": "active",
"share_type_id": "78dee8a9-1ee6-4a29-9081-14e6596fbb96",
"id": "48155648-2fd3-480d-b02b-44b995c24bab"
}
]
}
版本 2.3 中新增。
显示共享实例的详细信息。
响应码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_instance_id |
路径 |
字符串 |
共享实例的 UUID。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
status |
body |
字符串 |
共享或共享实例的状态。可能的值在上方部分中列出。 |
access_rules_status |
body |
字符串 |
共享实例访问规则状态。有效值为 版本 2.10 中新增 |
share_id |
body |
字符串 |
共享实例所属的共享的 UUID。 |
progress |
body |
字符串 |
共享创建的进度。 版本 2.54 中新增 |
availability_zone |
body |
字符串 |
共享所在的可用区的名称。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
updated_at |
body |
字符串 |
资源上次在服务数据库中更新的日期和时间戳。如果资源在创建后从未更新,则此参数的值设置为 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
replica_state |
body |
字符串 |
共享副本状态。仅在使用了复制时才具有设置值。可能的取值包括: 版本 2.11 中新增 |
export_location |
body |
字符串 |
导出位置。对于较新的 API 版本,它在单独的 API 中可用。请参阅部分 共享导出位置 和 共享实例导出位置。 直到版本 2.8 可用 |
export_locations |
body |
数组 |
导出位置列表。例如,当共享服务器具有多个网络接口时,它可以具有多个导出位置。对于较新的 API 版本,它在单独的 API 中可用。请参阅部分 共享导出位置 和 共享实例导出位置。 直到版本 2.8 可用 |
cast_rules_to_readonly |
body |
布尔值 |
如果共享实例的 2.30 版本新增 |
share_network_id |
body |
字符串 |
资源导出到的共享网络 ID。 |
share_server_id |
body |
字符串 |
共享服务器的 UUID。 |
host |
body |
字符串 |
资源所在的服务的后端宿主机名。此参数始终存在于响应模式中,但对于非管理员用户,该值可能表示为“null”。 |
id |
body |
字符串 |
共享实例 ID。 |
响应示例¶
{
"share_instance": {
"status": "available",
"progress": "100%",
"share_id": "d94a8548-2079-4be0-b21c-0a887acd31ca",
"availability_zone": "nova",
"replica_state": null,
"created_at": "2015-09-07T08:51:34.000000",
"updated_at": "2015-09-07T08:52:20.000000",
"cast_rules_to_readonly": false,
"share_network_id": "713df749-aac0-4a54-af52-10f6c991e80c",
"share_server_id": "ba11930a-bf1a-4aa7-bae4-a8dfbaa3cc73",
"host": "manila2@generic1#GENERIC1",
"access_rules_status": "active",
"id": "75559a8b-c90c-42a7-bda2-edbe86acfb7b"
}
}
版本 2.3 中新增。
仅限管理员。显式更新共享实例的状态。
使用 policy.yaml 文件将此操作的权限授予其他角色。
响应码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_instance_id |
路径 |
字符串 |
共享实例的 UUID。 |
status |
body |
字符串 |
要设置的共享或共享实例状态。可能的值列在 上面的部分 中。 |
请求示例¶
{
"reset_status": {
"status": "available"
}
}
版本 2.3 中新增。
仅限管理员。强制删除共享实例。
使用 policy.yaml 文件将此操作的权限授予其他角色。
响应码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_instance_id |
路径 |
字符串 |
共享实例的 UUID。 |
force_delete |
body |
字符串 |
要强制删除共享实例,请将此值设置为 |
请求示例¶
{
"force_delete": null
}
共享实例导出位置(自 API v2.9 起)¶
用于查看共享实例导出位置的一组 API。
默认情况下,这些 API 仅限管理员使用。使用 policy.yaml 文件将这些操作的权限授予其他角色。
列出共享实例的所有导出位置。
显示属于共享实例的导出位置的详细信息。
2.9 版本新增。
响应码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_instance_id |
路径 |
字符串 |
共享实例的 UUID。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
共享导出位置 UUID。 |
share_instance_id |
body |
字符串 |
此导出位置所属的共享实例的 UUID。此参数仅对具有“管理员”角色的用户可用,并且不能通过 policy.yaml 控制。 |
路径 |
body |
字符串 |
用于挂载操作的导出位置路径。 |
is_admin_only |
body |
布尔值 |
定义导出位置的目的。如果设置为 |
preferred |
body |
布尔值 |
驱动程序可以使用此字段来识别最有效的导出位置,并且客户端应优先使用这些导出位置。默认设置为 2.14 版本新增 |
响应示例¶
{
"export_locations": [
{
"path": "10.254.0.3:/shares/share-e1c2d35e-fe67-4028-ad7a-45f668732b1d",
"share_instance_id": "e1c2d35e-fe67-4028-ad7a-45f668732b1d",
"is_admin_only": false,
"id": "b6bd76ce-12a2-42a9-a30a-8a43b503867d",
"preferred": false
},
{
"path": "10.0.0.3:/shares/share-e1c2d35e-fe67-4028-ad7a-45f668732b1d",
"share_instance_id": "e1c2d35e-fe67-4028-ad7a-45f668732b1d",
"is_admin_only": true,
"id": "6921e862-88bc-49a5-a2df-efeed9acd583",
"preferred": false
}
]
}
2.9 版本新增。
响应码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_instance_id |
路径 |
字符串 |
共享实例的 UUID。 |
export_location_id |
路径 |
字符串 |
导出位置的 UUID。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
共享导出位置 UUID。 |
share_instance_id |
body |
字符串 |
此导出位置所属的共享实例的 UUID。此参数仅对具有“管理员”角色的用户可用,并且不能通过 policy.yaml 控制。 |
路径 |
body |
字符串 |
用于挂载操作的导出位置路径。 |
is_admin_only |
body |
布尔值 |
定义导出位置的目的。如果设置为 |
preferred |
body |
布尔值 |
驱动程序可以使用此字段来识别最有效的导出位置,并且客户端应优先使用这些导出位置。默认设置为 2.14 版本新增 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
updated_at |
body |
字符串 |
资源上次在服务数据库中更新的日期和时间戳。如果资源在创建后从未更新,则此参数的值设置为 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
响应示例¶
{
"export_location": {
"created_at": "2016-03-24T14:20:47.000000",
"updated_at": "2016-03-24T14:20:47.000000",
"preferred": false,
"is_admin_only": true,
"share_instance_id": "e1c2d35e-fe67-4028-ad7a-45f668732b1d",
"path": "10.0.0.3:/shares/share-e1c2d35e-fe67-4028-ad7a-45f668732b1d",
"id": "6921e862-88bc-49a5-a2df-efeed9acd583"
}
}
共享类型¶
共享类型为调度器服务提供提示,以帮助放置新的工作负载。它包含额外的规范,这些规范可以匹配后端存储功能,也可以为共享文件系统服务提供有关请求的工作负载的说明。共享类型的工作方式与块存储卷类型的工作方式相同。有关更多信息,请参阅 共享类型的管理参考。
您可以创建对所有项目和云中的用户可见的公共共享类型,或者使其私有并控制哪些项目可以访问它们。
当您发出创建共享类型请求时,您可以提交带有 share_type 或 volume_type 对象的请求体。
重要提示
使用 volume_type 对象已被弃用但仍受支持。建议您在创建共享类型时使用 share_type 对象。
无论您在请求中包含哪种对象类型,API 都会创建 volume_type 对象和 share_type 对象。这两个对象具有相同的 ID。当您发出列出共享类型请求时,响应会显示 share_type 和 volume_type 对象。
您可以将共享类型设置为公共或私有。默认情况下,共享类型创建为可公开访问。将 share_type_access:is_public(API 版本 1.0-2.6 的 os-share-type-access:is_public)设置为 False 以使共享类型私有。
您可以管理不同项目的私有共享类型的访问权限。您可以添加访问权限、删除访问权限以及获取有关私有共享类型的访问权限信息。
管理员可以创建带有这些额外规范的共享类型,这些规范用于过滤后端
driver_handles_share_servers。必需。定义了驱动程序模式,用于共享服务器或存储生命周期管理。共享文件系统服务为共享的导出创建共享服务器。当共享驱动程序管理或处理共享服务器生命周期时,设置为
True。当管理员而不是共享驱动程序管理共享服务器生命周期时,设置为
False。snapshot_support。按后端是否支持共享快照进行过滤。设置为
True以查找支持共享快照的后端。设置为
False以查找不支持共享快照的后端。
管理员还可以为共享类型设置其他额外的规范,用于以下目的
过滤后端。以这种格式指定这些不合格的额外规范:
extra_spec=value。例如,netapp_raid_type=raid4。设置驱动程序的数据。除了特殊的
capabilities前缀之外,您使用其前缀后跟冒号指定这些合格的额外规范:vendor:extra_spec=value。例如,netapp:thin_provisioned=true。
调度器使用特殊的 capabilities 前缀进行过滤。调度器只能在报告与共享类型的不带范围的 extra-spec 键匹配的功能的后端上创建共享。有关详细信息,请参阅 功能和额外规范。
每个驱动程序实现确定它使用哪些额外的规范键。有关详细信息,请参阅驱动程序的文档。
管理员可以使用 policy.yaml 文件将创建具有额外规范的共享类型的权限授予其他角色。
列出所有共享类型。
响应码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
is_public (可选) |
查询 |
布尔值 |
一个布尔查询参数,当设置为 true 时,允许检索属于所有项目的公共资源。 |
extra_specs (可选) |
查询 |
字符串 |
作为一组键值对的额外规范。在每个对中,键是额外规范的名称,值是用于过滤共享类型列表的共享类型。查询必须是“百分比编码”字符串,例如,以下查询参数:{‘extra-specs’: {‘snapshot_support’: ‘true’, ‘availability_zones’: ‘az1’}} 编码为 ‘extra_specs=%7B%27snapshot_support%27%3A+%27true%27%2C+%27availability_zones%27%3A+%27az1%27%7D’ 版本 2.43 中新增 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
共享类型的 UUID。 |
name |
body |
字符串 |
共享类型的名称。 |
required_extra_specs |
body |
对象 |
共享类型的必需额外规范: |
extra_specs |
body |
对象 |
共享类型的额外规范。这些是共享类型预期具有的功能的键值对。有关更多信息,请参阅 共享类型。一些示例包括: |
share_type_access:is_public |
body |
布尔值 |
指示共享类型是否可供云中的所有项目(租户)访问。 |
description |
body |
字符串 |
共享类型的描述。 新增于版本 2.41 |
is_default |
body |
布尔值 |
定义创建的共享类型是否为默认类型。如果返回值为 true,则它是默认共享类型,否则不是默认类型。 新增于版本 2.46 |
响应示例¶
{
"volume_types": [
{
"required_extra_specs": {
"driver_handles_share_servers": "True"
},
"share_type_access:is_public": true,
"extra_specs": {
"driver_handles_share_servers": "True"
},
"id": "420e6a31-3f3d-4ed7-9d11-59450372182a",
"name": "default",
"is_default": true,
"description": "share type description"
},
{
"required_extra_specs": {
"driver_handles_share_servers": "True"
},
"share_type_access:is_public": true,
"extra_specs": {
"replication_type": "readable",
"driver_handles_share_servers": "True",
"mount_snapshot_support": "False",
"revert_to_snapshot_support": "False",
"create_share_from_snapshot_support": "True",
"snapshot_support": "True"
},
"id": "7fa1342b-de9d-4d89-bdc8-af67795c0e52",
"name": "testing",
"is_default": false,
"description": "share type description"
}
],
"share_types": [
{
"required_extra_specs": {
"driver_handles_share_servers": "True"
},
"share_type_access:is_public": true,
"extra_specs": {
"driver_handles_share_servers": "True"
},
"id": "420e6a31-3f3d-4ed7-9d11-59450372182a",
"name": "default",
"is_default": true,
"description": "share type description"
},
{
"required_extra_specs": {
"driver_handles_share_servers": "True"
},
"share_type_access:is_public": true,
"extra_specs": {
"replication_type": "readable",
"driver_handles_share_servers": "True",
"mount_snapshot_support": "False",
"revert_to_snapshot_support": "False",
"create_share_from_snapshot_support": "True",
"snapshot_support": "True"
},
"id": "7fa1342b-de9d-4d89-bdc8-af67795c0e52",
"name": "testing",
"is_default": false,
"description": "share type description"
}
]
}
列出默认共享类型。
响应码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
共享类型的 UUID。 |
required_extra_specs |
body |
对象 |
共享类型的必需额外规范: |
extra_specs |
body |
对象 |
共享类型的额外规范。这些是共享类型预期具有的功能的键值对。有关更多信息,请参阅 共享类型。一些示例包括: |
share_type_access:is_public |
body |
布尔值 |
指示共享类型是否可供云中的所有项目(租户)访问。 |
name |
body |
字符串 |
共享类型的名称。 |
description |
body |
字符串 |
共享类型的描述。 新增于版本 2.41 |
is_default |
body |
布尔值 |
定义创建的共享类型是否为默认类型。如果返回值为 true,则它是默认共享类型,否则不是默认类型。 新增于版本 2.46 |
响应示例¶
{
"share_type": {
"required_extra_specs": {
"driver_handles_share_servers": "True"
},
"share_type_access:is_public": true,
"extra_specs": {
"driver_handles_share_servers": "True"
},
"id": "420e6a31-3f3d-4ed7-9d11-59450372182a",
"name": "default",
"is_default": true,
"description": "share type description"
},
"volume_type": {
"required_extra_specs": {
"driver_handles_share_servers": "True"
},
"share_type_access:is_public": true,
"extra_specs": {
"driver_handles_share_servers": "True"
},
"id": "420e6a31-3f3d-4ed7-9d11-59450372182a",
"name": "default",
"is_default": true,
"description": "share type description"
}
}
显示指定共享类型的详细信息。
响应码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_type_id |
路径 |
字符串 |
共享类型的 UUID。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
共享类型的 UUID。 |
required_extra_specs |
body |
对象 |
共享类型的必需额外规范: |
extra_specs |
body |
对象 |
共享类型的额外规范。这些是共享类型预期具有的功能的键值对。有关更多信息,请参阅 共享类型。一些示例包括: |
share_type_access:is_public |
body |
布尔值 |
指示共享类型是否可供云中的所有项目(租户)访问。 |
name |
body |
字符串 |
共享类型的名称。 |
description |
body |
字符串 |
共享类型的描述。 新增于版本 2.41 |
is_default |
body |
布尔值 |
定义创建的共享类型是否为默认类型。如果返回值为 true,则它是默认共享类型,否则不是默认类型。 新增于版本 2.46 |
响应示例¶
{
"share_type": {
"required_extra_specs": {
"driver_handles_share_servers": "True"
},
"share_type_access:is_public": true,
"extra_specs": {
"driver_handles_share_servers": "True"
},
"id": "2780fc88-526b-464a-a72c-ecb83f0e3929",
"name": "default-share-type",
"is_default": true,
"description": "manila share type"
},
"volume_type": {
"required_extra_specs": {
"driver_handles_share_servers": "True"
},
"share_type_access:is_public": true,
"extra_specs": {
"driver_handles_share_servers": "True"
},
"id": "2780fc88-526b-464a-a72c-ecb83f0e3929",
"name": "default-share-type",
"is_default": true,
"description": "manila share type"
}
}
列出共享类型的额外规范。
响应码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_type_id |
路径 |
字符串 |
共享类型的 UUID。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
extra_specs |
body |
对象 |
共享类型的额外规范。这些是共享类型预期具有的功能的键值对。有关更多信息,请参阅 共享类型。一些示例包括: |
响应示例¶
{
"extra_specs": {
"replication_type": "readable",
"driver_handles_share_servers": "True",
"create_share_from_snapshot_support": "True",
"revert_to_snapshot_support": "False",
"mount_snapshot_support": "False",
"snapshot_support": "True"
}
}
创建共享类型。
响应码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此资源有一个正在进行的操作,与此请求冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
extra_specs |
body |
对象 |
共享类型的额外规范。这些是共享类型预期具有的功能的键值对。有关更多信息,请参阅 共享类型。创建新的共享类型时,必须提供必需的额外规范。 |
os-share-type-access:is_public(可选) |
body |
布尔值 |
指示共享类型是否可供公开访问。默认值为 可用至版本 2.6 |
name |
body |
字符串 |
共享类型的名称。 |
description(可选) |
body |
字符串 |
共享类型的描述。此字段的值限制为 255 个字符。 新增于版本 2.41 |
请求示例¶
{
"share_type": {
"extra_specs": {
"replication_type": "readable",
"driver_handles_share_servers": true,
"mount_snapshot_support": false,
"revert_to_snapshot_support": false,
"create_share_from_snapshot_support": true,
"snapshot_support": true
},
"share_type_access:is_public": true,
"name": "testing",
"description": "share type description"
}
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
共享类型的 UUID。 |
required_extra_specs |
body |
对象 |
共享类型的必需额外规范: |
extra_specs |
body |
对象 |
共享类型的额外规范。这些是共享类型预期具有的功能的键值对。有关更多信息,请参阅 共享类型。一些示例包括: |
os-share-type-access:is_public(可选) |
body |
布尔值 |
指示共享类型是否可供公开访问。默认值为 可用至版本 2.6 |
share_type_access:is_public (可选) |
body |
布尔值 |
指示共享类型是否可供公开访问。默认值为 新增于版本 2.7 |
name |
body |
字符串 |
共享类型的名称。 |
description |
body |
字符串 |
共享类型的描述。 新增于版本 2.41 |
is_default |
body |
布尔值 |
定义创建的共享类型是否为默认类型。如果返回值为 true,则它是默认共享类型,否则不是默认类型。 新增于版本 2.46 |
响应示例¶
{
"share_type": {
"required_extra_specs": {
"driver_handles_share_servers": true
},
"share_type_access:is_public": true,
"extra_specs": {
"replication_type": "readable",
"driver_handles_share_servers": "True",
"mount_snapshot_support": "False",
"revert_to_snapshot_support": "False",
"create_share_from_snapshot_support": "True",
"snapshot_support": "True"
},
"id": "7fa1342b-de9d-4d89-bdc8-af67795c0e52",
"name": "testing",
"is_default": false,
"description": "share type description"
},
"volume_type": {
"required_extra_specs": {
"driver_handles_share_servers": true
},
"share_type_access:is_public": true,
"extra_specs": {
"replication_type": "readable",
"driver_handles_share_servers": "True",
"mount_snapshot_support": "False",
"revert_to_snapshot_support": "False",
"create_share_from_snapshot_support": "True",
"snapshot_support": "True"
},
"id": "7fa1342b-de9d-4d89-bdc8-af67795c0e52",
"name": "testing",
"is_default": false,
"description": "share type description"
}
}
显示共享类型的访问详情。
您只能查看私有共享类型的访问详情。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_type_id |
路径 |
字符串 |
共享类型的 UUID。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id |
body |
字符串 |
已授予访问该类型资源的项目的 ID。 |
share_type_id |
body |
字符串 |
共享类型的 UUID。 |
响应示例¶
{
"share_type_access": [
{
"share_type_id": "1732f284-401d-41d9-a494-425451e8b4b8",
"project_id": "818a3f48dcd644909b3fa2e45a399a27"
},
{
"share_type_id": "1732f284-401d-41d9-a494-425451e8b4b8",
"project_id": "e1284adea3ee4d2482af5ed214f3ad90"
}
]
}
为共享类型设置额外的规范。
每个驱动程序实现确定它使用哪些额外的规范键。有关详细信息,请参阅 功能和额外规范 以及您的驱动程序的文档。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此资源有一个正在进行的操作,与此请求冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_type_id |
路径 |
字符串 |
共享类型的 UUID。 |
extra_specs |
body |
对象 |
共享类型的额外规范。这些是共享类型预期具有的功能的键值对。有关更多信息,请参阅 共享类型。创建新的共享类型时,必须提供必需的额外规范。 |
请求示例¶
{
"extra_specs": {
"my_key": "my_value"
}
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
extra_specs |
body |
对象 |
共享类型的额外规范。这些是共享类型预期具有的功能的键值对。有关更多信息,请参阅 共享类型。一些示例包括: |
响应示例¶
{
"extra_specs": {
"my_key": "my_value"
}
}
取消设置共享类型的额外规范。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_type_id |
路径 |
字符串 |
共享类型的 UUID。 |
extra-spec-key |
路径 |
字符串 |
额外的规范键 |
为项目添加共享类型访问权限。
您只能添加私有共享类型的访问权限。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此资源有一个正在进行的操作,与此请求冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_type_id |
路径 |
字符串 |
共享类型的 UUID。 |
addProjectAccess |
body |
对象 |
表示应授予访问权限的项目资源的的对象。 |
project |
body |
字符串 |
需要授予访问该类型资源的项目的 ID。 |
请求示例¶
{
"addProjectAccess": {
"project": "e1284adea3ee4d2482af5ed214f3ad90"
}
}
从项目移除共享类型访问权限。
您只能从私有共享类型移除访问权限。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_type_id |
路径 |
字符串 |
共享类型的 UUID。 |
removeProjectAccess |
body |
对象 |
表示应撤销访问权限的项目资源的的对象。 |
project |
body |
字符串 |
必须撤销访问权限的项目的 ID。 |
请求示例¶
{
"removeProjectAccess": {
"project": "818a3f48dcd644909b3fa2e45a399a27"
}
}
删除共享类型。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_type_id |
路径 |
字符串 |
共享类型的 UUID。 |
新增于版本 2.50。
更新共享类型。不能使用此 API 更新共享类型额外的规范。请使用各自的 API 来 设置额外的规范 或 取消设置额外的规范。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此资源有一个正在进行的操作,与此请求冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_type_id |
路径 |
字符串 |
共享类型的 UUID。 |
name (可选) |
body |
字符串 |
共享类型的名称。此字段的值限制为 255 个字符。 |
share_type_access:is_public (可选) |
body |
布尔值 |
指示共享类型是否应可供云中的所有项目(租户)访问。如果未指定,则不会更改共享类型的可见性。 |
description(可选) |
body |
字符串 |
共享类型的新的描述。 |
请求示例¶
{
"share_type":
{
"share_type_access:is_public": true,
"name": "testing",
"description": "share type description"
}
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
共享类型的 UUID。 |
required_extra_specs |
body |
对象 |
共享类型的必需额外规范: |
extra_specs |
body |
对象 |
共享类型的额外规范。这些是共享类型预期具有的功能的键值对。有关更多信息,请参阅 共享类型。一些示例包括: |
share_type_access:is_public |
body |
布尔值 |
指示共享类型是否可供云中的所有项目(租户)访问。 |
name |
body |
字符串 |
共享类型的名称。 |
description |
body |
字符串 |
共享类型的描述。 |
is_default |
body |
布尔值 |
定义创建的共享类型是否为默认类型。如果返回值为 true,则它是默认共享类型,否则不是默认类型。 |
响应示例¶
{
"share_type": {
"required_extra_specs": {
"driver_handles_share_servers": true
},
"share_type_access:is_public": true,
"extra_specs": {
"replication_type": "readable",
"driver_handles_share_servers": "True",
"mount_snapshot_support": "False",
"revert_to_snapshot_support": "False",
"create_share_from_snapshot_support": "True",
"snapshot_support": "True"
},
"id": "7fa1342b-de9d-4d89-bdc8-af67795c0e52",
"name": "testing",
"is_default": false,
"description": "share type description"
},
"volume_type": {
"required_extra_specs": {
"driver_handles_share_servers": true
},
"share_type_access:is_public": true,
"extra_specs": {
"replication_type": "readable",
"driver_handles_share_servers": "True",
"mount_snapshot_support": "False",
"revert_to_snapshot_support": "False",
"create_share_from_snapshot_support": "True",
"snapshot_support": "True"
},
"id": "7fa1342b-de9d-4d89-bdc8-af67795c0e52",
"name": "testing",
"is_default": false,
"description": "share type description"
}
}
调度器统计信息 - 存储池¶
管理员可以列出调度器服务已知的所有后端存储池。
列出所有后端存储池。如果提供了搜索选项,则返回的池列表将使用这些选项进行过滤。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
pool_name (可选) |
查询 |
字符串 |
后端的池名称。 |
host_name (可选) |
查询 |
字符串 |
后端的宿主机名称。 |
backend_name (可选) |
查询 |
字符串 |
后端名称。 |
capabilities (可选) |
查询 |
字符串 |
存储后端的功能。 |
share_type(可选) |
查询 |
字符串 |
共享类型名称或 UUID。允许根据共享类型中的额外规范过滤后端池。 新增于版本 2.23 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
backend |
body |
字符串 |
后端名称。 |
host |
body |
字符串 |
后端的宿主机名称。 |
pool |
body |
字符串 |
后端的池名称。 |
name |
body |
字符串 |
后端的名称,格式为:
|
响应示例¶
{
"pools": [
{
"name": "opencloud@alpha#ALPHA_pool",
"host": "opencloud",
"backend": "alpha",
"pool": "ALPHA_pool"
},
{
"name": "opencloud@beta#BETA_pool",
"host": "opencloud",
"backend": "beta",
"pool": "BETA_pool"
},
{
"name": "opencloud@gamma#GAMMA_pool",
"host": "opencloud",
"backend": "gamma",
"pool": "GAMMA_pool"
},
{
"name": "opencloud@delta#DELTA_pool",
"host": "opencloud",
"backend": "delta",
"pool": "DELTA_pool"
}
]
}
列出带有详情的所有后端存储池。如果提供了搜索选项,则返回的池列表将使用这些选项进行过滤。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
pool_name (可选) |
查询 |
字符串 |
后端的池名称。 |
host_name (可选) |
查询 |
字符串 |
后端的宿主机名称。 |
backend_name (可选) |
查询 |
字符串 |
后端名称。 |
capabilities (可选) |
查询 |
字符串 |
存储后端的功能。 |
share_type(可选) |
查询 |
字符串 |
共享类型名称或 UUID。允许根据共享类型中的额外规范过滤后端池。 新增于版本 2.23 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
pools |
body |
字符串 |
后端的池。此值为 |
name |
body |
字符串 |
后端的名称,格式为:
|
backend |
body |
字符串 |
后端名称。 |
pool |
body |
字符串 |
后端的池名称。 |
host |
body |
字符串 |
后端的宿主机名称。 |
capabilities |
body |
对象 |
后端功能,包括 |
qos |
body |
布尔值 |
服务质量 (QoS) 支持。 |
timestamp |
body |
字符串 |
发出 API 请求的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
share_backend_name |
body |
字符串 |
共享后端的名称。 |
server_pools_mapping |
body |
对象 |
服务器和池之间的映射。 |
driver_handles_share_servers |
body |
布尔值 |
共享服务器通常是用于导出共享文件系统的存储虚拟机或轻量级容器。存储后端可能能够使用配置的共享服务器,或者允许共享驱动程序创建和管理共享服务器的生命周期。此功能指定关联的池的共享驱动程序是否负责创建和管理共享服务器的生命周期。如果为 |
driver_version |
body |
字符串 |
后端的驱动程序版本。 |
total_capacity_gb |
body |
字符串 |
后端的总容量,以 GiB 为单位。有效值为字符串,例如 |
free_capacity_gb |
body |
字符串 |
后端的可用容量,以 GiB 为单位。有效值为字符串,例如 |
reserved_percentage |
body |
整数 |
后端内部使用保留的总容量的百分比。 |
vendor_name |
body |
字符串 |
后端的供应商名称。 |
snapshot_support |
body |
布尔值 |
指定后端是否支持共享快照。 |
replication_domain |
body |
字符串 |
后端复制域。 |
storage_protocol |
body |
字符串 |
后端的存储协议。例如, |
响应示例¶
{
"pools": [
{
"name": "opencloud@alpha#ALPHA_pool",
"host": "opencloud",
"backend": "alpha",
"pool": "ALPHA_pool",
"capabilities": {
"pool_name": "ALPHA_pool",
"total_capacity_gb": 1230.0,
"free_capacity_gb": 1210.0,
"reserved_percentage": 0,
"share_backend_name": "ALPHA",
"storage_protocol": "NFS_CIFS",
"vendor_name": "Open Source",
"driver_version": "1.0",
"timestamp": "2019-05-07T00:28:02.935569",
"driver_handles_share_servers": true,
"snapshot_support": true,
"create_share_from_snapshot_support": true,
"revert_to_snapshot_support": true,
"mount_snapshot_support": true,
"dedupe": false,
"compression": false,
"replication_type": null,
"replication_domain": null,
"sg_consistent_snapshot_support": "pool",
"ipv4_support": true,
"ipv6_support": false
}
},
{
"name": "opencloud@beta#BETA_pool",
"host": "opencloud",
"backend": "beta",
"pool": "BETA_pool",
"capabilities": {
"pool_name": "BETA_pool",
"total_capacity_gb": 1230.0,
"free_capacity_gb": 1210.0,
"reserved_percentage": 0,
"share_backend_name": "BETA",
"storage_protocol": "NFS_CIFS",
"vendor_name": "Open Source",
"driver_version": "1.0",
"timestamp": "2019-05-07T00:28:02.817309",
"driver_handles_share_servers": true,
"snapshot_support": true,
"create_share_from_snapshot_support": true,
"revert_to_snapshot_support": true,
"mount_snapshot_support": true,
"dedupe": false,
"compression": false,
"replication_type": null,
"replication_domain": null,
"sg_consistent_snapshot_support": "pool",
"ipv4_support": true,
"ipv6_support": false
}
},
{
"name": "opencloud@gamma#GAMMA_pool",
"host": "opencloud",
"backend": "gamma",
"pool": "GAMMA_pool",
"capabilities": {
"pool_name": "GAMMA_pool",
"total_capacity_gb": 1230.0,
"free_capacity_gb": 1210.0,
"reserved_percentage": 0,
"replication_type": "readable",
"share_backend_name": "GAMMA",
"storage_protocol": "NFS_CIFS",
"vendor_name": "Open Source",
"driver_version": "1.0",
"timestamp": "2019-05-07T00:28:02.899888",
"driver_handles_share_servers": false,
"snapshot_support": true,
"create_share_from_snapshot_support": true,
"revert_to_snapshot_support": true,
"mount_snapshot_support": true,
"dedupe": false,
"compression": false,
"replication_domain": "replica_domain_store1",
"sg_consistent_snapshot_support": "pool",
"ipv4_support": true,
"ipv6_support": false
}
},
{
"name": "opencloud@delta#DELTA_pool",
"host": "opencloud",
"backend": "delta",
"pool": "DELTA_pool",
"capabilities": {
"pool_name": "DELTA_pool",
"total_capacity_gb": 1230.0,
"free_capacity_gb": 1210.0,
"reserved_percentage": 0,
"replication_type": "readable",
"share_backend_name": "DELTA",
"storage_protocol": "NFS_CIFS",
"vendor_name": "Open Source",
"driver_version": "1.0",
"timestamp": "2019-05-07T00:28:02.963660",
"driver_handles_share_servers": false,
"snapshot_support": true,
"create_share_from_snapshot_support": true,
"revert_to_snapshot_support": true,
"mount_snapshot_support": true,
"dedupe": false,
"compression": false,
"replication_domain": "replica_domain_store1",
"sg_consistent_snapshot_support": "pool",
"ipv4_support": true,
"ipv6_support": false
}
}
]
}
服务¶
这些 API 帮助与共享文件系统服务 manila-scheduler、manila-share 和 manila-data 交互。
重要提示
对于 API 版本 2.6 及更早版本,请将 URL 中的 services 替换为 os-services。
注意
从 API 版本 2.83 开始,在启用或禁用服务的响应中,disabled 字段将被 status 字段替换。重新启用禁用的服务将自动清除 disable reason。
列出所有服务,可以选择使用指定的搜索选项进行过滤。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
host (可选) |
查询 |
字符串 |
服务的宿主机名称。 |
binary (可选) |
查询 |
字符串 |
服务二进制名称。默认值为可执行文件的基本名称。 |
zone (可选) |
查询 |
字符串 |
可用区。 |
state (可选) |
查询 |
字符串 |
服务的当前状态。有效值为 |
status (可选) |
查询 |
字符串 |
服务的状态,为 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
services |
body |
字符串 |
响应体中的顶层元素。 |
id |
body |
整数 |
服务 ID。 |
status |
body |
字符串 |
服务的状态,为 |
binary |
body |
字符串 |
服务二进制名称。默认值为可执行文件的基本名称。 |
zone |
body |
字符串 |
服务的可用区。 |
host |
body |
字符串 |
服务的宿主机名称。 |
state |
body |
字符串 |
服务的当前状态。有效值为 |
updated_at |
body |
字符串 |
资源上次在服务数据库中更新的日期和时间戳。如果资源在创建后从未更新,则此参数的值设置为 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
disabled_reason |
body |
字符串 |
服务被禁用的原因。 新增于版本 2.83 |
ensuring |
body |
字符串 |
服务当前是否正在确保共享。 新增于版本 2.86 |
响应示例¶
{
"services": [
{
"status": "enabled",
"binary": "manila-share",
"zone": "nova",
"host": "manila2@generic1",
"updated_at": "2015-09-07T13:03:57.000000",
"state": "up",
"id": 1
},
{
"status": "enabled",
"binary": "manila-scheduler",
"zone": "nova",
"host": "manila2",
"updated_at": "2015-09-07T13:03:57.000000",
"state": "up",
"id": 2
}
]
}
启用服务。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
binary |
body |
字符串 |
您想要启用的服务二进制文件的名称。通常,此名称是可执行文件的基本名称。 |
host |
body |
字符串 |
您想要启用的服务的宿主机名称。 |
请求示例¶
{
"binary": "manila-share",
"host": "openstackhost@generic#pool_0"
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
host |
body |
字符串 |
已启用服务的宿主机名称。 |
binary |
body |
字符串 |
服务二进制名称。默认值为可执行文件的基本名称。 |
disabled |
body |
布尔值 |
指示服务是否被禁用。 可用至版本 2.82 |
status |
body |
字符串 |
服务的状态,为 新增于版本 2.83 |
disabled_reason |
body |
字符串 |
服务被禁用的原因。 新增于版本 2.83 |
响应示例¶
{
"binary": "manila-share",
"host": "openstackhost@generic#pool_0",
"status": "enabled",
"disabled_reason": ""
}
禁用服务。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
binary |
body |
字符串 |
您想要禁用的服务二进制文件的名称。通常,此名称是可执行文件的基本名称。 |
host |
body |
字符串 |
您想要禁用的服务的宿主机名称。 |
disabled_reason (可选) |
body |
字符串 |
服务被禁用的原因。 新增于版本 2.83 |
请求示例¶
{
"binary": "manila-share",
"host": "openstackhost@generic#pool_0",
"disabled_reason": "Service taken down for maintenance until May"
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
host |
body |
字符串 |
已禁用服务的宿主机名。 |
binary |
body |
字符串 |
已禁用服务的二进制文件名称。通常,此名称是可执行文件的基本名称。 |
disabled |
body |
布尔值 |
指示服务是否被禁用。 可用至版本 2.82 |
status |
body |
字符串 |
服务的状态,为 新增于版本 2.83 |
disabled_reason |
body |
字符串 |
服务被禁用的原因。 新增于版本 2.83 |
响应示例¶
{
"binary": "manila-share",
"host": "openstackhost@generic#pool_0",
"status": "disabled",
"disabled_reason": "Service taken down for maintenance until May"
}
启动 manila-share 二进制文件的确保共享过程。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此资源有一个正在进行的操作,与此请求冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
host |
body |
字符串 |
您想要在 |
请求示例¶
{
"host": "openstackhost@storagebackend"
}
响应参数¶
响应中没有正文内容。
可用区¶
描述共享文件系统服务配置的可用区。
重要提示
对于 API 版本 2.6 及更早版本,请将 URL 中的 availability-zones 替换为 os-availability-zone。
列出所有可用区。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
availability_zones |
body |
字符串 |
顶级响应体元素。 |
id |
body |
字符串 |
资源所在的可用区 ID。 |
name |
body |
字符串 |
可用区的名称。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
updated_at |
body |
字符串 |
资源上次在服务数据库中更新的日期和时间戳。如果资源在创建后从未更新,则此参数的值设置为 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
响应示例¶
{
"availability_zones": [
{
"name": "nova",
"created_at": "2015-09-18T09:50:55.000000",
"updated_at": null,
"id": "388c983d-258e-4a0e-b1ba-10da37d766db"
}
]
}
管理和取消管理共享 (已弃用)¶
允许将共享文件系统置于服务管理之下。
警告
从 microversion 2.7 开始,此 API 已弃用,从 microversion 2.7 开始,对此 API 的请求将以 404 失败。请使用 共享管理 API 代替此 API,版本为 2.7。
使用此 API 将共享置于共享文件系统服务的管理之下。在服务中,共享将表示为数据库中的资源。它可以具有用户定义的名称和描述。
仅限管理员。使用 policy.yaml 文件将此操作的权限授予其他角色。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此资源有一个正在进行的操作,与此请求冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share |
body |
对象 |
一个 |
协议 |
body |
字符串 |
要管理的共享的共享文件系统协议。有效值为 |
name (可选) |
body |
字符串 |
用户定义的资源名称。该字段的值限制为 255 个字符。 |
display_name(可选) |
body |
字符串 |
用户定义的资源名称。该字段设置 |
share_type(可选) |
body |
字符串 |
用于创建资源的共享类型名称或 ID。如果省略此参数,则使用默认共享类型。要查看管理员设置的默认共享类型,请发出列出默认共享类型请求。 |
driver_options(可选) |
body |
对象 |
一组键值对,以字符串字典的形式,描述驱动程序选项。驱动程序选项的详细信息应从 相应的共享驱动程序文档 中获取。 |
export_path |
body |
字符串 |
适用于协议的格式的共享导出路径
|
service_host |
body |
字符串 |
manage-share 服务主机,格式为:
|
description(可选) |
body |
字符串 |
用户定义的资源描述。该字段的值限制为 255 个字符。 |
display_description(可选) |
body |
字符串 |
用户定义的资源描述。该字段设置 |
请求示例¶
{
"share": {
"protocol": "nfs",
"name": "accounting_p8787",
"share_type": "gold",
"driver_options": {
"opt1": "opt1",
"opt2": "opt2"
},
"export_path": "192.162.10.6:/shares/share-accounting_p8787",
"service_host": "manila2@openstackstor01#accountingpool",
"is_public": true,
"description": "Common storage for spreadsheets and presentations. Please contact John Accessman to be added to the users of this drive.",
"share_server_id": "00137b40-ca06-4ae8-83a3-2c5989eebcce"
}
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
share |
body |
对象 |
一个 |
links |
body |
数组 |
资源的分页和书签链接。 |
availability_zone |
body |
字符串 |
共享所在的可用区的名称。 |
share_network_id |
body |
字符串 |
资源导出到的共享网络 ID。 |
export_locations |
body |
数组 |
导出位置列表。例如,当共享服务器具有多个网络接口时,它可以具有多个导出位置。对于较新的 API 版本,它在单独的 API 中可用。请参阅部分 共享导出位置 和 共享实例导出位置。 直到版本 2.8 可用 |
share_server_id |
body |
字符串 |
共享服务器的 UUID。 |
snapshot_id |
body |
字符串 |
用于创建共享的快照的 UUID。 |
id |
body |
字符串 |
共享的 UUID。 |
size |
body |
整数 |
共享大小,以 GiB 为单位。 |
share_type |
body |
字符串 |
共享所属的共享类型 UUID。在 API 版本 2.6 之前,此参数解析为共享类型的名称。在 API 版本 2.6 及更高版本中,此参数持有共享类型 ID 而不是名称。 |
share_type_name |
body |
字符串 |
共享类型的名称。 |
export_location |
body |
字符串 |
导出位置。对于较新的 API 版本,它在单独的 API 中可用。请参阅部分 共享导出位置 和 共享实例导出位置。 直到版本 2.8 可用 |
project_id |
body |
字符串 |
拥有资源的项目的 ID。 |
metadata |
body |
对象 |
一个或多个元数据键值对,作为字符串的字典。 |
status |
body |
字符串 |
共享或共享实例的状态。可能的值在上方部分中列出。 |
description |
body |
字符串 |
资源的由用户定义的描述。 |
host |
body |
字符串 |
资源所在的服务的后端宿主机名。此参数始终存在于响应模式中,但对于非管理员用户,该值可能表示为“null”。 |
is_public |
body |
布尔值 |
共享是否对公众可见(云中的所有项目)或不是。 |
snapshot_support |
body |
布尔值 |
一个额外的规范,用于按后端是否支持共享快照来过滤后端。 版本 2.2 中新增 |
name |
body |
字符串 |
资源的由用户定义的名称。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
share_proto |
body |
字符串 |
共享文件系统协议。有效值为 |
响应示例¶
{
"share": {
"links": [
{
"href": "http://172.18.198.54:8786/v2/16e1ab15c35a457e9c2b2aa189f544e1/shares/00137b40-ca06-4ae8-83a3-2c5989eebcce",
"rel": "self"
},
{
"href": "http://172.18.198.54:8786/16e1ab15c35a457e9c2b2aa189f544e1/shares/00137b40-ca06-4ae8-83a3-2c5989eebcce",
"rel": "bookmark"
}
],
"availability_zone": null,
"share_network_id": null,
"export_locations": [],
"share_server_id": "00137b40-ca06-4ae8-83a3-2c5989eebcce",
"share_group_id": null,
"snapshot_id": null,
"id": "00137b40-ca06-4ae8-83a3-2c5989eebcce",
"size": null,
"share_type": "14747856-08e5-494f-ab40-a64b9d20d8f7",
"share_type_name": "d",
"export_location": "10.254.0.5:/shares/share-42033c24-0261-424f-abda-4fef2f6dbfd5",
"project_id": "16e1ab15c35a457e9c2b2aa189f544e1",
"metadata": {},
"status": "manage_starting",
"description": "Lets manage share.",
"user_id": "66ffd308757e44b9a8bec381322b0b88",
"host": "manila2@unmanage1#UNMANAGE1",
"access_rules_status": "active",
"has_replicas": false,
"replication_type": null,
"is_public": false,
"snapshot_support": true,
"name": "share_texas1",
"created_at": "2019-03-05T10:00:00.000000",
"share_proto": "NFS",
"volume_type": "d"
}
}
警告
从 microversion 2.7 开始,此 API 已弃用,从 microversion 2.7 开始,对此 API 的请求将以 404 失败。请使用 共享取消管理 API 代替此 API,版本为 2.7。
使用此 API 从共享文件系统服务的管理中删除共享,而不删除共享。
仅限管理员。使用 policy.yaml 文件将此操作的权限授予其他角色。
先决条件
此 API 不支持取消管理在共享服务器之上创建的共享(即使用共享网络创建的共享)。
在尝试取消管理共享之前,应删除任何快照和共享副本。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此资源有一个正在进行的操作,与此请求冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_id |
路径 |
字符串 |
共享的 UUID。 |
响应参数¶
响应中没有正文内容。
配额集¶
提供配额管理支持。
重要提示
对于 API 版本 2.6 及更早版本,请将 URL 中的 quota-sets 替换为 os-quota-sets。
共享类型配额是在 API 版本 2.39 中添加的。可以为以下配额资源设置每个共享类型的配额
千兆字节快照共享千兆字节的快照share_groups(自 API 版本 2.40 起)share_group_snapshots(自 API 版本 2.40 起)share_replicas(自 API 版本 2.53 起)replica_gigabytes(自 API 版本 2.53 起)per_share_gigabytes(自 API 版本 2.62 起)backups(自 API 版本 2.80 起)backup_gigabytes(自 API 版本 2.80 起)encryption_keys(自 API 版本 2.90 起)
为了操作共享类型配额,请求将类似于以下示例,但必须将请求路径中的 user_id={user_id} 替换为 share_type={share_type_name_or_id}。
共享组和共享组快照已添加到 API 版本 2.40 中的配额管理 API 中。
共享副本和副本千兆字节已添加到 API 版本 2.53 中的配额管理 API 中。
每个共享千兆字节已添加到 API 版本 2.62 中的配额管理 API 中。
共享备份和备份千兆字节已添加到 API 版本 2.80 中的配额管理 API 中。
加密密钥已添加到 API 版本 2.90 中的配额管理 API 中。
显示给定项目的默认配额。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
project_id_quota_request_path (可选) |
路径 |
字符串 |
必须对 API 执行操作的项目 ID。这是可选的,如果未指定,则项目 ID 将从调用者的 API 令牌派生。具有系统/域范围用户的用户与此 API 交互必须指定需要查询或操作配额的项目 ID。 请注意,此 ID 可能与 URL 中资源名称“quota-sets”之前面的项目 ID 不同。例如,在多租户云中,URL 中的第一个 ID 通常是能够创建、查询或删除云中其他项目配额的特权用户(例如云管理员)的项目 ID。如果服务器支持 API 版本 2.60,则 URL 无需在资源名称之前使用特权用户的项目 ID。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
quota_set |
body |
对象 |
|
id |
body |
字符串 |
配额所针对的项目 ID。 |
千兆字节 |
body |
整数 |
每个项目允许的千兆字节数。 |
快照 |
body |
整数 |
每个项目允许的快照数。 |
共享 |
body |
整数 |
每个项目允许的共享数。 |
千兆字节的快照 |
body |
整数 |
每个项目允许的快照千兆字节数。 |
share_networks (可选) |
body |
整数 |
用户和项目,但不包括共享类型,允许的共享网络数。 |
share_groups |
body |
整数 |
每个项目或用户允许的共享组数。 版本 2.40 中新增 |
share_group_snapshots |
body |
整数 |
每个项目或用户允许的共享组快照数。 版本 2.40 中新增 |
share_networks |
body |
整数 |
每个项目允许的共享网络数。 |
share_replicas |
body |
整数 |
每个项目允许的共享副本数。 新增于版本 2.53 |
replica_gigabytes |
body |
整数 |
每个项目允许的共享副本千兆字节数。 新增于版本 2.53 |
per_share_gigabytes |
body |
整数 |
每个项目允许的每个共享千兆字节数。 版本 2.62 中新增 |
backups |
body |
整数 |
每个项目允许的备份数。 新增于版本 2.80 |
backup_gigabytes |
body |
整数 |
每个项目允许的备份千兆字节数。 新增于版本 2.80 |
encryption_keys |
body |
整数 |
每个项目允许的加密密钥数。 版本 2.90 中新增 |
响应示例¶
{
"quota_set": {
"gigabytes": 1000,
"shares": 50,
"snapshot_gigabytes": 1000,
"snapshots": 50,
"id": "16e1ab15c35a457e9c2b2aa189f544e1",
"share_networks": 10,
"share_groups": 10,
"share_group_snapshots": 10,
"share_replicas": 100,
"replica_gigabytes": 1000,
"per_share_gigabytes": -1,
"backups": 50,
"backup_gigabytes": 1000
}
}
显示给定项目的配额。
如果您指定可选的 user_id 查询参数,您将获得项目中此用户的配额。如果您省略此参数,您将获得项目的配额。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
project_id_quota_request_path (可选) |
路径 |
字符串 |
必须对 API 执行操作的项目 ID。这是可选的,如果未指定,则项目 ID 将从调用者的 API 令牌派生。具有系统/域范围用户的用户与此 API 交互必须指定需要查询或操作配额的项目 ID。 请注意,此 ID 可能与 URL 中资源名称“quota-sets”之前面的项目 ID 不同。例如,在多租户云中,URL 中的第一个 ID 通常是能够创建、查询或删除云中其他项目配额的特权用户(例如云管理员)的项目 ID。如果服务器支持 API 版本 2.60,则 URL 无需在资源名称之前使用特权用户的项目 ID。 |
user_id (可选) |
查询 |
字符串 |
用户 ID。如果您指定此查询参数,您将检索或更新项目中此用户的配额。如果您省略此参数,您将查询或更新整个项目的配额。此参数与“share_type”参数互斥。 |
share_type(可选) |
路径 |
字符串 |
URI 中的此参数是共享类型的名称或 UUID。如果您在 URI 中指定此参数,您将显示、更新或删除此共享类型的配额。此参数与“user_id”查询参数互斥。 版本 2.39 中新增 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
quota_set |
body |
对象 |
|
id |
body |
字符串 |
配额所针对的项目 ID。 |
千兆字节 |
body |
整数 |
每个项目允许的千兆字节数。 |
快照 |
body |
整数 |
每个项目允许的快照数。 |
共享 |
body |
整数 |
每个项目允许的共享数。 |
千兆字节的快照 |
body |
整数 |
每个项目允许的快照千兆字节数。 |
share_networks (可选) |
body |
整数 |
用户和项目,但不包括共享类型,允许的共享网络数。 |
share_groups |
body |
整数 |
每个项目或用户允许的共享组数。 版本 2.40 中新增 |
share_group_snapshots |
body |
整数 |
每个项目或用户允许的共享组快照数。 版本 2.40 中新增 |
share_replicas |
body |
整数 |
每个项目允许的共享副本数。 新增于版本 2.53 |
replica_gigabytes |
body |
整数 |
每个项目允许的共享副本千兆字节数。 新增于版本 2.53 |
per_share_gigabytes |
body |
整数 |
每个项目允许的每个共享千兆字节数。 版本 2.62 中新增 |
backups |
body |
整数 |
每个项目允许的备份数。 新增于版本 2.80 |
backup_gigabytes |
body |
整数 |
每个项目允许的备份千兆字节数。 新增于版本 2.80 |
encryption_keys |
body |
整数 |
每个项目允许的加密密钥数。 版本 2.90 中新增 |
响应示例¶
{
"quota_set": {
"gigabytes": 1000,
"shares": 50,
"snapshot_gigabytes": 1000,
"snapshots": 50,
"id": "16e1ab15c35a457e9c2b2aa189f544e1",
"share_networks": 10,
"share_groups": 10,
"share_group_snapshots": 10,
"share_replicas": 100,
"replica_gigabytes": 1000,
"per_share_gigabytes": -1,
"backups": 50,
"backup_gigabytes": 1000
}
}
版本 2.25 中新增。
以详细信息显示项目的配额。
如果您指定可选的 user_id 查询参数,您将获得项目中此用户的配额。如果您省略此参数,您将获得项目的配额。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
project_id_quota_request_path (可选) |
路径 |
字符串 |
必须对 API 执行操作的项目 ID。这是可选的,如果未指定,则项目 ID 将从调用者的 API 令牌派生。具有系统/域范围用户的用户与此 API 交互必须指定需要查询或操作配额的项目 ID。 请注意,此 ID 可能与 URL 中资源名称“quota-sets”之前面的项目 ID 不同。例如,在多租户云中,URL 中的第一个 ID 通常是能够创建、查询或删除云中其他项目配额的特权用户(例如云管理员)的项目 ID。如果服务器支持 API 版本 2.60,则 URL 无需在资源名称之前使用特权用户的项目 ID。 |
user_id (可选) |
查询 |
字符串 |
用户 ID。如果您指定此查询参数,您将检索或更新项目中此用户的配额。如果您省略此参数,您将查询或更新整个项目的配额。此参数与“share_type”参数互斥。 |
share_type(可选) |
路径 |
字符串 |
URI 中的此参数是共享类型的名称或 UUID。如果您在 URI 中指定此参数,您将显示、更新或删除此共享类型的配额。此参数与“user_id”查询参数互斥。 版本 2.39 中新增 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
quota_set |
body |
对象 |
|
id |
body |
字符串 |
配额所针对的项目 ID。 |
千兆字节 |
body |
对象 |
每个项目允许的千兆字节数的限制、使用中、保留数量。 版本 2.25 中新增 |
快照 |
body |
对象 |
每个项目允许的快照数的限制、使用中、保留数量。 版本 2.25 中新增 |
共享 |
body |
对象 |
每个项目允许的共享数的限制、使用中、保留数量。 版本 2.25 中新增 |
千兆字节的快照 |
body |
对象 |
每个项目允许的快照千兆字节数的限制、使用中、保留数量。 版本 2.25 中新增 |
share_networks (可选) |
body |
对象 |
用户和项目,但不包括共享类型,允许的共享网络数的限制、使用中、保留数量。 版本 2.25 中新增 |
share_groups |
body |
对象 |
每个项目或用户允许的共享组数的限制、使用中、保留数量。 版本 2.40 中新增 |
share_group_snapshots |
body |
对象 |
每个项目或用户允许的共享组快照数的限制、使用中、保留数量。 版本 2.40 中新增 |
share_replicas |
body |
对象 |
每个项目允许的共享副本数的限制、使用中、保留数量。 新增于版本 2.53 |
replica_gigabytes |
body |
对象 |
每个项目允许的共享副本千兆字节数的限制、使用中、保留数量。 新增于版本 2.53 |
per_share_gigabytes |
body |
对象 |
每个项目允许的每个共享千兆字节数的限制、使用中、保留数量。 版本 2.62 中新增 |
backups |
body |
对象 |
每个项目允许的备份数的限制、使用中、保留数量。 新增于版本 2.80 |
backup_gigabytes |
body |
对象 |
每个项目允许的备份千兆字节数的限制、使用中、保留数量。 新增于版本 2.80 |
encryption_keys |
body |
对象 |
每个项目允许的加密密钥数的限制、使用中、保留数量。 版本 2.90 中新增 |
响应示例¶
{
"quota_set": {
"id": "16e1ab15c35a457e9c2b2aa189f544e1",
"gigabytes": {"in_use": 0,
"limit": 1000,
"reserved": 0},
"shares": {"in_use": 0,
"limit": 50,
"reserved": 0},
"snapshot_gigabytes": {"in_use": 0,
"limit": 1000,
"reserved": 0},
"snapshots": {"in_use": 0,
"limit": 50,
"reserved": 0},
"share_networks": {"in_use": 0,
"limit": 10,
"reserved": 0},
"share_groups": {"in_use": 0,
"limit": 10,
"reserved": 0},
"share_group_snapshots": {"in_use": 0,
"limit": 10,
"reserved": 0},
"share_replicas": {"in_use": 0,
"limit": 100,
"reserved": 0},
"replica_gigabytes": {"in_use": 0,
"limit": 1000,
"reserved": 0},
"per_share_gigabytes": {"in_use": 0,
"limit": -1,
"reserved": 0},
"backup_gigabytes": {"in_use": 0,
"limit": 1000,
"reserved": 0},
"backups": {"in_use": 0,
"limit": 50,
"reserved": 0}
}
}
更新项目的配额。
如果您指定可选的 user_id 查询参数,您将更新项目中此用户的配额。如果您省略此参数,您将更新项目的配额。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
project_id_quota_request_path (可选) |
路径 |
字符串 |
必须对 API 执行操作的项目 ID。这是可选的,如果未指定,则项目 ID 将从调用者的 API 令牌派生。具有系统/域范围用户的用户与此 API 交互必须指定需要查询或操作配额的项目 ID。 请注意,此 ID 可能与 URL 中资源名称“quota-sets”之前面的项目 ID 不同。例如,在多租户云中,URL 中的第一个 ID 通常是能够创建、查询或删除云中其他项目配额的特权用户(例如云管理员)的项目 ID。如果服务器支持 API 版本 2.60,则 URL 无需在资源名称之前使用特权用户的项目 ID。 |
user_id (可选) |
查询 |
字符串 |
用户 ID。如果您指定此查询参数,您将检索或更新项目中此用户的配额。如果您省略此参数,您将查询或更新整个项目的配额。此参数与“share_type”参数互斥。 |
quota_set |
body |
对象 |
|
force (可选) |
body |
布尔值 |
指示是否允许强制更新已使用的配额,以及请求值是否超过配置的配额。设置为 |
gigabytes (可选) |
body |
整数 |
项目的千兆字节数。 |
snapshots (可选) |
body |
整数 |
项目的快照数。 |
snapshot_gigabytes (可选) |
body |
整数 |
项目的快照千兆字节数。 |
shares (可选) |
body |
整数 |
项目的共享数。 |
share_networks (可选) |
body |
整数 |
项目的共享网络数。 |
share_groups (可选) |
body |
整数 |
每个项目或用户允许的共享组数。 版本 2.40 中新增 |
share_group_snapshots (可选) |
body |
整数 |
每个项目或用户允许的共享组快照数。 版本 2.40 中新增 |
share_type(可选) |
路径 |
字符串 |
URI 中的此参数是共享类型的名称或 UUID。如果您在 URI 中指定此参数,您将显示、更新或删除此共享类型的配额。此参数与“user_id”查询参数互斥。 版本 2.39 中新增 |
share_replicas (可选) |
body |
整数 |
每个项目或用户允许的共享副本数。 新增于版本 2.53 |
replica_gigabytes (可选) |
body |
整数 |
项目的共享副本千兆字节数。 新增于版本 2.53 |
per_share_gigabytes (可选) |
body |
整数 |
每个项目允许的每个共享千兆字节数。 版本 2.62 中新增 |
backups (可选) |
body |
整数 |
项目的备份数。 新增于版本 2.80 |
backup_gigabytes (可选) |
body |
整数 |
项目的备份千兆字节数。 新增于版本 2.80 |
encryption_keys (可选) |
body |
整数 |
每个项目允许的加密密钥数。 版本 2.90 中新增 |
请求示例¶
{
"quota_set": {
"snapshot_gigabytes": 999,
"snapshots": 49,
"share_networks": 9,
"share_replicas": 89,
"per_share_gigabytes": 5
}
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
quota_set |
body |
对象 |
|
id |
body |
字符串 |
配额所针对的项目 ID。 |
千兆字节 |
body |
整数 |
每个项目允许的千兆字节数。 |
快照 |
body |
整数 |
每个项目允许的快照数。 |
共享 |
body |
整数 |
每个项目允许的共享数。 |
千兆字节的快照 |
body |
整数 |
每个项目允许的快照千兆字节数。 |
share_networks (可选) |
body |
整数 |
用户和项目,但不包括共享类型,允许的共享网络数。 |
share_groups |
body |
整数 |
每个项目或用户允许的共享组数。 版本 2.40 中新增 |
share_group_snapshots |
body |
整数 |
每个项目或用户允许的共享组快照数。 版本 2.40 中新增 |
share_replicas |
body |
整数 |
每个项目允许的共享副本数。 新增于版本 2.53 |
replica_gigabytes |
body |
整数 |
每个项目允许的共享副本千兆字节数。 新增于版本 2.53 |
per_share_gigabytes |
body |
整数 |
每个项目允许的每个共享千兆字节数。 版本 2.62 中新增 |
backups |
body |
整数 |
每个项目允许的备份数。 新增于版本 2.80 |
backup_gigabytes |
body |
整数 |
每个项目允许的备份千兆字节数。 新增于版本 2.80 |
encryption_keys |
body |
整数 |
每个项目允许的加密密钥数。 版本 2.90 中新增 |
响应示例¶
{
"quota_set": {
"gigabytes": 1000,
"snapshot_gigabytes": 999,
"shares": 50,
"snapshots": 49,
"share_networks": 9,
"share_groups": 12,
"share_group_snapshots": 12,
"share_replicas": 89,
"replica_gigabytes": 1000,
"per_share_gigabytes": -1,
"backups": 40,
"backup_gigabytes": 500
}
}
删除项目的配额。配额恢复为默认配额。
如果您指定可选的 user_id 查询参数,您将删除项目中此用户的配额。如果您省略此参数,您将删除项目的配额。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
project_id_quota_request_path (可选) |
路径 |
字符串 |
必须对 API 执行操作的项目 ID。这是可选的,如果未指定,则项目 ID 将从调用者的 API 令牌派生。具有系统/域范围用户的用户与此 API 交互必须指定需要查询或操作配额的项目 ID。 请注意,此 ID 可能与 URL 中资源名称“quota-sets”之前面的项目 ID 不同。例如,在多租户云中,URL 中的第一个 ID 通常是能够创建、查询或删除云中其他项目配额的特权用户(例如云管理员)的项目 ID。如果服务器支持 API 版本 2.60,则 URL 无需在资源名称之前使用特权用户的项目 ID。 |
user_id (可选) |
查询 |
字符串 |
用户 ID。如果您指定此查询参数,您将检索或更新项目中此用户的配额。如果您省略此参数,您将查询或更新整个项目的配额。此参数与“share_type”参数互斥。 |
share_type(可选) |
路径 |
字符串 |
URI 中的此参数是共享类型的名称或 UUID。如果您在 URI 中指定此参数,您将显示、更新或删除此共享类型的配额。此参数与“user_id”查询参数互斥。 版本 2.39 中新增 |
配额类集¶
可以显示和更新项目的配额类。
重要提示
共享副本和副本千兆字节已添加到 API 版本 2.53 中的配额管理 API 中。每个共享千兆字节已添加到 API 版本 2.62 中的配额管理 API 中。共享备份和备份千兆字节已添加到 API 版本 2.80 中的配额管理 API 中。加密密钥已添加到 API 版本 2.90 中的配额管理 API 中。
显示项目的配额类设置。如果配额类资源不存在特定值,则将报告默认值。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
quota_class_name |
路径 |
字符串 |
要设置配额的配额类的名称。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
quota_class_set |
body |
对象 |
一个 |
share_groups |
body |
整数 |
允许的共享组的最大数量。 版本 2.40 中新增 |
千兆字节 |
body |
整数 |
项目中允许的总最大共享千兆字节数。您不能请求超过允许的千兆字节配额的共享。 |
share_group_snapshots |
body |
整数 |
允许的共享组快照的最大数量。 版本 2.40 中新增 |
快照 |
body |
整数 |
项目中允许的总最大共享快照数。 |
千兆字节的快照 |
body |
整数 |
项目中允许的总最大快照千兆字节数。 |
共享 |
body |
整数 |
项目中允许的总最大共享数。 |
id |
body |
字符串 |
一个 |
share_networks |
body |
整数 |
项目中允许的总最大共享网络数。 |
share_replicas |
body |
整数 |
允许的最大共享副本数。 新增于版本 2.53 |
replica_gigabytes |
body |
整数 |
允许的最大副本千兆字节数。如果创建共享、共享副本、管理共享或扩展共享将超过允许的副本千兆字节配额,则无法创建共享。 新增于版本 2.53 |
per_share_gigabytes |
body |
整数 |
项目中允许的每个共享的千兆字节数。 版本 2.62 中新增 |
backups |
body |
整数 |
项目中允许的总最大共享备份数。 新增于版本 2.80 |
backup_gigabytes |
body |
整数 |
项目中允许的总最大备份千兆字节数。 新增于版本 2.80 |
encryption_keys |
body |
整数 |
项目中允许的加密密钥数量。 版本 2.90 中新增 |
响应示例¶
{
"quota_class_set": {
"share_groups": 50,
"gigabytes": 1000,
"share_group_snapshots": 50,
"snapshots": 50,
"snapshot_gigabytes": 1000,
"shares": 50,
"id": "default",
"share_networks": 10,
"share_replicas": 100,
"replica_gigabytes": 1000,
"per_share_gigabytes": -1,
"backups": 50,
"backup_gigabytes": 1000
}
}
更新项目的配额类设置。如果 quota_class_name 键不存在,则 API 将创建一个。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
quota_class_name |
路径 |
字符串 |
要设置配额的配额类的名称。 |
shares (可选) |
body |
整数 |
项目中允许的总最大共享数。 |
snapshots (可选) |
body |
整数 |
项目中允许的总最大共享快照数。 |
gigabytes (可选) |
body |
整数 |
项目中允许的总最大共享千兆字节数。您不能请求超过允许的千兆字节配额的共享。 |
snapshot-gigabytes (可选) |
body |
整数 |
项目中允许的总最大快照千兆字节数。 |
share-networks (可选) |
body |
整数 |
项目中允许的总最大共享网络数。 |
share-replicas (可选) |
body |
整数 |
允许的最大共享副本数。 新增于版本 2.53 |
replica-gigabytes (可选) |
body |
整数 |
允许的最大副本千兆字节数。如果创建共享、共享副本、管理共享或扩展共享将超过允许的副本千兆字节配额,则无法创建共享。 新增于版本 2.53 |
per-share-gigabytes (可选) |
body |
整数 |
项目中允许的每个共享的千兆字节数。 版本 2.62 中新增 |
backups (可选) |
body |
整数 |
项目中允许的总最大共享备份数。 新增于版本 2.80 |
backup-gigabytes (可选) |
body |
整数 |
项目中允许的总最大备份千兆字节数。 新增于版本 2.80 |
encryption_keys (可选) |
body |
整数 |
项目中允许的加密密钥数量。 版本 2.90 中新增 |
请求示例¶
{
"quota_class_set": {
"class_name": "test-qupta-class-update",
"gigabytes": 20
}
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
quota_class_set |
body |
对象 |
一个 |
share_groups |
body |
整数 |
允许的共享组的最大数量。 版本 2.40 中新增 |
千兆字节 |
body |
整数 |
项目中允许的总最大共享千兆字节数。您不能请求超过允许的千兆字节配额的共享。 |
share_group_snapshots |
body |
整数 |
允许的共享组快照的最大数量。 版本 2.40 中新增 |
快照 |
body |
整数 |
项目中允许的总最大共享快照数。 |
千兆字节的快照 |
body |
整数 |
项目中允许的总最大快照千兆字节数。 |
共享 |
body |
整数 |
项目中允许的总最大共享数。 |
share_networks |
body |
整数 |
项目中允许的总最大共享网络数。 |
share_replicas |
body |
整数 |
允许的最大共享副本数。 新增于版本 2.53 |
replica_gigabytes |
body |
整数 |
允许的最大副本千兆字节数。如果创建共享、共享副本、管理共享或扩展共享将超过允许的副本千兆字节配额,则无法创建共享。 新增于版本 2.53 |
per_share_gigabytes |
body |
整数 |
项目中允许的每个共享的千兆字节数。 版本 2.62 中新增 |
backups |
body |
整数 |
项目中允许的总最大共享备份数。 新增于版本 2.80 |
backup_gigabytes |
body |
整数 |
项目中允许的总最大备份千兆字节数。 新增于版本 2.80 |
encryption_keys |
body |
整数 |
项目中允许的加密密钥数量。 版本 2.90 中新增 |
响应示例¶
{
"quota_class_set": {
"share_groups": 50,
"gigabytes": 20,
"share_group_snapshots": 50,
"snapshots": 50,
"snapshot_gigabytes": 1000,
"shares": 50,
"share_networks": 10,
"share_replicas": 100,
"replica_gigabytes": 1000,
"per_share_gigabytes": -1,
"backups": 50,
"backup_gigabytes": 1000
}
}
用户消息 (自 API 2.37 起)¶
列出、显示和删除用户消息。
当资源上的异步操作失败时,会自动创建用户消息。在这种情况下,错误会记录在适当的日志文件中,但用户可能无法访问日志文件。用户消息可供用户获取失败操作的错误详细信息。例如,在创建共享时 - 如果共享创建失败,因为调度过滤器找不到适合共享的后端主机,则此共享将进入错误状态,但从用户消息 API 用户可以获取有关上次执行的过滤器的详细信息,这有助于他们识别问题并可能使用不同的参数重新尝试创建请求。
在版本 2.37 中添加。
列出所有用户消息。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
limit (可选) |
查询 |
整数 |
要返回的最大资源记录数。 |
offset (可选) |
查询 |
整数 |
用于定义资源列表起点的偏移量。 |
sort_key (可选) |
查询 |
字符串 |
用于对消息列表进行排序的键。有效值为 |
sort_dir (可选) |
查询 |
字符串 |
用于对资源列表进行排序的方向。有效值为 |
action_id (可选) |
查询 |
字符串 |
创建消息期间的操作的 ID。 |
detail_id (可选) |
查询 |
字符串 |
消息详细信息的 ID。 |
message_level (可选) |
查询 |
字符串 |
消息级别。 |
project_id (可选) |
查询 |
字符串 |
创建消息的项目 ID。 |
request_id (可选) |
查询 |
字符串 |
创建消息期间请求的 ID。 |
resource_id (可选) |
查询 |
字符串 |
创建消息的资源的 UUID。 |
resource_type (可选) |
查询 |
字符串 |
创建消息的资源的类型。 |
created_since (可选) |
查询 |
字符串 |
查询操作的日期和时间戳,仅返回该时间之后的用户消息。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, 在版本 2.52 中新增 |
created_before (可选) |
查询 |
字符串 |
查询操作的日期和时间戳,仅返回该时间之前用户消息。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, 在版本 2.52 中新增 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
消息的 UUID。 |
action_id |
body |
字符串 |
创建消息期间的操作的 ID。 |
detail_id |
body |
字符串 |
消息详细信息的 ID。 |
message_level |
body |
字符串 |
消息级别。 |
project_id |
body |
字符串 |
创建消息的项目 ID。 |
request_id |
body |
字符串 |
创建消息期间请求的 UUID。 |
resource_id |
body |
字符串 |
创建消息的资源的 UUID。 |
resource_type |
body |
字符串 |
创建消息的资源的类型。 |
message_members_links |
body |
数组 |
消息成员链接。 |
expires_at |
body |
字符串 |
资源消息将在服务数据库中过期的时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
响应示例¶
{
"messages": [
{
"links": [
{
"href": "http://192.168.122.180:8786/v2/2e3de76b49b444fd9dc7ca9f7048ce6b/messages/4b319d29-d5b7-4b6e-8e7c-8d6e53f3c3d5",
"rel": "self"
},
{
"href": "http://192.168.122.180:8786/2e3de76b49b444fd9dc7ca9f7048ce6b/messages/4b319d29-d5b7-4b6e-8e7c-8d6e53f3c3d5",
"rel": "bookmark"
}
],
"id": "4b319d29-d5b7-4b6e-8e7c-8d6e53f3c3d5",
"resource_id": "351cc796-2d79-4a08-b878-a8ed933b6b68",
"message_level": "ERROR",
"user_message": "allocate host: No storage could be allocated for this share request. Trying again with a different size or share type may succeed.",
"expires_at": "2017-07-10T10:27:43.000000",
"created_at": "2017-07-10T10:26:43.000000",
"detail_id": "002",
"request_id": "req-24e7ccb6-a7d5-4ddd-a8e4-d8f72a4509c8",
"project_id": "2e3de76b49b444fd9dc7ca9f7048ce6b",
"resource_type": "SHARE",
"action_id": "001"
}
]
}
在版本 2.37 中添加。
显示用户消息的详细信息。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
message_id (可选) |
路径 |
字符串 |
消息的 UUID。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
消息的 UUID。 |
action_id |
body |
字符串 |
创建消息期间的操作的 ID。 |
detail_id |
body |
字符串 |
消息详细信息的 ID。 |
message_level |
body |
字符串 |
消息级别。 |
project_id |
body |
字符串 |
创建消息的项目 ID。 |
request_id |
body |
字符串 |
创建消息期间请求的 UUID。 |
resource_id |
body |
字符串 |
创建消息的资源的 UUID。 |
resource_type |
body |
字符串 |
创建消息的资源的类型。 |
message_links |
body |
数组 |
消息链接。 |
expires_at |
body |
字符串 |
资源消息将在服务数据库中过期的时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
响应示例¶
{
"message": {
"links": [
{
"href": "http://192.168.122.180:8786/v2/2e3de76b49b444fd9dc7ca9f7048ce6b/messages/4b319d29-d5b7-4b6e-8e7c-8d6e53f3c3d5",
"rel": "self"
},
{
"href": "http://192.168.122.180:8786/2e3de76b49b444fd9dc7ca9f7048ce6b/messages/4b319d29-d5b7-4b6e-8e7c-8d6e53f3c3d5",
"rel": "bookmark"
}
],
"resource_id": "351cc796-2d79-4a08-b878-a8ed933b6b68",
"message_level": "ERROR",
"user_message": "allocate host: No storage could be allocated for this share request. Trying again with a different size or share type may succeed.",
"expires_at": "2017-07-10T10:27:43.000000",
"id": "4b319d29-d5b7-4b6e-8e7c-8d6e53f3c3d5",
"created_at": "2017-07-10T10:26:43.000000",
"detail_id": "002",
"request_id": "req-24e7ccb6-a7d5-4ddd-a8e4-d8f72a4509c8",
"project_id": "2e3de76b49b444fd9dc7ca9f7048ce6b",
"resource_type": "SHARE",
"action_id": "001"
}
}
在版本 2.37 中添加。
删除用户消息。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
message_id (可选) |
路径 |
字符串 |
消息的 UUID。 |
共享访问规则 (自 API v2.45 起)¶
检索访问规则的详细信息
注意
从 API 版本 2.82 开始,访问规则可见性可以由项目用户或具有“service”或“admin”角色的任何用户限制。当受到限制时,access_to 和 access_key 字段将对其他用户进行编辑。无论 API 版本如何,此编辑都适用。
在版本 2.45 中添加。
检索指定访问规则的详细信息。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
access_id |
路径 |
字符串 |
授予访问权限的访问规则的 UUID。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
share_id |
body |
字符串 |
您被授予或拒绝访问权限的共享的 UUID。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
updated_at |
body |
字符串 |
资源上次在服务数据库中更新的日期和时间戳。如果资源在创建后从未更新,则此参数的值设置为 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
access_type |
body |
字符串 |
访问规则类型。共享访问规则类型的有效值是以下值之一
|
access_to |
body |
字符串 |
定义访问权限的值。后端授予或拒绝对其的访问权限。有效值是以下值之一
|
access_key |
body |
字符串 |
授予共享访问权限的实体的访问凭据。 |
state |
body |
字符串 |
在版本 2.28 之前,给定共享的所有访问规则的状态始终相同。这可能是 |
access_level |
body |
字符串 |
共享的访问级别。要授予或拒绝共享的访问权限,您需要指定以下共享访问级别之一
|
id |
body |
字符串 |
访问规则 ID。 |
metadata |
body |
对象 |
一个或多个访问规则元数据键值对,作为字符串字典。 |
响应示例¶
{
"access": {
"access_level": "rw",
"state": "error",
"id": "507bf114-36f2-4f56-8cf4-857985ca87c1",
"share_id": "fb213952-2352-41b4-ad7b-2c4c69d13eef",
"access_type": "cert",
"access_to": "example.com",
"access_key": null,
"created_at": "2018-07-17T02:01:04.000000",
"updated_at": "2018-07-17T02:01:04.000000",
"metadata": {
"key1": "value1",
"key2": "value2"
}
}
}
在版本 2.45 中添加。
列出共享上的共享访问规则。
注意
此 API 替换了版本 2.45 的较旧的 列出共享访问规则 API。
注意
从 API 版本 2.82 开始,访问规则可见性可以由项目用户或具有“service”或“admin”角色的任何用户限制。当受到限制时,access_to 和 access_key 字段将对其他用户进行编辑。无论 API 版本如何,此编辑都适用。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此资源有一个正在进行的操作,与此请求冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_id |
查询 |
字符串 |
用于筛选共享访问规则的共享 ID。 |
metadata |
body |
对象 |
一个或多个元数据键值对,作为字符串的字典。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
metadata |
body |
对象 |
一个或多个访问规则元数据键值对,作为字符串字典。 |
access_type |
body |
字符串 |
访问规则类型。共享访问规则类型的有效值是以下值之一
|
access_key |
body |
字符串 |
授予共享访问权限的实体的访问凭据。 |
access_to |
body |
字符串 |
定义访问权限的值。后端授予或拒绝对其的访问权限。有效值是以下值之一
|
access_level |
body |
字符串 |
共享的访问级别。要授予或拒绝共享的访问权限,您需要指定以下共享访问级别之一
|
state |
body |
字符串 |
在版本 2.28 之前,给定共享的所有访问规则的状态始终相同。这可能是 |
access_list |
body |
字符串 |
访问规则的对象。要列出访问规则,请将此值设置为 |
id |
body |
字符串 |
访问规则 ID。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
updated_at |
body |
字符串 |
资源上次在服务数据库中更新的日期和时间戳。如果资源在创建后从未更新,则此参数的值设置为 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
响应示例¶
{
"access_list": [
{
"access_level": "rw",
"state": "error",
"id": "507bf114-36f2-4f56-8cf4-857985ca87c1",
"access_type": "cert",
"access_to": "example.com",
"access_key": null,
"created_at": "2018-07-17T02:01:04.000000",
"updated_at": "2018-07-17T02:01:04.000000",
"metadata": {
"key1": "value1",
"key2": "value2"
}
},
{
"access_level": "rw",
"state": "active",
"id": "a25b2df3-90bd-4add-afa6-5f0dbbd50452",
"access_type": "ip",
"access_to": "0.0.0.0/0",
"access_key": null,
"created_at": "2018-07-16T01:03:21.000000",
"updated_at": "2018-07-16T01:03:21.000000",
"metadata": {
"key3": "value3",
"key4": "value4"
}
}
]
}
在版本 2.88 中添加。
更新指定访问规则的 access_level。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
access_id |
路径 |
字符串 |
授予访问权限的访问规则的 UUID。 |
access_level |
body |
字符串 |
共享的访问级别。要授予或拒绝共享的访问权限,您需要指定以下共享访问级别之一
|
请求示例¶
{
"update_access": {
"access_level": "ro"
}
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
share_id |
body |
字符串 |
您被授予或拒绝访问权限的共享的 UUID。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
updated_at |
body |
字符串 |
资源上次在服务数据库中更新的日期和时间戳。如果资源在创建后从未更新,则此参数的值设置为 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
access_type |
body |
字符串 |
访问规则类型。共享访问规则类型的有效值是以下值之一
|
access_to |
body |
字符串 |
定义访问权限的值。后端授予或拒绝对其的访问权限。有效值是以下值之一
|
access_key |
body |
字符串 |
授予共享访问权限的实体的访问凭据。 |
state |
body |
字符串 |
在版本 2.28 之前,给定共享的所有访问规则的状态始终相同。这可能是 |
access_level |
body |
字符串 |
共享的访问级别。要授予或拒绝共享的访问权限,您需要指定以下共享访问级别之一
|
id |
body |
字符串 |
访问规则 ID。 |
metadata |
body |
对象 |
一个或多个访问规则元数据键值对,作为字符串字典。 |
响应示例¶
{
"access": {
"access_level": "ro",
"state": "error",
"id": "507bf114-36f2-4f56-8cf4-857985ca87c1",
"share_id": "fb213952-2352-41b4-ad7b-2c4c69d13eef",
"access_type": "ip",
"access_to": "0.0.0.0/0",
"access_key": null,
"created_at": "2024-12-17T02:01:04.000000",
"updated_at": "2024-12-17T02:01:04.000000",
"metadata": {
"key1": "value1",
"key2": "value2"
}
}
}
共享访问规则元数据 (自 API v2.45 起)¶
更新和取消设置共享访问规则元数据。
在版本 2.45 中添加。
更新共享访问规则的元数据。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
access_id |
路径 |
字符串 |
授予访问权限的访问规则的 UUID。 |
metadata |
body |
对象 |
一个或多个访问规则元数据键值对,作为字符串字典。 |
请求示例¶
{
"metadata": {
"aim": "changed_doc",
"speed": "my_fast_access",
"new_metadata_key": "new_information"
}
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
metadata |
body |
对象 |
一个或多个访问规则元数据键值对,作为字符串字典。 |
响应示例¶
{
"metadata": {
"aim": "changed_doc",
"speed": "my_fast_access",
"new_metadata_key": "new_information"
}
}
在版本 2.45 中添加。
取消设置共享访问规则上的元数据。
要取消设置元数据键值,请在 URI 中仅指定键名。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
access_id |
路径 |
字符串 |
授予访问权限的访问规则的 UUID。 |
key(可选) |
路径 |
字符串 |
元数据项的键。例如,如果现有共享或访问规则上的元数据如下: |
共享组 (自 API v2.31 起)¶
共享组使您能够创建一个卷组并一起管理它们。项目可以将用于同一应用程序的共享放在一个共享组中,例如一致性组快照、克隆、备份、迁移、复制、重新类型化等。
共享应仅在共享创建步骤中才能成为共享组的一部分。如果未提供 share_group_id 创建共享,则该共享将无法成为任何共享组的一部分。
您可以创建一个共享组并将其与多个共享关联,列出共享组以及显示信息以删除共享组。
注意
自 API 版本 2.55 起,共享组 API 不再被视为实验性的。availability_zone_id 和 consistent_snapshot_support 字段已添加到 share_group 对象中,版本为 2.34。
在版本 2.31 中添加。
列出所有共享组。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
all_tenants (可选) |
查询 |
布尔值 |
(仅限管理员)。定义是否为所有项目列出请求的资源。设置为 |
name (可选) |
查询 |
字符串 |
用于按资源名称过滤资源的由用户定义名称。 |
description(可选) |
查询 |
字符串 |
可用于筛选资源的、用户定义的描述文本。 |
status (可选) |
查询 |
字符串 |
按共享组状态进行筛选。有效值为 |
share_server_id (可选) |
查询 |
字符串 |
共享服务器的 UUID。 |
snapshot_id (可选) |
查询 |
字符串 |
用于基于快照过滤请求的共享的基本快照的 UUID。 |
host (可选) |
查询 |
字符串 |
后端的宿主机名称。 |
share_network_id (可选) |
查询 |
字符串 |
用于按共享网络过滤资源的 UUID。 |
share_group_type_id (可选) |
查询 |
字符串 |
用于筛选共享组的共享组类型 ID。 |
share_group_snapshot_id (可选) |
查询 |
字符串 |
要列出共享组的源共享组快照 ID。 版本 2.31 中新增 |
share_types (可选) |
查询 |
数组 |
一个或多个共享类型 ID 的列表。允许筛选共享组。 |
limit (可选) |
查询 |
整数 |
要返回的共享组成员的最大数量。 |
offset (可选) |
查询 |
整数 |
用于定义资源列表起点的偏移量。 |
sort_key (可选) |
查询 |
字符串 |
用于对共享列表进行排序的键。有效值为 |
sort_dir (可选) |
查询 |
字符串 |
用于对资源列表进行排序的方向。有效值为 |
name~ (可选) |
查询 |
字符串 |
可用于过滤共享、共享快照、共享网络、传输或共享组的名称模式。 版本 2.36 中新增 |
description~ (可选) |
查询 |
字符串 |
可用于过滤共享、共享快照、共享网络或共享组的描述模式。 版本 2.36 中新增 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
共享组的 UUID。 版本 2.31 中新增 |
links |
body |
字符串 |
共享组主机名。 |
name |
body |
字符串 |
资源的由用户定义的名称。 |
status |
body |
字符串 |
共享组状态,为 |
description |
body |
字符串 |
资源的由用户定义的描述。 |
响应示例¶
{
"share_groups": [
{
"id": "b94a8548-2079-4be0-b21c-0a887acd31ca",
"links": [
{
"href": "http://172.18.198.54:8786/v2/16e1ab15c35a457e9c2b2aa189f544e1/share_groups/b94a8548-2079-4be0-b21c-0a887acd31ca",
"rel": "self"
},
{
"href": "http://172.18.198.54:8786/16e1ab15c35a457e9c2b2aa189f544e1/share_groups/b94a8548-2079-4be0-b21c-0a887acd31ca",
"rel": "bookmark"
}
],
"name": "My_share_group"
},
{
"id": "306ea93c-32e9-4907-a117-148b3945749f",
"links": [
{
"href": "http://172.18.198.54:8786/v2/16e1ab15c35a457e9c2b2aa189f544e1/share_groups/306ea93c-32e9-4907-a117-148b3945749f",
"rel": "self"
},
{
"href": "http://172.18.198.54:8786/16e1ab15c35a457e9c2b2aa189f544e1/share_groups/306ea93c-32e9-4907-a117-148b3945749f",
"rel": "bookmark"
}
],
"name": "Test_Share_group"
}
]
}
在版本 2.31 中添加。
列出所有共享组的详细信息。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
all_tenants (可选) |
查询 |
布尔值 |
(仅限管理员)。定义是否为所有项目列出请求的资源。设置为 |
name (可选) |
查询 |
字符串 |
用于按资源名称过滤资源的由用户定义名称。 |
description(可选) |
查询 |
字符串 |
可用于筛选资源的、用户定义的描述文本。 |
status (可选) |
查询 |
字符串 |
按共享组状态进行筛选。有效值为 |
share_server_id (可选) |
查询 |
字符串 |
共享服务器的 UUID。 |
snapshot_id (可选) |
查询 |
字符串 |
用于基于快照过滤请求的共享的基本快照的 UUID。 |
host (可选) |
查询 |
字符串 |
后端的宿主机名称。 |
share_network_id (可选) |
查询 |
字符串 |
用于按共享网络过滤资源的 UUID。 |
share_group_type_id (可选) |
查询 |
字符串 |
用于筛选共享组的共享组类型 ID。 |
share_group_snapshot_id (可选) |
查询 |
字符串 |
要列出共享组的源共享组快照 ID。 版本 2.31 中新增 |
share_types (可选) |
查询 |
数组 |
一个或多个共享类型 ID 的列表。允许筛选共享组。 |
limit (可选) |
查询 |
整数 |
要返回的共享组成员的最大数量。 |
offset (可选) |
查询 |
整数 |
用于定义资源列表起点的偏移量。 |
sort_key (可选) |
查询 |
字符串 |
用于对共享列表进行排序的键。有效值为 |
sort_dir (可选) |
查询 |
字符串 |
用于对资源列表进行排序的方向。有效值为 |
name~ (可选) |
查询 |
字符串 |
可用于过滤共享、共享快照、共享网络、传输或共享组的名称模式。 版本 2.36 中新增 |
description~ (可选) |
查询 |
字符串 |
可用于过滤共享、共享快照、共享网络或共享组的描述模式。 版本 2.36 中新增 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
共享组的 UUID。 版本 2.31 中新增 |
name |
body |
字符串 |
资源的由用户定义的名称。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
status |
body |
字符串 |
共享组状态,为 |
description |
body |
字符串 |
资源的由用户定义的描述。 |
project_id |
body |
字符串 |
拥有资源的项目的 ID。 |
host |
body |
字符串 |
后端的宿主机名称。 |
share_group_type_id |
body |
字符串 |
共享组类型 ID。 |
source_share_group_snapshot_id |
body |
字符串 |
用于创建共享组的源共享组快照 ID。 |
share_network_id |
body |
字符串 |
资源导出到的共享网络 ID。 |
share_types |
body |
数组 |
共享类型 ID 的列表。 |
links |
body |
字符串 |
共享组主机名。 |
availability_zone |
body |
字符串 |
共享组所在的可用区 ID。 在版本 2.34 中新增 |
consistent_snapshot_support |
body |
字符串 |
一致性快照支持。 在版本 2.34 中新增 |
响应示例¶
{
"share_groups": [
{
"id": "b94a8548-2079-4be0-b21c-0a887acd31ca",
"links": [
{
"href": "http://172.18.198.54:8786/v2/16e1ab15c35a457e9c2b2aa189f544e1/share_groups/b94a8548-2079-4be0-b21c-0a887acd31ca",
"rel": "self"
},
{
"href": "http://172.18.198.54:8786/16e1ab15c35a457e9c2b2aa189f544e1/share_groups/b94a8548-2079-4be0-b21c-0a887acd31ca",
"rel": "bookmark"
}
],
"name": "My_share_group",
"availability_zone": "nova",
"consistent_snapshot_support": true,
"share_group_type_id": "313df749-aac0-1a54-af52-10f6c991e80c",
"share_network_id": "713df749-aac0-4a54-af52-10f6c991e80c",
"share_types": ["25747776-08e5-494f-ab40-a64b9d20d8f7"],
"project_id": "16e1ab15c35a457e9c2b2aa189f544e1",
"status": "available",
"description": "My share group",
"host": "manila2@generic1#GENERIC1",
"source_share_group_snapshot_id": null,
"created_at": "2015-09-18T10:25:24.000000"
},
{
"id": "306ea93c-32e9-4907-a117-148b3945749f",
"links": [
{
"href": "http://172.18.198.54:8786/v2/16e1ab15c35a457e9c2b2aa189f544e1/share_groups/306ea93c-32e9-4907-a117-148b3945749f",
"rel": "self"
},
{
"href": "http://172.18.198.54:8786/16e1ab15c35a457e9c2b2aa189f544e1/share_groups/306ea93c-32e9-4907-a117-148b3945749f",
"rel": "bookmark"
}
],
"name": "Test_Share_group",
"availability_zone": "nova",
"consistent_snapshot_support": true,
"share_group_type_id": "313df749-aac0-1a54-af52-10f6c991e80c",
"share_network_id": "713df749-aac0-4a54-af52-10f6c991e80c",
"share_types": ["25747776-08e5-494f-ab40-a64b9d20d8f7"],
"project_id": "16e1ab15c35a457e9c2b2aa189f544e1",
"status": "available",
"description": "Test share group",
"host": "manila2@generic1#GENERIC1",
"source_share_group_snapshot_id": null,
"created_at": "2015-09-18T10:25:24.000000"
}
]
}
在版本 2.31 中添加。
显示共享组的详细信息。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_group_id |
路径 |
字符串 |
共享组的 UUID。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
共享组的 UUID。 版本 2.31 中新增 |
name |
body |
字符串 |
资源的由用户定义的名称。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
status |
body |
字符串 |
共享组状态,为 |
description |
body |
字符串 |
资源的由用户定义的描述。 |
project_id |
body |
字符串 |
拥有资源的项目的 ID。 |
host |
body |
字符串 |
后端的宿主机名称。 |
share_group_type_id |
body |
字符串 |
共享组类型 ID。 |
source_share_group_snapshot_id |
body |
字符串 |
用于创建共享组的源共享组快照 ID。 |
share_network_id |
body |
字符串 |
资源导出到的共享网络 ID。 |
share_types |
body |
数组 |
共享类型 ID 的列表。 |
links |
body |
字符串 |
共享组主机名。 |
availability_zone |
body |
字符串 |
共享组所在的可用区 ID。 在版本 2.34 中新增 |
consistent_snapshot_support |
body |
字符串 |
一致性快照支持。 在版本 2.34 中新增 |
响应示例¶
{
"share_groups": {
"links": [
{
"href": "http://172.18.198.54:8786/v2/16e1ab15c35a457e9c2b2aa189f544e1/share_groups/011d21e2-fbc3-4e4a-9993-9ea223f73264",
"rel": "self"
},
{
"href": "http://172.18.198.54:8786/16e1ab15c35a457e9c2b2aa189f544e1/share_groups/011d21e2-fbc3-4e4a-9993-9ea223f73264",
"rel": "bookmark"
}
],
"availability_zone": "nova",
"consistent_snapshot_support": true,
"share_group_type_id": "313df749-aac0-1a54-af52-10f6c991e80c",
"share_network_id": "713df749-aac0-4a54-af52-10f6c991e80c",
"id": "011d21e2-fbc3-4e4a-9993-9ea223f73264",
"share_types": ["25747776-08e5-494f-ab40-a64b9d20d8f7"],
"project_id": "16e1ab15c35a457e9c2b2aa189f544e1",
"status": "available",
"description": "My custom share London",
"host": "manila2@generic1#GENERIC1",
"source_share_group_snapshot_id": null,
"name": "share_London",
"created_at": "2015-09-18T10:25:24.000000"
}
}
在版本 2.31 中添加。
创建共享组。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此资源有一个正在进行的操作,与此请求冲突。 |
422 - 无法处理的实体 |
请求的实体格式无法被请求的资源以该方法处理。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
name (可选) |
body |
字符串 |
用户定义的资源名称。该字段的值限制为 255 个字符。 |
description(可选) |
body |
字符串 |
用户定义的资源描述。该字段的值限制为 255 个字符。 |
share_types (可选) |
body |
数组 |
一个或多个共享类型 ID 的列表。 |
share_group_type (可选) |
body |
字符串 |
用于创建共享组的共享组类型 ID。 |
share_network (可选) |
body |
字符串 |
资源必须导出的共享网络的 ID。请注意,在使用具有 |
source_share_group_snapshot (可选) |
body |
字符串 |
用于创建共享组的源共享组快照 ID。 |
availability_zone |
body |
字符串 |
共享组所在的可用区 ID。 在版本 2.34 中新增 |
请求示例¶
{
"share_group": {
"share_types": ["ecd11f4c-d811-4471-b656-c755c77e02ba"],
"name": "my_group",
"description": "for_test",
"share_group_type_id": "89861c2a-10bf-4013-bdd4-3d020466aee4",
"availability_zone": "nova",
"share_network_id": "82168c2a-10bf-4013-bcc4-3d984136aee3",
"source_share_group_snapshot_id": "69861c2a-10bf-4013-bcc4-3d020466aee3"
}
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
共享组的 UUID。 版本 2.31 中新增 |
name |
body |
字符串 |
资源的由用户定义的名称。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
status |
body |
字符串 |
共享组状态,为 |
description |
body |
字符串 |
资源的由用户定义的描述。 |
project_id |
body |
字符串 |
拥有资源的项目的 ID。 |
host (可选) |
body |
字符串 |
共享组主机名。 |
share_group_type_id |
body |
字符串 |
共享组类型 ID。 |
source_share_group_snapshot_id |
body |
字符串 |
用于创建共享组的源共享组快照 ID。 |
share_network_id |
body |
字符串 |
资源导出到的共享网络 ID。 |
share_types |
body |
数组 |
共享类型 ID 的列表。 |
links |
body |
字符串 |
共享组主机名。 |
availability_zone |
body |
字符串 |
共享组所在的可用区 ID。 在版本 2.34 中新增 |
consistent_snapshot_support |
body |
字符串 |
一致性快照支持。 在版本 2.34 中新增 |
响应示例¶
{
"share_groups": {
"status": "creating",
"description": null,
"links": [
{
"href": "http://192.168.98.191:8786/v2/e23850eeb91d4fa3866af634223e454c/share_groups/f9c1f80c-2392-4e34-bd90-fc89cdc5bf93",
"rel": "self"
},
{
"href": "http://192.168.98.191:8786/e23850eeb91d4fa3866af634223e454c/share_groups/f9c1f80c-2392-4e34-bd90-fc89cdc5bf93",
"rel": "bookmark"
}
],
"availability_zone": null,
"source_share_group_snapshot_id": null,
"share_network_id": null,
"share_server_id": null,
"host": null,
"share_group_type_id": "89861c2a-10bf-4013-bdd4-3d020466aee4",
"consistent_snapshot_support": null,
"id": "f9c1f80c-2392-4e34-bd90-fc89cdc5bf93",
"name": null,
"created_at": "2017-08-03T19:20:33.974421",
"project_id": "e23850eeb91d4fa3866af634223e454c",
"share_types": ["ecd11f4c-d811-4471-b656-c755c77e02ba"]
}
}
在版本 2.31 中添加。
仅限管理员。显式更新共享组的状态。
使用 policy.yaml 文件将此操作的权限授予其他角色。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_group_id |
路径 |
字符串 |
共享组的 UUID。 |
reset_status |
body |
对象 |
|
status |
body |
字符串 |
共享组状态,为 |
请求示例¶
{
"reset_status": {
"status": "error"
}
}
在版本 2.31 中添加。
更新一个共享组。
响应码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
422 - 无法处理的实体 |
请求的实体格式无法被请求的资源以该方法处理。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_group_id |
路径 |
字符串 |
共享组的 UUID。 |
name (可选) |
body |
字符串 |
用户定义的资源名称。该字段的值限制为 255 个字符。 |
description(可选) |
body |
字符串 |
用户定义的资源描述。该字段的值限制为 255 个字符。 |
请求示例¶
{
"share_group": {
"name": "new name",
"description": "Changing the share group description."
}
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
共享组的 UUID。 版本 2.31 中新增 |
name |
body |
字符串 |
资源的由用户定义的名称。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
status |
body |
字符串 |
共享组状态,为 |
description |
body |
字符串 |
资源的由用户定义的描述。 |
project_id |
body |
字符串 |
拥有资源的项目的 ID。 |
host (可选) |
body |
字符串 |
共享组主机名。 |
share_group_type_id |
body |
字符串 |
共享组类型 ID。 |
source_share_group_snapshot_id (可选) |
body |
字符串 |
用于创建共享组的源共享组快照 ID。 |
share_network_id |
body |
字符串 |
资源导出到的共享网络 ID。 |
share_types |
body |
数组 |
共享类型 ID 的列表。 |
links |
body |
字符串 |
共享组主机名。 |
availability_zone |
body |
字符串 |
共享组所在的可用区 ID。 在版本 2.34 中新增 |
consistent_snapshot_support |
body |
字符串 |
一致性快照支持。 在版本 2.34 中新增 |
响应示例¶
{
"share_groups": {
"status": "creating",
"description": "Changing the share group description.",
"links": [
{
"href": "http://192.168.98.191:8786/v2/e23850eeb91d4fa3866af634223e454c/share_groups/f9c1f80c-2392-4e34-bd90-fc89cdc5bf93",
"rel": "self"
},
{
"href": "http://192.168.98.191:8786/e23850eeb91d4fa3866af634223e454c/share_groups/f9c1f80c-2392-4e34-bd90-fc89cdc5bf93",
"rel": "bookmark"
}
],
"availability_zone": null,
"source_share_group_snapshot_id": null,
"share_network_id": null,
"share_server_id": null,
"host": null,
"share_group_type_id": "89861c2a-10bf-4013-bdd4-3d020466aee4",
"consistent_snapshot_support": null,
"id": "f9c1f80c-2392-4e34-bd90-fc89cdc5bf93",
"name": "new name",
"created_at": "2017-08-03T19:20:33.974421",
"project_id": "e23850eeb91d4fa3866af634223e454c",
"share_types": ["ecd11f4c-d811-4471-b656-c755c77e02ba"]
}
}
在版本 2.31 中添加。
删除一个共享组。
响应码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此资源有一个正在进行的操作,与此请求冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_group_id |
路径 |
字符串 |
共享组的 UUID。 |
force |
body |
字符串 |
要强制删除共享或共享组,请将此值设置为 |
共享组类型 (自 API v2.31 起)¶
共享组类型允许您在创建共享组之前过滤或选择后端。
您可以将共享组类型设置为公共或私有。默认情况下,共享组类型创建为可公开访问。将 share_group_type_access:is_public 设置为 False 以使共享组类型私有。
您可以管理不同项目的私有共享组类型的访问权限。您可以添加访问权限、删除访问权限以及获取有关私有共享组类型访问权限的信息。
管理员可以指定给定组类型可能包含的 共享类型。如果管理员未显式将共享类型与给定的共享组类型关联,则服务将配置为 default_share_type 的共享类型与共享组类型关联。创建共享组时,调度器会选择与指定共享类型和共享组类型中的额外规范组合匹配的一个后端。
管理员还可以为共享组类型设置其他组额外规范,用于以下目的
按组调度器过滤后端。以这种格式指定这些组额外规范:
group_specs=value。例如,consistent_snapshot_support=true。
注意
自 API 版本 2.55 起,共享组类型 API 不再被视为实验性。
在版本 2.31 中添加。
列出所有共享组类型。
响应码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
is_public (可选) |
查询 |
布尔值 |
一个布尔查询参数,当设置为 true 时,允许检索属于所有项目的公共资源。 |
group_specs (可选) |
查询 |
字符串 |
组规范,作为一组或多个键值对。在每个对中,键是组规范的名称,值是用于过滤搜索共享组类型列表的共享组类型。查询必须是“百分比编码”字符串,例如,以下查询参数:{‘group-specs’: {‘consistent_snapshot_support’: ‘true’}} 编码为 ‘group_specs=%7B%27consistent_snapshot_support%27%3A+%27True%27%7D’ 新增于版本 2.66 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
共享组类型 ID。 |
is_public |
body |
布尔值 |
共享组类型的可见性级别。设置为 |
share_types |
body |
数组 |
共享类型 ID 的列表。 |
name |
body |
字符串 |
共享组类型名称。 |
group_specs |
body |
对象 |
共享组类型的额外规范。 |
is_default |
body |
布尔值 |
定义创建的共享组类型是默认类型还是不是。如果返回值为 true,则它是默认共享组类型,否则不是默认类型。 新增于版本 2.46 |
响应示例¶
{
"share_group_types": [
{
"is_public": true,
"group_specs": {},
"share_types": ["ecd11f4c-d811-4471-b656-c755c77e02ba"],
"id": "89861c2a-10bf-4013-bdd4-3d020466aee4",
"name": "test_group_type",
"is_default": false
}
]
}
在版本 2.31 中添加。
列出默认共享组类型。
响应码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
共享组类型 ID。 |
is_public |
body |
布尔值 |
共享组类型的可见性级别。设置为 |
share_types |
body |
数组 |
共享类型 ID 的列表。 |
name |
body |
字符串 |
共享组类型名称。 |
group_specs |
body |
对象 |
共享组类型的额外规范。 |
is_default |
body |
布尔值 |
定义创建的共享组类型是默认类型还是不是。如果返回值为 true,则它是默认共享组类型,否则不是默认类型。 新增于版本 2.46 |
响应示例¶
{
"share_group_type": {
"is_public": true,
"group_specs": {},
"share_types": ["ecd11f4c-d811-4471-b656-c755c77e02ba"],
"id": "89861c2a-10bf-4013-bdd4-3d020466aee4",
"name": "test_group_type",
"is_default": true
}
}
在版本 2.31 中添加。
列出共享组类型的额外规范。
响应码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_group_type_id |
body |
字符串 |
共享组类型 ID。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
group_specs |
body |
对象 |
共享组类型的额外规范。 |
响应示例¶
{
"group_specs": {
"snapshot_support": "True"
}
}
在版本 2.31 中添加。
创建一个共享组类型。
响应码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此资源有一个正在进行的操作,与此请求冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_types |
body |
数组 |
共享类型 ID 的列表。 |
name (可选) |
body |
字符串 |
共享组类型资源的名称。该字段的值限制为 255 个字符。 |
group_specs (可选) |
body |
对象 |
共享组类型的额外规范。 |
is_public (可选) |
body |
布尔值 |
共享组类型的可见性级别。设置为 |
请求示例¶
{
"share_group_type": {
"is_public": true,
"group_specs": {
"snapshot_support": true
},
"share_types": ["ecd11f4c-d811-4471-b656-c755c77e02ba"],
"name": "my_new_group_type"
}
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
共享组类型 ID。 |
group_specs |
body |
对象 |
共享组类型的额外规范。 |
name |
body |
字符串 |
共享组类型名称。 |
share_types |
body |
数组 |
共享类型 ID 的列表。 |
is_public |
body |
布尔值 |
共享组类型的可见性级别。设置为 |
is_default |
body |
布尔值 |
定义创建的共享组类型是默认类型还是不是。如果返回值为 true,则它是默认共享组类型,否则不是默认类型。 新增于版本 2.46 |
响应示例¶
{
"share_group_type": {
"is_public": true,
"group_specs": {},
"share_types": ["ecd11f4c-d811-4471-b656-c755c77e02ba"],
"id": "89861c2a-10bf-4013-bdd4-3d020466aee4",
"name": "test_group_type",
"is_default": false
}
}
在版本 2.31 中添加。
显示共享组类型的访问详情。
您只能查看私有共享组类型的访问详情。
响应码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_group_type_id |
body |
字符串 |
共享组类型 ID。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
share_group_type_id |
body |
字符串 |
共享组类型 ID。 |
project_id |
body |
字符串 |
已授予访问该类型资源的项目的 ID。 |
响应示例¶
{
"share_group_type_access": [
{
"share_group_type_id": "1732f284-401d-41d9-a494-425451e8b4b8",
"project_id": "818a3f48dcd644909b3fa2e45a399a27"
},
{
"share_group_type_id": "1732f284-401d-41d9-a494-425451e8b4b8",
"project_id": "e1284adea3ee4d2482af5ed214f3ad90"
}
]
}
在版本 2.31 中添加。
为共享组类型设置一个额外规范。
响应码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此资源有一个正在进行的操作,与此请求冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_group_type_id |
body |
字符串 |
共享组类型 ID。 |
group_specs |
body |
对象 |
共享组类型的额外规范。 |
请求示例¶
{
"group_specs": {
"my_group_key": "my_group_value"
}
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
group_specs |
body |
对象 |
共享组类型的额外规范。 |
响应示例¶
{
"group_specs": {
"my_group_key": "my_group_value"
}
}
在版本 2.31 中添加。
取消设置共享类型的额外规范。
响应码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_group_type_id |
body |
字符串 |
共享组类型 ID。 |
group_spec_key |
body |
字符串 |
共享组类型的额外规范键。 |
在版本 2.31 中添加。
为项目添加共享组类型访问权限。
您只能添加私有共享组类型的访问权限。
响应码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此资源有一个正在进行的操作,与此请求冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_group_type_id |
路径 |
字符串 |
共享组类型的 UUID。 |
addProjectAccess |
body |
对象 |
表示应授予访问权限的项目资源的的对象。 |
project |
body |
字符串 |
需要授予访问该类型资源的项目的 ID。 |
请求示例¶
{
"addProjectAccess": {
"project": "e1284adea3ee4d2482af5ed214f3ad90"
}
}
在版本 2.31 中添加。
从项目删除共享组类型访问权限。
您只能删除私有共享组类型的访问权限。
响应码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_group_type_id |
路径 |
字符串 |
共享组类型的 UUID。 |
removeProjectAccess |
body |
对象 |
表示应撤销访问权限的项目资源的的对象。 |
project |
body |
字符串 |
必须撤销访问权限的项目的 ID。 |
请求示例¶
{
"removeProjectAccess": {
"project": "818a3f48dcd644909b3fa2e45a399a27"
}
}
在版本 2.31 中添加。
删除一个共享组类型。
响应码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
share_group_type_id |
路径 |
字符串 |
共享组类型的 UUID。 |
共享组快照 (自 API v2.31 起)¶
使用共享文件系统服务创建共享组的快照。共享组快照是包含在共享组中的数据的某个时间点的只读副本。您可以创建、更新和删除共享组快照。创建共享组快照后,您可以从该快照创建共享组。
您可以更新共享组快照以重命名它、更改其描述或更新其状态。
作为管理员,您还可以重置组快照的状态。使用 policy.yaml 文件将权限授予其他角色的这些操作。
注意
自 API 版本 2.55 起,共享组快照 API 不再被视为实验性。
在版本 2.31 中添加。
列出所有共享组快照。
响应码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
all_tenants (可选) |
查询 |
布尔值 |
(仅限管理员)。定义是否为所有项目列出请求的资源。设置为 |
name (可选) |
查询 |
字符串 |
用于按资源名称过滤资源的由用户定义名称。 |
description(可选) |
查询 |
字符串 |
可用于筛选资源的、用户定义的描述文本。 |
status (可选) |
查询 |
字符串 |
按共享组快照状态进行过滤。有效值为 |
share_group_id (可选) |
查询 |
字符串 |
用于过滤资源的共享组的 UUID。 版本 2.31 中新增 |
limit (可选) |
查询 |
整数 |
要返回的共享组成员的最大数量。 |
offset (可选) |
查询 |
整数 |
用于定义资源列表起点的偏移量。 |
sort_key (可选) |
查询 |
字符串 |
用于对共享列表进行排序的键。有效值为 |
sort_dir (可选) |
查询 |
字符串 |
用于对资源列表进行排序的方向。有效值为 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
对象 |
共享组快照 ID。 |
name |
body |
字符串 |
资源的由用户定义的名称。 |
links |
body |
字符串 |
共享组快照链接。 |
响应示例¶
{
"share_group_snapshot": [
{
"links": [
{
"href": "http://192.168.98.191:8786/v2/e23850eeb91d4fa3866af634223e454c/share_group_snapshot/46bf5875-58d6-4816-948f-8828423b0b9f",
"rel": "self"
},
{
"href": "http://192.168.98.191:8786/e23850eeb91d4fa3866af634223e454c/share_group_snapshot/46bf5875-58d6-4816-948f-8828423b0b9f",
"rel": "bookmark"
}
],
"name": null,
"id": "46bf5875-58d6-4816-948f-8828423b0b9f"
}
]
}
在版本 2.31 中添加。
列出带有详情的所有共享组快照。
响应码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
all_tenants (可选) |
查询 |
布尔值 |
(仅限管理员)。定义是否为所有项目列出请求的资源。设置为 |
name (可选) |
查询 |
字符串 |
用于按资源名称过滤资源的由用户定义名称。 |
description(可选) |
查询 |
字符串 |
可用于筛选资源的、用户定义的描述文本。 |
status (可选) |
查询 |
字符串 |
按共享组快照状态进行过滤。有效值为 |
share_group_id (可选) |
查询 |
字符串 |
用于过滤资源的共享组的 UUID。 版本 2.31 中新增 |
limit (可选) |
查询 |
整数 |
要返回的共享组成员的最大数量。 |
offset (可选) |
查询 |
整数 |
用于定义资源列表起点的偏移量。 |
sort_key (可选) |
查询 |
字符串 |
用于对共享列表进行排序的键。有效值为 |
sort_dir (可选) |
查询 |
字符串 |
用于对资源列表进行排序的方向。有效值为 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
对象 |
共享组快照 ID。 |
project_id |
body |
字符串 |
拥有资源的项目的 ID。 |
status |
body |
字符串 |
按共享组快照状态进行过滤。有效值为 |
share_group_id |
body |
字符串 |
共享组的 UUID。 版本 2.31 中新增 |
name |
body |
字符串 |
资源的由用户定义的名称。 |
description |
body |
字符串 |
资源的由用户定义的描述。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
members |
body |
字符串 |
共享组快照成员。 |
links |
body |
字符串 |
共享组快照链接。 |
响应示例¶
{
"share_group_snapshots": [
{
"status": "available",
"share_group_id": "cd7a3d06-23b3-4d05-b4ca-7c9a20faa95f",
"links": [
{
"href": "http://192.168.98.191:8786/v2/e23850eeb91d4fa3866af634223e454c/share_group_snapshot/46bf5875-58d6-4816-948f-8828423b0b9f",
"rel": "self"
},
{
"href": "http://192.168.98.191:8786/e23850eeb91d4fa3866af634223e454c/share_group_snapshot/46bf5875-58d6-4816-948f-8828423b0b9f",
"rel": "bookmark"
}
],
"name": null,
"members": [],
"created_at": "2017-08-10T03:01:39.000000",
"project_id": "e23850eeb91d4fa3866af634223e454c",
"id": "46bf5875-58d6-4816-948f-8828423b0b9f",
"description": null
},
{
"status": "available",
"share_group_id": "cd7a3d06-23b3-4d05-b4ca-7c9a20faa95f",
"links": [
{
"href": "http://192.168.98.191:8786/v2/e23850eeb91d4fa3866af634223e454c/share_group_snapshot/9d8ed9be-4454-4df0-b0ae-8360b623d93d",
"rel": "self"
},
{
"href": "http://192.168.98.191:8786/e23850eeb91d4fa3866af634223e454c/share_group_snapshot/9d8ed9be-4454-4df0-b0ae-8360b623d93d",
"rel": "bookmark"
}
],
"name": null,
"members": [],
"created_at": "2017-08-10T03:01:28.000000",
"project_id": "e23850eeb91d4fa3866af634223e454c",
"id": "9d8ed9be-4454-4df0-b0ae-8360b623d93d",
"description": null
}
]
}
在版本 2.31 中添加。
列出所有共享组快照成员。
响应码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
group_snapshot_id |
路径 |
字符串 |
组快照 ID。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
对象 |
共享组快照 ID。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
project_id |
body |
字符串 |
拥有资源的项目的 ID。 |
size |
body |
整数 |
快照大小,以 GiB 为单位。 |
share_protocol |
body |
字符串 |
共享快照的文件系统协议。有效值为 |
name |
body |
字符串 |
资源的由用户定义的名称。 |
share_group_snapshot_id |
body |
对象 |
共享组快照 ID。 |
share_id |
body |
字符串 |
用于创建快照的源共享的 UUID。 |
响应示例¶
{
"share_group_snapshot_members": [
{
"status": "available",
"share_id": "406ea93b-32e9-4907-a117-148b3945749f",
"created_at": "2017-09-07T11:50:39.000000",
"share_proto": "NFS",
"share_size": 1,
"id": "6d221c1d-0200-461e-8d20-24b4776b9ddb",
"size": 1
},
{
"status": "available",
"share_id": "406ea93b-32e9-4907-a117-148b3945749f",
"created_at": "2015-09-07T11:50:39.000000",
"share_proto": "NFS",
"share_size": 1,
"id": "6d221c1d-0200-461e-8d20-24b4776b9ddb",
"size": 1
}
]
}
在版本 2.31 中添加。
显示共享组快照的详情。
响应码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
group_snapshot_id |
路径 |
字符串 |
组快照 ID。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
对象 |
共享组快照 ID。 |
project_id |
body |
字符串 |
拥有资源的项目的 ID。 |
status |
body |
字符串 |
按共享组快照状态进行过滤。有效值为 |
share_group_id |
body |
字符串 |
共享组的 UUID。 版本 2.31 中新增 |
name |
body |
字符串 |
资源的由用户定义的名称。 |
description |
body |
字符串 |
资源的由用户定义的描述。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
members |
body |
字符串 |
共享组快照成员。 |
links |
body |
字符串 |
共享组快照链接。 |
响应示例¶
{
"share_group_snapshot": {
"status": "creating",
"share_group_id": "cd7a3d06-23b3-4d05-b4ca-7c9a20faa95f",
"links": [
{
"href": "http://192.168.98.191:8786/v2/e23850eeb91d4fa3866af634223e454c/share_group_snapshot/46bf5875-58d6-4816-948f-8828423b0b9f",
"rel": "self"
},
{
"href": "http://192.168.98.191:8786/e23850eeb91d4fa3866af634223e454c/share_group_snapshot/46bf5875-58d6-4816-948f-8828423b0b9f",
"rel": "bookmark"
}
],
"name": null,
"members": [],
"created_at": "2017-08-10T03:01:39.442509",
"project_id": "e23850eeb91d4fa3866af634223e454c",
"id": "46bf5875-58d6-4816-948f-8828423b0b9f",
"description": null
}
}
在版本 2.31 中添加。
从共享创建快照。
响应码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
422 - 无法处理的实体 |
请求的实体格式无法被请求的资源以该方法处理。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
name (可选) |
body |
字符串 |
用户定义的资源名称。该字段的值限制为 255 个字符。 |
description(可选) |
body |
字符串 |
用户定义的资源描述。该字段的值限制为 255 个字符。 |
share_group_id |
body |
字符串 |
共享组的 UUID。 版本 2.31 中新增 |
请求示例¶
{
"share_group_snapshot": {
"share_group_id": "cd7a3d06-23b3-4d05-b4ca-7c9a20faa95f",
"name": "test",
"description": "test description"
}
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
对象 |
共享组快照 ID。 |
project_id |
body |
字符串 |
拥有资源的项目的 ID。 |
status |
body |
字符串 |
按共享组快照状态进行过滤。有效值为 |
share_group_id |
body |
字符串 |
共享组的 UUID。 版本 2.31 中新增 |
name |
body |
字符串 |
资源的由用户定义的名称。 |
description |
body |
字符串 |
资源的由用户定义的描述。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
members |
body |
字符串 |
共享组快照成员。 |
links |
body |
字符串 |
共享组快照链接。 |
响应示例¶
{
"share_group_snapshot": {
"status": "creating",
"share_group_id": "cd7a3d06-23b3-4d05-b4ca-7c9a20faa95f",
"links": [
{
"href": "http://192.168.98.191:8786/v2/e23850eeb91d4fa3866af634223e454c/share_group_snapshot/46bf5875-58d6-4816-948f-8828423b0b9f",
"rel": "self"
},
{
"href": "http://192.168.98.191:8786/e23850eeb91d4fa3866af634223e454c/share_group_snapshot/46bf5875-58d6-4816-948f-8828423b0b9f",
"rel": "bookmark"
}
],
"name": null,
"members": [],
"created_at": "2017-08-10T03:01:39.442509",
"project_id": "e23850eeb91d4fa3866af634223e454c",
"id": "46bf5875-58d6-4816-948f-8828423b0b9f",
"description": null
}
}
在版本 2.31 中添加。
仅管理员可用。显式更新共享组快照的状态。
使用 policy.yaml 文件将此操作的权限授予其他角色。
响应码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
group_snapshot_id |
路径 |
字符串 |
组快照 ID。 |
status |
body |
字符串 |
按共享组快照状态进行过滤。有效值为 |
请求示例¶
{
"reset_status": {
"status": "error"
}
}
在版本 2.31 中添加。
更新一个共享组快照。
响应码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
422 - 无法处理的实体 |
请求的实体格式无法被请求的资源以该方法处理。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
group_snapshot_id |
路径 |
字符串 |
组快照 ID。 |
name (可选) |
body |
字符串 |
用户定义的资源名称。该字段的值限制为 255 个字符。 |
description(可选) |
body |
字符串 |
用户定义的资源描述。该字段的值限制为 255 个字符。 |
请求示例¶
{
"snapshot": {
"display_name": "snapshot_Share1",
"display_description": "I am changing a description also. Here is a snapshot of share Share1"
}
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
对象 |
共享组快照 ID。 |
project_id |
body |
字符串 |
拥有资源的项目的 ID。 |
status |
body |
字符串 |
按共享组快照状态进行过滤。有效值为 |
share_group_id |
body |
字符串 |
共享组的 UUID。 版本 2.31 中新增 |
name |
body |
字符串 |
资源的由用户定义的名称。 |
description |
body |
字符串 |
资源的由用户定义的描述。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
members |
body |
字符串 |
共享组快照成员。 |
links |
body |
字符串 |
共享组快照链接。 |
响应示例¶
{
"share_group_snapshot": {
"status": "creating",
"share_group_id": "cd7a3d06-23b3-4d05-b4ca-7c9a20faa95f",
"links": [
{
"href": "http://192.168.98.191:8786/v2/e23850eeb91d4fa3866af634223e454c/share_group_snapshot/46bf5875-58d6-4816-948f-8828423b0b9f",
"rel": "self"
},
{
"href": "http://192.168.98.191:8786/e23850eeb91d4fa3866af634223e454c/share_group_snapshot/46bf5875-58d6-4816-948f-8828423b0b9f",
"rel": "bookmark"
}
],
"name": null,
"members": [],
"created_at": "2017-08-10T03:01:39.442509",
"project_id": "e23850eeb91d4fa3866af634223e454c",
"id": "46bf5875-58d6-4816-948f-8828423b0b9f",
"description": null
}
}
在版本 2.31 中添加。
删除一个共享组快照。
响应码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
group_snapshot_id |
路径 |
字符串 |
组快照 ID。 |
共享传输 (自 API v2.77 起)¶
在项目之间传输共享。
从源项目命名空间到目标项目命名空间的启动共享传输。
先决条件
共享
status必须为available如果共享具有快照,则这些快照必须为
available共享不能属于共享组
响应码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
transfer |
body |
对象 |
传输对象。 |
name (可选) |
body |
字符串 |
传输显示名称。 |
share_id |
body |
字符串 |
共享的 UUID。 |
请求示例¶
{
"transfer": {
"share_id": "29476819-28a9-4b1a-a21d-3b2d203025a0",
"name": "test_transfer"
}
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
传输 UUID。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
name (可选) |
body |
字符串 |
传输显示名称。 |
resource_type |
body |
字符串 |
传输资源的类型。 |
resource_id |
body |
字符串 |
传输资源的 UUID。 |
auth_key |
body |
字符串 |
传输的身份验证密钥。 |
source_project_id |
body |
字符串 |
拥有资源的项目的 ID。 |
destination_project_id |
body |
字符串 |
接受传输资源的目标项目的 UUID。 |
accepted |
body |
布尔值 |
传输是否已被接受。 |
expires_at |
body |
字符串 |
资源传输到期的时间戳。到期后,将自动删除。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
links |
body |
数组 |
资源的分页和书签链接。 |
响应示例¶
{
"transfer": {
"id": "f21c72c4-2b77-445b-aa12-e8d1b44163a2",
"created_at": "2022-09-06T08:17:43.629495",
"name": "test_transfer",
"resource_type": "share",
"resource_id": "29476819-28a9-4b1a-a21d-3b2d203025a0",
"auth_key": "406a2d67cdb09afe",
"source_project_id": "714198c7ac5e45a4b785de732ea4695d",
"destination_project_id": null,
"accepted": false,
"expires_at": "2022-09-06T08:22:43.629495",
"links": [
{
"rel": "self",
"href": "http://192.168.48.129/shar/v2/share-transfer/f21c72c4-2b77-445b-aa12-e8d1b44163a2"
},
{
"rel": "bookmark",
"href": "http://192.168.48.129/shar/share-transfer/f21c72c4-2b77-445b-aa12-e8d1b44163a2"
}
]
}
}
接受共享传输。
响应码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
413 - 请求实体过大 |
无法完成此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
transfer_id |
路径 |
字符串 |
传输的唯一标识符。 |
auth_key |
body |
字符串 |
传输的身份验证密钥。 |
clear_access_rules (可选) |
body |
布尔值 |
接受共享时是否清除所有访问规则。 |
请求示例¶
{
"accept": {
"auth_key": "d7ef426932068a33",
"clear_access_rules": true
}
}
列出共享传输。
响应码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
all_tenants (可选) |
查询 |
布尔值 |
(仅限管理员)。定义是否为所有项目列出请求的资源。设置为 |
limit (可选) |
查询 |
整数 |
要返回的共享组成员的最大数量。 |
offset (可选) |
查询 |
整数 |
用于定义资源列表起点的偏移量。 |
sort_key (可选) |
查询 |
字符串 |
用于对传输列表进行排序的键。有效值为 |
sort_dir (可选) |
查询 |
字符串 |
用于对资源列表进行排序的方向。有效值为 |
name (可选) |
查询 |
字符串 |
用于按资源名称过滤资源的由用户定义名称。 |
name~ (可选) |
查询 |
字符串 |
可用于过滤共享、共享快照、共享网络、传输或共享组的名称模式。 版本 2.36 中新增 |
resource_type (可选) |
查询 |
字符串 |
创建传输的资源的类型。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
transfers |
body |
数组 |
传输列表。 |
id |
body |
字符串 |
传输 UUID。 |
resource_type |
body |
字符串 |
传输资源的类型。 |
resource_id |
body |
字符串 |
传输资源的 UUID。 |
name (可选) |
body |
字符串 |
传输显示名称。 |
links |
body |
数组 |
资源的分页和书签链接。 |
响应示例¶
{
"transfers": [
{
"id": "02a948b4-671b-4c62-b13a-18d613cb4576",
"resource_type": "share",
"resource_id": "0fe7cf64-b879-4902-9d86-f80aeff12b06",
"name": "transfer2",
"links": [
{
"rel": "self",
"href": "http://192.168.48.129/shar/v2/share-transfer/02a948b4-671b-4c62-b13a-18d613cb4576"
},
{
"rel": "bookmark",
"href": "http://192.168.48.129/shar/share-transfer/02a948b4-671b-4c62-b13a-18d613cb4576"
}
]
},
{
"id": "a10209ff-b55d-4fed-9f63-abea53b6f107",
"resource_type": "share",
"resource_id": "29476819-28a9-4b1a-a21d-3b2d203025a0",
"name": "transfer1",
"links": [
{
"rel": "self",
"href": "http://192.168.48.129/shar/v2/share-transfer/a10209ff-b55d-4fed-9f63-abea53b6f107"
},
{
"rel": "bookmark",
"href": "http://192.168.48.129/shar/share-transfer/a10209ff-b55d-4fed-9f63-abea53b6f107"
}
]
}
]
}
列出共享传输,包含详细信息。
响应码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
all_tenants (可选) |
查询 |
布尔值 |
(仅限管理员)。定义是否为所有项目列出请求的资源。设置为 |
limit (可选) |
查询 |
整数 |
要返回的共享组成员的最大数量。 |
offset (可选) |
查询 |
整数 |
用于定义资源列表起点的偏移量。 |
sort_key (可选) |
查询 |
字符串 |
用于对传输列表进行排序的键。有效值为 |
sort_dir (可选) |
查询 |
字符串 |
用于对资源列表进行排序的方向。有效值为 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
transfers |
body |
数组 |
传输列表。 |
id |
body |
字符串 |
传输 UUID。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
name (可选) |
body |
字符串 |
传输显示名称。 |
resource_type |
body |
字符串 |
传输资源的类型。 |
resource_id |
body |
字符串 |
传输资源的 UUID。 |
source_project_id |
body |
字符串 |
拥有资源的项目的 ID。 |
destination_project_id |
body |
字符串 |
接受传输资源的目标项目的 UUID。 |
accepted |
body |
布尔值 |
传输是否已被接受。 |
expires_at |
body |
字符串 |
资源传输到期的时间戳。到期后,将自动删除。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
links |
body |
数组 |
资源的分页和书签链接。 |
响应示例¶
{
"transfers": [
{
"id": "42b0fab4-df77-4f25-a958-5370e1c95ed2",
"created_at": "2022-09-07T01:52:39.000000",
"name": "transfer2",
"resource_type": "share",
"resource_id": "0fe7cf64-b879-4902-9d86-f80aeff12b06",
"source_project_id": "714198c7ac5e45a4b785de732ea4695d",
"destination_project_id": null,
"accepted": false,
"expires_at": "2022-09-07T01:57:39.000000",
"links": [
{
"rel": "self",
"href": "http://192.168.48.129/shar/v2/share-transfer/42b0fab4-df77-4f25-a958-5370e1c95ed2"
},
{
"rel": "bookmark",
"href": "http://192.168.48.129/shar/share-transfer/42b0fab4-df77-4f25-a958-5370e1c95ed2"
}
]
},
{
"id": "506a7e77-42e7-4f33-ac36-1d1dd7f2b9af",
"created_at": "2022-09-07T01:52:30.000000",
"name": "transfer1",
"resource_type": "share",
"resource_id": "29476819-28a9-4b1a-a21d-3b2d203025a0",
"source_project_id": "714198c7ac5e45a4b785de732ea4695d",
"destination_project_id": null,
"accepted": false,
"expires_at": "2022-09-07T01:57:30.000000",
"links": [
{
"rel": "self",
"href": "http://192.168.48.129/shar/v2/share-transfer/506a7e77-42e7-4f33-ac36-1d1dd7f2b9af"
},
{
"rel": "bookmark",
"href": "http://192.168.48.129/shar/share-transfer/506a7e77-42e7-4f33-ac36-1d1dd7f2b9af"
}
]
}
]
}
显示共享传输的详细信息。
响应码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
transfer_id |
路径 |
字符串 |
传输的唯一标识符。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
传输 UUID。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
name (可选) |
body |
字符串 |
传输显示名称。 |
resource_type |
body |
字符串 |
传输资源的类型。 |
resource_id |
body |
字符串 |
传输资源的 UUID。 |
source_project_id |
body |
字符串 |
拥有资源的项目的 ID。 |
destination_project_id |
body |
字符串 |
接受传输资源的目标项目的 UUID。 |
accepted |
body |
布尔值 |
传输是否已被接受。 |
expires_at |
body |
字符串 |
资源传输到期的时间戳。到期后,将自动删除。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
links |
body |
数组 |
资源的分页和书签链接。 |
响应示例¶
{
"transfer": {
"id": "d2035732-d0c0-4380-a44c-f978a264ab1a",
"created_at": "2022-09-07T01:12:29.000000",
"name": "transfer1",
"resource_type": "share",
"resource_id": "29476819-28a9-4b1a-a21d-3b2d203025a0",
"source_project_id": "714198c7ac5e45a4b785de732ea4695d",
"destination_project_id": null,
"accepted": false,
"expires_at": "2022-09-07T01:17:29.000000",
"links": [
{
"rel": "self",
"href": "http://192.168.48.129/shar/v2/share-transfer/d2035732-d0c0-4380-a44c-f978a264ab1a"
},
{
"rel": "bookmark",
"href": "http://192.168.48.129/shar/share-transfer/d2035732-d0c0-4380-a44c-f978a264ab1a"
}
]
}
}
删除共享传输。
响应码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
transfer_id |
路径 |
字符串 |
传输的唯一标识符。 |
资源锁 (自 API v2.81 起)¶
创建、列出、更新和删除资源上用户操作的锁。
在版本 2.81 中添加。
锁定给定资源上的特定操作。
并非所有资源都受支持,并且并非受支持资源上的操作都可以使用此机制防止。只有创建锁的用户或权限更高的用户才能删除或操作锁。云管理员可以使用 policy.yaml 文件来调整其他用户创建的锁的权限。
响应码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此资源有一个正在进行的操作,与此请求冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
service_token (可选) |
标头 |
字符串 |
通过 |
resource_lock |
body |
对象 |
在进行资源锁请求时使用的资源锁对象。所有其他参数都包含在此对象中。 |
resource_id |
body |
字符串 |
锁所针对的资源的 UUID。例如,这可以是锁定的共享的 ID。 |
resource_type |
body |
字符串 |
ID 在 |
resource_action (可选) |
body |
字符串 |
资源锁阻止的与资源相关的操作。例如,如果资源锁阻止删除共享,则 |
lock_reason (可选) |
body |
字符串 |
表示特定资源锁定的原因的文本块。 |
请求示例¶
{
"resource_lock": {
"resource_id": "5a313549-d346-44b6-9650-738ce08a9fee",
"resource_type": "share",
"resource_action": "delete",
"lock_reason": "Locked for deletion until year end audit."
}
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
resource_lock |
body |
对象 |
在进行资源锁请求时使用的资源锁对象。所有其他参数都包含在此对象中。 |
id |
body |
字符串 |
标识特定资源锁的 UUID。 |
user_id |
body |
字符串 |
创建资源锁的用户 ID。 |
project_id |
body |
字符串 |
创建资源锁的项目 ID。 |
lock_context |
body |
字符串 |
锁创建者的上下文。资源锁可以由具有不同角色的用户创建。如果具有 |
resource_type |
body |
字符串 |
ID 在 |
resource_id |
body |
字符串 |
锁所针对的资源的 UUID。例如,这可以是锁定的共享的 ID。 |
resource_action |
body |
字符串 |
资源锁阻止的与资源相关的操作。例如,如果资源锁阻止删除共享,则 |
lock_reason |
body |
字符串 |
表示特定资源锁定的原因的文本块。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
updated_at |
body |
字符串 |
资源上次在服务数据库中更新的日期和时间戳。如果资源在创建后从未更新,则此参数的值设置为 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
links |
body |
数组 |
资源的分页和书签链接。 |
响应示例¶
{
"resource_lock": {
"id": "713dc92d-bf5e-4b04-875b-2b2d284d8f94",
"user_id": "89de351d3b5744b9853ec4829aa0e714",
"project_id": "db2e72fef7864bbbbf210f22da7f1158",
"lock_context": "user",
"resource_type": "share",
"resource_id": "5a313549-d346-44b6-9650-738ce08a9fee",
"resource_action": "delete",
"lock_reason": "Locked for deletion until year end audit.",
"created_at": "2023-07-17T22:11:48.144302",
"updated_at": null,
"links": [
{
"rel": "self",
"href": "http://203.0.113.30/share/v2/resource_locks/713dc92d-bf5e-4b04-875b-2b2d284d8f94"
},
{
"rel": "bookmark",
"href": "http://203.0.113.30/share/resource_locks/713dc92d-bf5e-4b04-875b-2b2d284d8f94"
}
]
}
}
在版本 2.81 中添加。
使用过滤器检索资源锁
响应码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
service_token (可选) |
标头 |
字符串 |
通过 |
id (可选) |
查询 |
字符串 |
用于按资源锁 ID 过滤资源锁的 ID。 |
resource_id (可选) |
查询 |
字符串 |
用于按锁所针对的资源 ID 过滤资源锁的 ID。 |
resource_action (可选) |
查询 |
字符串 |
用于过滤资源锁的 |
resource_type (可选) |
查询 |
字符串 |
用于按锁所针对的资源类型过滤资源锁的资源类型。 |
user_id (可选) |
查询 |
字符串 |
用于按用户 ID 过滤资源锁的 ID。 |
project_id (可选) |
查询 |
字符串 |
用于按项目 ID 过滤资源锁的 ID。 |
all_projects (可选) |
查询 |
字符串 |
将此参数设置为 True 以获取所有项目命名空间中的资源锁。 |
lock_context (可选) |
查询 |
字符串 |
用于按锁创建者的上下文过滤锁。 |
created_since (可选) |
查询 |
字符串 |
搜索在指定日期之后创建的资源列表。日期格式为“yyyy-mm-dd”。 |
created_before (可选) |
查询 |
字符串 |
搜索在指定日期之前创建的资源列表。日期格式为“yyyy-mm-dd”。 |
lock_reason (可选) |
查询 |
字符串 |
可用于过滤资源锁的锁原因。 |
lock_reason~ (可选) |
查询 |
字符串 |
可用于过滤资源锁的锁原因模式。 |
sort_key (可选) |
查询 |
字符串 |
用于对资源锁列表进行排序的键。有效值为 |
sort_dir (可选) |
查询 |
字符串 |
用于对资源列表进行排序的方向。有效值为 |
offset (可选) |
查询 |
整数 |
用于定义资源列表起点的偏移量。 |
with_count (可选) |
查询 |
布尔值 |
是否在 API 响应中显示 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
resource_locks |
body |
对象 |
包含资源锁集合或列表的资源锁对象。 |
id |
body |
字符串 |
标识特定资源锁的 UUID。 |
user_id |
body |
字符串 |
创建资源锁的用户 ID。 |
project_id |
body |
字符串 |
创建资源锁的项目 ID。 |
lock_context |
body |
字符串 |
锁创建者的上下文。资源锁可以由具有不同角色的用户创建。如果具有 |
resource_type |
body |
字符串 |
ID 在 |
resource_id |
body |
字符串 |
锁所针对的资源的 UUID。例如,这可以是锁定的共享的 ID。 |
resource_action |
body |
字符串 |
资源锁阻止的与资源相关的操作。例如,如果资源锁阻止删除共享,则 |
lock_reason |
body |
字符串 |
表示特定资源锁定的原因的文本块。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
updated_at |
body |
字符串 |
资源上次在服务数据库中更新的日期和时间戳。如果资源在创建后从未更新,则此参数的值设置为 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
links |
body |
数组 |
资源的分页和书签链接。 |
count (可选) |
body |
整数 |
应用分页之前请求的资源的计数。如果查询中提供了“with_count=True”,则此参数仅存在于 API 响应中。 |
响应示例¶
{
"resource_locks": [
{
"id": "118750ee-b62b-4cae-9a94-7da29a4f831f",
"user_id": "89de351d3b5744b9853ec4829aa0e714",
"project_id": "db2e72fef7864bbbbf210f22da7f1158",
"lock_context": "user",
"resource_type": "share",
"resource_id": "4c0b4d35-4ea8-4811-a1e2-a065c64225a8",
"resource_action": "delete",
"lock_reason": null,
"created_at": "2023-07-17T22:53:18.894553",
"updated_at": null,
"links": [
{
"rel": "self",
"href": "http://203.0.113.30/share/v2/resource_locks/118750ee-b62b-4cae-9a94-7da29a4f831f"
},
{
"rel": "bookmark",
"href": "http://203.0.113.30/share/resource_locks/118750ee-b62b-4cae-9a94-7da29a4f831f"
}
]
},
{
"id": "713dc92d-bf5e-4b04-875b-2b2d284d8f94",
"user_id": "89de351d3b5744b9853ec4829aa0e714",
"project_id": "db2e72fef7864bbbbf210f22da7f1158",
"lock_context": "user",
"resource_type": "share",
"resource_id": "5a313549-d346-44b6-9650-738ce08a9fee",
"resource_action": "delete",
"lock_reason": "Locked for deletion until year end audit.",
"created_at": "2023-07-17T22:11:48.144302",
"updated_at": null,
"links": [
{
"rel": "self",
"href": "http://203.0.113.30/share/v2/resource_locks/713dc92d-bf5e-4b04-875b-2b2d284d8f94"
},
{
"rel": "bookmark",
"href": "http://203.0.113.30/share/resource_locks/713dc92d-bf5e-4b04-875b-2b2d284d8f94"
}
]
}
]
}
在版本 2.81 中添加。
检索特定的资源锁
默认情况下,项目内所有用户都可以查看资源锁。云管理员可以使用 policy.yaml 文件来调整此行为。
响应码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
service_token (可选) |
标头 |
字符串 |
通过 |
resource_lock_id |
路径 |
字符串 |
资源锁的 UUID。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
resource_lock |
body |
对象 |
在进行资源锁请求时使用的资源锁对象。所有其他参数都包含在此对象中。 |
id |
body |
字符串 |
标识特定资源锁的 UUID。 |
user_id |
body |
字符串 |
创建资源锁的用户 ID。 |
project_id |
body |
字符串 |
创建资源锁的项目 ID。 |
lock_context |
body |
字符串 |
锁创建者的上下文。资源锁可以由具有不同角色的用户创建。如果具有 |
resource_type |
body |
字符串 |
ID 在 |
resource_id |
body |
字符串 |
锁所针对的资源的 UUID。例如,这可以是锁定的共享的 ID。 |
resource_action |
body |
字符串 |
资源锁阻止的与资源相关的操作。例如,如果资源锁阻止删除共享,则 |
lock_reason |
body |
字符串 |
表示特定资源锁定的原因的文本块。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
updated_at |
body |
字符串 |
资源上次在服务数据库中更新的日期和时间戳。如果资源在创建后从未更新,则此参数的值设置为 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
links |
body |
数组 |
资源的分页和书签链接。 |
响应示例¶
{
"resource_lock": {
"id": "713dc92d-bf5e-4b04-875b-2b2d284d8f94",
"user_id": "89de351d3b5744b9853ec4829aa0e714",
"project_id": "db2e72fef7864bbbbf210f22da7f1158",
"lock_context": "user",
"resource_type": "share",
"resource_id": "5a313549-d346-44b6-9650-738ce08a9fee",
"resource_action": "delete",
"lock_reason": "Locked for deletion until year end audit.",
"created_at": "2023-07-17T22:11:48.144302",
"updated_at": null,
"links": [
{
"rel": "self",
"href": "http://203.0.113.30/share/v2/resource_locks/713dc92d-bf5e-4b04-875b-2b2d284d8f94"
},
{
"rel": "bookmark",
"href": "http://203.0.113.30/share/resource_locks/713dc92d-bf5e-4b04-875b-2b2d284d8f94"
}
]
}
}
在版本 2.81 中添加。
更新特定的资源锁
默认情况下,资源锁可以由创建锁的用户更新,除非 lock_context 设置为 admin 或 service。具有 service 角色的用户需要操作具有 lock_context 设置为 service 的锁。具有 admin 角色的用户可以操作所有锁。管理员可以使用 policy.yaml 来调整此行为。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
service_token (可选) |
标头 |
字符串 |
通过 |
resource_lock_id |
路径 |
字符串 |
资源锁的 UUID。 |
resource_lock |
body |
对象 |
在进行资源锁请求时使用的资源锁对象。所有其他参数都包含在此对象中。 |
resource_action (可选) |
body |
字符串 |
资源锁阻止的与资源相关的操作。例如,如果资源锁阻止删除共享,则 |
lock_reason (可选) |
body |
字符串 |
表示特定资源锁定的原因的文本块。 |
请求示例¶
{
"resource_lock": {
"lock_reason": "This is a protected share"
}
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
resource_lock |
body |
对象 |
在进行资源锁请求时使用的资源锁对象。所有其他参数都包含在此对象中。 |
id |
body |
字符串 |
标识特定资源锁的 UUID。 |
user_id |
body |
字符串 |
创建资源锁的用户 ID。 |
project_id |
body |
字符串 |
创建资源锁的项目 ID。 |
lock_context |
body |
字符串 |
锁创建者的上下文。资源锁可以由具有不同角色的用户创建。如果具有 |
resource_type |
body |
字符串 |
ID 在 |
resource_id |
body |
字符串 |
锁所针对的资源的 UUID。例如,这可以是锁定的共享的 ID。 |
resource_action |
body |
字符串 |
资源锁阻止的与资源相关的操作。例如,如果资源锁阻止删除共享,则 |
lock_reason |
body |
字符串 |
表示特定资源锁定的原因的文本块。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
updated_at |
body |
字符串 |
资源上次在服务数据库中更新的日期和时间戳。如果资源在创建后从未更新,则此参数的值设置为 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
links |
body |
数组 |
资源的分页和书签链接。 |
响应示例¶
{
"resource_lock": {
"id": "118750ee-b62b-4cae-9a94-7da29a4f831f",
"user_id": "89de351d3b5744b9853ec4829aa0e714",
"project_id": "db2e72fef7864bbbbf210f22da7f1158",
"lock_context": "user",
"resource_type": "share",
"resource_id": "4c0b4d35-4ea8-4811-a1e2-a065c64225a8",
"resource_action": "delete",
"lock_reason": "This is a protected share",
"created_at": "2023-07-17T22:53:18.894553",
"updated_at": "2023-07-17T23:18:44.284565",
"links": [
{
"rel": "self",
"href": "http://203.0.113.30/share/v2/resource_locks/118750ee-b62b-4cae-9a94-7da29a4f831f"
},
{
"rel": "bookmark",
"href": "http://203.0.113.30/share/resource_locks/118750ee-b62b-4cae-9a94-7da29a4f831f"
}
]
}
}
在版本 2.81 中添加。
删除特定的资源锁
默认情况下,资源锁可以由创建锁的用户删除,除非 lock_context 设置为 admin 或 service。具有 service 角色的用户需要删除具有 lock_context 设置为 service 的锁。具有 admin 角色的用户可以删除任何锁。管理员可以使用 policy.yaml 来调整此行为。
此请求不提供响应体。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
204 - 无内容 |
请求已满足,但服务未返回任何内容。 |
错误¶
代码 |
原因 |
|---|---|
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
service_token (可选) |
标头 |
字符串 |
通过 |
resource_lock_id |
路径 |
字符串 |
资源锁的 UUID。 |
共享文件系统 API (实验性)¶
实验性 API¶
重要提示
以下 API 是版本 2.4 中引入的 实验性功能 的一部分。这些 API 可能会在共享文件系统 API 的未来版本中更改或删除。所有实验性 API 都要求在请求中发送 X-OpenStack-Manila-API-Experimental: True 标头。
共享迁移 (自 API v2.22 起)¶
共享迁移 API 是仅限管理员的实验性 API,允许调用者选择将共享迁移到的目标池,同时仍然允许客户端在迁移期间访问源“共享实例”。
共享迁移采用两阶段方法。迁移的第一阶段是执行最耗时的操作,例如数据复制或复制。在完成第一阶段的数据复制后,管理员需要触发第二阶段,通常称为切换阶段,该阶段可以执行最终同步和删除源共享实例等操作。
在数据复制阶段,用户可以保持连接到源,并且可能需要在切换阶段之后重新连接。为了迁移共享,manila 可能会采用两种机制之一,即驱动程序辅助迁移和主机辅助迁移。
驱动程序辅助 迁移:此机制旨在利用驱动程序优化在相同存储供应商的池之间迁移共享。此机制允许在源保持可写的同时无中断地迁移共享,从而保留所有文件系统元数据和快照。迁移工作负载在存储后端执行。
主机辅助 迁移:此机制旨在以无感知的的方式在两个不同的池之间迁移共享,无论存储供应商如何。此机制的实现不提供驱动程序辅助迁移中找到的相同属性。在主机辅助迁移中,源保持可读,必须在开始迁移之前删除快照,可能会丢失文件系统元数据,并且客户端将在迁移结束时断开连接。迁移工作负载由数据服务执行,数据服务是 manila 用于密集数据操作的专用服务。
这些方法提供不同的功能并影响数据复制和切换的效率。通常,驱动程序辅助迁移仅限于同构存储后端,并且在可用时,预计比主机辅助迁移更快、更高效。驱动程序辅助迁移在存储后端上发生,而主机辅助迁移在运行 manila 数据服务的 OpenStack 节点上发生。
在开始迁移时,首先尝试 驱动程序辅助 迁移。如果共享文件系统服务检测到无法执行 驱动程序辅助 迁移,则它将继续尝试 主机辅助 迁移。
数据迁移的可能用例包括
迁移带有快照的共享。
为维护关闭物理存储设备
释放稀疏配置后端中的空间。
在共享服务器之间进行负载均衡。
重新配置共享
注意
共享迁移 API 是 实验性 API。
在版本 2.22 中添加。
启动共享迁移。此 API 将启动共享数据复制到新主机。复制操作不会中断。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此资源有一个正在进行的操作,与此请求冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id |
body |
字符串 |
拥有资源的项目的 ID。 |
share_id |
路径 |
字符串 |
共享的 UUID。 |
force_host_assisted_migration (可选) |
body |
布尔值 |
强制使用主机辅助机制,从而使用数据服务在后端之间复制数据。此参数值默认为 |
preserve_snapshots |
body |
布尔值 |
指定是否应强制在目标处保留所有现有快照。如果设置为 |
preserve_metadata |
body |
布尔值 |
指定是否应强制保留所有文件系统元数据。如果设置为 |
nondisruptive |
body |
布尔值 |
指定是否应仅在不中断迁移期间客户端的情况下执行迁移。为此,预计导出位置不会更改。如果设置为 |
可写 |
body |
布尔值 |
指定是否应仅在共享可以保持可写的情况下执行迁移。如果将此行为设置为 |
new_share_type_id (可选) |
body |
字符串 |
如果希望重新配置共享,以便可以在所需的目标池中分配它,调用者可以提供要使用的新共享类型。这通常适用于要迁移到以相反驱动程序模式运行的池的共享。 |
new_share_network_id (可选) |
body |
字符串 |
如果希望更改共享的共享网络,以便可以在所需的目标池中分配它,调用者可以提供要使用的新共享网络。这通常适用于要迁移到由处理共享服务器的驱动程序管理的不同的可用区或池的共享。 |
host |
body |
字符串 |
目标池,格式为 |
请求示例¶
{
"migration_start":
{
"share_id": "406ea93b-32e9-4907-a117-148b3945749f",
"writable": true,
"preserve_snapshots": true,
"preserve_metadata": true,
"nondisruptive": true,
"host": "ubuntu@generic2#GENERIC2",
"new_share_type_id": "foo_share_type_id",
"new_share_network_id": "bar_share_network_id",
"force_host_assisted_migration": false
}
}
在版本 2.22 中添加。
完成共享迁移。此 API 将启动从源到目标的切换。此操作可能会中断。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此资源有一个正在进行的操作,与此请求冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id |
body |
字符串 |
拥有资源的项目的 ID。 |
share_id |
路径 |
字符串 |
共享的 UUID。 |
请求示例¶
{
"migration_complete":
{
"share_id": "406ea93b-32e9-4907-a117-148b3945749f"
}
}
在版本 2.22 中添加。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此资源有一个正在进行的操作,与此请求冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
share_id |
路径 |
字符串 |
共享的 UUID。 |
project_id |
body |
字符串 |
拥有资源的项目的 ID。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
details |
body |
对象 |
迁移进度的其他驱动程序特定详细信息。 版本 2.59 中新增 |
total_progress |
body |
整数 |
定义共享迁移的总进度。 |
task_state |
body |
字符串 |
对于共享迁移,迁移任务状态。有效值为 版本 2.5 中新增 |
请求示例¶
{
"migration_get_process":
{
"share_id": "406ea93b-32e9-4907-a117-148b3945749f"
}
}
Response_parameters¶
{
"total_progress": 100,
"task_state": "migration_driver_phase1_done"
}
在版本 2.22 中添加。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此资源有一个正在进行的操作,与此请求冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
share_id |
路径 |
字符串 |
共享的 UUID。 |
project_id |
body |
字符串 |
拥有资源的项目的 ID。 |
请求示例¶
{
"migration_cancel":
{
"share_id": "406ea93b-32e9-4907-a117-148b3945749f"
}
}
共享服务器迁移 (自 API v2.57 起)¶
共享服务器迁移 API 是仅限管理员的实验性 API,允许调用者选择将共享服务器迁移到的目标后端。
共享服务器迁移使用两阶段方法。在迁移的第一阶段,执行数据复制或复制操作,因此是较长的阶段。在完成第一阶段的数据复制后,管理员可以触发第二阶段,该阶段包括最终同步并使新的共享服务器可用以使用,而后者变为非活动状态。
在数据复制阶段,源共享将保持可用和可写,如果管理员要求并且驱动程序支持,则源共享将保持可用和可写。在第二阶段之后,用户可能需要重新连接到受迁移影响的共享。属于共享服务器的所有共享都会被迁移,并且它们的访问规则将在迁移过程中保留。如果管理员指定并且/或驱动程序支持,共享快照将被复制。
重要提示
为了迁移共享服务器,管理员必须确保服务器上的任何共享都不是复制的或在共享组中。
注意
共享服务器迁移 API 是 实验性 API。
数据迁移的可能用途包括
迁移共享服务器及其所有共享和快照。
为维护关闭物理存储设备。
释放稀疏配置后端中的空间。
在后端之间进行负载均衡。
在版本 2.57 中添加。
检查共享驱动程序是否可以根据指定的目的地主机和 new_share_network_id,以及 writable、nondisruptive 和 preserve_snapshots 标志来处理共享服务器迁移。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此资源有一个正在进行的操作,与此请求冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id |
body |
字符串 |
拥有资源的项目的 ID。 |
share_server_id |
body |
字符串 |
共享服务器的 UUID。 |
preserve_snapshots |
body |
布尔值 |
指定迁移是否强制保留目标端的现有所有快照。如果设置为 |
nondisruptive |
body |
布尔值 |
指定共享服务器迁移是否应在不中断客户端的情况下执行。为此,预计导出位置不会更改。如果设置为 |
可写 |
body |
布尔值 |
指定迁移是否仅在共享可以保持可写状态的情况下执行。如果将此行为设置为 |
new_share_network_id (可选) |
body |
字符串 |
如果愿意更改共享服务器的共享网络,以便可以在所需的的目标后端中分配,调用者可以提供要使用的新共享网络。 |
host |
body |
字符串 |
应迁移共享服务器到的目标后端,格式为 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
compatible |
body |
布尔值 |
考虑到收到的 |
requested_capabilities |
body |
对象 |
发送到服务器的参数,以检查目标主机是否可以处理共享服务器迁移。此对象包含以下属性: |
supported_capabilities |
body |
对象 |
驱动程序支持的共享服务器迁移的属性。它将包含以下项目: |
请求示例¶
{
"migration_check": {
"host": "foohost2@backend2",
"preserve_snapshots": "True",
"writable": "True",
"nondisruptive": "True",
"new_share_network_id": null
}
}
响应示例¶
{
"compatible": false,
"requested_capabilities": {
"writable": "True",
"nondisruptive": "True",
"preserve_snapshots": "True",
"share_network_id": null,
"host": "foohost2@backend2"
},
"supported_capabilities": {
"writable": true,
"nondisruptive": false,
"preserve_snapshots": true,
"share_network_id": "1d04b755-649f-46a4-964c-be9f0395af13",
"migration_cancel": true,
"migration_get_progress": true
}
}
在版本 2.57 中添加。
触发共享服务器迁移。此 API 将启动到新主机的共享服务器迁移的第一阶段。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此资源有一个正在进行的操作,与此请求冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id |
body |
字符串 |
拥有资源的项目的 ID。 |
share_server_id |
body |
字符串 |
共享服务器的 UUID。 |
preserve_snapshots |
body |
布尔值 |
指定迁移是否强制保留目标端的现有所有快照。如果设置为 |
nondisruptive |
body |
布尔值 |
指定共享服务器迁移是否应在不中断客户端的情况下执行。为此,预计导出位置不会更改。如果设置为 |
可写 |
body |
布尔值 |
指定迁移是否仅在共享可以保持可写状态的情况下执行。如果将此行为设置为 |
new_share_network_id (可选) |
body |
字符串 |
如果愿意更改共享服务器的共享网络,以便可以在所需的的目标后端中分配,调用者可以提供要使用的新共享网络。 |
host |
body |
字符串 |
应迁移共享服务器到的目标后端,格式为 |
请求示例¶
{
"migration_start": {
"host": "foohost2@backend2",
"preserve_snapshots": "True",
"writable": "True",
"nondisruptive": "False",
"new_share_network_id": null
}
}
在版本 2.57 中添加。
完成共享服务器迁移。此 API 将启动从源到目标共享服务器的切换。此操作可能会中断服务。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id |
body |
字符串 |
拥有资源的项目的 ID。 |
share_server_id |
body |
字符串 |
共享服务器的 UUID。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
total_progress |
body |
整数 |
定义共享服务器迁移的总进度。 |
task_state |
body |
字符串 |
对于共享服务器迁移,迁移任务状态。有效值为 |
destination_share_server_id |
body |
字符串 |
在共享服务器迁移操作期间在目标后端创建的共享服务器的 UUID。 |
请求示例¶
{
"migration_complete": null
}
响应示例¶
{
"destination_share_server_id": "c2f71561-85e2-4ccb-a91a-e44f9ff6f7ef"
}
在版本 2.57 中添加。
返回正在进行的共享服务器迁移的完成百分比和目标共享服务器 ID。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
409 - Conflict |
此资源有一个正在进行的操作,与此请求冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
share_server_id |
body |
字符串 |
共享服务器的 UUID。 |
project_id |
body |
字符串 |
拥有资源的项目的 ID。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
total_progress |
body |
整数 |
定义共享服务器迁移的总进度。 |
task_state |
body |
字符串 |
对于共享服务器迁移,迁移任务状态。有效值为 |
destination_share_server_id |
body |
字符串 |
在共享服务器迁移操作期间在目标后端创建的共享服务器的 UUID。 |
请求示例¶
{
"migration_get_progress": null
}
响应示例¶
{
"total_progress": 50,
"task_state": "migration_driver_in_progress",
"destination_share_server_id": "c2f71561-85e2-4ccb-a91a-e44f9ff6f7ef"
}
在版本 2.57 中添加。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
share_server_id |
body |
字符串 |
共享服务器的 UUID。 |
project_id |
body |
字符串 |
拥有资源的项目的 ID。 |
请求示例¶
{
"migration_cancel":null
}
共享备份(自 API v2.80 起)¶
使用共享文件系统服务备份共享。共享备份是包含在共享中的数据的某个时间点的只读副本。以下 API 允许控制共享备份。它们在共享文件系统服务中表示为“备份”资源,并且可以具有用户定义的元数据,例如名称和描述。
您可以创建、还原、更新、列出和删除共享备份。创建共享备份后,您可以访问备份并使用它。只要满足某些条件(例如大小),您也可以将备份还原到共享中。
您可以更新共享备份以更改其名称或描述。作为管理员,您还可以重置备份的状态。备份可以是以下状态之一
availableerrorcreatingdeleting恢复中
在备份或还原操作期间,共享可以是以下状态之一
availablebackup_creatingbackup_restoringbackup_restoring_error
自版本 2.80 起添加。
列出所有共享备份。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
share_id (可选) |
查询 |
字符串 |
备份所针对的共享的 UUID。 |
name~ (可选) |
查询 |
字符串 |
可用于筛选共享备份的名称模式。 |
description~ (可选) |
查询 |
字符串 |
可用于筛选共享备份的描述模式。 |
limit (可选) |
查询 |
整数 |
要返回的最大资源记录数。 |
offset (可选) |
查询 |
整数 |
用于定义资源列表起点的偏移量。 |
sort_key (可选) |
查询 |
字符串 |
用于对共享备份列表进行排序的键。有效值为 |
sort_dir (可选) |
查询 |
字符串 |
用于对资源列表进行排序的方向。有效值为 |
status (可选) |
查询 |
字符串 |
按备份状态进行筛选。有效的筛选值可以是“creating”、“error”、“available”、“restoring”。 |
host (可选) |
查询 |
字符串 |
要查询的备份的主机名。通过主机名查询是一项特权操作。如果受 API 策略限制,服务器可能会静默忽略此查询参数。 |
topic(可选) |
查询 |
字符串 |
按备份主题进行筛选。有效的筛选值可以是“manila-data”、“manila-share”。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
共享备份的 UUID。 |
share_id |
body |
字符串 |
备份所针对的共享的 UUID。 |
status |
body |
字符串 |
备份的状态,可以是 |
响应示例¶
{
"share_backups": [
{
"id": "1125c47a-0216-4ee0-a517-0460d63301a6",
"name": "backup3",
"share_id": "112dffd-f033-4248-a315-319ca2bd70c8",
"status": "available"
},
{
"id": "c1cdc0ce-4ddc-4018-9796-505d2e26fcc7",
"name": "backup1",
"share_id": "7b11dd53-546e-43cd-af0e-875434238c30",
"status": "creating"
}
]
}
自版本 2.80 起添加。
列出带有详细信息的共享备份。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
share_id (可选) |
查询 |
字符串 |
备份所针对的共享的 UUID。 |
name~ (可选) |
查询 |
字符串 |
可用于筛选共享备份的名称模式。 |
description~ (可选) |
查询 |
字符串 |
可用于筛选共享备份的描述模式。 |
limit (可选) |
查询 |
整数 |
要返回的最大资源记录数。 |
offset (可选) |
查询 |
整数 |
用于定义资源列表起点的偏移量。 |
sort_key (可选) |
查询 |
字符串 |
用于对共享备份列表进行排序的键。有效值为 |
sort_dir (可选) |
查询 |
字符串 |
用于对资源列表进行排序的方向。有效值为 |
status (可选) |
查询 |
字符串 |
按备份状态进行筛选。有效的筛选值可以是“creating”、“error”、“available”、“restoring”。 |
host (可选) |
查询 |
字符串 |
要查询的备份的主机名。通过主机名查询是一项特权操作。如果受 API 策略限制,服务器可能会静默忽略此查询参数。 |
topic(可选) |
查询 |
字符串 |
按备份主题进行筛选。有效的筛选值可以是“manila-data”、“manila-share”。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
共享备份的 UUID。 |
share_id |
body |
字符串 |
备份所针对的共享的 UUID。 |
status |
body |
字符串 |
备份的状态,可以是 |
size |
body |
整数 |
备份大小,以 GiB 为单位。 |
availability_zone |
body |
字符串 |
可用区。 |
name |
body |
字符串 |
资源的由用户定义的名称。 |
description |
body |
字符串 |
资源的由用户定义的描述。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
updated_at |
body |
字符串 |
资源上次在服务数据库中更新的日期和时间戳。如果资源在创建后从未更新,则此参数的值设置为 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
progress |
body |
字符串 |
备份创建的进度百分比。 |
restore_progress |
body |
字符串 |
备份还原的进度百分比。 |
响应示例¶
{
"share_backups": [
{
"id": "1125c47a-0216-4ee0-a517-0460d63301a6",
"share_id": "112dffd-f033-4248-a315-319ca2bd70c8",
"status": "available",
"name": "backup3",
"description": null,
"size": 1,
"created_at": "2023-08-16T12:34:57.000000",
"updated_at": "2023-08-17T12:14:15.000000",
"availability_zone": null,
"progress": "100",
"restore_progress": "0"
},
{
"id": "c1cdc0ce-4ddc-4018-9796-505d2e26fcc7",
"share_id": "7b11dd53-546e-43cd-af0e-875434238c30",
"status": "creating",
"name": "backup1",
"description": null,
"size": 1,
"created_at": "2023-08-16T13:03:59.020692",
"updated_at": "2023-08-16T13:13:15.000002",
"availability_zone": null,
"progress": "0",
"restore_progress": "0"
}
]
}
自版本 2.80 起添加。
显示共享备份的详细信息。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
backup_id |
路径 |
字符串 |
共享备份的 UUID。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
共享备份的 UUID。 |
share_id |
body |
字符串 |
备份所针对的共享的 UUID。 |
status |
body |
字符串 |
备份的状态,可以是 |
size |
body |
整数 |
备份大小,以 GiB 为单位。 |
availability_zone |
body |
字符串 |
可用区。 |
name |
body |
字符串 |
资源的由用户定义的名称。 |
description |
body |
字符串 |
资源的由用户定义的描述。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
updated_at |
body |
字符串 |
资源上次在服务数据库中更新的日期和时间戳。如果资源在创建后从未更新,则此参数的值设置为 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
progress |
body |
字符串 |
备份创建的进度百分比。 |
restore_progress |
body |
字符串 |
备份还原的进度百分比。 |
响应示例¶
{
"share_backup": {
"id": "c1cdc0ce-4ddc-4018-9796-505d2e26fcc7",
"share_id": "7b11dd53-546e-43cd-af0e-875434238c30",
"status": "available",
"name": "backup1",
"description": null,
"size": 1,
"created_at": "2023-08-16T13:03:59.000000",
"updated_at": "2023-08-16T13:04:15.000000",
"availability_zone": null,
"progress": "100",
"restore_progress": "0"
}
}
自版本 2.80 起添加。
从共享创建备份。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此资源有一个正在进行的操作,与此请求冲突。 |
422 - 无法处理的实体 |
请求的实体格式无法被请求的资源以该方法处理。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
share_id |
body |
字符串 |
备份所针对的共享的 UUID。 |
name (可选) |
body |
字符串 |
用户定义的资源名称。该字段的值限制为 255 个字符。 |
description(可选) |
body |
字符串 |
用户定义的资源描述。该字段的值限制为 255 个字符。 |
backup_options(可选) |
body |
对象 |
一个或多个备份选项键值对,作为字符串的 URL 编码字典。 |
请求示例¶
{
"share_backup": {
"share_id": "7b11dd53-546e-43cd-af0e-875434238c30",
"backup_options": {},
"description": null,
"name": "backup1"
}
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
共享备份的 UUID。 |
share_id |
body |
字符串 |
备份所针对的共享的 UUID。 |
status |
body |
字符串 |
备份的状态,可以是 |
size |
body |
整数 |
备份大小,以 GiB 为单位。 |
availability_zone |
body |
字符串 |
可用区。 |
name |
body |
字符串 |
资源的由用户定义的名称。 |
description |
body |
字符串 |
资源的由用户定义的描述。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
updated_at |
body |
字符串 |
资源上次在服务数据库中更新的日期和时间戳。如果资源在创建后从未更新,则此参数的值设置为 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
progress |
body |
字符串 |
备份创建的进度百分比。 |
restore_progress |
body |
字符串 |
备份还原的进度百分比。 |
响应示例¶
{
"share_backup": {
"id": "c1cdc0ce-4ddc-4018-9796-505d2e26fcc7",
"share_id": "7b11dd53-546e-43cd-af0e-875434238c30",
"status": "creating",
"name": "backup1",
"description": null,
"size": 1,
"created_at": "2023-08-16T13:03:59.020692",
"updated_at": "2023-08-16T13:03:59.020692",
"availability_zone": null,
"progress": "0",
"restore_progress": "0"
}
}
自版本 2.80 起添加。
更新共享备份。
您可以更新这些属性
display_name,它更改共享备份的name。display_description,它更改共享备份的description。
如果您尝试更新其他属性,它们将保留其先前的值。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
backup_id |
路径 |
字符串 |
共享备份的 UUID。 |
display_name(可选) |
body |
字符串 |
用户定义的资源名称。该字段设置 |
display_description(可选) |
body |
字符串 |
用户定义的资源描述。该字段设置 |
请求示例¶
{
"share_backup": {
"display_name": "backup2",
"display_description": "I am changing a description also. Here is a backup"
}
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
字符串 |
共享备份的 UUID。 |
share_id |
body |
字符串 |
备份所针对的共享的 UUID。 |
status |
body |
字符串 |
备份的状态,可以是 |
size |
body |
整数 |
备份大小,以 GiB 为单位。 |
availability_zone |
body |
字符串 |
可用区。 |
name |
body |
字符串 |
资源的由用户定义的名称。 |
description |
body |
字符串 |
资源的由用户定义的描述。 |
created_at |
body |
字符串 |
资源在服务数据库中创建的日期和时间戳。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
updated_at |
body |
字符串 |
资源上次在服务数据库中更新的日期和时间戳。如果资源在创建后从未更新,则此参数的值设置为 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
如果包含 例如, |
progress |
body |
字符串 |
备份创建的进度百分比。 |
restore_progress |
body |
字符串 |
备份还原的进度百分比。 |
响应示例¶
{
"share_backup": {
"id": "fa32a89f-ed0f-4906-b1d7-92eedf98fbb5",
"share_id": "7b11dd53-546e-43cd-af0e-875434238c30",
"status": "available",
"name": "backup2",
"description": "I am changing a description also. Here is a backup",
"size": 1,
"created_at": "2023-08-16T13:18:55.000000",
"updated_at": "2023-08-16T13:33:15.000000",
"availability_zone": null,
"progress": "100",
"restore_progress": "0"
}
}
自版本 2.80 起添加。
删除共享备份。
先决条件
共享备份状态必须为
available或error。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
backup_id |
路径 |
字符串 |
共享备份的 UUID。 |
自版本 2.80 起添加。
将备份还原到原始共享。
先决条件
共享备份状态必须为
available。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
backup_id |
路径 |
字符串 |
共享备份的 UUID。 |
请求示例¶
{
"restore": null
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
backup_id |
body |
字符串 |
共享备份的 UUID。 |
share_id |
body |
字符串 |
备份所针对的共享的 UUID。 |
响应示例¶
{
"restore": {
"backup_id": "c1cdc0ce-4ddc-4018-9796-505d2e26fcc7",
"share_id": "7b11dd53-546e-43cd-af0e-875434238c30"
}
}
自版本 2.80 起添加。
仅限管理员。显式更新共享备份的状态。
使用 policy.yaml 文件将此操作的权限授予其他角色。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已接受,但处理可能需要一些时间。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id (可选) |
路径 |
字符串 |
发出 API 请求的用户或服务的项目 ID。如果服务支持 API 版本 2.60,则此参数是可选的。如果服务尚未支持 API 版本 2.60,请确保为服务获取的服务目录端点在“/v2/”组件之后具有用户的 project_id,例如,检索共享的 API 是 GET /v2/{project_id}/shares。如果服务尚未支持 API 版本 2.60,并且 API URL 中省略了 project_id,则会返回格式错误的请求错误 (HTTP 400)。 |
backup_id |
路径 |
字符串 |
共享备份的 UUID。 |
status (可选) |
body |
字符串 |
备份状态,可以是 |
请求示例¶
{
"reset_status": {
"status": "error"
}
}