lambdacd.state.protocols
Defines protocols that need to be implemented by a state component
BuildMetadataConsumer
protocol
Components implementing this protocol can update the metadata for a particular build
members
consume-build-metadata
(consume-build-metadata self build-number metadata)
Tells the component to update the metadata of a particular build.
BuildMetadataSource
protocol
Components implementing this protocol can supply metadata for a particular build
members
get-build-metadata
(get-build-metadata self build-number)
Returns a map describing the metadata for a particular build
NextBuildNumberSource
protocol
Components implementing this protocol provide the LambdaCD execution engine with new build numbers
members
next-build-number
(next-build-number self)
Returns the build number for the next build. Must be an integer and greater than all existing build numbers
PipelineStructureConsumer
protocol
Components implementing this protocol can set the structure a pipeline had for a particular build
members
consume-pipeline-structure
(consume-pipeline-structure self build-number pipeline-structure-representation)
Tells the component to update the structure of a particular build.
PipelineStructureSource
protocol
Components implementing this protocol can supply the structure of the pipeline for a particular build
members
get-pipeline-structure
(get-pipeline-structure self build-number)
Returns a map describing the pipeline of for a particular build
QueryAllBuildNumbersSource
protocol
Components implementing this protocol can supply a list of all build numbers present in the datastore
members
all-build-numbers
(all-build-numbers self)
Returns a sorted list of build numbers present in the datastore
QueryStepResultsSource
protocol
Components implementing this protocol can supply steps results of a build
members
get-step-results
(get-step-results self build-number)
Returns a map of step-id to step results
StepResultUpdateConsumer
protocol
Components implementing this protocol can update the state of the pipeline
members
consume-step-result-update
(consume-step-result-update self build-number step-id step-result)
Tells the component to update the result of a particular step. Is called on every update so it needs to handle lots of requests