client

package module
v0.0.0-...-8f6edbe Latest Latest
Warning

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

Go to latest
Published: May 30, 2023 License: Apache-2.0 Imports: 21 Imported by: 3

README

Go API client for client

This API is the main Sandbox Controller API for scenario deployment & event injection

Micro-service
meep-sandbox-ctrl

Type & Usage
Platform runtime interface to manage active scenarios and inject events in AdvantEDGE platform

Details
API details available at your-AdvantEDGE-ip-address/api

Overview

This API client was generated by the swagger-codegen project. By using the swagger-spec from a remote server, you can easily generate an API client.

  • API version: 1.0.0
  • Package version: 1.0.0
  • Build package: io.swagger.codegen.languages.GoClientCodegen

Installation

Put the package under your project folder and add the following in import:

import "./client"

Documentation for API Endpoints

All URIs are relative to https://localhost/sandboxname/sandbox-ctrl/v1

Class Method HTTP request Description
ActiveScenarioApi ActivateScenario Post /active/{name} Deploy a scenario
ActiveScenarioApi GetActiveNodeServiceMaps Get /active/serviceMaps Get deployed scenario's port mapping
ActiveScenarioApi GetActiveScenario Get /active Get the deployed scenario
ActiveScenarioApi GetActiveScenarioDomain Get /active/domains Get domain elements from the deployed scenario
ActiveScenarioApi GetActiveScenarioNetworkLocation Get /active/networkLocations Get network location elements from the deployed scenario
ActiveScenarioApi GetActiveScenarioPhysicalLocation Get /active/physicalLocations Get physical location elements from the deployed scenario
ActiveScenarioApi GetActiveScenarioProcess Get /active/processes Get process elements from the deployed scenario
ActiveScenarioApi GetActiveScenarioZone Get /active/zones Get zone elements from the deployed scenario
ActiveScenarioApi TerminateScenario Delete /active Terminate the deployed scenario
ApplicationsApi ApplicationsAppInstanceIdDELETE Delete /applications/{appInstanceId}
ApplicationsApi ApplicationsAppInstanceIdGET Get /applications/{appInstanceId}
ApplicationsApi ApplicationsAppInstanceIdPUT Put /applications/{appInstanceId}
ApplicationsApi ApplicationsGET Get /applications
ApplicationsApi ApplicationsPOST Post /applications
ConnectivityApi CreatePduSession Post /connectivity/pdu-session/{ueName}/{pduSessionId} Create a PDU Session
ConnectivityApi GetPduSessionList Get /connectivity/pdu-session Get list of PDU Sessions
ConnectivityApi TerminatePduSession Delete /connectivity/pdu-session/{ueName}/{pduSessionId} Terminate a PDU Session
EventReplayApi CreateReplayFile Post /replay/{name} Add a replay file
EventReplayApi CreateReplayFileFromScenarioExec Post /replay/{name}/generate Generate a replay file from Active Scenario events
EventReplayApi DeleteReplayFile Delete /replay/{name} Delete a replay file
EventReplayApi DeleteReplayFileList Delete /replay Delete all replay files
EventReplayApi GetReplayFile Get /replay/{name} Get a specific replay file
EventReplayApi GetReplayFileList Get /replay Get all replay file names
EventReplayApi GetReplayStatus Get /replaystatus Get status of replay manager
EventReplayApi LoopReplay Post /replay/{name}/loop Loop-Execute a replay file present in the platform store
EventReplayApi PlayReplayFile Post /replay/{name}/play Execute a replay file present in the platform store
EventReplayApi StopReplayFile Post /replay/{name}/stop Stop execution of a replay file
EventsApi SendEvent Post /events/{type} Send events to the deployed scenario
ServicesApi ServicesGET Get /services

Documentation For Models

Documentation For Authorization

Endpoints do not require authorization.

Author

AdvantEDGE@InterDigital.com

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ContextOAuth2 takes a oauth2.TokenSource as authentication for the request.
	ContextOAuth2 = contextKey("token")

	// ContextBasicAuth takes BasicAuth as authentication for the request.
	ContextBasicAuth = contextKey("basic")

	// ContextAccessToken takes a string oauth2 access token as authentication for the request.
	ContextAccessToken = contextKey("accesstoken")

	// ContextAPIKey takes an APIKey as authentication for the request
	ContextAPIKey = contextKey("apikey")
)

Functions

func CacheExpires

func CacheExpires(r *http.Response) time.Time

CacheExpires helper function to determine remaining time before repeating a request.

Types

type APIClient

type APIClient struct {
	ActiveScenarioApi *ActiveScenarioApiService

	ApplicationsApi *ApplicationsApiService

	ConnectivityApi *ConnectivityApiService

	EventReplayApi *EventReplayApiService

	EventsApi *EventsApiService

	ServicesApi *ServicesApiService
	// contains filtered or unexported fields
}

APIClient manages communication with the AdvantEDGE Sandbox Controller REST API API v1.0.0 In most cases there should be only one, shared, APIClient.

func NewAPIClient

func NewAPIClient(cfg *Configuration) *APIClient

NewAPIClient creates a new API client. Requires a userAgent string describing your application. optionally a custom http.Client to allow for advanced features such as caching.

func (*APIClient) ChangeBasePath

func (c *APIClient) ChangeBasePath(path string)

Change base path to allow switching to mocks

type APIKey

type APIKey struct {
	Key    string
	Prefix string
}

APIKey provides API key based authentication to a request passed via context using ContextAPIKey

type APIResponse

type APIResponse struct {
	*http.Response `json:"-"`
	Message        string `json:"message,omitempty"`
	// Operation is the name of the swagger operation.
	Operation string `json:"operation,omitempty"`
	// RequestURL is the request URL. This value is always available, even if the
	// embedded *http.Response is nil.
	RequestURL string `json:"url,omitempty"`
	// Method is the HTTP method used for the request.  This value is always
	// available, even if the embedded *http.Response is nil.
	Method string `json:"method,omitempty"`
	// Payload holds the contents of the response body (which may be nil or empty).
	// This is provided here as the raw response.Body() reader will have already
	// been drained.
	Payload []byte `json:"-"`
}

func NewAPIResponse

func NewAPIResponse(r *http.Response) *APIResponse

func NewAPIResponseWithError

func NewAPIResponseWithError(errorMessage string) *APIResponse

type ActivateScenarioOpts

type ActivateScenarioOpts struct {
	ActivationInfo optional.Interface
}

type ActivationInfo

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

Activation information

type ActiveScenarioApiService

type ActiveScenarioApiService service

func (*ActiveScenarioApiService) ActivateScenario

func (a *ActiveScenarioApiService) ActivateScenario(ctx context.Context, name string, localVarOptionals *ActivateScenarioOpts) (*http.Response, error)

func (*ActiveScenarioApiService) GetActiveNodeServiceMaps

func (a *ActiveScenarioApiService) GetActiveNodeServiceMaps(ctx context.Context, localVarOptionals *GetActiveNodeServiceMapsOpts) ([]NodeServiceMaps, *http.Response, error)

func (*ActiveScenarioApiService) GetActiveScenario

func (a *ActiveScenarioApiService) GetActiveScenario(ctx context.Context, localVarOptionals *GetActiveScenarioOpts) (Scenario, *http.Response, error)

func (*ActiveScenarioApiService) GetActiveScenarioDomain

func (a *ActiveScenarioApiService) GetActiveScenarioDomain(ctx context.Context, localVarOptionals *GetActiveScenarioDomainOpts) (Domains, *http.Response, error)

func (*ActiveScenarioApiService) GetActiveScenarioNetworkLocation

func (a *ActiveScenarioApiService) GetActiveScenarioNetworkLocation(ctx context.Context, localVarOptionals *GetActiveScenarioNetworkLocationOpts) (NetworkLocations, *http.Response, error)

func (*ActiveScenarioApiService) GetActiveScenarioPhysicalLocation

func (a *ActiveScenarioApiService) GetActiveScenarioPhysicalLocation(ctx context.Context, localVarOptionals *GetActiveScenarioPhysicalLocationOpts) (PhysicalLocations, *http.Response, error)

func (*ActiveScenarioApiService) GetActiveScenarioProcess

func (a *ActiveScenarioApiService) GetActiveScenarioProcess(ctx context.Context, localVarOptionals *GetActiveScenarioProcessOpts) (Processes, *http.Response, error)

func (*ActiveScenarioApiService) GetActiveScenarioZone

func (a *ActiveScenarioApiService) GetActiveScenarioZone(ctx context.Context, localVarOptionals *GetActiveScenarioZoneOpts) (Zones, *http.Response, error)

func (*ActiveScenarioApiService) TerminateScenario

func (a *ActiveScenarioApiService) TerminateScenario(ctx context.Context) (*http.Response, error)

ActiveScenarioApiService Terminate the deployed scenario Terminate the scenario currently deployed on the platform

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().

type ApplicationInfo

type ApplicationInfo struct {
	// Application Instance UUID
	Id string `json:"id,omitempty"`
	// Application name
	Name string `json:"name"`
	// Name of node where application instance is running
	NodeName string `json:"nodeName"`
	// Application Type
	Type_ string `json:"type,omitempty"`
	// Reserved for internal platform usage
	Persist bool `json:"persist,omitempty"`
}

MEC Application instance information

type ApplicationsApiService

type ApplicationsApiService service

func (*ApplicationsApiService) ApplicationsAppInstanceIdDELETE

func (a *ApplicationsApiService) ApplicationsAppInstanceIdDELETE(ctx context.Context, appInstanceId string) (*http.Response, error)

ApplicationsApiService This method deletes a mec application resource.

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param appInstanceId Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC application manager POST method.

func (*ApplicationsApiService) ApplicationsAppInstanceIdGET

func (a *ApplicationsApiService) ApplicationsAppInstanceIdGET(ctx context.Context, appInstanceId string) (ApplicationInfo, *http.Response, error)

ApplicationsApiService This method retrieves information about a mec application resource.

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param appInstanceId Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC application manager POST method.

@return ApplicationInfo

func (*ApplicationsApiService) ApplicationsAppInstanceIdPUT

func (a *ApplicationsApiService) ApplicationsAppInstanceIdPUT(ctx context.Context, appInstanceId string, applicationInfo ApplicationInfo) (ApplicationInfo, *http.Response, error)

ApplicationsApiService This method updates the information about a mec application resource.

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param appInstanceId Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC application manager POST method.
  • @param applicationInfo Application information

@return ApplicationInfo

func (*ApplicationsApiService) ApplicationsGET

func (a *ApplicationsApiService) ApplicationsGET(ctx context.Context, localVarOptionals *ApplicationsGETOpts) ([]ApplicationInfo, *http.Response, error)

func (*ApplicationsApiService) ApplicationsPOST

func (a *ApplicationsApiService) ApplicationsPOST(ctx context.Context, applicationInfo ApplicationInfo) (ApplicationInfo, *http.Response, error)

ApplicationsApiService This method is used to create a mec application resource.

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param applicationInfo Application information

@return ApplicationInfo

type ApplicationsGETOpts

type ApplicationsGETOpts struct {
	App      optional.String
	Type_    optional.String
	NodeName optional.String
}

type BasicAuth

type BasicAuth struct {
	UserName string `json:"userName,omitempty"`
	Password string `json:"password,omitempty"`
}

BasicAuth provides basic http authentication to a request passed via context using ContextBasicAuth

type CellularDomainConfig

type CellularDomainConfig struct {
	// Mobile Network Code part of PLMN identity as defined in ETSI TS 136 413
	Mnc string `json:"mnc,omitempty"`
	// Mobile Country Code part of PLMN identity as defined in ETSI TS 136 413
	Mcc string `json:"mcc,omitempty"`
	// The E-UTRAN Cell Identity as defined in ETSI TS 136 413 if no cellId is defined for the cell or if not applicable
	DefaultCellId string `json:"defaultCellId,omitempty"`
}

Cellular domain configuration information

type CellularPoaConfig

type CellularPoaConfig struct {
	// The E-UTRAN Cell Identity as defined in ETSI TS 136 413 including the ID of the eNB serving the cell
	CellId string `json:"cellId,omitempty"`
}

**DEPRECATED** As of release 1.5.1, renamed to poa4GConfig

type Configuration

type Configuration struct {
	BasePath      string            `json:"basePath,omitempty"`
	Host          string            `json:"host,omitempty"`
	Scheme        string            `json:"scheme,omitempty"`
	DefaultHeader map[string]string `json:"defaultHeader,omitempty"`
	UserAgent     string            `json:"userAgent,omitempty"`
	HTTPClient    *http.Client
}

func NewConfiguration

func NewConfiguration() *Configuration

func (*Configuration) AddDefaultHeader

func (c *Configuration) AddDefaultHeader(key string, value string)

type ConnectivityApiService

type ConnectivityApiService service

func (*ConnectivityApiService) CreatePduSession

func (a *ConnectivityApiService) CreatePduSession(ctx context.Context, ueName string, pduSessionId string, pduSessionInfo PduSessionInfo) (*http.Response, error)

ConnectivityApiService Create a PDU Session Establish a PDU Session to a Data Network defined in the scenario

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param ueName UE unique identifier from the scenario
  • @param pduSessionId a UE provided identifier for the PDU Session
  • @param pduSessionInfo PDU session information

func (*ConnectivityApiService) GetPduSessionList

func (a *ConnectivityApiService) GetPduSessionList(ctx context.Context, localVarOptionals *GetPduSessionListOpts) (PduSessionList, *http.Response, error)

func (*ConnectivityApiService) TerminatePduSession

func (a *ConnectivityApiService) TerminatePduSession(ctx context.Context, ueName string, pduSessionId string) (*http.Response, error)

ConnectivityApiService Terminate a PDU Session Terminate a PDU session to a Data Network defined in the scenario

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param ueName UE unique identifier from the scenario
  • @param pduSessionId a UE provided identifier for the PDU Session

type ConnectivityConfig

type ConnectivityConfig struct {
	// Connectivity Model: <li>OPEN: Any node in the scenario can communicate with any node <li>PDU: Terminal nodes (UE) require a PDU session to the target DN
	Model string `json:"model,omitempty"`
}

type CpuConfig

type CpuConfig struct {
	// Minimum requested CPU
	Min float32 `json:"min,omitempty"`
	// Maximum requested CPU
	Max float32 `json:"max,omitempty"`
}

CPU configuration object

type D2dConfig

type D2dConfig struct {
	// Maximum distance for D2D. Default distance is 100m
	D2dMaxDistance float32 `json:"d2dMaxDistance,omitempty"`
	// Enable-Disable D2D via network. Default value is false
	DisableD2dViaNetwork bool `json:"disableD2dViaNetwork,omitempty"`
}

D2D config

type Deployment

type Deployment struct {
	NetChar      *NetworkCharacteristics `json:"netChar,omitempty"`
	Connectivity *ConnectivityConfig     `json:"connectivity,omitempty"`
	D2d          *D2dConfig              `json:"d2d,omitempty"`
	// **DEPRECATED** As of release 1.5.0, replaced by netChar latency
	InterDomainLatency int32 `json:"interDomainLatency,omitempty"`
	// **DEPRECATED** As of release 1.5.0, replaced by netChar latencyVariation
	InterDomainLatencyVariation int32 `json:"interDomainLatencyVariation,omitempty"`
	// **DEPRECATED** As of release 1.5.0, replaced by netChar throughputUl and throughputDl
	InterDomainThroughput int32 `json:"interDomainThroughput,omitempty"`
	// **DEPRECATED** As of release 1.5.0, replaced by netChar packetLoss
	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 DnConfig

type DnConfig struct {
	// Data Network Name
	Dnn string `json:"dnn,omitempty"`
	// true: Data network serves local area only false: Data network is not limited to local area
	Ladn bool `json:"ladn,omitempty"`
	// Edge Compute Service Provider
	Ecsp string `json:"ecsp,omitempty"`
}

Data Network Configuration

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"`
	NetChar *NetworkCharacteristics `json:"netChar,omitempty"`
	// **DEPRECATED** As of release 1.5.0, replaced by netChar latency
	InterZoneLatency int32 `json:"interZoneLatency,omitempty"`
	// **DEPRECATED** As of release 1.5.0, replaced by netChar latencyVariation
	InterZoneLatencyVariation int32 `json:"interZoneLatencyVariation,omitempty"`
	// **DEPRECATED** As of release 1.5.0, replaced by netChar throughputUl and throughputDl
	InterZoneThroughput int32 `json:"interZoneThroughput,omitempty"`
	// **DEPRECATED** As of release 1.5.0, replaced by netChar packetLoss
	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"`
	CellularDomainConfig *CellularDomainConfig `json:"cellularDomainConfig,omitempty"`
	Zones                []Zone                `json:"zones,omitempty"`
}

Operator domain object

type Domains

type Domains struct {
	Domains []Domain `json:"domains,omitempty"`
}

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"`
	EventMobility                     *EventMobility                     `json:"eventMobility,omitempty"`
	EventNetworkCharacteristicsUpdate *EventNetworkCharacteristicsUpdate `json:"eventNetworkCharacteristicsUpdate,omitempty"`
	EventPoasInRange                  *EventPoasInRange                  `json:"eventPoasInRange,omitempty"`
	EventScenarioUpdate               *EventScenarioUpdate               `json:"eventScenarioUpdate,omitempty"`
	EventPduSession                   *EventPduSession                   `json:"eventPduSession,omitempty"`
}

Event object

type EventMobility

type EventMobility struct {
	// Name of the network element to be updated
	ElementName string `json:"elementName,omitempty"`
	// Destination element identifier or 'DISCONNECTED'
	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"`
	NetChar     *NetworkCharacteristics `json:"netChar,omitempty"`
}

Network Characteristics update Event object

type EventPduSession

type EventPduSession struct {
	// PDU Session action to perform for provided UE
	Action     string      `json:"action,omitempty"`
	PduSession *PduSession `json:"pduSession,omitempty"`
}

PDU Session Event object.<br> Specifies a PDU session action to perform for the provided UE. <p>Supported Actions: <li>ADD - Create new PDU Session from UE to target data network. <li>REMOVE - Remove active PDU Session. Only UE name & PDU session ID are required.

type EventPoasInRange

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

POAs In Range Event object

type EventReplayApiService

type EventReplayApiService service

func (*EventReplayApiService) CreateReplayFile

func (a *EventReplayApiService) CreateReplayFile(ctx context.Context, name string, replayFile Replay) (*http.Response, error)

EventReplayApiService Add a replay file Add a replay file to the platform store

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param name replay file name
  • @param replayFile Replay-file

func (*EventReplayApiService) CreateReplayFileFromScenarioExec

func (a *EventReplayApiService) CreateReplayFileFromScenarioExec(ctx context.Context, name string, replayInfo ReplayInfo) (*http.Response, error)

EventReplayApiService Generate a replay file from Active Scenario events Generate a replay file using events from the latest execution of a scenario

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param name replay file name
  • @param replayInfo Replay information

func (*EventReplayApiService) DeleteReplayFile

func (a *EventReplayApiService) DeleteReplayFile(ctx context.Context, name string) (*http.Response, error)

EventReplayApiService Delete a replay file Delete a replay file by name from the platform store

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param name replay file name

func (*EventReplayApiService) DeleteReplayFileList

func (a *EventReplayApiService) DeleteReplayFileList(ctx context.Context) (*http.Response, error)

EventReplayApiService Delete all replay files Delete all replay files present in the platform store

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().

func (*EventReplayApiService) GetReplayFile

func (a *EventReplayApiService) GetReplayFile(ctx context.Context, name string) (Replay, *http.Response, error)

EventReplayApiService Get a specific replay file Get a replay file by name from the platform store

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param name replay file name

@return Replay

func (*EventReplayApiService) GetReplayFileList

func (a *EventReplayApiService) GetReplayFileList(ctx context.Context) (ReplayFileList, *http.Response, error)

EventReplayApiService Get all replay file names Returns a list of all replay files names present in the platform store

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().

@return ReplayFileList

func (*EventReplayApiService) GetReplayStatus

func (a *EventReplayApiService) GetReplayStatus(ctx context.Context) (ReplayStatus, *http.Response, error)

EventReplayApiService Get status of replay manager Returns status information on the replay manager

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().

@return ReplayStatus

func (*EventReplayApiService) LoopReplay

func (a *EventReplayApiService) LoopReplay(ctx context.Context, name string) (*http.Response, error)

EventReplayApiService Loop-Execute a replay file present in the platform store Loop-Execute a replay file present in the platform store

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param name replay file name

func (*EventReplayApiService) PlayReplayFile

func (a *EventReplayApiService) PlayReplayFile(ctx context.Context, name string) (*http.Response, error)

EventReplayApiService Execute a replay file present in the platform store Execute a replay file present in the platform store

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param name replay file name

func (*EventReplayApiService) StopReplayFile

func (a *EventReplayApiService) StopReplayFile(ctx context.Context, name string) (*http.Response, error)

EventReplayApiService Stop execution of a replay file Stop execution a replay file

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param name replay file name

type EventScenarioUpdate

type EventScenarioUpdate struct {
	// Action to perform on provided scenario node
	Action string        `json:"action,omitempty"`
	Node   *ScenarioNode `json:"node,omitempty"`
	// Grace period in seconds before forcefully removing node
	GracePeriod int32 `json:"gracePeriod,omitempty"`
}

Scenario Update Event object.<br> Specifies a scenario update action to perform on the provided node. <p>Supported Actions: <li>ADD - Add node to scenario. Only the provided node is added; child nodes in node data are ignored. <li>REMOVE - Remove node from scenario. Only node name is required in node data for this action; parent is ignored. <li>MODIFY - Modifies scenario node. <p>NOTES: <li>Current backend implementation supports only PhysicalLocation & Process network elements. <li>Grace period only applies when removing a node. Default value is 0, triggering an immediate node removal.

type EventsApiService

type EventsApiService service

func (*EventsApiService) SendEvent

func (a *EventsApiService) SendEvent(ctx context.Context, type_ string, event Event) (*http.Response, error)

EventsApiService Send events to the deployed scenario Generate events towards the deployed scenario. Events: &lt;li&gt;MOBILITY: move a node in the emulated network &lt;li&gt;NETWORK-CHARACTERISTICS-UPDATE: change network characteristics dynamically &lt;li&gt;POAS-IN-RANGE: provide PoAs in range of a UE (used with ApplicationState Transfer) &lt;li&gt;SCENARIO-UPDATE: Add/Remove/Modify node in active scenario &lt;li&gt;PDU-SESSION: Add/Remove active PDU session

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param type_ Event type
  • @param event Event to send to active scenario

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 GenericSwaggerError

type GenericSwaggerError struct {
	// contains filtered or unexported fields
}

GenericSwaggerError Provides access to the body, error and model on returned errors.

func (GenericSwaggerError) Body

func (e GenericSwaggerError) Body() []byte

Body returns the raw bytes of the response

func (GenericSwaggerError) Error

func (e GenericSwaggerError) Error() string

Error returns non-empty string if there was an error.

func (GenericSwaggerError) Model

func (e GenericSwaggerError) Model() interface{}

Model returns the unpacked model of the error

type GeoData

type GeoData struct {
	Location *Point `json:"location,omitempty"`
	// Optional - Radius (in meters) around the location
	Radius float32     `json:"radius,omitempty"`
	Path   *LineString `json:"path,omitempty"`
	// End-of-Path mode: <li>LOOP: When path endpoint is reached, start over from the beginning <li>REVERSE: When path endpoint is reached, return on the reverse path
	EopMode string `json:"eopMode,omitempty"`
	// Speed of movement along path in m/s
	Velocity   float32  `json:"velocity,omitempty"`
	D2dInRange []string `json:"d2dInRange,omitempty"`
	PoaInRange []string `json:"poaInRange,omitempty"`
}

Geographic data

type GetActiveNodeServiceMapsOpts

type GetActiveNodeServiceMapsOpts struct {
	Node    optional.String
	Type_   optional.String
	Service optional.String
}

type GetActiveScenarioDomainOpts

type GetActiveScenarioDomainOpts struct {
	Domain               optional.String
	DomainType           optional.String
	Zone                 optional.String
	NetworkLocation      optional.String
	NetworkLocationType  optional.String
	PhysicalLocation     optional.String
	PhysicalLocationType optional.String
	Process              optional.String
	ProcessType          optional.String
	ExcludeChildren      optional.Bool
	Minimize             optional.Bool
}

type GetActiveScenarioNetworkLocationOpts

type GetActiveScenarioNetworkLocationOpts struct {
	Domain               optional.String
	DomainType           optional.String
	Zone                 optional.String
	NetworkLocation      optional.String
	NetworkLocationType  optional.String
	PhysicalLocation     optional.String
	PhysicalLocationType optional.String
	Process              optional.String
	ProcessType          optional.String
	ExcludeChildren      optional.Bool
	Minimize             optional.Bool
}

type GetActiveScenarioOpts

type GetActiveScenarioOpts struct {
	Minimize optional.Bool
}

type GetActiveScenarioPhysicalLocationOpts

type GetActiveScenarioPhysicalLocationOpts struct {
	Domain               optional.String
	DomainType           optional.String
	Zone                 optional.String
	NetworkLocation      optional.String
	NetworkLocationType  optional.String
	PhysicalLocation     optional.String
	PhysicalLocationType optional.String
	Process              optional.String
	ProcessType          optional.String
	ExcludeChildren      optional.Bool
	Minimize             optional.Bool
}

type GetActiveScenarioProcessOpts

type GetActiveScenarioProcessOpts struct {
	Domain               optional.String
	DomainType           optional.String
	Zone                 optional.String
	NetworkLocation      optional.String
	NetworkLocationType  optional.String
	PhysicalLocation     optional.String
	PhysicalLocationType optional.String
	Process              optional.String
	ProcessType          optional.String
	ExcludeChildren      optional.Bool
	Minimize             optional.Bool
}

type GetActiveScenarioZoneOpts

type GetActiveScenarioZoneOpts struct {
	Domain               optional.String
	DomainType           optional.String
	Zone                 optional.String
	NetworkLocation      optional.String
	NetworkLocationType  optional.String
	PhysicalLocation     optional.String
	PhysicalLocationType optional.String
	Process              optional.String
	ProcessType          optional.String
	ExcludeChildren      optional.Bool
	Minimize             optional.Bool
}

type GetPduSessionListOpts

type GetPduSessionListOpts struct {
	Ue optional.String
	Id optional.String
}

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 LineString

type LineString struct {
	// Must be LineString
	Type_ string `json:"type"`
	// For a LineString, coordinates is an array of two or more positions; a position is an array of two decimal numbers (longitude and latitude precisely in that order)
	Coordinates [][]float32 `json:"coordinates,omitempty"`
}

An array of two or more positions in coordinate space (GeoJSON); a position is an array of two numbers

type MemoryConfig

type MemoryConfig struct {
	// Minimum requested memory
	Min int32 `json:"min,omitempty"`
	// Maximum requested memory
	Max int32 `json:"max,omitempty"`
}

Memory configuration object

type NetworkCharacteristics

type NetworkCharacteristics struct {
	// Latency in ms
	Latency int32 `json:"latency,omitempty"`
	// Latency variation in ms
	LatencyVariation int32 `json:"latencyVariation,omitempty"`
	// Latency distribution. Can only be set in the Scenario Deployment network characteristics, ignored otherwise. Latency distribution is set for the whole network and applied to every end-to-end traffic flows. Default value is 'Normal' distribution.
	LatencyDistribution string `json:"latencyDistribution,omitempty"`
	// **DEPRECATED** As of release 1.5.0, replaced by throughputUl and throughputDl
	Throughput int32 `json:"throughput,omitempty"`
	// Downlink throughput limit in Mbps
	ThroughputDl int32 `json:"throughputDl,omitempty"`
	// Uplink throughput limit in Mbps
	ThroughputUl int32 `json:"throughputUl,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"`
	NetChar *NetworkCharacteristics `json:"netChar,omitempty"`
	// **DEPRECATED** As of release 1.5.0, replaced by netChar latency
	TerminalLinkLatency int32 `json:"terminalLinkLatency,omitempty"`
	// **DEPRECATED** As of release 1.5.0, replaced by netChar latencyVariation
	TerminalLinkLatencyVariation int32 `json:"terminalLinkLatencyVariation,omitempty"`
	// **DEPRECATED** As of release 1.5.0, replaced by netChar throughputUl and throughputDl
	TerminalLinkThroughput int32 `json:"terminalLinkThroughput,omitempty"`
	// **DEPRECATED** As of release 1.5.0, replaced by netChar packetLoss
	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"`
	CellularPoaConfig *CellularPoaConfig `json:"cellularPoaConfig,omitempty"`
	Poa4GConfig       *Poa4GConfig       `json:"poa4GConfig,omitempty"`
	Poa5GConfig       *Poa5GConfig       `json:"poa5GConfig,omitempty"`
	PoaWifiConfig     *PoaWifiConfig     `json:"poaWifiConfig,omitempty"`
	GeoData           *GeoData           `json:"geoData,omitempty"`
	PhysicalLocations []PhysicalLocation `json:"physicalLocations,omitempty"`
}

Logical network location object

type NetworkLocations

type NetworkLocations struct {
	NetworkLocations []NetworkLocation `json:"networkLocations,omitempty"`
}

type NodeDataUnion

type NodeDataUnion struct {
	PhysicalLocation *PhysicalLocation `json:"physicalLocation,omitempty"`
	Process          *Process          `json:"process,omitempty"`
}

Union of node data objects NOTE: Only one of the following objects must be filled

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 PduSession

type PduSession struct {
	// UE name as defined in the scenario
	Ue string `json:"ue,omitempty"`
	// PDU Session ID
	Id   string          `json:"id,omitempty"`
	Info *PduSessionInfo `json:"info,omitempty"`
}

PDU Session

type PduSessionInfo

type PduSessionInfo struct {
	// Data Network Name as defined in the scenario
	Dnn string `json:"dnn,omitempty"`
}

type PduSessionList

type PduSessionList struct {
	Sessions []PduSession `json:"sessions,omitempty"`
}

PDUSession list

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"`
	GeoData                 *GeoData `json:"geoData,omitempty"`
	NetworkLocationsInRange []string `json:"networkLocationsInRange,omitempty"`
	// true: Physical location has network connectivity false: Physical location has no network connectivity
	Connected bool `json:"connected,omitempty"`
	// true: Physical location uses a wireless connection false: Physical location uses a wired connection
	Wireless bool `json:"wireless,omitempty"`
	// Prioritized, comma-separated list of supported wireless connection types. Default priority if not specififed is 'wifi,5g,4g,other'. Wireless connection types: - 4g - 5g - wifi - other
	WirelessType string    `json:"wirelessType,omitempty"`
	DataNetwork  *DnConfig `json:"dataNetwork,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"`
	NetChar   *NetworkCharacteristics `json:"netChar,omitempty"`
	// **DEPRECATED** As of release 1.5.0, replaced by netChar latency
	LinkLatency int32 `json:"linkLatency,omitempty"`
	// **DEPRECATED** As of release 1.5.0, replaced by netChar latencyVariation
	LinkLatencyVariation int32 `json:"linkLatencyVariation,omitempty"`
	// **DEPRECATED** As of release 1.5.0, replaced by netChar throughputUl and throughputDl
	LinkThroughput int32 `json:"linkThroughput,omitempty"`
	// **DEPRECATED** As of release 1.5.0, replaced by netChar packetLoss
	LinkPacketLoss float64 `json:"linkPacketLoss,omitempty"`
	// Physical location MAC Address
	MacId string `json:"macId,omitempty"`
}

Physical location object

type PhysicalLocations

type PhysicalLocations struct {
	PhysicalLocations []PhysicalLocation `json:"physicalLocations,omitempty"`
}

type Poa4GConfig

type Poa4GConfig struct {
	// The E-UTRAN Cell Identity as defined in ETSI TS 136 413 including the ID of the eNB serving the cell
	CellId string `json:"cellId,omitempty"`
}

Cellular 4G POA configuration information

type Poa5GConfig

type Poa5GConfig struct {
	// The E-UTRAN Cell Identity as defined in ETSI TS 136 413 including the ID of the NR serving the cell
	CellId string `json:"cellId,omitempty"`
}

Cellular 5G POA configuration information

type PoaWifiConfig

type PoaWifiConfig struct {
	// WIFI POA MAC Address
	MacId string `json:"macId,omitempty"`
}

WIFI POA configuration information

type Point

type Point struct {
	// Must be Point
	Type_ string `json:"type"`
	// For a Point, coordinates MUST be an array of two decimal numbers; longitude and latitude precisely in that order
	Coordinates []float32 `json:"coordinates,omitempty"`
}

A single position in coordinate space (GeoJSON); a position is an array of two numbers

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"`
	MemoryConfig   *MemoryConfig   `json:"memoryConfig,omitempty"`
	CpuConfig      *CpuConfig      `json:"cpuConfig,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"`
	NetChar  *NetworkCharacteristics `json:"netChar,omitempty"`
	// **DEPRECATED** As of release 1.5.0, replaced by netChar latency
	AppLatency int32 `json:"appLatency,omitempty"`
	// **DEPRECATED** As of release 1.5.0, replaced by netChar latencyVariation
	AppLatencyVariation int32 `json:"appLatencyVariation,omitempty"`
	// **DEPRECATED** As of release 1.5.0, replaced by netChar throughputUl and throughputDl
	AppThroughput int32 `json:"appThroughput,omitempty"`
	// **DEPRECATED** As of release 1.5.0, replaced by netChar packetLoss
	AppPacketLoss float64 `json:"appPacketLoss,omitempty"`
	// Identifier used for process placement in AdvantEDGE cluster
	PlacementId string `json:"placementId,omitempty"`
}

Application or service object

type Processes

type Processes struct {
	Processes []Process `json:"processes,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 ScenarioNode

type ScenarioNode struct {
	// Node type
	Type_         string         `json:"type,omitempty"`
	NodeDataUnion *NodeDataUnion `json:"nodeDataUnion,omitempty"`
	// Parent node name
	Parent string `json:"parent,omitempty"`
	// List of child node names
	Children []string `json:"children,omitempty"`
}

Scenario node object

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 ServiceInfo

type ServiceInfo struct {
	// Application Instance UUID
	AppId string `json:"appId"`
	// Service Instance UUID
	Id string `json:"id"`
}

MEC Service information

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 ServicesApiService

type ServicesApiService service

func (*ServicesApiService) ServicesGET

func (a *ServicesApiService) ServicesGET(ctx context.Context, localVarOptionals *ServicesGETOpts) ([]ServiceInfo, *http.Response, error)

type ServicesGETOpts

type ServicesGETOpts struct {
	AppInstanceId optional.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

type Zones

type Zones struct {
	Zones []Zone `json:"zones,omitempty"`
}

Jump to

Keyboard shortcuts

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