Versions Compared

Key

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

Environment Instances can be accessed and modified through this API using three services: GET, PUT, and PATCH. These three services allow for the retrieval, complete update, and partial update of environment instances.

...

If we had an environment instance in our database with an environment id of 12347 and an instance id of 12342 with the following attributes,, we can run a GET request at the following URL: http://host:port/flexdeploy/rest/v1/topology/environmentinstance/12347/12342

The GET request would return the following JSON environment instance object:

Code Block
themeEclipse
titleEnvironment Instance: 12347, 12342
{
	"instanceId": 12342,
	"endPoints":
	[
		{
			"endPointId": 10101,
			"resourceIds": [11223,11224]
		},
		{
			"endPointId": 10111,
			"resourceIds": [11223]
		}
	],
	"environmentId": 12347,
	"isActive": true,
	"properties":
	[
		{
			"propertyName": "FDSOA_EXT_CLASSPATH",
			"propertyValue": null
		},
		{
			"propertyNamecredentialId": "FDSOA_REVISIONS_TO_KEEP"null,
			"propertyValueisExpression": "15"false
		},
		{
			"propertyName": "FDSOA_REVISIONS_SERVERTO_HOSTKEEP",
			"propertyValue": "dev-soa.company.local"
		},
		{15,
			"propertyNamecredentialId": "FDSOA_SERVER_PORT"null,
			"propertyValueisExpression": "8001"false
		},
		{
			"propertyName": "FDFDSOA_ORACLESERVER_SOA_HOMEHOST",
			"propertyValue": "/u01/oracle/products/fmw/soa"
		}
	]
}

When we run a GET request at the following URL

http://host:port/flexdeploy/rest/topology/environmentinstance/12347/12342

The GET request would return the following JSON environment instance object:

Code Block
themeEclipse
titleEnvironment Instance: 12347, 12342
{
	"instanceId": 12342,
	"endPoints":
	[
		{
			"endPointId": 10101,
			"resourceIds": [11223,11224]
		dev-soa.company.local",
			"credentialId": null,
			"isExpression": false
		},
		{
			"propertyName": "FDSOA_SERVER_PORT",
			"propertyValue": 8001,
			"credentialId": null,
			"isExpression": false
		},
		{
			"endPointIdpropertyName": 10111"FD_ORACLE_SOA_HOME",
			"resourceIdspropertyValue": [11223]
		}
	],
	"environmentId"/u01/oracle/products/fmw/soa",
			"credentialId": 12347null,
			"isActiveisExpression": truefalse
	"properties":
	[	},
		{
			"propertyName": "FDSOAMDS_EXT_CLASSPATHPASS",
			"propertyValue": null
		},
		{"*****",
			"propertyNamecredentialId": "FDSOA_REVISIONS_TO_KEEP"74952,
			"propertyValueisExpression": "15"false
		},
		{
			"propertyName": "FDSOA_SERVER_HOST",
			"propertyValue": "dev-soa.company.local"
		},
		{
			"propertyName": "FDSOA_SERVER_PORT",
			"propertyValue": "8001"
		},
		{
			"propertyName": "FD_ORACLE_SOA_HOME",
			"propertyValue": "/u01/oracle/products/fmw/soa"
		}
	]
}

PUT

This PUT service will replace all attributes of an environment instance with the given environment instance corresponding to the environment id and instance id provided in the url.

Info
titleAPI URL

http://host:port/flexdeploy/rest/topology/environmentinstance/{environmentId}/{instanceId}

Request

...

Parameter

...

Type

...

Required

...

Description

...

environmentId

...

]
}

PUT

This PUT service will replace all attributes of an environment instance with the given environment instance corresponding to the environment id and instance id provided in the url.

Info
titleAPI URL

http://host:port/flexdeploy/rest/v1/topology/environmentinstance/{environmentId}/{instanceId}

Request

Parameter

Type

Required

Description

environmentId

URLYesURL parameter for the environment Id which is used to find and return an environment instance
instanceIdURLYesURL parameter for the instance Id which is used to find and return an environment instance
environmentIdLongNoThe environment id of the environment instance. This parameter is ignored in PUT.
instanceIdLongNoThe instance id of the environment instance. This parameter is ignore in PUT.
isActiveBooleanNoWhether or not the environment instance is active. Defaults to true if not passed in.
endPointsList<EndPoint>No

List of endpoint ids and their associated resource type ids. If currently associated Endpoint(s) are not in input list, then those Endpoint(s) will be unassigned from environment instance along with any resource types.

i.e. at the end of successful request, environment instance will have mapped Endpoint(s) matching to input request.

EndPoint contains endpointId and array of resourceIds.

propertiesList<PropertyValue>Yes

List of property names and , their values, and credential id for encrypted properties. If environment instance property does not have value in input list, then that property value will be cleared.

PropertyValue contains propertyName, propertyValue, and propertyValuecredentialId.

Include Page
REST V1 Environment Instance Response
REST V1 Environment Instance Response

...

Code Block
themeEclipse
titleEnvironment Instance: 12347, 12342
{
	"instanceIdendPoints":
12342,	[
	"endPoints":
	[
			{
			"endPointId": 10101,
			"resourceIds": [11223,11224]
		},
		{
			"endPointId": 10111,
			"resourceIds": [11223]
		}
	],
	"environmentId": 12347,
	"isActive": true,
	"properties":
	[
		{
			"propertyName": "FDSOA_EXT_CLASSPATH",
			"propertyValue": null,
			"credentialId": null,
			"isExpression": false
		},
		{
			"propertyName": "FDSOA_REVISIONS_TO_KEEP",
			"propertyValue": 15,
			"credentialId": null,
			"15isExpression": false
		},
		{
			"propertyName": "FDSOA_SERVER_HOST",
			"propertyValue": "dev-soa.company.local",
			"credentialId": null,
			"isExpression": false
		},
		{
			"propertyName": "FDSOA_SERVER_PORT",
			"propertyValue": 8001,
"8001"			"credentialId": null,
			"isExpression": false
		},
		{
			"propertyName": "FD_ORACLE_SOA_HOME",
			"propertyValue": "/u01/oracle/products/fmw/soa",
			}
	]
}

When we run a PUT request at the following URL

http://host:port/flexdeploy/rest/topology/environmentinstance/12347/12342

And the PUT request receives the following JSON environment instance object,

Code Block
themeEclipse
titleEnvironment Instance: 12347, 12342
{
	"instanceId": 12342,
	"endPoints":
	[
		{
			"endPointId": 10101,
			"resourceIds": [11223]
		},
		{
			"endPointId": 10111"credentialId": null,
			"isExpression": false
		},
		{
			"propertyName": "MDS_PASS",
			"propertyValue": "*****",
			"credentialId": 74952,
			"resourceIdsisExpression": []false
		}
	],
	"environmentId": 12347,
	"isActive": true
	"properties
}

When we run a PUT request at the following URL: http://host:port/flexdeploy/rest/v1/topology/environmentinstance/12347/12342

And the PUT request receives the following JSON environment instance object,

Code Block
themeEclipse
titleEnvironment Instance: 12347, 12342
{
	"instanceId": 12342,
	"endPoints":
	[
		{
			"propertyNameendPointId": "FDSOA_EXT_CLASSPATH"10101,
			"propertyValueresourceIds": "classpath"[11223]
		},
		{
			"propertyNameendPointId": 10111,
"FDSOA_REVISIONS_TO_KEEP",
			"propertyValue": "15"
		},			"resourceIds": []
		}
	],
	"environmentId": 12347,
	"isActive": true,
	"properties":
	[
		{
			"propertyName": "FDSOA_SERVEREXT_HOSTCLASSPATH",
			"propertyValue": "dev-soa.newcompany.local"
		}classpath",
		{
			"propertyNamecredentialId": "FDSOA_SERVER_PORT"null,
			"propertyValueisExpression": "8001"false
		},
		{
			"propertyName": "FDFDSOA_ORACLEREVISIONS_SOATO_HOMEKEEP",
			"propertyValue": 15,
"/u01/oracle/products/fmw/soa"			"credentialId": null,
		}
	]
}

The PUT request would then update the environment instance with the environment 12347 and the instance 12342. It will return the following JSON object:

Code Block
themeEclipse
titleEnvironment Instance: 12347, 12342
{
	"instanceId"isExpression": 12342,false
	"endPoints":
	[	},
		{
			"endPointIdpropertyName": 10101"FDSOA_SERVER_HOST",
			"resourceIdspropertyValue": [11223]
		},
		{"dev-soa.newcompany.local",
			"endPointIdcredentialId": 10111null,
			"resourceIdsisExpression": []false
		},
		],{
			"environmentIdpropertyName": 12347"FDSOA_SERVER_PORT",
			"isActivepropertyValue": true8001,
	"properties		"credentialId": null,
			"isExpression": false
	[	},
		{
			"propertyName": "FDSOAFD_ORACLE_EXTSOA_CLASSPATHHOME",
			"propertyValue": "classpath"
		},
		{/u01/oracle/products/fmw/soa",
			"propertyNamecredentialId": "FDSOA_REVISIONS_TO_KEEP"null,
			"propertyValueisExpression": "15"false
		},
		{
			"propertyName": "FDSOAMDS_SERVER_HOSTPASS",
			"propertyValue": "dev-soa.newcompany.local"
		},
		{newPass",
			"propertyNamecredentialId": "FDSOA_SERVER_PORT"null,
			"propertyValueisExpression": "8001"false
		},
		{
			"propertyName": "FD_ORACLE_SOA_HOME",
			"propertyValue": "/u01/oracle/products/fmw/soa"
		}
	]
}

PATCH

This PATCH service will update an existing environment instance with the information passed through a JSON object. If an attribute of the JSON is null it will not be updated in the environment instance.

Info
titleAPI URL

http://host:port/flexdeploy/rest/topology/environmentinstance/{environmentId}/{instanceId}

Tip
titleEnd Points and Resource Types

In PATCH, end points and resource types are added, not replaced

Request

...

Parameter

...

Type

...

Required

...

Description

...

environmentId

...

List of endpoint ids and their associated resource type ids. If provided endpoint is not associated with environment instance, then it will be mapped. Similarly resource types are associated if not already associated to specific endpoint. If already mapped endpoint is  not in input list then it will not be removed.

EndPoint contains endpointId and array of resourceIds.

...

List of property names and their values. Only values provided in input are updated, other values will not change.

PropertyValue contains propertyName and propertyValue.

...

Response Codes

...

Example

...

]
}

The PUT request would then update the environment instance with the environment 12347 and the instance 12342. It will return the following JSON object:

Code Block
themeEclipse
titleEnvironment Instance: 12347, 12342
{
	"instanceId": 12342,
	"endPoints":
	[
		{
			"endPointId": 10101,
			"resourceIds": [11223]
		},
		{
			"endPointId": 10111,
			"resourceIds": []
		}
	],
	"environmentId": 12347,
	"isActive": true,
	"properties":
	[
		{
			"propertyName": "FDSOA_EXT_CLASSPATH",
			"propertyValue": "classpath",
			"credentialId": null,
			"isExpression": false
		},
		{
			"propertyName": "FDSOA_REVISIONS_TO_KEEP",
			"propertyValue": 15,
			"credentialId": null,
			"isExpression": false
		},
		{
			"propertyName": "FDSOA_SERVER_HOST",
			"propertyValue": "dev-soa.newcompany.local",
			"credentialId": null,
			"isExpression": false
		},
		{
			"propertyName": "FDSOA_SERVER_PORT",
			"propertyValue": 8001,
			"credentialId": null,
			"isExpression": false
		},
		{
			"propertyName": "FD_ORACLE_SOA_HOME",
			"propertyValue": "/u01/oracle/products/fmw/soa",
			"credentialId": null,
			"isExpression": false
		},
		{
			"propertyName": "MDS_PASS",
			"propertyValue": "*****",
			"credentialId": 74952,
			"isExpression": false
		}
	]
}

PATCH

This PATCH service will update an existing environment instance with the information passed through a JSON object. If an attribute of the JSON is null it will not be updated in the environment instance.

Info
titleAPI URL

http://host:port/flexdeploy/rest/v1/topology/environmentinstance/{environmentId}/{instanceId}


Tip
titleEnd Points and Resource Types

In PATCH, end points and resource types are added, not replaced

Request

Parameter

Type

Required

Description

environmentId

URLYesURL parameter for the environment Id which is used to find and return an environment instance
instanceIdURLYesURL parameter for the instance Id which is used to find and return an environment instance
environmentIdLongNoThe environment id of the environment instance. This parameter is ignored in PATCH.
instanceIdLongNoThe instance id of the environment instance. This parameter is ignore in PATCH.
isActiveBooleanNoWhether or not the environment instance is active
endPointsList<EndPoint>No

List of endpoint ids and their associated resource type ids. If provided endpoint is not associated with environment instance, then it will be mapped. Similarly resource types are associated if not already associated to specific endpoint. If already mapped endpoint is  not in input list then it will not be removed.

EndPoint contains endpointId and array of resourceIds.

propertiesList<Property>No

List of property names, their values, and credential id for encrypted properties. Only values provided in input are updated, other values will not change.

PropertyValue contains propertyName, propertyValue, and credentialId.

Include Page
REST V1 Environment Instance Response
REST V1 Environment Instance Response

Response Codes

HTTP CodeDescription
200Environment Instance was found and patched
401Authentication failure
403Authorization failure (no access to resource)
404Environment Instance not found
500Unexpected internal server error

Example

If we had an environment instance in our database with an environment id of 12347 and an instance id of 12342 with the following attributes,

Code Block
themeEclipse
titleEnvironment Instance: 12347, 12342
{
	"instanceId": 12342,
	"endPoints":
	[
		{
			"endPointId": 10101,
			"resourceIds": [11223,11224]
		},
		{
			"endPointId": 10111,
			"resourceIds": [11223]
		}
	],
	"environmentId": 12347,
	"isActive": true,
	"properties":
	[
		{
			"propertyName": "FDSOA_EXT_CLASSPATH",
			"propertyValue": null,
			"credentialId": null,
			"isExpression": false
		},
		{
			"propertyName": "FDSOA_REVISIONS_TO_KEEP",
			"propertyValue": 15,
			"credentialId": null,
			"isExpression": false
		},
		{
			"propertyName": "FDSOA_SERVER_HOST",
			"propertyValue": "dev-soa.company.local",
			"credentialId": null,
			"isExpression": false
		},
		{
			"propertyName": "FDSOA_SERVER_PORT",
			"propertyValue": 8001,
			"credentialId": null,
			"isExpression": false
		},
		{
			"propertyName": "FD_ORACLE_SOA_HOME",
			"propertyValue": "/u01/oracle/products/fmw/soa",
			"credentialId": null,
			"isExpression": false
		},
		{
			"propertyName": "MDS_PASS",
			"propertyValue": "*****",
			"credentialId": 74952,
			"isExpression": false
		}
	]
}

When we run a PATCH request at the following URL: http://host:port/flexdeploy/rest/v1/topology/environmentinstance/12347/12342

And the PATCH request receives the following JSON environment instance object,

{ "instanceId": 12342,
Code Block
themeEclipse
titleEnvironment Instance: 12347, 12342
12342
{
	"endPoints":
	[
		{
			"endPointId": 10101,
			"resourceIds": [11223,1122412123]
		},
		{
			"endPointId": 1011112241,
			"resourceIds": [1122318612]
		}
	],
	"environmentId": 12347,
	"isActive": true
	"properties":
	[
		{
			"propertyName": "FDSOA_EXT_CLASSPATH",
			"propertyValue": null
		},
		{
			"propertyName": "FDSOA_REVISIONS_TO_KEEP_CLASSPATH",
			"propertyValue": "15"
		},
		{new value",
			"propertyNamecredentialId": "FDSOA_SERVER_HOST"null,
			"propertyValueisExpression": "dev-soa.company.local"false
		},
		{
			"propertyName": "FDSOAMDS_SERVER_PORTPASS",
			"propertyValue": "8001"
		},
		{
			"propertyNamecredentialId": "FD_ORACLE_SOA_HOME"52268,
			"propertyValueisExpression": "/u01/oracle/products/fmw/soa"false
		}
	]
}

When we run a The PATCH request at the following URL

http://host:port/flexdeploy/rest/topology/environmentinstance/12347/12342

And the PATCH request receives the following JSON environment instance object,would then update the environment instance with the environment 12347 and the instance 12342. It will return the following JSON object:

Code Block
themeEclipse
titleEnvironment Instance: 12347, 12342
{
	"instanceId": 12342,
	"endPoints":
	[
		{
			"endPointId": 10101,
			"resourceIds": [11223,11224,12123]
		},
		{
			"endPointId": 10111,
			"resourceIds": [11223]
		},
		{
			"endPointId": 12241,
			"resourceIds": [18612]
		}
	],
	"environmentId": [18612]12347,
		}
	]"isActive": true,
	"properties":
	[
		{
			"propertyName": "FDSOA_EXT_CLASSPATH",
			"propertyValue": "new value"
		}
	]
}

The PATCH request would then update the environment instance with the environment 12347 and the instance 12342. It will return the following JSON object:

Code Block
themeEclipse
titleEnvironment Instance: 12347, 12342
{
	"instanceId": 12342,
	"endPoints":
	[,
			"propertyValue": "new value",
			"credentialId": null,
			"isExpression": false
		},
		{
			"endPointIdpropertyName": 10101"FDSOA_REVISIONS_TO_KEEP",
			"resourceIdspropertyValue": [11223,11224,12123]
		} 15,
		{
			"endPointIdcredentialId": 10111null,
			"resourceIdsisExpression": [11223]false
		},
		{
			"endPointIdpropertyName": 12241"FDSOA_SERVER_HOST",
			"resourceIdspropertyValue": [18612]
		}
	],
	"environmentId"dev-soa.company.local",
			"credentialId": 12347null,
			"isActiveisExpression": true
	"properties":
	[false
		},
		{
			"propertyName": "FDSOA_EXTSERVER_CLASSPATHPORT",
			"propertyValue": "new value"8001,
			"credentialId": null,
			"isExpression": false
		},
		{
			"propertyName": "FDSOAFD_REVISIONSORACLE_TOSOA_KEEPHOME",
			"propertyValue": "15"
		},
		{/u01/oracle/products/fmw/soa",
			"propertyName": "FDSOA_SERVER_HOST""credentialId": null,
			"propertyValueisExpression": "dev-soa.company.local"false
		},
		{
			"propertyName": "FDSOAMDS_SERVER_PORTPASS",
			"propertyValue": "8001"
		},
		{*****",
			"propertyNamecredentialId": "FD_ORACLE_SOA_HOME"52268,
			"propertyValueisExpression": "/u01/oracle/products/fmw/soa"false
		}
	]
}