Versions Compared

Key

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

...

APIStatus CodeResponse Body

Endpoint: http://locator:7070/management/experimental/regions

Method: POST

Headers: Authorization

Permission Required: DATA:MANAGE


Code Block
languageyml
titleSample Request
{
	"name": "regionA",
	"type": "REPLICATE"
}


Types supported by this Rest API is defined in RegionType:

Code Block
languagejava
titleRequest 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
}


201


Code Block
languageyml
titleSuccess 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 configuration for cluster.",
	"uri": "/management/experimental/regions/regionA"
}


409


Code Block
languageyml
titleName conflict
{
   "statusMessage" : "RegionConfig 'regionA' already exists on member(s) server-2.",
   "statusCode" : "ENTITY_EXISTS"
}


400


Code Block
languageyml
titleError Response - empty required parameter
{
  "statusCode" : "ILLEGAL_ARGUMENT",
  "statusMessage" : "RegionConfig identifier is required.",
}


Code Block
languageyml
titleError Response - invalid parameter
{
  "statusCode" : "ILLEGAL_ARGUMENT",
  "statusMessage" : "Region names may not begin with a double-underscore: __Foo",
}

Given an unknown input attribute, for example: foobar in: 

curl -d '{"name":"replicate2","type":"REPLICATE","foobar":"value"}' -H 'Content-Type: application/json' http://localhost:7070/management/experimental/regions

the output is:

{

   "statusCode" : "ILLEGAL_ARGUMENT",

   "statusMessage" : "JSON parse error: Unrecognized field \"foobar\" (class org.apache.geode.cache.configuration.RegionConfig), not marked as ignorable; nested exception is com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field \"foobar\" (class org.apache.geode.cache.configuration.RegionConfig), not marked as ignorable (9 known properties: \"indexes\", \"groups\", \"type\", \"regionAttributes\", \"customRegionElements\", \"regions\", \"entries\", \"name\", \"group\"])\n at [Source: (PushbackInputStream); line: 1, column: 59] (through reference chain: org.apache.geode.cache.configuration.RegionConfig[\"foobar\"])"

}


401


Code Block
languageyml
titleError Response - unauthenticated
{
  "statusCode" : "UNAUTHENTICATED",
  "statusMessage" : "Authentication error. Please check your credentials.",
}


403


Code Block
languageyml
titleError Response - not authorized
{
  "statusCode" : "UNAUTHORIZED",
  "statusMessage" : "userUser not authorized for DATA:MANAGE.",
}


500


Code Block
languageyml
titleError Response
{
  "statusCode" : "ERROR",
  "statusMessage" : "Cluster configuration service is not running.",
}


...

APIStatus CodeResponse Body

Endpoint: http://locator:7070/management/experimental/regions

Method: GET

Headers: Authorization



200


Code Block
languageyml
titleSuccess Response
{
	"statusCode": "OK",
	"result": [{
		"config": {
			"groups": ["group2"],
			"regionAttributes": {
				"dataPolicy": "PARTITION",
				"concurrencyChecksEnabled": true
			},
			"name": "customers2",
			"type": "PARTITION",
			"uri": "/management/experimental/regions/customers2"
		},
		"runtimeInfo": [{
			"entryCount": 0
		}]
	}, {
		"config": {
			"groups": ["group2", "group1"],
			"regionAttributes": {
				"dataPolicy": "PARTITION",
				"concurrencyChecksEnabled": true
			},
			"name": "customers3",
			"type": "PARTITION",
			"uri": "/management/experimental/regions/customers3"
		},
		"runtimeInfo": [{
			"entryCount": 0
		}]
	}]
}


401


Code Block
languageyml
titleError Response
{
  "statusCode" : "UNAUTHENTICATED",
  "statusMessage" : "Authentication error. Please check your credentials.",
}


403


Code Block
languageyml
titleError Response
{
  "statusCode" : "UNAUTHORIZED",
  "statusMessage" : "userUser not authorized for DATA:MANAGE.",
}



Get Region

APIStatus CodeResponse Body

Endpoint: http://locator:7070/management/experimental/regions/Foo

Method: GET

Headers: Authorization



200


Code Block
languagejs
themeEclipse
titleSuccess Response
{
	"statusCode": "OK",
	"result": [{
		"config": {
			"groups": ["group2"],
			"regionAttributes": {
				"dataPolicy": "PARTITION",
				"concurrencyChecksEnabled": true
			},
			"name": "Foo",
			"type": "PARTITION",
			"uri": "/management/experimental/regions/Foo"
		},
		"runtimeInfo": [{
			"entryCount": 0
		}]
	}]
}


401


Code Block
languageyml
titleError Response
{
  "statusCode" : "UNAUTHENTICATED",
  "statusMessage" : "Authentication error. Please check your credentials.",
}


403


Code Block
languageyml
titleError Response
{
  "statusCode" : "UNAUTHORIZED",
  "statusMessage" : "userUser not authorized for DATA:MANAGE.",
}


404


Code Block
languagejs
titleError Response
{
     "statusCode": "ENTITY_NOT_FOUND",
     "statusMessage": "RegionConfig 'Foo' does not exist."
}


...

APIStatus CodeResponse Body

Endpoint: http://locator:7070/management/experimental/regions/Foo

Method: DELETE

Headers: Authorization



200


Code Block
languageyml
titleError 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 configuration for [cluster]."
}


404


Code Block
languageyml
titleError Response
{
     "statusCode":"ENTITY_NOT_FOUND",
     "statusMessage":"RegionConfig 'Foo' does not exist."
}


401


Code Block
languageyml
titleError Response
{
  "statusCode" : "UNAUTHENTICATED",
  "statusMessage" : "Authentication error. Please check your credentials.",
}


403


Code Block
languageyml
titleError Response
{
  "statusCode" : "UNAUTHORIZED",
  "statusMessage" : "userUser not authorized for DATA:MANAGE.",
}


500


Code Block
languageyml
titleError Response
{
    "statusCode" : "ERROR",
    "statusMessage": "Failed to delete on all members."
}


...

APIStatus CodeResponse Body

Endpoint: http://locator:7070/management/experimental/members/server-1

Method: GET

Headers: Authorization

Permission Required: CLUSTER:READ

200


Code Block
languageyml
titleSuccess Response
{
	"statusCode": "OK",
	"result": [{
        "config" : {
            "id" : "server-1",
            "uri" : "/management/experimental/members/server-1",
        },
		"runtimeInfo": [{
			"memberName": "server-1",
			"id": "10.10.10.10(locator-0:4317:locator)<ec><v0>:41001",
			"workingDirPath": "/Users/user/projects/geode/vm0",
			"logFilePath": "/Users/user/projects/geode/vm0",
			"statArchiveFilePath": "/Users/user/projects/geode/vm0",
			"locators": "10.10.10.10[64759]",
			"heapUsage": 209,
			"maxHeapSize": 480,
			"initHeapSize": 512,
			"cacheXmlFilePath": "/Users/user/projects/geode/vm0",
			"host": "10.10.10.10",
			"processId": 4317,
			"locatorPort": 64759,
			"httpServicePort": 22500,
			"httpServiceBindAddress": "localhost",
			"clientCount": 0,
			"cpuUsage": 0.0,
			"webSSL": false,
			"coordinator": true,
			"secured": false,
			"server": false,
            "status": "online"
		}]
	}]
}


Endpoint: http://locator:7070/management/experimental/members/Non-Existent

Method: GET

Headers: Authorization

Permission Required: CLUSTER:READ

404


Code Block
languageyml
titleError Response
{
   "statusCode" : "ENTITY_NOT_FOUND",
   "statusMessage" : "Member 'Non-Existent' does not exist.",
   "statusCode" : "ENTITY_NOT_FOUND"
}



Index Management

List Indexes

...

APIStatus CodeResponse Body

Endpoint:http://locator:7070/management/experimental/configurations/pdx

Method: POST

Headers: Authorization

Permission Required: CLUSTER:MANAGE

Code Block
languageyml
titleSample Request
{"readSerialized":true}


200


Code Block
languageyml
titleSuccess Response
{
	"memberStatuses": [{
		"memberName": "server-1",
		"success": true,
		"message": "Server 'server-1' needs to be restarted for this configuration change to be realized."
	}],
	"statusCode": "OK",
	"statusMessage": "Successfully updated configuration for cluster.",
	"uri": "/management/experimental/configurations/pdx",
	"result": []
}


...

APIStatus CodeResponse Body

Endpoint: http://locator:7070/management/experimental/operations/rebalance

Method: POST

Headers: Authorization

Permission Required: DATA:MANAGE

Code Block
languageyml
titleSample Request
{
"excludeRegions": [],
"includeRegions": [],
"simulate": false
}


202


Code Block
languageyml
titleSuccess Response
{
  "statusCode": "ACCEPTED",
  "statusMessage": "Operation started.  Use the uriURI to check its status.",
  "uri": "/management/experimental/operations/rebalance/8a70d6c4",
  "operationStart": "2019-07-25T10:17:42.004Z"
}


...

APIStatus CodeResponse Body

Permission Required: DATA:MANAGE

200


Code Block
languageyml
titleSuccess Response
{
  "statusCode": "IN_PROGRESS",
  "statusMessage": "Operation in progress.",
  "operationStart": "2019-07-25T10:17:42.004Z",
}



200


Code Block
languageyml
titleSuccess Response
{
  "statusCode": "OK",
  "statusMessage": "Operation finished successfully.",
  "operationStart": "2019-07-25T10:17:42.004Z",
  "operationEnded": "2019-07-25T10:17:42.060Z",
  "result": {
    "rebalanceRegionResults": [
      {
        "regionName": "testRegion2",
        "bucketCreateBytes": 0,
        "bucketCreateTimeInMilliseconds": 0,
        "bucketCreatesCompleted": 0,
        "bucketTransferBytes": 0,
        "bucketTransferTimeInMilliseconds": 0,
        "bucketTransfersCompleted": 0,
        "primaryTransferTimeInMilliseconds": 0,
        "primaryTransfersCompleted": 0,
        "timeInMilliseconds": 17
      },
      {
        "regionName": "testRegion1",
        "bucketCreateBytes": 0,
        "bucketCreateTimeInMilliseconds": 0,
        "bucketCreatesCompleted": 0,
        "bucketTransferBytes": 0,
        "bucketTransferTimeInMilliseconds": 0,
        "bucketTransfersCompleted": 0,
        "primaryTransferTimeInMilliseconds": 0,
        "primaryTransfersCompleted": 0,
        "timeInMilliseconds": 5
      }
    ]
  }
}



404200


Code Block
languageyml
titleSuccess Information Response
{
  "statusCode": "ENTITY_NOT_FOUNDOK",
  "statusMessage": "Operation '12345678' does not existfinished successfully."
}

,
  "operationStart": "2019-07-25T10:17:42.004Z",
  "operationEnded": "2019-07-25T10:17:42.060Z",
  "result": {
    "statusMessage": "Distributed system has no regions that can be rebalanced."
  }
}



404500


Code Block
languageyml
titleSuccess Not Found Response
{
  "statusCode": "ERRORENTITY_NOT_FOUND",
  "statusMessage": "rebalanceOperation returned info: Distributed system has no regions that can be rebalanced'12345678' does not exist."
}