调用AttachInstanceRamRole为一台或多台ECS实例授予实例RAM角色。如果实例已有RAM角色,则报错提示您不能附加新的角色。

调试

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

请求参数

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

系统规定参数。取值:AttachInstanceRamRole

InstanceIds String [“i-bp14ss25xca5ex1u****”, “i-bp154z5o1qjalfse****”, “i-bp10ws62o04ubhvi****”…]

实例ID。取值可以由多个实例ID组成一个JSON数组,最多支持100个ID,ID之间用半角逗号(,)隔开。

RamRoleName String testRamRoleName

实例RAM角色名称。您可以使用RAM API ListRoles查询您已创建的实例RAM角色。

RegionId String cn-hangzhou

地域ID。您可以调用DescribeRegions查看最新的阿里云地域列表。

Policy String {"Statement": [{"Action": ["*"],"Effect": "Allow","Resource": ["*"]}],"Version":"1"}

权限策略。长度为1~1024个字符。为一台或多台ECS实例授予实例RAM角色时,可以指定一个额外的权限策略,以进一步限制RAM角色的权限。更多信息,请参见权限策略概览

返回数据

名称 类型 示例值 描述
AttachInstanceRamRoleResults Array of AttachInstanceRamRoleResult

由实例RAM角色类型(AttachInstanceRamRoleResult)组成的信息集。

AttachInstanceRamRoleResult
Code String 200

判断是否成功授予实例RAM角色。返回值为200表示成功授予,返回其他值表示授予失败,失败原因参见错误码。

InstanceId String i-bp10ws62o04ubhvi****

实例ID。

Message String success

判断是否成功授予实例RAM角色。返回值为Success表示成功授予,返回其他值表示授予失败,失败原因参见错误码。

Success Boolean true

是否成功授予实例RAM角色。

FailCount Integer 0

授予实例RAM角色的失败个数。

RamRoleName String testRamRoleName

实例RAM角色的名称。

RequestId String D9553E4C-6C3A-4D66-AE79-9835AF705639

请求ID。

TotalCount Integer 1

授予的实例RAM角色总个数。

示例

请求示例

https://ecs.aliyuncs.com/?Action=AttachInstanceRamRole
&InstanceIds=["i-bp10ws62o04ubhvi****"]
&RamRoleName=testRamRoleName
&RegionId=cn-hangzhou
&<公共请求参数>

正常返回示例

XML 格式

<AttachInstanceRamRoleResponse>
      <RequestId>E6352369-5C2B-41CD-AB50-471550C8F674</RequestId>
      <AttachInstanceRamRoleResults>
            <AttachInstanceRamRoleResult>
                   <InstanceId>i-bp10ws62o04ubhvi****</InstanceId>
                   <Code>200</Code>
                   <Message>success</Message>
            </AttachInstanceRamRoleResult>
      </AttachInstanceRamRoleResults>
      <TotalCount>1</TotalCount>
      <FailCount>0</FailCount>
      <RamRoleName>testRamRoleName</RamRoleName>
</AttachInstanceRamRoleResponse>

JSON 格式

{
    "RequestId": "D9553E4C-6C3A-4D66-AE79-9835AF705639",
    "AttachInstanceRamRoleResults": {
        "AttachInstanceRamRoleResult": [
            {
                "Message": "success",
                "InstanceId": "i-bp10ws62o04ubhvi****",
                "Code": "200"
            }
        ]
    },
    "TotalCount": 1,
    "FailCount": 0,
    "RamRoleName": "testRamRoleName"
}

错误码

HttpCode 错误码 错误信息 描述
400 InvalidInstanceIds.Malformed The specified instanceIds are not valid. 指定的多个InstanceId不合法。
404 InvalidInstanceId.NotFound The specified instanceId does not exist 指定的实例不存在,请您检查实例ID是否正确。
403 InvalidNetworkType.MismatchRamRole Ram role cannot be applied to instances of Classic network type. 实例RAM角色不能被用于经典网络类型的实例,RAM角色只能使用在VPC类型的实例上。
403 InvalidUser.PassRoleForbidden The RAM user does not have the privilege to pass a RAM role. 该RAM用户无权传递RAM角色。
404 InvalidRamRole.NotFound The specified RAMRoleName does not exist. 指定的RamRoleName不存在。
404 InvalidRamRole.NotEcsRole The specified ram role is not authorized for ecs, please check your role policy. 指定的RAM角色无权使用ECS,请检查您的角色策略。

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