调用ModifyInstanceAttribute修改一台ECS实例的部分信息,包括密码、名称、描述、主机名、所属安全组、实例的MTU以及自定义数据等。如果是突发性能实例,还可以切换性能突发模式。
接口说明
查询 ECS 实例信息时,如果返回数据中包含{"OperationLocks": {"LockReason" : "security"}}
,则禁止一切操作。
调用该接口完成以下操作时,您需要注意:
-
修改主机名(
HostName
):重启实例后,修改生效,且必须是在 ECS 控制台重启(具体操作,请参见重启实例)或者调用 RebootInstance 重启,新主机名才能生效。在操作系统内部重启不保证能生效。 -
重置密码(
Password
):- 实例状态不能为启动中(
Starting
)。 - 重启实例后,重置生效,且必须是在 ECS 控制台重启(具体操作,请参见重启实例)或者调用 RebootInstance 重启,新密码才能生效。在操作系统内部重启不能生效。
- 实例状态不能为启动中(
-
修改自定义数据(
UserData
): 实例必须满足自定义数据使用限制。更多信息,请参见生成实例自定义数据。说明 重启实例后,实例上将展示新的用户数据,但不会运行用户数据脚本。 -
更换实例安全组(
SecurityGroupIds.N
):- 支持切换安全组类型。 当 ECS 实例跨类型切换安全组时,您需要充分了解两种安全组规则的配置区别,避免影响实例网络。
- 不支持经典网络类型实例。
其他注意事项请参见
SecurityGroupIds.N
的参数说明。
-
修改主网卡队列数(
NetworkInterfaceQueueNumber
):- 实例必须为已停止(
Stopped
)状态。 - 不能超过实例规格允许的单块网卡最大队列数。
- 实例的所有网卡累加队列数不能超过实例规格允许的队列数总配额。实例规格的单块网卡最大队列数和总配额可以通过 DescribeInstanceTypes 查询
MaximumQueueNumberPerEni
、TotalEniQueueQuantity
字段。 - 当取值为-1 时,将重置主网卡队列数为对应实例规格的默认值。实例规格的弹性网卡默认队列数可以通过 DescribeInstanceTypes 查询
PrimaryEniQueueNumber
字段。
- 实例必须为已停止(
-
实例开启/关闭 Jumbo frame 特性(
EnableJumboFrame
)。更多信息,请参见ECS 实例 MTU。- 实例必须为运行中(
Running
)或者已停止(Stopped
)状态。 - 实例必须为虚拟专有网络(Virtual Private Cloud, VPC)下的 ECS 实例。
- 开启 Jumbo Frame 特性后,实例的 MTU 值将变为 8500,关闭后则回退为 1500 。
- 实例必须为运行中(
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
授权信息
下表是API对应的授权信息,可以在RAM权限策略语句的Action
元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:
- 操作:是指具体的权限点。
- 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
- 资源类型:是指操作中支持授权的资源类型。具体说明如下:
- 对于必选的资源类型,用背景高亮的方式表示。
- 对于不支持资源级授权的操作,用
全部资源
表示。
- 条件关键字:是指云产品自身定义的条件关键字。
- 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作 | 访问级别 | 资源类型 | 条件关键字 | 关联操作 |
---|---|---|---|---|
ecs:ModifyInstanceAttribute | update |
|
| 无 |
请求参数
名称 | 类型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
InstanceId | string | 是 | 实例 ID。 | i-bp67acfmxazb4ph**** |
Password | string | 否 | 实例的密码。支持长度为 8~30 个字符,必须同时包含大小写英文字母、数字和特殊符号中的三类字符。特殊符号可以是:
其中,Windows 实例不能以斜线号(/)为密码首字符。 说明
如果传入 Password 参数,建议您使用 HTTPS 协议发送请求,避免密码泄露。
| Test123456&$ |
HostName | string | 否 | 操作系统的主机名。您需要注意:
不同操作系统主机名存在以下限制:
| testHostName |
InstanceName | string | 否 | 实例名称。长度为 2~128 个英文或中文字符。必须以大小写字母或中文开头,不能以 | testInstanceName |
Description | string | 否 | 实例描述。长度为 2~256 个英文或中文字符,不能以 | testInstanceDescription |
UserData | string | 否 | 实例自定义数据,需要以 Base64 编码。 编码前,原始数据不能超过 32 KB。建议不要明文传入敏感信息,例如密码和私钥等。如果必须传入敏感信息,建议您加密后再以 Base64 编码传入,在实例内部以同样的方式解密。 | ZWNobyBoZWxsbyBlY3Mh |
Recyclable | boolean | 否 | 说明
该参数正在邀测中,暂不开放使用。
| true |
CreditSpecification | string | 否 | Standard | |
DeletionProtection | boolean | 否 | 实例释放保护属性。指定是否支持通过控制台或 API( DeleteInstance )释放实例。 说明
该属性仅适用于按量付费实例,且只能限制手动释放操作,对系统释放操作不生效。
| false |
NetworkInterfaceQueueNumber | integer | 否 | 主网卡队列数。 | 8 |
SecurityGroupIds | array | 否 | 实例重新加入的安全组列表。
| |
string | 否 | 实例重新加入的安全组。
| sg-bp15ed6xe1yxeycg7o**** | |
RemoteConnectionOptions | object | 否 | 说明
该参数正在邀测中,暂不开放使用。
| |
Password | string | 否 | 说明
该参数正在邀测中,暂不开放使用。
| hide |
Type | string | 否 | 说明
该参数正在邀测中,暂不开放使用。
| hide |
EnableJumboFrame | boolean | 否 | false | |
CpuOptions.TopologyType | string | 否 | 实例的 Cpu 拓扑类型。取值范围:
默认值:无。 说明
| DiscreteCoreToHTMapping |
PrivateDnsNameOptions | object | 否 | 说明
该参数正在邀测中,暂不开放使用。
| |
EnableInstanceIdDnsARecord | boolean | 否 | 说明
该参数正在邀测中,暂不开放使用。
| false |
EnableInstanceIdDnsAAAARecord | boolean | 否 | 说明
该参数正在邀测中,暂不开放使用。
| false |
EnableIpDnsARecord | boolean | 否 | 说明
该参数正在邀测中,暂不开放使用。
| false |
EnableIpDnsPtrRecord | boolean | 否 | 说明
该参数正在邀测中,暂不开放使用。
| false |
HostnameType | string | 否 | 说明
该参数正在邀测中,暂不开放使用。
| Custom |
返回参数
示例
正常返回示例
JSON
格式
{
"RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E"
}
错误码
HTTP status code | 错误码 | 错误信息 | 描述 |
---|---|---|---|
400 | InvalidInstanceName.Malformed | The specified parameter "InstanceName" is not valid. | InstanceName参数不符合规则。 |
400 | InvalidDescription.Malformed | The specified parameter "Description" is not valid. | 指定的资源描述格式不合法。长度为2-256个字符,不能以http://和https://开头。 |
400 | InvalidRemoteConnectionOptions.Password | The remote connection password is invalid. | - |
400 | InvalidRemoteConnectionOptions.Type | The remote connection type is invalid. | - |
400 | InstanceType.ValueNotSupported | The instance type not supported. | - |
400 | OSType.ValueNotSupported | The OS type is not supported. | - |
400 | InvalidHostPassword.Malformed | The specified parameter "Password" is not valid. | - |
400 | InvalidHostName.Malformed | The specified parameter "HostName" is not valid. | - |
400 | InvalidPassword.Malformed | The specified parameter "Password" is not valid. | - |
400 | InvalidUserData.SizeExceeded | The specified parameter "UserData" exceeds the size. | - |
400 | InvalidUserData.NotSupported | TThe specified parameter "UserData" only support the vpc and IoOptimized Instance. | - |
400 | InvalidUserData.NotSupported | The specified parameter "UserData" only support the vpc and IoOptimized Instance. | - |
400 | ImageNotSupportCloudInit | The specified image does not support cloud-init. | 该镜像不支持CloudInit。 |
400 | ChargeTypeViolation | Pay-As-You-Go instances do not support this operation. | 按量付费实例不支持该操作,检查实例的付费类型是否与该操作冲突。 |
400 | InvalidParameter.RecycleBin | You do not have permission to set recyclable properties. | 您未被授权执行该操作。 |
400 | InvalidParameter.CreditSpecification | The specified CreditSpecification is not supported in this region. | 该地区不支持指定的突发性能实例的运行模式。 |
400 | InvalidInstanceStatus.CreditSpecRestricted | The current status of the resource does not support this operation. | 当前资源的状态不支持此操作。 |
400 | InvalidInstanceStatus.NotRunning | The current status of the resource is invalid, you can only do this operation when instance is running. | 当前实例的状态不支持此操作,当实例状态为 Running 时再进行此操作。 |
400 | InvalidNetworkType.NotSupported | The classic networkType does not support to modify security group | - |
400 | InvalidOperation.EniCountExceeded | =The maximum number of eni in a enterprise security group is exceeded. | - |
400 | JoinedGroupLimitExceed | %s | 指定资源所能加入的安全组数量达到上限。具体信息请参见错误信息%s占位符的实际返回结果。 |
400 | InvalidParameter | The specified parameter is not valid. | 无效的参数,请检查该参数是否正确。 |
400 | InvalidOperation.InvalidEcsState | %s | 实例当前的状态不支持此操作。 |
400 | InvalidParam.NotSupportJumboFrame | Not support jumbo frame. | - |
400 | InvalidOperation.InstanceStatusNotSupport | The instance status is not support modify mtu config. | - |
400 | InvalidOperation.InstanceStatusUnsupported | The specified instance status does not support modification of cpu topology type. | 当前实例状态不支持修改CPU拓扑类型 |
400 | InvalidParameter.CpuOptionsTopologyType | The specified parameter CpuOptions.TopologyType: %s is not valid. | 当前CPU拓扑类型的枚举值不合法 |
400 | InvalidInstanceType.NotSupportCpuOptionsTopologyType | The specified instance type does not support CpuOptions.TopologyType: %s. | 当前规格不支持指定的CPU拓扑类型 |
400 | InvalidAdditionalInfoPvdConfig.SizeExceeded | The specified parameter AdditionalInfo.PvdConfig exceeds the size. | 指定的 AdditionalInfo.PvdConfig 超过大小限制。 |
400 | InvalidInstanceType.NotSupportHighDensityMode | The specified instance type does not support the use of the high density mode. | 当前实例规格不支持使用云盘高密模式 |
400 | InvalidStatus.StoppedRequired | The current state of the resource does not support this operation, it can only be operated in a stopped state. | 资源的当前状态不支持此操作,只有停机状态才能操作 |
403 | IncorrectInstanceStatus | The current status of the resource does not support this operation. | 该资源目前的状态不支持此操作。 |
403 | InstanceLockedForSecurity | The specified operation is denied as your instance is locked for security reasons. | 实例被安全锁定。 |
403 | OperationDenied | The instance amount in the specified SecurityGroup reach its limit. | 指定安全组的实例数已达最大值。 |
403 | OperationDenied | The current status of the resource does not support this operation. | 该资源状态不支持此类操作。 |
403 | InvalidUserData.Forbidden | User not authorized to input the parameter "UserData"please apply for permission "UserData" | - |
403 | InvalidUserData.Base64FormatInvalid | The specified UserData is not valid | 指定的UserData参数编码出错 |
403 | InvalidChargeType.ValueNotSupported | Deletion protection is only valid for postPaid instance, not for prePaid or spot instance. | 删除保护功能只能使用在按量付费资源上 |
403 | InvalidUser.Unauthorized | The user is not authorized | 您当前使用的账号无权限。 |
403 | EnterpriseGroupLimited.MutliGroupType | The specified instance can not join multi SecurityGroup types. | 指定的实例不能同时加入普通安全组和企业安全组。您可以调用 DescribeSecurityGroups 查询指定安全组的类型。 |
403 | SecurityGroupInstanceLimitExceed | %s | 该安全组内已有的实例数量已达到最大限制。 |
403 | InstanceNotInSecurityGroup | The instance not in the group. | 指定的实例不在安全组内。 |
403 | InvalidOperation.InvalidRegion | %s | 指定的参数 RegionId 无效。 |
403 | OperationDenied | The specified Image is disabled or is deleted. | 指定的镜像被禁用或被删除。 |
403 | InvalidOperation.ResourceManagedByCloudProduct | %s | 云产品托管的安全组不支持修改操作。 |
403 | InvalidParameter.InvalidEniQueueNumber | %s | 弹性网卡队列数有误,具体信息请参见错误信息%s占位符的实际返回结果。 |
403 | InvalidOperation.MaxEniQueueNumberExceeded | %s | 弹性网卡队列数超过上限,具体信息请参见错误信息%s占位符的实际返回结果。 |
403 | InvalidOperation.ExceedInstanceTypeQueueNumber | %s | 弹性网卡队列总数超过上限,具体信息请参见错误信息%s占位符的实际返回结果。 |
403 | InvalidOperation.InstanceTypeNotSupportHighPerformanceTrafficMode | %s | - |
403 | InvalidParameter.InvalidQueuePairNumber | %s | - |
403 | InvalidOperation.MaxEniQueuePairNumberExceed | %s | - |
403 | InvalidOperation.EniQueuePairNumberOverflow | %s | - |
403 | AclLimitExceed | %s | 网卡或实例的安全组规则数量超过限额值。 |
404 | InvalidInstanceId.NotFound | The specified InstanceId does not exist. | 指定的实例ID未找到。 |
404 | InvalidSecurityGroupId.NotFound | The specified SecurityGroupId does not exist. | 指定的安全组在该用户账号下不存在,请您检查安全组 ID 是否正确。 |
404 | Credit.NotFound | The specified credit information does not exist. | 指定的突发性能实例积分信息不存在。 |
404 | InvalidInstanceStatus.NeedRestart | The current status of the resource is invalid, you can only do this operation after instance is restarted. | - |
404 | InvalidParameter.SecurityGroupIdRepeated | The specified security group ids has repeated. | 指定的安全组已重复添加。请检查 SecurityGroupIds 参数值是否正确。 |
404 | InvalidSecurityGroupType.NotSupportClassic | The specified SecurityGroupIds have classic group type. | 指定的安全组的网络类型为经典网络。请检查 SecurityGroupIds 参数值是否正确。 |
404 | InvalidSecurityGroupVpc.NotBelongToOneVpc | The specified SecurityGroupIds are belong to different vpc. | 指定的安全组ID属于不同的VPC。请检查 SecurityGroupIds 参数值是否正确。您可以调用 DescribeSecurityGroups 查询指定安全组所属的VPC。 |
500 | InternalError | The request processing has failed due to some unknown error. | 内部错误,请重试。 |
500 | InternalError | The request processing has failed due to some unknown error, exception or failure. | 内部错误,请重试。 |
访问错误中心查看更多错误码。
变更历史
变更时间 | 变更内容概要 | 操作 |
---|---|---|
2024-08-29 | OpenAPI 错误码发生变更 | 查看变更详情 |
2024-08-08 | OpenAPI 错误码发生变更、OpenAPI 入参发生变更 | 查看变更详情 |
2024-07-03 | OpenAPI 错误码发生变更 | 查看变更详情 |
2024-05-11 | OpenAPI 错误码发生变更 | 查看变更详情 |
2023-12-14 | OpenAPI 错误码发生变更、OpenAPI 入参发生变更 | 查看变更详情 |
2023-07-17 | OpenAPI 错误码发生变更 | 查看变更详情 |