Versions Compared

Key

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

Anchor
Top
Top

Info
titleBase URL for Instance REST API

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

Jump To:

...


Anchor
Overview
Overview

Overview:

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


...

**defaults to true if nothing is passed

Back to Top

...

Anchor
GET
GET

GET

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

GET by ID

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

Info
titleAPI URL

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

Parameters

Parameter
Required
Type
Description
IdYesURLURL parameter for the Id which is used to find and return an instance


Expand
titleGET by ID Example

Example

If we had an Instance in our database with an Id of 11004 with the following attributes

Code Block
themeEclipse
titleInstance - 11004
{
	"description": "GET example description",
	"environments": [11001],
	"workflows": [],
	"instanceId": 11004,
	"instanceName": "GET Example Name",
	"isActive": true, "plugins": [],
	"instanceCode": "GETEXAMPLECODE",
	"groupCode": "GET example group",
	"subGroupCode": "GET example sub group",
	"isDeploymentTarget": false
}


When we run a GET request at the following URL

http://host:port/flexdeploy/rest/topology/instance/11004

The GET request would return the following JSON Instance object

Code Block
themeEclipse
titleInstance GET Return JSON
{
	"description": "GET example description",
	"environments": [11001],
	"workflows": [],
	"instanceId": 11004,
	"instanceName": "GET Example Name",
	"isActive": true, "plugins": [],
	"instanceCode": "GETEXAMPLECODE",
	"groupCode": "GET example group",
	"subGroupCode": "GET example sub group",
	"isDeploymentTarget": false
}


Back to Top


GET by Query Parameters

This GET service will return a list of Instances in the form of JSON objects based on the query parameters code, name, group code, and sub group code. Instances 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 Instances.


Info
titleAPI URL

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

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

code={code}

name={name}

groupcode={groupcode}

subgroupcode={subgroupcode}

Examples:
To Specify the code parameter only:

http://host:port/flexdeploy/rest/topology/instance?code={code}

To Specify the code and group code parameters:

http://host:port/flexdeploy/rest/topology/instance?code={code}&groupcode={groupcode}

To Specify the name, group code, and sub group code parameters:

http://host:port/flexdeploy/rest/topology/instance?name={name}&groupcode={groupcode}&subgroupcode={subgroupcode}

...


Tip

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

Parameters

Parameter
Required
Type
Description
CodeNoURLThis is a URL query parameter for the code which is used to search the instances.
NameNoURLThis is a URL query parameter for the name which is used to search the instances.
Group CodeNoURLThis is a URL query parameter for the group code which is used to search the instances.
Sub Group CodeNoURLThis is a URL query parameter for the sub group code which is used to search the instances.


Example Output

Output when the Group Code was made "Group" through http://host:port/flexdeploy/rest/topology/instance?groupcode=Group

Code Block
titleSample JSON Output
collapsetrue
[
	{
		"description": "GET example description",
		"environments": [10001],
		"workflows": [10001],
		"instanceId": 10000,
		"instanceName": "GET Example Name",
		"isActive": true,
		"plugins": [{"propertySetName":"pluginName","ownerId":12345}],
		"instanceCode": "GETEXAMPLECODE",
		"groupCode": "Group",
		"subGroupCode": "GET example sub group",
		"isDeploymentTarget": false
	},
	{ 
		"description": "GET example 2 description", 
		"environments": [10001, 10002, 10003], 
		"workflows": [10001, 10002, 10003], 
		"instanceId": 10012, 
		"instanceName": "GET Example 2 Name", 
		"isActive": true, 
		"plugins": [], 
		"instanceCode": "GETEXAMPLECODE2", 
		"groupCode": "group", 
		"subGroupCode": "GET example 2 sub group", 
		"isDeploymentTarget": true
	}
]

Anchor
POST
POST

POST

The POST service will create a new instance with the same attributes as the given JSON object. It returns the JSON representation of the Instance that was just created with an updated ID attribute.

...

Expand
titlePOST Example

If the POST receives the following JSON instance object,

Code Block
titleSample JSON Input
collapsetrue
{
	"description": "POST example description",
	"environments": [11001],
	"workflows": [],
	"instanceId": 1,
	"instanceName": "POST Example Name",
	"isActive": true,
	"plugins": [],
	"instanceCode": "POSTEXAMPLECODE",
	"groupCode": "POST example group",
	"subGroupCode": "POST example sub group",
	"isDeploymentTarget": false
}

the following Instance will be created in the database. Notice the updated Instance Id field.

Code Block
titleSample JSON Output
collapsetrue
{
	"description": "POST example description",
	"environments": [11001],
	"workflows": [],
	"instanceId": 11004,
	"instanceName": "POST Example Name",
	"isActive": true,
	"plugins": [],
	"instanceCode": "POSTEXAMPLECODE",
	"groupCode": "POST example group",
	"subGroupCode": "POST example sub group",
	"isDeploymentTarget": false
}


Anchor
PUT
PUT

PUT

This PUT service will update all attributes of an Instance with the given Id based on the attributes of the supplied JSON object.

Info
titleAPI URL

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


Expand
titlePUT Example

Example

If we had an instance in our database with an Id of 11104 and had the following attributes

Code Block
titleCurrent Instance
collapsetrue
{
	"description": "Example description",
	"environments": [],
	"workflows": [],
	"instanceId": 11104,
	"instanceName": "Example Name",
	"isActive": false,
	"plugins": [],
	"instanceCode": "EXAMPLECODE",
	"groupCode": "Group",
	"subGroupCode": "Sub Group",
	"isDeploymentTarget": false
}

When we run a PUT request at the following URL

http://host:port/flexdeploy/rest/topology/instance/11104

And the PUT request receives the following JSON instance object,

Code Block
titleSample JSON Input
collapsetrue
{
	"description": "PUT description",
	"environments": [11001],
	"workflows": [11104],
	"instanceId": 1,
	"instanceName": "PUT Name",
	"isActive": true,
	"plugins": [],
	"instanceCode": "PUTCODE",
	"groupCode": "PUT group",
	"subGroupCode": "PUT sub group",
	"isDeploymentTarget": true
}

The PUT request would then update the Instance with Id 11104 and return the  following JSON Instance object.

Code Block
titleSample JSON Output
collapsetrue
{
	"description": "PUT description",
	"environments": [11001],
	"workflows": [11104],
	"instanceId": 11104,
	"instanceName": "PUT Name",
	"isActive": true,
	"plugins": [],
	"instanceCode": "PUTCODE",
	"groupCode": "PUT group",
	"subGroupCode": "PUT sub group",
	"isDeploymentTarget": true
}


Back to Top


Anchor
PATCH
PATCH

PATCH

This PATCH service will update the information of the Instance of the specified Id with the non-null parameters of the JSON. The parameters that are null will not be changed in the Instance.

...

Tip

The only required attribute is the Instance Id in the URL.


Expand
titlePATCH Example

Example

If we had an instance in our database with an Id of 11104 and had the following attributes

Code Block
titleCurrent Instance
collapsetrue
{
	"description": "Example description",
	"environments": [11001],
	"workflows": [],
	"instanceId": 11104,
	"instanceName": "Example Name",
	"isActive": false,
	"plugins": [],
	"instanceCode": "EXAMPLECODE",
	"groupCode": "Group",
	"subGroupCode": "Sub Group",
	"isDeploymentTarget": false
}

When we run a PATCH request at the following URL

http://host:port/flexdeploy/rest/topology/instance/11104

And the PATCH request receives the following JSON instance object,

Code Block
titleSample JSON Input
collapsetrue
{
	"description": "PATCH example description",
	"environments": null,
	"workflows": null,
	"instanceId": null,
	"instanceName": null,
	"isActive": null,
	"plugins": null,
	"instanceCode": "PATCHEXAMPLECODE",
	"groupCode": null,
	"subGroupCode": null,
	"isDeploymentTarget": null
}

The PATCH request would then update the instance with Id 11104 and return the following JSON instance object.

Code Block
titleSample JSON Output
collapsetrue
{
	"description": "PATCH example description",
	"environments": [11001],
	"workflows": [],
	"instanceId": 11104,
	"instanceName": "Example Name",
	"isActive": false,
	"plugins": [],
	"instanceCode": "PATCHEXAMPLECODE",
	"groupCode": "Group",
	"subGroupCode": "Sub Group",
	"isDeploymentTarget": false
}


Back to Top

...