Documentation ¶
Index ¶
- Constants
- type AtomLink
- type Attribute
- type AttributesCollection
- type CustomCommandRequest
- type Deployment
- type DeploymentsCollection
- type Error
- type Errors
- type EventsCollection
- type Health
- type Host
- type HostConfig
- type HostRequest
- type HostsCollection
- type HostsPoolLocations
- type HostsPoolRequest
- type Info
- type LocationCollection
- type LocationConfiguration
- type LocationRequest
- type LocationsCollection
- type LogsCollection
- type MapEntry
- type MapEntryOperation
- type Node
- type NodeInstance
- type NodeInstances
- type Output
- type OutputsCollection
- type RegistryDefinitionsCollection
- type RegistryDelegatesCollection
- type RegistryImplementationsCollection
- type RegistryInfraUsageCollectorsCollection
- type RegistryVaultsCollection
- type Server
- type Task
- type TaskRequest
- type TasksCollection
- type Workflow
- type WorkflowRequest
- type WorkflowsCollection
Constants ¶
const ( // LinkRelSelf defines the AtomLink Rel attribute for relationships of the "self" LinkRelSelf string = "self" // LinkRelDeployment defines the AtomLink Rel attribute for relationships of the "deployment" LinkRelDeployment string = "deployment" // LinkRelNode defines the AtomLink Rel attribute for relationships of the "node" LinkRelNode string = "node" // LinkRelInstance defines the AtomLink Rel attribute for relationships of the "instance" LinkRelInstance string = "instance" // LinkRelOutput defines the AtomLink Rel attribute for relationships of the "output" LinkRelOutput string = "output" // LinkRelTask defines the AtomLink Rel attribute for relationships of the "task" LinkRelTask string = "task" // LinkRelAttribute defines the AtomLink Rel attribute for relationships of the "attribute" LinkRelAttribute string = "attribute" // LinkRelWorkflow defines the AtomLink Rel attribute for relationships of the "attribute" LinkRelWorkflow string = "workflow" // LinkRelHost defines the AtomLink Rel attribute for relationships of the "host" (for hostspool) LinkRelHost string = "host" // LinkRelLocation defines the AtomLink Rel attribute for relationships of the "location" LinkRelLocation string = "location" )
const LOCATIONS = "/locations"
LOCATIONS is the URI for locations requests
const LOCATIONURI = LOCATIONS + "/:locationName"
LOCATIONURI is the URI for a particular location request
const ( // YorcDeploymentIDPattern is the allowed pattern for Yorc deployments IDs YorcDeploymentIDPattern string = "^[-_0-9a-zA-Z]+$" )
const ( // YorcIndexHeader is the name of the HTTP header containing the last index for long polling endpoints YorcIndexHeader string = "X-Yorc-Index" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AtomLink ¶
type AtomLink struct { Rel string `json:"rel"` Href string `json:"href"` LinkType string `json:"type"` }
An AtomLink is defined in the Atom specification (https://tools.ietf.org/html/rfc4287#section-4.2.7) it allows to reference REST endpoints in the HATEOAS model
type AttributesCollection ¶
type AttributesCollection struct {
Attributes []AtomLink `json:"attributes,omitempty"`
}
AttributesCollection is a collection of node instance's attributes links
type CustomCommandRequest ¶
type CustomCommandRequest struct { NodeName string `json:"node"` Instances []string `json:"instances"` CustomCommandName string `json:"name"` InterfaceName string `json:"interface,omitempty"` Inputs map[string]*tosca.ValueAssignment `json:"inputs"` }
CustomCommandRequest is the representation of a request to process a Custom Command
type Deployment ¶
type Deployment struct { ID string `json:"id"` Status string `json:"status"` Links []AtomLink `json:"links"` }
Deployment is the representation of a Yorc deployment
Deployment's links may be of type LinkRelSelf, LinkRelNode, LinkRelTask, LinkRelOutput.
type DeploymentsCollection ¶
type DeploymentsCollection struct {
Deployments []Deployment `json:"deployments"`
}
DeploymentsCollection is a collection of Deployment
Links are all of type LinkRelDeployment.
type Error ¶
type Error struct { ID string `json:"id"` Status int `json:"status"` Title string `json:"title"` Detail string `json:"detail"` }
Error represent an error returned by the REST API
type Errors ¶
type Errors struct {
Errors []*Error `json:"errors"`
}
Errors is a collection of REST errors
type EventsCollection ¶
type EventsCollection struct { Events []json.RawMessage `json:"events"` LastIndex uint64 `json:"last_index"` }
EventsCollection is a collection of instances status change events
type HostConfig ¶
type HostConfig struct { Name string Connection hostspool.Connection `json:"connection,omitempty" yaml:"connection,omitempty"` Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` }
HostConfig represents the configuration of a host in the Hosts Pool
type HostRequest ¶
type HostRequest struct { Connection *hostspool.Connection `json:"connection,omitempty"` Labels []MapEntry `json:"labels,omitempty"` }
HostRequest represents a request for creating or updating a host in the hosts pool
type HostsCollection ¶
type HostsCollection struct { Checkpoint uint64 `json:"checkpoint,omitempty"` Hosts []AtomLink `json:"hosts"` Warnings []string `json:"warnings,omitempty"` }
HostsCollection is a collection of hosts registered in the host pool links
Links are all of type LinkRelHost.
type HostsPoolLocations ¶
type HostsPoolLocations struct {
Locations []string `json:"locations"`
}
HostsPoolLocations represents the host pools locations handled by Yorc
type HostsPoolRequest ¶
type HostsPoolRequest struct {
Hosts []HostConfig `json:"hosts"`
}
HostsPoolRequest represents a request for applying a Hosts Pool configuration
type LocationCollection ¶
type LocationCollection struct {
Locations []AtomLink `json:"locations"`
}
LocationCollection is a collection of locations
Links are all of type LinkRelLocation.
type LocationConfiguration ¶
type LocationConfiguration struct { Name string `json:"name"` Type string `json:"type"` Properties config.DynamicMap `json:"properties"` }
LocationConfiguration contains the data for a location definition
type LocationRequest ¶
type LocationRequest struct { Type string `json:"type"` Properties config.DynamicMap `json:"properties"` }
LocationRequest represents a request for creating or updating a location
type LocationsCollection ¶
type LocationsCollection struct {
Locations []LocationConfiguration
}
LocationsCollection represents all the existent location definitions, of any type
type LogsCollection ¶
type LogsCollection struct { Logs []json.RawMessage `json:"logs"` LastIndex uint64 `json:"last_index"` }
LogsCollection is a collection of logs events
type MapEntry ¶
type MapEntry struct { // Op is the operation for this entry. The default if omitted is "add". An "add" operation acts like a remplace if the entry already exists Op MapEntryOperation `json:"op,omitempty"` // Name is the map entry key name Name string `json:"name"` // Value is the value of the map entry. Optional for a "remove" operation Value string `json:"value,omitempty"` }
A MapEntry allows to manipulate a Map collection by performing operations (Op) on entries. It is inspired (with many simplifications) by the JSON Patch RFC https://tools.ietf.org/html/rfc6902
type MapEntryOperation ¶
type MapEntryOperation int
MapEntryOperation is an enumeration of valid values for a MapEntry.Op field
ENUM( Add Remove )
const ( // MapEntryOperationAdd is a MapEntryOperation of type Add MapEntryOperationAdd MapEntryOperation = iota // MapEntryOperationRemove is a MapEntryOperation of type Remove MapEntryOperationRemove )
func ParseMapEntryOperation ¶
func ParseMapEntryOperation(name string) (MapEntryOperation, error)
ParseMapEntryOperation attempts to convert a string to a MapEntryOperation
func (MapEntryOperation) MarshalJSON ¶
func (o MapEntryOperation) MarshalJSON() ([]byte, error)
MarshalJSON is used to represent this enumeration as a string instead of an int
func (MapEntryOperation) String ¶
func (x MapEntryOperation) String() string
String implements the Stringer interface.
func (*MapEntryOperation) UnmarshalJSON ¶
func (o *MapEntryOperation) UnmarshalJSON(b []byte) error
UnmarshalJSON is used to read this enumeration from a string
type Node ¶
Node is the representation of a TOSCA node
Node's links are of type LinkRelSelf, LinkRelDeployment and LinkRelInstance.
type NodeInstance ¶
type NodeInstance struct { ID string `json:"id"` Status string `json:"status"` Links []AtomLink `json:"links"` }
NodeInstance is the representation of a TOSCA node
Node's links are of type LinkRelSelf, LinkRelDeployment, LinkRelNode and LinkRelAttribute.
type NodeInstances ¶
NodeInstances represents a given node's instances selected for a custom execution
type OutputsCollection ¶
type OutputsCollection struct {
Outputs []AtomLink `json:"outputs,omitempty"`
}
OutputsCollection is a collection of deployment's outputs links
type RegistryDefinitionsCollection ¶
type RegistryDefinitionsCollection struct {
Definitions []store.Definition `json:"definitions"`
}
RegistryDefinitionsCollection is the collection of TOSCA Definitions registered in the Yorc registry
type RegistryDelegatesCollection ¶
type RegistryDelegatesCollection struct {
Delegates []registry.DelegateMatch `json:"delegates"`
}
RegistryDelegatesCollection is the collection of Delegates executors registered in the Yorc registry
type RegistryImplementationsCollection ¶
type RegistryImplementationsCollection struct {
Implementations []registry.OperationExecMatch `json:"implementations"`
}
RegistryImplementationsCollection is the collection of Operation executors registered in the Yorc registry
type RegistryInfraUsageCollectorsCollection ¶
type RegistryInfraUsageCollectorsCollection struct {
InfraUsageCollectors []registry.InfraUsageCollector `json:"infrastructure_usage_collectors"`
}
RegistryInfraUsageCollectorsCollection is the collection of infrastructure usage collectors registered in the Yorc registry
type RegistryVaultsCollection ¶
type RegistryVaultsCollection struct {
VaultClientBuilders []registry.VaultClientBuilder `json:"vaults"`
}
RegistryVaultsCollection is the collection of Vaults Clients Builders registered in the Yorc registry
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
A Server is an HTTP server that runs the Yorc REST API
type Task ¶
type Task struct { ID string `json:"id"` TargetID string `json:"target_id"` Type string `json:"type"` Status string `json:"status"` ErrorMessage string `json:"error_message,omitempty"` ResultSet json.RawMessage `json:"result_set,omitempty"` Outputs map[string]string `json:"outputs,omitempty"` }
Task is the representation of a Yorc' task
type TaskRequest ¶
type TaskRequest struct {
Type string `json:"type"`
}
TaskRequest is the representation of a request to process a new task
type TasksCollection ¶
type TasksCollection struct {
Tasks []AtomLink `json:"tasks,omitempty"`
}
TasksCollection is the collection of task's links
type WorkflowRequest ¶
type WorkflowRequest struct { NodesInstances []NodeInstances `json:"nodesinstances"` Inputs map[string]interface{} `json:"inputs"` }
WorkflowRequest allows to provide instances selection for nodes in a workflow
type WorkflowsCollection ¶
type WorkflowsCollection struct {
Workflows []AtomLink `json:"workflows"`
}
WorkflowsCollection is a collection of workflows links
Links are all of type LinkRelWorkflow.