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

Compare with Current View Page History

« Previous Version 25 Next »

Page in development

This page is in development and as such, its contents may be incorrect

The policies API provides functionality that allows a administrator to add, delete or update policies

Get all policies

Lists all the policies configured in the Aspire

GET /aspire/_api/policies

Pagination query string parameters


Response

{
  "policy": [{
    "id": "AAABcID5GBc=",
    "type": "throttle",
	"description": "Europe Net Appliance throttle",
    "timeUnit": "m",
	"timeUnitRate": "1",
	"numberOfDocuments": "100"
  },
  {
    "id": "AAABcIueWUc=",
    "type": "route",
	"description": "All servers",
    "tags": ["US","UK","DEU"]
  }]
}


Status

Response codeDescription
200Success




Get all policies, filtered

Lists policies configured in the Aspire, filtered by a specified criteria

POST /aspire/_api/policies/getAll

Pagination query string parameters

Common filter




Get single policy

Gets information about a single policy configured in Aspire

GET /aspire/_api/policies/:id


Path Parameters

NameTypeRequiredDescription
idstringRequiredThe id of the policy to return


Query String Parameters

NameTypeRequiredDescription
expandstringOptionalList of fields to expand, * will expand everything


Response

{
  "policy": {
    "id": "AAABcID5GBc=",
    "type": "throttle",
	"description": "Europe Net Appliance throttle",
    "timeUnit": "m",
	"timeUnitRate": "1",
	"numberOfDocuments": "100"
 }
}


Status

Response codeDescription
200Success




Add policies

Adds policies to Aspire

POST /aspire/_api/policies


Body Parameters

NameTypeRequiredDescription
typestringRequired

The type of policy to add

  • "throttle"
  • "route"
descriptionstringRequiredAn optional description of the policy


Other parameters passed in the request body will depend on the type of policy being created:


Throttle type:

NameTypeRequiredDescription
timeUnitstringRequiredTime unit of the throttling policy
timeUnitRateintRequiredThe rate at which each time unit is throttled
numberOfDocumentsintRequiredNumber of documents per time unit for the throttling policy


Route type:

NameTypeRequiredDescription
tagsarray of stringsRequiredTags for the routing policy


Example

POST /aspire_api/policies
[{
  "type": "throttle",
  "description": "Europe Net Appliance throttle",
  "timeUnit": "s",
  "timeUnitRate": "10",
  "numberOfDocuments": "10"
},
{
  "type": "route",
  "description": "German servers",
  "tags": ["US","UK","DEU"]
}]


Response

{
  "policy": [{
    "id": "AAABcID5GBc=",
    "type": "throttle"
    "description": "Europe Net Appliance throttle",
    "timeUnit": "s",
    "timeUnitRate": "10",
    "numberOfDocuments": "10"
   },
   {
    "id": "AAABcID5GBd=",
    "type": "route"
    "description": "All servers",
    "tags": ["US","UK","DEU"]
   }]
}


Status

Response codeDescription
201Created
406Not acceptable - there was an issue validating the input




Update policies

Update policies in Aspire.

PUT /aspire_api/policies


Body Parameters

NameTypeRequiredDescription
idstringRequiredThe identifier of the policy to update
typestringOptionalThe type of policy
descriptionstringOptionalAn optional description of the seed

Other parameters passed in the request body will depend on the type of policy being created - see Add a Policy above

Example

PUT /aspire_api/policies
{
  "AAABcID5GBc=": {
    "id": "AAABcID5GBc=",
    "type": "throttle"
    "description": "Europe Net Appliance",
	"timeUnit": "s",
    "timeUnitRate": "1",
    "numberOfDocuments": "10"
  },
  "AAABcID5GBd=": {
    "id": "AAABcID5GBd=",
    "type": "route"
    "description": "German server",
    "tags": ["DEU"]
  }
}


Response

{
  "policy": [{
    "id": "AAABcID5GBc=",
    "type": "throttle"
    "description": "Europe Net Appliance",
	"timeUnit": "s",
	"timeUnitRate": "1",
    "numberOfDocuments": "10"
   },
   {
    "id": "AAABcID5GBd=",
    "type": "route"
    "description": "German server",
    "tags": ["DEU"]
  }]
}


Status

Response codeDescription
200Success
404Not found - a given seed identifier was not found
406Not acceptable - there was an issue validating the input




Delete multiple policies, filtered

Delete multiple policies from Aspire, filtered by a specified criteria

POST /aspire/_api/policies/deleteAll


Body Parameters

NameTypeRequiredDescription
filterJSONRequiredFilters retrieved policies. Check the filter definition here


Response

{
  "message": "optional response message"
}

See Response Body for details regrading the response body returned where multiple items are affected with some (or all) returning errors

Status

Response codeDescription
200Success
404Not found - a given credential identifier was not found
406Not acceptable - there was an issue validating the input




Delete policy

Delete a single policy from Aspire.

DELETE /aspire_api/policies/:id


Path Parameters

NameTypeRequiredDescription
idstringRequiredThe identifier of the policy to delete


Example

DELETE /aspire_api/policies/AAABcID5GBc%3D

Delete multiple policies


Response

{
  "message": "optional response message"
}

Status

Response codeDescription
200Success
404Not found - a given seed identifier was not found
406Not acceptable - there was an issue validating the input




Filters

 Some endpoint queries require a filter. A filter is basically a JSON object with the following format:

Credentials filter:

  "filter" : {
    "ids" : ["ID1", "ID2", "ID3", ...],
    "type" : "TYPE",
    "description" : "DESCRIPTION"
  }
When using endpoints that use this filter, the filter cannot be empty: at least one field of the filter must be specified.
  • No labels