Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Action ¶
type Action struct { ID string ActionType string AsyncOperation AsyncOperation Data map[string]string }
Action represents an executable action
type ActionOperator ¶
type ActionOperator interface {
ExecAction(ctx context.Context, conf config.Configuration, taskID, deploymentID string, action *Action) (deregister bool, err error)
}
ActionOperator is the interface for executing an action
ExecAction allows to execute the action An action operator could ask to "deregister" an action by returning true as first result
type AsyncOperation ¶
type AsyncOperation struct { DeploymentID string `json:"deployment_id,omitempty"` TaskID string `json:"task_id,omitempty"` ExecutionID string `json:"execution_id,omitempty"` WorkflowName string `json:"workflow_name,omitempty"` StepName string `json:"step_name,omitempty"` NodeName string `json:"node_name,omitempty"` Operation Operation `json:"operation,omitempty"` WorkflowStepInfo *events.WorkflowStepInfo `json:"workflow_step_info,omitempty"` }
AsyncOperation represents an asynchronous operation
type DelegateExecutor ¶
type DelegateExecutor interface {
ExecDelegate(ctx context.Context, conf config.Configuration, taskID, deploymentID, nodeName, delegateOperation string) error
}
DelegateExecutor is the interface that wraps the ExecDelegate method
ExecDelegate executes the given delegateOperation for given nodeName on the given deploymentID. The taskID identifies the task that requested to execute this delegate operation. The given ctx may be used to check for cancellation, conf is the server Configuration.
type InfraUsageCollector ¶
type InfraUsageCollector interface {
GetUsageInfo(ctx context.Context, cfg config.Configuration, taskID, infraName string) (map[string]interface{}, error)
}
InfraUsageCollector is the interface for collecting information about infrastructure usage
GetUsageInfo returns data about infrastructure usage for defined infrastructure
type Operation ¶
type Operation struct { // The operation name Name string `json:"name,omitempty"` // Name of the type implementing this operation if implemented by node type ImplementedInType string `json:"implemented_in_type,omitempty"` // Name of the node template implementing this operation if implemented by a node template ImplementedInNodeTemplate string `json:"implemented_in_node_template,omitempty"` // Artifact type of the operation implementation ImplementationArtifact string `json:"implementation_artifact,omitempty"` // Additional information for relationship operation RelOp RelationshipOperation `json:"rel_op,omitempty"` // Node on which operation should be executed OperationHost string `json:"operation_host,omitempty"` }
Operation represent a provisioning operation
type OperationExecutor ¶
type OperationExecutor interface { ExecOperation(ctx context.Context, conf config.Configuration, taskID, deploymentID, nodeName string, operation Operation) error ExecAsyncOperation(ctx context.Context, conf config.Configuration, taskID, deploymentID, nodeName string, operation Operation, stepName string) (*Action, time.Duration, error) }
OperationExecutor is the interface that wraps the ExecOperation method
ExecOperation executes the given TOSCA operation for given nodeName on the given deploymentID. The taskID identifies the task that requested to execute this operation. The given ctx may be used to check for cancellation, conf is the server Configuration.
ExecAsyncOperation does the same as ExecOperation in asynchronous way. It needs to return action, time interval related to the operation execution in order to schedule its monitoring
type RelationshipOperation ¶
type RelationshipOperation struct { // If this is set to true then other struct fields could be considered. IsRelationshipOperation bool `json:"is_relationship_operation,omitempty"` // Requirement index of the relationship in the source node RequirementIndex string `json:"requirement_index,omitempty"` // Name of the target node of the relationship TargetNodeName string `json:"target_node_name,omitempty"` // Requirement name in case of relationship TargetRelationship string `json:"target_relationship,omitempty"` }
RelationshipOperation provides additional information for relationship operation
func (RelationshipOperation) String ¶
func (ro RelationshipOperation) String() string
String implements the fmt.Stringer interface