#はじめに
API ConnectではAPI ManagerやCloud ManagerのGUI操作をコマンド実行するためのツールキットが提供されています。
本記事では、ツールキットを使用してプロダイバー組織と所有者を登録する手順を紹介します。
なお、ツールキットの概要や操作方法についてはKnowledge Centerに記載されていますのでそちらもご参照ください。
#環境
サーバーは、API Connect v2018.4.1.5を利用しています。
ツールキットは、Windows10端末から実行しています。
#コマンド実行の流れ
以下の流れで組織、所有者を登録していきます。
- Cloud Managerへのログイン
- プロバイダー組織所有者の登録
- プロバイダー組織の登録
1. Cloud Managerへのログイン
プロバイダー組織を作成するためにCloud Managerへのログインが必要となります。
#変数設定
$ CMC_USER=admin
$ CMC_PASSWORD=Passw0rd!
$ CMC_SERVER=cloud-admin-ui.xx.xx.xx.45.xip.io
$ CMC_PROVIDER_REALM=admin/default-idp-1
#コマンド実行
$ ./apic login --username ${CMC_USER} --password ${CMC_PASSWORD} --server ${CMC_SERVER} --realm ${CMC_PROVIDER_REALM}
cloud-admin-ui.xx.xx.xx.45.xip.io に正常にログインしました
2. プロバイダー組織所有者の登録
プロバイダー組織を作成する場合には、プロバイダー組織に関する設定情報ファイルを用意しておく必要があります。(定義ファイルの各URL情報については、定義名または、UUID情報で指定することができます)
#変数設定
$ CMC_SERVER=cloud-admin-ui.xx.xx.xx.45.xip.io
$ CMC_PRVORG_REGISTRY=api-manager-lur
$ PRV_ORG_OWNER_NAME=prv-owner
$ PRV_ORG_OWNER_EMAIL=prv-owner@ibmcloud.com
$ PRV_ORG_OWNER_FNAME=test
$ PRV_ORG_OWNER_LNAME=test
$ PRV_ORG_OWNER_PASSWORD=Passw0rd!
#定義ファイル作成
$ TEMP_FILE=temp_prvorg_owner.yaml
$ echo type: user > ${TEMP_FILE}
$ echo api_version: 2.0.0 >> ${TEMP_FILE}
$ echo state: enabled >> ${TEMP_FILE}
$ echo identity_provider: default-idp-2 >> ${TEMP_FILE}
$ echo username: ${PRV_ORG_OWNER_NAME} >> ${TEMP_FILE}
$ echo email: ${PRV_ORG_OWNER_EMAIL} >> ${TEMP_FILE}
$ echo first_name: ${PRV_ORG_OWNER_FNAME} >> ${TEMP_FILE}
$ echo last_name: ${PRV_ORG_OWNER_LNAME} >> ${TEMP_FILE}
$ echo password: ${PRV_ORG_OWNER_PASSWORD} >> ${TEMP_FILE}
$ echo user_registry_url: https://${CMC_SERVER}/api/user-registries/admin/${CMC_PRVORG_REGISTRY} >> ${TEMP_FILE}
#コマンド実行
$ ./apic users:create --org admin --server ${CMC_SERVER} --user-registry ${CMC_PRVORG_REGISTRY} ${TEMP_FILE}
prv-owner [state: enabled] https://cloud-admin-ui.xx.xx.xx.45.xip.io/api/user-registries/46ce8d53-1eba-4a4e-b7f0-1c303b62d3dc/187dc2b8-76d0-479e-a357-d6a0aefed907/users/b66383ec-043a-4b27-b72f-50cd619186ad
設定情報の定義ファイルは、上記のようにコマンドプロンプトで作成することもできますが、任意のテキストエディターで作成してもかまいません。
type: user
api_version: 2.0.0
state: enabled
identity_provider: default-idp-2
username: prv-owner
email: prv-owner@ibmcloud.com
first_name: test
last_name: test
password: Passw0rd!
user_registry_url: https://cloud-admin-ui.xx.xx.xx.45.xip.io/api/user-registries/admin/api-manager-lur
3. プロバイダー組織の作成
#変数設定
$ PRV_ORG_NAME=prv-org
$ PRV_ORG_TITLE=prv-org
$ PRV_ORG_OWNER_NAME=prv-owner
$ CMC_SERVER=cloud-admin-ui.xx.xx.xx.45.xip.io
$ CMC_PRVORG_REGISTRY=api-manager-lur
#定義ファイル作成
$ TEMP_FILE=temp_prvorg.yaml
$ echo type: org > ${TEMP_FILE}
$ echo api_version: 2.0.0 >> ${TEMP_FILE}
$ echo name: ${PRV_ORG_NAME} >> ${TEMP_FILE}
$ echo title: ${PRV_ORG_TITLE} >> ${TEMP_FILE}
$ echo state: enabled >> ${TEMP_FILE}
$ echo owner_url: https://${CMC_SERVER}/api/user-registries/admin/${CMC_PRVORG_REGISTRY}/users/${PRV_ORG_OWNER_NAME} >> ${TEMP_FILE}
#コマンド実行
$ ./apic orgs:create --server ${CMC_SERVER} ${TEMP_FILE}
prv-org [state: enabled] https://cloud-admin-ui.xx.xx.xx.45.xip.io/api/orgs/3e0f3b9f-d1e1-46c6-adc1-28d8b948da29
設定情報の定義ファイルは、上記のようにコマンドプロンプトで作成することもできますが、任意のテキストエディターで作成してもかまいません。(定義ファイルの各URL情報については、定義名または、UUID情報で指定することができます)
type: org
api_version: 2.0.0
name: prv-org
title: prv-org
state: enabled
owner_url: https://cloud-admin-ui.xx.xx.xx.45.xip.io/api/user-registries/admin/api-manager-lur/users/prv-owner
#コマンド実行結果確認
登録したプロバイダー組織、ユーザーの詳細情報は、ツールキットを使用して取得することができます。情報取得コマンドでは各URL情報はUUID形式で出力されます。
プロバイダー組織所有者情報の取得
#変数設定
$ CMC_SERVER=cloud-admin-ui.xx.xx.xx.45.xip.io
$ CMC_PRVORG_REGISTRY=api-manager-lur
$ PRV_ORG_OWNER_NAME=prv-owner
#コマンド実行
$ ./apic users:get --org admin --server ${CMC_SERVER} --user-registry ${CMC_PRVORG_REGISTRY} ${PRV_ORG_OWNER_NAME}
prv-owner prv-owner.yaml https://cloud-admin-ui.xx.xx.xx.45.xip.io/api/user-registries/46ce8d53-1eba-4a4e-b7f0-1c303b62d3dc/187dc2b8-76d0-479e-a357-d6a0aefed907/users/b66383ec-043a-4b27-b72f-50cd619186ad
type: user
api_version: 2.0.0
id: b66383ec-043a-4b27-b72f-50cd619186ad
name: prv-owner
title: prv-owner
state: enabled
identity_provider: default-idp-2
username: prv-owner
email: prv-owner@ibmcloud.com
first_name: test
last_name: test
metadata:
id: de6501db-c6a8-4ab2-bd50-c37079c16024
name: prv-owner
username: prv-owner
created_at: '2019-07-09T06:43:02.618Z'
updated_at: '2019-07-09T06:43:02.618Z'
org_url: >-
https://cloud-admin-ui.xx.xx.xx.45.xip.io/api/orgs/46ce8d53-1eba-4a4e-b7f0-1c303b62d3dc
user_registry_url: >-
https://cloud-admin-ui.xx.xx.xx.45.xip.io/api/user-registries/46ce8d53-1eba-4a4e-b7f0-1c303b62d3dc/187dc2b8-76d0-479e-a357-d6a0aefed907
url: >-
https://cloud-admin-ui.xx.xx.xx.45.xip.io/api/user-registries/46ce8d53-1eba-4a4e-b7f0-1c303b62d3dc/187dc2b8-76d0-479e-a357-d6a0aefed907/users/b66383ec-043a-4b27-b72f-50cd619186ad
プロバイダー組織情報の取得
#変数設定
$ CMC_SERVER=cloud-admin-ui.xx.xx.xx.45.xip.io
$ PRV_ORG_NAME=prv-org
#コマンド実行
$ ./apic orgs:get --server ${CMC_SERVER} ${PRV_ORG_NAME}
prv-org prv-org.yaml https://cloud-admin-ui.xx.xx.xx.45.xip.io/api/orgs/3e0f3b9f-d1e1-46c6-adc1-28d8b948da29
type: org
api_version: 2.0.0
id: 3e0f3b9f-d1e1-46c6-adc1-28d8b948da29
name: prv-org
title: prv-org
state: enabled
org_type: provider
owner_url: >-
https://cloud-admin-ui.xx.xx.xx.45.xip.io/api/user-registries/46ce8d53-1eba-4a4e-b7f0-1c303b62d3dc/187dc2b8-76d0-479e-a357-d6a0aefed907/users/b66383ec-043a-4b27-b72f-50cd619186ad
created_at: '2019-07-09T06:43:03.963Z'
updated_at: '2019-07-09T06:43:03.963Z'
url: >-
https://cloud-admin-ui.xx.xx.xx.45.xip.io/api/orgs/3e0f3b9f-d1e1-46c6-adc1-28d8b948da29
#最後に
ツールキットを使用してプロバイダー組織とその所有者を登録する手順を紹介しました。GUIから作成する場合に比べると、事前に定義ファイルを作成する必要がありますが、環境定義作業を自動化したい場合には、ツールキットを活用することで実現できますので参考にしていただければと思います。