Reviewed-by: Topchii, Maria <mtopchii@noreply.gitea.eco.tsi-dev.otc-service.com> Co-authored-by: Hasko, Vladimir <vladimir.hasko@t-systems.com> Co-committed-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
22 KiB
Binding an API with Plug-ins
Function
This API is used to bind an API with plug-ins.
Plug-ins can be bound only to published APIs.
Plug-ins take effect immediately after binding.
Plug-ins take effect immediately after being modified.
An API can be bound with only one plug-in of the same type. Binding another plug-in will overwrite the previous one.
Calling Method
For details, see Calling APIs.
URI
POST /v2/{project_id}/apigw/instances/{instance_id}/apis/{api_id}/plugins/attach
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
project_id |
Yes |
String |
Project ID. For details about how to obtain it, see Obtaining a Project ID. |
instance_id |
Yes |
String |
Gateway ID, which can be obtained from the gateway information on the APIG console. |
api_id |
Yes |
String |
API ID. |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
X-Auth-Token |
Yes |
String |
User token. It can be obtained by calling the IAM API used to obtain a user token. The value of X-Subject-Token in the response header is a token. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
env_id |
Yes |
String |
ID of the environment for binding to the API. |
plugin_ids |
Yes |
Array of strings |
IDs of bound plug-ins. Array Length: 1 - 500 |
Response Parameters
Status code: 201
Parameter |
Type |
Description |
---|---|---|
attached_plugins |
Array of PluginApiAttachInfo objects |
Bound plug-ins. |
Parameter |
Type |
Description |
---|---|---|
plugin_attach_id |
String |
Plug-in binding record ID. |
plugin_id |
String |
Plug-in ID. |
plugin_name |
String |
Plug-in name. Start with a letter, and include only letters, digits, hyphens (-), and underscores(_). (3 to 255 characters) |
plugin_type |
String |
Plug-in type.
Enumeration values:
|
plugin_scope |
String |
Plug-in scope. global: Visible to all gateways. Enumeration values:
|
env_id |
String |
ID of the environment for binding to the API. |
env_name |
String |
Name of the environment for binding to the API. |
api_id |
String |
API ID. |
api_name |
String |
API name. |
attached_time |
String |
Binding time. |
Status code: 400
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code. |
error_msg |
String |
Error message. |
Status code: 401
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code. |
error_msg |
String |
Error message. |
Status code: 403
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code. |
error_msg |
String |
Error message. |
Status code: 404
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code. |
error_msg |
String |
Error message. |
Status code: 500
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code. |
error_msg |
String |
Error message. |
Example Requests
Binding a plug-in to APIs
{ "env_id" : "DEFAULT_ENVIRONMENT_RELEASE_ID", "plugin_ids" : [ "5b729aa252764739b3s237ef0d66dc63" ] }
Example Responses
Status code: 201
OK
{ "attached_plugins" : [ { "plugin_attach_id" : "8aa097b00e9843efacb9c593d11b769e", "plugin_id" : "5b729aa252764739b3s237ef0d66dc63", "plugin_name" : "CORS", "plugin_type" : "cors", "plugin_scope" : "global", "env_id" : "DEFAULT_ENVIRONMENT_RELEASE_ID", "env_name" : "RELEASE", "api_id" : "8aa097b00e9843efabc9c593d11b769d", "api_name" : "api_name", "attached_time" : "2022-11-02T12:31:23.353Z" } ] }
Status code: 400
Bad Request
{ "error_code" : "APIG.2012", "error_msg" : "Invalid parameter value,parameterName:instance_id. Please refer to the support documentation" }
Status code: 401
Unauthorized
{ "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed" }
Status code: 403
Forbidden
{ "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method" }
Status code: 404
Not Found
{ "error_code" : "APIG.3068", "error_msg" : "Plugin b294018ee0554156a875b3513e02e5b9 does not exist" }
Status code: 500
Internal Server Error
{ "error_code" : "APIG.9999", "error_msg" : "System error" }
Status Codes
Status Code |
Description |
---|---|
201 |
OK |
400 |
Bad Request |
401 |
Unauthorized |
403 |
Forbidden |
404 |
Not Found |
500 |
Internal Server Error |
Error Codes
See Error Codes.