UNPKG

@itentialopensource/adapter-efficientip_solidserver

Version:

This adapter integrates with system described as: efficientip solidserver

1,139 lines (1,138 loc) 2.16 MB
{ "openapi": "3.0.2", "info": { "title": "SOLIDserver API", "description": "OpenAPI 3.0.2 API definition for SOLIDserver service from EfficientIP.<p>Copyright © 2000-2020 EfficientIP</p><p><em>All specifications and information regarding the products in this document are subject to change without notice and should not be construed as a commitment by EfficientIP. EfficientIP assumes no responsibility or liability for any mistakes or inaccuracies that may appear in this document. All statements and recommendations in this document are believed to be accurate but are presented without warranty. Users must take full responsibility for their application of any product.</em></p>", "version": "2.0", "contact": { "name": "Support", "email": "support@efficientip.com", "url": "https://www.efficientip.com/services/support/" }, "license": { "name": "EfficientIP" } }, "components": { "responses": { "SuccessObjectChanges": { "description": "operation succeed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponse" } } } }, "ErrorObjectChanges": { "description": "The specified resource was not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponse" } } } }, "EmptyObjectChanges": { "description": "no result" }, "SuccessObjectCount": { "description": "result operation count", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiCountResponseSuccess" } } } } }, "securitySchemes": { "BasicAuth": { "type": "http", "scheme": "basic" }, "HttpHeaderLoginKey": { "type": "apiKey", "in": "header", "name": "X-IPM-Username" }, "HttpHeaderPasswordKey": { "type": "apiKey", "in": "header", "name": "X-IPM-Password" } }, "schemas": { "ApiResponse": { "type": "object", "properties": { "success": { "type": "boolean" }, "messages": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32" }, "msg": { "type": "string" }, "type": { "type": "string", "enum": [ "error", "warning", "notice" ] }, "extra": { "type": "object", "additionalProperties": { "type": "string" } } } } }, "data": { "type": "array", "items": { "type": "object" } } } }, "ApiCountResponseSuccess": { "type": "object", "properties": { "success": { "type": "boolean" }, "messages": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32" }, "msg": { "type": "string" }, "type": { "type": "string", "enum": [ "error", "warning", "notice" ] }, "extra": { "type": "object", "additionalProperties": { "type": "string" } } } } }, "data": { "type": "array", "minItems": 1, "maxItems": 1, "items": { "type": "object", "properties": { "count": { "type": "integer", "format": "int32" } } } } } } } }, "security": [ { "HttpHeaderLoginKey": [], "HttpHeaderPasswordKey": [] }, { "BasicAuth": [] } ], "paths": { "/ipam_space_list": { "get": { "tags": [ "ipam" ], "summary": "List the spaces", "description": "This service allows to list the objects.To execute this service, users must be granted the permission to use it. The rows returned to the user running the service depend on the resources granted to the group they belong to.", "operationId": "getIpamSpaceList", "parameters": [ { "name": "orderby", "in": "query", "description": "A clause that allows to sort the result. You can include any output parameter of the service in this clause, except class parameters.To sort the result using class parameters, you must tag them first. For more details, refer to the section .The parameters and their value must be specified following the operators and syntax of the SQL standard, as follows: &lt;parameter&gt;=&#039;&lt;value&gt;&#039;. The clause must be encoded in URL format.You can add the optional keyword ASC (ascending) or DESC (descending) after each parameter. If not specified, ASC is used by default. The order of the parameters specified is set using their value&#039;s name or ordinal number. Each parameter value is compared from one row to the next. If all the parameters of the rows are equal, they are returned in an implementation-dependent order.", "schema": { "type": "string" } }, { "name": "where", "in": "query", "description": "A clause that allows to filter the result. You can include any output parameter of the service in this clause, except class parameters.To filter the result using class parameters, you must tag them first It is no longer possible to use the structure &lt;object-name&gt;_class_parameters like &lt;value&gt; directly in the clause WHERE. . For more details, refer to the section .The parameters and their value must be specified following the operators and syntax of the SQL standard, as in the following examples : &lt;parameter&gt;=&#039;&lt;value&gt;&#039; or &lt;parameter&gt; IS NOT NULL. The clause must be encoded in URL format.", "schema": { "type": "string" } }, { "name": "limit", "in": "query", "description": "The maximum number of results to be returned. Depending on the user resources and the database content, it can return less results than the value you have specified.The input parameter limit must be specified in lowercase.", "schema": { "type": "integer" } }, { "name": "offset", "in": "query", "description": "The number of rows to skip in the service output.The input parameter offset must be specified in lowercase.", "schema": { "type": "integer" } }, { "name": "tags", "in": "query", "description": "The list of class parameters to tag in the call, separated by a comma. Each parameter must be specified following the format &lt;object-type&gt;.&lt;parameter&gt;, e.g. site.decription .", "schema": { "type": "string" } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "object", "properties": { "success": { "description": "state true/false indicate if action succeed", "type": "boolean" }, "messages": { "description": "List or notice/warning/error messages", "type": "array", "items": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32" }, "msg": { "type": "string" }, "type": { "type": "string", "enum": [ "error", "warning", "notice" ] }, "extra": { "type": "object", "additionalProperties": { "type": "string" } } } } }, "data": { "type": "array", "items": { "type": "object", "properties": { "space_multistatus": { "type": "string", "description": "The Multi-status information is displayed as follows: <i>&lt;number-of-instances&gt;@&lt;message-number&gt;@&lt;multi-status-severity&gt;@&lt;module&gt;</i>. The different severity levels are:<br><b>Multi-status severity levels</b> <table border=1> <thead> <tr > <td><b>Message number</b></td> <td><b>Severity</b></td> <td><b>Description</b></td> </tr> </thead> <tbody> <tr valign=middle> <td>0 - 16</td> <td>Emergency</td> <td>The object configuration prevents the system from running properly. Action is required.</td> </tr> <tr valign=middle> <td>17 - 33</td> <td>Critical</td> <td>The object configuration is in critical conditions. Immediate action is recommended.</td> </tr> <tr valign=middle> <td>34 - 50</td> <td>Error</td> <td>The object configuration failed at some level. Action is recommended.</td> </tr> <tr valign=middle> <td>51 - 66</td> <td>Warning</td> <td>The object configuration triggers error messages if no action is taken. Action to be taken at your discretion.</td> </tr> <tr valign=middle> <td>67 - 83</td> <td>Notice</td> <td>The object configuration is normal but undergoing events that might trigger errors. No immediate action required.</td> </tr> <tr valign=middle> <td>84 - 100</td> <td>Informational</td> <td>The object configuration is normal, operational messages (might inform you about potential incompatibilities with other modules, etc). No action required.</td> </tr> </tbody></table>" }, "parent_space_class_name": { "type": "string", "description": "The name of the class applied to the VLSM parent space, it can be preceded by the class directory." }, "parent_space_class_parameters": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "value": { "type": "string" }, "inheritance": { "type": "string", "enum": [ "set", "inherited" ] }, "propagation": { "type": "string", "enum": [ "propagate", "restrict" ] }, "source": { "type": "string" } } }, "description": "The class parameters applied to the VLSM parent space and their value." }, "parent_space_id": { "type": "string", "description": "The database identifier (ID) of the VLSM parent space. 0 indicates that space has no parent space." }, "parent_space_name": { "type": "string", "description": "The name of the VLSM parent space. # indicates that space has no parent space." }, "space_class_name": { "type": "string", "description": "The name of the class applied to the space, it can be preceded by the class directory." }, "space_class_parameters": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "value": { "type": "string" }, "inheritance": { "type": "string", "enum": [ "set", "inherited" ] }, "propagation": { "type": "string", "enum": [ "propagate", "restrict" ] }, "source": { "type": "string" } } }, "description": "The class parameters applied to the space and their value." }, "space_description": { "type": "string", "description": "The description of the space." }, "space_id": { "type": "string", "description": "The database identifier (ID) of the space." }, "space_is_template": { "type": "string", "description": "The template status of the space. If the space is used as template (1), all the IPv4 networks, pools and IP addresses it contains are also used as template." }, "space_name": { "type": "string", "description": "The name of the space." } } } } } } } } }, "400": { "description": "error executing the action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponse" } } } } } } }, "/ipam_space_count": { "get": { "tags": [ "ipam" ], "summary": "Count the number of spaces", "description": "This service allows to return the number of objects.To execute this service, users must be granted the permission to use it. The rows returned to the user running the service depend on the resources granted to the group they belong to.", "operationId": "getIpamSpaceCount", "parameters": [ { "name": "where", "in": "query", "description": "A clause that allows to filter the result. You can include any output parameter of the service *_list of the object in this clause, except class parameters.To filter the result using class parameters, you must tag them first It is no longer possible to use the structure &lt;object-name&gt;_class_parameters like &lt;value&gt; directly in the clause WHERE. . For more details, refer to the section .The parameters and their value must be specified following the operators and syntax of the SQL standard, as in the following examples : &lt;parameter&gt;=&#039;&lt;value&gt;&#039; or &lt;parameter&gt; IS NOT NULL. The clause must be encoded in URL format.", "schema": { "type": "string" } }, { "name": "tags", "in": "query", "description": "The list of class parameters to tag in the call, separated by a comma. Each parameter must be specified following the format &lt;object-type&gt;.&lt;parameter&gt;, e.g. site.decription .", "schema": { "type": "string" } } ], "responses": { "200": { "$ref": "#/components/responses/SuccessObjectCount" }, "400": { "description": "error executing the action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponse" } } } } } } }, "/ipam_space_info": { "get": { "tags": [ "ipam" ], "summary": "Display the properties of a space", "description": "This service allows to display the properties of an object.To execute this service, users must be granted the permission to use it. The rows returned to the user running the service depend on the resources granted to the group they belong to.", "operationId": "getIpamSpaceInfo", "parameters": [ { "name": "space_id", "in": "query", "description": "The database identifier (ID) of the space, a unique numeric key value automatically incremented when you add a space. Use the ID to specify the space of your choice.", "schema": { "type": "integer" } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "object", "properties": { "success": { "description": "state true/false indicate if action succeed", "type": "boolean" }, "messages": { "description": "List or notice/warning/error messages", "type": "array", "items": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32" }, "msg": { "type": "string" }, "type": { "type": "string", "enum": [ "error", "warning", "notice" ] }, "extra": { "type": "object", "additionalProperties": { "type": "string" } } } } }, "data": { "type": "array", "items": { "type": "object", "properties": { "space_multistatus": { "type": "string", "description": "The Multi-status information is displayed as follows: <i>&lt;number-of-instances&gt;@&lt;message-number&gt;@&lt;multi-status-severity&gt;@&lt;module&gt;</i>. The different severity levels are:<br><b>Multi-status severity levels</b> <table border=1> <thead> <tr > <td><b>Message number</b></td> <td><b>Severity</b></td> <td><b>Description</b></td> </tr> </thead> <tbody> <tr valign=middle> <td>0 - 16</td> <td>Emergency</td> <td>The object configuration prevents the system from running properly. Action is required.</td> </tr> <tr valign=middle> <td>17 - 33</td> <td>Critical</td> <td>The object configuration is in critical conditions. Immediate action is recommended.</td> </tr> <tr valign=middle> <td>34 - 50</td> <td>Error</td> <td>The object configuration failed at some level. Action is recommended.</td> </tr> <tr valign=middle> <td>51 - 66</td> <td>Warning</td> <td>The object configuration triggers error messages if no action is taken. Action to be taken at your discretion.</td> </tr> <tr valign=middle> <td>67 - 83</td> <td>Notice</td> <td>The object configuration is normal but undergoing events that might trigger errors. No immediate action required.</td> </tr> <tr valign=middle> <td>84 - 100</td> <td>Informational</td> <td>The object configuration is normal, operational messages (might inform you about potential incompatibilities with other modules, etc). No action required.</td> </tr> </tbody></table>" }, "parent_space_class_name": { "type": "string", "description": "The name of the class applied to the VLSM parent space, it can be preceded by the class directory." }, "parent_space_class_parameters": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "value": { "type": "string" }, "inheritance": { "type": "string", "enum": [ "set", "inherited" ] }, "propagation": { "type": "string", "enum": [ "propagate", "restrict" ] }, "source": { "type": "string" } } }, "description": "The class parameters applied to the VLSM parent space and their value." }, "parent_space_id": { "type": "string", "description": "The database identifier (ID) of the VLSM parent space. 0 indicates that space has no parent space." }, "parent_space_name": { "type": "string", "description": "The name of the VLSM parent space. # indicates that space has no parent space." }, "space_class_name": { "type": "string", "description": "The name of the class applied to the space, it can be preceded by the class directory." }, "space_class_parameters": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "value": { "type": "string" }, "inheritance": { "type": "string", "enum": [ "set", "inherited" ] }, "propagation": { "type": "string", "enum": [ "propagate", "restrict" ] }, "source": { "type": "string" } } }, "description": "The class parameters applied to the space and their value." }, "space_description": { "type": "string", "description": "The description of the space." }, "space_id": { "type": "string", "description": "The database identifier (ID) of the space." }, "space_is_template": { "type": "string", "description": "The template status of the space. If the space is used as template (1), all the IPv4 networks, pools and IP addresses it contains are also used as template." }, "space_name": { "type": "string", "description": "The name of the space." } } } } } } } } }, "400": { "description": "error executing the action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponse" } } } } } } }, "/ipam_space_add": { "post": { "tags": [ "ipam" ], "summary": "Add a space", "description": "This service allows to add objects. A call can only add one object. To execute this service, users must be granted the permission to use it. The rows returned to the user running the service depend on the resources granted to the group they belong to.</br></br><b>Mandatory Parameters</b>: space_name", "operationId": "createIpamSpace", "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "space_name": { "description": "The name of the space, each space must have a unique name.", "type": "string" }, "parent_space_id": { "description": "The database identifier (ID) of an existing space you want to set as the VLSM parent of the space you are adding. This sets up a space-based VLSM organization.", "type": "integer" }, "parent_space_name": { "description": "The name of an existing space you want to set as the VLSM parent of the space you are adding. This sets up a space-based VLSM organization.", "type": "string" }, "space_description": { "description": "The description of the space.", "type": "string" }, "space_is_template": { "description": "The template status of the space you are adding. If the space is used as template (1), all the IPv4 networks, pools and IP addresses it contains are also used as template. You can only set this parameter once, you cannot edit its value.", "type": "integer" }, "class_parameters_to_delete": { "description": "class parameters you want to delete from the object", "type": "array", "items": { "type": "string" } }, "space_class_name": { "description": "The name of the class to apply to the object you are adding. You must specify the class file directory, e.g. my_directory/my_class.class . You cannot use the classes global and default, they are reserved by the system.", "type": "string" }, "space_class_parameters": { "description": "class parameters in json format", "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "value": { "type": "string" }, "inheritance": { "type": "string", "enum": [ "set", "inherited" ] }, "propagation": { "type": "string", "enum": [ "propagate", "restrict" ] } } } }, "warnings": { "description": "A way to bypass (accept) any enabled rule that would return warning messages. If the service returns an error message, you cannot bypass the enabled rules.", "type": "string", "enum": [ "accept" ] } } } } } }, "responses": { "200": { "description": "successful object edition", "content": { "application/json": { "schema": { "type": "object", "properties": { "success": { "description": "state true/false indicate if action succeed", "type": "boolean" }, "messages": { "description": "List or notice/warning/error messages", "type": "array", "items": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32" }, "msg": { "type": "string" }, "type": { "type": "string", "enum": [ "error", "warning", "notice" ] }, "extra": { "type": "object", "additionalProperties": { "type": "string" } } } } }, "data": { "type": "array", "minItems": 1, "maxItems": 1, "items": { "type": "object", "properties": { "space_id": { "description": "The database identifier (ID) of the object you added.", "type": "string" } } } } } } } } }, "400": { "description": "error object edition", "content": { "application/json": { "schema": { "type": "object", "properties": { "success": { "description": "state true/false indicate if action succeed", "type": "boolean" }, "messages": { "description": "List or notice/warning/error messages", "type": "array", "items": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32" }, "msg": { "type": "string" }, "type": { "type": "string", "enum": [ "error", "warning", "notice" ] }, "extra": { "type": "object", "additionalProperties": { "type": "string" } } } } }, "data": { "type": "array", "items": { "type": "object" } } } } } } } } } }, "/ipam_space_edit": { "put": { "tags": [ "ipam" ], "summary": "Edit a space", "description": "This service allows to edit existing objects using their identifier. All the input parameters and their value specified in input edit the identified object, any parameter not specified is left unchanged. A call can only edit one object. To execute this service, users must be granted the permission to use it. The rows returned to the user running the service depend on the resources granted to the group they belong to.</br></br><b>Mandatory Parameters</b>: (space_id || space_name)", "operationId": "updateIpamSpace", "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "space_id": { "description": "The database identifier (ID) of the space, a unique numeric key value automatically incremented when you add a space. Use the ID to specify which space to edit.", "type": "integer" }, "space_name": { "description": "The name of the space, each space must have a unique name.", "type": "string" }, "parent_space_id": { "description": "The database identifier (ID) of an existing space you want to set as the VLSM parent of the space you are editing. This sets up a space-based VLSM organization.", "type": "integer" }, "parent_space_name": { "description": "The name of an existing space you want to set as the VLSM parent of the space you are editing. This sets up a space-based VLSM organization.", "type": "string" }, "space_description": { "description": "The description of the space.", "type": "string" }, "space_is_template": { "description": "The template status of the space you are editing. If the space is used as template (1), all the IPv4 networks, pools and IP addresses it contains are also used as template. You can only set this parameter once, you cannot edit its value.", "type": "integer" }, "class_parameters_to_delete": { "description": "class parameters you want to delete from the object", "type": "array", "items": { "type": "string" } }, "space_class_name": { "description": "The name of the class to apply to the object you are editing. You must specify the class file directory, e.g. my_directory/my_class.class . You cannot use the classes global and default, they are reserved by the system.", "type": "string" }, "space_class_parameters": { "description": "class parameters in json format", "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "value": { "type": "string" }, "inheritance": { "type": "string", "enum": [ "set", "inherited" ] }, "propagation": { "type": "string", "enum": [ "propagate", "restrict" ] } } } }, "warnings": { "description": "A way to bypass (accept) any enabled rule that would return warning messages. If the service returns an error message, you cannot bypass the enabled rules.", "type": "string", "enum": [ "accept" ] } } } } } }, "responses": { "200": { "description": "successful object edition", "content": { "application/json": { "schema": { "type": "object", "properties": { "success": { "description": "state true/false indicate if action succeed", "type": "boolean" }, "messages": { "description": "List or notice/warning/error messages", "type": "array", "items": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32" }, "msg": { "type": "string" }, "type": { "type": "string", "enum": [ "error", "warning", "notice" ] }, "extra": { "type": "object", "additionalProperties": { "type": "string" } } } } }, "data": { "type": "array", "minItems": 1, "maxItems": 1, "items": { "type": "object", "properties": { "space_id": { "description": "The database identifier (ID) of the object you edited.", "type": "string" } } } } } } } } }, "400": { "description": "error object edition", "content": { "application/json": { "schema": { "type": "object", "properties": { "success": { "description": "state true/false indicate if action succeed", "type": "boolean" }, "messages": { "description": "List or notice/warning/error messages", "type": "array", "items": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32" }, "msg": { "type": "string" }, "type": { "type": "string", "enum": [ "error", "warning", "notice" ] }, "extra": { "type": "object", "additionalProperties": { "type": "string" } } } } }, "data": { "type": "array", "items": { "type": "object" } } } } } } } } } }, "/ipam_space_delete": { "delete": { "tags": [ "ipam" ], "summary": "Delete a space", "description": "This service allows to delete an object. A call can only delete one object.To execute this service, users must be granted the permission to use it. The rows returned to the user running the service depend on the resources granted to the group they belong to.</br></br><b>Mandatory Parameters</b>: (space_id || space_name)", "operationId": "deleteIpamSpace", "parameters": [ { "name": "space_id", "in": "query", "description": "The database identifier (ID) of the space, a unique numeric key value automatically incremented when you add a space. Use the ID to specify the space of your choice.", "schema": { "type": "integer" } }, { "name": "space_name", "in": "query", "description": "The name of the space.", "schema": { "type": "string" } }, { "name": "warnings", "in": "query", "description": "A way to bypass (accept) any enabled rule that would return warning messages. If the service returns an error message, you cannot bypass the enabled rules.", "schema": { "type": "string", "enum": [ "accept" ] } } ], "responses": { "200": { "description": "successful object edition", "content": { "application/json": { "schema": { "type": "object", "properties": { "success": { "description": "state true/false indicate if action succeed", "type": "boolean" }, "messages": { "description": "List or notice/warning/error messages", "type": "array", "items": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32" }, "msg": { "type": "string" }, "type": { "type": "string", "enum": [ "error", "warning", "notice" ] }, "extra": { "type": "object", "additionalProperties": { "type": "string" } } } } }, "data": { "type": "array", "minItems": 1, "maxItems": 1, "items": { "type": "object", "properties": { "space_id": { "description": "The database identifier (ID) of the object you deleted.", "type": "string" } } } } } } } } }, "400": { "description": "error object edition", "content": { "application/json": { "schema": { "type": "object", "properties": { "success": { "description": "state true/false indicate if action succeed", "type": "boolean" },