Approval Request - Flexible InterConnect API リファレンス (2.0.0)
Download OpenAPI specification:Download
本APIでは、Flexible InterConnectが提供するリソースの参照・操作が可能です。
テナント間の接続、XaaS事業者への接続の接続承認やオーダー実行、それらの状況の情報取得等の操作に関するAPIドキュメントです。
テナント内の接続は Approval Request の実行は必要ありません。
List Approval Request
テナント間接続のリクエスト承認状況やオーダー実行状況などの一覧を取得します。
query Parameters
status | string Enum: "registered" "cancelled" "approved" "denied" "expired" "approval_expired" Example: status=registered リクエスト承認状況 ‘registered/cancelled/approved/denied/expired/approval_expired’のいずれか |
executed | boolean Example: executed=false オーダー実行済フラグ ‘false’または’true’ |
header Parameters
Content-Type required | string Value: "application/json" |
X-Auth-Token required | string ^[0-9a-f]{32}$ Example: dc03494823a841338430052e9ee95e07 クライアントが Keystone を利用して取得した認証 Token |
Responses
OK 成功しました
Bad Request リクエストが不正
Unauthorized 認証エラー
Conflict 競合エラー
Response samples
- 200
{- "approvalRequests": [
- {
- "requestId": "req0000000001",
- "approverType": "tenant_owner",
- "approverId": "24661ade0df34648ae6ca58d83b3173a",
- "requestUserId": "ecid1234567890",
- "service": "Flexible InterConnect",
- "actions": [
- {
- "type": "Router-to-Router-Connection",
- "method": "PATCH",
- "resourceId": "F030123456789",
- "body": {
- "connection": {
- "bandwidth": "200M",
- "tenantId": "c8296ad5c4434c8093f818d252b25483"
}
}
}
], - "descriptions": [
- {
- "lang": "en",
- "text": "Request for 'Router-to-Router-Connection' from tenant c8296ad5c4434c8093f818d252b25483' to tenant '24661ade0df34648ae6ca58d83b3173a'"
}
], - "requestUser": true,
- "approver": false,
- "approvalDeadline": "2020-07-24 05:43:44",
- "registeredTime": "2020-07-24 05:43:46",
- "status": "registered",
- "externalRequestId": null,
- "executed": false,
- "toPublicService": true,
- "orderType": "updateBandwidth"
}
]
}
Create Approval Request
テナント間接続先のユーザーへ接続承認を申請します。
body内のmethodをPOSTにした場合は購入の承認、PATCHにした場合は変更の承認を申請できます。
header Parameters
Content-Type required | string Value: "application/json" |
X-Auth-Token required | string ^[0-9a-f]{32}$ Example: dc03494823a841338430052e9ee95e07 クライアントが Keystone を利用して取得した認証 Token |
Request Body schema: application/json
approvalRequest required | object |
Responses
Created リソースは作成されました
Bad Request リクエストが不正
Unauthorized 認証エラー
Conflict 競合エラー
Request samples
- Payload
{- "approvalRequest": {
- "approverId": "24661ade0df34648ae6ca58d83b3173a",
- "actions": [
- {
- "type": "Port-to-Port-Connection",
- "method": "POST",
- "resourceId": "F030123456789",
- "body": {
- "connection": {
- "name": "YourConnectionName",
- "tenantId": "87e89b8f075a4ee1aa209f6ca6ce242c",
- "source": {
- "primary": {
- "portId": "F011900000001",
- "vlan": 113
}, - "secondary": {
- "portId": "F011900000002",
- "vlan": 213
}
}, - "destination": {
- "publicServiceKey": "YourSellerServiceKey",
- "primary": {
- "portId": "F011900000003"
}, - "secondary": {
- "portId": "F011900000004"
}
}, - "bandwidth": "100M"
}
}
}
]
}
}
Response samples
- 201
{- "approvalRequest": {
- "requestId": "req0000000001",
- "approverType": "tenant_owner",
- "approverId": "24661ade0df34648ae6ca58d83b3173a",
- "requestUserId": "ecid1234567890",
- "service": "Flexible InterConnect",
- "actions": [
- {
- "type": "Router-to-Router-Connection",
- "method": "PATCH",
- "resourceId": "F030123456789",
- "body": {
- "connection": {
- "bandwidth": "200M",
- "tenantId": "c8296ad5c4434c8093f818d252b25483"
}
}
}
], - "descriptions": [
- {
- "lang": "en",
- "text": "Request for 'Router-to-Router-Connection' from tenant c8296ad5c4434c8093f818d252b25483' to tenant '24661ade0df34648ae6ca58d83b3173a'"
}
], - "requestUser": true,
- "approver": false,
- "approvalDeadline": "2020-07-24 05:43:44",
- "registeredTime": "2020-07-24 05:43:46",
- "status": "registered",
- "externalRequestId": null,
- "executed": false,
- "toPublicService": true,
- "orderType": "updateBandwidth"
}
}
Execute Request
テナント間接続先の接続承認受領後、オーダーを実行します。接続承認受領前に実行した場合エラーになりますので、対象リクエストのステータスが承認(approved)であることを確認してから実行してください。
path Parameters
request_id required | string |
header Parameters
Content-Type required | string Value: "application/json" |
X-Auth-Token required | string ^[0-9a-f]{32}$ Example: dc03494823a841338430052e9ee95e07 クライアントが Keystone を利用して取得した認証 Token |
Responses
Accepted 要求は受け付けられました
Bad Request リクエストが不正
Unauthorized 認証エラー
Not Found 未検出エラー
Conflict 競合エラー
Response samples
- 202
{- "connection": { }
}
Show Approval Request
テナント間接続のリクエスト承認状況やオーダー実行状況などの詳細情報を取得します。
path Parameters
request_id required | string |
header Parameters
Content-Type required | string Value: "application/json" |
X-Auth-Token required | string ^[0-9a-f]{32}$ Example: dc03494823a841338430052e9ee95e07 クライアントが Keystone を利用して取得した認証 Token |
Responses
OK 成功しました
Bad Request リクエストが不正
Unauthorized 認証エラー
Not Found 未検出エラー
Conflict 競合エラー
Response samples
- 200
{- "approvalRequest": {
- "requestId": "req0000000001",
- "approverType": "tenant_owner",
- "approverId": "24661ade0df34648ae6ca58d83b3173a",
- "requestUserId": "ecid1234567890",
- "service": "Flexible InterConnect",
- "actions": [
- {
- "type": "Router-to-Router-Connection",
- "method": "PATCH",
- "resourceId": "F030123456789",
- "body": {
- "connection": {
- "bandwidth": "200M",
- "tenantId": "c8296ad5c4434c8093f818d252b25483"
}
}
}
], - "descriptions": [
- {
- "lang": "en",
- "text": "Request for 'Router-to-Router-Connection' from tenant c8296ad5c4434c8093f818d252b25483' to tenant '24661ade0df34648ae6ca58d83b3173a'"
}
], - "requestUser": true,
- "approver": false,
- "approvalDeadline": "2020-07-24 05:43:44",
- "registeredTime": "2020-07-24 05:43:46",
- "status": "registered",
- "externalRequestId": null,
- "executed": false,
- "toPublicService": true,
- "orderType": "updateBandwidth"
}
}