API Governance の CLI

コマンド

説明

governance api evaluate

検索条件を評価して、その条件を満たす API に適用されるルールセットを決定する

governance api inspect

API 定義を調べ、そのスキーマをリストする

governance api validate

指定されたガバナンスルールセットに対して API 定義を検証する

governance document

ガバナンスルールセット定義のドキュメントファイルを作成する

governance profile create

ガバナンスプロファイルを作成する

governance profile delete

ガバナンスプロファイルを削除する

governance profile info

特定のガバナンスプロファイル ID の情報をリストする

governance profile list

組織内のすべてのガバナンスプロファイルをリストする

governance profile update

ガバナンスプロファイルを更新する

governance ruleset clone

ガバナンスルールセットをコピーし、指定された更新をルールに適用する

governance ruleset info

ルールセットルールをリストする

governance ruleset init

データスキーマに基づいてガバナンスルールセット定義を初期化する

governance ruleset validate

ガバナンスルールセット定義の形式を検証する

governance api evaluate

> governance api evaluate [options]

このコマンドは、指定された検索条件を評価して、その条件を満たす API に適用されるルールセットを決定します。

このコマンドでは、デフォルトの ​--help​、​-f/--fields​、​-o/--output​ オプション以外に次のオプションも使用できます。

オプション 説明

--api=<api>

評価する API プロジェクト。このコマンドは、プロジェクトの ​exchange.json​ ファイルの条件を使用します。

--criteria <filtertype:filtervalue>,…​

ルールセットを識別するために評価する検索条件を適用できます。カンマ区切りの検索条件のリストを指定します。各検索条件の種別と値は、​filtertype:filtervalue​ の形式です。

次のような検索条件を使用できます。

  • scope​: API 種別、​rest-api​ または ​async-api

  • tag​: Exchange で API に対して定義されたタグ

  • category​: Exchange で API に対して定義されたカテゴリ。検索条件値は ​categoryName:value​ として 2 つの部分で指定されます。

  • status​: ライフサイクル状態 (安定、開発、または非推奨)

  • env-type​: 環境種別 (すべて、本番、または Sandbox)

  • env-id​: API Manager の環境名の ID。​[API Manager]​ > ​[Environment information (環境情報)]​ を使用してこの値を取得できます。​「環境の概念の確認」​を参照してください。

    env-type​ または ​env-id​ が使用されている場合、プロファイルに ​[API Instance (API インスタンス)]​ 検索条件が設定されるため、インスタンスが設定された API のみが絞り込まれます。開発ライフサイクルの API にはインスタンスを設定できません。

    CLI を使用してプロファイルの ​[API Instance (API インスタンス)]​ を選択解除するには、​env-type​ も ​env-id​ も含まれない ​--criteria​ フラグを使用してプロファイルを更新します。

例: tag:tag1,category:category1:value,category:category2:value2,status:stable,status:development,status:deprecated,scope:rest-api,scope:async-api,env-type:production

このコマンドは、​criteria​ または ​api​ オプションを使用して実行する必要があります。

コマンド例:

anypoint-cli governance api evaluate --criteria `tag:best,category:API Type:Experience API,scope:rest-api`

anypoint-cli governance api evaluate --api ~/Downloads/order-api-1.0.0-raml.zip

出力例:

Ruleset GAV
68ef9520-24e9-4cf2-b2f5-620025690913/anypoint-best-practices/1.0.0
8a840abd-e63a-4f8b-87ab-24052eda2017/best-practices-ruleset/1.0.0
68ef9520-24e9-4cf2-b2f5-620025690913/required-examples/1.0.0

governance api inspect

> governance api inspect [options] <api-definition>

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

このコマンドはデフォルトのオプション ​--help​、​-f​/​--fields​、​-o​/​--output​ のみを受け入れます。

コマンド例:

anypoint-cli governance api inspect my-healthcare-api.yaml

スキーマの例

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'

governance api validate

> governance api validate [options] <api-definition>

このコマンドは、指定されたルールセットに対して ​api-definition​ で渡された API 定義を検証します。

api-definition​ は次のいずれかとして指定できます。

  • API プロジェクト ZIP ファイル

  • API プロジェクトフォルダー

  • --remote​ オプションが指定されている場合は、API プロジェクトのアセット識別子。アセット識別子は、Exchange 内の各アセットを一意に識別するグループ ID、アセット ID、およびバージョン (GAV) です。

検証するルールセットを次のように指定できます。

  • API プロジェクトのルールセットの連動関係を定義する既存の ​exchange.json​ ファイルを使用するには、​api-definition​ で指定したフォルダーまたは ZIP ファイルに含まれていることを確認してください。​exchange.json​ ファイルが存在する場合、このコマンドはすべての連動関係をダウンロードし、プロジェクトのルールセットに対して検証します。

  • Exchange でパブリッシュされているルールセットに対して直接検証するには、​--remote-rulesets​ オプションを使用します。

  • ローカルルールセットに対して検証するには、​---rulesets​ オプションを使用します。

重複するルールセットは検出されないため、同じコマンドの実行でルールセットを特定する前述の方法を複数使用すると、一部のルールセットが複数回検証される場合があります。

このコマンドでは、デフォルトの ​--help​、​-f/--fields​、​-o/--output​ オプション以外に次のオプションも使用できます。

オプション 説明

--rulesets <ruleset-yaml-file1>,<ruleset-yaml-file2>,…​

ローカルルールセット定義。​rulesets​ オプションの後には、ルールセット YAML ファイルのカンマ区切りリストが続きます。

--remote-rulesets <ruleset-asset-identifier>,<ruleset-asset-identifier>,…​

リモートルールセット定義。​remote-rulesets​ オプションの後には、ルールセットアセット識別子のカンマ区切りリストが続きます。アセット識別子は、Exchange 内の各アセットを一意に識別するグループ ID、アセット ID、およびバージョン (GAV) です。例: <group_id>/<asset_id>/<version>,<group_id>/<asset_id>/<version>

Exchange アセット識別子 (GAV) を取得する​を参照してください。

--remote

パブリッシュされた API に対して検証を行う必要があることを示すフラグ。​api-definition​ で渡される値は、API のアセット識別子です。アセット識別子は、Exchange 内の各アセットを一意に識別するグループ ID、アセット ID、およびバージョン (GAV) です。例: <group_id>/<asset_id>/<version>

Exchange アセット識別子 (GAV) を取得する​を参照してください。

コマンド例:

anypoint-cli governance api validate ~/Downloads/order-api-1.0.0-raml.zip

anypoint-cli governance api validate ~/Downloads/order-api-1.0.0-raml

anypoint-cli governance api validate --rulesets /MyRulesets/ruleset1.yaml,/MyRulesets/ruleset2.yaml  ~/Downloads/order-api-1.0.0-raml.zip

anypoint-cli governance api validate --remote-rulesets 68ef9520-24e9-4cf2-b2f5-620025690913/open-api-best-practices/1.0.1  ~/Downloads/order-api-1.0.0-raml.zip

anypoint-cli governance api validate --remote-rulesets 68ef9520-24e9-4cf2-b2f5-620025690913/open-api-best-practices/1.0.1 --remote 8a840abd-e63a-4f8b-87ab-24052eda2017/order-api/1.0.0

出力例:

ルールセットに適合する定義の場合:

 Spec conforms with Ruleset

ルールセットに適合しない定義の場合:

Conforms: false
Number of results: 3 (1)

Functional Validations
----------------------

Constraint: http://a.ml/vocabularies/amf/core#declaration-not-found
Severity: Violation
Message: not supported scalar for documentation
Target: null
Range: [(6,3)-(6,3)]
Location: file:///Users/myuser/Downloads/order-api-1.0.0-raml/order-api-1.0.0-raml

Conformance Validations (2)
-----------------------

Constraint: file:///exchange_modules/68ef9520-24e9-4cf2-b2f5-620025690913/anypoint-best-practices/1.0.0/ruleset.yaml#/encodes/validations/api-must-have-documentation (3)
Severity: Warning (4)
Message: Provide the documentation for the API. (5)
Target: amf://id#2 (6)
Range: [(2,0)-(6,4)] (7)
Location: file:///Users/myuser/Downloads/order-api-1.0.0-raml/order-api-1.0.0-raml (8)

Constraint: file:///exchange_modules/8a840abd-e63a-4f8b-87ab-24052eda2017/best-practices-ruleset/1.0.0/bestpractices.yaml#/encodes/validations/api-must-have-documentation
Severity: Violation
Message: Provide the documentation for the API
Target: amf://id#2
Range: [(2,0)-(6,4)]
Location: file:///Users/myuser/Downloads/order-api-1.0.0-raml/order-api-1.0.0-raml
1 見つかった機能および準拠検証の問題の合計
2 準拠の問題セクション
3 この一連の問題が適用されるルールセットとルール
4 問題の重要度
5 問題の説明
6 AMF モデルノード ID。AMF モデルについての詳細は、​「カスタムガバナンスルールセットの作成」​を参照
7 問題が発生した API 定義の開始行番号と列および終了行番号と列。ここで、列は行の先頭からのオフセットであり、オフセットの番号は 0 で開始
8 問題が発生したファイル (メインファイルまたはその連動関係のいずれか)

governance document

> governance document [options] <ruleset> <doc-file>

このコマンドは、​ruleset​ で指定された API Governance ルールセット定義 ZIP ファイルのドキュメントを作成します。ドキュメントを ​doc-file​ ZIP ファイルに含め、Exchange にアップロードしてパブリッシュできるようにします。

このコマンドはデフォルトのオプション ​--help​、​-f​/​--fields​、​-o​/​--output​ のみを受け入れます。

コマンド例:

anypoint-cli governance document ~/temp/ruleset.yaml ~/temp/ruleset.doc.zip

出力例:

 validation name [ 'scalar-parameters' ]
 Saving to /Users/janedoe/temp/prof-1.doc.zip

governance profile create

> governance profile create [options] <profile-name> <ruleset-asset-identifiers>

このコマンドは、​profile-name​ で指定された新しいガバナンスプロファイル名の文字列値を使用して、ガバナンスプロファイルを作成します。

ruleset-asset-identifiers​ を含める必要があります。これは、ルールセットアセット識別子のカンマ区切りのリストであり、それぞれが Exchange 内の各アセットを一意に識別するグループ ID、アセット ID、およびバージョン (GAV) です。例: <group_id>/<asset_id>/<version>,<group_id>/<asset_id>/<version>​。ここで、​<version>​ は ​latest​ の特定のバージョンです。バージョンとして ​latest​ を使用する場合、プロファイルの作成後にバージョンがパブリッシュされると、プロファイルはルールセットの最新バージョンを自動的に使用します。

notify​ オプションの 1 つを使用して、作成中のプロファイルの通知を設定できます。​notify​ オプションを使用しない場合、コマンドによって通知は設定されません。通知はデフォルトでオフになっています。

Exchange アセット識別子 (GAV) を取得する​を参照してください。

このコマンドでは、デフォルトの ​--help​、​-f/--fields​、​-o/--output​ オプション以外に次のオプションも使用できます。

オプション 説明

--criteria <filtertype:filtervalue>,…​

検索条件を適用して、プロファイルルールセットが適用される API のリストを選択できます。カンマ区切りの検索条件のリストを指定します。各検索条件の種別と値は、​filtertype:filtervalue​ の形式です。

次のような検索条件を使用できます。

  • scope​: API 種別、​rest-api​ または ​async-api

  • tag​: Exchange で API に対して定義されたタグ

  • category​: Exchange で API に対して定義されたカテゴリ。検索条件値は ​categoryName:value​ として 2 つの部分で指定されます。

  • status​: ライフサイクル状態 (安定、開発、または非推奨)

  • env-type​: 環境種別 (すべて、本番、または Sandbox)

  • env-id​: API Manager の環境名の ID。​[API Manager]​ > ​[Environment information (環境情報)]​ を使用してこの値を取得できます。​「環境の概念の確認」​を参照してください。

    env-type​ または ​env-id​ が使用されている場合、プロファイルに ​[API Instance (API インスタンス)]​ 検索条件が設定されるため、インスタンスが設定された API のみが絞り込まれます。開発ライフサイクルの API にはインスタンスを設定できません。

    CLI を使用してプロファイルの ​[API Instance (API インスタンス)]​ を選択解除するには、​env-type​ も ​env-id​ も含まれない ​--criteria​ フラグを使用してプロファイルを更新します。

例: tag:tag1,category:category1:value,category:category2:value2,status:stable,status:development,status:deprecated,scope:rest-api,scope:async-api,env-type:production

--tags <tags> Deprecated

Anypoint CLI バージョン v3.17.0 以降、​--criteria​ オプションが ​tags​ オプションの代わりに使用されます。​v3.17.0 より前のバージョンでは、​tags​ オプションの後には、新しいガバナンスプロファイルに適用される、​tag1,tag2,tag3​ 形式のタグのカンマ区切りリストが続きます。

--description <description>

description​ オプションの後には、新しいガバナンスプロファイルの説明である文字列が続きます。

--notify-contact

通知を有効にし、受信者を API に設定された取引先責任者に設定します。

--notify-publisher

通知を有効にし、受信者を API パブリッシャーに設定します。

--notify-others <email ID,email ID,…​>

通知を有効にし、受信者を指定されたメール ID のリストに設定します。

コマンド例:

anypoint-cli governance profile create "Open API Best Practices" 68ef9520-24e9-4cf2-b2f5-620025690913/open-api-best-practices/1.0.1 --criteria "tag:oas,category:API Type:Experience API,status:development,scope:rest-api" --description "Profile for OAS Best Practices"

anypoint-cli governance profile create "Anypoint Best Practices" 68ef9520-24e9-4cf2-b2f5-620025690913/anypoint-api-best-practices/1.0.1 --criteria "tag:raml tag:oas category:API Type:Experience API,status:stable,scope:rest-api" --description "Profile for REST API Best Practices" --notify-publisher  --notify-contact --notify-others a@a.a,b@b.com

anypoint-cli governance profile create "Primary API Standards" 68ef9520-24e9-4cf2-b2f5-620025690913/open-api-best-practices/latest,68ef9520-24e9-4cf2-b2f5-620025690913/myorg-best-practices/1.0.2 --criteria "tag:prim,category:API Type:Experience API,status:stable,scope:rest-api,env-id:0683ce02-cd53-4028-a543-832a38a8af30" --description "Profile for Primary API Standards"

出力例:

 Profile Added
 Id         	4f98e59d-8efb-420f-ac95-9cd0af15bd45
 Name       	OAS Best Practices
 Description	Profile for OAS Best Practices
 Rulesets   	gav://68ef9520-24e9-4cf2-b2f5-620025690913/open-api-best-practices/1.0.1
 Filter     	tag:best

governance profile delete

> governance profile delete [options] <profile-id>

このコマンドは、​profile-id​ によって指定される特定のガバナンスプロファイルを削除します。この ID を取得するには、​governance profile info​ または ​governance profile list​ コマンドを実行します。

governance profile delete​ コマンドはデフォルトのオプション ​--help​、​-f​/​--fields​、​-o​/​--output​ のみを受け入れます。

コマンド例:

anypoint-cli governance profile delete 8ffd463f-86b2-4132-afc6-44d179209362

出力例:

 Profile with id 8ffd463f-86b2-4132-afc6-44d179209362 removed

governance profile info

> governance profile info [options] <profile-id>

このコマンドは、ガバナンスプロファイル ID のすべての情報をリストします。

このコマンドはデフォルトのオプション ​--help​、​-f​/​--fields​、​-o​/​--output​ のみを受け入れます。

コマンド例:

anypoint-cli governance profile info 19fb211b-8775-43cc-865a-46228921d6ed --output text

出力例:

Id         	        19fb211b-8775-43cc-865a-46228921d6ed
Name       	        Best Practices
Description	        Best Practices Profile
Rulesets   	        68ef9520-24e9-4cf2-b2f5-620025690913/anypoint-best-practices/1.0.0 8a840abd-e63a-4f8b-87ab-24052eda2017/best-practices-ruleset/1.0.0 68ef9520-24e9-4cf2-b2f5-620025690913/required-examples/1.0.0
Criteria   	        tag:best,category:API Type:Experience API,scope:rest-api
NotificationConfig  Contact,Publisher

governance profile list

> governance profile list [options]

このコマンドは、組織のすべてのガバナンスプロファイルの情報をリストします。ガバナンスプロファイルを更新するときに、この情報が必要です。

このコマンドはデフォルトのオプション ​--help​、​-f​/​--fields​、​-o​/​--output​ のみを受け入れます。

コマンド例:

anypoint-cli governance profile list -o text

出力例:

Profile Name                 	Profile Id

Minimum Security Requirements	1f418cf4-b870-4b31-8734-f55f28d45f8f
Best Practices               	19fb211b-8775-43cc-865a-46228921d6ed
New Best Practices           	4eaf9176-3ef9-4021-a67c-6e4bc10d3763
OAS Standards                	51ae8795-2278-407e-942f-becba29af986

governance profile update

> governance profile update [options] <profile-id>

このコマンドは、​profile-id​ で指定されるガバナンスプロファイルを更新します。この ID を取得するには、​governance profile info​ または ​governance profile list​ コマンドを実行します。

ガバナンスプロファイルの一般情報、ルールセット、検索条件、および通知設定を更新できます。​notify​ オプションの 1 つを使用して、通知設定を更新したり、通知を無効にしたりできます。すべての変更で、既存の通知設定が上書きされます。​notify​ オプションを使用しない場合、通知設定は変更されません。

このコマンドでは、デフォルトの ​--help​、​-f/--fields​、​-o/--output​ オプション以外に次のオプションも使用できます。

オプション 説明

--profile-name <profile-name>

profile-name​ オプションの後には、新しいガバナンスプロファイル名である文字列が続きます。

--ruleset-gavs <ruleset-gavs>

ruleset-gavs​ オプションは、各ルールセットのアセット識別子の ​<group_id>/<asset_id>/<version>,<group_id>/<asset_id>/<version>​ 形式のリストです。ここで、​<version>​ は特定のバージョンまたは ​latest​ です。アセット識別子は、Exchange 内の各アセットを識別する一意のグループ ID、アセット ID、およびバージョン (GAV) です。バージョンとして ​latest​ を使用する場合、プロファイルの作成後にバージョンがパブリッシュされると、プロファイルはルールセットの最新バージョンを自動的に使用します。

Exchange アセット識別子 (GAV) を取得する​を参照してください。

--criteria <filtertype:filtervalue>,…​

検索条件を適用して、プロファイルルールセットが適用される API のリストを選択できます。カンマ区切りの検索条件のリストを指定します。各検索条件の種別と値は、​filtertype:filtervalue​ の形式です。

次のような検索条件を使用できます。

  • scope​: API 種別、​rest-api​ または ​async-api

  • tag​: Exchange で API に対して定義されたタグ

  • category​: Exchange で API に対して定義されたカテゴリ。検索条件値は ​categoryName:value​ として 2 つの部分で指定されます。

  • status​: ライフサイクル状態 (安定、開発、または非推奨)

  • env-type​: 環境種別 (すべて、本番、または Sandbox)

  • env-id​: API Manager の環境名の ID。​[API Manager]​ > ​[Environment information (環境情報)]​ を使用してこの値を取得できます。​「環境の概念の確認」​を参照してください。

    env-type​ または ​env-id​ が使用されている場合、プロファイルに ​[API Instance (API インスタンス)]​ 検索条件が設定されるため、インスタンスが設定された API のみが絞り込まれます。開発ライフサイクルの API にはインスタンスを設定できません。

    CLI を使用してプロファイルの ​[API Instance (API インスタンス)]​ を選択解除するには、​env-type​ も ​env-id​ も含まれない ​--criteria​ フラグを使用してプロファイルを更新します。

例: tag:tag1,category:category1:value,category:category2:value2,status:stable,status:development,status:deprecated,scope:rest-api,scope:async-api,env-type:production

--tags <tags> Deprecated

Anypoint CLI バージョン v3.17.0 以降、​--criteria​ オプションが ​tags​ オプションの代わりに使用されます。​v3.17.0 より前のバージョンでは、​tags​ オプションの後には、新しいガバナンスプロファイルに適用される、​tag1,tag2,tag3​ 形式のタグのカンマ区切りリストが続きます。

--description <description>

description​ オプションの後には、新しいガバナンスプロファイルの説明である文字列が続きます。

--notify-off

通知を無効にします。

--notify-contact

通知を有効にし、受信者を API に設定された取引先責任者に設定します。

--notify-publisher

通知を有効にし、受信者を API パブリッシャーに設定します。

--notify-others <email ID,email ID,…​>

通知を有効にし、受信者を指定されたメール ID のリストに設定します。

コマンド例:

anypoint-cli governance profile update 4eaf9176-3ef9-4021-a67c-6e4bc10d3763 --profile-name "MyOrg Best Practices"

anypoint-cli governance profile update 19fb211b-8775-43cc-865a-46228921d6ed --criteria `tag:best,category:API Type:Experience API,status:development,scope:rest-api`

anypoint-cli governance profile update 67eff44a-28a3-43d4-93d9-bddedb92c711 --notify-publisher  --notify-contact --notify-others a@a.a,b@b.com

anypoint-cli governance profile update 67eff44a-28a3-43d4-93d9-bddedb92c711 --notify-off

anypoint-cli governance profile update 19fb211b-8775-43cc-865a-46228921d6ed --criteria `tag:best,category:API Type:Experience API,status:production,scope:rest-api,env-type:production` --ruleset-gavs 68ef9520-24e9-4cf2-b2f5-620025690913/open-api-best-practices/latest,68ef9520-24e9-4cf2-b2f5-620025690913/myorg-best-practices/latest

出力例:

 Profile updated 51f9f94c-fb0c-43d4-9895-22c9e64f1537

制限事項

governance profile update​ コマンドを使用して通知を設定することはできません。CLI を使用してプロファイルを作成したら、API Governance コンソールでプロファイルを編集して通知を設定できます。​「API Governance コンソールを使用してガバナンスプロファイルを更新する」​を参照してください。

governance ruleset clone

> governance ruleset clone [options] <ruleset> <new_title> <new_description>

このコマンドは、ガバナンスルールセットをコピーして新しいカスタムルールセットを作成し、オプションに基づいて指定された更新をルールに適用します。新しいルールセットが標準出力に書き込まれます。

new-title​ パラメーターでは、新しいルールセットのタイトルを指定します。

new description​ パラメーターでは、新しいルールセットのタイトルを指定します。

このコマンドを実行する前に、​governance ruleset info​ コマンドを実行して、このコマンドで使用するルール ID 情報を取得します。

このコマンドでは、デフォルトの ​--help​、​-f/--fields​、​-o/--output​ オプション以外に次のオプションも使用できます。

オプション 説明

--remote

コピーするルールセットが Exchange でパブリッシュされていること、および ​ruleset​ パラメーターがルールセットのアセット識別子であることを示します。アセット識別子は、Exchange 内の各アセットを一意に識別するグループ ID、アセット ID、およびバージョン (GAV) です。例: <group_id>/<asset_id>/<version>

Exchange アセット識別子 (GAV) を取得する​を参照してください。

--error=<list_rules_to_move_to_error>

error​ オプションの後には、ルールセット YAML のエラーの重要度レベルセクションに移動するルールのルール ID が続きます。

--warning=<list_rules_to_move_to_warning>

warning​ オプションの後には、ルールセット YAML の警告の重要度レベルセクションに移動するルールのルール ID が続きます。

--info=<list_rules_to_move_to_info>

info​ オプションの後には、ルールセット YAML の情報の重要度レベルセクションに移動するルールのルール ID が続きます。

--remove=<list_rules_to_disable>

remove​ オプションの後には、ルールセット YAML でコメントアウトして実質的に無効にするルールのルール ID が続きます。

コマンド例:

anypoint-cli governance ruleset clone ~/Downloads/ruleset.yaml 'New Ruleset from Clone' 'Cloned from ruleset.yaml' --warning=operation-default-response,operation-operationId > mynewruleset.yaml

anypoint-cli governance ruleset clone 68ef9520-24e9-4cf2-b2f5-620025690913/anypoint-best-practices/1.0.2 'Custom Anypoint Best Practices' 'Cloned from MuleSoft Anypoint Best Practices' --remote --remove=openapi-tags,operation-tags > my-anypoint-best-practices.yaml

governance ruleset info

> governance ruleset info [options] <governance-ruleset>

このコマンドは、​governance-ruleset​ パラメーターで渡されたルールセット定義のルールセットルールをリストします。

このコマンドでは、デフォルトの ​--help​、​-f/--fields​、​-o/--output​ オプション以外に次のオプションも使用できます。

オプション 説明

--remote

情報を取得するルールセットが Exchange でパブリッシュされていること、および ​ruleset​ パラメーターがルールセットのアセット識別子であることを示します。アセット識別子は、Exchange 内のアセットを一意に識別するグループ ID、アセット ID、およびバージョン (GAV) です。例: <group_id>/<asset_id>/<version>​。ここで、​<version>​ は ​latest​ の特定のバージョンです。バージョンとして ​latest​ を使用する場合、プロファイルの作成後にバージョンがパブリッシュされると、プロファイルはルールセットの最新バージョンを自動的に使用します。

Exchange アセット識別子 (GAV) を取得する​を参照してください。

コマンド例:

anypoint-cli governance ruleset info ~/temp/myruleset.yaml

anypoint-cli governance ruleset info 68ef9520-24e9-4cf2-b2f5-620025690913/anypoint-best-practices/1.0.2 --remote

anypoint-cli governance ruleset info 68ef9520-24e9-4cf2-b2f5-620025690913/anypoint-best-practices/latest --remote

出力例:

Ruleset /Users/myuser/temp/myruleset.yaml
Violation	operation-default-response
Violation	operation-operationId
Warning  	operation-singular-tag
Warning  	tag-description
Warning  	info-contact
Warning  	info-description
Warning  	info-license
Warning  	license-url
Warning  	openapi-tags
Warning  	operation-description
Warning  	operation-tags
Warning  	operation-tag-defined

governance ruleset init

> governance ruleset init [options] <schema>

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

このコマンドでは、デフォルトの ​--help​、​-f/--fields​、​-o/--output​ オプション以外に次のオプションも使用できます。

オプション 説明

--types <types>

types​ オプションは、ルールとしてエクスポートする対象種別を指定します。​governance api inspect​ コマンドを使用して、このオプションで指定する種別を特定できます。​governance api inspect​を参照してください。

--name <name>

name​ オプションはルールセットの名前です。デフォルトは ​GeneratedRuleset​ です。

コマンド例:

anypoint-cli governance ruleset init --types patientmultipleBirthBoolean,patientBundle,patientmultipleBirthInteger --name=my-ruleset mydataschema

governance ruleset validate

> governance ruleset validate [options] <governance-ruleset>

このコマンドは、​governance-ruleset​ パラメーターを使用して渡されたルールセット定義を検証します。​governance-ruleset​ パラメーターとして、次のいずれかを渡すことができます。

  • ルールセット定義 YAML ファイル

  • ルールセットをメインファイルとして指定する ​exchange.json​ ファイルを使用した API プロジェクトを含む ZIP ファイル

  • ルールセットをメインファイルとして指定する ​exchange.json​ ファイルを使用する API プロジェクトを含むフォルダー

このコマンドはデフォルトのオプション ​--help​、​-f​/​--fields​、​-o​/​--output​ のみを受け入れます。

コマンド例:

anypoint-cli governance ruleset validate ~/temp/myruleset.yaml

anypoint-cli governance ruleset validate ~/temp/myruleset.zip

anypoint-cli governance ruleset validate ~/temp/myrulesetfolder

有効なルールセットの出力例:

 Ruleset conforms with Dialect

無効なルールセットの出力例:

Ruleset does not conform with Dialect
ModelId: file:///Users/janedoe/temp/prof-1-bad.yaml
Profile: Validation Profile 1.0
Conforms: false
Number of results: 1

Level: Violation

- Constraint: http://a.ml/amf/default_document#/declarations/profileNode_profile_required_validation
  Message: Property 'profile' is mandatory
  Severity: Violation
  Target: file:///Users/janedoe/temp/prof-1-bad.yaml#/encodes
  Property: http://schema.org/name
  Range: [(3,0)-(11,19)]
  Location: file:///Users/janedoe/temp/prof-1-bad.yaml

Exchange アセット識別子 (GAV) を取得する

Exchange アセットの GAV を取得するには、次の操作を実行します。

  • Exchange CLI を使用している場合、​anypoint-cli exchange asset list​ コマンドを実行します。

  • Exchange Web UI を使用している場合、Exchange でアセットを選択し、URL からグループ ID とアセット ID をコピーします。表示しているバージョンのバージョンノードを追加します。たとえば、Exchange の「OpenAPI Best Practices (OpenAPI ベストプラクティス)」ルールセットの GAV は ​68ef9520-24e9-4cf2-b2f5-620025690913/open-api-best-practices/1.0.1​ です。