softlayer api: 注文時にパブリック セカンダリ IP アドレスを注文するにはどうすればよいですか?

J.アレン

注文時にパブリック セカンダリ IP アドレスを注文したいと思います。そして、softlayer api でこれらの注文情報を送信するにはどうすればよいですか?

ここに画像の説明を入力してください

アルバート・カマチョ

上記の注文情報を送信するには、注文時に「itemCategoryQuestionAnswers」パラメータを入力する必要がありますこのパラメータは、Container_Product_Order_Virtual_GuestContainer_Product_Order_Hardware_Serverなどのデータタイプにあります

以下は、REST の JSON の例です。

"itemCategoryQuestionAnswers":[
            {
                "answer": "2",
                "categoryId": 14,
                "questionId": 14
            },
            {
                "answer": "4",
                "categoryId": 14,
                "questionId": 15
            }
        ]

The example above belongs to the first two questions in the form. As you can see, it is necessary to know the id of categoryId and questionId parameters. Follow the steps below.

CategoryID

As greyhoundforty comment you, the link SoftLayer API: Ordering Subnet is a good starting point. On that page mcruz shows how to execute the method Product_Item_Category::getSubnetCategories. The method returns some thing like this:

    {
        "categoryCode": "global_ipv6",
        "id": 331,
        "name": "Global IPv6",
        "quantityLimit": 0
    },
    {
        "categoryCode": "sec_ip_addresses",
        "id": 14,
        "name": "Public Secondary IP Addresses",
        "quantityLimit": 0
    },

On this case the categoryId is 14 for category "Public Secondary IP Addresses".

QuestionID

To get all questions related to the category "sec_ip_addresses" you can use the method Product_Item_Category::getQuestions or Product_Item_Category::getQuestionReferences. On this case I'll show you how execute getQuestionReferences method:

https://[username]:[apikey]@api.softlayer.com/rest/v3/SoftLayer_Product_Item_Category/14/getQuestionReferences?objectMask=[question]

Method: GET

It should returns something like this:

{
    "id": 61,
    "questionId": 14,
    "required": true,
    "question": {
        "description": "The number of IP addresses expected to be used within the next 30 days.",
        "id": 14
    }
},
{
    "id": 62,
    "questionId": 15,
    "required": true,
    "question": {
        "description": "The number of IP addresses expected to be used within the next 12 months.",
        "id": 15
    }
},

Now you can know the questionId of each question in the form.

Order Virtual Guest with a Secondary Public Ip Address

Below is an example in REST to order a virtual guest with a secondary ip address and two first questions in the form.

Note: Don't forget change [username], [apikey], prices, and other ids with your own data

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
                }
            ]
        }

    ]
}

About your REST structure

I don't know what REST client you are using, but I was able to reproduce your issue in a RESTclient from firefox, in other REST clients like Insomnia I'm just getting errors.

Basically, you are getting empty response because your JSON structure have some mistakes. First, all data in body needs to be into "parameters" object, please review the example above. Second, value of "sshKeyIds" needs to be into double quotes because it is an string. Finally, I recommend you put all objects and string values into double quotation mark due to it is the JSON standard format, you can verify this information in jQuery.parseJSON single quote vs double quote and http://www.json.org/.

重要: placeOrder メソッドを使用する前に、最初に verifyOrder実行することをお勧めします注文する準備ができたら、URL リクエストの verifyOrder を placeOrder に変更するだけです。

リクエストを次のように変更しました

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

Body in JSON format:

{
    "parameters":[
        {
            "complexType" : "SoftLayer_Container_Product_Order_Virtual_Guest",
            "location" : "449604",
            "packageId" : 46,
            "quantity" : 1,         
            "useHourlyPricing" : true,
            "virtualGuests" : [
                {
                    "domain" : "aaa.com",
                    "hostname" : "sshkey_07"
                }
            ],
            "sshKeys" : [
                { "sshKeyIds" : ["620913L"]   }
            ],
            "prices" : [
                {"id" : 1644 },
                {"id" : 2202 }, 
                {"id" : 2259 }, 
                {"id" : 273  }, 
                {"id" : 1640 }, 
                {"id" : 17442}, 
                {"id" : 905  }, 
                {"id" : 21   }, 
                {"id" : 57   }, 
                {"id" : 55   }, 
                {"id" : 58   }, 
                {"id" : 420  }, 
                {"id" : 418  }, 
                {"id" : 22   }, 
                {"id" : 1800 }
            ],
            "itemCategoryQuestionAnswers" : [{
                    "answer" : "4",
                    "questionId" : 14,
                    "categoryCode" : "sec_ip_addresses",
                    "categoryId" : 14
                }, {
                    "answer" : "4",
                    "questionId" : 15,
                    "categoryCode" : "sec_ip_addresses",
                    "categoryId" : 14
                }, {
                    "answer" : "aaaa",
                    "questionId" : 16,
                    "categoryCode" : "sec_ip_addresses",
                    "categoryId" : 14
                }, {
                    "answer" : "allesa",
                    "questionId" : 9,
                    "categoryCode" : "sec_ip_addresses",
                    "categoryId" : 14
                }, {
                    "answer" : "product manager",
                    "questionId" : 10,
                    "categoryCode" : "sec_ip_addresses",
                    "categoryId" : 14
                }, {
                    "answer" : "[email protected]",
                    "questionId" : 11,
                    "categoryCode" : "sec_ip_addresses",
                    "categoryId" : 14
                }, {
                    "answer" : "xxxxxxxxx",
                    "questionId" : 12,
                    "categoryCode" : "sec_ip_addresses",
                    "categoryId" : 14
                }, {
                    "answer" : "1",
                    "questionId" : 13,
                    "categoryCode" : "sec_ip_addresses",
                    "categoryId" : 14
                }
            ]           
        }
    ]
} 

ご不明な点がある場合や、さらにサポートが必要な場合はお知らせください。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

セカンダリIPアドレスを削除するにはどうすればよいですか?

分類Dev

APIを介してSoftLayerパブリック・イメージを作成するにはどうすればよいですか?

分類Dev

Softlayer API:注文でアカウントIDを指定する方法は?

分類Dev

Amazon API Gateway + Lambda(ノード)を介してユーザーのパブリックIPアドレスを取得するにはどうすればよいですか

分類Dev

パブリックIPアドレスを知っている人に連絡するにはどうすればよいですか?

分類Dev

パブリックIPアドレスをインバウンドルールとして追加するにはどうすればよいですか?

分類Dev

SoftLayerで注文したオブジェクト・ストレージに関する情報にアクセスまたは取得するにはどうすればよいですか?

分類Dev

ドメインをIPアドレスに設定するにはどうすればよいですか?

分類Dev

プログラムでパブリックIPアドレスを取得するにはどうすればよいですか?

分類Dev

Pythonを使用してAWS LambdaパブリックIPアドレスを取得するにはどうすればよいですか?

分類Dev

携帯電話のパブリックIPアドレスを取得するにはどうすればよいですか?

分類Dev

SoftLayer API:注文ライセンス

分類Dev

GoでローカルIPアドレスを取得するにはどうすればよいですか?

分類Dev

再起動時にEC2インスタンスがパブリックIPアドレスを変更しないようにするにはどうすればよいですか?

分類Dev

FreeBSDマシンで静的IPアドレスを設定するにはどうすればよいですか?

分類Dev

LXCコンテナのIPアドレスを取得するにはどうすればよいですか?

分類Dev

CrostiniコンテナのIPアドレスを確認するにはどうすればよいですか?

分類Dev

UnixマシンのIPアドレスを取得するにはどうすればよいですか?

分類Dev

IPアドレスをリッスンするようにBlazorWebサーバーを構成するにはどうすればよいですか?

分類Dev

リクエストのIPアドレスを偽ってファイルをダウンロードするにはどうすればよいですか?

分類Dev

ローカルIPアドレスがWebブラウザでリークするのを確実に防ぐにはどうすればよいですか?

分類Dev

ユーザーIPの代わりにサーバーIPを使用してユーザーをAPIエンドポイント(別のドメイン)にリダイレクトするにはどうすればよいですか?

分類Dev

Express.js:IPアドレスを取得してビューをレンダリングするにはどうすればよいですか?

分類Dev

APIがAWSKubernetesポッドから認識するIPアドレスを修正するにはどうすればよいですか

分類Dev

LinuxおよびOSXでローカルマシンのプライマリIPアドレスを取得するにはどうすればよいですか?

分類Dev

Python SimpleHTTPServerにリクエストを送信したクライアントのIPアドレスを取得するにはどうすればよいですか?

分類Dev

Bashスクリプトで使用するためにnmblookupからIPアドレスのみを取得するにはどうすればよいですか?

分類Dev

パブリックIPでポートにアクセスできるようにするにはどうすればよいですか

分類Dev

パブリックIPでポートにアクセスできるようにするにはどうすればよいですか

Related 関連記事

  1. 1

    セカンダリIPアドレスを削除するにはどうすればよいですか?

  2. 2

    APIを介してSoftLayerパブリック・イメージを作成するにはどうすればよいですか?

  3. 3

    Softlayer API:注文でアカウントIDを指定する方法は?

  4. 4

    Amazon API Gateway + Lambda(ノード)を介してユーザーのパブリックIPアドレスを取得するにはどうすればよいですか

  5. 5

    パブリックIPアドレスを知っている人に連絡するにはどうすればよいですか?

  6. 6

    パブリックIPアドレスをインバウンドルールとして追加するにはどうすればよいですか?

  7. 7

    SoftLayerで注文したオブジェクト・ストレージに関する情報にアクセスまたは取得するにはどうすればよいですか?

  8. 8

    ドメインをIPアドレスに設定するにはどうすればよいですか?

  9. 9

    プログラムでパブリックIPアドレスを取得するにはどうすればよいですか?

  10. 10

    Pythonを使用してAWS LambdaパブリックIPアドレスを取得するにはどうすればよいですか?

  11. 11

    携帯電話のパブリックIPアドレスを取得するにはどうすればよいですか?

  12. 12

    SoftLayer API:注文ライセンス

  13. 13

    GoでローカルIPアドレスを取得するにはどうすればよいですか?

  14. 14

    再起動時にEC2インスタンスがパブリックIPアドレスを変更しないようにするにはどうすればよいですか?

  15. 15

    FreeBSDマシンで静的IPアドレスを設定するにはどうすればよいですか?

  16. 16

    LXCコンテナのIPアドレスを取得するにはどうすればよいですか?

  17. 17

    CrostiniコンテナのIPアドレスを確認するにはどうすればよいですか?

  18. 18

    UnixマシンのIPアドレスを取得するにはどうすればよいですか?

  19. 19

    IPアドレスをリッスンするようにBlazorWebサーバーを構成するにはどうすればよいですか?

  20. 20

    リクエストのIPアドレスを偽ってファイルをダウンロードするにはどうすればよいですか?

  21. 21

    ローカルIPアドレスがWebブラウザでリークするのを確実に防ぐにはどうすればよいですか?

  22. 22

    ユーザーIPの代わりにサーバーIPを使用してユーザーをAPIエンドポイント(別のドメイン)にリダイレクトするにはどうすればよいですか?

  23. 23

    Express.js:IPアドレスを取得してビューをレンダリングするにはどうすればよいですか?

  24. 24

    APIがAWSKubernetesポッドから認識するIPアドレスを修正するにはどうすればよいですか

  25. 25

    LinuxおよびOSXでローカルマシンのプライマリIPアドレスを取得するにはどうすればよいですか?

  26. 26

    Python SimpleHTTPServerにリクエストを送信したクライアントのIPアドレスを取得するにはどうすればよいですか?

  27. 27

    Bashスクリプトで使用するためにnmblookupからIPアドレスのみを取得するにはどうすればよいですか?

  28. 28

    パブリックIPでポートにアクセスできるようにするにはどうすればよいですか

  29. 29

    パブリックIPでポートにアクセスできるようにするにはどうすればよいですか

ホットタグ

アーカイブ