UNPKG

@itentialopensource/adapter-alkira

Version:

This adapter integrates with system described as: alkiraApi.

1,793 lines 1.62 MB
{ "id": "@itentialopensource/adapter-alkira", "type": "Adapter", "export": "Alkira", "title": "Alkira", "src": "adapter.js", "roles": [ "admin" ], "methods": [ { "name": "iapUpdateAdapterConfiguration", "summary": "Updates the adapter configuration", "description": "Updates the adapter configuration file with the provided changes", "input": [ { "name": "configFile", "type": "string", "info": "The name of the file to change", "required": true, "schema": { "title": "configFile", "type": "string" } }, { "name": "changes", "type": "object", "info": "JSON object containing the configuration changes", "required": true, "schema": { "title": "changes", "type": "object" } }, { "name": "entity", "type": "string", "info": "The entity in which the changes are being made", "required": false, "schema": { "title": "entity", "type": "string" } }, { "name": "type", "type": "string", "info": "The type of file to change - action, schema, or mock", "required": false, "schema": { "title": "type", "type": "string" } }, { "name": "action", "type": "string", "info": "The action to be changed", "required": false, "schema": { "title": "action", "type": "string" } }, { "name" : "replace", "type": "boolean", "info": "True to replace entire mock data, false to merge/append", "required": false, "schema": { "title": "replace", "type" : "boolean" } } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/iapUpdateAdapterConfiguration" }, "task": true }, { "name": "iapSuspendAdapter", "summary": "Suspends the adapter", "description": "Suspends the adapter", "input": [ { "name": "mode", "type": "enum", "enumerals": [ "pause", "error" ], "info": "How incoming requests are handled. Defaults to 'pause'", "description": "How incoming requests are handled. Defaults to 'pause'", "schema": { "title": "mode", "type": "string" }, "required": false } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing the adapter suspended status", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/iapSuspendAdapter" }, "task": true }, { "name": "iapUnsuspendAdapter", "summary": "Unsuspends the adapter", "description": "Unsuspends the adapter", "input": [], "output": { "name": "result", "type": "object", "description": "A JSON Object containing the adapter suspended status", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/iapUnsuspendAdapter" }, "task": true }, { "name": "iapGetAdapterQueue", "summary": "Return the requests that are waiting in the queue if throttling is enabled", "description": "Return the requests that are waiting in the queue if throttling is enabled", "input": [], "output": { "name": "result", "type": "object", "description": "A JSON Object containing the adapter queue", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/iapGetAdapterQueue" }, "task": true }, { "name": "iapFindAdapterPath", "summary": "Provides the ability to see if a particular API path is supported by the adapter", "description": "Provides the ability to see if a particular API path is supported by the adapter", "input": [ { "name": "apiPath", "type": "string", "info": "The API Path you want to check - make sure to not include base path and version", "description": "The API Path you want to check - make sure to not include base path and version", "schema": { "title": "apiPath", "type": "string" }, "required": true } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing the result", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/iapFindAdapterPath" }, "task": true }, { "name": "iapTroubleshootAdapter", "summary": "Runs troubleshoot script for adapter", "description": "Runs troubleshoot script for adapter", "input": [ { "name": "props", "type": "object", "info": "Object containing configuration, healthcheck and auth properties {'connProps':{'host': 'api.service.com', 'base_path': '/', 'protocol': 'http', 'port': 443, 'version': 'v1'},'healthCheckEndpoint': '/healthcheck', 'auth': {'auth_method': 'no authentication', 'username': 'username', 'password': 'password'}}", "required": true, "schema": { "title": "props", "type": "object" } } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing the test results", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/iapTroubleshootAdapter" }, "task": true }, { "name": "iapRunAdapterHealthcheck", "summary": "Runs healthcheck script for adapter", "description": "Runs healthcheck script for adapter", "input": [], "output": { "name": "result", "type": "boolean", "description": "Whether healthcheck passed or failed", "schema": { "title": "result", "type": "boolean" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/iapRunAdapterHealthcheck" }, "task": true }, { "name": "iapRunAdapterConnectivity", "summary": "Runs connectivity check script for adapter", "description": "Runs connectivity check script for adapter", "input": [], "output": { "name": "result", "type": "object", "description": "A JSON Object containing the test results", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/iapRunAdapterConnectivity" }, "task": true }, { "name": "iapRunAdapterBasicGet", "summary": "Runs basicGet script for adapter", "description": "Runs basicGet script for adapter", "input": [ { "name": "maxCalls", "required": false, "type": "number", "info": "How many GET endpoints to test (defaults to 5)", "schema": { "title": "maxCalls", "type": "number", "default": 5 } } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing the test results", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/iapRunAdapterBasicGet" }, "task": true }, { "name": "iapMoveAdapterEntitiesToDB", "summary": "Moves entities from an adapter into the Itential Platform database", "description": "Moves entities from an adapter into the Itential Platform database", "input": [], "output": { "name": "res", "type": "object", "description": "A JSON Object containing status, code and the response from the mongo transaction", "schema": { "title": "res", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/iapMoveAdapterEntitiesToDB" }, "task": true }, { "name": "iapDeactivateTasks", "summary": "Deactivate the inputted tasks", "description": "Deactivate the inputted tasks", "input": [ { "name": "tasks", "type": "array", "description": "Tasks to deactivate", "schema": { "title": "tasks", "type": "array" } } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing success status", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/iapDeactivateTasks" }, "task": true }, { "name": "iapActivateTasks", "summary": "Activate the inputted tasks", "description": "activate the inputted tasks", "input": [ { "name": "tasks", "type": "array", "description": "Tasks to activate", "schema": { "title": "tasks", "type": "array" } } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing success status", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/iapActivateTasks" }, "task": true }, { "name": "iapPopulateEntityCache", "summary": "Populate the cache for the given entities", "description": "Populate the cache for the given entities", "input": [ { "name": "entityTypes", "type": "array", "info": "the entity type(s) to populate", "required": true, "schema": { "title": "entityTypes", "type": "array" } } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/iapPopulateEntityCache" }, "task": true }, { "name": "iapRetrieveEntitiesCache", "summary": "Retrieves data from cache for specified entity type", "description": "Retrieves data from cache for specified entity type", "input": [ { "name": "entityType", "type": "string", "info": "entity of which to retrieve", "required": true, "schema": { "title": "entityType", "type": "string" } }, { "name": "options", "type": "object", "info": "settings of which data to return and how to return it", "required": false, "schema": { "title": "options", "type": "object" } } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/iapRetrieveEntitiesCache" }, "task": true }, { "name": "getDevice", "summary": "Get the Appliance", "description": "Get the Appliance", "input": [ { "name": "deviceName", "type": "string", "info": "An Appliance Device Name", "required": true, "schema": { "title": "deviceName", "type": "string" } } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/getDevice" }, "task": false }, { "name": "getDevicesFiltered", "summary": "Get Appliances that match the filter", "description": "Get Appliances that match the filter", "input": [ { "name": "options", "type": "object", "info": "options - e.g. { 'start': 1, 'limit': 20, 'filter': { 'name': 'abc123' } }", "required": true, "schema": { "title": "options", "type": "object" } } ], "output": { "name": "result", "type": "array", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "array" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/getDevicesFiltered" }, "task": false }, { "name": "isAlive", "summary": "Checks the status for the provided Appliance", "description": "Checks the status for the provided Appliance", "input": [ { "name": "deviceName", "type": "string", "info": "An Appliance Device Name", "required": true, "schema": { "title": "deviceName", "type": "string" } } ], "output": { "name": "result", "type": "boolean", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "boolean" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/isAlive" }, "task": false }, { "name": "getConfig", "summary": "Gets a config for the provided Appliance", "description": "Gets a config for the provided Appliance", "input": [ { "name": "deviceName", "type": "string", "info": "An Appliance Device Name", "required": true, "schema": { "title": "deviceName", "type": "string" } }, { "name": "format", "type": "string", "info": "The format to be returned - this is ignored as we always return json", "required": false, "schema": { "title": "format", "type": "string" } } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/getConfig" }, "task": false }, { "name": "iapGetDeviceCount", "summary": "Gets a device count from the system", "description": "Gets a device count from the system", "input": [], "output": { "name": "result", "type": "object", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/iapGetDeviceCount" }, "task": false }, { "name": "iapExpandedGenericAdapterRequest", "summary": "Makes the requested generic call with additional options", "description": "Makes the requested generic call with additional options via metadata", "input": [ { "name": "metadata", "type": "object", "info": "metadata for the call (optional)", "description": "metadata for the call - allows for many enhancements (optional)", "schema": { "title": "metadata", "type": "object" }, "required": false }, { "name": "uriPath", "type": "string", "info": "the path of the api call - do not include the host, port, base path or version", "description": "the path of the api call", "schema": { "title": "uriPath", "type": "string" }, "required": false }, { "name": "restMethod", "type": "string", "info": "the rest method (GET, POST, PUT, PATCH, DELETE)", "description": "the rest method (GET, POST, PUT, PATCH, DELETE)", "schema": { "title": "restMethod", "type": "string" }, "required": false }, { "name": "pathVars", "type": "object", "info": "the parameters to be put within the url path (optional)", "description": "the parameters to be put within the url path (optional)", "schema": { "title": "pathVars", "type": "object" }, "required": false }, { "name": "queryData", "type": "object", "info": "the query parameters to be put on the url (optional)", "description": "the query parameters to be put on the url (optional)", "schema": { "title": "queryData", "type": "object" }, "required": false }, { "name": "requestBody", "type": "object", "info": "the payload to be sent with the request (optional)", "description": "the payload to be sent with the request (optional)", "schema": { "title": "requestBody", "type": "object" }, "required": false }, { "name": "addlHeaders", "type": "object", "info": "additional headers to be put on the call (optional)", "description": "additional headers to be put on the call (optional)", "schema": { "title": "addlHeaders", "type": "object" }, "required": false } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/iapExpandedGenericAdapterRequest" }, "task": true }, { "name": "genericAdapterRequest", "summary": "Makes the requested generic call", "description": "Makes the requested generic call", "input": [ { "name": "uriPath", "type": "string", "info": "the path of the api call - do not include the host, port, base path or version", "description": "the path of the api call", "schema": { "title": "uriPath", "type": "string" }, "required": true }, { "name": "restMethod", "type": "string", "info": "the rest method (GET, POST, PUT, PATCH, DELETE)", "description": "the rest method (GET, POST, PUT, PATCH, DELETE)", "schema": { "title": "restMethod", "type": "string" }, "required": true }, { "name": "queryData", "type": "object", "info": "the query parameters to be put on the url (optional)", "description": "the query parameters to be put on the url (optional)", "schema": { "title": "queryData", "type": "object" }, "required": false }, { "name": "requestBody", "type": "object", "info": "the payload to be sent with the request (optional)", "description": "the payload to be sent with the request (optional)", "schema": { "title": "requestBody", "type": "object" }, "required": false }, { "name": "addlHeaders", "type": "object", "info": "additional headers to be put on the call (optional)", "description": "additional headers to be put on the call (optional)", "schema": { "title": "addlHeaders", "type": "object" }, "required": false } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/genericAdapterRequest" }, "task": true }, { "name": "genericAdapterRequestNoBasePath", "summary": "Makes the requested generic call", "description": "Makes the requested generic call", "input": [ { "name": "uriPath", "type": "string", "info": "the path of the api call - do not include the host, port, base path or version", "description": "the path of the api call", "schema": { "title": "uriPath", "type": "string" }, "required": true }, { "name": "restMethod", "type": "string", "info": "the rest method (GET, POST, PUT, PATCH, DELETE)", "description": "the rest method (GET, POST, PUT, PATCH, DELETE)", "schema": { "title": "restMethod", "type": "string" }, "required": true }, { "name": "queryData", "type": "object", "info": "the query parameters to be put on the url (optional)", "description": "the query parameters to be put on the url (optional)", "schema": { "title": "queryData", "type": "object" }, "required": false }, { "name": "requestBody", "type": "object", "info": "the payload to be sent with the request (optional)", "description": "the payload to be sent with the request (optional)", "schema": { "title": "requestBody", "type": "object" }, "required": false }, { "name": "addlHeaders", "type": "object", "info": "additional headers to be put on the call (optional)", "description": "additional headers to be put on the call (optional)", "schema": { "title": "addlHeaders", "type": "object" }, "required": false } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/genericAdapterRequestNoBasePath" }, "task": true }, { "name": "iapRunAdapterLint", "summary": "Run the adapter lint script to return the results", "description": "Run the adapter lint script to return the results", "input": [], "output": { "name": "result", "type": "string", "description": "A string containing the run results", "schema": { "title": "result", "type": "string" } }, "roles": [ "admin" ], "route": { "verb": "GET", "path": "/iapRunAdapterLint" }, "task": true }, { "name": "iapRunAdapterTests", "summary": "Run the adapter test scripts (baseunit and unit) to return the results", "description": "Run the adapter test scripts (baseunit and unit) to return the results", "input": [], "output": { "name": "result", "type": "object", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "GET", "path": "/iapRunAdapterTests" }, "task": true }, { "name": "iapGetAdapterInventory", "summary": "Provide inventory information abbout the adapter", "description": "Provide inventory information abbout the adapter", "input": [], "output": { "name": "result", "type": "object", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "GET", "path": "/iapGetAdapterInventory" }, "task": true }, { "name": "loginUsersUsingPOST", "summary": "loginUsersUsingPOST", "description": "Login a User", "input": [ { "name": "body", "type": "object", "info": "credentials: object", "required": true, "schema": { "allOf": [ { "type": "object" }, { "description": "credentials" } ], "definitions": {} } } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/loginUsersUsingPOST" }, "task": true }, { "name": "logoutUsersUsingPOST", "summary": "logoutUsersUsingPOST", "description": "Logout the User", "input": [ { "name": "name", "type": "string", "info": ": string", "required": false, "schema": { "title": "name", "type": "string" } }, { "name": "body", "type": "object", "info": "token: object", "required": true, "schema": { "allOf": [ { "type": "object" }, { "description": "token" } ], "definitions": {} } } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/logoutUsersUsingPOST" }, "task": true }, { "name": "postLogin", "summary": "login", "description": "Login a user and create a session", "input": [ { "name": "body", "type": "object", "info": "Authenication Credentials: object", "required": true, "schema": { "allOf": [ { "type": "object" }, { "description": "Authenication Credentials" } ], "definitions": {} } } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/postLogin" }, "task": true }, { "name": "oauthLogin", "summary": "oauthLogin", "description": "Login a user with OAuth authentication token and create a session", "input": [ { "name": "body", "type": "object", "info": "OAuth Authenication Token: object", "required": true, "schema": { "allOf": [ { "type": "object" }, { "description": "OAuth Authenication Token" } ], "definitions": {} } } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/oauthLogin" }, "task": true }, { "name": "getLogout", "summary": "logout", "description": "Logout a user from a session", "input": [], "output": { "name": "result", "type": "object", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "GET", "path": "/getLogout" }, "task": true }, { "name": "createSession", "summary": "createSession", "description": "Creates a new session", "input": [ { "name": "body", "type": "object", "info": "A valid 'AuthenticationToken' obtained using the Login API: object", "required": true, "schema": { "allOf": [ { "type": "object" }, { "description": "A valid 'AuthenticationToken' obtained using the Login API" } ], "definitions": {} } } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/createSession" }, "task": true }, { "name": "deleteSession", "summary": "deleteSession", "description": "Delete the session", "input": [], "output": { "name": "result", "type": "object", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "GET", "path": "/deleteSession" }, "task": true }, { "name": "otpLogin", "summary": "otpLogin", "description": "Login a user with a One Time Password and create a session", "input": [ { "name": "otp", "type": "string", "info": "The one time password used to log in: string", "required": true, "schema": { "title": "otp", "type": "string" } } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/otpLogin" }, "task": true }, { "name": "getsegments", "summary": "getsegments", "description": "Get a list of all Segments", "input": [ { "name": "tenantNetworkId", "type": "number", "info": "The id of the tenant network: 123", "required": true, "schema": { "title": "tenantNetworkId", "type": "number" } } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing status, code and the result", "schema": { "type": "array", "items": { "title": "Segment", "required": [ "ipBlock", "name", "asn" ], "type": "object", "properties": { "id": { "type": "integer", "description": "The id of segment", "readOnly": true, "example": 112 }, "tenantId": { "type": "integer", "description": "The id of the tenant", "example": 2 }, "tenantNetworkId": { "type": "integer", "description": "The id of the network", "example": 2 }, "internalName": { "type": "string", "description": "A unique internal name which serves as a unique identifier of the segment", "readOnly": true, "example": "rock-0000001-01" }, "ipBlock": { "type": "string", "example": "10.255.254.0/24" }, "ipBlocks": { "title": "IpBlocks", "type": "object", "properties": { "values": { "maxItems": 10, "uniqueItems": true, "type": "array", "items": { "type": "string" }, "description": "List of IP blocks.", "example": [ "10.255.254.0/24", "192.168.1.0/24" ] }, "percentageIPBlocksUsed": { "multipleOf": 0.01, "type": "number", "description": "This is the percentage of IPs used up from across all the IP blocks defined. It is an aggregate value. Values range from 0 to 100. Provisioning will be disabled if the usage exceeds 95%.", "readOnly": true, "example": 0.45 } } }, "name": { "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9.@_+%-]*$", "type": "string", "description": "The name of the segment. Segment names cannot contain any leading/trailing spaces however names are case sensitive as for all other names in the Alkira system. It is recommended that when choosing segment names mixed case names are not selected.", "example": "rock" }, "segmentNo": { "type": "integer", "description": "The segmentNo is a short tenant specific identifier for the segment (versus id which is a system wide indentifier)", "readOnly": true, "example": 1 }, "services": { "type": "array", "items": { "type": "integer" }, "description": "An array containing the ids of the services associated with the segment", "readOnly": true, "example": [ 1, 2, 3, 4 ] }, "connectors": { "type": "array", "items": { "type": "integer" }, "description": "An array containing the ids of the connectors associated with the segment", "readOnly": true, "example": [ 1, 2, 3, 4 ] }, "asn": { "maximum": 65514, "minimum": 65001, "type": "integer", "description": "The autonomous system number (ASN)", "example": 65002 }, "state": { "allOf": [ {}, { "description": "ProvisionedState is applicable to various entities like TenantNetwork, Connector, Service and so on. It represents the provisioning status of the entity." } ], "readOnly": true }, "enterpriseDNSServerIP": { "type": "string", "description": "The IP of the DNS server used within the segment. This DNS server may be used by the Alkira CXP to resolve the names of LDAP servers for example which are configured on the Remote Access Connector.", "example": "8.8.8.8" }, "reservePublicIPsForUserAndSiteConnectivity": { "type": "boolean", "description": "When the reservePublicIPsForUserAndSiteConnectivity Alkira reserves IPs which can be used to create underlay tunnels between an external service and Alkira. For example the reserved IPs may be used to create tunnels to the Akamai Prolexic service.", "default": false, "example": true }, "reservedPublicIPsForUserAndSiteConnectivity": { "type": "object", "additionalProperties": {}, "description": "A map of CXPs to the public IPs reserved for those CXPs for this segment. For example if the network was configured with 2 CXPs then this map would contain two entries, one per CXP. The number of public IPs reserved depends on whether HA is enabled or not. If HA is not enabled only one IP will be reserved otherwise 2 will be reserved.", "readOnly": true, "example": { "US-WEST": [ "172.168.1.1", "172.168.1.2" ], "US-EAST": [ "174.168.1.1", "174.168.1.2" ] } }, "enableIpv6ToIpv4Translation": { "type": "boolean", "description": "Flag to enable IPv6 to IPv4 translation in the segment for Internet Facing Application traffic.", "default": false, "example": true }, "srcIpv4PoolList": { "maxItems": 1, "type": "array", "items": { "title": "SrcIpv4PoolList", "type": "object", "properties": { "startIp": { "type": "string", "description": "Starting pool IP", "example": "10.2.1.0" }, "endIp": { "type": "string", "description": "Ending pool IP", "example": "10.2.2.0" } } }, "description": "IPv4 pool of addresses that will be used as source address for translated IPv4 packets." }, "lastConfigUpdatedAt": { "type": "integer", "description": "The epoch time in milliseconds when the segment was last updated", "example": 16415804051010 } } }, "description": "" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/getsegments" }, "task": true }, { "name": "createSegment", "summary": "createSegment", "description": "Creates a new Segment.", "input": [ { "name": "tenantNetworkId", "type": "number", "info": "The id of the tenant network: 123", "required": true, "schema": { "title": "tenantNetworkId", "type": "number" } }, { "name": "body", "type": "object", "info": "A new `Segment` to be created.: object", "required": true, "schema": { "allOf": [ { "type": "object" }, { "description": "A new `Segment` to be created." } ], "definitions": {} } } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/createSegment" }, "task": true }, { "name": "getSegment", "summary": "getSegment", "description": "Gets the details of a single Segment", "input": [ { "name": "tenantNetworkId", "type": "number", "info": "The id of the tenant network: 123", "required": true, "schema": { "title": "tenantNetworkId", "type": "number" } }, { "name": "segmentId", "type": "number", "info": "A unique identifier for a 'Segment': 123", "required": true, "schema": { "title": "segmentId", "type": "number" } } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/getSegment" }, "task": true }, { "name": "updateSegment", "summary": "updateSegment", "description": "Updates an existing Segment", "input": [ { "name": "tenantNetworkId", "type": "number", "info": "The id of the tenant network: 123", "required": true, "schema": { "title": "tenantNetworkId", "type": "number" } }, { "name": "segmentId", "type": "number", "info": "A unique identifier for a 'Segment': 123", "required": true, "schema": { "title": "segmentId", "type": "number" } }, { "name": "body", "type": "object", "info": "Updated `Segment` information.: object", "required": true, "schema": { "allOf": [ { "type": "object" }, { "description": "Updated `Segment` information." } ], "definitions": {} } } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/updateSegment" }, "task": true }, { "name": "deleteSegment", "summary": "deleteSegment", "description": "Deletes an existing Segment.", "input": [ { "name": "tenantNetworkId", "type": "number", "info": "The id of the tenant network: 123", "required": true, "schema": { "title": "tenantNetworkId", "type": "number" } }, { "name": "segmentId", "type": "number", "info": "A unique identifier for a 'Segment': 123", "required": true, "schema": { "title": "segmentId", "type": "number" } } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/deleteSegment" }, "task": true }, { "name": "getgroups", "summary": "getgroups", "description": "Gets a list of all `groups` entities.", "input": [ { "name": "tenantNetworkId", "type": "number", "info": "A unique identifier for a 'Network': 123", "required": true, "schema": { "title": "tenantNetworkId", "type": "number" } }, { "name": "segmentId", "type": "number", "info": "filter groups which are associated with a specific segment. When only segmentId is passed as a query param the Groups that are returned are of type IMPLICIT/EXPLICIT wher...(description truncated): 123", "required": false, "schema": { "title": "segmentId", "type": "number" } }, { "name": "serviceId", "type": "number", "info": "filter groups which are applicable to zones. When serviceId is passed as a query param, segmentId MUST also be passed. Filtering groups by serviceId and segmentId returns...(description truncated): 123", "required": false, "schema": { "title": "serviceId", "type": "number" } }, { "name": "groupTypes", "type": "array", "info": "The specific types of groups to filter on: array", "required": false, "schema": { "title": "groupTypes", "type": "array" } } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing status, code and the result", "schema": { "type": "array", "items": { "title": "RootTypeforgroups", "type": "object", "properties": { "id": { "type": "integer", "description": "The id of group", "readOnly": true }, "tenantId": { "type": "integer", "description": "The id of the tenant" }, "tenantNetworkId": { "type": "integer", "description": "The id of the network" }, "description": { "type": "string", "description": "A user provided description of the group" }, "encodedTags": { "type": "array", "items": { "type": "string" }, "description": "", "readOnly": true }, "firewallZoneIds": { "type": "array", "items": { "type": "integer" }, "description": "An array containing ids of the zones that are associated with the group", "readOnly": true }, "internalName": { "type":