プロビジョニングでのカスタムオプションの受け付け
この記事の英語版に更新があります。ご覧の翻訳には含まれていない変更点があるかもしれません。
最終更新日 2024年02月06日(火)
Table of Contents
この記事では、アドオンパートナーが、アドオンプロビジョニングの一部としてユーザーから送信されたコマンドラインパラメータにアクセスする方法について説明します。
コマンドラインでプロビジョニングする場合、顧客は、パートナーに渡される追加オプションを指定できます。 これらを使用すると、プランだけでは、または統合 API 経由で追加の顧客情報にアクセスするだけでは特定できない追加機能をインストールに提供できます。 たとえば、Heroku PostgreSQL は顧客オプションを使用して、データベースのフォークやフォロワーの作成をサポートします。
コマンドラインパラメータの形式
コマンドラインは、標準の UNIX スタイルのスイッチ形式 (等号あり、またはなし) のパラメータを受け付けます。
単一のパラメータはブール値のスイッチとして解釈され、その値として文字列 'true'
を持ちます。
たとえば、次のコマンドラインは、
$ heroku addons:create youraddon --foo=bar --bar foo --baz
次のように解釈されます。
{ "foo" : "bar", "bar" : "foo", "baz" : "true" }
パラメータへのアクセス
Heroku は、アドオンのプロビジョニング中に addons:create
アクションに指定されたコマンドラインパラメータをアドオンパートナーに渡します。
Heroku は、パートナーに渡す前にこれらのパラメータの検証を実行しないため、顧客が指定したすべてのパラメータが受信されます。認識できないオプションを受信した場合は、エラーにする代わりに、それらをすべて無視することを強くお勧めします。
これらのオプションは、プロビジョニングリクエストの JSON 本体で “options” キーを使用して渡されます。
次の例を考えてみます。
$ heroku addons:create youraddon --foo=bar --bar foo --baz
これらのオプションは、プロビジョニングリクエストに JSON の一部として含まれています。
POST /heroku/resources HTTP/1.0
Content-Type: application/json
{
"options": {"foo":"bar","bar":"foo","baz":"true"},
"heroku_id": "app12345@heroku.com",
"plan": "test",
"callback_url": "http://localhost:7779/callback/999"
}