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