3.2.2. 自動生成されたテンプレートの例


以下の例は、セルフサービス自動化ポータルが既存の Ansible Automation Platform ジョブテンプレートから自動生成するテンプレートを示しています。生成された YAML 内のすべてのフィールドは、Ansible Automation Platform のアーティファクトに直接マッピングされます。

  • Ansible Automation Platform のジョブテンプレートの名前と説明は、メタデータ フィールドになります。
  • 起動時にプロンプトを表示する オプションは、AAPResourcePicker の フィールドになります。
  • Ansible Automation Platform Survey の各質問は、標準フォームフィールドになります。
  • ステップ セクションでは 、rhaap:launch-job-template アクションを使用して、元の Ansible Automation Platform ジョブテンプレートを起動します。
apiVersion: scaffolder.backstage.io/v1beta3
kind: Template
metadata:
  # Namespace is hardcoded to "default"
  namespace: default
  # AAP artifact: Job Template name  lowercase with hyphens
  name: deploy-application
  # AAP artifact: Job Template name  title (copied directly)
  title: Deploy Application
  # AAP artifact: Job Template description  description (copied directly)
  description: Deploy application to target environment
  # AAP artifact: Job Template labels  tags (lowercase)
  tags:
    - automation
    - aap
  # AAP artifact: Job Template URL  annotations
  annotations:
    backstage.io/techdocs-ref: url:https://aap.example.com/#/templates/job_template/42
    backstage.io/source-location: url:https://aap.example.com/#/templates/job_template/42

spec:
  type: service

  parameters:
    - title: "Please enter the following details"
      required:
        - token
        - inventory
        - app_name
      properties:
        # Always present: OAuth token for AAP authentication (hidden from user)
        token:
          title: Token
          type: string
          description: Oauth2 token
          ui:field: AAPTokenField
          ui:widget: hidden
          ui:backstage:
            review:
              show: false
          ui:options:
            disabled: true
            hidden: true

        # AAP artifact: "Prompt on Launch"  Inventory (users select by name; self-service portal resolves to AAP ID)
        inventory:
          title: Inventory
          description: Please enter the inventory you want to use the services on
          resource: inventories
          ui:field: AAPResourcePicker
          default: Production Servers

        # AAP artifact: Survey question  "Application Name" (variable, title, type, default from survey spec)
        app_name:
          title: Application Name
          description: Name of the application to deploy
          type: string
          default: my-app

  steps:
    - id: launch-job
      # AAP artifact: Job Template name used as the step name
      name: Deploy Application
      action: rhaap:launch-job-template
      input:
        token: ${{ parameters.token }}
        values:
          # AAP artifact: Job Template name identifies which template to launch
          template: Deploy Application
          # "Prompt on Launch" values passed as launch parameters
          inventory: ${{ parameters.inventory }}
          # Survey answers passed as extra variables to AAP
          extraVariables:
            app_name: ${{ parameters.app_name }}

  output:
    text:
      - title: Deploy Application template executed successfully
        content: |
          **Job ID:** ${{ steps['launch-job'].output.data.id }}
          **Job status:** ${{ steps['launch-job'].output.data.status }}

以下の表は、生成された各フィールドを対応する Ansible Automation Platform ソースにマッピングしたものです。

Expand
表3.1 現地調査
Ansible Automation Platform ソースAnsible Automation Platform の価値生成されたフィールド変換

該当なし

default

metadata.namespace

デフォルト値 にハードコードされています。

ジョブテンプレート 名前

アプリケーションのデプロイ

metadata.name

ハイフン付きの小文字。

ジョブテンプレート 名前

アプリケーションのデプロイ

metadata.title

そのままコピーしました。

求人テンプレート 説明

アプリケーションをターゲット環境にデプロイします。

metadata.description

そのままコピーしました。

求人テンプレート ラベル

自動化アプリ

metadata.tags

小文字、特殊文字はハイフンに置き換えられます。

常に存在する

OAuth2 トークン

parameters.token

自動入力され、ユーザーには非表示になっています。

起動時のプロンプト インベントリー

プロダクションサーバー

parameters.inventory

AAPResourcePicker ; ユーザーが名前で選択し、起動時に Ansible Automation Platform ID に解決されます。

アンケート 質問 1

app_name (テキスト、必須、デフォルト値:my- アプリケーション)

parameters.app_name

変数、タイトル、タイプ、およびデフォルト値は、Survey 仕様からコピーされました。

ジョブテンプレート 名前

アプリケーションのデプロイ

input.values.template

起動する Ansible Automation Platform ジョブテンプレートを指定します。

発売時の値

${{ parameters.inventory }}

input.values.inventory

起動時に、名前が Ansible Automation Platform ID に解決されます。

アンケート回答

${{ parameters.app_name }}

input.values.extraVariables

extra_vars として Ansible Automation Platform ジョブに渡されます。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る