226 lines
7.5 KiB
JSON
226 lines
7.5 KiB
JSON
{
|
|
"openapi": "3.0.0",
|
|
"info": {
|
|
"title": "REST4i - QSYS Services",
|
|
"description": "QSYS Services provide APIs for accessing QSYS objects.",
|
|
"version": "1.0.7-rest4i",
|
|
"contact": {
|
|
"name": "API Support",
|
|
"url": "https://github.com/rest4i"
|
|
},
|
|
"license": {
|
|
"name": "Apache 2.0",
|
|
"url": "https://www.apache.org/licenses/LICENSE-2.0.html"
|
|
}
|
|
},
|
|
"servers": [
|
|
{
|
|
"url": "/rest4i/api"
|
|
}
|
|
],
|
|
"tags": [
|
|
{
|
|
"name": "QSYS Services",
|
|
"description": "QSYS Services provide APIs for accessing QSYS objects."
|
|
}
|
|
],
|
|
"paths": {
|
|
"/v1/qsys/search/{objectName}": {
|
|
"get": {
|
|
"tags": ["QSYS Services"],
|
|
"summary": "Returns a list of QSYS.LIB objects that match the search criteria.",
|
|
"description": "Returns a list of QSYS.LIB objects that match the search criteria. The filter is the object name, and may be a value of *ALL, in which case all objects that match the search criteria is returned, or a generic name. A generic name is a character string that contains one or more characters followed by an asterisk (*). If a generic name is specified, all objects that have names with the same prefix as the generic name are returned.",
|
|
"operationId": "qsysGetQsysObjects",
|
|
"parameters": [
|
|
{
|
|
"name": "Authorization",
|
|
"in": "header",
|
|
"description": "The authorization HTTP header.",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "objectLibrary",
|
|
"in": "query",
|
|
"description": "The library or set of libraries that are searched for objects. Valid values are a specific name, or one of the following special values: *ALL - All libraries are searched. *ALLUSR - All user libraries are searched. *CURLIB - The current library is searched. *LIBL - The library list is searched. *USRLIBL - The user portion of the library list is searched.",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "*USRLIBL"
|
|
}
|
|
},
|
|
{
|
|
"name": "objectType",
|
|
"in": "query",
|
|
"description": "The type of object to search. Valid values include: *FILE, *PGM, *LIB, etc., or *ALL.",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "*ALL"
|
|
}
|
|
},
|
|
{
|
|
"name": "objectSubtype",
|
|
"in": "query",
|
|
"description": "Object subtype. For example, PF-SRC, PF-DTA, SAVF, etc., or *ALL. Note that not all objects have subtypes.",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "*ALL"
|
|
}
|
|
},
|
|
{
|
|
"name": "memberName",
|
|
"in": "query",
|
|
"description": "The member name to match for objects of type PF-SRC or PF-DTA. Valid values are a specific name, or an extended generic name where the asterisk (*) may be placed in any part of the name, or *ALL.",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"name": "memberType",
|
|
"in": "query",
|
|
"description": "The member type to match for members of objects of type PF-SRC or PF-DTA. Valid values are a specific name, such as C, CBLLE, RPGLE, SQLRPGLE, etc., or *ALL.",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "*ALL"
|
|
}
|
|
},
|
|
{
|
|
"name": "objectName",
|
|
"in": "path",
|
|
"description": "The object name. Valid values are a specific name, a generic name (for example, AM*), or one of the following special values: *ALL - All object names are searched. *ALLUSR - All objects that are libraries in QSYS or the library list are searched.",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Successful request.",
|
|
"content": {
|
|
"application/json": {
|
|
"example": {
|
|
"objects": [
|
|
{
|
|
"path": "/QSYS.LIB/USER1.LIB/AXISLIBS.FILE",
|
|
"description": "",
|
|
"isDir": false,
|
|
"subType": "SAVF"
|
|
},
|
|
{
|
|
"path": "/QSYS.LIB/USER1.LIB/DEALER.FILE",
|
|
"description": "",
|
|
"isDir": true,
|
|
"subType": "PF-DTA"
|
|
},
|
|
{
|
|
"path": "/QSYS.LIB/USER1.LIB/QCLSRC.FILE",
|
|
"description": "\"test\"",
|
|
"isDir": true,
|
|
"subType": "PF-SRC"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Problem"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized request was made.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Problem"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "The request is forbidden.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Problem"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "The specified resource was not found.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Problem"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Unable to process the request due to an internal server error.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Problem"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerHttpAuthentication": []
|
|
},
|
|
{
|
|
"basicHttpAuthentication": []
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"components": {
|
|
"schemas": {
|
|
"Problem": {
|
|
"type": "object",
|
|
"properties": {
|
|
"error": {
|
|
"type": "string"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"code": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"details": {
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"securitySchemes": {
|
|
"bearerHttpAuthentication": {
|
|
"type": "http",
|
|
"description": "Bearer token authentication.",
|
|
"scheme": "bearer",
|
|
"bearerFormat": "Bearer [token]"
|
|
},
|
|
"basicHttpAuthentication": {
|
|
"type": "http",
|
|
"description": "Basic authentication.",
|
|
"scheme": "basic"
|
|
}
|
|
}
|
|
}
|
|
}
|