Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 35 additions & 0 deletions certified-connectors/OpenLegacy IBM I (AS400)/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# OpenLegacy IBM i (AS400)
Build Flows that leverage your IBM i and other legacy systems. The OpenLegacy IBM i (AS400) connector provides bidirectional connectivity to your system’s data and business logic. You can now build Business Flows with information from your legacy environment through the OpenLegacy connector. This will enable you to utilize your legacy assets as digital components, providing you a Legacy Integration and Modernization Solution from Day 1. All OpenLegacy connectors provide access to various legacy systems through APIs deployed on OpenLegacy’s cloud or any other target deployment architecture you prefer- fully flexible, any on-prem to any cloud or digital platform.
## Publisher: OpenLegacy Technologies Inc. ​

## Prerequisites
* An API to your AS400 that is deployed on OpenLegacy Cloud or any other target.
* OpenLegacy Hub account.
* OpenLegacy Hub API keys.

## Supported Operations
The following operations were defined for the connector:
### GetAllProjects
(Internal) Gets a list of user's projects with contracts from the OpenLegacy Hub.
### GetMethodsForContract
(Internal) Gets a list of methods defined in the selected project.
### GetMethodOpenApiSpec
(Internal) Gets a Swagger 2 specification for the selected method.
### PerformRequest
Performs an HTTP request to the user's API. Main logic is controlled by C# script.

## Obtaining Credentials
Register to OpenLegacy Hub at https://hub.openlegacy.com.
To find your API Keys go to upper right-side menu, click on API Keys and copy the Account API Key and the Run Time API Key.

## Getting Started
OpenLegacy has prepared a demo AS400 project for you to use that will connect to our Demo Environment.
To meet your specific project requirements, an OpenLegacy team will build and manage the API to your AS400 according to your requirements.
Register to OpenLegacy Hub. One of our Customer Success representatives will contact you for any questions.
Follow the instructions below to import the AS400 demo project.Click on Projects->Import from Solution Center.
In the Filter Data Field type “IBMi” and select IBMi COBOL Insurance Policies Demo. The Demo project will be imported.
Follow the instructions provided in this [video](https://youtu.be/u6VaH4yHO7E).<br/>
Contact OpenLegacy at https://www.openlegacy.com/company/support for any question.

## Deployment Instructions
Please use [these instructions](https://docs.microsoft.com/en-us/connectors/custom-connectors/paconn-cli) to deploy this connector as a custom connector within Microsoft Power Automate and Power Apps.
Original file line number Diff line number Diff line change
@@ -0,0 +1,318 @@
{
"swagger": "2.0",
"info": {
"title": "OpenLegacy IBM I (AS400)",
"description": "OpenLegacy IBM i (AS400) connector provides bidirectional connectivity to your system’s data and business logic through APIs deployed on OpenLegacy’s cloud or any other target deployment. You can now build Business Flows with information from your legacy environment using the OpenLegacy connector. This will enable you to utilize your legacy assets as digital components, providing you a legacy integration and modernization solution from Day 1.",
"version": "1.0.0",
"contact": {
"name": "OpenLegacy Support",
"url": "https://www.openlegacy.com/company/support",
"email": "support@openlegacy.com"
}
},
"host": "api.ol-hub.com",
"basePath": "/backend",
"schemes": [
"https"
],
"x-ms-connector-metadata": [
{
"propertyName": "Website",
"propertyValue": "https://www.openlegacy.com"
},
{
"propertyName": "Privacy policy",
"propertyValue": "https://www.openlegacy.com/privacy-policy"
},
{
"propertyName": "Categories",
"propertyValue": "Business Management; Data"
}
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"paths": {
"/api/v1/projects": {
"get": {
"summary": "Get All Projects",
"operationId": "GetAllProjects",
"x-ms-visibility": "internal",
"parameters": [
{
"name": "with_contracts",
"type": "boolean",
"in": "query",
"default": true,
"x-ms-visibility": "internal",
"x-ms-summary": "Determines that Contract ID must be included in the response.",
"description": "Determines that Contract ID must be included in the response.",
"required": true
}
],
"description": "Returns a list of user's projects",
"responses": {
"200": {
"description": "default",
"schema": {
"$ref": "#/definitions/GetAllProjectsResponse"
}
}
}
}
},
"/api/v1/methods": {
"get": {
"summary": "Get Methods for Contract",
"operationId": "GetMethodsForContract",
"description": "Get a list of methods by Contract ID",
"parameters": [
{
"name": "contractId",
"in": "query",
"required": true,
"type": "string",
"x-ms-summary": "The Contract ID selected by user.",
"description": "The Contract ID selected by user."
},
{
"name": "enrichmentType",
"in": "query",
"default": "HTTP",
"type": "string",
"x-ms-visibility": "internal",
"x-ms-summary": "Determines the type of enrichment metadata to be included in the response.",
"description": "Determines the type of enrichment metadata to be included in the response.",
"required": true
}
],
"x-ms-visibility": "internal",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetMethodsForContractResponse"
}
}
}
}
},
"/api/v1/partners/method-swagger-by-id/{methodId}": {
"get": {
"summary": "Get Method Open Api Spec",
"operationId": "GetMethodOpenApiSpec",
"description": "Get a method OpenApi specification",
"parameters": [
{
"name": "methodId",
"in": "path",
"required": true,
"type": "string",
"x-ms-url-encoding": "single",
"x-ms-summary": "Method ID for which an OpenApi specification must be returned.",
"description": "Method ID for which an OpenApi specification must be returned."
}
],
"x-ms-visibility": "internal",
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "object",
"properties": {
"flow-input": {
"type": "object"
},
"flow-output": {
"type": "object"
}
}
}
}
}
}
},
"/dummy": {
"post": {
"summary": "Perform Request",
"operationId": "PerformRequest",
"description": "Perform HTTP request to User's API",
"parameters": [
{
"name": "project",
"in": "query",
"type": "string",
"required": true,
"description": "Select Project",
"x-ms-summary": "Select Project",
"x-ms-dynamic-values": {
"operationId": "GetAllProjects",
"value-collection": "elements",
"value-path": "additionalInfo/contractId",
"value-title": "name"
}
},
{
"name": "method",
"in": "query",
"type": "string",
"required": true,
"description": "Select Method",
"x-ms-summary": "Select Method",
"x-ms-dynamic-values": {
"operationId": "GetMethodsForContract",
"value-collection": "elements",
"value-path": "id",
"value-title": "combinedRoute",
"parameters": {
"contractId": {
"parameter": "project"
}
}
}
},
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"type": "object",
"x-ms-dynamic-schema": {
"operationId": "GetMethodOpenApiSpec",
"parameters": {
"methodId": {
"parameter": "method"
}
},
"value-path": "flow-input"
}
},
"x-ms-summary": "Dynamic Schema",
"description": "Dynamic Schema"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/DynamicSchemaResponse"
}
}
},
"x-ms-visibility": "important"
}
}
},
"definitions": {
"DynamicSchemaResponse": {
"type": "object",
"x-ms-dynamic-schema": {
"operationId": "GetMethodOpenApiSpec",
"parameters": {
"methodId": {
"parameter": "method"
}
},
"value-path": "flow-output"
}
},
"GetAllProjectsResponse": {
"type": "object",
"properties": {
"elements": {
"type": "array",
"items": {
"type": "object",
"properties": {
"additionalInfo": {
"type": "object",
"x-ms-visibility": "internal",
"properties": {
"contractId": {
"type": "string",
"description": "contract id",
"title": "contractId",
"x-ms-visibility": "internal"
}
},
"required": [
"contractId"
]
},
"name": {
"type": "string",
"description": "project name",
"title": "name",
"x-ms-visibility": "internal"
}
},
"required": [
"additionalInfo",
"name"
]
},
"description": "elements"
}
}
},
"GetMethodsForContractResponse": {
"type": "object",
"properties": {
"elements": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "method id",
"title": "id",
"x-ms-visibility": "internal"
},
"enrichment": {
"type": "object",
"x-ms-visibility": "internal",
"properties": {
"routingKey": {
"type": "string",
"description": "method name",
"title": "routingKey",
"x-ms-visibility": "internal"
}
},
"required": [
"routingKey"
]
},
"combinedRoute": {
"type": "string",
"description": "created by policy",
"title": "combinedRoute",
"x-ms-visibility": "internal"
}
},
"required": [
"id",
"enrichment"
]
},
"description": "elements"
}
}
}
},
"parameters": {},
"responses": {},
"securityDefinitions": {
"api_key": {
"type": "apiKey",
"in": "header",
"name": "x-api-key"
}
},
"security": [],
"tags": []
}
Loading