Get desktop application:
View/edit binary Protocol Buffers messages
AppCallback V1 allows user application to interact with runtime. User application needs to implement AppCallback service if it needs to receive message from runtime.
Lists all topics subscribed by this app.
ListTopicSubscriptionsResponse is the message including the list of the subscribing topics.
The list of topics.
Subscribes events from Pubsub
Lifecycle API is used to manage the sidecar lifecycle. For example, by invoking the lifecycle API, you can modify the components' configuration during runtime
Apply the dynamic configuration. The DynamicConfiguration here should be full configuration, not incremental configuration
The dynamic configuration of the sidecar
Required. The dynamic configuration of a component
The response of the `ApplyConfiguration` method.
(message has no fields)
Runtime encapsulates variours Runtime APIs(such as Configuration API, Pub/Sub API, etc)
SayHello used for test
Hello request message
The name of service
Reuqest name
Optional. This field is used to control the packet size during load tests.
Hello response message
Hello
Hello message of data
InvokeService do rpc calls
Invoke service request message
The identify of InvokeServiceRequest
InvokeServiceRequest message
Invoke service response message is result of invoke service queset
The response data
The content type of response data
GetConfiguration gets configuration from configuration store.
GetConfigurationRequest is the message to get a list of key-value configuration from specified configuration store.
The name of configuration store.
The application id which Only used for admin, Ignored and reset for normal client
The group of keys.
The label for keys.
The keys to get.
The metadata which will be sent to configuration store components.
Subscribes update event for given keys. If true, when any configuration item in this request is updated, app will receive event by OnConfigurationEvent() of app callback
GetConfigurationResponse is the response conveying the list of configuration values.
The list of items containing configuration values.
SaveConfiguration saves configuration into configuration store.
SaveConfigurationRequest is the message to save a list of key-value configuration into specified configuration store.
The name of configuration store.
The application id which Only used for admin, ignored and reset for normal client
The list of configuration items to save. To delete a exist item, set the key (also label) and let content to be empty
The metadata which will be sent to configuration store components.
DeleteConfiguration deletes configuration from configuration store.
DeleteConfigurationRequest is the message to delete a list of key-value configuration from specified configuration store.
The name of configuration store.
The application id which Only used for admin, Ignored and reset for normal client
The group of keys.
The label for keys.
The keys to get.
The metadata which will be sent to configuration store components.
SubscribeConfiguration gets configuration from configuration store and subscribe the updates.
SubscribeConfigurationRequest is the message to get a list of key-value configuration from specified configuration store.
The name of configuration store.
The application id which Only used for admin, ignored and reset for normal client
The group of keys.
The label for keys.
The keys to get.
The metadata which will be sent to configuration store components.
SubscribeConfigurationResponse is the response conveying the list of configuration values.
The name of configuration store.
The application id. Only used for admin client.
The list of items containing configuration values.
Distributed Lock API A non-blocking method trying to get a lock with ttl.
Lock request message is distributed lock API which is not blocking method tring to get a lock with ttl
Required. The lock store name,e.g. `redis`.
Required. resource_id is the lock key. e.g. `order_id_111` It stands for "which resource I want to protect"
Required. lock_owner indicate the identifier of lock owner. You can generate a uuid as lock_owner.For example,in golang: req.LockOwner = uuid.New().String() This field is per request,not per process,so it is different for each request, which aims to prevent multi-thread in the same process trying the same lock concurrently. The reason why we don't make it automatically generated is: 1. If it is automatically generated,there must be a 'my_lock_owner_id' field in the response. This name is so weird that we think it is inappropriate to put it into the api spec 2. If we change the field 'my_lock_owner_id' in the response to 'lock_owner',which means the current lock owner of this lock, we find that in some lock services users can't get the current lock owner.Actually users don't need it at all. 3. When reentrant lock is needed,the existing lock_owner is required to identify client and check "whether this client can reenter this lock". So this field in the request shouldn't be removed.
Required. expire is the time before expire.The time unit is second.
Lock response message returns is the lock obtained.
Is lock success
A method trying to unlock.
UnLock request message
The name of store
resource_id is the lock key.
The owner of the lock
UnLock response message
The status of unlock
A method used to support lease renewal for distributed lock.
LockKeepAlive request message
Required. The lock store name,e.g. `redis`.
Required. resource_id is the lock key.
Required. The owner of the lock.
Required. expire is the time before expire.The time unit is second.
LockKeepAlive response message
The status of LockKeepAlive
Sequencer API Get next unique id with some auto-increment guarantee
Get next id request message
Required. Name of sequencer storage
Required. key is the identifier of a sequencer namespace,e.g. "order_table".
(optional) SequencerOptions configures requirements for auto-increment guarantee
(optional) The metadata which will be sent to the component.
Get next id response message
The next unique id Fixed int64 overflow problems on JavaScript https://github.com/improbable-eng/ts-protoc-gen#gotchas
Gets the state for a specific key.
GetStateRequest is the message to get key-value states from specific state store.
Required. The name of state store.
Required. The key of the desired state
(optional) read consistency mode
(optional) The metadata which will be sent to state store components.
GetStateResponse is the response conveying the state value and etag.
The byte array data
The entity tag which represents the specific version of data. ETag format is defined by the corresponding data store.
The metadata which will be sent to app.
Gets a bulk of state items for a list of keys
GetBulkStateRequest is the message to get a list of key-value states from specific state store.
Required. The name of state store.
Required. The keys to get.
(optional) The number of parallel operations executed on the state store for a get operation.
(optional) The metadata which will be sent to state store components.
GetBulkStateResponse is the response conveying the list of state values.
The list of items containing the keys to get values for.
Saves an array of state objects
SaveStateRequest is the message to save multiple states into state store.
Required. The name of state store.
Required. The array of the state key values.
Deletes the state for a specific key.
DeleteStateRequest is the message to delete key-value states in the specific state store.
Required. The name of state store.
Required. The key of the desired state
(optional) The entity tag which represents the specific version of data. The exact ETag format is defined by the corresponding data store.
(optional) State operation options which includes concurrency/ consistency/retry_policy.
(optional) The metadata which will be sent to state store components.
Deletes a bulk of state items for a list of keys
DeleteBulkStateRequest is the message to delete a list of key-value states from specific state store.
Required. The name of state store.
Required. The array of the state key values.
Executes transactions for a specified store
ExecuteStateTransactionRequest is the message to execute multiple operations on a specified store.
Required. name of state store.
Required. transactional operation list.
(optional) The metadata used for transactional operations.
Publishes events to the specific topic
PublishEventRequest is the message to publish event data to pubsub topic
The name of the pubsub component
The pubsub topic
The data which will be published to topic.
The content type for the data (optional).
The metadata passing to pub components metadata property: - key : the key of the message.
SubscribeTopicEvents subscribes to a PubSub topic and receives topic events from it.
SubscribeTopicEventsRequest is a message containing the details for subscribing to a topic via streaming. The first message must always be the initial request. All subsequent messages must be event processed responses.
The unique identifier for the subscription request.
The initial message containing the details for subscribing to a topic.
The message containing the subscription to a topic.
SubscribeTopicEventsResponse is a message returned from layotto when subscribing to a topic via streaming.
The unique identifier for the subscription request.
The initial response from layotto when subscribing to a topic.
The event message from the topic.
Get file with stream
Get file request message
The name of store
The name of the file or object want to get.
The metadata for user extension.
Get file response message
The data of file
Put file with stream
Put file request message
The name of store
The name of the file or object want to put.
The data will be store.
The metadata for user extension.
List all files
List file request message
File request
Page size
Marker
List file response message
File info
Marker
Is truncated
Delete specific file
Delete file request message
File request
Get file meta data, if file not exist,return code.NotFound error
Get fileMeta request message
File meta request
Get fileMeta response message
The size of file
The modified time of file
File meta response
Invokes binding data to specific output bindings
InvokeBindingRequest is the message to send data to output bindings
The name of the output binding to invoke.
The data which will be sent to output binding.
The metadata passing to output binding components Common metadata property: - ttlInSeconds : the time to live in seconds for the message. If set in the binding definition will cause all messages to have a default time to live. The message ttl overrides any value in the binding definition.
The name of the operation type for the binding to invoke
InvokeBindingResponse is the message returned from an output binding invocation
The data which will be sent to output binding.
The metadata returned from an external system
Gets secrets from secret stores.
GetSecretRequest is the message to get secret from secret store.
The name of secret store.
The name of secret key.
The metadata which will be sent to secret store components. Contains version, status, and so on...
GetSecretResponse is the response message to convey the requested secret.
data is the secret value. Some secret store, such as kubernetes secret store, can save multiple secrets for single secret key.
Gets a bulk of secrets
GetBulkSecretRequest is the message to get the secrets from secret store.
The name of secret store.
The metadata which will be sent to secret store components.
GetBulkSecretResponse is the response message to convey the requested secrets.
data hold the secret values. Some secret store, such as kubernetes secret store, can save multiple secrets for single secret key.
BulkStateItem is the response item for a bulk get operation. Return values include the item key, data and etag.
Used in:
state item key
The byte array data
The entity tag which represents the specific version of data. ETag format is defined by the corresponding data store.
The error that was returned from the state store in case of a failed get operation.
The metadata which will be sent to app.
Common invoke request message which includes invoke method and data
Used in:
The method of requset
The request data
The content type of request data
The extra information of http
The dynamic configuration of a component
Used in:
Required. Which kind of API you are using, e.g. `lock`, `state`
Required. The component name, e.g. `state_demo`
Required. The dynamic configuration of this component
ConfigurationItem represents a configuration item with key, content and other information.
Used in:
, ,Required. The key of configuration item
The content of configuration item Empty if the configuration is not set, including the case that the configuration is changed from value-set to value-not-set.
The group of configuration item.
The label of configuration item.
The tag list of configuration item.
The metadata which will be passed to configuration store component.
Etag represents a state item version
Used in:
,value sets the etag value
File info message
Used in:
The name of file
The size of file
The modified time of file
The metadata for user extension.
A map that store FileMetaValue
Used in:
A data structure to store metadata
FileMeta value
Used in:
File meta value
File request message
Used in:
, ,The name of store
The name of the directory
The metadata for user extension.
Http extension message is about invoke http information
Used in:
The method of http reuest
The query information of http
The enum of http reuest method
Used in:
NONE
GET method
HEAD method
POST method
PUT method
DELETE method
CONNECT method
CONNECT method
CONNECT method
PATCH method
The enum of LockKeepAlive status
Used in:
Lease renewal success
The lock is not exist
The lock is belong to others
Internal error
SecretResponse is a map of decrypted string/string values
Used in:
The data struct of secrets
SequencerOptions configures requirements for auto-increment guarantee
Used in:
Default STRONG auto-increment
requirements for auto-increment guarantee
Used in:
(default) WEAK means a "best effort" incrementing service.But there is no strict guarantee of global monotonically increasing. The next id is "probably" greater than current id.
STRONG means a strict guarantee of global monotonically increasing. The next id "must" be greater than current id.
StateItem represents state key, value, and additional options to save state.
Used in:
, ,Required. The state key
Required. The state data for key
(optional) The entity tag which represents the specific version of data. The exact ETag format is defined by the corresponding data store. Layotto runtime only treats ETags as opaque strings.
(optional) additional key-value pairs to be passed to the state store.
(optional) Options for concurrency and consistency to save the state.
StateOptions configures concurrency and consistency for state operations
Used in:
,The state operation of concurrency
The state operation of consistency
Enum describing the supported concurrency for state. The API server uses Optimized Concurrency Control (OCC) with ETags. When an ETag is associated with an save or delete request, the store shall allow the update only if the attached ETag matches with the latest ETag in the database. But when ETag is missing in the write requests, the state store shall handle the requests in the specified strategy(e.g. a last-write-wins fashion).
Used in:
Concurrency state is unspecified
First write wins
Last write wins
Enum describing the supported consistency for state.
Used in:
,Consistency state is unspecified
The API server assumes data stores are eventually consistent by default.A state store should: - For read requests, the state store can return data from any of the replicas - For write request, the state store should asynchronously replicate updates to configured quorum after acknowledging the update request.
When a strong consistency hint is attached, a state store should: - For read requests, the state store should return the most up-to-date data consistently across replicas. - For write/delete requests, the state store should synchronisely replicate updated data to configured quorum before completing the write request.
SubscribeTopicEventsRequestInitial is the initial message containing the details for subscribing to a topic via streaming.
Used in:
The name of the pubsub component
The pubsub topic
The metadata passing to pub components metadata property: - key : the key of the message.
dead_letter_topic is the topic to which messages that fail to be processed are sent.
SubscribeTopicEventsRequestProcessed is the message containing the subscription to a topic.
Used in:
id is the unique identifier for the subscription request.
status is the result of the subscription request.
SubscribeTopicEventsResponseInitialAlpha1 is the initial response from layotto when subscribing to a topic.
Used in:
(message has no fields)
TopicEventRequest message is compatible with CloudEvent spec v1.0 https://github.com/cloudevents/spec/blob/v1.0/spec.md
Used as request type in: AppCallback.OnTopicEvent
Used as field type in:
id identifies the event. Producers MUST ensure that source + id is unique for each distinct event. If a duplicate event is re-sent (e.g. due to a network error) it MAY have the same id.
source identifies the context in which an event happened. Often this will include information such as the type of the event source, the organization publishing the event or the process that produced the event. The exact syntax and semantics behind the data encoded in the URI is defined by the event producer.
The type of event related to the originating occurrence.
The version of the CloudEvents specification.
The content type of data value.
The content of the event.
The pubsub topic which publisher sent to.
The name of the pubsub the publisher sent to.
add a map to pass some extra properties.
TopicEventResponse is response from app on published message
Used as response type in: AppCallback.OnTopicEvent
Used as field type in:
The list of output bindings.
TopicEventResponseStatus allows apps to have finer control over handling of the message.
Used in:
SUCCESS is the default behavior: message is acknowledged and not retried or logged.
RETRY status signals runtime to retry the message as part of an expected scenario (no warning is logged).
DROP status signals runtime to drop the message as part of an unexpected scenario (warning is logged).
TopicSubscription represents topic and metadata.
Used in:
Required. The name of the pubsub containing the topic below to subscribe to.
Required. The name of topic which will be subscribed
The optional properties used for this topic's subscription e.g. session id
TransactionalStateOperation is the message to execute a specified operation with a key-value pair.
Used in:
Required. The type of operation to be executed. Legal values include: "upsert" represents an update or create operation "delete" represents a delete operation
Required. State values to be operated on
The enum of unlock status
Used in:
Unlock is success
The lock is not exist
The lock is belong to others
Internal error