---
schema_version: "1"
id: abcfd133db7cea5971eb1b432ddfba3db145a75c1841448d358d179e8492742b
title: 完全に新しいカスタムルールセットの作成
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/api-governance/custom-rulesets-new.md
canonical_url: https://docs.mulesoft.com/jp/api-governance/custom-rulesets-new
source_site: docs.mulesoft.com
content_type: documentation
content_hash: afc2099a83d9d99009345f841fb513da863353d41fd94c8d39d41bb493607828
description: MuleSoft Documentation Site
latest: true
---
# 完全に新しいカスタムルールセットの作成

提供されたルールセットのいずれを変更しても作成できないカスタムルールセットが必要な場合、次のいいずれかのアプローチを使用します。

- [MuleSoft アイデアポータル](https://help.mulesoft.com/s/ideas)​ですでに登録されている新しいルールセットのアイデアを検索する。そこでアイデアが見つからない場合は、MuleSoft アイデアポータルにアイデアを登録することを検討します。
- Anypoint CLI コマンドを使用して、仕様のデータスキーマからルールセットをスキャフォールディングしてルールセットを生成する。​[仕様からルールセットを生成する](#scaffold-rulesets)​を参照してください。
- ルールセット開発 CLI コマンドを使用してルールセットを作成する。​[ルールセット開発 CLI を使用してルールセットを作成する](#create-rulesets-using-cli)​を参照してください。
- ルールセットモデリング言語を使用してルールセットを作成する。​[モデリング言語を使用してルールセットを作成する](#create-rulesets-using-code)​を参照してください。

ルールセットを作成したら、[カスタムルールセットの検証とパブリッシュ](https://docs.mulesoft.com/jp/api-governance/custom-rulesets-validate-and-publish)を参照してください。

<table><tbody><tr><td class="icon"><i class="fa icon-note" title="Note"></i></td><td class="content">カスタムコードや設定と同様に、ルールセットはサポートされている MuleSoft 製品とはみなされません。これらのカスタムルールセットの問題については、 <a href="https://github.com/aml-org/amf-custom-validator">AMF Custom Validator の Github リポジトリ<sup></sup></a>​に問題を投稿してください。</td></tr></tbody></table>

## [](#scaffold-rulesets)仕様からルールセットを生成する

次のコマンドシーケンスを使用して、仕様のデータスキーマからスタータールールセットを生成できます。

1. [API 種別の API 仕様を調査する](#inspect-for-api-type)
2. [データスキーマのルールセットの初期化](#initialize-ruleset-from-dataschema)

### [](#inspect-for-api-type)API 種別の API 仕様を調査する

次のコマンドを使用して、API 種別の API 仕様を調査します。これは、使用するデータスキーマを判断するのに役立ちます。

### [](#governance-api-inspect)governance:api:inspect

`> governance:api:inspect [フラグ] <api-specification>`

このコマンドは、​`api-specification`​ で渡された API 仕様を調べ、ヘッダー、要求、応答ペイロードなどのすべてのスキーマをリストします。このスキーマ情報は、​`governance:ruleset:init`​ コマンドで使用できます。​[governance:ruleset:init](#governance-ruleset-init)​を参照してください。

このコマンドでは、デフォルトのフラグのみを受け入れます。

**コマンド例:**

```copy
anypoint-cli-v4 governance:api:inspect my-healthcare-api.yaml
```

**スキーマの例**

```copy
types:
  patientmultipleBirthBoolean:
    properties:
      multipleBirthBoolean:
        description: Whether patient is part of a multiple birth
        type: boolean
  patientmultipleBirthInteger:
    properties:
      multipleBirthInteger:
        description: Whether patient is part of a multiple birth
        type: integer

        .
        .
        .

  PatientEntry:
    type: FHIR_commons.Entry
    properties:
      resource: Patient

  PatientBundle:
    type: FHIR_commons.Bundle
    properties:
      entry?: PatientEntry[]
```

**出力例:**

  'patientmultipleBirthBoolean',
  'PatientBundle',
  'patientmultipleBirthInteger',
  'PatientEntry'

### [](#initialize-ruleset-from-dataschema)データスキーマのルールセットの初期化

次のコマンドを使用して、データスキーマのルールセットを初期化します。

### [](#governance-ruleset-init)governance:ruleset:init

`> governance:ruleset:init [フラグ] <schema>`

このコマンドは、​`schema`​ パラメーターで渡されたデータスキーマに基づいてルールセットを初期化します。

このコマンドでは、デフォルトのフラグ以外に次のフラグも受け入れます。

<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 35%;">
<col style="width: 65%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">フラグ</th>
<th class="tableblock halign-left valign-top">説明</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><code>--types &lt;types&gt;</code></p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><code>types</code>​ フラグは、ルールとしてエクスポートする対象種別を指定します。​<code>governance:api:inspect</code>​ コマンドを使用して、このフラグで指定する種別を特定できます。​<a href="#governance-api-inspect">governance:api:inspect</a>​を参照してください。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><code>--name &lt;name&gt;</code></p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><code>name</code>​ フラグはルールセットの名前です。デフォルトは ​<code>GeneratedRuleset</code>​ です。</p>
</div></div></td>
</tr>
</tbody>
</table>

**コマンド例:**

```copy
anypoint-cli-v4 governance:ruleset:init --types patientmultipleBirthBoolean,patientBundle,patientmultipleBirthInteger --name=my-ruleset mydataschema
```

## [](#create-rulesets-using-cli)ルールセット開発 CLI を使用してルールセットを作成する

ルールセット開発 CLI のオープンソースバージョンは、npm で入手できます。これは、Anypoint CLI の ​`governance`​ コマンドとは別に提供され、ドキュメント化されています。

ルールセット開発 CLI を使用してルールセットを作成する手順は、次のとおりです。

1. [npmjs.com](https://www.npmjs.com/package/@aml-org/ruleset-development-cli)​ から ​`ruleset-development-cli`​ をインストールします。
2. [「AMF Rulesets (AMF ルールセット)」チュートリアル](https://github.com/aml-org/amf-custom-validator/blob/develop/docs/validation_tutorial/validation.md)​に従ってルールセットを作成します。

## [](#create-rulesets-using-code)モデリング言語を使用してルールセットを作成する

モデリング言語を使用してルールセットを作成するには、AML Open Source プロジェクトの [「AMF Custom Validation (AMF カスタム検証)」セクション](https://a.ml/docs/amf/using-amf/amf_custom_validation)​を読み、モデリング言語を使用してルールセットを作成する方法を学習します。