13.3. テンプレートのインポートおよびエクスポート
Satellite Web UI、Hammer CLI、または Satellite API を使用して、テンプレートをインポートおよびエクスポートできます。Satellite API 呼び出しは、ロールベースのアクセス管理システムを使用して、任意のユーザーでタスクの実行が可能になります。Git などのバージョン管理システム、またはローカルディレクトリーとテンプレートを同期できます。
13.3.1. テンプレートのインポート リンクのコピーリンクがクリップボードにコピーされました!
任意のリポジトリーからテンプレートをインポートできます。/tmp/dir、git://example.com、https://example.com、および ssh://example.com などの異なるプロトコルを使ってリポジトリーにポイントさせることもできます。
前提条件
各テンプレートに、テンプレートが属するロケーションおよび組織が含まれている必要がある。これは、すべてのタイプのテンプレートタイプに適用されます。テンプレートをインポートする前に、以下のセクションをテンプレートに追加します。
<%# kind: provision name: My Kickstart File oses: - RedHat 7 - RedHat 6 locations: - First Location - Second Location organizations: - Default Organization - Extra Organization %>
手順
- Satellite Web UI で、ホスト > テンプレートの同期 に移動します。
- インポート をクリックします。
- 各フィールドには、管理 > 設定 > TemplateSync で設定された値が入力されます。インポートするテンプレートに従って値を変更します。各フィールドの詳細は、「TemplateSync プラグインの設定」 を参照してください。
- 送信 をクリックします。
Satellite Web UI はインポートのステータスを表示します。ステータスは永続的ではありません。ステータスページを離れると、ページに戻ることはできません。
CLI をご利用の場合
リポジトリーからテンプレートをインポートするには、以下のコマンドを実行します。
$ hammer import-templates \ --prefix '[Custom Index] ' \ --filter '.*Template Name$' \ --repo https://github.com/examplerepo/exampledirectory \ --branch my_branch \ --organization 'Default Organization'テンプレートのインデックス化と管理には、
--prefixを使ってテンプレートにカテゴリーを設定することができます。大型リポジトリーから特定のテンプレートを選択するには、--filterを使ってインポートするテンプレートのタイトルを定義します。たとえば、--filter '.*Ansible Default$'とすると、各種 Ansible Default テンプレートをインポートします。