検索

14.4. テンプレートのインポートおよびエクスポート

download PDF

Satellite Web UI、Hammer CLI、または Satellite API を使用して、テンプレートをインポートおよびエクスポートできます。Satellite API 呼び出しは、ロールベースのアクセス管理システムを使用して、任意のユーザーでタスクの実行が可能になります。Git などのバージョン管理システム、またはローカルディレクトリーとテンプレートを同期できます。

14.4.1. テンプレートのインポート

任意のリポジトリーからテンプレートをインポートできます。/tmp/dirgit://example.comhttps://example.comssh://example.com などの異なるプロトコルを使用してリポジトリーにポイントさせることもできます。

注記

Satellite が提供するテンプレートはロックされ、デフォルトではインポートできません。この動作を上書きするには、TemplateSync メニューの Force import 設定を yes に変更するか、force パラメーター -d '{ "force": "true" }' を import コマンドに追加します。

前提条件

  • 各テンプレートに、テンプレートが属するロケーションおよび組織が含まれている必要がある。これは、すべてのタイプのテンプレートタイプに適用されます。テンプレートをインポートする前に、以下のセクションをテンプレートに追加します。

    <%#
    kind: provision
    name: My_Provisioning_Template
    oses:
    - My_first_OS
    - My_second_OS
    locations:
    - My_first_Location
    - My_second_Location
    organizations:
    - My_first_Organization
    - My_second_Organization
    %>

Satellite Web UI の代わりに CLI を使用する場合は、] を参照してください。API を使用するには、xref:api_Importing_Templates_managing-hosts[ を参照してください。

手順

  1. Satellite Web UI で、ホスト > テンプレートの同期 に移動します。
  2. インポート をクリックします。
  3. 各フィールドには、管理 > 設定 > TemplateSync で設定された値が入力されます。インポートするテンプレートに従って値を変更します。各フィールドの詳細は、「TemplateSync プラグインの設定」 を参照してください。
  4. Submit をクリックします。

Satellite Web UI はインポートのステータスを表示します。ステータスは永続的ではありません。ステータスページを離れると、ページに戻ることはできません。

CLI 手順

  • リポジトリーからテンプレートをインポートするには、以下のコマンドを実行します。

    $ hammer import-templates \
    --branch "My_Branch" \
    --filter '.*Template Name$' \
    --organization "My_Organization" \
    --prefix "[Custom Index] " \
    --repo "https://git.example.com/path/to/repository"

    テンプレートのインデックス化と管理には、--prefix を使用してテンプレートにカテゴリーを設定することができます。大型リポジトリーから特定のテンプレートを選択するには、--filter を使用してインポートするテンプレートのタイトルを定義します。たとえば、--filter '.*Ansible Default$' とすると、各種 Ansible Default テンプレートをインポートします。

API の手順

  1. POST リクエストを api/v2/templates/import に送信します。

    # curl -H "Accept:application/json" \
    -H "Content-Type:application/json" \
    -u login:password \
    -k https://satellite.example.com/api/v2/templates/import \
    -X POST

    インポートが成功すると、{"message":"Success"} が表示されます。

14.4.2. テンプレートのエクスポート

テンプレートを git リポジトリーにエクスポートするには、以下の手順を使用します。

Satellite Web UI の代わりに CLI を使用する場合は、] を参照してください。API を使用するには、xref:api_Exporting_Templates_managing-hosts[ を参照してください。

手順

  1. Satellite Web UI で、ホスト > テンプレートの同期 に移動します。
  2. エクスポート をクリックします。
  3. 各フィールドには、管理 > 設定 > TemplateSync で設定された値が入力されます。エクスポートするテンプレートに従って値を変更します。各フィールドの詳細は、「TemplateSync プラグインの設定」 を参照してください。
  4. Submit をクリックします。

Satellite Web UI はエクスポートのステータスを表示します。ステータスは永続的ではありません。ステータスページを離れると、ページに戻ることはできません。

CLI 手順

  1. テンプレートをリポジトリーにエクスポートするには、次のコマンドを入力します。

    hammer export-templates \
    --organization "My_Organization" \
    --repo "https://git.example.com/path/to/repository"
    注記

    このコマンドは、リポジトリーのクローンを作成し、コミットに変更を加えて、リポジトリーにプッシュして戻します。--branch "My_Branch" オプションを使用すると、テンプレートを特定のブランチにエクスポートできます。

API の手順

  1. POST リクエストを api/v2/templates/export に送信します。

    # curl -H "Accept:application/json" \
    -H "Content-Type:application/json" \
    -u login:password \
    -k https://satellite.example.com/api/v2/templates/export \
    -X POST

    エクスポートが成功すると、{"message":"Success"} が表示されます。

注記

-d パラメーターを使用して、リクエストでデフォルトの API 設定を上書きします。以下の例では、git.example.com/templates リポジトリーにテンプレートをエクスポートします。

# curl -H "Accept:application/json" \
-H "Content-Type:application/json" \
-u login:password \
-k https://satellite.example.com/api/v2/templates/export \
-X POST \
-d "{\"repo\":\"git.example.com/templates\"}"
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.