Download OpenAPI specification:Download
This document describes the RESTful APIs provided or assumed by the Kubernetes Application Runtime (KAR). It consists of two sets of APIs:
The sidecar APIs are divided into logical groups:
The application component APIs are divided into logical groups:
Call invokes the methodName
method of the
actor instance indicated by actorType
and actorId
.
The request body must be a (possibly zero-length) JSON array whose elements
are used as the actual parameters of the actor method.
The result of the call is the result of invoking the target actor method
unless the async
or promise
pragma header is specified. If the actor
method returns void
or undefined
, then a 204 - No Content reponse is returned.
actorType required | string The actor type |
actorId required | string The actor instance id |
methodName required | string Example: computeMyResult The actor method to be invoked |
session | string The session is an opaque string used by the KAR runtime to enable reentrancy for nested actor calls and to track caller-callee relationships for failure recovery |
Pragma | string Optionally specify the |
A possibly empty array containing the arguments with which to invoke the target actor method.
[- { }
]
This operation cancels all subscriptions for the actor instance specified in the path. The number of subscriptions cancelled is returned as the result of the operation.
actorType required | string The actor type |
actorId required | string The actor instance id |
This operation cancels the subscription for the actor instance specified in the path.
If the subscription is successfully cancelled a 200
response with a body of 1
will be returned.
If the subscription is not found, a 404
response will be returned unless
the boolean query parameter nilOnAbsent
is set to true
. If nilOnAbsent
is sent to true the 404
response will instead be a 200
with a body containing 0
.
actorType required | string The actor type |
actorId required | string The actor instance id |
subscriptionID required | string The id of the specific subscription being targeted |
nilOnAbsent | boolean Replace a REST-style |
This operation returns the subscription for the actor instance specified in the path.
If there is no subscription with the id subscriptionId
a 404
response will be returned
unless the boolean query parameter nilOnAbsent
is set to true
.
If nilOnAbsent
is true the 404
response will be replaced with
a 200
response with a nil
response body.
actorType required | string The actor type |
actorId required | string The actor instance id |
subscriptionID required | string The id of the specific subscription being targeted |
nilOnAbsent | boolean Replace a REST-style |
Subscribe the actor instance using the subscriptionId specified in the path as described by the data provided in the request body. If there is already a subscription for the target actor instance with the same subscriptionId, that existing subscription will be updated based on the request body. The operation will not return until after the actor instance is subscribed.
actorType required | string The actor type |
actorId required | string The actor instance id |
subscriptionID required | string The id of the specific subscription being targeted |
The request body describes the subscription
contentType | string The expected MIME content type of the events that will be produced by this subscription If an explicit value is not provided, the default value of application/json+cloudevent will be used. |
path | string The actor method to be invoked with each delivered event |
topic | string The name of the topic being subscribed to |
{- "contentType": "application/json",
- "path": "processEvent",
- "topic": "string"
}
Parameters are specified in the body of the post, as stringified JSON. No body passed causes a default creation.
The request body describes the topic to be created
object | |
numPartitions | integer <int32> |
replicationFactor | integer <int16> |
{- "configEntries": {
- "property1": "string",
- "property2": "string"
}, - "numPartitions": 0,
- "replicationFactor": 0
}
The event provided as the request body will be published on topic
.
When the operation returns successfully, the event is guaranteed to
eventually be published to the targeted topic.
topic required | string The topic name |
An arbitrary request body to publish unchanged to the topic
This operation cancels the reminder for the actor instance specified in the path.
If the reminder is successfully cancelled a 200
response with a body of 1
will be returned.
If the reminder is not found, a 404
response will be returned unless
the boolean query parameter nilOnAbsent
is set to true
. If nilOnAbsent
is sent to true the 404
response will instead be a 200
with a body containing 0
.
actorType required | string The actor type |
actorId required | string The actor instance id |
reminderId required | string The id of the specific reminder being targeted |
nilOnAbsent | boolean Replace a REST-style |
This operation returns the reminder for the actor instance specified in the path.
If there is no reminder with the id reminderId
a 404
response will be returned
unless the boolean query parameter nilOnAbsent
is set to true
.
If nilOnAbsent
is true the 404
response will be replaced with
a 200
response with a nil
response body.
actorType required | string The actor type |
actorId required | string The actor instance id |
reminderId required | string The id of the specific reminder being targeted |
nilOnAbsent | boolean Replace a REST-style |
Schedule the reminder for the actor instance and reminderId specified in the path as described by the data provided in the request body. If there is already a reminder for the target actor instance and reminderId, that existing reminder's schedule will be updated based on the request body. The operation will not return until after the reminder is scheduled.
actorType required | string The actor type |
actorId required | string The actor instance id |
reminderId required | string The id of the specific reminder being targeted |
The request body describes the reminder to be scheduled
data | object An optional parameter containing an arbitrary JSON value that will be provided as the
payload when the |
path | string The path to invoke on the actor instance when the reminder is fired |
period | string The optional period parameter is a string encoding a GoLang Duration that is used to create a periodic reminder. If a period is provided, then the reminder will be fired repeatedly by adding the period to the last fire time to compute a new TargetTime for the next invocation of the reminder. |
targetTime | string <date-time> The time at which the reminder should first fire, specified as a string in an ISO-8601 compliant format |
{- "data": "{ msg: \"Hello Friend!\" }",
- "path": "sayHello",
- "period": "30s",
- "targetTime": "2019-08-24T14:15:22Z"
}
Execute a DELETE
operation on the path
endpoint of service
.
The result of performing a DELETE on the target service endpoint
is returned unless the async
or promise
pragma header is specified.
service required | string The service name |
path required | string Example: an/arbitrary/valid/pathSegment The target endpoint to be invoked by the operation |
Pragma | string Optionally specify the |
Execute a GET
operation on the path
endpoint of service
.
The result of performing a GET on the target service endpoint
is returned unless the async
or promise
pragma header is specified.
service required | string The service name |
path required | string Example: an/arbitrary/valid/pathSegment The target endpoint to be invoked by the operation |
Pragma | string Optionally specify the |
Execute a HEAD
operation on the path
endpoint of service
.
The result of performing a HEAD on the target service endpoint
is returned unless the async
or promise
pragma header is specified.
service required | string The service name |
path required | string Example: an/arbitrary/valid/pathSegment The target endpoint to be invoked by the operation |
Pragma | string Optionally specify the |
Execute an OPTIONS
operation on the path
endpoint of service
.
The request body is passed through to the target endpoint.
The result of performing an OPTIONS on the target service endpoint
is returned unless the async
or promise
pragma header is specified.
service required | string The service name |
path required | string Example: an/arbitrary/valid/pathSegment The target endpoint to be invoked by the operation |
Pragma | string Optionally specify the |
An arbitrary request body to be passed through unchanged to the target endpoint
{ }
Execute a PATCH
operation on the path
endpoint of service
.
The request body is passed through to the target endpoint.
The result of performing a PATCH on the target service endpoint
is returned unless the async
or promise
pragma header is specified.
service required | string The service name |
path required | string Example: an/arbitrary/valid/pathSegment The target endpoint to be invoked by the operation |
Pragma | string Optionally specify the |
An arbitrary request body to be passed through unchanged to the target endpoint
{ }
Execute a POST
operation on the path
endpoint of service
.
The request body is passed through to the target endpoint.
The result of performing a POST on the target service endpoint
is returned unless the async
or promise
pragma header is specified.
service required | string The service name |
path required | string Example: an/arbitrary/valid/pathSegment The target endpoint to be invoked by the operation |
Pragma | string Optionally specify the |
An arbitrary request body to be passed through unchanged to the target endpoint
{ }
Execute a PUT
operation on the path
endpoint of service
.
The request body is passed through to the target endpoint.
The result of performing a PUT on the target service endpoint
is returned unless the async
or promise
pragma header is specified.
service required | string The service name |
path required | string Example: an/arbitrary/valid/pathSegment The target endpoint to be invoked by the operation |
Pragma | string Optionally specify the |
An arbitrary request body to be passed through unchanged to the target endpoint
{ }
The state updates contained in the request body will be performed on the
actor instance indicated by actorType
and actorId
.
All removal operations will be performed first, then all update
operations will be performed.
The result of the operation will contain the number of state elements
removed and updated.
actorType required | string The actor type |
actorId required | string The actor instance id |
The request body describes the multi-element update operation to be performed
removals | Array of strings |
object | |
object | |
object |
{- "removals": [
- "string"
], - "submapremovals": {
- "property1": [
- "string"
], - "property2": [
- "string"
]
}, - "submapupdates": {
- "property1": {
- "property1": { },
- "property2": { }
}, - "property2": {
- "property1": { },
- "property2": { }
}
}, - "updates": {
- "property1": { },
- "property2": { }
}
}
The state of the actor instance indicated by actorType
and actorId
will be updated by removing the entry for key
.
The operation will not return until the state has been updated.
The result of the operation is 1
if an entry was actually removed and
0
if there was no entry for key
.
actorType required | string The actor type |
actorId required | string The actor instance id |
key required | string The key |
The key
entry of the state of the actor instance indicated by actorType
and actorId
will be returned as the response body.
If there is no entry for key
a 404
response will be returned
unless the boolean query parameter nilOnAbsent
is set to true
,
in which case a 200
reponse with a nil
response body will be returned.
actorType required | string The actor type |
actorId required | string The actor instance id |
key required | string The key |
nilOnAbsent | boolean Replace a REST-style |
Check to see if the state of the actor instance indicated by actorType
and actorId
contains an entry for key
.
actorType required | string The actor type |
actorId required | string The actor instance id |
key required | string The key |
key
The operation indicated by the op
field of the request body will be performed on the key
map
of the actor instance indicated by actorType
and actorId
. The result of the
operation will be returned as the response body.
If there are no key/subkey
entries in the actor instance, the operation
will be interpreted as being applied to an empty map.
The valid values for op
are:
actorType required | string The actor type |
actorId required | string The actor instance id |
key required | string The key |
The request body describes the submap operation to be performed
op | string |
{- "op": "string"
}
The state of the actor instance indicated by actorType
and actorId
will be updated by setting key
to contain the JSON request body.
The operation will not return until the state has been updated.
actorType required | string The actor type |
actorId required | string The actor instance id |
key required | string The key |
The state of the actor instance indicated by actorType
and actorId
, and key
will be updated by removing the entry for key/subkey
.
The operation will not return until the state has been updated.
The result of the operation is 1
if an entry was actually removed and
0
if there was no entry for key
.
actorType required | string The actor type |
actorId required | string The actor instance id |
key required | string The key |
subkey required | string The subkey |
The key/subkey
entry of the state of the actor instance indicated by actorType
and actorId
will be returned as the response body.
If there is no entry for key/subkey
a 404
response will be returned
unless the boolean query parameter nilOnAbsent
is set to true
,
in which case a 200
reponse with a nil
response body will be returned.
actorType required | string The actor type |
actorId required | string The actor instance id |
key required | string The key |
subkey required | string The subkey |
Check to see if the state of the actor instance indicated by actorType
and actorId
contains an entry for key
/subkey
.
actorType required | string The actor type |
actorId required | string The actor instance id |
key required | string The key |
subkey required | string The subkey |
The map state of the actor instance indicated by actorType
and actorId
will be updated by setting key
/subkey
to contain the JSON request body.
The operation will not return until the state has been updated.
The result of the operation is 1
if a new entry was created and 0
if an existing entry was updated.
actorType required | string The actor type |
actorId required | string The actor instance id |
key required | string The key |
subkey required | string The subkey |
The optional passivation/deactivation method for the actor type will be invoked. After it completes, the language-level storate for the actor instance will be released. After this operation is invoked, no more POST operations on this actor instance may be performed unless a GET is first performed to re-initialize the language-level state of the actor instance.
actorType required | string The actor type |
actorId required | string The actor instance id |
Causes the language-level actor runtime to allocate storage for the actor instance and to invoke its initialization/activation method if one is provided. This operation must be successfully completed before any POST operations on this actor instance are performed.
actorType required | string The actor type |
actorId required | string The actor instance id |
session | string The session is an opaque string used by the KAR runtime to enable reentrancy for nested actor calls and to track caller-callee relationships for failure recovery |
Invokes the actor method on the actor instance within the session specified in the path. The body of the request will contain the actual paramters on which to invoke the method.
actorType required | string The actor type |
actorId required | string The actor instance id |
methodName required | string Example: computeMyResult The actor method to be invoked |
session | string The session is an opaque string used by the KAR runtime to enable reentrancy for nested actor calls and to track caller-callee relationships for failure recovery |
A possibly empty array containing the arguments with which to invoke the target actor method.
[- { }
]