华为云服务器重装弹性云服务器操作系统(安装Cloud-init)_云淘科技

功能介绍

重装弹性云服务器的操作系统。支持弹性云服务器数据盘不变的情况下,使用原镜像重装系统盘。

本接口为异步接口,当前重装弹性云服务器操作系统请求下发成功后会返回job_id,此时重装弹性云服务器操作系统并没有立即完成,需要通过调用查询任务的执行状态查询job状态,当Job状态为 SUCCESS 时代表云服务器操作系统重装成功。

调用该接口后,系统将卸载系统盘,然后使用原镜像重新创建系统盘,并挂载至弹性云服务器,实现重装操作系统功能。

接口约束

该接口仅支持安装Cloud-init或Cloudbase-init的镜像。如果镜像未安装Cloud-init或者Cloudbase-init,请使用 重装弹性云服务器操作系统(未安装Cloud-init)接口。
不包含系统盘的弹性云服务器不能执行重装操作。
执行重装操作系统任务时,请勿并行执行其他任务,否则可能会引起重装操作系统失败。

调试

您可以在API Explorer中调试该接口。

URI

POST /v2/{project_id}/cloudservers/{server_id}/reinstallos

参数说明请参见表1。

表1 参数说明

参数

是否必选

描述

project_id

项目ID。

获取方法请参见获取项目ID。

server_id

弹性云服务器ID。

请求消息

请求参数如表2所示。

表2 请求参数

参数

是否必选

参数类型

描述

os-reinstall

Object

重装弹性云服务器,详情参见表3。

表3 os-reinstall字段数据结构说明

参数

是否必选

参数类型

描述

adminpass

String

云服务器管理员帐户的初始登录密码。

其中,Windows管理员帐户的用户名为Administrator,Linux管理员账户的用户名为root。

建议密码复杂度如下:

长度为8-26位。
密码至少必须包含大写字母、小写字母、数字和特殊字符(!@$%^-_=+[{}]:,./?~#*)中的三种。

说明:

对于Windows弹性云服务器,密码不能包含用户名或用户名的逆序,不能包含用户名中超过两个连续字符的部分。
对于Linux弹性云服务器也可使用user_data字段实现密码注入,此时adminpass字段无效。
adminpass和keyname不能同时有值。
adminpass和keyname如果同时为空,此时,metadata中的user_data属性必须有值。

keyname

String

密钥名称。

密钥可以通过密钥创建接口进行创建 创建和导入SSH密钥(请参见),或使用SSH密钥查询接口查询已有的密钥(请参见查询SSH密钥列表 )。

userid

String

用户ID。

查看用户ID方法:

登录管理控制台。
单击用户名,在下拉列表中单击“我的凭证”。在该页面查看IAM用户ID。

metadata

Object

重装云服务器的元数据。

更多信息,请参见表4。

mode

String

取值为withStopServer ,支持开机状态下重装弹性云服务器。

mode取值为withStopServer时,对开机状态的

弹性云服务器执行重装操作,系统自动对云服务器先执行关机,再重装操作系统。

表4 metadata字段数据结构说明

参数

是否必选

参数类型

描述

user_data

String

创建云服务器过程中待注入实例自定义数据。支持注入文本、文本文件。

说明:

user_data的值为base64编码之后的内容。
注入内容(编码之前的内容)最大长度为32K。

了解更多实例自定义数据注入请参考用户数据注入。

示例:

base64编码前:

Linux服务器:

#!/bin/bash
echo user_test > /home/user.txt

Windows服务器:

rem cmd
echo 111 > c:\aaa.txt

base64编码后:

Linux服务器:

IyEvYmluL2Jhc2gKZWNobyB1c2VyX3Rlc3QgPiAvaG9tZS91c2VyLnR4dA==

Windows服务器:

cmVtIGNtZAplY2hvIDExMSA+IGM6XGFhYS50eHQ=

__system__encrypted

String

metadata中的表示加密功能的字段,0代表不加密,1代表加密。

该字段不存在时,系统盘默认为不加密。

__system__cmkid

String

用户主密钥ID,是metadata中的表示加密功能的字段,与__system__encrypted配合使用。

说明:

请参考查询密钥列表,通过HTTPS请求获取密钥ID。

响应参数

请参考响应(任务类)。

请求示例

重装云服务器操作系统,重装后采用密码方式登录鉴权。

POST https://{endpoint}/v2/{project_id}/cloudservers/{server_id}/reinstallos

{
    "os-reinstall": {
        "adminpass": "!QAZxsw2",
        "userid": "7e25b1da389f4697a79df3a0e5bd494e",
        "mode": "withStopServer"
    }
}

重装云服务器操作系统,重装后采用密钥方式登录鉴权。

POST https://{endpoint}/v2/{project_id}/cloudservers/{server_id}/reinstallos

{
    "os-reinstall": {
        "keyname": "KeyPair-350b", 
        "userid": "7e25b1da389f4697a79df3a0e5bd494e"
    }
}

使用系统盘加密的整机镜像重装云服务器的操作系统,重装后使用密码方式登录鉴权。

POST https://{endpoint}/v2/{project_id}/cloudservers/{server_id}/reinstallos

{
    "os-reinstall": { 
        "adminpass": "!QAZxsw2",
        "userid": "7e25b1da389f4697a79df3a0e5bd494e",
        "metadata": {
              "__system__encrypted": "1",
              "__system__cmkid": "83cdb52d-9ebf-4469-9cfa-e7b5b80da846"
        }
    }
}

响应示例

请参考响应(任务类)。

{      
    "job_id": "ff80808288d41e1b018990260955686a" 
}

返回值

请参考通用请求返回值。

错误码

请参考错误码。

父主题: 状态管理

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家