API 获取softlayer节点的实例类型
API to get instance type of softlayer node
我正在尝试编写一些脚本,这些脚本可以根据节点实例的类型执行 switch 语句; VM
或 baremetal
。
有没有办法可靠地判断环境中机器是什么类型的实例?
我的第一个想法是 bond0
接口的存在,但如果有人订购带有奇怪网络配置的 VM
,这可能会出现问题。如果有一个简单的 API 调用来检查实例类型?
您可以使用此服务:
http://sldn.softlayer.com/reference/services/SoftLayer_Resource_Metadata
此服务旨在识别设备。该服务必须 运行 在机器内,您不需要指定您的用户名或 API 密钥。
因此您可以 运行 method to get the id of the machine 例如
curl -i -H "Accept: application/json" -H "Content-Type: application/json" -X GET https://api.service.softlayer.com/rest/v3/SoftLayer_Resource_Metadata/getId
获得设备 ID 后,您可以查看此 ID 是否属于裸机服务器或 VSI,为此您可以使用 getObject 方法。
http://sldn.softlayer.com/reference/services/SoftLayer_Hardware_Server/getObject
http://sldn.softlayer.com/reference/services/SoftLayer_Virtual_Guest/getObject
例如,如果您的 ID 属于 VSI,并且您调用 SoftLayer_Hardware_Server::getObject 方法,您将收到 ID 不存在之类的错误,而当您调用 SoftLayer_Virtual_Guest::getObject 方法时,您将能够获取有关机器的信息。
另外你可以列出你账户中所有的裸机和VSI服务器,验证你的ID是属于裸机还是VSI,你可以使用这些方法:
http://sldn.softlayer.com/reference/services/SoftLayer_Account/getVirtualGuests
http://sldn.softlayer.com/reference/services/SoftLayer_Account/getHardware
此致
我正在尝试编写一些脚本,这些脚本可以根据节点实例的类型执行 switch 语句; VM
或 baremetal
。
有没有办法可靠地判断环境中机器是什么类型的实例?
我的第一个想法是 bond0
接口的存在,但如果有人订购带有奇怪网络配置的 VM
,这可能会出现问题。如果有一个简单的 API 调用来检查实例类型?
您可以使用此服务:
http://sldn.softlayer.com/reference/services/SoftLayer_Resource_Metadata
此服务旨在识别设备。该服务必须 运行 在机器内,您不需要指定您的用户名或 API 密钥。
因此您可以 运行 method to get the id of the machine 例如
curl -i -H "Accept: application/json" -H "Content-Type: application/json" -X GET https://api.service.softlayer.com/rest/v3/SoftLayer_Resource_Metadata/getId
获得设备 ID 后,您可以查看此 ID 是否属于裸机服务器或 VSI,为此您可以使用 getObject 方法。
http://sldn.softlayer.com/reference/services/SoftLayer_Hardware_Server/getObject http://sldn.softlayer.com/reference/services/SoftLayer_Virtual_Guest/getObject
例如,如果您的 ID 属于 VSI,并且您调用 SoftLayer_Hardware_Server::getObject 方法,您将收到 ID 不存在之类的错误,而当您调用 SoftLayer_Virtual_Guest::getObject 方法时,您将能够获取有关机器的信息。
另外你可以列出你账户中所有的裸机和VSI服务器,验证你的ID是属于裸机还是VSI,你可以使用这些方法:
http://sldn.softlayer.com/reference/services/SoftLayer_Account/getVirtualGuests http://sldn.softlayer.com/reference/services/SoftLayer_Account/getHardware
此致