通过使用SoftLayer REST API更正json以调用addConfigurationProfile方法

时间:2017-02-15 06:12:19

标签: rest api ibm-cloud-infrastructure

请告诉我正确的json使用SoftLayer REST API调用addConfigurationProfile方法。我用以下方式尝试了它,但它没有用。

curl -K support -d @aaa.json -X POST https://api.softlayer.com/rest/v3/SoftLayer_Monitoring_Agent/addConfigurationProfile

执行命令时,将显示以下错误消息:

  

{"错误":"属性' agentId'无效   ' SoftLayer_Monitoring_Agent_Configuration_ValueArray'""代码":" SoftLayer_Exception_Public"}

JSON文件的内容如下所述:

{
    "parameters": [{
        "agentId": 4994537,
        "configurationDefinitionId": 34073,
        "description": "",
        "profileId": 192407,
        "id": 89150443,
        "value": "88"
    }]
}

2 个答案:

答案 0 :(得分:0)

请尝试以下json模板:

curl -K support -d @aaa.json -X POST https://api.softlayer.com/rest/v3/SoftLayer_Monitoring_Agent/$agentId/addConfigurationProfile

{  
    "parameters":[  
        [  
            {  
                "agentId":4994537,
                "configurationDefinitionId":34073,
                "profileId":192407,
                "value":"88"
            }
        ]
    ]
}

答案 1 :(得分:0)

我能看到的第一件事就是你错过了init参数:

见文档:

http://sldn.softlayer.com/reference/services/SoftLayer_Monitoring_Agent/addConfigurationProfile

它表示init参数是必需的。

请参阅此文档: https://sldn.softlayer.com/article/REST

因此您需要在请求中添加

curl -K support -d @aaa.json -X POST https://api.softlayer.com/rest/v3/SoftLayer_Monitoring_Agent/$MonitoringAgentID/addConfigurationProfile

Note: Replace $MonitoringAgentID with the id of the monitor agent that you want to change

同样在文档中它说它需要" configurationValues"作为参数你可以看到它是复数,所以该方法期望一个数组,而不是一个值。

此致