Documentation ¶
Index ¶
- Constants
- type Condition
- type ConditionStatus
- type ConditionType
- func (ct ConditionType) Exist(obj any) bool
- func (ct ConditionType) False(obj any, message string)
- func (ct ConditionType) GetMessage(obj any) string
- func (ct ConditionType) IsFalse(obj any) bool
- func (ct ConditionType) IsTrue(obj any) bool
- func (ct ConditionType) IsUnknown(obj any) bool
- func (ct ConditionType) Message(obj any, message string)
- func (ct ConditionType) Remove(obj any)
- func (ct ConditionType) Reset(obj any, message string)
- func (ct ConditionType) Status(obj any, status ConditionStatus)
- func (ct ConditionType) String() string
- func (ct ConditionType) True(obj any, message string)
- func (ct ConditionType) Unknown(obj any, message string)
- type Converter
- type Count
- type Decide
- type Decision
- type Status
- type Summary
- func WalkCatalog(st *Status) *Summary
- func WalkConnector(st *Status) *Summary
- func WalkResource(st *Status) *Summary
- func WalkResourceRevision(st *Status) *Summary
- func WalkTemplate(st *Status) *Summary
- func WalkWorkflowExecution(st *Status) *Summary
- func WalkWorkflowStageExecution(st *Status) *Summary
- func WalkWorkflowStepExecution(st *Status) *Summary
- type Walker
Constants ¶
const ( GeneralStatusReady ConditionType = "Ready" GeneralStatusReadyTransitioning string = "Provisioning" // Transitioning status of Ready. GeneralStatusError string = "Error" // Error status of Ready. )
const ( ResourceRevisionStatusReady ConditionType = "Ready" ResourceRevisionSummaryStatusRunning string = "Running" ResourceRevisionSummaryStatusFailed string = "Failed" ResourceRevisionSummaryStatusSucceed string = "Succeeded" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Condition ¶
type Condition struct { // Type of condition in CamelCase. Type ConditionType `json:"type,omitempty"` // Status of the condition, one of True, False, Unknown. Status ConditionStatus `json:"status,omitempty"` // This should be when the underlying condition changed. LastUpdateTime time.Time `json:"lastUpdateTime,omitempty"` // Message is a human-readable message indicating details about the status. Message string `json:"message,omitempty"` // Reason contains a programmatic identifier indicating the reason for the condition's last transition. Reason string `json:"reason"` }
Condition is the condition details.
type ConditionStatus ¶
type ConditionStatus string
ConditionStatus is the value of status.
const ( ConditionStatusTrue ConditionStatus = "True" ConditionStatusFalse ConditionStatus = "False" ConditionStatusUnknown ConditionStatus = "Unknown" )
These are valid condition statuses. "ConditionStatusTrue" means a resource is in the condition. "ConditionStatusFalse" means a resource is not in the condition. "ConditionStatusUnknown" means a resource is in the condition or not.
type ConditionType ¶
type ConditionType string
ConditionType is the type of status.
const ( CatalogStatusInitialized ConditionType = "Initialized" CatalogStatusReady ConditionType = "Ready" )
const ( ConnectorStatusConnected ConditionType = "Connected" ConnectorStatusCostToolsDeployed ConditionType = "CostToolDeployed" ConnectorStatusCostSynced ConditionType = "CostSynced" ConnectorStatusReady ConditionType = "Ready" )
const ( ResourceStatusUnDeployed ConditionType = "Undeployed" ResourceStatusStopped ConditionType = "Stopped" ResourceStatusDeployed ConditionType = "Deployed" ResourceStatusDeleted ConditionType = "Deleted" ResourceStatusReady ConditionType = "Ready" ResourceStatusProgressing ConditionType = "Progressing" )
const ( TemplateStatusInitialized ConditionType = "Initialized" TemplateStatusReady ConditionType = "Ready" )
const ( WorkflowExecutionStatusPending ConditionType = "Pending" WorkflowExecutionStatusRunning ConditionType = "Running" WorkflowExecutionStatusCanceled ConditionType = "Canceled" )
const ( WorkflowStageExecutionStatusPending ConditionType = "Pending" WorkflowStageExecutionStatusRunning ConditionType = "Running" WorkflowStageExecutionStatusCanceled ConditionType = "Canceled" )
const ( WorkflowStepExecutionStatusPending ConditionType = "Pending" WorkflowStepExecutionStatusRunning ConditionType = "Running" WorkflowStepExecutionStatusCanceled ConditionType = "Canceled" )
func (ConditionType) Exist ¶
func (ct ConditionType) Exist(obj any) bool
Exist returns true if the status is existed, object must be a pointer.
func (ConditionType) False ¶
func (ct ConditionType) False(obj any, message string)
False set status value to False for object field .Status.Conditions, object must be a pointer.
func (ConditionType) GetMessage ¶
func (ct ConditionType) GetMessage(obj any) string
GetMessage get message from conditionType for object field .Status.Conditions.
func (ConditionType) IsFalse ¶
func (ct ConditionType) IsFalse(obj any) bool
IsFalse check status value for object, object must be a pointer.
func (ConditionType) IsTrue ¶
func (ct ConditionType) IsTrue(obj any) bool
IsTrue check status value for object, object must be a pointer.
func (ConditionType) IsUnknown ¶
func (ct ConditionType) IsUnknown(obj any) bool
IsUnknown check status value for object, object must be a pointer.
func (ConditionType) Message ¶
func (ct ConditionType) Message(obj any, message string)
Message set message to conditionType for object field .Status.Conditions, object must be a pointer.
func (ConditionType) Remove ¶
func (ct ConditionType) Remove(obj any)
Remove drop status from the object field .Status.Conditions, object must be a pointer.
func (ConditionType) Reset ¶
func (ct ConditionType) Reset(obj any, message string)
Reset clean the object field .Status.Conditions, and set the status as Unknown type into the object field .Status.Conditions, object must be a pointer.
func (ConditionType) Status ¶
func (ct ConditionType) Status(obj any, status ConditionStatus)
Status set status value to custom value for object field .Status.Conditions, object must be a pointer.
func (ConditionType) String ¶
func (ct ConditionType) String() string
func (ConditionType) True ¶
func (ct ConditionType) True(obj any, message string)
True set status value to True for object field .Status.Conditions, object must be a pointer.
func (ConditionType) Unknown ¶
func (ct ConditionType) Unknown(obj any, message string)
Unknown set status value to Unknown for object field .Status.Conditions, object must be a pointer.
type Converter ¶
type Converter interface { // Convert base on input status and message and gives a converted seal status. Convert(string, string) *Status }
func NewConverter ¶
NewConverter creates a converter by the given status and status message, status not in the normalStatus and errorStatus will set transitioning to true.
- `normalStatus` specifies the normal status list, won't change the error and transition, while summary status is in the normal status list.
- `errorStatus` specifies the error status list, set the error to true, while the summary status is in the error status list.
type Count ¶ added in v0.4.0
type Count struct { Error int `json:"error"` Ready int `json:"ready"` Transitioning int `json:"transitioning"` Inactive int `json:"inactive"` }
Count is the count of status.
type Decide ¶
type Decide func(st ConditionStatus, reason string) *Summary
Decide returns readable and sensible status by the given condition status and reason, and moves to next path step if both returning `isError` and `isTransitioning` are false.
type Decision ¶
type Decision[T ~string] path[T]
Decision exposes ability to customize how to make a decision on one specified step.
type Status ¶
type Status struct { Summary `json:",inline"` Conditions []Condition `json:"conditions,omitempty"` // contains filtered or unexported fields }
Status wrap the summary of conditions and condition details.
func (*Status) SetConditions ¶
func (*Status) SetSummary ¶
type Summary ¶
type Summary struct { SummaryStatus string `json:"summaryStatus,omitempty"` SummaryStatusMessage string `json:"summaryStatusMessage,omitempty"` Error bool `json:"error,omitempty"` Transitioning bool `json:"transitioning,omitempty"` Inactive bool `json:"inactive,omitempty"` }
Summary is the summary of conditions.
func WalkCatalog ¶
func WalkConnector ¶
WalkConnector walks the given status by connector flow.
func WalkResource ¶ added in v0.4.0
WalkResource walks the given status by resource flow.
func WalkResourceRevision ¶ added in v0.4.0
func WalkTemplate ¶
func WalkWorkflowExecution ¶ added in v0.4.0
func WalkWorkflowStageExecution ¶ added in v0.4.0
func WalkWorkflowStepExecution ¶ added in v0.4.0
type Walker ¶
type Walker interface { // Walk walks all conditions of the status and gives a proper summary. Walk(*Status) *Summary }
Walker holds the steps and makes a summary of the status's conditions.
func NewWalker ¶
NewWalker creates a stacking walker by the given steps group, and applies the customized decision to the steps group.
- `stepsGroup` specifies the path steps in line, logically, move to next step if the current step is done. By default, Walker decides to move to the next step on whether the corresponding condition is True status.
- `arrange` applies the customized decision, for example, moving to next step on a dedicated step if its status is False, or changing step's display content by its status.