Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Anchor
Top
Top

Info
titleBase URL for Environment REST API

http://host:port/flexdeploy/rest/topology/endpoint

Jump To:


...


Anchor
Overview
Overview

Overview:

Endpoints can be accessed and modified through this API using four services: GET, POST, PUT, and PATCH. These four services allow for the retrieval, creation, complete update, and partial update of Endpoints.

You can find more information about the REST API functions on the Topology REST API page.  

Each function returns a JSON Endpoint object. An Endpoint object has these attributes:

AttributesTypeDescription
DescriptionStringThis is a description of the Endpoint.
Connection TypeString

This specifies the connection Type.

MANDATORY: "SSH" or "LOCALHOST"

isActiveBooleanThis is a Boolean that tracks whether or not the Endpoint is active. 
Endpoint AddressStringThis is a String associated with the address of the endpoint.
Endpoint PortString

This is a port associated with an SSH connection.

DEPENDENT: Mandatory when connectionType is "SSH", otherwise not used.

Endpoint IdLongThis is a number associated with the identification number of an existing Endpoint.
PasswordString

This is a character sequence used to access the corresponding remote connection.

DEPENDENT: mandatory when connectionType is "SSH" otherwise not used.

Endpoint NameString

This is the unique name of the corresponding Endpoint.

UNIQUE

Private KeyString

This is a character sequence associated with the corresponding remote connection.

DEPENDENT: Mandatory when connectionType is "SSH" otherwise not used.

OS TypeString

This is a character sequence which corresponds to the operating system type used in the corresponding remote connection.

DEPENDENT: Mandatory when connectionType is "SSH" otherwise not used.

Base DirectoryString

This is a character sequence which corresponds to the base directory of the corresponding Endpoint.

MANDATORY

Endpoint Sub GroupStringThis is a character sequence associated with this Endpoint's corresponding sub-group.
PassphraseString

This is a character sequence associated with the correspond remote connection.

DEPENDENT: Mandatory when connectionType is "SSH" otherwise not used.

Java PathString

This is a character sequence that specifies the java path of the corresponding Endpoint.

MANDATORY

Run As User NameString

This is a character sequence that specifies the runAsUserName variable.

Dependent: Mandatory when connection Type is "SSH" otherwise not used.

Back to Top

...

Anchor
GET
GET

GET

There are two implementations of GET. One will find an Endpoint with the given Id and return the JSON representation of the Endpoint. The other will find a list of Endpoints matching the parameters supplied to it.

...

Info
titleAPI URL

http://host:port/flexdeploy/rest/topology/endpoint/{Id}

Parameters


Parameter
Required
Type
Description
IdYesURLThis is a URL parameter for the Id which is used to find and return an Endpoint


TODO: return codes table for each method and add parameter tables to PATCH etc.

Expand
titleGet by ID Example
Remote Connection Example:

output when the Id parameter specified is 13910 and the corresponding Endpoint is remotely connected (SSH).

Endpoint 13910

{

"password": "*****",
"description": "description",
"userName": "userName",
"privateKey": "privateKey",
"isActive": true,
"baseDirectory": "ServerInstallRoot + '/localhost'",
"endpointName": "GOODPOST1",
"connectionType": "SSH",
"endpointAddress": "NotNeeded00",
"endpointId": 13910,
"endpointSubgroup": "subGroupTester",
"endpointPort": "1",
"endpointGroup": "endpointGroup",
"runAsUserName": "TestInput",
"osType": "UNIX",
"javaPath": "ServerJavaHome",
"passphrase": "*****"

}

note:password and passphrase are always "*****" for security reasons if not null.

Local Connection Example:

Output when the connection type is LOCALHOST and the Id parameter specified is 13911.

Endpoint 13909

{

"password": null,
"description": "description",
"userName": null,
"privateKey": null,
"isActive": true,
"baseDirectory": "ServerInstallRoot + '/localhost'",
"endpointName": "GOODPOST2",
"connectionType": "LOCALHOST",
"endpointAddress": "localhost",
"endpointId": 13911,
"endpointSubgroup": "endpointSubgroup",
"endpointPort": null,
"endpointGroup": "endpointGroup",
"runAsUserName": null,
"osType": null,
"javaPath": "ServerJavaHome",
"passphrase": null

}



Back to Top

GET by Query Parameters

This GET service will return a list of Endpoints in the form of JSON objects based on the query parameters name, address, group and subgroup. Endpoints are only returned if they match ALL of the specified query parameters. If no query parameters are given this request will return the entire list of Endpoints.

Info
titleAPI URL

http://host:port/flexdeploy/rest/topology/endpoint?

Append the following character sequences to the above URL to specify Query parameters.
Use '&' between successive query parameters: 

name={name}

address={address}

group={group}

subgroup={subgroup}

Examples:
To Specify the name parameter only:

http://host:port/flexdeploy/rest/topology/endpoint?name={name}

To Specify the name and group parameters:

http://host:port/flexdeploy/rest/topology/endpoint?name={name}&group={group}

To Specify the name, address and group parameters:

http://host:port/flexdeploy/rest/topology/endpoint?name={name}&address={address}&group={group}

...

{
Info
titleAPI URL

http://host:port/flexdeploy/rest/topology/endpoint

Code Block
titleSample JSON Request

Parameters


AttributesTypeDescription







Expand
titlePOST Example


JSON POST Input

{

"password": "myPassword",
"description":

...

"description",

...


"userName":

...

"userName",
"privateKey": "privateKey",
"isActive":

...

true,

...


"baseDirectory": "ServerInstallRoot + '/localhost'",
"endpointName":

...

"

...

GoodPost",

...

Expand
titlePOST Example
JSON POST Input

{

"password": "myPassword
"connectionType": "SSH",
"endpointAddress": "NotNeeded00",
"endpointId": null,
"endpointSubgroup": "subGroupTester",
"endpointPort": "1",
"endpointGroup": "endpointGroup",
"runAsUserName": "TestInput",
"osType": "UNIX",
"javaPath": "ServerJavaHome",
"passphrase": "myPassphrase"

}

Endpoint with Endpoint Id 13922 created.

GET - 13922

{

"password": "*****",
"description": "description",
"userName": "userName",
"privateKey": "privateKey",
"isActive": true,
"baseDirectory": "ServerInstallRoot + '/localhost'",
"endpointName": "GoodPost",
"connectionType": "SSH",
"endpointAddress": "NotNeeded00",
"endpointId": null13922,
"endpointSubgroup": "subGroupTester",
"endpointPort": "1",
"endpointGroup": "endpointGroup",
"runAsUserName": "TestInput",
"osType": "UNIX",
"javaPath": "ServerJavaHome",
"passphrase": "myPassphrase*****"

}




Back to Top


Anchor
PUT
PUT

PUT

This PUT service will update all attributes of an Endpoint with

...

{

...

the given Id based on the attributes of a JSON objects parameter values.







Info
titleAPI URL

http://host:port/flexdeploy/rest/topology/endpoint/{Id}


Code Block
titleSample JSON Request
{
   "description": "description",


   "userName": "userName",

"privateKey

   "password": "
privateKey
password",


   "isActive": true,

"baseDirectory

   "privateKey":
"ServerInstallRoot + '/localhost'",
 "privateKey",
   "endpointName":
"GoodPost",
 "GoodPost3",
   "osType": null,
   "connectionType": "SSH",

"endpointAddress

   "javaPath": "
NotNeeded00
ServerJavaHome",

"endpointId

   "endpointAddress":
13922,
"endpointSubgroup
 "endpointAddress",
   "baseDirectory":
"subGroupTester",
"endpointPort": "1",
"endpointGroup": "endpointGroup",
"runAsUserName": "TestInput",
"osType": "UNIX",
"javaPath": "ServerJavaHome",
"passphrase": "*****"
 "ServerInstallRoot + '/localhost'",
   "passphrase": "passphrase",
   "endpointId": null,
   "endpointGroup": "endpointGroup",
   "endpointPort": null,
   "runAsUserName": "runAsUserName",
   "endpointSubgroup": "endpointSubgroup"
}



...

PATCH

...

PATCH

...

PATCH

This PUT PATCH service will update all attributes of an Endpoint with the given Id based on the attributes of a JSON objects parameter valuesan existing endpoint with the information passed through a JSON object. If an attribute is absent of it's value is null it will not be updated in the Endpoint.


Info
titleAPI URL

http://host:port/flexdeploy/rest/topology/endpoint/{Id}

...

Code Block
titleSample JSON Request
{
   "description": "description",
   "userName": "userName",
   "password": "password",
   "isActive": true,
   "privateKey": "privateKey",
   "endpointName": "GoodPost3",
   "osType": null,
   "connectionType": "SSH",
   "javaPath": "ServerJavaHome",
   "endpointAddress": "endpointAddress",
   "baseDirectory": "ServerInstallRoot + '/localhost'",
   "passphrase": "passphrase",
   "endpointId": null,
   "endpointGroup": "endpointGroup",
   "endpointPort": null,
   "runAsUserName": "runAsUserName",
   "endpointSubgroup": "endpointSubgroup"
}

Back to Top

...

PATCH

This PATCH service will update an existing endpoint with the information passed through a JSON object. If an attribute is absent of it's value is null it will not be updated in the Endpoint.

Info
titleAPI URL

http://host:port/flexdeploy/rest/topology/endpoint/{Id}

Code Block
titleSample JSON Request
{
   "description": null,
   "userName": null,
   "password": null,
   "isActive": true,
   "privateKey": null,
   "endpointName": "GoodPost3",
   "osType": null,
   "endpointId": null,
   "endpointGroup": "endpointGroup",
   "endpointPort": null,
   "runAsUserName": null,
   "endpointSubgroup": "endpointSubgroup"
}

...



Parameters






Expand
titlePATCH Example


Get - 13909

{

"password": null,
"description": null,
"userName": null,
"privateKey": null,
"isActive": true,
"baseDirectory": "ServerInstallRoot + '/localhost'",
"endpointName": "NotPatchedYet",
"connectionType": "LOCALHOST",
"endpointAddress": "localhost",
"endpointId": 13909,
"endpointSubgroup": null,
"endpointPort": null,
"endpointGroup": "TheGroup",
"runAsUserName": null,
"osType": null,
"javaPath": "ServerJavaHome",
"passphrase": null

}


PATCH JSON Id Parameter

{

"endpointName": "PatchedEndpoint",

"endpointId": 12005,

"endpointGroup": null

}



      13909

Endpoint with Id 13909 altered

GET  - 13909

{

"password": null,
"description": null,
"userName": null,
"privateKey": null,
"isActive": true,
"baseDirectory": "ServerInstallRoot + '/localhost'",
"endpointName": "PatchedEndpoint",
"connectionType": "LOCALHOST",
"endpointAddress": "localhost",
"endpointId": 13909,
"endpointSubgroup": null,
"endpointPort": null,
"endpointGroup": "TheGroup",
"runAsUserName": null,
"osType": null,
"javaPath": "ServerJavaHome",
"passphrase": null

}



Back to Top

...