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

Compare with Current View Page History

« Previous Version 13 Next »

Region Management

Create region 

APISample Request BodyStatus CodeResponse Body

Endpoint:http://locator:8080/geode-management/v2/regions

Method: POST

Headers: Authorization

Permission Required: DATA:MANAGE

Body:

Types supported by this Rest API is defined in RegionType:

Request Body
public enum RegionType {
  PARTITION,
  PARTITION_REDUNDANT,
  PARTITION_PERSISTENT,
  PARTITION_REDUNDANT_PERSISTENT,
  PARTITION_OVERFLOW,
  PARTITION_REDUNDANT_OVERFLOW,
  PARTITION_PERSISTENT_OVERFLOW,
  PARTITION_REDUNDANT_PERSISTENT_OVERFLOW,
  PARTITION_HEAP_LRU,
  PARTITION_REDUNDANT_HEAP_LRU,

  PARTITION_PROXY,
  PARTITION_PROXY_REDUNDANT,

  REPLICATE,
  REPLICATE_PERSISTENT,
  REPLICATE_OVERFLOW,
  REPLICATE_PERSISTENT_OVERFLOW,
  REPLICATE_HEAP_LRU,

  REPLICATE_PROXY
}
Success Response
{
	"name": "reginoA",
	"type": "REPLICATE"
}

200
Success Response
{
	"memberStatuses": [{
		"memberName": "server-2",
		"success": true,
		"message": "Region successfully created."
	}, {
		"memberName": "server-3",
		"success": true,
		"message": "Region successfully created."
	}],
	"statusCode": "OK",
	"statusMessage": "Successfully updated config for group2",
	"uri": "/management/v2/regions/disJoint",
	"result": []
}


409
Name conflict
{
  "memberStatuses" : { },
  "statusCode" : "ENTITY_EXISTS",
  "statusMessage" : "cache element Foo already exists.",
  "successful" : false
}

400
Error Response - missing required parameter
{
  "memberStatuses" : { },
  "statusCode" : "ILLEGAL_ARGUMENT",
  "statusMessage" : "Name of the region has to be specified.",
  "successful" : false
}
Error Response - invalid parameter
{
  "memberStatuses" : { },
  "statusCode" : "ILLEGAL_ARGUMENT",
  "statusMessage" : "Region names may not begin with a double-underscore: __Foo__",
  "successful" : false
}

401
Error Response
{
  "memberStatuses" : { },
  "statusCode" : "UNAUTHENTICATED",
  "statusMessage" : "Authentication error. Please check your credentials",
  "successful" : false
}

403
Error Response
{
  "memberStatuses" : { },
  "statusCode" : "UNAUTHORIZED",
  "statusMessage" : "user not authorized for DATA:MANAGE",
  "successful" : false
}

500
Error Response
{
  "memberStatuses" : { },
  "statusCode" : "ERROR",
  "statusMessage" : "cluster persistence service is not running",
  "successful" : false
}

Notes:

  • the CREATE[POST] endpoint is not idempotent, you will receive a 409 when creating the a region with the same name the 2nd time.
  • if group name is "cluster" or omitted, the region will be created on all the data members in this cluster.


401 and 403 responses are omitted for the rest of the end points.

List Region

APIStatus CodeResponse Body

Endpoint: http://locator:8080/geode-management/v2/regions

Method: GET

Headers: Authorization



200

Success Response
{
	"statusCode": "OK",
	"result": [{
		"config": {
			"class": "org.apache.geode.cache.configuration.RegionConfig",
			"groups": ["group2"],
			"regionAttributes": {
				"dataPolicy": "PARTITION",
				"concurrencyChecksEnabled": true
			},
			"name": "customers2",
			"type": "PARTITION",
			"uri": "/management/v2/regions/customers2"
		},
		"runtimeInfo": [{
			"class": "org.apache.geode.management.runtime.RuntimeRegionInfo",
			"entryCount": 0
		}]
	}, {
		"config": {
			"class": "org.apache.geode.cache.configuration.RegionConfig",
			"groups": ["group2", "group1"],
			"regionAttributes": {
				"dataPolicy": "PARTITION",
				"concurrencyChecksEnabled": true
			},
			"name": "customers3",
			"type": "PARTITION",
			"uri": "/management/v2/regions/customers3"
		},
		"runtimeInfo": [{
			"class": "org.apache.geode.management.runtime.RuntimeRegionInfo",
			"entryCount": 0
		}]
	}]
}
401
Error Response
{
    "message": "Missing authentication credential header(s)"
}
403
Error Response
{
    "message": "User1 not authorized for CLUSTER:READ"
}


Get Region

APIStatus CodeResponse Body

Endpoint: http://locator:8080/geode-management/v2/regions/Foo

Method: GET

Headers: Authorization



200

Success Response
{
	"statusCode": "OK",
	"result": [{
		"config": {
			"class": "org.apache.geode.cache.configuration.RegionConfig",
			"groups": ["group2"],
			"regionAttributes": {
				"dataPolicy": "PARTITION",
				"concurrencyChecksEnabled": true
			},
			"name": "Foo",
			"type": "PARTITION",
			"uri": "/management/v2/regions/Foo"
		},
		"runtimeInfo": [{
			"class": "org.apache.geode.management.runtime.RuntimeRegionInfo",
			"entryCount": 0
		}]
	}]
}
401
Error Response
{
    "message": "Missing authentication credential header(s)"
}
403
Error Response
{
    "message": "User1 not authorized for CLUSTER:READ"
}
404
Error Response
{
     "message": "Region with name '/Foo' does not exist"
}

Delete End Point

APIStatus CodeResponse Body

Endpoint: http://locator:8080/geode-management/v2/regions/Foo

Method: DELETE

Headers: Authorization



204

Error Response
{
	"memberStatuses": [{
		"memberName": "server-1",
		"success": true,
		"message": "Region successfully deleted."
	}, {
		"memberName": "server-3",
		"success": true,
		"message": "Region successfully deleted."
	}],
	"statusCode": "OK",
	"statusMessage": "Successfully removed config for [group1]",
	"result": []
}
304
Error Response
{
    "message": "Region with name '/Foo' does not exist"
}
401
Error Response
{
    "message": "Missing authentication credential header(s)"
}
403
Error Response
{
    "message": "User1 not authorized for DATA:MANAGE"
}
500
Error Response
{
    "message": "Failed to delete region /Foo because of <reason>"
}

Note that the DELETE endpoint is idempotent – i.e. it should be a NOOP if the region does not exist.


Member Management

List members end point

APIStatus CodeResponse Body

Endpoint:http://locator:8080/geode-management/v2/members

Method: GET

Headers: Authorization

Permission Required: CLUSTER:READ

200
Success Response
{
	"statusCode": "OK",
	"result": [{
		"config": {
			"class": "org.apache.geode.management.configuration.MemberConfig"
		},
		"runtimeInfo": [{
			"class": "org.apache.geode.management.runtime.MemberInformation",
			"name": "locator-0",
			"id": "10.118.20.127(locator-0:4317:locator)<ec><v0>:41001",
			"workingDirPath": "/Users/jiliao/projects/geode/geode-assembly/dunit/vm0",
			"logFilePath": "/Users/jiliao/projects/geode/geode-assembly/dunit/vm0",
			"statArchiveFilePath": "/Users/jiliao/projects/geode/geode-assembly/dunit/vm0",
			"locators": "10.118.20.127[64759]",
			"heapUsage": 209,
			"maxHeapSize": 480,
			"initHeapSize": 512,
			"cacheXmlFilePath": "/Users/jiliao/projects/geode/geode-assembly/dunit/vm0",
			"host": "10.118.20.127",
			"processId": 4317,
			"locatorPort": 64759,
			"httpServicePort": 22500,
			"httpServiceBindAddress": "localhost",
			"clientCount": 0,
			"cpuUsage": 0.0,
			"webSSL": false,
			"coordinator": true,
			"secured": false,
			"server": false
		}, {
			"class": "org.apache.geode.management.runtime.MemberInformation",
			"name": "server-1",
			"id": "10.118.20.127(server-1:4318)<v1>:41002",
			"workingDirPath": "/Users/jiliao/projects/geode/geode-assembly/dunit/vm1",
			"logFilePath": "/Users/jiliao/projects/geode/geode-assembly/dunit/vm1",
			"statArchiveFilePath": "/Users/jiliao/projects/geode/geode-assembly/dunit/vm1",
			"locators": "localhost[64759]",
			"heapUsage": 107,
			"maxHeapSize": 491,
			"initHeapSize": 512,
			"cacheXmlFilePath": "/Users/jiliao/projects/geode/geode-assembly/dunit/vm1/cache.xml",
			"host": "10.118.20.127",
			"processId": 4318,
			"locatorPort": 0,
			"httpServicePort": 0,
			"clientCount": 0,
			"cpuUsage": 0.0,
			"webSSL": false,
			"coordinator": false,
			"secured": false,
			"server": true,
			"cacheServerInfo": [{
				"port": 64772,
				"maxConnections": 800,
				"maxThreads": 0,
				"running": true
			}]
		}]
	}]
}

Endpoint:http://locator:8080/geode-management/v2/members?id=server-1

Method: GET

Headers: Authorization

Permission Required: CLUSTER:READ

200
Success Response
{
	"statusCode": "OK",
	"result": [{
		"config": {
			"class": "org.apache.geode.management.configuration.MemberConfig"
		},
		"runtimeInfo": [{
			"class": "org.apache.geode.management.runtime.MemberInformation",
			"name": "locator-0",
			"id": "10.118.20.127(locator-0:4317:locator)<ec><v0>:41001",
			"workingDirPath": "/Users/jiliao/projects/geode/geode-assembly/dunit/vm0",
			"logFilePath": "/Users/jiliao/projects/geode/geode-assembly/dunit/vm0",
			"statArchiveFilePath": "/Users/jiliao/projects/geode/geode-assembly/dunit/vm0",
			"locators": "10.118.20.127[64759]",
			"heapUsage": 209,
			"maxHeapSize": 480,
			"initHeapSize": 512,
			"cacheXmlFilePath": "/Users/jiliao/projects/geode/geode-assembly/dunit/vm0",
			"host": "10.118.20.127",
			"processId": 4317,
			"locatorPort": 64759,
			"httpServicePort": 22500,
			"httpServiceBindAddress": "localhost",
			"clientCount": 0,
			"cpuUsage": 0.0,
			"webSSL": false,
			"coordinator": true,
			"secured": false,
			"server": false
		}]
	}]
}

Endpoint:http://locator:8080/geode-management/v2/members?id=Non-Existent

Method: GET

Headers: Authorization

Permission Required: CLUSTER:READ

200
Success Response
{
	"memberStatuses": {},
	"statusCode": "OK",
	"statusMessage": null,
	"result": []
}

Get members end point

APIStatus CodeResponse Body

Endpoint:http://locator:8080/geode-management/v2/members/server-1

Method: GET

Headers: Authorization

Permission Required: CLUSTER:READ

200
Success Response
{
	"statusCode": "OK",
	"result": [{
		"config": {
			"class": "org.apache.geode.management.configuration.MemberConfig"
		},
		"runtimeInfo": [{
			"class": "org.apache.geode.management.runtime.MemberInformation",
			"name": "locator-0",
			"id": "10.118.20.127(locator-0:4317:locator)<ec><v0>:41001",
			"workingDirPath": "/Users/jiliao/projects/geode/geode-assembly/dunit/vm0",
			"logFilePath": "/Users/jiliao/projects/geode/geode-assembly/dunit/vm0",
			"statArchiveFilePath": "/Users/jiliao/projects/geode/geode-assembly/dunit/vm0",
			"locators": "10.118.20.127[64759]",
			"heapUsage": 209,
			"maxHeapSize": 480,
			"initHeapSize": 512,
			"cacheXmlFilePath": "/Users/jiliao/projects/geode/geode-assembly/dunit/vm0",
			"host": "10.118.20.127",
			"processId": 4317,
			"locatorPort": 64759,
			"httpServicePort": 22500,
			"httpServiceBindAddress": "localhost",
			"clientCount": 0,
			"cpuUsage": 0.0,
			"webSSL": false,
			"coordinator": true,
			"secured": false,
			"server": false
		}]
	}]
}

Endpoint:http://locator:8080/geode-management/v2/members/Non-Existent

Method: GET

Headers: Authorization

Permission Required: CLUSTER:READ

404
Success Response
{
	"memberStatuses": {},
	"statusCode": "ENTITY_NOT_FOUND",
	"statusMessage": "Unable to find the member with id = Non-Existent",
	"result": []
}

Index Management

List indexes

APIStatus CodeResponse Body

Endpoint:http://locator:8080/geode-management/v2/regions/{regionName}/indexes

Method: GET

Headers: Authorization

Permission Required: CLUSTER:READ

200
Success Response
{
	"statusCode": "OK",
	"result": [{
		"config": {
			"class": "org.apache.geode.cache.configuration.RegionConfig$Index",
			"name": "index1",
			"expression": "id",
			"fromClause": "/region1",
			"keyIndex": true,
			"type": "key",
			"regionName": "region1",
			"uri": "/management/v2/regions/region1/indexes/index1"
		}
	}, {
		"config": {
			"class": "org.apache.geode.cache.configuration.RegionConfig$Index",
			"name": "index2",
			"expression": "key",
			"fromClause": "/region1",
			"keyIndex": true,
			"type": "key",
			"regionName": "region1",
			"uri": "/management/v2/regions/region1/indexes/index2"
		}
	}]
}

Get index

APIStatus CodeResponse Body

Endpoint:http://locator:8080/geode-management/v2/regions/{regionName}/indexes/{indexName}

Method: GET

Headers: Authorization

Permission Required: CLUSTER:READ

200
Success Response
{
	"statusCode": "OK",
	"result": [{
		"config": {
			"class": "org.apache.geode.cache.configuration.RegionConfig$Index",
			"name": "index1",
			"expression": "id",
			"fromClause": "/region1",
			"keyIndex": true,
			"type": "key",
			"regionName": "region1",
			"uri": "/management/v2/regions/region1/indexes/index1"
		}
	}]
}

PDX Management

Configure PDX

APIRequest BodyStatus CodeResponse Body

Endpoint:http://locator:8080/geode-management/v2/configurations/pdx

Method: POST

Headers: Authorization

Permission Required: CLUSTER:MANAGE

Success Response
{"readSerialized":true}
200
Success Response
{
	"memberStatuses": [{
		"memberName": "server-1",
		"success": true,
		"message": "Server needs to be restarted for this configuration change to be realized."
	}],
	"statusCode": "OK",
	"statusMessage": "Successfully updated config for cluster",
	"uri": "/management/v2/configurations/pdx",
	"result": []
}

Gateway Management

List gateway receivers

APIStatus CodeResponse Body

Endpoint:http://locator:8080/geode-management/v2/gateways/receivers

Method: GET

Headers: Authorization

Permission Required: CLUSTER:READ

200
Success Response
{
	"statusCode": "OK",
	"result": [{
		"config": {
			"class": "org.apache.geode.cache.configuration.GatewayReceiverConfig",
			"groups": ["group2"],
			"startPort": "5002",
			"endPort": "5500",
			"uri": "/management/v2/gateways/receivers/group2"
		}
	}, {
		"config": {
			"class": "org.apache.geode.cache.configuration.GatewayReceiverConfig",
			"groups": ["group1"],
			"startPort": "5000",
			"endPort": "5500",
			"uri": "/management/v2/gateways/receivers/group1"
		},
		"runtimeInfo": [{
			"class": "org.apache.geode.management.runtime.GatewayReceiverInfo",
			"memberName": "server-1",
			"running": true,
			"port": 5134
		}]
	}]
}

Create gateway receiver

APIStatus CodeRequest BodyResponse Body

Endpoint:http://locator:8080/geode-management/v2/gateways/receivers

Method: POST

Headers: Authorization

Permission Required: CLUSTER:MANAGE

201

{"startPort":"5000","group":"group1"}

Success Response
{
	"memberStatuses": [{
		"memberName": "server-1",
		"success": true,
		"message": "success"
	}],
	"statusCode": "OK",
	"statusMessage": "Successfully updated config for group1",
	"uri": "/management/v2/gateways/receivers/group1",
	"result": []
}
  • No labels