Softlayer:标记设备

时间:2017-03-22 07:25:52

标签: ibm-cloud-infrastructure

在客户门户中创建设备时,我找不到任何标记设备的选项,因此我使用Why does $var where var="foo bar" not do what I expect? Rest API标记设备:

var hdPrimUserFirstRegList = 
          JsonConvert
             .DeserializeObject<List<hdPrimUserFirstRegModel>>(pageVM.hdPrimUserFirstReg );
var projectsNames = hdPrimUserFirstRegList.Select(x=>x.ProjectName).toList();

但是得到错误说:

  

{“error”:“您无权标记此对象。”,
  “code”:“SoftLayer_Exception_PermissionDenied”}

1 个答案:

答案 0 :(得分:1)

您发送正文的方式有误(标记参数丢失且 keyName 的值不正确),请尝试以下操作:

虚拟客人

https://$user:$apiKey@api.softlayer.com/rest/v3/SoftLayer_Tag/setTags

Method: Post

{  
   "parameters":[  
      "tag1,tag2",
      "GUEST",
      29756959
   ]
}

硬件

https://$user:$apiKey@api.softlayer.com/rest/v3/SoftLayer_Tag/setTags

Method: Post

{  
   "parameters":[  
      "tag1,tag2",
      "HARDWARE",
      29756959
   ]
}
  

<强>更新

要设置标记,您需要检查以下内容:

  
      
  1. 访问设备
  2.   
  3. 为设备类型(Vsi /硬件)启用了权限:

         
        
    • 硬件 - &gt; 查看硬件详细信息
    •   
    • VSI - &gt; 查看虚拟服务器详细信息
    •   
  4.   

目前无法设置标签下订单,您可以在提交订单后设置它们

  

设备&gt;&gt;设备列表&gt;&gt;搜索设备(例如:rcvtagtest)

enter image description here

另一种方法是通过API下订单,在此时可以通过它设置标签来创建服务器,这里是VSI的一个例子:

  

<强> Updated2

SoftLayer_Tag::getTagByTagName方法提供有关标记的信息,而不是标记有此标记的设备。

它将根据标签名称提供标签中的信息,因此没有必要发送标识符,因此正确的方法是:

https://$user:$apiKey@api.softlayer.com/rest/v3/SoftLayer_Tag/getTagByTagName

Method: Post

{  
   "parameters":[  
      "test1,test2"
   ]
}

替换: $ user,$ apiKey 包含您自己的信息, test1 test2 包含您要检索的标记名称< / p>

如果您想要检索设备,请查看此论坛(对于Vsis,同样的想法应该应用于BMS):

如果这对您没有帮助,请提供有关您的要求的更多信息,以便我能为您提供帮助