API¶
EXPERIMENTAL
All types and services in package names like "alpha" or "beta" have to be considered as EXPERIMENTAL.
io.spoud.sdm.hooks.domain.v1.LogRecord (Message)
Field | Type | Label | Description |
---|---|---|---|
entity_uuid | string | ||
timestamp | Timestamp | ||
action | Type | ||
entity_type | Type | ||
path | string | ||
cursor | string | Cursor of the current message, you can then use this cursor to go back to this exact position when you reconnect | |
data_offer | DataOffer | ||
data_port | DataPort | ||
data_subscription_state | DataSubscriptionState | ||
resource_group | ResourceGroup | ||
transport | Transport | ||
data_item | DataItem | ||
agent | Agent | ||
schema | Schema | ||
organization | Organization | ||
user | User | ||
technical_user | TechnicalUser | ||
user_group | UserGroup |
io.spoud.sdm.hooks.domain.v1.StateChangeAction (Message)
WARNING ! DIFFERENT FROM logitics/v1alpha/hook.proto
io.spoud.sdm.hooks.domain.v1.StreamInfo (Message)
Context specific information about the current stream. Also used for keep alives and other gossip.
Field | Type | Label | Description |
---|---|---|---|
timestamp | Timestamp |
io.spoud.sdm.hooks.domain.v1.StateChangeAction.Type (Enum)
Name | Number | Description |
---|---|---|
UNKNOWN | 0 | |
UPDATED | 1 | |
DELETED | 2 |
io.spoud.sdm.hooks.domain.v1.DataItemFilter (Message)
Entity DataPort
Field | Type | Label | Description |
---|---|---|---|
id | string | ||
properties_filters | PropertiesFilter | repeated | |
transport_ref | BaseRef |
io.spoud.sdm.hooks.domain.v1.DataOfferFilter (Message)
Entity DataOffer
Field | Type | Label | Description |
---|---|---|---|
id | string | ||
properties_filters | PropertiesFilter | repeated |
io.spoud.sdm.hooks.domain.v1.DataPortFilter (Message)
Entity DataPort
Field | Type | Label | Description |
---|---|---|---|
id | string | ||
properties_filters | PropertiesFilter | repeated | |
transport_ref | BaseRef |
io.spoud.sdm.hooks.domain.v1.DataSubscriptionStateFilter (Message)
Entity DataSubscriptionState
Field | Type | Label | Description |
---|---|---|---|
id | string | ||
properties_filters | PropertiesFilter | repeated | |
transport_ref | BaseRef |
io.spoud.sdm.hooks.domain.v1.OrganizationFilter (Message)
Entity Organization
Field | Type | Label | Description |
---|---|---|---|
id | string | ||
name | string |
io.spoud.sdm.hooks.domain.v1.PropertiesFilter (Message)
General predicate for one meta attribute (exact match)
Field | Type | Label | Description |
---|---|---|---|
key | string | e.g. sdm.transport.kafka.topic | |
value | string | agg_topic_2383 |
io.spoud.sdm.hooks.domain.v1.ResourceGroupFilter (Message)
Entity ResourceGroup
Field | Type | Label | Description |
---|---|---|---|
id | string | ||
properties_filters | PropertiesFilter | repeated |
io.spoud.sdm.hooks.domain.v1.SchemaFilter (Message)
Entity Schema
Field | Type | Label | Description |
---|---|---|---|
id | string | ||
entity_id | string | ||
entity_type | Type |
io.spoud.sdm.hooks.domain.v1.StateChangeFilter (Message)
Possible filters
Field | Type | Label | Description |
---|---|---|---|
data_offer_filter | DataOfferFilter | ||
data_port_filter | DataPortFilter | ||
data_subscription_state_filter | DataSubscriptionStateFilter | ||
resource_group_filter | ResourceGroupFilter | ||
transport_filter | TransportFilter | ||
data_item_filter | DataItemFilter | ||
schema_filter | SchemaFilter | ||
organization_filter | OrganizationFilter | ||
technical_user_filter | TechnicalUserFilter | ||
user_group_filter | UserGroupFilter |
io.spoud.sdm.hooks.domain.v1.StateChangeStartPosition (Message)
Field | Type | Label | Description |
---|---|---|---|
preset | PositionPreset | ||
cursor | string |
io.spoud.sdm.hooks.domain.v1.TechnicalUserFilter (Message)
Entity Technical User
Field | Type | Label | Description |
---|---|---|---|
id | string | ||
user_name | string | ||
organization | string |
io.spoud.sdm.hooks.domain.v1.TransportFilter (Message)
Entity Transport
Field | Type | Label | Description |
---|---|---|---|
id | string | ||
properties_filters | PropertiesFilter | repeated |
io.spoud.sdm.hooks.domain.v1.UserGroupFilter (Message)
Entity User Group
Field | Type | Label | Description |
---|---|---|---|
id | string | ||
name | string | ||
organization | string |
io.spoud.sdm.hooks.domain.v1.PositionPreset (Enum)
Name | Number | Description |
---|---|---|
EARLIEST | 0 | |
LATEST | 1 |
StateChanger¶
Note
- Package: io.spoud.sdm.hooks.v1
- File: hooks/service/v1/hooks.proto
Method Name | Request Type | Response Type | Description |
---|---|---|---|
SubscribeChange | SubscribeChangeRequest | SubscribeChangeResponse stream | subscribe to any changes |
io.spoud.sdm.hooks.v1.SubscribeChangeRequest (Message)
Subscribe Request Each subscribe request will result in a stateful server stream, whereas the server tries to forward state changes only, if: 1) the filter is true (in the case of initial loading or new state) OR 2) an entity previously matching the filter no longer matches the filter (in the case of the new state is no longer interesting)
in case 2) you'll just get the new state once to be able to cleanup or adapt...
The state will be bound to the stream. If there's a communication problem like connection loss, the server should close the connection and do a cleanup. There's no support for resuming a stream. Later on, there will be some mechanisms to clearly express a position to start from (as a param in the request), to avoid always streaming from the beginning.
Field | Type | Label | Description |
---|---|---|---|
start_position | StateChangeStartPosition | ||
filters | StateChangeFilter | repeated |
io.spoud.sdm.hooks.v1.SubscribeChangeResponse (Message)
Subscribe Response The log record response guarantees that all entities in the response are ordered in a consistent way. By consistent it means: 1) by creation timestamp (for initial state loading), by modified timestamp/when things happening (after initial loading, stream) - whereas a "timestamp" should be strictly ordered (sequence, ...) OR 2) by acyclic dependencies (for initial state loading), same as 1) after initial loading.
Field | Type | Label | Description |
---|---|---|---|
log_record | LogRecord | ||
stream_info | StreamInfo |
io.spoud.sdm.logistics.domain.v1.Agent (Message)
Agents
Field | Type | Label | Description |
---|---|---|---|
id | string | ||
name | string | ||
path | string | ||
resource_group | IdPathReference | @deprecated 05.07.2021 use path instead | |
technical_user_id | IdReference | ||
username | string | ||
privilege | PrivilegeInformation | ||
info | DocInfo | additional entity/doc information |
io.spoud.sdm.logistics.domain.v1.DataItem (Message)
DataItem
Field | Type | Label | Description |
---|---|---|---|
id | string | ||
name | string | ||
label | string | ||
properties | PropertiesEntry | repeated | |
transport_url | string | ||
transport | IdReference | ||
deleted | bool | ||
data_port | IdReference | ||
info | DocInfo | additional entity/doc information | |
tags | SimpleTag | repeated | tag list. |
io.spoud.sdm.logistics.domain.v1.DataItem.PropertiesEntry (Message)
Field | Type | Label | Description |
---|---|---|---|
key | string | ||
value | string |
io.spoud.sdm.logistics.domain.v1.DataOffer (Message)
Data Offer
Field | Type | Label | Description |
---|---|---|---|
id | string | ||
name | string | ||
properties | PropertiesEntry | repeated | |
info | DocInfo | additional entity/doc information | |
path | string | ||
resource_group | IdPathReference | @deprecated 05.07.2021 use path instead | |
data_port | IdReference | ||
label | string | ||
tags | SimpleTag | repeated | tag list. |
privilege | PrivilegeInformation |
io.spoud.sdm.logistics.domain.v1.DataOffer.PropertiesEntry (Message)
Field | Type | Label | Description |
---|---|---|---|
key | string | ||
value | string |
io.spoud.sdm.logistics.domain.v1.DataPort (Message)
DataPort
Field | Type | Label | Description |
---|---|---|---|
id | string | ||
name | string | ||
properties | PropertiesEntry | repeated | |
endpoint_url | string | ||
transport | IdReference | ||
deleted | bool | ||
data_offer | IdReference | ||
path | string | ||
info | DocInfo | additional entity/doc information | |
resource_group | IdPathReference | @deprecated 05.07.2021 use path instead | |
label | string | ||
tags | SimpleTag | repeated | tag list. |
privilege | PrivilegeInformation |
io.spoud.sdm.logistics.domain.v1.DataPort.PropertiesEntry (Message)
Field | Type | Label | Description |
---|---|---|---|
key | string | ||
value | string |
io.spoud.sdm.logistics.domain.v1.DataSubscriptionState (Message)
DataSubscriptionState
Field | Type | Label | Description |
---|---|---|---|
id | string | ||
name | string | ||
properties | PropertiesEntry | repeated | |
transport_url | string | ||
data_port | IdReference | ||
deleted | bool | ||
path | string | ||
info | DocInfo | additional entity/doc information | |
resource_group | IdPathReference | @deprecated 05.07.2021 use path instead | |
transport | IdReference | ||
label | string | ||
tags | SimpleTag | repeated | tag list. |
privilege | PrivilegeInformation |
io.spoud.sdm.logistics.domain.v1.DataSubscriptionState.PropertiesEntry (Message)
Field | Type | Label | Description |
---|---|---|---|
key | string | ||
value | string |
io.spoud.sdm.logistics.domain.v1.HistoryEntity (Message)
History
Field | Type | Label | Description |
---|---|---|---|
id | string | ||
type | Type |
io.spoud.sdm.logistics.domain.v1.HistoryEntry (Message)
Field | Type | Label | Description |
---|---|---|---|
source | HistoryEntity | ||
event_type | Type | ||
timestamp | Timestamp | ||
username | string |
io.spoud.sdm.logistics.domain.v1.HistoryEventType (Message)
io.spoud.sdm.logistics.domain.v1.ResourceEntityType (Message)
io.spoud.sdm.logistics.domain.v1.ResourceGroup (Message)
Field | Type | Label | Description |
---|---|---|---|
id | string | ||
name | string | ||
properties | PropertiesEntry | repeated | |
info | DocInfo | additional entity/doc information | |
parent | IdReference | ||
path | string | ||
label | string | @deprecated use name instead | |
privilege | PrivilegeInformation |
io.spoud.sdm.logistics.domain.v1.ResourceGroup.PropertiesEntry (Message)
Field | Type | Label | Description |
---|---|---|---|
key | string | ||
value | string |
io.spoud.sdm.logistics.domain.v1.SimpleTag (Message)
Simplest form of a tag - means just a name
.
Field | Type | Label | Description |
---|---|---|---|
name | string |
io.spoud.sdm.logistics.domain.v1.StateResourceLifecycle (Message)
io.spoud.sdm.logistics.domain.v1.Transport (Message)
Transports
Field | Type | Label | Description |
---|---|---|---|
id | string | ||
name | string | ||
properties | PropertiesEntry | repeated | |
info | DocInfo | additional entity/doc information | |
path | string | ||
resource_group | IdPathReference | @deprecated 05.07.2021 use path instead | |
label | string | @deprecated use name instead | |
privilege | PrivilegeInformation | ||
type | TransportType |
io.spoud.sdm.logistics.domain.v1.Transport.PropertiesEntry (Message)
Field | Type | Label | Description |
---|---|---|---|
key | string | ||
value | string |
io.spoud.sdm.logistics.domain.v1.TransportDataType (Message)
io.spoud.sdm.logistics.domain.v1.TransportType (Message)
Field | Type | Label | Description |
---|---|---|---|
id | string | ||
name | string | ||
initial_properties | InitialPropertiesEntry | repeated | |
info | DocInfo | ||
label | string | ||
data_type | Type | ||
config_template_docker_compose | string | Config template for agent startup |
io.spoud.sdm.logistics.domain.v1.TransportType.InitialPropertiesEntry (Message)
Field | Type | Label | Description |
---|---|---|---|
key | string | ||
value | string |
io.spoud.sdm.logistics.domain.v1.HistoryEventType.Type (Enum)
Name | Number | Description |
---|---|---|
UNKNOWN | 0 | |
CREATED | 1 | |
MODIFIED | 2 | |
DELETED | 3 | |
LINKED | 4 | |
UNLINKED | 5 |
io.spoud.sdm.logistics.domain.v1.ResourceEntityType.Type (Enum)
Name | Number | Description |
---|---|---|
UNKNOWN | 0 | |
DATA_OFFER | 1 | |
DATA_PORT | 2 | |
DATA_SUBSCRIPTION_STATE | 4 | |
DATA_ITEM | 5 |
io.spoud.sdm.logistics.domain.v1.StateResourceLifecycle.Status (Enum)
Name | Number | Description |
---|---|---|
ADOPTED | 0 | |
DELETED | 1 |
io.spoud.sdm.logistics.domain.v1.TransportDataType.Type (Enum)
Name | Number | Description |
---|---|---|
UNKNOWN | 0 | |
DATA_SET | 1 | |
STREAM | 2 |
io.spoud.sdm.permission.domain.v1.PartialReadInformation (Message)
Field | Type | Label | Description |
---|---|---|---|
allowed | bool | ||
path | string |
io.spoud.sdm.permission.domain.v1.Permission (Message)
Field | Type | Label | Description |
---|---|---|---|
subject | IdReference | ||
privilege | Type | repeated | |
info | DocInfo | ||
path | string | ||
resource | ResourceFilter | ||
privilegeInformation | PrivilegeInformation |
io.spoud.sdm.permission.domain.v1.Privilege (Message)
io.spoud.sdm.permission.domain.v1.PrivilegeInformation (Message)
Field | Type | Label | Description |
---|---|---|---|
path | string | ||
privilege | Type | repeated |
io.spoud.sdm.permission.domain.v1.ResourceFilter (Message)
Field | Type | Label | Description |
---|---|---|---|
entity | Type | ||
grouping | Type |
io.spoud.sdm.permission.domain.v1.ResourceGroupings (Message)
io.spoud.sdm.permission.domain.v1.SubjectRef (Message)
Field | Type | Label | Description |
---|---|---|---|
name | string |
io.spoud.sdm.permission.domain.v1.Privilege.Type (Enum)
Name | Number | Description |
---|---|---|
UNKNOWN | 0 | |
READ | 1 | READ -> READ_INFO |
WRITE | 2 | WRITE -> READ WRITE -> LINK |
ADMIN | 3 | ADMIN -> WRITE |
LINK | 4 | LINK -> READ_INFO |
READ_INFO | 5 | READ_INFO -> NONE |
NONE | 6 | NONE |
io.spoud.sdm.permission.domain.v1.ResourceGroupings.Type (Enum)
Name | Number | Description |
---|---|---|
UNKNOWN | 0 | |
ALL | 1 |
io.spoud.sdm.global.domain.v1.ActionInfo (Message)
Field | Type | Label | Description |
---|---|---|---|
username | string | ||
timestamp | Timestamp |
io.spoud.sdm.global.domain.v1.DocInfo (Message)
Field | Type | Label | Description |
---|---|---|---|
created | ActionInfo | ||
last_modified | ActionInfo |
io.spoud.sdm.global.domain.v1.IdPathReference (Message)
Field | Type | Label | Description |
---|---|---|---|
id | string | ||
path | string |
io.spoud.sdm.global.domain.v1.IdReference (Message)
Field | Type | Label | Description |
---|---|---|---|
id | string |
io.spoud.sdm.global.domain.v1.ResourceEntity (Message)
io.spoud.sdm.global.domain.v1.ResourceEntityTypeWrapper (Message)
Field | Type | Label | Description |
---|---|---|---|
value | Type |
io.spoud.sdm.global.domain.v1.ResourceEntity.Type (Enum)
Name | Number | Description |
---|---|---|
UNKNOWN | 0 | |
DATA_OFFER | 1 | |
DATA_PORT | 2 | |
DATA_SUBSCRIPTION_STATE | 4 | |
TRANSPORT | 5 | |
RESOURCE_GROUP | 6 | |
PERMISSION | 7 | |
USER | 8 | |
USER_GROUP | 9 | |
DATA_PROFILE | 10 | |
SCHEMA | 11 | |
DATA_PROFILING_JOB | 12 | @Deprecate since 17.12.2020 we don't use jobs anymore |
ORGANIZATION | 13 | |
DATA_SAMPLE | 14 | @Deprecate since 12.04.2021 we don't use jobs anymore |
TECHNICAL_USER | 15 | user (account) managed completely in collaboration for integration and automation purposes (agents). same authorization is applied as for regular users. |
AGENT | 16 | |
DATA_ITEM | 17 | |
CHECKPOINT | 999 | Used only for hooks |
io.spoud.sdm.global.mutation.v1.PropertyMap (Message)
Wrapper for a map of properties. The default merge option is MERGE. Merge options are:
- MERGE will merge the old list of properties with yours. In case of conflict the value of the request will be taken into account
- REPLACE_ALL will simply take the properties of the request as properties for the entity (and discard old ones)
- REMOVE will remove the properties of the request (value will be ignored, just the key will be used)
Field | Type | Label | Description |
---|---|---|---|
merge_option | MergeOption | ||
properties | PropertiesEntry | repeated |
io.spoud.sdm.global.mutation.v1.PropertyMap.PropertiesEntry (Message)
Field | Type | Label | Description |
---|---|---|---|
key | string | ||
value | string |
io.spoud.sdm.global.mutation.v1.PropertyMap.MergeOption (Enum)
Name | Number | Description |
---|---|---|
MERGE | 0 | |
REPLACE_ALL | 1 | |
REMOVE | 2 |
io.spoud.sdm.global.selection.v1.PageRequest (Message)
Field | Type | Label | Description |
---|---|---|---|
page_size | int32 | same as "first" in graphql | |
page_token | string | same as "after" in graphql pagination |
io.spoud.sdm.global.selection.v1.PageResult (Message)
Field | Type | Label | Description |
---|---|---|---|
next_page_token | string |
io.spoud.sdm.global.selection.v1.BaseRef (Message)
Base ref type. Used for any resource ref without a specific ref message. Support ref evolution by moving from this basic ref type to a dedicated ref messages.
Field | Type | Label | Description |
---|---|---|---|
id_path | IdPathRef |
io.spoud.sdm.global.selection.v1.EntityRef (Message)
Field | Type | Label | Description |
---|---|---|---|
id | string | ||
entity_type | Type |
io.spoud.sdm.global.selection.v1.IdPathRef (Message)
Field | Type | Label | Description |
---|---|---|---|
id | string | ref by id | |
name | string | ref by name | |
path | string | ref by path; |