6. YAML定義
Ops Iでは、マニフェストファイル(YAML形式)で運用要件を定義します。
これは運用のコード化(Operations as Code)の考え方に基づいており、マニフェストファイルをOps Iに登録することで、自動的に運用機能に変換されます。
マニフェストファイルで記載することができる運用機能の一覧を以下に示します。
| 名称 | 説明 |
|---|---|
| Workflow | 運用に必要となるワークフローの定義を行います。 |
| UI | 画面に表示するデータ項目やレイアウトなど、UIの定義を行います。 |
| Uipath | UIのURLの定義を行います。 |
| Datamodel | 各種データを保存するためのデータモデルの定義を行います。 |
| Catalog | ユーザーが各種申請を行う際の入り口となるサービスカタログの定義を行います。 |
| Script | 画面表示時やボタンをクリックした時など、何かしらのイベントを契機に実行されるアクションの定義を行います。 |
| Library | 複数のユーザーから参照できる共有コンテナの定義を行います。 |
| Attachment | 運用の中で扱う添付ファイルの命名ルールの定義を行います。 |
| Distribution | 運用の中で発生する各種ドキュメントをどのようなルールでどこに保存するか定義を行います。 |
| ACL | Statementで定義した認可に対してユーザーやグループなどの適応先を定義します。 |
| Statement | URIやテーブルのレコードなどさまざまなリソースに対しての認可設定の定義を行います。 |
| Notification | Ops I上でのイベントによる通知、およびワークフローの任意のタイミングで行う通知について、通知の宛先や通知する内容などの定義を行います。 |
| Notifier | Notificationで定義された通知内容をどのように通知するか通知手段の定義を行います。 |
| Application | Ops Iのアプリケーションの定義を行います。 |
| Skill | 各ユーザーが保有する経験値や資格などのスキルを可視化するための定義を行います。 |
| Skillset | ワークフローの各ステップを実行するために必要なスキルをセット化して定義します。 |
| Calendar | スケジュールの予定表テンプレートを定義します。 |
| Import | カスタムテーブルのレコードをインポートする場合の、アップロードするCSVファイルとカスタムテーブルのカラムのマッピングなどを定義します。 |
例として、サービスカタログからワークフローを実行する場合の運用機能の関係を以下に示します。
- YAMLファイルのファイル名は「manifest.yaml」にする必要があります。
- 第1階層のnameラベルで指定した名称と同じ名称のディレクトリ配下に、YAMLファイルを保存する必要があります。
- kindラベルとnameラベルの組み合わせはOps Iで一意である必要があります。
- YAMLファイルのnameラベルとデータモデルのテーブル名には、システム側が使用する予約語があります。予約語は使用しないでください。
やむを得ず予約語を使用する場合は、プレフィックスを付けるなどの対応を行い、衝突を回避してください。予約語と衝突した場合はエラーが発生する場合があります。予約語の詳細については、「YAMLファイルのnameラベルとデータモデルのテーブル名でエラーが発生しYAMLファイルが登録できない場合の対処」を参照してください。 - Include対象となるYAMLファイルで、他のnameラベルと衝突していると意図しない動作になります。詳細については「エラーメッセージが表示されないが、意図しない動作になる場合の対処」を参照してください。
YAMLファイルはユーザーが定義したグループ内の任意のリポジトリに登録することで、Ops Iから読み込むことができます。その結果、Ops Iが自動的に対応した運用機能を生成します。YAMLファイルの登録は「YAMLファイルのGitLab登録方法(GUI)」と「YAMLファイルのGitLab登録方法(CUI)」を参照してください。
また、YAMLファイルを定義する際、テンプレート機能を使用することができます。
テンプレート機能はドキュメント機能の1つで、YAMLファイルに環境パラメータとして定義した用語を、ユーザー定義パラメータやシステム定義パラメータに置き換えることができる機能です。多言語に対応させる場合などに有用です。
【ユーザー定義パラメータ】
テンプレート機能を使用する「YAMLファイル」と参照先となる値を記載する「テンプレートファイル」は、以下の条件を満たす必要があります。
- YAMLファイルとテンプレートファイルは同フォルダに配置
- テンプレートファイルのファイル名は「values.yaml」
- YAMLファイルに記載する構文は以下の形式
"{{.Values.テンプレートファイル記載のパス}}"
'{{.Values.テンプレートファイル記載のパス}}'
<パラメータを使用できるYAMLファイル>
- application
- ui
- library
- catalog
- skill
- skillset
- workflow
【システム定義パラメータ】
Ops Iで使用できるシステム定義パラメータは以下の通りです。
| システム定義パラメータ | 説明 |
|---|---|
| .System.domain | Ops I環境のドメイン |
YAMLファイルに記載する構文は以下の形式で記載してください。
<記載例>
"{{.System.domain}}"
'{{.System.domain}}'
<パラメータを使用できるYAMLファイル>
- application
- ui
- library
- catalog
- statement(authzType: uri の場合のみ)
- notification
- skill
- skillset
- workflow
章構成
6.1 Workflow
6.2 UI
6.3 Datamodel
6.4 Catalog
6.5 Script
6.6 Library
6.7 Attachment
6.8 Distribution
6.9 ACL、Statement
6.10 Notification、Notifier
6.11 Application
6.12 Skill、Skillset
6.13 Calendar
6.14 Import