Skip to content

Protocol Documentation

Table of Contents

Top

onos/config/v2/transaction.proto

ChangeTransaction

Field Type Label Description
values ChangeTransaction.ValuesEntry repeated 'values' is a set of changes to apply to targets

ChangeTransaction.ValuesEntry

Field Type Label Description
key string
value PathValues

RollbackTransaction

Field Type Label Description
rollback_index uint64 'rollback_index' is the index of the transaction to roll back

TargetVersionOverrides

TargetVersionOverrides carries optional mappings of targets to their model type and version overrides.

Field Type Label Description
overrides TargetVersionOverrides.OverridesEntry repeated

TargetVersionOverrides.OverridesEntry

Field Type Label Description
key string
value TargetTypeVersion

Transaction

Transaction refers to a transaction change or transaction rollback

Field Type Label Description
meta ObjectMeta
id string 'id' is the unique identifier of the transaction This field should be set prior to persisting the object.
index uint64 'index' is a monotonically increasing, globally unique index of the change The index is provided by the store, is static and unique for each unique change identifier, and should not be modified by client code.
username string 'username' is the name of the user that made the transaction
strategy TransactionStrategy 'strategy' is the transaction strategy
change ChangeTransaction
rollback RollbackTransaction
status TransactionStatus 'status' is the current lifecycle status of the transaction
version_overrides TargetVersionOverrides Optional target type/version overrides.

TransactionAbortPhase

Field Type Label Description
status TransactionPhaseStatus
state TransactionAbortPhase.State

TransactionApplyPhase

Field Type Label Description
status TransactionPhaseStatus
state TransactionApplyPhase.State
failure Failure

TransactionCommitPhase

Field Type Label Description
status TransactionPhaseStatus
state TransactionCommitPhase.State

TransactionEvent

TransactionEvent transaction store event

Field Type Label Description
type TransactionEvent.EventType
transaction Transaction

TransactionInfo

TransactionInfo is an extension providing information about the transaction to clients in responses.

Field Type Label Description
id string
index uint64

TransactionInitializePhase

Field Type Label Description
status TransactionPhaseStatus
state TransactionInitializePhase.State
failure Failure

TransactionPhaseStatus

Field Type Label Description
start google.protobuf.Timestamp
end google.protobuf.Timestamp

TransactionPhases

Field Type Label Description
initialize TransactionInitializePhase 'initialize' is the transaction initialization phase status
validate TransactionValidatePhase 'validate' is the transaction validation phase status
commit TransactionCommitPhase 'commit' is the transaction commit phase status
apply TransactionApplyPhase 'apply' is the transaction apply phase status
abort TransactionAbortPhase 'abort' is the transaction abort phase status

TransactionStatus

Field Type Label Description
phases TransactionPhases 'phases' is the transaction phases
proposals string repeated 'proposals' is the set of proposals managed by the transaction
state TransactionStatus.State 'state' is the overall transaction state
failure Failure 'failure' is the transaction failure (if any)

TransactionStrategy

Field Type Label Description
synchronicity TransactionStrategy.Synchronicity 'synchronicity' indicates the transaction synchronicity level
isolation TransactionStrategy.Isolation 'isolation' indicates the transaction isolation level

TransactionValidatePhase

Field Type Label Description
status TransactionPhaseStatus
state TransactionValidatePhase.State
failure Failure

TransactionAbortPhase.State

Name Number Description
ABORTING 0
ABORTED 1

TransactionApplyPhase.State

Name Number Description
APPLYING 0
APPLIED 1
FAILED 2

TransactionCommitPhase.State

Name Number Description
COMMITTING 0
COMMITTED 1

TransactionEvent.EventType

EventType transaction event types for transaction store

Name Number Description
UNKNOWN 0
CREATED 1
UPDATED 2
DELETED 3
REPLAYED 4

TransactionInitializePhase.State

Name Number Description
INITIALIZING 0
INITIALIZED 1
FAILED 2

TransactionStatus.State

Name Number Description
PENDING 0
VALIDATED 1
COMMITTED 2
APPLIED 3
FAILED 4

TransactionStrategy.Isolation

Name Number Description
DEFAULT 0
SERIALIZABLE 1

TransactionStrategy.Synchronicity

Name Number Description
ASYNCHRONOUS 0
SYNCHRONOUS 1

TransactionValidatePhase.State

Name Number Description
VALIDATING 0
VALIDATED 1
FAILED 2

Scalar Value Types

.proto Type Notes C++ Java Python Go C# PHP Ruby
double double double float float64 double float Float
float float float float float32 float float Float
int32 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. int32 int int int32 int integer Bignum or Fixnum (as required)
int64 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. int64 long int/long int64 long integer/string Bignum
uint32 Uses variable-length encoding. uint32 int int/long uint32 uint integer Bignum or Fixnum (as required)
uint64 Uses variable-length encoding. uint64 long int/long uint64 ulong integer/string Bignum or Fixnum (as required)
sint32 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. int32 int int int32 int integer Bignum or Fixnum (as required)
sint64 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. int64 long int/long int64 long integer/string Bignum
fixed32 Always four bytes. More efficient than uint32 if values are often greater than 2^28. uint32 int int uint32 uint integer Bignum or Fixnum (as required)
fixed64 Always eight bytes. More efficient than uint64 if values are often greater than 2^56. uint64 long int/long uint64 ulong integer/string Bignum
sfixed32 Always four bytes. int32 int int int32 int integer Bignum or Fixnum (as required)
sfixed64 Always eight bytes. int64 long int/long int64 long integer/string Bignum
bool bool boolean boolean bool bool boolean TrueClass/FalseClass
string A string must always contain UTF-8 encoded or 7-bit ASCII text. string String str/unicode string string string String (UTF-8)
bytes May contain any arbitrary sequence of bytes. string ByteString str []byte ByteString string String (ASCII-8BIT)