Attaches an instance Resource Access Management (RAM) role to Elastic Compute Service (ECS) instances.
Operation description
You can call the DescribeInstanceRamRole operation to query the instance RAM roles that are attached to ECS instances.
If an ECS instance already has an instance RAM role, an error is returned when you attach another instance RAM role to the instance.
Try it now
Test
RAM authorization
|
Action |
Access level |
Resource type |
Condition key |
Dependent action |
|
ecs:AttachInstanceRamRole |
update |
*Instance
*Role
|
None |
|
Request parameters
|
Parameter |
Type |
Required |
Description |
Example |
| RegionId |
string |
Yes |
The region ID. You can call the DescribeRegions operation to query the most recent region list. |
cn-hangzhou |
| RamRoleName |
string |
Yes |
The name of the instance RAM role. You can call the ListRoles operation provided by RAM to query the instance RAM roles that you created. |
testRamRoleName |
| InstanceIds |
string |
Yes |
The IDs of ECS instances. You can specify 1 to 100 ECS instances. |
["i-bp14ss25xca5ex1u****","i-bp154z5o1qjalfse****", "i-bp10ws62o04ubhvi****"] |
| Policy |
string |
No |
The additional policy. When you attach an instance RAM role to instances, you can specify an additional policy to further limit the permissions of the role. For more information, see Policy overview. The value of this parameter must be 1 to 1,024 characters in length. |
{"Statement": [{"Action": ["*"],"Effect": "Allow","Resource": ["*"]}],"Version":"1"} |
Response elements
|
Element |
Type |
Description |
Example |
|
object |
|||
| RamRoleName |
string |
The name of the instance RAM role. |
testRamRoleName |
| RequestId |
string |
The request ID. |
D9553E4C-6C3A-4D66-AE79-9835AF705639 |
| TotalCount |
integer |
The total number of instances to which you attempted to attach the instance RAM role. |
1 |
| FailCount |
integer |
The number of instances to which the instance RAM role failed to be attached. |
0 |
| AttachInstanceRamRoleResults |
object |
||
| AttachInstanceRamRoleResult |
array<object> |
Details about the results of attaching the instance RAM role. |
|
|
object |
The type of the instance RAM role. |
||
| Code |
string |
Indicates whether the instance RAM role was attached. If the instance RAM role was attached, 200 is returned. If the instance RAM role failed to be attached, any other value is returned. For more information, see the "Error codes" section. |
200 |
| Message |
string |
Indicates whether the instance RAM role was attached. If the instance RAM role was attached, success is returned. If the instance RAM role failed to be attached, any other value is returned. For more information, see the "Error codes" section. |
success |
| InstanceId |
string |
The ID of the instance. |
i-bp10ws62o04ubhvi**** |
| Success |
boolean |
Indicates whether the instance RAM role was attached. |
true |
Examples
Success response
JSON format
{
"RamRoleName": "testRamRoleName",
"RequestId": "D9553E4C-6C3A-4D66-AE79-9835AF705639",
"TotalCount": 1,
"FailCount": 0,
"AttachInstanceRamRoleResults": {
"AttachInstanceRamRoleResult": [
{
"Code": "200",
"Message": "success",
"InstanceId": "i-bp10ws62o04ubhvi****",
"Success": true
}
]
}
}
Error response
JSON format
{
"RequestId": "D9553E4C-6C3A-4D66-AE79-9835AF705639",
"AttachInstanceRamRoleResults": {
"AttachInstanceRamRoleResult": [
{
"Message": "success",
"InstanceId": "i-instance1",
"Code": "200"
}
]
},
"TotalCount": 1,
"FailCount": 0,
"RamRoleName": "RamRoleTest"
}
Error codes
|
HTTP status code |
Error code |
Error message |
Description |
|---|---|---|---|
| 400 | InvalidInstanceIds.Malformed | The specified instanceIds are not valid. | Multiple specified instance IDs are invalid. |
| 403 | InvalidNetworkType.MismatchRamRole | Ram role cannot be applied to instances of Classic network type. | Instance RAM roles can be used only for instances of the VPC type, not for instances of the classic network type. |
| 403 | InvalidUser.PassRoleForbidden | The RAM user does not have the privilege to pass a RAM role. | The RAM user is not authorized to pass a RAM role. |
| 404 | InvalidInstanceId.NotFound | The specified instanceId does not exist. | |
| 404 | InvalidRamRole.NotFound | The specified RAMRoleName does not exist. | The specified RamRoleName parameter does not exist. |
| 404 | InvalidRamRole.NotEcsRole | The specified ram role is not authorized for ecs, please check your role policy. |
See Error Codes for a complete list.
Release notes
See Release Notes for a complete list.