prov

package
v3.2.0-M4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 29, 2019 License: Apache-2.0 Imports: 5 Imported by: 0

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

func (Operation) String

func (o Operation) String() string

String implements the fmt.Stringer interface

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL