2.6. OpenAPI 定義のインポート

新しいサービスを作成する場合、または既存のサービスを更新する場合は、ローカルファイルまたはアクセスクレデンシャルからの定義を使用します。そのサービス名がすでに存在する場合は、それが更新されます。また、そのサービス名が存在しない場合は、作成されます。

インポートのデフォルトのサービス名は、OpenAPI 定義の info.title から取得されます。--target_system_name=<NEW NAME> を使用して、このサービス名を上書きできます。そのサービス名がすでに存在する場合は、それが更新されます。また、そのサービス名が存在しない場合は、作成されます。

以下のルールはすべてのインポートに適用されます。

  • 定義は OpenAPI 2.0 として検証される。
  • 3scale 製品のすべてのマッピングルールが削除されます。
  • 置き換えるためには、パターンの完全一致の使用により、すべてのメソッドの名前が OpenAPI 定義 (operation.operationId) で定義されるメソッドと同一でなければならない。
  • OpenAPI 定義に含まれるメソッドのみが変更される。
  • OpenAPI 定義にしか存在していなかったすべてのメソッドが、Hits メトリクスにアタッチされる。
  • OpenAPI 定義のすべてのマッピングルールがインポートされる。

    • これらについては API > Integration で確認できます。
注記

swagger 仕様にセキュリティー要件がない場合、サービスは Open API とみなされます。ポリシーチェーンに default_credentials ポリシー (anonymous_policy とも呼ばれる) がまだない場合、toolbox はこのポリシーを追加します。default_credentials ポリシーは、オプションのパラメーター --default-credentials-userkey で提供される ユーザーキー で設定されます。

$ docker run registry.redhat.io/3scale-amp2/toolbox-rhel7:3scale2.7 3scale import openapi [opts] --destination=https://{DEST_KEY}@{3SCALE_ADMIN}-admin.{DOMAIN_NAME}

2.6.1. オプションのフラグ

-d --destination=<value>
3scale のターゲットインスタンス (http[s]://<authentication>@3scale_domain 形式)
-t --target_system_name=<value>
ターゲットシステム名