1

このコンテキストでは config とも呼ばれる環境変数を自分の cloudControl デプロイメントに追加したいと考えています。ただし、提供されているコマンドライン ツールは使用できずcctrlapp、REST API を使用する必要があります。API はhttps://api.cloudcontrol.comでアクセスでき、 https://api.cloudcontrol.com/doc/で文書化されています

私の問題は、環境変数を参照するドキュメントのセクションが空であることです!

これが私がこれまでに行ったことです:

  1. タイプ nodejs のアプリケーションが作成されました
  2. デフォルトのデプロイが作成されました
  3. envを追加しようとしました。変数

に POST リクエストを送信する必要があることがわかりましたhttps://api.cloudcontrol.com/app/{APP_NAME}/deployment/{DEPLOYMENT_NAME}/addoncctrlapp( app.pyおよびcclib.pyを参照)の実装によると、次の JSON データが必要であると推測します。

{"addon":"config.free","options":{"key":"value"}}

今、私は立ち往生しています。この場合、リクエストは次を返します。

Bad Request {"parameters": "Invalid parameters given."}

わずかに変更されたオブジェクトを使用する場合

{"addon":"config.free","settings":{"key":"value"}}

次のメッセージが表示されます。

[ERROR] Missing config variables

APIのみを使用してそのようなキーと値のペアを適用する方法を知っている人はいますか?

4

1 に答える 1

1

https://github.com/cloudControl/pycclib/blob/master/pycclib/cclib.py#L422を見ると、使用する必要が"options"あり、の値はoptionsjson でエンコードされた辞書 ( https://github .com/cloudControl/cctrl/blob/master/cctrl/addonoptionhelpers.py#L82 )。

ただし、残りの部分は json エンコードされていませんが、通常の POST パラメーターです ( https://github.com/cloudControl/pycclib/blob/master/pycclib/cclib.py#L931 )。参照用の作業リクエスト (config.add x=1 と同等):

POST /app/myappname/deployment/default/addon/ HTTP/1.1
content-length: 50
accept-encoding: compress, gzip
user-agent: pycclib/1.5.5
host: api.cloudcontrolled.com
content-type: application/x-www-form-urlencoded
authorization: cc_auth_token="thetoken"

options=%7B%22x%22%3A+%221%22%7D&addon=config.free
于 2014-12-04T15:32:07.270 に答える