Flex Gateway新着情報
Governance新着情報
Monitoring API Managerコマンド |
説明 |
検索条件を評価して、その条件を満たす API に適用されるルールセットを決定する |
|
API 定義を調べ、そのスキーマをリストする |
|
指定されたガバナンスルールセットに対して API 定義を検証する |
|
ガバナンスルールセット定義のドキュメントファイルを作成する |
|
ガバナンスプロファイルを作成する |
|
ガバナンスプロファイルを削除する |
|
特定のガバナンスプロファイル ID の情報をリストする |
|
組織内のすべてのガバナンスプロファイルをリストする |
|
ガバナンスプロファイルを更新する |
|
ガバナンスルールセットをコピーし、指定された更新をルールに適用する |
|
ルールセットルールをリストする |
|
データスキーマに基づいてガバナンスルールセット定義を初期化する |
|
ガバナンスルールセット定義の形式を検証する |
> governance api evaluate [options]
このコマンドは、指定された検索条件を評価して、その条件を満たす API に適用されるルールセットを決定します。
このコマンドでは、デフォルトの --help
、-f/--fields
、-o/--output
オプション以外に次のオプションも使用できます。
オプション | 説明 |
---|---|
--api=<api> |
評価する API プロジェクト。このコマンドは、プロジェクトの |
--criteria <filtertype:filtervalue>,… |
ルールセットを識別するために評価する検索条件を適用できます。カンマ区切りの検索条件のリストを指定します。各検索条件の種別と値は、 次のような検索条件を使用できます。
例: 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 [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 [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>,… |
ローカルルールセット定義。 |
--remote-rulesets <ruleset-asset-identifier>,<ruleset-asset-identifier>,… |
リモートルールセット定義。 Exchange アセット識別子 (GAV) を取得するを参照してください。 |
--remote |
パブリッシュされた API に対して検証を行う必要があることを示すフラグ。 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 [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 [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 のリストを選択できます。カンマ区切りの検索条件のリストを指定します。各検索条件の種別と値は、 次のような検索条件を使用できます。
例: 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 以降、 |
--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 [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 [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 [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 [options] <profile-id>
このコマンドは、profile-id
で指定されるガバナンスプロファイルを更新します。この ID を取得するには、governance profile info
または governance profile list
コマンドを実行します。
ガバナンスプロファイルの一般情報、ルールセット、検索条件、および通知設定を更新できます。notify
オプションの 1 つを使用して、通知設定を更新したり、通知を無効にしたりできます。すべての変更で、既存の通知設定が上書きされます。notify
オプションを使用しない場合、通知設定は変更されません。
このコマンドでは、デフォルトの --help
、-f/--fields
、-o/--output
オプション以外に次のオプションも使用できます。
オプション | 説明 |
---|---|
--profile-name <profile-name> |
|
--ruleset-gavs <ruleset-gavs> |
Exchange アセット識別子 (GAV) を取得するを参照してください。 |
--criteria <filtertype:filtervalue>,… |
検索条件を適用して、プロファイルルールセットが適用される API のリストを選択できます。カンマ区切りの検索条件のリストを指定します。各検索条件の種別と値は、 次のような検索条件を使用できます。
例: 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 以降、 |
--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 [options] <ruleset> <new_title> <new_description>
このコマンドは、ガバナンスルールセットをコピーして新しいカスタムルールセットを作成し、オプションに基づいて指定された更新をルールに適用します。新しいルールセットが標準出力に書き込まれます。
new-title
パラメーターでは、新しいルールセットのタイトルを指定します。
new description
パラメーターでは、新しいルールセットのタイトルを指定します。
このコマンドを実行する前に、governance ruleset info コマンドを実行して、このコマンドで使用するルール ID 情報を取得します。
|
このコマンドでは、デフォルトの --help
、-f/--fields
、-o/--output
オプション以外に次のオプションも使用できます。
オプション | 説明 |
---|---|
--remote |
コピーするルールセットが Exchange でパブリッシュされていること、および Exchange アセット識別子 (GAV) を取得するを参照してください。 |
--error=<list_rules_to_move_to_error> |
|
--warning=<list_rules_to_move_to_warning> |
|
--info=<list_rules_to_move_to_info> |
|
--remove=<list_rules_to_disable> |
|
コマンド例:
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 [options] <governance-ruleset>
このコマンドは、governance-ruleset
パラメーターで渡されたルールセット定義のルールセットルールをリストします。
このコマンドでは、デフォルトの --help
、-f/--fields
、-o/--output
オプション以外に次のオプションも使用できます。
オプション | 説明 |
---|---|
--remote |
情報を取得するルールセットが Exchange でパブリッシュされていること、および 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 [options] <schema>
このコマンドは、schema
パラメーターで渡されたデータスキーマに基づいてルールセットを初期化します。
このコマンドでは、デフォルトの --help
、-f/--fields
、-o/--output
オプション以外に次のオプションも使用できます。
オプション | 説明 |
---|---|
--types <types> |
|
--name <name> |
|
コマンド例:
anypoint-cli governance ruleset init --types patientmultipleBirthBoolean,patientBundle,patientmultipleBirthInteger --name=my-ruleset mydataschema
> 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 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
です。