Softlayer API: Заказать приватный vlan

Наше требование — иметь 5 виртуальных машин в 3 разных вланах. На https://control.softlayer.com/network/vlans я не вижу возможности создавать приватные вланы. Мне интересно, есть ли способ создать несколько частных vlan с использованием SL API?


person Raghvendra    schedule 07.04.2016    source источник


Ответы (1)


Это REST запрос на заказ private Vlan:

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

Метод: POST Json Полезная нагрузка:

{
  "parameters": [
    {
      "location": "AMSTERDAM",
      "packageId": 0,
      "prices": [
        {
          "id": 50745 # Private Network Vlan
        },
        {
          "id": 36696 # 8 Static Public IP Addresses
        }
      ],
      "quantity": 1,
      "name": "myNewVlan",
      "complexType": "SoftLayer_Container_Product_Order_Network_Vlan",
      "itemCategoryQuestionAnswers": [
        {
          "categoryId": 53,
          "categoryCode": "static_sec_ip_addresses",
          "questionId": 14,
          "answer": 4 # TOTAL_IPS_IN_30_DAYS
        },
        {
          "categoryId": 53,
          "categoryCode": "static_sec_ip_addresses",
          "questionId": 15,
          "answer": 4 # TOTAL_IPS_IN_12_MONTHS
        },
        {
          "categoryId": 53,
          "categoryCode": "static_sec_ip_addresses",
          "questionId": 16,
          "answer": "Description of your need for additional IPs"
        },
        {
          "categoryId": 53,
          "categoryCode": "static_sec_ip_addresses",
          "questionId": 9,
          "answer": "Contact name"
        },
        {
          "categoryId": 53,
          "categoryCode": "static_sec_ip_addresses",
          "questionId": 10,
          "answer": "Contact job title"
        },
        {
          "categoryId": 53,
          "categoryCode": "static_sec_ip_addresses",
          "questionId": 11,
          "answer": "[email protected]"
        },
        {
          "categoryId": 53,
          "categoryCode": "static_sec_ip_addresses",
          "questionId": 12,
          "answer": "72578789"  # CONTACT_PHONE_NUMBER
        },
        {
          "categoryId": 53,
          "categoryCode": "static_sec_ip_addresses",
          "questionId": 13,
          "answer": true  # CONTACT_VALIDATED
        }
      ]
    }
  ]
}

Примечание.

  • Чтобы выполнить этот запрос, удалите комментарии, например. # CONTACT_PHONE_NUMBER, # CONTACT_VALIDATED, # TOTAL_IPS_IN_12_MONTHS, # TOTAL_IPS_IN_30_DAYS.

  • Когда вся ваша конфигурация будет готова, измените verifyOrder на «placeOrder». Чтобы получить valid item prices, выполните:

    https://[username]:[apikey]@api.softlayer.com/rest/v3/SoftLayer_Product_Package/0/getItemPrices?objectMask=mask[id,locationGroupId,item[id,keyName,description],pricingLocationGroup[locations[id, name, longName]]]
    
    Method: GET 
    

Если вы хотите создать несколько элементов, вы можете использовать API clients созданные SoftLayer: клиенты API SoftLayer

Ссылки:

SoftLayer_Product_Order

SoftLayer_Product_Order::placeOrder

SoftLayer_Product_Order::verifyOrder

SoftLayer_Container_Product_Order_Network_Vlan

SoftLayer_Product_Item_Price

Softlayer-API-Overview

person mcruz    schedule 07.04.2016
comment
В этом примере расположение — AMSTERDAM, что сильно отличается от вызова placeOrder, например, при заказе дисков iSCSI (которые используют идентификатор местоположения). Могу ли я использовать идентификатор местоположения вместо Амстердама или я могу использовать ams01? Если я не могу, где я могу получить действительные значения для параметра местоположения в этом конкретном вызове API? - person Ludvig A. Norin; 19.09.2017