Documentation ¶
Index ¶
- Constants
- Variables
- func CustomValueValidation(name string, setting cty.Value, evalCtx *hcl.EvalContext) hcl.Diagnostics
- func DefaultIntegrations() (map[string]Integration, error)
- func DefaultNotifiers(defaultHttpIntegration Integration) (map[string]Notifier, error)
- func FindRequiredConnection(expr hcl.Expression) string
- func GetTriggerTypeFromTriggerConfig(config TriggerConfig) string
- func HclImplFromAttributes(hclResourceImpl *modconfig.HclResourceImpl, hclAttributes hcl.Attributes, ...) hcl.Diagnostics
- func IsConnectionError(diags hcl.Diagnostics) bool
- func IsConnectionExpr(expr hcl.Expression) bool
- func IsConnectionIndexTraversal(indexExpr *hclsyntax.IndexExpr) bool
- func IsConnectionScopeTraversal(scopeTraversals *hclsyntax.ScopeTraversalExpr) bool
- func NewModResources(mod *modconfig.Mod, sourceMaps ...modconfig.ModResources) modconfig.ModResources
- type BasicAuthConfig
- type ConnectionDependency
- func FindConnectionFromDiags(diags hcl.Diagnostics) []ConnectionDependency
- func GuessRequiredConnection(expr hcl.Expression) []ConnectionDependency
- func GuessRequiredConnectionIndex(indexExpr *hclsyntax.IndexExpr) []ConnectionDependency
- func GuessRequiredConnectionRelativeTraversal(relativeTraversal *hclsyntax.RelativeTraversalExpr) []ConnectionDependency
- func GuessRequiredConnectionScopeTraversal(scopeTraversals *hclsyntax.ScopeTraversalExpr) []ConnectionDependency
- func GuessRequiredConnectionTemplate(templateExpr *hclsyntax.TemplateExpr) []ConnectionDependency
- type EmailIntegration
- func (i *EmailIntegration) CtyValue() (cty.Value, error)
- func (i *EmailIntegration) Equals(other Integration) bool
- func (i *EmailIntegration) GetIntegrationType() string
- func (i *EmailIntegration) MapInterface() (map[string]interface{}, error)
- func (i *EmailIntegration) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
- func (i *EmailIntegration) Validate() hcl.Diagnostics
- type ErrorConfig
- func (e *ErrorConfig) AddUnresolvedAttribute(name string, expr hcl.Expression)
- func (e *ErrorConfig) AppendConnectionDependsOn(...string)
- func (e *ErrorConfig) AppendCredentialDependsOn(...string)
- func (e *ErrorConfig) AppendDependsOn(dependsOn ...string)
- func (e *ErrorConfig) Equals(other *ErrorConfig) bool
- func (e *ErrorConfig) GetPipeline() *Pipeline
- func (e *ErrorConfig) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
- func (e *ErrorConfig) Validate() bool
- type FlowpipeModResources
- func (m *FlowpipeModResources) AddMaps(sourceMaps ...modconfig.ModResources)
- func (m *FlowpipeModResources) AddReference(ref *modconfig.ResourceReference)
- func (m *FlowpipeModResources) AddResource(item modconfig.HclResource) hcl.Diagnostics
- func (m *FlowpipeModResources) Empty() bool
- func (m *FlowpipeModResources) Equals(o modconfig.ModResources) bool
- func (m *FlowpipeModResources) GetMods() map[string]*modconfig.Mod
- func (m *FlowpipeModResources) GetReferences() map[string]*modconfig.ResourceReference
- func (m *FlowpipeModResources) GetResource(parsedName *modconfig.ParsedResourceName) (resource modconfig.HclResource, found bool)
- func (m *FlowpipeModResources) GetVariables() map[string]*modconfig.Variable
- func (m *FlowpipeModResources) TopLevelResources() modconfig.ModResources
- func (m *FlowpipeModResources) WalkResources(resourceFunc func(item modconfig.HclResource) (bool, error)) error
- type HttpIntegration
- func (i *HttpIntegration) CtyValue() (cty.Value, error)
- func (i *HttpIntegration) Equals(other Integration) bool
- func (i *HttpIntegration) GetIntegrationType() string
- func (i *HttpIntegration) MapInterface() (map[string]interface{}, error)
- func (i *HttpIntegration) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
- func (i *HttpIntegration) Validate() hcl.Diagnostics
- type Input
- type Integration
- type IntegrationImpl
- type LoopContainerStep
- func (l *LoopContainerStep) Equals(other LoopDefn) bool
- func (*LoopContainerStep) GetType() string
- func (l *LoopContainerStep) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
- func (l *LoopContainerStep) UpdateInput(input Input, evalContext *hcl.EvalContext) (Input, error)
- type LoopDefn
- type LoopEmailStep
- type LoopFunctionStep
- func (l *LoopFunctionStep) Equals(other LoopDefn) bool
- func (*LoopFunctionStep) GetType() string
- func (l *LoopFunctionStep) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
- func (l *LoopFunctionStep) UpdateInput(input Input, evalContext *hcl.EvalContext) (Input, error)
- type LoopHttpStep
- type LoopInputStep
- func (l *LoopInputStep) Equals(other LoopDefn) bool
- func (s *LoopInputStep) GetType() string
- func (l *LoopInputStep) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
- func (l *LoopInputStep) UpdateInput(input Input, evalContext *hcl.EvalContext) (Input, error)
- type LoopMessageStep
- func (l *LoopMessageStep) Equals(other LoopDefn) bool
- func (s *LoopMessageStep) GetType() string
- func (l *LoopMessageStep) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
- func (l *LoopMessageStep) UpdateInput(input Input, evalContext *hcl.EvalContext) (Input, error)
- type LoopPipelineStep
- func (l *LoopPipelineStep) Equals(other LoopDefn) bool
- func (*LoopPipelineStep) GetType() string
- func (l *LoopPipelineStep) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
- func (l *LoopPipelineStep) UpdateInput(input Input, evalContext *hcl.EvalContext) (Input, error)
- type LoopQueryStep
- type LoopSleepStep
- type LoopStep
- func (l *LoopStep) AddUnresolvedAttribute(name string, expr hcl.Expression)
- func (*LoopStep) AppendConnectionDependsOn(...string)
- func (*LoopStep) AppendCredentialDependsOn(...string)
- func (l *LoopStep) AppendDependsOn(dependsOn ...string)
- func (l LoopStep) Equals(other LoopStep) bool
- func (l *LoopStep) GetPipeline() *Pipeline
- func (l *LoopStep) GetUnresolvedAttributes() map[string]hcl.Expression
- func (l *LoopStep) ResolveUntil(evalContext *hcl.EvalContext) (bool, hcl.Diagnostics)
- func (l *LoopStep) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
- type LoopTransformStep
- func (l *LoopTransformStep) Equals(other LoopDefn) bool
- func (*LoopTransformStep) GetType() string
- func (s *LoopTransformStep) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
- func (l *LoopTransformStep) UpdateInput(input Input, evalContext *hcl.EvalContext) (Input, error)
- type MsTeamsIntegration
- func (i *MsTeamsIntegration) CtyValue() (cty.Value, error)
- func (i *MsTeamsIntegration) Equals(other Integration) bool
- func (i *MsTeamsIntegration) GetIntegrationType() string
- func (i *MsTeamsIntegration) MapInterface() (map[string]interface{}, error)
- func (i *MsTeamsIntegration) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
- func (i *MsTeamsIntegration) Validate() hcl.Diagnostics
- type NextStep
- type NextStepAction
- type Notifier
- type NotifierImpl
- func (n *NotifierImpl) CtyValue() (cty.Value, error)
- func (n *NotifierImpl) CustomType()
- func (n *NotifierImpl) Equals(other Notifier) bool
- func (n *NotifierImpl) GetNotifierImpl() *NotifierImpl
- func (n *NotifierImpl) GetNotifies() []Notify
- func (n *NotifierImpl) SetFileReference(fileName string, startLineNumber int, endLineNumber int)
- func (n *NotifierImpl) Validate() hcl.Diagnostics
- type Notify
- func (n *Notify) CtyValue() (cty.Value, error)
- func (n *Notify) Equals(other *Notify) bool
- func (n *Notify) MapInterface() (map[string]interface{}, error)
- func (n *Notify) SetAttributes(body hcl.Body, evalCtx *hcl.EvalContext) hcl.Diagnostics
- func (n *Notify) UnmarshalJSON(data []byte) error
- func (n *Notify) Validate() hcl.Diagnostics
- type Output
- type OutputData
- type Pipeline
- func (p *Pipeline) CtyValue() (cty.Value, error)
- func (p *Pipeline) Equals(other *Pipeline) bool
- func (p *Pipeline) GetMod() *modconfig.Mod
- func (p *Pipeline) GetParam(paramName string) *PipelineParam
- func (p *Pipeline) GetParams() []PipelineParam
- func (p *Pipeline) GetStep(stepFullyQualifiedName string) PipelineStep
- func (p *Pipeline) OnDecoded(*hcl.Block, modconfig.ModResourcesProvider) hcl.Diagnostics
- func (p *Pipeline) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
- func (p *Pipeline) SetFileReference(fileName string, startLineNumber int, endLineNumber int)
- func (p *Pipeline) SetOptions(_ options.Options, block *hcl.Block) hcl.Diagnostics
- func (p *Pipeline) UnmarshalJSON(data []byte) error
- type PipelineOutput
- type PipelineParam
- func (p *PipelineParam) Equals(other *PipelineParam) bool
- func (p *PipelineParam) IsConnectionType() bool
- func (p *PipelineParam) IsNotifierType() bool
- func (p *PipelineParam) PipelineParamCustomValueValidation(setting cty.Value, evalCtx *hcl.EvalContext) hcl.Diagnostics
- func (p *PipelineParam) ValidateSetting(setting cty.Value, evalCtx *hcl.EvalContext) (bool, hcl.Diagnostics, error)
- type PipelineStep
- type PipelineStepBase
- func (p *PipelineStepBase) AddUnresolvedAttribute(name string, expr hcl.Expression)
- func (p *PipelineStepBase) AddUnresolvedBody(name string, body hcl.Body)
- func (p *PipelineStepBase) AppendConnectionDependsOn(connectionDependsOn ...string)
- func (p *PipelineStepBase) AppendCredentialDependsOn(credentialDependsOn ...string)
- func (p *PipelineStepBase) AppendDependsOn(dependsOn ...string)
- func (p *PipelineStepBase) Equals(other *PipelineStepBase) bool
- func (p *PipelineStepBase) GetBaseInputs(evalContext *hcl.EvalContext) (map[string]interface{}, error)
- func (p *PipelineStepBase) GetConnectionDependsOn() []string
- func (p *PipelineStepBase) GetCredentialDependsOn() []string
- func (p *PipelineStepBase) GetDependsOn() []string
- func (p *PipelineStepBase) GetErrorConfig(evalContext *hcl.EvalContext, ifResolution bool) (*ErrorConfig, hcl.Diagnostics)
- func (p *PipelineStepBase) GetForEach() hcl.Expression
- func (p *PipelineStepBase) GetFullyQualifiedName() string
- func (p *PipelineStepBase) GetInputs2(*hcl.EvalContext) (map[string]interface{}, []ConnectionDependency, error)
- func (p *PipelineStepBase) GetLoopConfig() LoopDefn
- func (p *PipelineStepBase) GetMaxConcurrency(evalContext *hcl.EvalContext) *int
- func (p *PipelineStepBase) GetName() string
- func (p *PipelineStepBase) GetOutputConfig() map[string]*PipelineOutput
- func (p *PipelineStepBase) GetPipeline() *Pipeline
- func (p *PipelineStepBase) GetPipelineName() string
- func (p *PipelineStepBase) GetRange() *hcl.Range
- func (p *PipelineStepBase) GetRetryConfig(evalContext *hcl.EvalContext, ifResolution bool) (*RetryConfig, hcl.Diagnostics)
- func (p *PipelineStepBase) GetThrowConfig() []*ThrowConfig
- func (p *PipelineStepBase) GetType() string
- func (p *PipelineStepBase) GetUnresolvedAttributes() map[string]hcl.Expression
- func (p *PipelineStepBase) HandleDecodeBodyDiags(diags hcl.Diagnostics, attributeName string, body hcl.Body) hcl.Diagnostics
- func (p *PipelineStepBase) Initialize()
- func (p *PipelineStepBase) IsBaseAttribute(name string) bool
- func (p *PipelineStepBase) IsResolved() bool
- func (p *PipelineStepBase) SetBaseAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
- func (p *PipelineStepBase) SetBlockConfig(blocks hcl.Blocks, evalContext *hcl.EvalContext) hcl.Diagnostics
- func (p *PipelineStepBase) SetFileReference(fileName string, startLineNumber int, endLineNumber int)
- func (p *PipelineStepBase) SetName(name string)
- func (p *PipelineStepBase) SetOutputConfig(output map[string]*PipelineOutput)
- func (p *PipelineStepBase) SetPipeline(pipeline *Pipeline)
- func (p *PipelineStepBase) SetPipelineName(pipelineName string)
- func (p *PipelineStepBase) SetRange(r *hcl.Range)
- func (p *PipelineStepBase) SetResolved(resolved bool)
- func (p *PipelineStepBase) SetType(stepType string)
- func (p *PipelineStepBase) Validate() hcl.Diagnostics
- func (p *PipelineStepBase) ValidateBaseAttributes() hcl.Diagnostics
- type PipelineStepBaseInterface
- type PipelineStepContainer
- func (p *PipelineStepContainer) Equals(iOther PipelineStep) bool
- func (p *PipelineStepContainer) GetInputs(evalContext *hcl.EvalContext) (map[string]interface{}, error)
- func (p *PipelineStepContainer) GetInputs2(evalContext *hcl.EvalContext) (map[string]interface{}, []ConnectionDependency, error)
- func (p *PipelineStepContainer) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
- func (p *PipelineStepContainer) Validate() hcl.Diagnostics
- type PipelineStepEmail
- func (p *PipelineStepEmail) Equals(iOther PipelineStep) bool
- func (p *PipelineStepEmail) GetInputs(evalContext *hcl.EvalContext) (map[string]interface{}, error)
- func (p *PipelineStepEmail) GetInputs2(evalContext *hcl.EvalContext) (map[string]interface{}, []ConnectionDependency, error)
- func (p *PipelineStepEmail) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
- type PipelineStepFunction
- func (p *PipelineStepFunction) Equals(iOther PipelineStep) bool
- func (p *PipelineStepFunction) GetInputs(evalContext *hcl.EvalContext) (map[string]interface{}, error)
- func (p *PipelineStepFunction) GetInputs2(evalContext *hcl.EvalContext) (map[string]interface{}, []ConnectionDependency, error)
- func (p *PipelineStepFunction) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
- func (p *PipelineStepFunction) Validate() hcl.Diagnostics
- type PipelineStepHttp
- func (p *PipelineStepHttp) Equals(iOther PipelineStep) bool
- func (p *PipelineStepHttp) GetInputs(evalContext *hcl.EvalContext) (map[string]interface{}, error)
- func (p *PipelineStepHttp) GetInputs2(evalContext *hcl.EvalContext) (map[string]interface{}, []ConnectionDependency, error)
- func (p *PipelineStepHttp) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
- func (p *PipelineStepHttp) SetBlockConfig(blocks hcl.Blocks, evalContext *hcl.EvalContext) hcl.Diagnostics
- func (p *PipelineStepHttp) Validate() hcl.Diagnostics
- type PipelineStepInput
- func (p *PipelineStepInput) Equals(other PipelineStep) bool
- func (p *PipelineStepInput) GetInputs(evalContext *hcl.EvalContext) (map[string]interface{}, error)
- func (p *PipelineStepInput) GetInputs2(evalContext *hcl.EvalContext) (map[string]interface{}, []ConnectionDependency, error)
- func (p *PipelineStepInput) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
- func (p *PipelineStepInput) SetBlockConfig(blocks hcl.Blocks, evalContext *hcl.EvalContext) hcl.Diagnostics
- func (p *PipelineStepInput) Validate() hcl.Diagnostics
- type PipelineStepInputOption
- func (p *PipelineStepInputOption) AddUnresolvedAttribute(name string, expr hcl.Expression)
- func (p *PipelineStepInputOption) AppendConnectionDependsOn(...string)
- func (p *PipelineStepInputOption) AppendCredentialDependsOn(...string)
- func (p *PipelineStepInputOption) AppendDependsOn(dependsOn ...string)
- func (p *PipelineStepInputOption) Equals(other *PipelineStepInputOption) bool
- func (p *PipelineStepInputOption) GetPipeline() *Pipeline
- func (p *PipelineStepInputOption) Resolve(evalContext *hcl.EvalContext) (*PipelineStepInputOption, hcl.Diagnostics)
- func (p *PipelineStepInputOption) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
- func (p *PipelineStepInputOption) Validate() hcl.Diagnostics
- type PipelineStepMessage
- func (p *PipelineStepMessage) Equals(iOther PipelineStep) bool
- func (p *PipelineStepMessage) GetInputs(evalContext *hcl.EvalContext) (map[string]interface{}, error)
- func (p *PipelineStepMessage) GetInputs2(evalContext *hcl.EvalContext) (map[string]interface{}, []ConnectionDependency, error)
- func (p *PipelineStepMessage) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
- type PipelineStepPipeline
- func (p *PipelineStepPipeline) Equals(iOther PipelineStep) bool
- func (p *PipelineStepPipeline) GetInputs(evalContext *hcl.EvalContext) (map[string]interface{}, error)
- func (p *PipelineStepPipeline) GetInputs2(evalContext *hcl.EvalContext) (map[string]interface{}, []ConnectionDependency, error)
- func (p *PipelineStepPipeline) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
- type PipelineStepQuery
- func (p *PipelineStepQuery) Equals(iOther PipelineStep) bool
- func (p *PipelineStepQuery) GetInputs(evalContext *hcl.EvalContext) (map[string]interface{}, error)
- func (p *PipelineStepQuery) GetInputs2(evalContext *hcl.EvalContext) (map[string]interface{}, []ConnectionDependency, error)
- func (p *PipelineStepQuery) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
- func (p *PipelineStepQuery) Validate() hcl.Diagnostics
- type PipelineStepSleep
- func (p *PipelineStepSleep) Equals(iOther PipelineStep) bool
- func (p *PipelineStepSleep) GetInputs(evalContext *hcl.EvalContext) (map[string]interface{}, error)
- func (p *PipelineStepSleep) GetInputs2(evalContext *hcl.EvalContext) (map[string]interface{}, []ConnectionDependency, error)
- func (p *PipelineStepSleep) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
- func (p *PipelineStepSleep) Validate() hcl.Diagnostics
- type PipelineStepTransform
- func (p *PipelineStepTransform) Equals(iOther PipelineStep) bool
- func (p *PipelineStepTransform) GetInputs(evalContext *hcl.EvalContext) (map[string]interface{}, error)
- func (p *PipelineStepTransform) GetInputs2(evalContext *hcl.EvalContext) (map[string]interface{}, []ConnectionDependency, error)
- func (p *PipelineStepTransform) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
- type ResourceWithParam
- type RetryConfig
- func (r *RetryConfig) AddUnresolvedAttribute(name string, expr hcl.Expression)
- func (r *RetryConfig) AppendConnectionDependsOn(...string)
- func (r *RetryConfig) AppendCredentialDependsOn(...string)
- func (r *RetryConfig) AppendDependsOn(dependsOn ...string)
- func (r *RetryConfig) CalculateBackoff(attempt int) time.Duration
- func (r *RetryConfig) Equals(other *RetryConfig) bool
- func (r *RetryConfig) GetPipeline() *Pipeline
- func (r *RetryConfig) ResolveSettings() (int, string, int, int)
- func (r *RetryConfig) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
- func (r *RetryConfig) Validate() hcl.Diagnostics
- type SlackIntegration
- func (i *SlackIntegration) CtyValue() (cty.Value, error)
- func (i *SlackIntegration) Equals(other Integration) bool
- func (i *SlackIntegration) GetIntegrationType() string
- func (i *SlackIntegration) MapInterface() (map[string]interface{}, error)
- func (i *SlackIntegration) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
- func (i *SlackIntegration) Validate() hcl.Diagnostics
- type StepError
- type StepForEach
- type StepLoop
- type StepRetry
- type ThrowConfig
- func (t *ThrowConfig) AddUnresolvedAttribute(name string, expr hcl.Expression)
- func (t *ThrowConfig) AppendConnectionDependsOn(...string)
- func (t *ThrowConfig) AppendCredentialDependsOn(...string)
- func (t *ThrowConfig) AppendDependsOn(dependsOn ...string)
- func (t *ThrowConfig) Equals(other *ThrowConfig) bool
- func (t *ThrowConfig) GetPipeline() *Pipeline
- func (t *ThrowConfig) Resolve(evalContext *hcl.EvalContext) (*ThrowConfig, hcl.Diagnostics)
- func (t *ThrowConfig) SetAttributes(throwBlock *hcl.Block, hclAttributes hcl.Attributes, ...) hcl.Diagnostics
- type Trigger
- func (t *Trigger) Equals(other *Trigger) bool
- func (t *Trigger) GetArgs(evalContext *hcl.EvalContext) (Input, hcl.Diagnostics)
- func (t *Trigger) GetMod() *modconfig.Mod
- func (t *Trigger) GetParam(paramName string) *PipelineParam
- func (t *Trigger) GetParams() []PipelineParam
- func (t *Trigger) GetPipeline() cty.Value
- func (t *Trigger) IsBaseAttribute(name string) bool
- func (t *Trigger) SetBaseAttributes(mod *modconfig.Mod, hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
- func (t *Trigger) SetFileReference(fileName string, startLineNumber int, endLineNumber int)
- type TriggerConfig
- type TriggerHTTPMethod
- type TriggerHttp
- func (t *TriggerHttp) AddUnresolvedAttribute(key string, value hcl.Expression)
- func (t *TriggerHttp) AppendConnectionDependsOn(connectionDependsOn ...string)
- func (t *TriggerHttp) AppendCredentialDependsOn(...string)
- func (t *TriggerHttp) AppendsDependsOn(dependsOn ...string)
- func (t *TriggerHttp) Equals(other TriggerConfig) bool
- func (t *TriggerHttp) GetConfig(*hcl.EvalContext, *modconfig.Mod) (TriggerConfig, error)
- func (t *TriggerHttp) GetConnectionDependsOn() []string
- func (t *TriggerHttp) GetPipeline() *Pipeline
- func (t *TriggerHttp) GetType() string
- func (t *TriggerHttp) GetUnresolvedAttributes() map[string]hcl.Expression
- func (t *TriggerHttp) SetAttributes(mod *modconfig.Mod, trigger *Trigger, hclAttributes hcl.Attributes, ...) hcl.Diagnostics
- func (t *TriggerHttp) SetBlocks(mod *modconfig.Mod, trigger *Trigger, hclBlocks hcl.Blocks, ...) hcl.Diagnostics
- type TriggerQuery
- func (t *TriggerQuery) AddUnresolvedAttribute(key string, value hcl.Expression)
- func (t *TriggerQuery) AppendConnectionDependsOn(connectionDependsOn ...string)
- func (t *TriggerQuery) AppendCredentialDependsOn(...string)
- func (t *TriggerQuery) AppendDependsOn(...string)
- func (t *TriggerQuery) Equals(other TriggerConfig) bool
- func (t *TriggerQuery) GetConfig(evalContext *hcl.EvalContext, mod *modconfig.Mod) (TriggerConfig, error)
- func (t *TriggerQuery) GetConnectionDependsOn() []string
- func (t *TriggerQuery) GetPipeline() *Pipeline
- func (t *TriggerQuery) GetType() string
- func (t *TriggerQuery) GetUnresolvedAttributes() map[string]hcl.Expression
- func (t *TriggerQuery) SetAttributes(mod *modconfig.Mod, trigger *Trigger, hclAttributes hcl.Attributes, ...) hcl.Diagnostics
- func (t *TriggerQuery) SetBlocks(mod *modconfig.Mod, trigger *Trigger, hclBlocks hcl.Blocks, ...) hcl.Diagnostics
- type TriggerQueryCapture
- type TriggerSchedule
- func (t *TriggerSchedule) AddUnresolvedAttribute(key string, value hcl.Expression)
- func (t *TriggerSchedule) AppendConnectionDependsOn(connectionDependsOn ...string)
- func (t *TriggerSchedule) AppendCredentialDependsOn(...string)
- func (t *TriggerSchedule) AppendsDependsOn(dependsOn ...string)
- func (t *TriggerSchedule) Equals(other TriggerConfig) bool
- func (t *TriggerSchedule) GetConfig(evalContext *hcl.EvalContext, mod *modconfig.Mod) (TriggerConfig, error)
- func (t *TriggerSchedule) GetConnectionDependsOn() []string
- func (t *TriggerSchedule) GetPipeline() *Pipeline
- func (t *TriggerSchedule) GetType() string
- func (t *TriggerSchedule) GetUnresolvedAttributes() map[string]hcl.Expression
- func (t *TriggerSchedule) SetAttributes(mod *modconfig.Mod, trigger *Trigger, hclAttributes hcl.Attributes, ...) hcl.Diagnostics
- func (t *TriggerSchedule) SetBlocks(mod *modconfig.Mod, trigger *Trigger, hclBlocks hcl.Blocks, ...) hcl.Diagnostics
Constants ¶
const ( HttpMethodGet = "get" HttpMethodPost = "post" HttpMethodPut = "put" HttpMethodDelete = "delete" HttpMethodPatch = "patch" )
const ( DefaultMaxAttempts = 3 DefaultStrategy = "constant" DefaultMinInterval = 1000 DefaultMaxInterval = 10000 )
Variables ¶
var IntegrationEmailBlockSchema = &hcl.BodySchema{ Attributes: []hcl.AttributeSchema{ { Name: schema.AttributeTypeDescription, Required: false, }, { Name: schema.AttributeTypeTitle, Required: false, }, { Name: schema.AttributeTypeSmtpTls, Required: false, }, { Name: schema.AttributeTypeSmtpHost, Required: true, }, { Name: schema.AttributeTypeSmtpPort, Required: false, }, { Name: schema.AttributeTypeSmtpsPort, Required: false, }, { Name: schema.AttributeTypeSmtpUsername, Required: false, }, { Name: schema.AttributeTypeSmtpPassword, Required: false, }, { Name: schema.AttributeTypeFrom, Required: true, }, { Name: schema.AttributeTypeTo, Required: false, }, { Name: schema.AttributeTypeCc, Required: false, }, { Name: schema.AttributeTypeBcc, Required: false, }, { Name: schema.AttributeTypeSubject, Required: false, }, { Name: schema.AttributeTypeResponseUrl, Required: false, }, }, }
var IntegrationSlackBlockSchema = &hcl.BodySchema{ Attributes: []hcl.AttributeSchema{ { Name: schema.AttributeTypeDescription, Required: false, }, { Name: schema.AttributeTypeTitle, Required: false, }, { Name: schema.AttributeTypeToken, Required: false, }, { Name: schema.AttributeTypeSigningSecret, Required: false, }, { Name: schema.AttributeTypeWebhookUrl, Required: false, }, }, }
var IntegrationTeamsBlockSchema = &hcl.BodySchema{ Attributes: []hcl.AttributeSchema{ { Name: schema.AttributeTypeDescription, Required: false, }, { Name: schema.AttributeTypeTitle, Required: false, }, { Name: schema.AttributeTypeWebhookUrl, Required: true, }, }, }
var PipelineBasicAuthBlockSchema = &hcl.BodySchema{ Attributes: []hcl.AttributeSchema{ { Name: schema.AttributeTypeUsername, Required: true, }, { Name: schema.AttributeTypePassword, Required: true, }, }, }
var PipelineBlockSchema = &hcl.BodySchema{ Attributes: []hcl.AttributeSchema{ { Name: schema.AttributeTypeDescription, Required: false, }, { Name: schema.AttributeTypeTitle, Required: false, }, { Name: schema.AttributeTypeDocumentation, Required: false, }, { Name: schema.AttributeTypeTags, Required: false, }, { Name: schema.AttributeTypeMaxConcurrency, }, }, Blocks: []hcl.BlockHeaderSchema{ { Type: schema.BlockTypeParam, LabelNames: []string{schema.LabelName}, }, { Type: schema.BlockTypePipelineStep, LabelNames: []string{schema.LabelType, schema.LabelName}, }, { Type: schema.BlockTypePipelineOutput, LabelNames: []string{schema.LabelName}, }, }, }
var PipelineOutputBlockSchema = &hcl.BodySchema{ Attributes: []hcl.AttributeSchema{ { Name: schema.AttributeTypeDescription, }, { Name: schema.AttributeTypeValue, Required: true, }, }, }
var PipelineParamBlockSchema = &hcl.BodySchema{ Attributes: []hcl.AttributeSchema{ { Name: schema.AttributeTypeType, }, { Name: schema.AttributeTypeDefault, }, { Name: schema.AttributeTypeEnum, Required: false, }, { Name: schema.AttributeTypeTags, Required: false, }, { Name: schema.AttributeTypeDescription, Required: false, }, { Name: schema.AttributeTypeOptional, Required: false, }, { Name: schema.AttributeTypeFormat, Required: false, }, }, }
var PipelineStepContainerBlockSchema = &hcl.BodySchema{ Attributes: []hcl.AttributeSchema{ { Name: schema.AttributeTypeTitle, }, { Name: schema.AttributeTypeDescription, }, { Name: schema.AttributeTypeTimeout, }, { Name: schema.AttributeTypeForEach, }, { Name: schema.AttributeTypeDependsOn, }, { Name: schema.AttributeTypeIf, }, { Name: schema.AttributeTypeImage, }, { Name: schema.AttributeTypeSource, }, { Name: schema.AttributeTypeCmd, }, { Name: schema.AttributeTypeEnv, }, { Name: schema.AttributeTypeEntrypoint, }, { Name: schema.AttributeTypeCpuShares, }, { Name: schema.AttributeTypeMemory, }, { Name: schema.AttributeTypeMemoryReservation, }, { Name: schema.AttributeTypeMemorySwap, }, { Name: schema.AttributeTypeMemorySwappiness, }, { Name: schema.AttributeTypeReadOnly, }, { Name: schema.AttributeTypeUser, }, { Name: schema.AttributeTypeWorkdir, }, { Name: schema.AttributeTypeMaxConcurrency, }, }, Blocks: []hcl.BlockHeaderSchema{ { Type: schema.BlockTypeError, }, { Type: schema.BlockTypePipelineOutput, LabelNames: []string{schema.LabelName}, }, { Type: schema.BlockTypeLoop, }, { Type: schema.BlockTypeRetry, }, { Type: schema.BlockTypeThrow, }, }, }
var PipelineStepEmailBlockSchema = &hcl.BodySchema{ Attributes: []hcl.AttributeSchema{ { Name: schema.AttributeTypeTitle, }, { Name: schema.AttributeTypeDescription, }, { Name: schema.AttributeTypeForEach, }, { Name: schema.AttributeTypeDependsOn, }, { Name: schema.AttributeTypeIf, }, { Name: schema.AttributeTypeTo, Required: true, }, { Name: schema.AttributeTypeFrom, Required: true, }, { Name: schema.AttributeTypeSmtpUsername, Required: true, }, { Name: schema.AttributeTypeSmtpPassword, Required: true, }, { Name: schema.AttributeTypeHost, Required: true, }, { Name: schema.AttributeTypePort, Required: true, }, { Name: schema.AttributeTypeSenderName, }, { Name: schema.AttributeTypeCc, }, { Name: schema.AttributeTypeBcc, }, { Name: schema.AttributeTypeBody, }, { Name: schema.AttributeTypeContentType, }, { Name: schema.AttributeTypeSubject, }, { Name: schema.AttributeTypeMaxConcurrency, }, }, Blocks: []hcl.BlockHeaderSchema{ { Type: schema.BlockTypeError, }, { Type: schema.BlockTypePipelineOutput, LabelNames: []string{schema.LabelName}, }, { Type: schema.BlockTypeLoop, }, { Type: schema.BlockTypeRetry, }, { Type: schema.BlockTypeThrow, }, }, }
var PipelineStepFunctionBlockSchema = &hcl.BodySchema{ Attributes: []hcl.AttributeSchema{ { Name: schema.AttributeTypeTitle, }, { Name: schema.AttributeTypeDescription, }, { Name: schema.AttributeTypeTimeout, }, { Name: schema.AttributeTypeForEach, }, { Name: schema.AttributeTypeDependsOn, }, { Name: schema.AttributeTypeIf, }, { Name: schema.AttributeTypeSource, Required: true, }, { Name: schema.AttributeTypeHandler, }, { Name: schema.AttributeTypeRuntime, }, { Name: schema.AttributeTypeEnv, }, { Name: schema.AttributeTypeEvent, }, { Name: schema.AttributeTypeMaxConcurrency, }, }, Blocks: []hcl.BlockHeaderSchema{ { Type: schema.BlockTypeError, }, { Type: schema.BlockTypePipelineOutput, LabelNames: []string{schema.LabelName}, }, { Type: schema.BlockTypeLoop, }, { Type: schema.BlockTypeRetry, }, { Type: schema.BlockTypeThrow, }, { Type: schema.BlockTypeLoop, }, }, }
var PipelineStepHttpBlockSchema = &hcl.BodySchema{ Attributes: []hcl.AttributeSchema{ { Name: schema.AttributeTypeTitle, }, { Name: schema.AttributeTypeDescription, }, { Name: schema.AttributeTypeTimeout, }, { Name: schema.AttributeTypeForEach, }, { Name: schema.AttributeTypeDependsOn, }, { Name: schema.AttributeTypeIf, }, { Name: schema.AttributeTypeUrl, Required: true, }, { Name: schema.AttributeTypeMethod, }, { Name: schema.AttributeTypeCaCertPem, }, { Name: schema.AttributeTypeInsecure, }, { Name: schema.AttributeTypeRequestBody, }, { Name: schema.AttributeTypeRequestHeaders, }, { Name: schema.AttributeTypeMaxConcurrency, }, }, Blocks: []hcl.BlockHeaderSchema{ { Type: schema.BlockTypeError, }, { Type: schema.BlockTypePipelineOutput, LabelNames: []string{schema.LabelName}, }, { Type: schema.BlockTypePipelineBasicAuth, }, { Type: schema.BlockTypeLoop, }, { Type: schema.BlockTypeRetry, }, { Type: schema.BlockTypeThrow, }, }, }
var PipelineStepInputBlockSchema = &hcl.BodySchema{ Attributes: []hcl.AttributeSchema{ { Name: schema.AttributeTypeTitle, }, { Name: schema.AttributeTypeDescription, }, { Name: schema.AttributeTypeForEach, }, { Name: schema.AttributeTypeDependsOn, }, { Name: schema.AttributeTypeIf, }, { Name: schema.AttributeTypeOptions, }, { Name: schema.AttributeTypePrompt, }, { Name: schema.AttributeTypeNotifier, Required: true, }, { Name: schema.AttributeTypeType, Required: true, }, { Name: schema.AttributeTypeTo, Required: false, }, { Name: schema.AttributeTypeCc, Required: false, }, { Name: schema.AttributeTypeBcc, Required: false, }, { Name: schema.AttributeTypeSubject, Required: false, }, { Name: schema.AttributeTypeChannel, Required: false, }, { Name: schema.AttributeTypeMaxConcurrency, }, }, Blocks: []hcl.BlockHeaderSchema{ { Type: schema.BlockTypeError, }, { Type: schema.BlockTypePipelineOutput, LabelNames: []string{schema.LabelName}, }, { Type: schema.BlockTypeRetry, }, { Type: schema.BlockTypeThrow, }, { Type: schema.BlockTypeOption, LabelNames: []string{schema.LabelName}, }, { Type: schema.BlockTypeLoop, }, }, }
var PipelineStepInputNotifyBlockSchema = &hcl.BodySchema{ Attributes: []hcl.AttributeSchema{ { Name: schema.AttributeTypeIntegration, }, { Name: schema.AttributeTypeChannel, }, }, }
var PipelineStepMessageBlockSchema = &hcl.BodySchema{ Attributes: []hcl.AttributeSchema{ { Name: schema.AttributeTypeTitle, }, { Name: schema.AttributeTypeDescription, }, { Name: schema.AttributeTypeForEach, }, { Name: schema.AttributeTypeDependsOn, }, { Name: schema.AttributeTypeIf, }, { Name: schema.AttributeTypeNotifier, Required: true, }, { Name: schema.AttributeTypeText, Required: true, }, { Name: schema.AttributeTypeTo, Required: false, }, { Name: schema.AttributeTypeCc, Required: false, }, { Name: schema.AttributeTypeBcc, Required: false, }, { Name: schema.AttributeTypeSubject, Required: false, }, { Name: schema.AttributeTypeChannel, Required: false, }, }, Blocks: []hcl.BlockHeaderSchema{ { Type: schema.BlockTypeError, }, { Type: schema.BlockTypePipelineOutput, LabelNames: []string{schema.LabelName}, }, { Type: schema.BlockTypeRetry, }, { Type: schema.BlockTypeThrow, }, { Type: schema.BlockTypeLoop, }, }, }
var PipelineStepPipelineBlockSchema = &hcl.BodySchema{ Attributes: []hcl.AttributeSchema{ { Name: schema.AttributeTypeTitle, }, { Name: schema.AttributeTypeDescription, }, { Name: schema.AttributeTypeForEach, }, { Name: schema.AttributeTypeDependsOn, }, { Name: schema.AttributeTypeIf, }, { Name: schema.AttributeTypePipeline, }, { Name: schema.AttributeTypeArgs, }, { Name: schema.AttributeTypeMaxConcurrency, }, }, Blocks: []hcl.BlockHeaderSchema{ { Type: schema.BlockTypeError, }, { Type: schema.BlockTypePipelineOutput, LabelNames: []string{schema.LabelName}, }, { Type: schema.BlockTypeLoop, }, { Type: schema.BlockTypeRetry, }, { Type: schema.BlockTypeThrow, }, }, }
var PipelineStepQueryBlockSchema = &hcl.BodySchema{ Attributes: []hcl.AttributeSchema{ { Name: schema.AttributeTypeTitle, }, { Name: schema.AttributeTypeDescription, }, { Name: schema.AttributeTypeTimeout, }, { Name: schema.AttributeTypeForEach, }, { Name: schema.AttributeTypeDependsOn, }, { Name: schema.AttributeTypeIf, }, { Name: schema.AttributeTypeSql, }, { Name: schema.AttributeTypeDatabase, }, { Name: schema.AttributeTypeArgs, }, { Name: schema.AttributeTypeMaxConcurrency, }, }, Blocks: []hcl.BlockHeaderSchema{ { Type: schema.BlockTypeError, }, { Type: schema.BlockTypePipelineOutput, LabelNames: []string{schema.LabelName}, }, { Type: schema.BlockTypeLoop, }, { Type: schema.BlockTypeRetry, }, { Type: schema.BlockTypeThrow, }, }, }
var PipelineStepSleepBlockSchema = &hcl.BodySchema{ Attributes: []hcl.AttributeSchema{ { Name: schema.AttributeTypeTitle, }, { Name: schema.AttributeTypeDescription, }, { Name: schema.AttributeTypeForEach, }, { Name: schema.AttributeTypeDependsOn, }, { Name: schema.AttributeTypeIf, }, { Name: schema.AttributeTypeDuration, Required: true, }, { Name: schema.AttributeTypeMaxConcurrency, }, }, Blocks: []hcl.BlockHeaderSchema{ { Type: schema.BlockTypeError, }, { Type: schema.BlockTypePipelineOutput, LabelNames: []string{schema.LabelName}, }, { Type: schema.BlockTypeLoop, }, { Type: schema.BlockTypeRetry, }, { Type: schema.BlockTypeThrow, }, }, }
var PipelineStepTransformBlockSchema = &hcl.BodySchema{ Attributes: []hcl.AttributeSchema{ { Name: schema.AttributeTypeTitle, }, { Name: schema.AttributeTypeDescription, }, { Name: schema.AttributeTypeForEach, }, { Name: schema.AttributeTypeDependsOn, }, { Name: schema.AttributeTypeIf, }, { Name: schema.AttributeTypeValue, }, { Name: schema.AttributeTypeMaxConcurrency, }, }, Blocks: []hcl.BlockHeaderSchema{ { Type: schema.BlockTypeError, }, { Type: schema.BlockTypePipelineOutput, LabelNames: []string{schema.LabelName}, }, { Type: schema.BlockTypeLoop, }, { Type: schema.BlockTypeRetry, }, { Type: schema.BlockTypeThrow, }, }, }
var TriggerHttpBlockSchema = &hcl.BodySchema{ Attributes: []hcl.AttributeSchema{ { Name: schema.AttributeTypeDescription, Required: false, }, { Name: schema.AttributeTypeTitle, Required: false, }, { Name: schema.AttributeTypeDocumentation, Required: false, }, { Name: schema.AttributeTypeTags, Required: false, }, { Name: schema.AttributeTypePipeline, }, { Name: schema.AttributeTypeExecutionMode, }, { Name: schema.AttributeTypeArgs, }, { Name: schema.AttributeTypeEnabled, }, }, Blocks: []hcl.BlockHeaderSchema{ { Type: schema.BlockTypeMethod, LabelNames: []string{schema.LabelName}, }, { Type: schema.BlockTypeParam, LabelNames: []string{schema.LabelName}, }, }, }
var TriggerIntervalBlockSchema = &hcl.BodySchema{ Attributes: []hcl.AttributeSchema{ { Name: schema.AttributeTypeDescription, Required: false, }, { Name: schema.AttributeTypeTitle, Required: false, }, { Name: schema.AttributeTypeDocumentation, Required: false, }, { Name: schema.AttributeTypeTags, Required: false, }, { Name: schema.AttributeTypeSchedule, Required: true, }, { Name: schema.AttributeTypePipeline, Required: true, }, { Name: schema.AttributeTypeArgs, }, { Name: schema.AttributeTypeEnabled, }, }, }
var TriggerQueryBlockSchema = &hcl.BodySchema{ Attributes: []hcl.AttributeSchema{ { Name: schema.AttributeTypeDescription, Required: false, }, { Name: schema.AttributeTypeTitle, Required: false, }, { Name: schema.AttributeTypeDocumentation, Required: false, }, { Name: schema.AttributeTypeTags, Required: false, }, { Name: schema.AttributeTypeSchedule, }, { Name: schema.AttributeTypeSql, Required: true, }, { Name: schema.AttributeTypePrimaryKey, }, { Name: schema.AttributeTypeDatabase, Required: false, }, { Name: schema.AttributeTypeEnabled, }, }, Blocks: []hcl.BlockHeaderSchema{ { Type: schema.BlockTypeCapture, LabelNames: []string{schema.LabelName}, }, { Type: schema.BlockTypeParam, LabelNames: []string{schema.LabelName}, }, }, }
var TriggerScheduleBlockSchema = &hcl.BodySchema{ Attributes: []hcl.AttributeSchema{ { Name: schema.AttributeTypeDescription, Required: false, }, { Name: schema.AttributeTypeTitle, Required: false, }, { Name: schema.AttributeTypeDocumentation, Required: false, }, { Name: schema.AttributeTypeTags, Required: false, }, { Name: schema.AttributeTypeSchedule, Required: true, }, { Name: schema.AttributeTypePipeline, Required: true, }, { Name: schema.AttributeTypeArgs, }, { Name: schema.AttributeTypeEnabled, }, }, Blocks: []hcl.BlockHeaderSchema{ { Type: schema.BlockTypeParam, LabelNames: []string{schema.LabelName}, }, }, }
var ValidBaseStepAttributes = []string{ schema.AttributeTypeTitle, schema.AttributeTypeDescription, schema.AttributeTypeDependsOn, schema.AttributeTypeForEach, schema.AttributeTypeIf, schema.AttributeTypeTimeout, schema.AttributeTypeMaxConcurrency, }
var ValidBaseTriggerAttributes = []string{ schema.AttributeTypeDescription, schema.AttributeTypePipeline, schema.AttributeTypeArgs, schema.AttributeTypeTitle, schema.AttributeTypeDocumentation, schema.AttributeTypeTags, schema.AttributeTypeEnabled, }
var ValidDependsOnTypes = []string{ schema.BlockTypePipelineStep, }
var ValidHttpMethods = []string{ HttpMethodGet, HttpMethodPost, HttpMethodPut, HttpMethodDelete, HttpMethodPatch, }
Functions ¶
func CustomValueValidation ¶
func DefaultIntegrations ¶
func DefaultIntegrations() (map[string]Integration, error)
func DefaultNotifiers ¶
func DefaultNotifiers(defaultHttpIntegration Integration) (map[string]Notifier, error)
func FindRequiredConnection ¶
func FindRequiredConnection(expr hcl.Expression) string
func GetTriggerTypeFromTriggerConfig ¶
func GetTriggerTypeFromTriggerConfig(config TriggerConfig) string
GetTriggerTypeFromTriggerConfig returns the type of the trigger from the trigger config
func HclImplFromAttributes ¶
func HclImplFromAttributes(hclResourceImpl *modconfig.HclResourceImpl, hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
func IsConnectionError ¶
func IsConnectionError(diags hcl.Diagnostics) bool
func IsConnectionExpr ¶
func IsConnectionExpr(expr hcl.Expression) bool
func IsConnectionScopeTraversal ¶
func IsConnectionScopeTraversal(scopeTraversals *hclsyntax.ScopeTraversalExpr) bool
func NewModResources ¶
func NewModResources(mod *modconfig.Mod, sourceMaps ...modconfig.ModResources) modconfig.ModResources
Types ¶
type BasicAuthConfig ¶
type BasicAuthConfig struct { Username string `json:"username"` Password string `json:"password"` UnresolvedAttributes map[string]hcl.Expression `json:"-"` }
func (*BasicAuthConfig) Equals ¶
func (b *BasicAuthConfig) Equals(other *BasicAuthConfig) bool
func (*BasicAuthConfig) GetInputs ¶
func (b *BasicAuthConfig) GetInputs(evalContext *hcl.EvalContext, unresolvedAttributes map[string]hcl.Expression) (*BasicAuthConfig, hcl.Diagnostics)
type ConnectionDependency ¶
func FindConnectionFromDiags ¶
func FindConnectionFromDiags(diags hcl.Diagnostics) []ConnectionDependency
func GuessRequiredConnection ¶
func GuessRequiredConnection(expr hcl.Expression) []ConnectionDependency
func GuessRequiredConnectionIndex ¶
func GuessRequiredConnectionIndex(indexExpr *hclsyntax.IndexExpr) []ConnectionDependency
func GuessRequiredConnectionRelativeTraversal ¶
func GuessRequiredConnectionRelativeTraversal(relativeTraversal *hclsyntax.RelativeTraversalExpr) []ConnectionDependency
func GuessRequiredConnectionScopeTraversal ¶
func GuessRequiredConnectionScopeTraversal(scopeTraversals *hclsyntax.ScopeTraversalExpr) []ConnectionDependency
func GuessRequiredConnectionTemplate ¶
func GuessRequiredConnectionTemplate(templateExpr *hclsyntax.TemplateExpr) []ConnectionDependency
type EmailIntegration ¶
type EmailIntegration struct { modconfig.HclResourceImpl `json:"-"` modconfig.ResourceWithMetadataImpl `json:"-"` IntegrationImpl `json:"-"` Type string `json:"type" cty:"type" hcl:"type,label"` // email SmtpHost *string `json:"smtp_host,omitempty" cty:"smtp_host" hcl:"smtp_host"` SmtpTls *string `json:"smtp_tls,omitempty" cty:"smtp_tls" hcl:"smtp_tls,optional"` SmtpPort *int `json:"smtp_port,omitempty" cty:"smtp_port" hcl:"smtp_port,optional"` SmtpsPort *int `json:"smtps_port,omitempty" cty:"smtps_port" hcl:"smtps_port,optional"` SmtpUsername *string `json:"smtp_username,omitempty" cty:"smtp_username" hcl:"smtp_username,optional"` SmtpPassword *string `json:"smtp_password,omitempty" cty:"smtp_password" hcl:"smtp_password,optional"` From *string `json:"from,omitempty" cty:"from" hcl:"from"` To []string `json:"to,omitempty" cty:"to" hcl:"to,optional"` Cc []string `json:"cc,omitempty" cty:"cc" hcl:"cc,optional"` Bcc []string `json:"bcc,omitempty" cty:"bcc" hcl:"bcc,optional"` Subject *string `json:"subject,omitempty" cty:"subject" hcl:"subject,optional"` }
func EmailIntegrationFromCtyValue ¶
func EmailIntegrationFromCtyValue(val cty.Value) (*EmailIntegration, error)
func (*EmailIntegration) Equals ¶
func (i *EmailIntegration) Equals(other Integration) bool
func (*EmailIntegration) GetIntegrationType ¶
func (i *EmailIntegration) GetIntegrationType() string
func (*EmailIntegration) MapInterface ¶
func (i *EmailIntegration) MapInterface() (map[string]interface{}, error)
func (*EmailIntegration) SetAttributes ¶
func (i *EmailIntegration) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
func (*EmailIntegration) Validate ¶
func (i *EmailIntegration) Validate() hcl.Diagnostics
type ErrorConfig ¶
type ErrorConfig struct { // circular link to its "parent" PipelineStepBase *PipelineStepBase `json:"-"` UnresolvedAttributes map[string]hcl.Expression `json:"-"` If *bool `json:"if"` Ignore *bool `json:"ignore,omitempty" hcl:"ignore,optional" cty:"ignore"` }
func NewErrorConfig ¶
func NewErrorConfig(p *PipelineStepBase) *ErrorConfig
func (*ErrorConfig) AddUnresolvedAttribute ¶
func (e *ErrorConfig) AddUnresolvedAttribute(name string, expr hcl.Expression)
func (*ErrorConfig) AppendConnectionDependsOn ¶
func (e *ErrorConfig) AppendConnectionDependsOn(...string)
func (*ErrorConfig) AppendCredentialDependsOn ¶
func (e *ErrorConfig) AppendCredentialDependsOn(...string)
func (*ErrorConfig) AppendDependsOn ¶
func (e *ErrorConfig) AppendDependsOn(dependsOn ...string)
func (*ErrorConfig) Equals ¶
func (e *ErrorConfig) Equals(other *ErrorConfig) bool
func (*ErrorConfig) GetPipeline ¶
func (e *ErrorConfig) GetPipeline() *Pipeline
func (*ErrorConfig) SetAttributes ¶
func (e *ErrorConfig) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
func (*ErrorConfig) Validate ¶
func (e *ErrorConfig) Validate() bool
type FlowpipeModResources ¶
type FlowpipeModResources struct { // the parent mod Mod *modconfig.Mod Variables map[string]*modconfig.Variable // all mods (including deps) // TODO KAI store as interfaces so GetMods satisfies the interface Mods map[string]*modconfig.Mod References map[string]*modconfig.ResourceReference Pipelines map[string]*Pipeline Triggers map[string]*Trigger Locals map[string]*modconfig.Local }
FlowpipeModResources is a struct containing maps of all mod resource types This is provided to avoid db needing to reference workspace package
func GetModResources ¶
func GetModResources(mod *modconfig.Mod) *FlowpipeModResources
func (*FlowpipeModResources) AddMaps ¶
func (m *FlowpipeModResources) AddMaps(sourceMaps ...modconfig.ModResources)
func (*FlowpipeModResources) AddReference ¶
func (m *FlowpipeModResources) AddReference(ref *modconfig.ResourceReference)
func (*FlowpipeModResources) AddResource ¶
func (m *FlowpipeModResources) AddResource(item modconfig.HclResource) hcl.Diagnostics
func (*FlowpipeModResources) Empty ¶
func (m *FlowpipeModResources) Empty() bool
func (*FlowpipeModResources) Equals ¶
func (m *FlowpipeModResources) Equals(o modconfig.ModResources) bool
func (*FlowpipeModResources) GetMods ¶
func (m *FlowpipeModResources) GetMods() map[string]*modconfig.Mod
func (*FlowpipeModResources) GetReferences ¶
func (m *FlowpipeModResources) GetReferences() map[string]*modconfig.ResourceReference
func (*FlowpipeModResources) GetResource ¶
func (m *FlowpipeModResources) GetResource(parsedName *modconfig.ParsedResourceName) (resource modconfig.HclResource, found bool)
GetResource tries to find a resource with the given name in the ModResources NOTE: this does NOT support inputs, which are NOT uniquely named in a mod
func (*FlowpipeModResources) GetVariables ¶
func (m *FlowpipeModResources) GetVariables() map[string]*modconfig.Variable
func (*FlowpipeModResources) TopLevelResources ¶
func (m *FlowpipeModResources) TopLevelResources() modconfig.ModResources
TopLevelResources returns a new PowerpipeModResources containing only top level resources (i.e. no dependencies)
func (*FlowpipeModResources) WalkResources ¶
func (m *FlowpipeModResources) WalkResources(resourceFunc func(item modconfig.HclResource) (bool, error)) error
WalkResources calls resourceFunc for every resource in the mod if any resourceFunc returns false or an error, return immediately
type HttpIntegration ¶
type HttpIntegration struct { modconfig.HclResourceImpl `json:"-"` modconfig.ResourceWithMetadataImpl `json:"-"` IntegrationImpl `json:"-"` Type string `json:"type" cty:"type" hcl:"type,label"` }
func HttpIntegrationFromCtyValue ¶
func HttpIntegrationFromCtyValue(val cty.Value) (*HttpIntegration, error)
func (*HttpIntegration) Equals ¶
func (i *HttpIntegration) Equals(other Integration) bool
func (*HttpIntegration) GetIntegrationType ¶
func (i *HttpIntegration) GetIntegrationType() string
func (*HttpIntegration) MapInterface ¶
func (i *HttpIntegration) MapInterface() (map[string]interface{}, error)
func (*HttpIntegration) SetAttributes ¶
func (i *HttpIntegration) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
func (*HttpIntegration) Validate ¶
func (i *HttpIntegration) Validate() hcl.Diagnostics
type Integration ¶
type Integration interface { modconfig.HclResource modconfig.ResourceWithMetadata CtyValue() (cty.Value, error) GetIntegrationImpl() *IntegrationImpl GetIntegrationType() string MapInterface() (map[string]interface{}, error) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics SetFileReference(fileName string, startLineNumber int, endLineNumber int) SetUrl(string) Validate() hcl.Diagnostics Equals(Integration) bool }
func NewIntegrationFromBlock ¶
func NewIntegrationFromBlock(block *hcl.Block) Integration
type IntegrationImpl ¶
type IntegrationImpl struct { // required to allow partial decoding Remain hcl.Body `hcl:",remain" json:"-"` // Slack and Http has URL, Email integration does not it will be null Url *string `json:"url,omitempty" cty:"url" hcl:"url,optional"` FileName string StartLineNumber int EndLineNumber int }
func (*IntegrationImpl) GetIntegrationImpl ¶
func (i *IntegrationImpl) GetIntegrationImpl() *IntegrationImpl
func (*IntegrationImpl) SetFileReference ¶
func (i *IntegrationImpl) SetFileReference(fileName string, startLineNumber int, endLineNumber int)
func (*IntegrationImpl) SetUrl ¶
func (i *IntegrationImpl) SetUrl(url string)
type LoopContainerStep ¶
type LoopContainerStep struct { LoopStep Image *string `json:"image,omitempty" hcl:"image,optional" cty:"image"` Source *string `json:"source,omitempty" hcl:"source,optional" cty:"source"` Cmd *[]string `json:"cmd,omitempty" hcl:"cmd,optional" cty:"cmd"` Env *map[string]string `json:"env,omitempty" hcl:"env,optional" cty:"env"` Entrypoint *[]string `json:"entrypoint,omitempty" hcl:"entrypoint,optional" cty:"entrypoint"` Memory *int64 `json:"memory,omitempty" hcl:"memory,optional" cty:"memory"` MemoryReservation *int64 `json:"memory_reservation,omitempty" hcl:"memory_reservation,optional" cty:"memory_reservation"` MemorySwap *int64 `json:"memory_swap,omitempty" hcl:"memory_swap,optional" cty:"memory_swap"` MemorySwappiness *int64 `json:"memory_swappiness,omitempty" hcl:"memory_swappiness,optional" cty:"memory_swappiness"` ReadOnly *bool `json:"read_only,omitempty" hcl:"read_only,optional" cty:"read_only"` User *string `json:"user,omitempty" hcl:"user,optional" cty:"user"` Workdir *string `json:"workdir,omitempty" hcl:"workdir,optional" cty:"workdir"` }
func (*LoopContainerStep) Equals ¶
func (l *LoopContainerStep) Equals(other LoopDefn) bool
func (*LoopContainerStep) GetType ¶
func (*LoopContainerStep) GetType() string
func (*LoopContainerStep) SetAttributes ¶
func (l *LoopContainerStep) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
func (*LoopContainerStep) UpdateInput ¶
func (l *LoopContainerStep) UpdateInput(input Input, evalContext *hcl.EvalContext) (Input, error)
type LoopDefn ¶
type LoopDefn interface { GetType() string UpdateInput(input Input, evalContext *hcl.EvalContext) (Input, error) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics Equals(LoopDefn) bool AppendDependsOn(...string) AppendCredentialDependsOn(...string) AppendConnectionDependsOn(...string) AddUnresolvedAttribute(string, hcl.Expression) GetUnresolvedAttributes() map[string]hcl.Expression ResolveUntil(evalContext *hcl.EvalContext) (bool, hcl.Diagnostics) }
func GetLoopDefn ¶
func GetLoopDefn(stepType string, p *PipelineStepBase, hclRange *hcl.Range) LoopDefn
type LoopEmailStep ¶
type LoopEmailStep struct { LoopStep To *[]string `json:"to,omitempty" hcl:"to,optional" cty:"to"` From *string `json:"from,omitempty" hcl:"from,optional" cty:"from"` SenderCredential *string `json:"sender_credential,omitempty" hcl:"sender_credential,optional" cty:"sender_credential"` Host *string `json:"host,omitempty" hcl:"host,optional" cty:"host"` Port *int64 `json:"port,omitempty" hcl:"port,optional" cty:"port"` SenderName *string `json:"sender_name,omitempty" hcl:"sender_name,optional" cty:"sender_name"` Cc *[]string `json:"cc,omitempty" hcl:"cc,optional" cty:"cc"` Bcc *[]string `json:"bcc,omitempty" hcl:"bcc,optional" cty:"bcc"` Body *string `json:"body,omitempty" hcl:"body,optional" cty:"body"` ContentType *string `json:"content_type,omitempty" hcl:"content_type,optional" cty:"content_type"` Subject *string `json:"subject,omitempty" hcl:"subject,optional" cty:"subject"` }
func (*LoopEmailStep) Equals ¶
func (l *LoopEmailStep) Equals(other LoopDefn) bool
func (*LoopEmailStep) GetType ¶
func (*LoopEmailStep) GetType() string
func (*LoopEmailStep) SetAttributes ¶
func (l *LoopEmailStep) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
func (*LoopEmailStep) UpdateInput ¶
func (l *LoopEmailStep) UpdateInput(input Input, evalContext *hcl.EvalContext) (Input, error)
type LoopFunctionStep ¶
type LoopFunctionStep struct { LoopStep Runtime *string `json:"runtime,omitempty"` Source *string `json:"source,omitempty"` Handler *string `json:"handler,omitempty"` Event *map[string]interface{} `json:"event,omitempty"` Env *map[string]string `json:"env,omitempty"` }
func (*LoopFunctionStep) Equals ¶
func (l *LoopFunctionStep) Equals(other LoopDefn) bool
func (*LoopFunctionStep) GetType ¶
func (*LoopFunctionStep) GetType() string
func (*LoopFunctionStep) SetAttributes ¶
func (l *LoopFunctionStep) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
func (*LoopFunctionStep) UpdateInput ¶
func (l *LoopFunctionStep) UpdateInput(input Input, evalContext *hcl.EvalContext) (Input, error)
type LoopHttpStep ¶
type LoopHttpStep struct { LoopStep URL *string `json:"url,omitempty" hcl:"url,optional" cty:"url"` Method *string `json:"method,omitempty" hcl:"method,optional" cty:"method"` RequestBody *string `json:"request_body,omitempty" hcl:"request_body,optional" cty:"request_body"` RequestHeaders *map[string]interface{} `json:"request_headers,omitempty" hcl:"request_headers,optional" cty:"request_headers"` CaCertPem *string `json:"ca_cert_pem,omitempty" hcl:"ca_cert_pem,optional" cty:"ca_cert_pem"` Insecure *bool `json:"insecure,omitempty" hcl:"insecure,optional" cty:"insecure"` }
func (*LoopHttpStep) Equals ¶
func (l *LoopHttpStep) Equals(other LoopDefn) bool
func (*LoopHttpStep) GetType ¶
func (*LoopHttpStep) GetType() string
func (*LoopHttpStep) SetAttributes ¶
func (l *LoopHttpStep) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
func (*LoopHttpStep) UpdateInput ¶
func (l *LoopHttpStep) UpdateInput(input Input, evalContext *hcl.EvalContext) (Input, error)
type LoopInputStep ¶
type LoopInputStep struct { LoopStep Notifier *NotifierImpl `json:"notifier" cty:"-" hcl:"-"` Prompt *string `json:"prompt" cty:"prompt" hcl:"prompt,optional"` Cc *[]string `json:"cc,omitempty" cty:"cc" hcl:"cc,optional"` Bcc *[]string `json:"bcc,omitempty" cty:"bcc" hcl:"bcc,optional"` Channel *string `json:"channel,omitempty" cty:"channel" hcl:"channel,optional"` Subject *string `json:"subject,omitempty" cty:"subject" hcl:"subject,optional"` To *[]string `json:"to,omitempty" cty:"to" hcl:"to,optional"` }
func (*LoopInputStep) Equals ¶
func (l *LoopInputStep) Equals(other LoopDefn) bool
func (*LoopInputStep) GetType ¶
func (s *LoopInputStep) GetType() string
func (*LoopInputStep) SetAttributes ¶
func (l *LoopInputStep) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
func (*LoopInputStep) UpdateInput ¶
func (l *LoopInputStep) UpdateInput(input Input, evalContext *hcl.EvalContext) (Input, error)
type LoopMessageStep ¶
type LoopMessageStep struct { LoopStep Notifier *NotifierImpl `json:"notifier" cty:"-" hcl:"-"` Text *string `json:"text" cty:"prompt" hcl:"prompt,optional"` Cc *[]string `json:"cc,omitempty" cty:"cc" hcl:"cc,optional"` Bcc *[]string `json:"bcc,omitempty" cty:"bcc" hcl:"bcc,optional"` Channel *string `json:"channel,omitempty" cty:"channel" hcl:"channel,optional"` Subject *string `json:"subject,omitempty" cty:"subject" hcl:"subject,optional"` To *[]string `json:"to,omitempty" cty:"to" hcl:"to,optional"` }
func (*LoopMessageStep) Equals ¶
func (l *LoopMessageStep) Equals(other LoopDefn) bool
func (*LoopMessageStep) GetType ¶
func (s *LoopMessageStep) GetType() string
func (*LoopMessageStep) SetAttributes ¶
func (l *LoopMessageStep) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
func (*LoopMessageStep) UpdateInput ¶
func (l *LoopMessageStep) UpdateInput(input Input, evalContext *hcl.EvalContext) (Input, error)
type LoopPipelineStep ¶
type LoopPipelineStep struct { LoopStep Args interface{} `json:"args,omitempty" hcl:"args,optional" cty:"args"` }
func (*LoopPipelineStep) Equals ¶
func (l *LoopPipelineStep) Equals(other LoopDefn) bool
func (*LoopPipelineStep) GetType ¶
func (*LoopPipelineStep) GetType() string
func (*LoopPipelineStep) SetAttributes ¶
func (l *LoopPipelineStep) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
func (*LoopPipelineStep) UpdateInput ¶
func (l *LoopPipelineStep) UpdateInput(input Input, evalContext *hcl.EvalContext) (Input, error)
type LoopQueryStep ¶
type LoopQueryStep struct { LoopStep Database *string `json:"database,omitempty" hcl:"database,optional" cty:"database"` Sql *string `json:"sql,omitempty" hcl:"sql,optional" cty:"sql"` Args *[]interface{} `json:"args,omitempty" hcl:"args,optional" cty:"args"` }
func (*LoopQueryStep) Equals ¶
func (l *LoopQueryStep) Equals(other LoopDefn) bool
func (*LoopQueryStep) GetType ¶
func (*LoopQueryStep) GetType() string
func (*LoopQueryStep) SetAttributes ¶
func (l *LoopQueryStep) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
func (*LoopQueryStep) UpdateInput ¶
func (l *LoopQueryStep) UpdateInput(input Input, evalContext *hcl.EvalContext) (Input, error)
type LoopSleepStep ¶
type LoopSleepStep struct { LoopStep UnresolvedAttributes hcl.Attributes `json:"-"` Duration *string `json:"duration,omitempty"` }
func (*LoopSleepStep) Equals ¶
func (l *LoopSleepStep) Equals(other LoopDefn) bool
func (*LoopSleepStep) GetType ¶
func (*LoopSleepStep) GetType() string
func (*LoopSleepStep) SetAttributes ¶
func (s *LoopSleepStep) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
func (*LoopSleepStep) UpdateInput ¶
func (l *LoopSleepStep) UpdateInput(input Input, evalContext *hcl.EvalContext) (Input, error)
type LoopStep ¶
type LoopStep struct { // circular link to its "parent" PipelineStepBase *PipelineStepBase `json:"-"` Range *hcl.Range `json:"-"` UnresolvedAttributes map[string]hcl.Expression `json:"-"` Until *bool }
func (*LoopStep) AddUnresolvedAttribute ¶
func (*LoopStep) AppendConnectionDependsOn ¶
func (*LoopStep) AppendCredentialDependsOn ¶
func (*LoopStep) AppendDependsOn ¶
func (*LoopStep) GetPipeline ¶
func (*LoopStep) GetUnresolvedAttributes ¶
func (*LoopStep) ResolveUntil ¶
func (*LoopStep) SetAttributes ¶
func (l *LoopStep) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
type LoopTransformStep ¶
type LoopTransformStep struct { LoopStep Value interface{} `json:"value,omitempty" hcl:"value,optional" cty:"value"` }
func (*LoopTransformStep) Equals ¶
func (l *LoopTransformStep) Equals(other LoopDefn) bool
func (*LoopTransformStep) GetType ¶
func (*LoopTransformStep) GetType() string
func (*LoopTransformStep) SetAttributes ¶
func (s *LoopTransformStep) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
func (*LoopTransformStep) UpdateInput ¶
func (l *LoopTransformStep) UpdateInput(input Input, evalContext *hcl.EvalContext) (Input, error)
type MsTeamsIntegration ¶
type MsTeamsIntegration struct { // base modconfig.HclResourceImpl `json:"-"` modconfig.ResourceWithMetadataImpl `json:"-"` IntegrationImpl `json:"-"` Type string `json:"type" cty:"type" hcl:"type,label"` IntegrationName string `json:"integration_name" cty:"integration_name"` // teams WebhookUrl *string `json:"webhook_url,omitempty" cty:"webhook_url" hcl:"webhook_url,optional"` }
func MsTeamsIntegrationFromCtyValue ¶
func MsTeamsIntegrationFromCtyValue(val cty.Value) (*MsTeamsIntegration, error)
func (*MsTeamsIntegration) Equals ¶
func (i *MsTeamsIntegration) Equals(other Integration) bool
func (*MsTeamsIntegration) GetIntegrationType ¶
func (i *MsTeamsIntegration) GetIntegrationType() string
func (*MsTeamsIntegration) MapInterface ¶
func (i *MsTeamsIntegration) MapInterface() (map[string]interface{}, error)
func (*MsTeamsIntegration) SetAttributes ¶
func (i *MsTeamsIntegration) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
func (*MsTeamsIntegration) Validate ¶
func (i *MsTeamsIntegration) Validate() hcl.Diagnostics
type NextStep ¶
type NextStep struct { StepName string `json:"step_name"` Action NextStepAction `json:"action"` StepForEach *StepForEach `json:"step_for_each,omitempty"` StepLoop *StepLoop `json:"step_loop,omitempty"` Input Input `json:"input"` MaxConcurrency *int `json:"max_concurrency,omitempty"` }
type NextStepAction ¶
type NextStepAction string
const ( // Default Next Step action which is just to start them, note that // the step may yet be "skipped" if the IF clause is preventing the step // to actually start, but at the very least we can "start" the step. NextStepActionStart NextStepAction = "start" // This happens if the step can't be started because one of it's dependency as failed // // Q: So why would step failure does not mean pipeline fail straight away? // A: We can't raise the pipeline fail command if there's "ignore error" directive on the step. // If there are steps that depend on the failed step, these steps becomes "inaccessible", they can't start // because the prerequisites have failed. // NextStepActionInaccessible NextStepAction = "inaccessible" NextStepActionSkip NextStepAction = "skip" )
type Notifier ¶
type Notifier interface { modconfig.HclResource modconfig.ResourceWithMetadata CtyValue() (cty.Value, error) GetNotifierImpl() *NotifierImpl GetNotifies() []Notify SetFileReference(fileName string, startLineNumber int, endLineNumber int) Equals(Notifier) bool }
type NotifierImpl ¶
type NotifierImpl struct { modconfig.HclResourceImpl `json:"-"` modconfig.ResourceWithMetadataImpl `json:"-"` NotifierName string `json:"notifier_name" cty:"notifier_name" hcl:"notifier_name"` Notifies []Notify `json:"notifies" cty:"notifies" hcl:"notifies"` // required to allow partial decoding Remain hcl.Body `hcl:",remain" json:"-"` FileName string `json:"-" cty:"-" hcl:"-"` StartLineNumber int `json:"-" cty:"-" hcl:"-"` EndLineNumber int `json:"-" cty:"-" hcl:"-"` }
func (*NotifierImpl) CustomType ¶
func (n *NotifierImpl) CustomType()
CustomType implements custom_type.CustomType interface
func (*NotifierImpl) Equals ¶
func (n *NotifierImpl) Equals(other Notifier) bool
func (*NotifierImpl) GetNotifierImpl ¶
func (n *NotifierImpl) GetNotifierImpl() *NotifierImpl
func (*NotifierImpl) GetNotifies ¶
func (n *NotifierImpl) GetNotifies() []Notify
func (*NotifierImpl) SetFileReference ¶
func (n *NotifierImpl) SetFileReference(fileName string, startLineNumber int, endLineNumber int)
func (*NotifierImpl) Validate ¶
func (n *NotifierImpl) Validate() hcl.Diagnostics
type Notify ¶
type Notify struct { // required to allow partial decoding Remain hcl.Body `hcl:",remain" json:"-"` Integration Integration `json:"integration"` Cc []string `json:"cc,omitempty" cty:"cc" hcl:"cc,optional"` Bcc []string `json:"bcc,omitempty" cty:"bcc" hcl:"bcc,optional"` Channel *string `json:"channel,omitempty" cty:"channel" hcl:"channel,optional"` Description *string `json:"description,omitempty" cty:"description" hcl:"description,optional"` Subject *string `json:"subject,omitempty" cty:"subject" hcl:"subject,optional"` Title *string `json:"title,omitempty" cty:"title" hcl:"title,optional"` To []string `json:"to,omitempty" cty:"to" hcl:"to,optional"` }
func (*Notify) MapInterface ¶
func (*Notify) SetAttributes ¶
func (n *Notify) SetAttributes(body hcl.Body, evalCtx *hcl.EvalContext) hcl.Diagnostics
func (*Notify) UnmarshalJSON ¶
UnmarshalJSON custom unmarshaller for Notify
type Output ¶
type Output struct { Status string `json:"status,omitempty"` FailureMode string `json:"failure_mode,omitempty"` Data OutputData `json:"data,omitempty"` Errors []StepError `json:"errors,omitempty"` // Flowpipe metadata, contains started_at, finished_at Flowpipe map[string]interface{} `json:"flowpipe,omitempty"` }
Output is the output from a step execution.
type OutputData ¶
type OutputData map[string]interface{}
type Pipeline ¶
type Pipeline struct { modconfig.HclResourceImpl modconfig.ResourceWithMetadataImpl // TODO: hack to serialise pipeline name because HclResourceImpl is not serialised PipelineName string `json:"pipeline_name"` // To be used when passing pipeline as a parameter to another pipeline, we need to know the source mod of // this pipeline so we can resolve the pipeline later. Name is not enough because there may be multiple // versions of the same mod in the current context ModFullVersion string `json:"mod_full_version"` // Unparsed HCL body, needed so we can de-code the step HCL into the correct struct RawBody hcl.Body `json:"-" hcl:",remain"` // Unparsed JSON raw message, needed so we can unmarshall the step JSON into the correct struct StepsRawJson json.RawMessage `json:"-"` Steps []PipelineStep `json:"steps,omitempty"` OutputConfig []PipelineOutput `json:"outputs,omitempty"` Params []PipelineParam `json:"params,omitempty"` FileName string `json:"file_name"` StartLineNumber int `json:"start_line_number"` EndLineNumber int `json:"end_line_number"` // contains filtered or unexported fields }
Pipeline represents a "pipeline" block in an flowpipe HCL (*.fp) file
Note that this Pipeline definition is different that the pipeline that is running. This definition contains unresolved expressions (mostly in steps), how to handle errors etc but not the actual Pipeline execution data.
func NewPipeline ¶
func (*Pipeline) GetParam ¶
func (p *Pipeline) GetParam(paramName string) *PipelineParam
func (*Pipeline) GetParams ¶
func (p *Pipeline) GetParams() []PipelineParam
func (*Pipeline) GetStep ¶
func (p *Pipeline) GetStep(stepFullyQualifiedName string) PipelineStep
Pipeline functions
func (*Pipeline) OnDecoded ¶
func (p *Pipeline) OnDecoded(*hcl.Block, modconfig.ModResourcesProvider) hcl.Diagnostics
func (*Pipeline) SetAttributes ¶
func (p *Pipeline) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
func (*Pipeline) SetFileReference ¶
func (*Pipeline) SetOptions ¶
SetOptions sets the options on the pipeline (not supported)
func (*Pipeline) UnmarshalJSON ¶
type PipelineOutput ¶
type PipelineOutput struct { Name string `json:"name"` Description string `json:"description,omitempty"` DependsOn []string `json:"depends_on,omitempty"` CredentialDependsOn []string `json:"credential_depends_on,omitempty"` ConnectionDependsOn []string `json:"connection_depends_on,omitempty"` Resolved bool `json:"resolved,omitempty"` Value interface{} `json:"value,omitempty"` UnresolvedValue hcl.Expression `json:"-"` Range *hcl.Range `json:"Range"` }
func (*PipelineOutput) AppendConnectionDependsOn ¶
func (o *PipelineOutput) AppendConnectionDependsOn(connectionDependsOn ...string)
func (*PipelineOutput) AppendCredentialDependsOn ¶
func (o *PipelineOutput) AppendCredentialDependsOn(credentialDependsOn ...string)
func (*PipelineOutput) AppendDependsOn ¶
func (o *PipelineOutput) AppendDependsOn(dependsOn ...string)
func (*PipelineOutput) Equals ¶
func (o *PipelineOutput) Equals(other *PipelineOutput) bool
type PipelineParam ¶
type PipelineParam struct { Name string `json:"name"` Description string `json:"description"` Optional bool `json:"optional,omitempty"` Default cty.Value `json:"-"` Enum cty.Value `json:"-"` EnumGo []any `json:"enum"` Type cty.Type `json:"-"` TypeString string `json:"type_string"` Tags map[string]string `json:"tags,omitempty"` Format string `json:"format"` }
func (*PipelineParam) Equals ¶
func (p *PipelineParam) Equals(other *PipelineParam) bool
func (*PipelineParam) IsConnectionType ¶
func (p *PipelineParam) IsConnectionType() bool
func (*PipelineParam) IsNotifierType ¶
func (p *PipelineParam) IsNotifierType() bool
func (*PipelineParam) PipelineParamCustomValueValidation ¶
func (p *PipelineParam) PipelineParamCustomValueValidation(setting cty.Value, evalCtx *hcl.EvalContext) hcl.Diagnostics
func (*PipelineParam) ValidateSetting ¶
func (p *PipelineParam) ValidateSetting(setting cty.Value, evalCtx *hcl.EvalContext) (bool, hcl.Diagnostics, error)
type PipelineStep ¶
type PipelineStep interface { PipelineStepBaseInterface Initialize() GetFullyQualifiedName() string GetName() string SetName(string) GetType() string SetType(string) SetPipelineName(string) SetPipeline(*Pipeline) GetPipeline() *Pipeline GetPipelineName() string IsResolved() bool AddUnresolvedBody(string, hcl.Body) GetInputs(*hcl.EvalContext) (map[string]interface{}, error) GetInputs2(*hcl.EvalContext) (map[string]interface{}, []ConnectionDependency, error) GetDependsOn() []string GetCredentialDependsOn() []string GetConnectionDependsOn() []string GetForEach() hcl.Expression SetAttributes(hcl.Attributes, *hcl.EvalContext) hcl.Diagnostics GetUnresolvedAttributes() map[string]hcl.Expression SetBlockConfig(hcl.Blocks, *hcl.EvalContext) hcl.Diagnostics GetErrorConfig(*hcl.EvalContext, bool) (*ErrorConfig, hcl.Diagnostics) GetRetryConfig(*hcl.EvalContext, bool) (*RetryConfig, hcl.Diagnostics) GetLoopConfig() LoopDefn GetThrowConfig() []*ThrowConfig SetOutputConfig(map[string]*PipelineOutput) GetOutputConfig() map[string]*PipelineOutput Equals(other PipelineStep) bool Validate() hcl.Diagnostics SetFileReference(fileName string, startLineNumber int, endLineNumber int) SetRange(*hcl.Range) GetRange() *hcl.Range GetMaxConcurrency(*hcl.EvalContext) *int }
A common interface that all pipeline steps must implement
func NewPipelineStep ¶
func NewPipelineStep(stepType, stepName string, pipeline *Pipeline) PipelineStep
type PipelineStepBase ¶
type PipelineStepBase struct { Title *string `json:"title,omitempty"` Description *string `json:"description,omitempty"` Name string `json:"name"` Type string `json:"step_type"` PipelineName string `json:"pipeline_name,omitempty"` Pipeline *Pipeline `json:"-"` Timeout interface{} `json:"timeout,omitempty"` DependsOn []string `json:"depends_on,omitempty"` CredentialDependsOn []string `json:"credential_depends_on,omitempty"` ConnectionDependsOn []string `json:"connection_depends_on,omitempty"` Resolved bool `json:"resolved,omitempty"` ErrorConfig *ErrorConfig `json:"-"` RetryConfig *RetryConfig `json:"retry,omitempty"` ThrowConfig []*ThrowConfig `json:"throw,omitempty"` // TODO: we should serialise this, it's used in PipelineLoaded event to have a record the exact pipeline config loaded. There's no further need apart from record keeping, so it's OK to have it unserializeable for now. LoopConfig LoopDefn `json:"-"` OutputConfig map[string]*PipelineOutput `json:"-"` FileName string `json:"file_name"` StartLineNumber int `json:"start_line_number"` EndLineNumber int `json:"end_line_number"` MaxConcurrency *int `json:"max_concurrency,omitempty"` Range *hcl.Range `json:"range"` // This cant' be serialised UnresolvedAttributes map[string]hcl.Expression `json:"-"` UnresolvedBodies map[string]hcl.Body `json:"-"` ForEach hcl.Expression `json:"-"` }
A common base struct that all pipeline steps must embed
func (*PipelineStepBase) AddUnresolvedAttribute ¶
func (p *PipelineStepBase) AddUnresolvedAttribute(name string, expr hcl.Expression)
func (*PipelineStepBase) AddUnresolvedBody ¶
func (p *PipelineStepBase) AddUnresolvedBody(name string, body hcl.Body)
func (*PipelineStepBase) AppendConnectionDependsOn ¶
func (p *PipelineStepBase) AppendConnectionDependsOn(connectionDependsOn ...string)
func (*PipelineStepBase) AppendCredentialDependsOn ¶
func (p *PipelineStepBase) AppendCredentialDependsOn(credentialDependsOn ...string)
func (*PipelineStepBase) AppendDependsOn ¶
func (p *PipelineStepBase) AppendDependsOn(dependsOn ...string)
func (*PipelineStepBase) Equals ¶
func (p *PipelineStepBase) Equals(other *PipelineStepBase) bool
func (*PipelineStepBase) GetBaseInputs ¶
func (p *PipelineStepBase) GetBaseInputs(evalContext *hcl.EvalContext) (map[string]interface{}, error)
func (*PipelineStepBase) GetConnectionDependsOn ¶
func (p *PipelineStepBase) GetConnectionDependsOn() []string
func (*PipelineStepBase) GetCredentialDependsOn ¶
func (p *PipelineStepBase) GetCredentialDependsOn() []string
func (*PipelineStepBase) GetDependsOn ¶
func (p *PipelineStepBase) GetDependsOn() []string
func (*PipelineStepBase) GetErrorConfig ¶
func (p *PipelineStepBase) GetErrorConfig(evalContext *hcl.EvalContext, ifResolution bool) (*ErrorConfig, hcl.Diagnostics)
func (*PipelineStepBase) GetForEach ¶
func (p *PipelineStepBase) GetForEach() hcl.Expression
func (*PipelineStepBase) GetFullyQualifiedName ¶
func (p *PipelineStepBase) GetFullyQualifiedName() string
func (*PipelineStepBase) GetInputs2 ¶
func (p *PipelineStepBase) GetInputs2(*hcl.EvalContext) (map[string]interface{}, []ConnectionDependency, error)
func (*PipelineStepBase) GetLoopConfig ¶
func (p *PipelineStepBase) GetLoopConfig() LoopDefn
func (*PipelineStepBase) GetMaxConcurrency ¶
func (p *PipelineStepBase) GetMaxConcurrency(evalContext *hcl.EvalContext) *int
func (*PipelineStepBase) GetName ¶
func (p *PipelineStepBase) GetName() string
func (*PipelineStepBase) GetOutputConfig ¶
func (p *PipelineStepBase) GetOutputConfig() map[string]*PipelineOutput
func (*PipelineStepBase) GetPipeline ¶
func (p *PipelineStepBase) GetPipeline() *Pipeline
func (*PipelineStepBase) GetPipelineName ¶
func (p *PipelineStepBase) GetPipelineName() string
func (*PipelineStepBase) GetRange ¶
func (p *PipelineStepBase) GetRange() *hcl.Range
func (*PipelineStepBase) GetRetryConfig ¶
func (p *PipelineStepBase) GetRetryConfig(evalContext *hcl.EvalContext, ifResolution bool) (*RetryConfig, hcl.Diagnostics)
func (*PipelineStepBase) GetThrowConfig ¶
func (p *PipelineStepBase) GetThrowConfig() []*ThrowConfig
For Throw config we want the client to resolve individual element. This to avoid failing on the subsequent throw if an earlier throw is executed.
For example: 3 throw configuration. If the first throw condition is met, then there's no reason we should evaluate the subsequent throw conditions, let alone failing their evaluation.
func (*PipelineStepBase) GetType ¶
func (p *PipelineStepBase) GetType() string
func (*PipelineStepBase) GetUnresolvedAttributes ¶
func (p *PipelineStepBase) GetUnresolvedAttributes() map[string]hcl.Expression
func (*PipelineStepBase) HandleDecodeBodyDiags ¶
func (p *PipelineStepBase) HandleDecodeBodyDiags(diags hcl.Diagnostics, attributeName string, body hcl.Body) hcl.Diagnostics
func (*PipelineStepBase) Initialize ¶
func (p *PipelineStepBase) Initialize()
func (*PipelineStepBase) IsBaseAttribute ¶
func (p *PipelineStepBase) IsBaseAttribute(name string) bool
func (*PipelineStepBase) IsResolved ¶
func (p *PipelineStepBase) IsResolved() bool
func (*PipelineStepBase) SetBaseAttributes ¶
func (p *PipelineStepBase) SetBaseAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
func (*PipelineStepBase) SetBlockConfig ¶
func (p *PipelineStepBase) SetBlockConfig(blocks hcl.Blocks, evalContext *hcl.EvalContext) hcl.Diagnostics
func (*PipelineStepBase) SetFileReference ¶
func (p *PipelineStepBase) SetFileReference(fileName string, startLineNumber int, endLineNumber int)
func (*PipelineStepBase) SetName ¶
func (p *PipelineStepBase) SetName(name string)
func (*PipelineStepBase) SetOutputConfig ¶
func (p *PipelineStepBase) SetOutputConfig(output map[string]*PipelineOutput)
func (*PipelineStepBase) SetPipeline ¶
func (p *PipelineStepBase) SetPipeline(pipeline *Pipeline)
func (*PipelineStepBase) SetPipelineName ¶
func (p *PipelineStepBase) SetPipelineName(pipelineName string)
func (*PipelineStepBase) SetRange ¶
func (p *PipelineStepBase) SetRange(r *hcl.Range)
func (*PipelineStepBase) SetResolved ¶
func (p *PipelineStepBase) SetResolved(resolved bool)
func (*PipelineStepBase) SetType ¶
func (p *PipelineStepBase) SetType(stepType string)
func (*PipelineStepBase) Validate ¶
func (p *PipelineStepBase) Validate() hcl.Diagnostics
func (*PipelineStepBase) ValidateBaseAttributes ¶
func (p *PipelineStepBase) ValidateBaseAttributes() hcl.Diagnostics
type PipelineStepContainer ¶
type PipelineStepContainer struct { PipelineStepBase Image *string `json:"image"` Source *string `json:"source"` Cmd []string `json:"cmd"` Env map[string]string `json:"env"` Entrypoint []string `json:"entrypoint"` Memory *int64 `json:"memory"` MemoryReservation *int64 `json:"memory_reservation"` MemorySwap *int64 `json:"memory_swap"` MemorySwappiness *int64 `json:"memory_swappiness"` ReadOnly *bool `json:"read_only"` User *string `json:"user"` Workdir *string `json:"workdir"` }
func (*PipelineStepContainer) Equals ¶
func (p *PipelineStepContainer) Equals(iOther PipelineStep) bool
func (*PipelineStepContainer) GetInputs ¶
func (p *PipelineStepContainer) GetInputs(evalContext *hcl.EvalContext) (map[string]interface{}, error)
func (*PipelineStepContainer) GetInputs2 ¶
func (p *PipelineStepContainer) GetInputs2(evalContext *hcl.EvalContext) (map[string]interface{}, []ConnectionDependency, error)
func (*PipelineStepContainer) SetAttributes ¶
func (p *PipelineStepContainer) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
func (*PipelineStepContainer) Validate ¶
func (p *PipelineStepContainer) Validate() hcl.Diagnostics
type PipelineStepEmail ¶
type PipelineStepEmail struct { PipelineStepBase To []string `json:"to"` From *string `json:"from"` SmtpPassword *string `json:"smtp_password"` SmtpUsername *string `json:"smtp_username"` Host *string `json:"host"` Port *int64 `json:"port"` SenderName *string `json:"sender_name"` Cc []string `json:"cc"` Bcc []string `json:"bcc"` Body *string `json:"body"` ContentType *string `json:"content_type"` Subject *string `json:"subject"` }
func (*PipelineStepEmail) Equals ¶
func (p *PipelineStepEmail) Equals(iOther PipelineStep) bool
func (*PipelineStepEmail) GetInputs ¶
func (p *PipelineStepEmail) GetInputs(evalContext *hcl.EvalContext) (map[string]interface{}, error)
func (*PipelineStepEmail) GetInputs2 ¶
func (p *PipelineStepEmail) GetInputs2(evalContext *hcl.EvalContext) (map[string]interface{}, []ConnectionDependency, error)
func (*PipelineStepEmail) SetAttributes ¶
func (p *PipelineStepEmail) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
type PipelineStepFunction ¶
type PipelineStepFunction struct { PipelineStepBase Runtime string `json:"runtime" cty:"runtime"` Source string `json:"source" cty:"source"` Handler string `json:"handler" cty:"handler"` Event map[string]interface{} `json:"event"` Env map[string]string `json:"env"` }
func (*PipelineStepFunction) Equals ¶
func (p *PipelineStepFunction) Equals(iOther PipelineStep) bool
func (*PipelineStepFunction) GetInputs ¶
func (p *PipelineStepFunction) GetInputs(evalContext *hcl.EvalContext) (map[string]interface{}, error)
func (*PipelineStepFunction) GetInputs2 ¶
func (p *PipelineStepFunction) GetInputs2(evalContext *hcl.EvalContext) (map[string]interface{}, []ConnectionDependency, error)
func (*PipelineStepFunction) SetAttributes ¶
func (p *PipelineStepFunction) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
func (*PipelineStepFunction) Validate ¶
func (p *PipelineStepFunction) Validate() hcl.Diagnostics
type PipelineStepHttp ¶
type PipelineStepHttp struct { PipelineStepBase Url *string `json:"url" binding:"required"` Method *string `json:"method,omitempty"` CaCertPem *string `json:"ca_cert_pem,omitempty"` Insecure *bool `json:"insecure,omitempty"` RequestBody *string `json:"request_body,omitempty"` RequestHeaders map[string]interface{} `json:"request_headers,omitempty"` BasicAuthConfig *BasicAuthConfig `json:"basic_auth,omitempty"` }
func (*PipelineStepHttp) Equals ¶
func (p *PipelineStepHttp) Equals(iOther PipelineStep) bool
func (*PipelineStepHttp) GetInputs ¶
func (p *PipelineStepHttp) GetInputs(evalContext *hcl.EvalContext) (map[string]interface{}, error)
func (*PipelineStepHttp) GetInputs2 ¶
func (p *PipelineStepHttp) GetInputs2(evalContext *hcl.EvalContext) (map[string]interface{}, []ConnectionDependency, error)
func (*PipelineStepHttp) SetAttributes ¶
func (p *PipelineStepHttp) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
func (*PipelineStepHttp) SetBlockConfig ¶
func (p *PipelineStepHttp) SetBlockConfig(blocks hcl.Blocks, evalContext *hcl.EvalContext) hcl.Diagnostics
func (*PipelineStepHttp) Validate ¶
func (p *PipelineStepHttp) Validate() hcl.Diagnostics
type PipelineStepInput ¶
type PipelineStepInput struct { PipelineStepBase InputType string `json:"type" cty:"type"` Prompt *string `json:"prompt" cty:"prompt"` OptionList []PipelineStepInputOption // Notifier cty.Value `json:"-" cty:"notify"` Notifier NotifierImpl `json:"notify" cty:"-"` // overrides Cc []string `json:"cc,omitempty" cty:"cc" hcl:"cc,optional"` Bcc []string `json:"bcc,omitempty" cty:"bcc" hcl:"bcc,optional"` Channel *string `json:"channel,omitempty" cty:"channel" hcl:"channel,optional"` Subject *string `json:"subject,omitempty" cty:"subject" hcl:"subject,optional"` To []string `json:"to,omitempty" cty:"to" hcl:"to,optional"` }
func (*PipelineStepInput) Equals ¶
func (p *PipelineStepInput) Equals(other PipelineStep) bool
func (*PipelineStepInput) GetInputs ¶
func (p *PipelineStepInput) GetInputs(evalContext *hcl.EvalContext) (map[string]interface{}, error)
func (*PipelineStepInput) GetInputs2 ¶
func (p *PipelineStepInput) GetInputs2(evalContext *hcl.EvalContext) (map[string]interface{}, []ConnectionDependency, error)
func (*PipelineStepInput) SetAttributes ¶
func (p *PipelineStepInput) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
func (*PipelineStepInput) SetBlockConfig ¶
func (p *PipelineStepInput) SetBlockConfig(blocks hcl.Blocks, evalContext *hcl.EvalContext) hcl.Diagnostics
func (*PipelineStepInput) Validate ¶
func (p *PipelineStepInput) Validate() hcl.Diagnostics
type PipelineStepInputOption ¶
type PipelineStepInputOption struct { // circular link to its "parent" PipelineStepBase *PipelineStepBase `json:"-"` UnresolvedAttributes map[string]hcl.Expression `json:"-"` OptionLabel *string `json:"-"` // the label on the option block Label *string `json:"label,omitempty" hcl:"label,optional"` Value *string `json:"value,omitempty" hcl:"value,optional"` Selected *bool `json:"selected,omitempty" hcl:"selected,optional"` Style *string `json:"style,omitempty" hcl:"style,optional"` }
func CtyValueToPipelineStepInputOptionList ¶
func CtyValueToPipelineStepInputOptionList(value cty.Value) ([]PipelineStepInputOption, error)
func (*PipelineStepInputOption) AddUnresolvedAttribute ¶
func (p *PipelineStepInputOption) AddUnresolvedAttribute(name string, expr hcl.Expression)
func (*PipelineStepInputOption) AppendConnectionDependsOn ¶
func (p *PipelineStepInputOption) AppendConnectionDependsOn(...string)
func (*PipelineStepInputOption) AppendCredentialDependsOn ¶
func (p *PipelineStepInputOption) AppendCredentialDependsOn(...string)
func (*PipelineStepInputOption) AppendDependsOn ¶
func (p *PipelineStepInputOption) AppendDependsOn(dependsOn ...string)
func (*PipelineStepInputOption) Equals ¶
func (p *PipelineStepInputOption) Equals(other *PipelineStepInputOption) bool
func (*PipelineStepInputOption) GetPipeline ¶
func (p *PipelineStepInputOption) GetPipeline() *Pipeline
func (*PipelineStepInputOption) Resolve ¶
func (p *PipelineStepInputOption) Resolve(evalContext *hcl.EvalContext) (*PipelineStepInputOption, hcl.Diagnostics)
func (*PipelineStepInputOption) SetAttributes ¶
func (p *PipelineStepInputOption) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
func (*PipelineStepInputOption) Validate ¶
func (p *PipelineStepInputOption) Validate() hcl.Diagnostics
type PipelineStepMessage ¶
type PipelineStepMessage struct { PipelineStepBase Text string `json:"text" hcl:"text" cty:"text"` // Notifier cty.Value `json:"-" cty:"notify"` Notifier NotifierImpl `json:"notify" cty:"-"` // overrides Cc []string `json:"cc,omitempty" cty:"cc" hcl:"cc,optional"` Bcc []string `json:"bcc,omitempty" cty:"bcc" hcl:"bcc,optional"` Channel *string `json:"channel,omitempty" cty:"channel" hcl:"channel,optional"` Subject *string `json:"subject,omitempty" cty:"subject" hcl:"subject,optional"` To []string `json:"to,omitempty" cty:"to" hcl:"to,optional"` }
func (*PipelineStepMessage) Equals ¶
func (p *PipelineStepMessage) Equals(iOther PipelineStep) bool
func (*PipelineStepMessage) GetInputs ¶
func (p *PipelineStepMessage) GetInputs(evalContext *hcl.EvalContext) (map[string]interface{}, error)
func (*PipelineStepMessage) GetInputs2 ¶
func (p *PipelineStepMessage) GetInputs2(evalContext *hcl.EvalContext) (map[string]interface{}, []ConnectionDependency, error)
func (*PipelineStepMessage) SetAttributes ¶
func (p *PipelineStepMessage) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
type PipelineStepPipeline ¶
type PipelineStepPipeline struct { PipelineStepBase Pipeline cty.Value `json:"-"` Args Input `json:"args"` }
func (*PipelineStepPipeline) Equals ¶
func (p *PipelineStepPipeline) Equals(iOther PipelineStep) bool
func (*PipelineStepPipeline) GetInputs ¶
func (p *PipelineStepPipeline) GetInputs(evalContext *hcl.EvalContext) (map[string]interface{}, error)
func (*PipelineStepPipeline) GetInputs2 ¶
func (p *PipelineStepPipeline) GetInputs2(evalContext *hcl.EvalContext) (map[string]interface{}, []ConnectionDependency, error)
func (*PipelineStepPipeline) SetAttributes ¶
func (p *PipelineStepPipeline) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
type PipelineStepQuery ¶
type PipelineStepQuery struct { PipelineStepBase Database *string ConnectionString *string `json:"database"` Sql *string `json:"sql"` Args []interface{} `json:"args"` }
func (*PipelineStepQuery) Equals ¶
func (p *PipelineStepQuery) Equals(iOther PipelineStep) bool
func (*PipelineStepQuery) GetInputs ¶
func (p *PipelineStepQuery) GetInputs(evalContext *hcl.EvalContext) (map[string]interface{}, error)
func (*PipelineStepQuery) GetInputs2 ¶
func (p *PipelineStepQuery) GetInputs2(evalContext *hcl.EvalContext) (map[string]interface{}, []ConnectionDependency, error)
func (*PipelineStepQuery) SetAttributes ¶
func (p *PipelineStepQuery) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
func (*PipelineStepQuery) Validate ¶
func (p *PipelineStepQuery) Validate() hcl.Diagnostics
type PipelineStepSleep ¶
type PipelineStepSleep struct { PipelineStepBase Duration interface{} `json:"duration"` }
func (*PipelineStepSleep) Equals ¶
func (p *PipelineStepSleep) Equals(iOther PipelineStep) bool
func (*PipelineStepSleep) GetInputs ¶
func (p *PipelineStepSleep) GetInputs(evalContext *hcl.EvalContext) (map[string]interface{}, error)
func (*PipelineStepSleep) GetInputs2 ¶
func (p *PipelineStepSleep) GetInputs2(evalContext *hcl.EvalContext) (map[string]interface{}, []ConnectionDependency, error)
func (*PipelineStepSleep) SetAttributes ¶
func (p *PipelineStepSleep) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
func (*PipelineStepSleep) Validate ¶
func (p *PipelineStepSleep) Validate() hcl.Diagnostics
type PipelineStepTransform ¶
type PipelineStepTransform struct { PipelineStepBase Value any `json:"value"` }
func (*PipelineStepTransform) Equals ¶
func (p *PipelineStepTransform) Equals(iOther PipelineStep) bool
func (*PipelineStepTransform) GetInputs ¶
func (p *PipelineStepTransform) GetInputs(evalContext *hcl.EvalContext) (map[string]interface{}, error)
func (*PipelineStepTransform) GetInputs2 ¶
func (p *PipelineStepTransform) GetInputs2(evalContext *hcl.EvalContext) (map[string]interface{}, []ConnectionDependency, error)
func (*PipelineStepTransform) SetAttributes ¶
func (p *PipelineStepTransform) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
type ResourceWithParam ¶
type ResourceWithParam interface { GetParam(paramName string) *PipelineParam GetParams() []PipelineParam }
type RetryConfig ¶
type RetryConfig struct { // circular link to its "parent" PipelineStepBase *PipelineStepBase `json:"-"` UnresolvedAttributes map[string]hcl.Expression `json:"-"` If *bool `json:"if"` MaxAttempts *int64 `json:"max_attempts,omitempty" hcl:"max_attempts,optional" cty:"max_attempts"` Strategy *string `json:"strategy,omitempty" hcl:"strategy,optional" cty:"strategy"` MinInterval *int64 `json:"min_interval,omitempty" hcl:"min_interval,optional" cty:"min_interval"` MaxInterval *int64 `json:"max_interval,omitempty" hcl:"max_interval,optional" cty:"max_interval"` }
func NewRetryConfig ¶
func NewRetryConfig(p *PipelineStepBase) *RetryConfig
func (*RetryConfig) AddUnresolvedAttribute ¶
func (r *RetryConfig) AddUnresolvedAttribute(name string, expr hcl.Expression)
func (*RetryConfig) AppendConnectionDependsOn ¶
func (r *RetryConfig) AppendConnectionDependsOn(...string)
func (*RetryConfig) AppendCredentialDependsOn ¶
func (r *RetryConfig) AppendCredentialDependsOn(...string)
func (*RetryConfig) AppendDependsOn ¶
func (r *RetryConfig) AppendDependsOn(dependsOn ...string)
func (*RetryConfig) CalculateBackoff ¶
func (r *RetryConfig) CalculateBackoff(attempt int) time.Duration
The first attempt is the first time the operation is tried, NOT the first retry.
The first retry is the 2nd attempt
func (*RetryConfig) Equals ¶
func (r *RetryConfig) Equals(other *RetryConfig) bool
func (*RetryConfig) GetPipeline ¶
func (r *RetryConfig) GetPipeline() *Pipeline
func (*RetryConfig) ResolveSettings ¶
func (r *RetryConfig) ResolveSettings() (int, string, int, int)
func (*RetryConfig) SetAttributes ¶
func (r *RetryConfig) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
func (*RetryConfig) Validate ¶
func (r *RetryConfig) Validate() hcl.Diagnostics
type SlackIntegration ¶
type SlackIntegration struct { modconfig.HclResourceImpl `json:"-"` modconfig.ResourceWithMetadataImpl `json:"-"` IntegrationImpl `json:"-"` Type string `json:"type" cty:"type" hcl:"type,label"` // slack Token *string `json:"token,omitempty" cty:"token" hcl:"token,optional"` SigningSecret *string `json:"signing_secret,omitempty" cty:"signing_secret" hcl:"signing_secret,optional"` WebhookUrl *string `json:"webhook_url,omitempty" cty:"webhook_url" hcl:"webhook_url,optional"` Channel *string `json:"channel,omitempty" cty:"channel" hcl:"channel,optional"` }
func SlackIntegrationFromCtyValue ¶
func SlackIntegrationFromCtyValue(val cty.Value) (*SlackIntegration, error)
func (*SlackIntegration) Equals ¶
func (i *SlackIntegration) Equals(other Integration) bool
func (*SlackIntegration) GetIntegrationType ¶
func (i *SlackIntegration) GetIntegrationType() string
func (*SlackIntegration) MapInterface ¶
func (i *SlackIntegration) MapInterface() (map[string]interface{}, error)
func (*SlackIntegration) SetAttributes ¶
func (i *SlackIntegration) SetAttributes(hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
func (*SlackIntegration) Validate ¶
func (i *SlackIntegration) Validate() hcl.Diagnostics
type StepForEach ¶
type ThrowConfig ¶
type ThrowConfig struct { // Circular reference to its parent PipelineStepBase *PipelineStepBase `json:"-"` UnresolvedAttributes map[string]hcl.Expression `json:"-"` If *bool Message *string }
func NewThrowConfig ¶
func NewThrowConfig(p *PipelineStepBase) *ThrowConfig
func (*ThrowConfig) AddUnresolvedAttribute ¶
func (t *ThrowConfig) AddUnresolvedAttribute(name string, expr hcl.Expression)
func (*ThrowConfig) AppendConnectionDependsOn ¶
func (t *ThrowConfig) AppendConnectionDependsOn(...string)
func (*ThrowConfig) AppendCredentialDependsOn ¶
func (t *ThrowConfig) AppendCredentialDependsOn(...string)
func (*ThrowConfig) AppendDependsOn ¶
func (t *ThrowConfig) AppendDependsOn(dependsOn ...string)
func (*ThrowConfig) Equals ¶
func (t *ThrowConfig) Equals(other *ThrowConfig) bool
func (*ThrowConfig) GetPipeline ¶
func (t *ThrowConfig) GetPipeline() *Pipeline
func (*ThrowConfig) Resolve ¶
func (t *ThrowConfig) Resolve(evalContext *hcl.EvalContext) (*ThrowConfig, hcl.Diagnostics)
func (*ThrowConfig) SetAttributes ¶
func (t *ThrowConfig) SetAttributes(throwBlock *hcl.Block, hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
type Trigger ¶
type Trigger struct { modconfig.HclResourceImpl modconfig.ResourceWithMetadataImpl FileName string `json:"file_name"` StartLineNumber int `json:"start_line_number"` EndLineNumber int `json:"end_line_number"` Params []PipelineParam `json:"params,omitempty"` // 27/09/23 - Args is a combination of both parse time and runtime arguments. "var" should be resolved // at parse time, the vars all should be supplied when we start the system. // // However, args can also contain runtime variable, i.e. self.request_body, self.rows // // Args are not currently validated at parse time. To validate Args at parse time we need to: // - identity which args are parse time (var and param) // - validate those parse time args // ArgsRaw hcl.Expression `json:"-"` // TODO: 2024/01/09 - change of direction with Trigger schema, pipeline no longer "common" because Query Trigger no longer has a single pipeline for // all its events, similarly for HTTP trigger the pipeline is being moved down to the "method" block. Pipeline cty.Value `json:"-"` RawBody hcl.Body `json:"-" hcl:",remain"` Config TriggerConfig `json:"-"` Enabled *bool `json:"-"` // contains filtered or unexported fields }
The definition of a single Flowpipe Trigger
func NewTrigger ¶
func (*Trigger) GetParam ¶
func (t *Trigger) GetParam(paramName string) *PipelineParam
func (*Trigger) GetParams ¶
func (t *Trigger) GetParams() []PipelineParam
func (*Trigger) GetPipeline ¶
func (*Trigger) IsBaseAttribute ¶
func (*Trigger) SetBaseAttributes ¶
type TriggerConfig ¶
type TriggerConfig interface { SetAttributes(*modconfig.Mod, *Trigger, hcl.Attributes, *hcl.EvalContext) hcl.Diagnostics GetUnresolvedAttributes() map[string]hcl.Expression SetBlocks(*modconfig.Mod, *Trigger, hcl.Blocks, *hcl.EvalContext) hcl.Diagnostics Equals(other TriggerConfig) bool GetType() string GetConfig(*hcl.EvalContext, *modconfig.Mod) (TriggerConfig, error) GetConnectionDependsOn() []string }
type TriggerHTTPMethod ¶
type TriggerHTTPMethod struct { Type string ExecutionMode string Pipeline cty.Value ArgsRaw hcl.Expression }
func (*TriggerHTTPMethod) Equals ¶
func (c *TriggerHTTPMethod) Equals(other *TriggerHTTPMethod) bool
func (*TriggerHTTPMethod) GetArgs ¶
func (c *TriggerHTTPMethod) GetArgs(evalContext *hcl.EvalContext) (Input, hcl.Diagnostics)
type TriggerHttp ¶
type TriggerHttp struct { Url string `json:"url"` ExecutionMode string `json:"execution_mode"` Methods map[string]*TriggerHTTPMethod `json:"methods"` UnresolvedAttributes map[string]hcl.Expression `json:"-"` ConnectionDependsOn []string `json:"connection_depends_on,omitempty"` }
func (*TriggerHttp) AddUnresolvedAttribute ¶
func (t *TriggerHttp) AddUnresolvedAttribute(key string, value hcl.Expression)
func (*TriggerHttp) AppendConnectionDependsOn ¶
func (t *TriggerHttp) AppendConnectionDependsOn(connectionDependsOn ...string)
func (*TriggerHttp) AppendCredentialDependsOn ¶
func (t *TriggerHttp) AppendCredentialDependsOn(...string)
func (*TriggerHttp) AppendsDependsOn ¶
func (t *TriggerHttp) AppendsDependsOn(dependsOn ...string)
func (*TriggerHttp) Equals ¶
func (t *TriggerHttp) Equals(other TriggerConfig) bool
func (*TriggerHttp) GetConfig ¶
func (t *TriggerHttp) GetConfig(*hcl.EvalContext, *modconfig.Mod) (TriggerConfig, error)
func (*TriggerHttp) GetConnectionDependsOn ¶
func (t *TriggerHttp) GetConnectionDependsOn() []string
func (*TriggerHttp) GetPipeline ¶
func (t *TriggerHttp) GetPipeline() *Pipeline
func (*TriggerHttp) GetType ¶
func (t *TriggerHttp) GetType() string
func (*TriggerHttp) GetUnresolvedAttributes ¶
func (t *TriggerHttp) GetUnresolvedAttributes() map[string]hcl.Expression
func (*TriggerHttp) SetAttributes ¶
func (t *TriggerHttp) SetAttributes(mod *modconfig.Mod, trigger *Trigger, hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
type TriggerQuery ¶
type TriggerQuery struct { Sql string `json:"sql"` Schedule string `json:"schedule"` Database string `json:"database"` PrimaryKey string `json:"primary_key"` Captures map[string]*TriggerQueryCapture `json:"captures"` UnresolvedAttributes map[string]hcl.Expression `json:"-"` ConnectionDependsOn []string `json:"connection_depends_on,omitempty"` }
func (*TriggerQuery) AddUnresolvedAttribute ¶
func (t *TriggerQuery) AddUnresolvedAttribute(key string, value hcl.Expression)
func (*TriggerQuery) AppendConnectionDependsOn ¶
func (t *TriggerQuery) AppendConnectionDependsOn(connectionDependsOn ...string)
func (*TriggerQuery) AppendCredentialDependsOn ¶
func (t *TriggerQuery) AppendCredentialDependsOn(...string)
func (*TriggerQuery) AppendDependsOn ¶
func (t *TriggerQuery) AppendDependsOn(...string)
func (*TriggerQuery) Equals ¶
func (t *TriggerQuery) Equals(other TriggerConfig) bool
func (*TriggerQuery) GetConfig ¶
func (t *TriggerQuery) GetConfig(evalContext *hcl.EvalContext, mod *modconfig.Mod) (TriggerConfig, error)
func (*TriggerQuery) GetConnectionDependsOn ¶
func (t *TriggerQuery) GetConnectionDependsOn() []string
func (*TriggerQuery) GetPipeline ¶
func (t *TriggerQuery) GetPipeline() *Pipeline
func (*TriggerQuery) GetType ¶
func (t *TriggerQuery) GetType() string
func (*TriggerQuery) GetUnresolvedAttributes ¶
func (t *TriggerQuery) GetUnresolvedAttributes() map[string]hcl.Expression
func (*TriggerQuery) SetAttributes ¶
func (t *TriggerQuery) SetAttributes(mod *modconfig.Mod, trigger *Trigger, hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
type TriggerQueryCapture ¶
func (*TriggerQueryCapture) Equals ¶
func (c *TriggerQueryCapture) Equals(other *TriggerQueryCapture) bool
func (*TriggerQueryCapture) GetArgs ¶
func (c *TriggerQueryCapture) GetArgs(evalContext *hcl.EvalContext) (Input, hcl.Diagnostics)
type TriggerSchedule ¶
type TriggerSchedule struct { Schedule string `json:"schedule"` UnresolvedAttributes map[string]hcl.Expression `json:"-"` ConnectionDependsOn []string `json:"connection_depends_on,omitempty"` }
func (*TriggerSchedule) AddUnresolvedAttribute ¶
func (t *TriggerSchedule) AddUnresolvedAttribute(key string, value hcl.Expression)
func (*TriggerSchedule) AppendConnectionDependsOn ¶
func (t *TriggerSchedule) AppendConnectionDependsOn(connectionDependsOn ...string)
func (*TriggerSchedule) AppendCredentialDependsOn ¶
func (t *TriggerSchedule) AppendCredentialDependsOn(...string)
func (*TriggerSchedule) AppendsDependsOn ¶
func (t *TriggerSchedule) AppendsDependsOn(dependsOn ...string)
func (*TriggerSchedule) Equals ¶
func (t *TriggerSchedule) Equals(other TriggerConfig) bool
func (*TriggerSchedule) GetConfig ¶
func (t *TriggerSchedule) GetConfig(evalContext *hcl.EvalContext, mod *modconfig.Mod) (TriggerConfig, error)
func (*TriggerSchedule) GetConnectionDependsOn ¶
func (t *TriggerSchedule) GetConnectionDependsOn() []string
func (*TriggerSchedule) GetPipeline ¶
func (t *TriggerSchedule) GetPipeline() *Pipeline
func (*TriggerSchedule) GetType ¶
func (t *TriggerSchedule) GetType() string
func (*TriggerSchedule) GetUnresolvedAttributes ¶
func (t *TriggerSchedule) GetUnresolvedAttributes() map[string]hcl.Expression
func (*TriggerSchedule) SetAttributes ¶
func (t *TriggerSchedule) SetAttributes(mod *modconfig.Mod, trigger *Trigger, hclAttributes hcl.Attributes, evalContext *hcl.EvalContext) hcl.Diagnostics
Source Files ¶
- flowpipe_integration.go
- flowpipe_loop.go
- flowpipe_loop_container.go
- flowpipe_loop_email.go
- flowpipe_loop_function.go
- flowpipe_loop_http.go
- flowpipe_loop_input.go
- flowpipe_loop_message.go
- flowpipe_loop_pipeline.go
- flowpipe_loop_query.go
- flowpipe_loop_transform.go
- flowpipe_notifier.go
- flowpipe_pipeline.go
- flowpipe_pipeline_schema.go
- flowpipe_pipeline_step.go
- flowpipe_pipeline_step_container.go
- flowpipe_pipeline_step_email.go
- flowpipe_pipeline_step_error_config.go
- flowpipe_pipeline_step_function.go
- flowpipe_pipeline_step_http.go
- flowpipe_pipeline_step_input.go
- flowpipe_pipeline_step_message.go
- flowpipe_pipeline_step_pipeline.go
- flowpipe_pipeline_step_query.go
- flowpipe_pipeline_step_retry_config.go
- flowpipe_pipeline_step_sleep.go
- flowpipe_pipeline_step_throw_config.go
- flowpipe_pipeline_step_transform.go
- flowpipe_pipeline_validation.go
- flowpipe_trigger.go
- mod_resources.go