SoftLayer API: заказ пула полосы пропускания

Для части N/W, когда мы пытались «добавить» новый пул полосы пропускания, за установку взималась плата в размере 25 долларов США. Но мне не удалось найти API для вызова этой платы. Даже не было удостоверения личности, которое требовало бы плату за установку в размере 25 долларов.

Что я должен использовать для корректировки этой платы за установку?

Пожалуйста, я хочу знать, как кодировать «Добавление пула пропускной способности» в java.

Спасибо.


person Juhyun Park    schedule 01.02.2016    source источник


Ответы (1)


Взгляните на следующие Java-скрипты:

1. Чтобы получить комиссию пула пропускной способности за добавление участника/установку Vdr:

package SoftLayer.api_java;
import com.softlayer.api.ApiClient;
import com.softlayer.api.RestApiClient;
import com.softlayer.api.service.account.Attribute;
import com.softlayer.api.service.Account;

/** 
 * This script retrieves a Vdr Member Price
 * 
 * Important pages:
 * http://sldn.softlayer.com/reference/services/SoftLayer_Account/getAttributeByType
 * http://sldn.softlayer.com/reference/datatypes/SoftLayer_Account_Attribute
 */
public class GetVdrMemberPrice {

    public GetVdrMemberPrice() {
        // Declare your SoftLayer username and apiKey
        String user = "set me";
        String apikey = "set me";
        // Declare API Client
        ApiClient client = new RestApiClient().withCredentials(user, apikey);
        // Declare the type of account attribute you wish to retrieve
        String attributeType = "VDR_MEMBER_PRICE";
        try {
            Attribute result = Account.service(client).getAttributeByType(attributeType);
            System.out.println("Value: " + result.getValue());
        } catch (Exception e) {
            System.out.println("Error: " + e);
        }
    }

    public static void main(String[] args) {
        new GetVdrMemberPrice();
    }
}

2. Чтобы добавить пул пропускной способности

package SoftLayer.api_java;
import com.softlayer.api.ApiClient;
import com.softlayer.api.RestApiClient;
import com.softlayer.api.service.network.bandwidth.version1.Allotment;

/**
 * Add a Bandwidth Pool
 * 
 * Important pages:
 * http://sldn.softlayer.com/reference/services/SoftLayer_Network_Bandwidth_Version1_Allotment
 * http://sldn.softlayer.com/reference/services/SoftLayer_Network_Bandwidth_Version1_Allotment/createObject
 */
public class AddingBandwidthPool {

    public AddingBandwidthPool() {
        // Declare your SoftLayer username and apiKey
        String user = "set me";
        String apikey = "set me";
        // Define your account Id (set me)
        Long accountId = new Long(123456);
        // Define an identifier marking this allotment as a virtual private rack (1) or a bandwidth pooling(2).
        Long bandwidthAllotmentTypeId = new Long(2);
        // Define the region. You can get available regions using SoftLayer_Location_Group::getAllObjects method
        // http://sldn.softlayer.com/reference/services/SoftLayer_Location_Group/getAllObjects
        Long locationGroupId = new Long(1); 
        // Define text a virtual rack's name.
        String name = "set me";
        // Declare API Client
        ApiClient client = new RestApiClient().withCredentials(user, apikey);
        // Build a SoftLayer_Network_Bandwidth_Version1_Allotment object that you wish to create
        Allotment templateObject = new Allotment();
        templateObject.setAccountId(accountId);
        templateObject.setBandwidthAllotmentTypeId(bandwidthAllotmentTypeId);
        templateObject.setLocationGroupId(locationGroupId);;
        templateObject.setName(name);

        try {
            boolean result = Allotment.service(client).createObject(templateObject);
            System.out.println(result);
        } catch (Exception e) {
            System.out.println("Error: " + e);
        }
    }

    public static void main(String[] args) {
        new AddingBandwidthPool();
    }
}

Примечание. Существует проблема с возвращаемым значением для: SoftLayer_Network_Bandwidth_Version1_Allotment::createObject, поскольку согласно wsdl, он возвращает логическое значение, но возвращает объект SoftLayer_Network_Bandwidth_Version1_Allotment. Однако пул полосы пропускания успешно добавлен.

Ссылки: GetVdrMemberPrice CreateBandwidthPool

person Ruber Cuellar Valenzuela    schedule 01.02.2016
comment
Спасибо за ваш комментарий. :) очень помогло. Итак, для добавления пула диапазонов мне нужно создать новый «Bandwidth_Version1_Allotment». Правильно? И в соответствии с потоком, после его создания необходимо добавить сервер, после чего будет скорректирована плата за установку. Меня беспокоит добавление платы за установку в счет. Как я могу добавить эту комиссию к пункту выставления счетов? Спасибо. (И к вашему сведению, мы работаем с Java) - person Juhyun Park; 02.02.2016
comment
Да, вы правы насчет потока. Что касается добавления комиссии к счету, она будет добавлена ​​автоматически, транзакция запустит новую статью выставления счетов, которая должна появиться. - person Ruber Cuellar Valenzuela; 02.02.2016
comment
Это плата, установленная для вашей учетной записи, вы можете получить это значение (плата за добавление члена/установки Vdr), используя первый сценарий, который я отправил 1. Чтобы получить плату пула пропускной способности за добавление члена/установки Vdr. с этим? - person Ruber Cuellar Valenzuela; 03.02.2016
comment
Здравствуйте, мы попытались с вашим первым ответом получить «информацию о плате», как показано ниже, try { accountService.clearMask(); клиент = restApiClient.withCredentials (userId, apiKey); Результат атрибута = Account.service(client).getAttributeByType(VDR_MEMBER_PRICE); //com.softlayer.api.service.account.Attribute result = accountService.getAttributeByType(VDR_MEMBER_PRICE); System.out.println(Значение: + result.getValue()); } catch (Exception e) { // TODO: обработка исключения e.printStackTrace(); } - person Juhyun Park; 21.03.2016
comment
И мы получили исключение нулевого указателя. Значение «Цена участника VDR» было нулевым. Не могли бы вы оказать нам дальнейшую помощь? Спасибо. - person Juhyun Park; 21.03.2016
comment
Если вы получили исключение нулевого указателя, это означает, что этот атрибут не существует в вашей учетной записи, а ЦЕНА ДЛЯ УЧАСТНИКА VDR установлена ​​по умолчанию (25,00 долларов США). В некоторых случаях, когда у клиента или учетной записи другая цена, скрипт, который вы пробовали, должен возвращать установленную цену. - person Ruber Cuellar Valenzuela; 21.03.2016