Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Base URL for Environment REST API

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

Jump To:




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.

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


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.

GET by ID

This GET service will find an Endpoint with the given Id and return the JSON representation of the object.

API 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.

 Get 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.

API 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}

The query parameters are not case sensitive. Searching by name=NAME is the same as searching by name=name.

Parameters

Parameter
Required
Type
Description
NameNoURLThis is a URL query parameter for the name which is used to search the endpoints.
AddressNoURLThis is a URL query parameter for the address which is used to search the endpoints.
GroupNoURLThis is a URL query parameter for the group which is used to search the endpoints.
Sub GroupNoURLThis is a URL query parameter for the sub group which is used to search the endpoints.


 Get Example
Single Query Parameter Example:

Output when the group parameter specified is Germany (as indicated in the corresponding URL).

http://host:port/flexdeploy/rest/topology/endpoint?group=Germany

[
{
"description": null,
"password": null,
"userName": null,
"isActive": true,
"privateKey": null,
"baseDirectory": "ServerInstallRoot + '/localhost'",
"osType": null,
"javaPath": "ServerJavaHome",
"endpointName": "Motel6",
"endpointAddress": "localhost",
"endpointId": 14517,
"passphrase": null,
"connectionType": "LOCALHOST",
"endpointPort": null,
"endpointGroup": "Germany",
"endpointSubgroup": "Munich"
"runAsUserName": null
},
{
"description": null,
"password": null,
"userName": null,
"isActive": true,
"privateKey": null,
"baseDirectory": "ServerInstallRoot + '/localhost'",
"osType": null,
"javaPath": "ServerJavaHome",
"endpointName": "Raddison Hotel",
"endpointAddress": "localhost",
"endpointId": 14518,
"passphrase": null,
"connectionType": "LOCALHOST",
"endpointPort": null,
"endpointGroup": "Germany",
"endpointSubgroup": "Berlin",
"runAsUserName": null
}
]



Multiple Query Parameters Example:

Output when the group parameter is set to Germany and the subgroup parameter is set to Berlin.

http://host:port/flexdeploy/rest/topology/endpoint?group={Germany}&subgroup={Berlin}

{
"description": null,
"password": null,
"userName": null,
"isActive": true,
"privateKey": null,
"baseDirectory": "ServerInstallRoot + '/localhost'",
"osType": null,
"javaPath": "ServerJavaHome",
"endpointName": "Raddison Hotel",
"endpointAddress": "localhost",
"endpointId": 14518,
"passphrase": null,
"connectionType": "LOCALHOST",
"endpointPort": null,

"endpointGroup": "Germany",

"endpointSubgroup": "Berlin",
"runAsUserName": null
}

Back to Top


POST

This POST service will create a new Endpoint with the same attributes as the given JSON object.

Parameters

AttributesTypeDescription






 POST Example
JSON POST Input

{

"password": "myPassword",
"description": "description",
"userName": "userName",
"privateKey": "privateKey",
"isActive": true,
"baseDirectory": "ServerInstallRoot + '/localhost'",
"endpointName": "GoodPost",
"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": 13922,
"endpointSubgroup": "subGroupTester",
"endpointPort": "1",
"endpointGroup": "endpointGroup",
"runAsUserName": "TestInput",
"osType": "UNIX",
"javaPath": "ServerJavaHome",
"passphrase": "*****"

}



Back to Top


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.





Sample 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"
}


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.


Parameters





 PATCH 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








  • No labels