【问题标题】:softlayer api: how to get Secondary Addresses of virtual machinesoftlayer api:如何获取虚拟机的二级地址
【发布时间】:2017-12-02 15:00:24
【问题描述】:

softlayer api:订购时如何订购公共二级 IP 地址?

我订购了一台具有 8 个辅助 IP 地址的虚拟机。通过使用api,我如何检索8个辅助IP地址。

【问题讨论】:

  • 我已经订购了具有 8 个辅助 ip 的虚拟机。但我想通过使用 api 列出 8 个辅助 ip,而不是在门户网站上找到它们。
  • 要订购具有 8 个辅助 IP 的虚拟机,您必须使用 placeOrder 方法,没有其他方法可以举例说明您可以看到为 Luffy 发布的答案,一旦订购了您的 Virtual Guest,您将能够列出关联的 IP 地址,为此您需要列出与您的 VM 关联的子网,然后列出子网的 IP 地址,以查看您看到为费尔南多发布的答案的示例。

标签: php api ip ibm-cloud-infrastructure


【解决方案1】:

An Answer Given on SO 本身包含您的答案:

使用辅助公共 IP 地址订购虚拟访客

以下是 REST 中的示例,用于订购具有辅助功能的虚拟访客 ip 地址和表单中的前两个问题。

注意:不要忘记更改[用户名][apikey]价格等id 与您自己的数据

https://[username]:[apikey]@api.softlayer.com/rest/v3/SoftLayer_Product_Order/verifyOrder

Method: POST

Body JSON:
{
  "parameters":[
      {
          "complexType": "SoftLayer_Container_Product_Order_Virtual_Guest",
          "packageId": 46,
          "location": "AMSTERDAM",
          "quantity": 1,
          "prices":[
              {"id":14640},
              {"id":11644},
              {"id":9205},
              {"id":22272},
              {"id":52231},
              {"id":21},
              {"id":2202},
              {"id":13945},
              {"id":55},
              {"id":57},
              {"id":58},
              {"id":420},
              {"id":418},
              {"id":22}
          ],
          "virtualGuests":[
              {
                  "hostname": "test",
                  "domain": "example.com"                 
              }
          ],
          "itemCategoryQuestionAnswers":[
              {
                  "answer": "2",
                  "categoryId": 14,
                  "questionId": 14
              },
              {
                  "answer": "4",
                  "categoryId": 14,
                  "questionId": 15
              }
          ]
      }

  ]
}

注意:更多详细答案请参考this Question

【讨论】:

    【解决方案2】:

    您可以使用Network_Subnet::getIpAddresses 方法检索所需的列表。请尝试以下 REST 请求:

    https://$username:$apiKey@api.softlayer.com/rest/v3.1/SoftLayer_Network_Subnet/$subnetId/getIpAddresses?objectMask=mask[ipAddress, note, id, subnetId]
    

    上面的代码使用 objectMasks 仅显示门户网站向您显示的内容,如在本例中,您在特定子网上的 8 个或任意数量的 IP 地址,请记住更改第一个 $username:有效凭据的 $apikey 值,以及 $subnetId 标识符。

    更新: 您可以使用以下命令搜索 VSI 的子网 ID:

    SoftLayer_Virtual_Guest::getObject

    https://$username:$apiKey@api.softlayer.com/rest/v3.1/SoftLayer_Virtual_Guest/$virtualGuestId/getObject?objectMask=mask[accountId,fullyQualifiedDomainName,primaryIpAddress,hostname,domain,frontendNetworkComponents[guestId,primaryIpAddress,subnets[id]]]
    

    记得更改您的 VSI id 值的 $virtualGuestId

    更多信息请见下文:

    Object Masks

    Get Subnet Capacity

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-18
      • 2016-02-02
      • 1970-01-01
      • 2019-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多