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