云服务器内容精选

  • 请求消息 表2 请求参数 参数 是否必选 参数类型 描述 auto_terminate_time 是 String 按需云服务器定时删除时间。 按照ISO8601标准表示,并使用UTC +0时间,格式为yyyy-MM-ddTHH:mm:ssZ。 如果秒(ss)取值不是 00,则自动取为当前分钟(mm)开始时。 最短定时删除时间为当前时间半小时之后。 最长定时删除时间不能超过当前时间三年。 如果参数auto_terminate_time为空字符串,表示不设置定时删除或取消定时删除。 示例:2020-09-25T12:05:00Z
  • 请求示例 设置云服务器的定时删除时间为“2020-09-25T12:05:00Z”。 POST https://{endpoint}/v1/{project_id}/cloudservers/{server_id}/actions/update-auto-terminate-time { "auto_terminate_time": "2020-09-25T12:05:00Z", } 取消云服务器的定时删除。 POST https://{endpoint}/v1/{project_id}/cloudservers/{server_id}/actions/update-auto-terminate-time { "auto_terminate_time": "", }
  • 功能介绍 当您创建的弹性云服务器规格无法满足业务需要时,可以变更云服务器规格,升级vCPU、内存。具体接口的使用,请参见本节内容。 本接口为异步接口,当前变更弹性云服务器规格请求下发成功后会返回job_id,此时变更弹性云服务器规格并没有立即完成,需要通过调用查询任务的执行状态查询job状态,当Job状态为 SUCCESS 时代表云服务器规格变更成功。 变更规格时,部分规格的之间不能互相变更。您可以参见查询云服务器规格变更支持列表查询支持列表。
  • 请求消息 请求参数如表2所示。 表2 请求参数 参数 是否必选 参数类型 描述 resize 是 Object 标记为云服务器变更规格操作,详情请参见表3。 dry_run 否 Boolean 是否只预检此次请求。 true:发送检查请求,不会变更云服务器规格。检查项包括是否填写了必需参数、请求格式等。 如果检查不通过,则返回对应错误。 如果检查通过,则返回202状态码。 false:发送正常请求,通过检查后并且执行变更云服务器规格请求。 表3 resize数据结构说明 参数 是否必选 参数类型 描述 flavorRef 是 String 变更后的云服务器规格ID。 可能通过 查询云服务器规格变更支持列表 接口查询允许变更的规格列表。 mode 否 String 取值为withStopServer ,支持开机状态下变更规格。 mode取值为withStopServer时,对开机状态的云服务器执行变更规格操作,系统自动对云服务器先执行关机,再变更规格,变更成功后再执行开机。 cpu_options 否 Object 自定义CPU选项。 详情请参见表4。 表4 cpu_options数据结构说明 参数 是否必选 参数类型 描述 hw:cpu_threads 否 integer 用于控制CPU是否开启超线程。 取值范围:1,2。 1: 关闭超线程。 2: 打开超线程。 需要同时满足如下条件,才能设置为“关闭超线程”: 只能在实例创建或者resize时指定。 只有目标flavor的extra_specs参数: 存在“hw:cpu_policy”并取值为“dedicated”。 存在“hw:cpu_threads”并取值为“2”。
  • 请求示例 1 POST https://{BMS Endpoint}/v1/bbf1946d374b44a0a2a95533562ba954/baremetalservers/cf2a8b97-b5c6-47ef-9714-eb27adf26e5b/changeos 1 2 3 4 5 6 7 8 9 10 { "os-change": { "keyname": "$key_name", "imageid": "04dc740a-5820-4ab6-9d01-8cd3a6577296", "userid": "7e25b1da389f4697a79df3a0e5bd494e", "metadata": { "user_data": "$USER_DATA" } } }
  • 响应参数 正常响应要素 表4 正常响应要素说明 名称 参数类型 说明 jobId String 提交任务成功后返回的任务ID,用户可以使用该ID对任务执行情况进行查询。 如何根据job_id来查询Job的执行状态,请参考查询Job状态。 异常响应要素 表5 异常响应要素说明 名称 参数类型 说明 error 字典数据结构 提交任务异常时返回的异常信息,详情请参见表6。 表6 error数据结构 名称 参数类型 说明 message String 任务异常错误信息描述。 code String 任务异常错误信息编码。
  • 请求参数 参数 是否必选 参数类型 描述 os-change 是 Object 标记为切换裸金属服务器OS操作。详情请参见表2。 表2 os-change字段数据结构说明 参数 是否必选 参数类型 描述 adminpass 否 String 裸金属服务器管理员账号的初始登录密码。 其中,Linux管理员账户为root,Windows管理员账户为Administrator。 建议密码复杂度如下: 长度为8-26位。 密码至少必须包含大写字母、小写字母、数字和特殊字符(!@$%^-_=+[{}]:,./?)中的三种。 密码不能包含用户名或用户名的逆序。 说明: 对于Windows裸金属服务器,不能包含用户名中超过两个连续字符的部分。 对于Linux裸金属服务器也可使用user_data字段实现密码注入,此时adminpass字段无效。 adminpass和keyname不能同时有值。 adminpass和keyname如果同时为空,此时,metadata中的user_data属性必须有值。 keyname 否 String 密钥名称。 密钥可以通过创建和导入SSH密钥(OpenStack原生)API创建,或者使用查询SSH密钥列表(OpenStack原生)API查询已有的密钥。 userid 否 String 用户ID(登录管理控制台,进入我的凭证,即可看到“用户ID”)。 imageid 是 String 镜像ID。 镜像ID可以从镜像服务控制台获取,或者参考《镜像服务API参考》的“查询镜像列表”章节查询。 在使用“查询镜像列表”API查询时,可以添加过滤字段“?virtual_env_type=Ironic”来筛选裸金属服务器镜像。 metadata 否 Object 切换裸金属服务器的元数据。详情请参见表3。 表3 metadata字段数据结构说明 参数 是否必选 参数类型 描述 user_data 否 String 切换裸金属服务器过程中待注入的Linux镜像root密码,用户自定义初始化密码。 注:修改密码脚本需经base64编码。 建议密码复杂度如下: 长度为8-26位。 密码至少必须包含大写字母(A-Z)、小写字母(a-z)、数字(0-9)和特殊字符(!@$%^-_=+[{}]:,./?)中的三种。 示例: 使用明文密码(存在安全风险),以密码cloud.1234为例: 1 2 #!/bin/bash echo 'root:Cloud.1234' | chpasswd ; 使用密码: 1 2 #!/bin/bash echo 'root:$6$V6azyeLwcD3CHlpY$BN3VVq18fmCkj66B4zdHLWevqcxlig/GpOkLcOhab9smJoLKYm/Tf9Hcwa6DpiPDhdHfGEAPajFmLZa0YDd910' | chpasswd -e 此脚本需经base64编码方式编码。 其中,$6$V6azyeLwcD3CHlpY$BN3VVq18fmCkj66B4zdHLWevqcxlig为密文密码,生成方法如下: 生成加密盐值 1 2 [root@test linux]# python -c "import crypt, getpass, pwd;print crypt.mksalt()" $6$V6azyeLwcD3CHlpY 根据盐值生成密文密码 1 2 [root@test linux]# python -c "import crypt, getpass, pwd;print crypt.crypt('Cloud.1234','\$6\$V6azyeLwcD3CHlpY')" $6$V6azyeLwcD3CHlpY$BN3VVq18fmCkj66B4zdHLWevqcxlig/GpOkLcOhab9smJoLKYm/Tf9Hcwa6DpiPDhdHfGEAPajFmLZa0YDd910 密文生成之后,修改密码脚本需经base64编码方式编码。
  • URI POST /v1/{project_id}/baremetalservers/{server_id}/changeos 参数说明请参见表1。 表1 参数说明 参数 是否必选 描述 X-Auth-Token 是 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值) project_id 是 项目ID。 获取方式请参见获取项目ID。 server_id 是 裸金属服务器ID。 可以从裸金属服务器控制台查询,或者通过调用查询裸金属服务器列表(OpenStack原生)获取。
  • 约束 关机状态或者切换操作系统失败的裸金属服务器,才能执行切换操作。 使用私有镜像创建的裸金属服务器,请确保已经安装了Cloud-init(Linux镜像)或Cloudbase-init(Windows镜像)。如使用未安装Cloud-init或Cloudbase-init的镜像,该接口不能注入密钥或密码。公共镜像默认已安装Cloud-init或Cloudbase-init。 执行切换操作系统任务时,请勿并行执行其他操作,否则可能会引起切换操作系统失败。 目前Windows镜像不支持注入密码,Linux镜像的user_data为加密后的密码。
  • 请求示例 重装操作系统,裸金属服务器ID为cf2a8b97-b5c6-47ef-9714-eb27adf26e5b,密钥信息为KeyPair-350b,用户ID为7e25b1da389f4697a79df3a0e5bd494e。 1 POST https://{BMS Endpoint}/v1/bbf1946d374b44a0a2a95533562ba954/baremetalservers/cf2a8b97-b5c6-47ef-9714-eb27adf26e5b/reinstallos 1 2 3 4 5 6 7 8 9 { "os-reinstall": { "keyname": "$key_name", "userid": "7e25b1da389f4697a79df3a0e5bd494e", "metadata": { "user_data": "$USER_DATA" } } }
  • URI POST /v1/{project_id}/baremetalservers/{server_id}/reinstallos 参数说明请参见表1。 表1 参数说明 参数 是否必选 描述 project_id 是 项目ID。 获取方式请参见获取项目ID。 server_id 是 裸金属服务器ID。 可以从裸金属服务器控制台查询,或者通过调用查询裸金属服务器列表(OpenStack原生)获取。
  • 约束 使用私有镜像创建的裸金属服务器,请确保已经安装了Cloud-init(Linux镜像)或Cloudbase-init(Windows镜像)。如使用未安装Cloud-init或Cloudbase-init的镜像,该接口不能注入密钥或密码。公共镜像默认已安装Cloud-init或Cloudbase-init。 执行重装操作系统任务时,请勿并行执行其他任务,否则可能会引起重装操作系统失败。 关机状态或者重装操作系统失败的裸金属服务器,才能执行重装操作。 目前Windows镜像不支持注入密码,Linux镜像的user_data为加密后的密码。
  • 请求参数 参数 是否必选 参数类型 描述 os-reinstall 是 Object 标记为重装裸金属服务器操作。详情请参见表2。 表2 os-reinstall字段数据结构说明 参数 是否必选 参数类型 描述 adminpass 否 String 裸金属服务器管理员账号的初始登录密码。 其中,Linux管理员账户为root,Windows管理员账户为Administrator。 建议密码复杂度如下: 长度为8-26位。 密码至少必须包含大写字母、小写字母、数字和特殊字符(!@$%^-_=+[{}]:,./?)中的三种。 密码不能包含用户名或用户名的逆序。 说明: 对于Windows裸金属服务器,不能包含用户名中超过两个连续字符的部分。 对于Linux裸金属服务器也可使用user_data字段实现密码注入,此时adminpass字段无效。 adminpass和keyname不能同时有值。 adminpass和keyname如果同时为空,此时,metadata中的user_data属性必须有值。 keyname 否 String 密钥名称。 密钥可以通过创建和导入SSH密钥(OpenStack原生)API创建,或者使用查询SSH密钥列表(OpenStack原生)API查询已有的密钥。 userid 否 String 用户ID(登录管理控制台,进入我的凭证,即可看到“用户ID”)。 metadata 否 Object 重装裸金属服务器的元数据。详情请参见表3。 表3 metadata字段数据结构说明 参数 是否必选 参数类型 描述 user_data 否 String 重装裸金属服务器过程中待注入的Linux镜像root密码,用户自定义初始化密码。 注:修改密码脚本需经base64编码。 建议密码复杂度如下: 长度为8-26位。 密码至少必须包含大写字母(A-Z)、小写字母(a-z)、数字(0-9)和特殊字符(!@$%^-_=+[{}]:,./?)中的三种。 示例: 1 2 #!/bin/bash echo 'root:$6$V6azyeLwcD3CHlpY$BN3VVq18fmCkj66B4zdHLWevqcxlig/GpOkLcOhab9smJoLKYm/Tf9Hcwa6DpiPDhdHfGEAPajFmLZa0YDd910' | chpasswd -e 此脚本需经base64编码方式编码。 其中,$6$V6azyeLwcD3CHlpY$BN3VVq18fmCkj66B4zdHLWevqcxlig为密文密码,生成方法如下: 生成加密盐值 1 2 [root@test linux]# python -c "import crypt, getpass, pwd;print crypt.mksalt()" $6$V6azyeLwcD3CHlpY 根据盐值生成密文密码 1 2 [root@test linux]# python -c "import crypt, getpass, pwd;print crypt.crypt('Cloud.1234','\$6\$V6azyeLwcD3CHlpY')" $6$V6azyeLwcD3CHlpY$BN3VVq18fmCkj66B4zdHLWevqcxlig/GpOkLcOhab9smJoLKYm/Tf9Hcwa6DpiPDhdHfGEAPajFmLZa0YDd910 密文生成之后,修改密码脚本需经base64编码方式编码。
  • 请求示例 关闭ID为95bf2490-5428-432c-ad9b-5e3406f869dd的裸金属服务器。 1 POST https://{ECS Endpoint}/v2.1/c685484a8cc2416b97260938705deb65/servers/95bf2490-5428-432c-ad9b-5e3406f869dd/action 1 2 3 { "os-stop": {} }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 stage Stage object 凭据状态。 表4 Stage 参数 参数类型 描述 name String 凭据的版本状态名称。 约束:最小长度1,最大长度64。 update_time Long 凭据的版本状态更新的时间戳,时间戳,即从1970年1月1日至该时间的总秒数。 secret_name String 凭据名称。 version_id String 凭据的版本号标识符。 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 401 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 403 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 502 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 504 表11 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述