调用ModifyImageSharePermission管理镜像共享权限。您可以将自己的自定义镜像共享给其他阿里云账号,也可以发布为社区镜像供他人使用。

接口说明

管理共享镜像,您需要注意:

  • 只能共享自己的自定义镜像给其他阿里云账号。
  • 每份自定义镜像一次最多共享给10个阿里云账号。所以,参数AddAccount.n或者参数RemoveAccount.n单次最多可以传入10个阿里云账号,超过10个账号系统会忽略该参数。
  • 每份自定义镜像最多可以共享给50个阿里云账号。您可以提交工单申请共享给更多的用户。
  • 使用共享镜像创建ECS实例(RunInstances)后,一旦自定义镜像拥有者解除了镜像共享关系,或者删除了自定义镜像(DeleteImage),该实例将无法初始化系统盘(ReInitDisk)。

发布或下架社区镜像,您需要注意:

  • 社区镜像的所有者需要为对应的社区镜像的质量与迭代负责,阿里云仅提供平台支撑。请确保您已知晓社区镜像协议内容,并已签订协议,否则不允许发布社区镜像。更多信息,请参见发布社区镜像
  • 加密镜像不允许发布为社区镜像。
  • 社区镜像完全公开,在镜像所属地域下,所有阿里云账号均可使用。
  • 社区镜像不支持共享、导出与复制。
  • 已发布的社区镜像一旦下架,将不再对其他所有的阿里云账号公开。如果该自定义镜像已共享至其它阿里云账号,共享关系会继续保持。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String ModifyImageSharePermission

系统规定参数。取值:ModifyImageSharePermission

ImageId String m-bp18ygjuqnwhechc****

自定义镜像ID。

RegionId String cn-hangzhou

自定义镜像所属的地域ID。您可以调用DescribeRegions查看最新的阿里云地域列表。

AddAccount.N RepeatList 1234567890

授权共享镜像的阿里云账号ID。N的取值范围:1~10,超过10系统会忽略该参数。

RemoveAccount.N RepeatList 1234567890

删除镜像共享的阿里云账号ID。N的取值范围:1~10,超过10系统会忽略该参数。

IsPublic Boolean false

镜像状态是否为公开,即是否将指定的自定义镜像发布为社区镜像。取值范围:

  • true:镜像状态为公开,即发布为社区镜像。
  • false:镜像状态为私有,即下架已发布的社区镜像。
说明 一旦该参数值设置为true,则不允许再设置其它可选参数。

返回数据

名称 类型 示例值 描述
RequestId String 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E

请求ID。

示例

请求示例

https://ecs.aliyuncs.com/?Action=ModifyImageSharePermission
&ImageId=m-bp18ygjuqnwhechc****
&RegionId=cn-hangzhou
&AddAccount.1=1234567890
&RemoveAccount.1=1234567890
&<公共请求参数>

正常返回示例

XML格式

<ModifyImageSharePermissionResponse>
      <RequestId>C8B26B44-0189-443E-9816-D951F59623A9</RequestId>
</ModifyImageSharePermissionResponse>

JSON格式

{
    "RequestId": "C8B26B44-0189-443E-9816-D951F59623A9"
}

错误码

HttpCode 错误码 错误信息 描述
400 MissingParameter The input parameter "RegionId" that is mandatory for processing this request is not supplied. RegionId不得为空。
404 InvalidImageId.NotFound The specified ImageId does not exist. 指定的镜像在该用户账号下不存在,请您检查镜像ID是否正确。
404 InvalidAccount.NotFound The specified parameter "AddAccount.n" or "RemoveAccount.n" does not exist. 参数AddAccount.N或者RemoveAccount.N不存在。
404 InvalidAccount.Forbbiden The specified Account does not yourself. 不能把镜像共享给自己。
403 QuotaExceed.ShareImage The shared Image Quota exceeds. 已经超过自定义镜像共享配额限制。
403 QuotaExceed.ShareImageUser The shared Image user Quota exceeds. 已经超过单个镜像共享给用户数量的配额限制。
400 InvalidGroup.Malformed The specified Group is wrongly formed. 指定的组不存在。
403 InvalidImageId.BidMismatch Cannot share image with other bid user. 镜像无法跨运营商共享。
403 OperationDeined.EncryptedSnapshot The image contains encrypted snapshots, which do not support share. 指定的镜像含有加密快照,不支持共享这种镜像。
400 PublicImageAgreement.NotSigned Current account not sign public image agreement. 当前阿里云账号未签署社区镜像协议,因此不能将指定的镜像发布为社区镜像。您可以调用ModifyUserBusinessBehavior签署社区镜像协议。
400 ImageIsPrivate The specified image is private. 指定的镜像已经是私有状态,无需重复设置。
400 ImageIsPublic The specified image is public. 指定的镜像已经是公开状态,无需重复设置。
400 EncryptedImage.NotSupportPublic Encrypted image is not supported to be public. 指定的镜像为加密镜像,不支持发布为社区镜像。
400 InvalidImageStatus.NotAvailable Public image status must be available. 指定的镜像状态必须为可用(Available),才可以发布为社区镜像。

访问错误中心查看更多错误码。