SL中的密码更新 [英] Password Update in SL

查看:51
本文介绍了SL中的密码更新的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用Softlayer中的Java API更新操作系统的密码/用户名. 但是执行API后,密码不会被修改.这是我测试过的代码. 如果您有任何疑问,请发表评论.谢谢

I am trying to update a password/Username of OS using Java API in Softlayer. But after executing API, Password is not modified. Here is the code i've tested. Please comment me if you find any doubts. Thanks

import com.softlayer.api.ApiClient;
import com.softlayer.api.RestApiClient;
import com.softlayer.api.service.Hardware;
import com.softlayer.api.service.hardware.Server;
import com.softlayer.api.service.software.Component;
import com.softlayer.api.service.software.Description;
import com.softlayer.api.service.virtual.Guest;


        public void deviceSoftcomp_BM_reName() throws Exception {

        Server.Service bmService = Server.service(client, 8045737l);

        bmService.withMask().softwareComponents().passwords().username().password();
        bmService.withMask().softwareComponents().softwareDescription().name();

        Hardware hd = bmService.getObject();

        List<Component> compList =  hd.getSoftwareComponents();

        for (Component comp : compList) {
            Description desc = comp.getSoftwareDescription();
            System.out.println(" software name : " + desc.getName());
            Long softId = comp.getId();
            System.out.println(" software id : " + softId);


            List<com.softlayer.api.service.software.component.Password> passList = comp.getPasswords();

            for (com.softlayer.api.service.software.component.Password password : passList) {

                System.out.println(" Username : " + password.getUsername());
                System.out.println(" Password : " + password.getPassword());

                if(softId == 9824519){
                    System.out.println("--- Rename OS name " );
                    password.setUsername("newUser");
                    password.setPassword("xfdgasdf123");
                }
            }

        }
    }

推荐答案

请尝试以下操作: SoftLayer_Software_Component_Password :: editObject

下面是一个REST示例:

Below is a REST example:

https://[username]:[apikey]@api.softlayer.com/rest/v3/SoftLayer_Software_Component_Password/[comp_pass_id]/editObject

Method: POST

Json Payload:
{
  "parameters": [
    {
      "password": "myPassEdited",
      "username": "myUserEdited"
    }
  ]
}

此外,要获取服务器软件组件的密码,请参阅:

Also, to get passwords of server software components, please see:

https://[username]:[apikey]@api.softlayer.com/rest/v3/SoftLayer_Hardware/[server_id]/getSoftwareComponents?objectMask=mask[passwords]

Method: GET

这篇关于SL中的密码更新的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆