model

package module
v0.0.0-...-11d08c8 Latest Latest
Warning

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

Go to latest
Published: Mar 6, 2020 License: Apache-2.0 Imports: 0 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ActivationInfo

type ActivationInfo struct {
	// Replay-file name to execute at deployment time
	ReplayFileName string `json:"replayFileName,omitempty"`
}

Activation information

type Deployment

type Deployment struct {
	// Latency in ms between domains
	InterDomainLatency int32 `json:"interDomainLatency,omitempty"`
	// Latency variation in ms between domains
	InterDomainLatencyVariation int32 `json:"interDomainLatencyVariation,omitempty"`
	// The limit of the traffic supported between domains
	InterDomainThroughput int32 `json:"interDomainThroughput,omitempty"`
	// Packet lost (in terms of percentage) between domains
	InterDomainPacketLoss float64 `json:"interDomainPacketLoss,omitempty"`
	// Key/Value Pair Map (string, string)
	Meta map[string]string `json:"meta,omitempty"`
	// Key/Value Pair Map (string, string)
	UserMeta map[string]string `json:"userMeta,omitempty"`
	Domains  []Domain          `json:"domains,omitempty"`
}

Network deployment object

type Domain

type Domain struct {
	// Unique domain ID
	Id string `json:"id,omitempty"`
	// Domain name
	Name string `json:"name,omitempty"`
	// Domain type
	Type_ string `json:"type,omitempty"`
	// Latency in ms between zones within domain
	InterZoneLatency int32 `json:"interZoneLatency,omitempty"`
	// Latency variation in ms between zones within domain
	InterZoneLatencyVariation int32 `json:"interZoneLatencyVariation,omitempty"`
	// The limit of the traffic supported between zones within the domain
	InterZoneThroughput int32 `json:"interZoneThroughput,omitempty"`
	// Packet lost (in terms of percentage) between zones within the domain
	InterZonePacketLoss float64 `json:"interZonePacketLoss,omitempty"`
	// Key/Value Pair Map (string, string)
	Meta map[string]string `json:"meta,omitempty"`
	// Key/Value Pair Map (string, string)
	UserMeta map[string]string `json:"userMeta,omitempty"`
	Zones    []Zone            `json:"zones,omitempty"`
}

Operator domain object

type EgressService

type EgressService struct {
	// Service name
	Name string `json:"name,omitempty"`
	// Multi-Edge service name, if any
	MeSvcName string `json:"meSvcName,omitempty"`
	// External node IP address
	Ip string `json:"ip,omitempty"`
	// Service port number
	Port int32 `json:"port,omitempty"`
	// Service protocol (TCP or UDP)
	Protocol string `json:"protocol,omitempty"`
}

External service exposed internally via specific port

type Event

type Event struct {
	// Event name
	Name string `json:"name,omitempty"`
	// Event type
	Type_                             string                             `json:"type,omitempty"`
	EventNetworkCharacteristicsUpdate *EventNetworkCharacteristicsUpdate `json:"eventNetworkCharacteristicsUpdate,omitempty"`
	EventMobility                     *EventMobility                     `json:"eventMobility,omitempty"`
	EventPoasInRange                  *EventPoasInRange                  `json:"eventPoasInRange,omitempty"`
	EventOther                        *EventOther                        `json:"eventOther,omitempty"`
}

Event object

type EventList

type EventList struct {
	Events []Event `json:"events,omitempty"`
}

Event list object

type EventMobility

type EventMobility struct {
	// Name of the network element to be updated
	ElementName string `json:"elementName,omitempty"`
	// Destination element identifier
	Dest string `json:"dest,omitempty"`
}

Mobility Event object

type EventNetworkCharacteristicsUpdate

type EventNetworkCharacteristicsUpdate struct {
	// Name of the network element to be updated
	ElementName string `json:"elementName,omitempty"`
	// Type of the network element to be updated
	ElementType string `json:"elementType,omitempty"`
	// Latency in ms
	Latency int32 `json:"latency,omitempty"`
	// Latency variation in ms
	LatencyVariation int32 `json:"latencyVariation,omitempty"`
	// Throughput limit
	Throughput int32 `json:"throughput,omitempty"`
	// Packet loss percentage
	PacketLoss float64 `json:"packetLoss,omitempty"`
}

Network Characteristics update Event object

type EventOther

type EventOther struct {
	// Other event string
	Event string `json:"event,omitempty"`
}

Other Event object

type EventPoasInRange

type EventPoasInRange struct {
	// UE identifier
	Ue          string   `json:"ue,omitempty"`
	PoasInRange []string `json:"poasInRange,omitempty"`
}

POAs In Range Event object

type ExternalConfig

type ExternalConfig struct {
	IngressServiceMap []IngressService `json:"ingressServiceMap,omitempty"`
	EgressServiceMap  []EgressService  `json:"egressServiceMap,omitempty"`
}

External Process configuration. NOTE: Only valid if 'isExternal' is set.

type GpuConfig

type GpuConfig struct {
	// Requested GPU type
	Type_ string `json:"type,omitempty"`
	// Number of GPUs requested
	Count int32 `json:"count,omitempty"`
}

GPU configuration object

type IngressService

type IngressService struct {
	// Service name (unique or multi-edge)
	Name string `json:"name,omitempty"`
	// Internal service port number
	Port int32 `json:"port,omitempty"`
	// Externally-exposed unique service port in range (30000 - 32767)
	ExternalPort int32 `json:"externalPort,omitempty"`
	// Service protocol (TCP or UDP)
	Protocol string `json:"protocol,omitempty"`
}

Internal service exposed externally via specific port

type NetworkCharacteristics

type NetworkCharacteristics struct {
	// Latency in ms
	Latency int32 `json:"latency,omitempty"`
	// Latency variation in ms
	LatencyVariation int32 `json:"latencyVariation,omitempty"`
	// Throughput limit in Mbps
	Throughput int32 `json:"throughput,omitempty"`
	// Packet loss percentage
	PacketLoss float64 `json:"packetLoss,omitempty"`
}

Network characteristics object

type NetworkLocation

type NetworkLocation struct {
	// Unique network location ID
	Id string `json:"id,omitempty"`
	// Network location name
	Name string `json:"name,omitempty"`
	// Network location type
	Type_ string `json:"type,omitempty"`
	// Latency in ms for all terminal links within network location
	TerminalLinkLatency int32 `json:"terminalLinkLatency,omitempty"`
	// Latency variation in ms for all terminal links within network location
	TerminalLinkLatencyVariation int32 `json:"terminalLinkLatencyVariation,omitempty"`
	// The limit of the traffic supported for all terminal links within the network location
	TerminalLinkThroughput int32 `json:"terminalLinkThroughput,omitempty"`
	// Packet lost (in terms of percentage) for all terminal links within the network location
	TerminalLinkPacketLoss float64 `json:"terminalLinkPacketLoss,omitempty"`
	// Key/Value Pair Map (string, string)
	Meta map[string]string `json:"meta,omitempty"`
	// Key/Value Pair Map (string, string)
	UserMeta          map[string]string  `json:"userMeta,omitempty"`
	PhysicalLocations []PhysicalLocation `json:"physicalLocations,omitempty"`
}

Logical network location object

type NodeServiceMaps

type NodeServiceMaps struct {
	// Unique external node identifier
	Node              string           `json:"node,omitempty"`
	IngressServiceMap []IngressService `json:"ingressServiceMap,omitempty"`
	EgressServiceMap  []EgressService  `json:"egressServiceMap,omitempty"`
}

Node-specific mapping of exposed internal & external services

type PhysicalLocation

type PhysicalLocation struct {
	// Unique physical location ID
	Id string `json:"id,omitempty"`
	// Physical location name
	Name string `json:"name,omitempty"`
	// Physical location type
	Type_ string `json:"type,omitempty"`
	// true: Physical location is external to MEEP false: Physical location is internal to MEEP
	IsExternal              bool     `json:"isExternal,omitempty"`
	NetworkLocationsInRange []string `json:"networkLocationsInRange,omitempty"`
	// Key/Value Pair Map (string, string)
	Meta map[string]string `json:"meta,omitempty"`
	// Key/Value Pair Map (string, string)
	UserMeta  map[string]string `json:"userMeta,omitempty"`
	Processes []Process         `json:"processes,omitempty"`
	// Latency in ms between the physical location and the network (wired interface, air interface)
	LinkLatency int32 `json:"linkLatency,omitempty"`
	// Latency variation in ms between the physical location and the network (wired interface, air interface)
	LinkLatencyVariation int32 `json:"linkLatencyVariation,omitempty"`
	// The limit of the traffic supported between the physical location and the network (wired interface, air interface)
	LinkThroughput int32 `json:"linkThroughput,omitempty"`
	// Packet lost (in terms of percentage) between the physical location and the network (wired interface, air interface)
	LinkPacketLoss float64 `json:"linkPacketLoss,omitempty"`
}

Physical location object

type PodStatus

type PodStatus struct {
	// Pod name
	Name string `json:"name,omitempty"`
	// Pod namespace
	Namespace string `json:"namespace,omitempty"`
	// Pod process name
	MeepApp string `json:"meepApp,omitempty"`
	// Pod origin(core, scenario)
	MeepOrigin string `json:"meepOrigin,omitempty"`
	// Pod scenario name
	MeepScenario string `json:"meepScenario,omitempty"`
	// Pod phase
	Phase string `json:"phase,omitempty"`
	// Pod initialized (true/false)
	PodInitialized string `json:"podInitialized,omitempty"`
	// Pod ready (true/false)
	PodReady string `json:"podReady,omitempty"`
	// Pod scheduled (true/false)
	PodScheduled string `json:"podScheduled,omitempty"`
	// Pod unschedulable (true/false)
	PodUnschedulable string `json:"podUnschedulable,omitempty"`
	// Pod error message
	PodConditionError string `json:"podConditionError,omitempty"`
	// Failed container error message
	ContainerStatusesMsg string `json:"containerStatusesMsg,omitempty"`
	// Number of containers that are up
	NbOkContainers string `json:"nbOkContainers,omitempty"`
	// Number of total containers in the pod
	NbTotalContainers string `json:"nbTotalContainers,omitempty"`
	// Number of container failures leading to pod restarts
	NbPodRestart string `json:"nbPodRestart,omitempty"`
	// State that is mapping the kubernetes api state
	LogicalState string `json:"logicalState,omitempty"`
	// Pod creation time
	StartTime string `json:"startTime,omitempty"`
}

type PodsStatus

type PodsStatus struct {
	PodStatus []PodStatus `json:"podStatus,omitempty"`
}

List of all pods status

type Process

type Process struct {
	// Unique process ID
	Id string `json:"id,omitempty"`
	// Process name
	Name string `json:"name,omitempty"`
	// Process type
	Type_ string `json:"type,omitempty"`
	// true: process is external to MEEP false: process is internal to MEEP
	IsExternal bool `json:"isExternal,omitempty"`
	// Docker image to deploy inside MEEP
	Image string `json:"image,omitempty"`
	// Environment variables using the format NAME=\"value\",NAME=\"value\",NAME=\"value\"
	Environment string `json:"environment,omitempty"`
	// Arguments to command executable
	CommandArguments string `json:"commandArguments,omitempty"`
	// Executable to invoke at container start up
	CommandExe     string          `json:"commandExe,omitempty"`
	ServiceConfig  *ServiceConfig  `json:"serviceConfig,omitempty"`
	GpuConfig      *GpuConfig      `json:"gpuConfig,omitempty"`
	ExternalConfig *ExternalConfig `json:"externalConfig,omitempty"`
	// Process status
	Status string `json:"status,omitempty"`
	// Chart location for the deployment of the chart provided by the user
	UserChartLocation string `json:"userChartLocation,omitempty"`
	// Chart values.yaml file location for the deployment of the chart provided by the user
	UserChartAlternateValues string `json:"userChartAlternateValues,omitempty"`
	// Chart supplemental information related to the group (service)
	UserChartGroup string `json:"userChartGroup,omitempty"`
	// Key/Value Pair Map (string, string)
	Meta map[string]string `json:"meta,omitempty"`
	// Key/Value Pair Map (string, string)
	UserMeta map[string]string `json:"userMeta,omitempty"`
	// Latency in ms caused by the application
	AppLatency int32 `json:"appLatency,omitempty"`
	// Latency variation in ms caused by the application
	AppLatencyVariation int32 `json:"appLatencyVariation,omitempty"`
	// The limit of the traffic supported by the application
	AppThroughput int32 `json:"appThroughput,omitempty"`
	// Packet lost (in terms of percentage) caused by the application
	AppPacketLoss float64 `json:"appPacketLoss,omitempty"`
	// Identifier used for process placement in AdvantEDGE cluster
	PlacementId string `json:"placementId,omitempty"`
}

Application or service object

type Release

type Release struct {
	// Release name
	Name string `json:"name,omitempty"`
	// Current release state
	State string `json:"state,omitempty"`
}

type Replay

type Replay struct {
	// User description of the content of the replay file.
	Description string        `json:"description,omitempty"`
	Events      []ReplayEvent `json:"events,omitempty"`
}

ReplayEvents from the Replay-file

type ReplayEvent

type ReplayEvent struct {
	// Event index
	Index int32 `json:"index,omitempty"`
	// Relative time (ms) an event happened since the begining of a replay sequence
	Time  int32  `json:"time,omitempty"`
	Event *Event `json:"event,omitempty"`
}

Replay event object

type ReplayFileList

type ReplayFileList struct {
	ReplayFiles []string `json:"replay-files,omitempty"`
}

Replay-file list

type ReplayInfo

type ReplayInfo struct {
	// Scenario name
	ScenarioName string `json:"scenarioName,omitempty"`
	// User description of the replay file
	Description string `json:"description,omitempty"`
}

Scenario information

type ReplayStatus

type ReplayStatus struct {
	// Name of the replay file currently running
	ReplayFileRunning string `json:"replayFileRunning,omitempty"`
	// Index of the last ran event
	Index int32 `json:"index,omitempty"`
	// Number of events in the replay file
	MaxIndex int32 `json:"maxIndex,omitempty"`
	// Loop mode enables
	LoopMode bool `json:"loopMode,omitempty"`
	// Total time remaining for the replay file after last event
	TimeRemaining int32 `json:"timeRemaining,omitempty"`
	// Time remaining until the next event for the replay file after last event
	TimeToNextEvent int32 `json:"timeToNextEvent,omitempty"`
}

Replay status object

type Scenario

type Scenario struct {
	// Scenario version
	Version string `json:"version,omitempty"`
	// Unique scenario ID
	Id string `json:"id,omitempty"`
	// Unique scenario name
	Name string `json:"name,omitempty"`
	// User description of the scenario.
	Description string          `json:"description,omitempty"`
	Config      *ScenarioConfig `json:"config,omitempty"`
	Deployment  *Deployment     `json:"deployment,omitempty"`
}

Scenario object

type ScenarioConfig

type ScenarioConfig struct {
	// Visualization configuration
	Visualization string `json:"visualization,omitempty"`
	// Other scenario configuration
	Other string `json:"other,omitempty"`
}

Scenario configuration

type ScenarioInfo

type ScenarioInfo struct {
	// Scenario name
	Name string `json:"name,omitempty"`
}

Scenario information

type ScenarioList

type ScenarioList struct {
	Scenarios []Scenario `json:"scenarios,omitempty"`
}

Scenario list

type ServiceConfig

type ServiceConfig struct {
	// Unique service name
	Name string `json:"name,omitempty"`
	// Multi-Edge service name, if any
	MeSvcName string        `json:"meSvcName,omitempty"`
	Ports     []ServicePort `json:"ports,omitempty"`
}

Service object

type ServicePort

type ServicePort struct {
	// Protocol that the application is using (TCP or UDP)
	Protocol string `json:"protocol,omitempty"`
	// Port number that the service is listening on
	Port int32 `json:"port,omitempty"`
	// External port number on which to expose the application (30000 - 32767)  <li>Only one application allowed per external port <li>Scenario builder must configure to prevent conflicts
	ExternalPort int32 `json:"externalPort,omitempty"`
}

Service port object

type Settings

type Settings struct {
}

MEEP settings - Key/Value Pair Map (string, string)

type Zone

type Zone struct {
	// Unique zone ID
	Id string `json:"id,omitempty"`
	// Zone name
	Name string `json:"name,omitempty"`
	// Zone type
	Type_   string                  `json:"type,omitempty"`
	NetChar *NetworkCharacteristics `json:"netChar,omitempty"`
	// **DEPRECATED** As of release 1.3.0, no longer supported
	InterFogLatency int32 `json:"interFogLatency,omitempty"`
	// **DEPRECATED** As of release 1.3.0, no longer supported
	InterFogLatencyVariation int32 `json:"interFogLatencyVariation,omitempty"`
	// **DEPRECATED** As of release 1.3.0, no longer supported
	InterFogThroughput int32 `json:"interFogThroughput,omitempty"`
	// **DEPRECATED** As of release 1.3.0, no longer supported
	InterFogPacketLoss float64 `json:"interFogPacketLoss,omitempty"`
	// **DEPRECATED** As of release 1.3.0, no longer supported
	InterEdgeLatency int32 `json:"interEdgeLatency,omitempty"`
	// **DEPRECATED** As of release 1.3.0, no longer supported
	InterEdgeLatencyVariation int32 `json:"interEdgeLatencyVariation,omitempty"`
	// **DEPRECATED** As of release 1.3.0, no longer supported
	InterEdgeThroughput int32 `json:"interEdgeThroughput,omitempty"`
	// **DEPRECATED** As of release 1.3.0, no longer supported
	InterEdgePacketLoss float64 `json:"interEdgePacketLoss,omitempty"`
	// **DEPRECATED** As of release 1.3.0, replaced by netChar latency
	EdgeFogLatency int32 `json:"edgeFogLatency,omitempty"`
	// **DEPRECATED** As of release 1.3.0, replaced by netChar latencyVariation
	EdgeFogLatencyVariation int32 `json:"edgeFogLatencyVariation,omitempty"`
	// **DEPRECATED** As of release 1.3.0, replaced by netChar throughput
	EdgeFogThroughput int32 `json:"edgeFogThroughput,omitempty"`
	// **DEPRECATED** As of release 1.3.0, replaced by netChar packetLoss
	EdgeFogPacketLoss float64 `json:"edgeFogPacketLoss,omitempty"`
	// Key/Value Pair Map (string, string)
	Meta map[string]string `json:"meta,omitempty"`
	// Key/Value Pair Map (string, string)
	UserMeta         map[string]string `json:"userMeta,omitempty"`
	NetworkLocations []NetworkLocation `json:"networkLocations,omitempty"`
}

Logical zone (MEC network) object

Jump to

Keyboard shortcuts

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