Documentation ¶
Index ¶
- Constants
- Variables
- func CreatePfdTransaction(w http.ResponseWriter, r *http.Request)
- func CreateSubscription(w http.ResponseWriter, r *http.Request)
- func DeletePfdAppTransaction(w http.ResponseWriter, r *http.Request)
- func DeletePfdTransaction(w http.ResponseWriter, r *http.Request)
- func DeleteSubscription(w http.ResponseWriter, r *http.Request)
- func GetAllPfdTransactions(w http.ResponseWriter, r *http.Request)
- func GetAllSubscriptions(w http.ResponseWriter, r *http.Request)
- func GetPfdAppTransaction(w http.ResponseWriter, r *http.Request)
- func GetPfdTransaction(w http.ResponseWriter, r *http.Request)
- func GetSubscription(w http.ResponseWriter, r *http.Request)
- func ModifySubscriptionPatch(w http.ResponseWriter, r *http.Request)
- func ModifySubscriptionPut(w http.ResponseWriter, r *http.Request)
- func NewAFRouter(afCtx *Context) *mux.Router
- func NewNotifRouter(afCtx *Context) *mux.Router
- func NotificationPost(w http.ResponseWriter, r *http.Request)
- func PatchPfdAppTransaction(w http.ResponseWriter, r *http.Request)
- func PutPfdAppTransaction(w http.ResponseWriter, r *http.Request)
- func PutPfdTransaction(w http.ResponseWriter, r *http.Request)
- func Run(parentCtx context.Context, cfgPath string) error
- func SetHTTPClient(httpClient *http.Client)
- type CliConfig
- type Client
- type Config
- type Context
- type DNAI
- type DNAIChangeType
- type DurationSec
- type DurationSecRm
- type DurationSecRo
- type EthFlowDescription
- type EventNotification
- type FailureCode
- type FlowInfo
- type GPSI
- type GenericError
- type IPv4Addr
- type IPv6Addr
- type InvalidParam
- type Link
- type MacAddr
- type NotifSubscryptions
- type Pfd
- type PfdData
- type PfdManagement
- type PfdManagementTransactionAppDeleteAPIService
- type PfdManagementTransactionAppGetAPIService
- type PfdManagementTransactionAppPatchAPIService
- type PfdManagementTransactionAppPutAPIService
- type PfdManagementTransactionDeleteAPIService
- type PfdManagementTransactionGetAPIService
- type PfdManagementTransactionGetAllAPIService
- type PfdManagementTransactionPostAPIService
- type PfdManagementTransactionPutAPIService
- type PfdReport
- type ProblemDetails
- type Route
- type RouteInformation
- type RouteToLocation
- type Routes
- type SNSSAI
- type ServerConfig
- type SrcUEIPv4Addr
- type SrcUEIPv6Prefix
- type SubscribedEvent
- type SupportedFeatures
- type TemporalValidity
- type TgtUEIPv4Addr
- type TgtUEIPv6Prefix
- type TrafficInfluSub
- type TrafficInfluSubPatch
- type TrafficInfluenceSubscriptionDeleteAPIService
- type TrafficInfluenceSubscriptionGetAPIService
- type TrafficInfluenceSubscriptionGetAllAPIService
- type TrafficInfluenceSubscriptionPatchAPIService
- type TrafficInfluenceSubscriptionPostAPIService
- type TrafficInfluenceSubscriptionPutAPIService
- type TransactionIDs
- type UEMac
- type WebsockNotifConfig
Constants ¶
const ( // This value indicates that something functions wrongly in PFD // provisioning or the PFD provisioning does not function at all. Malfunction FailureCode = "MALFUNCTION" // This value indicates there is resource limitation for PFD storage. ResourceLimitation = "RESOURCE_LIMITATION" // This value indicates that the allowed delay is too short and PFD(s) are // not stored ShortDelay = "SHORT_DELAY" // The received external application identifier(s) are already provisioned AppIDDuplicated = "APP_ID_DUPLICATED" // Other reason specified OtherReason = "OTHER_REASON" )
Possible values of FailureCode
const DefaultNotifURL = "/af/v1/notifications"
DefaultNotifURL const
const ( // HTTP2Enabled flag is for enabling/disabling HTTP2 HTTP2Enabled = true )
Variables ¶
var ( //AfCtx public var AfCtx *Context //AfRouter public var AfRouter *mux.Router //NotifRouter public var NotifRouter *mux.Router )
var HTTPClient *http.Client
HTTPClient to be setup in AF UT
var TestAf bool = false
TestAf boolean to be set to true in AF UT
var TransIDMax = math.MaxInt32
TransIDMax var
Functions ¶
func CreatePfdTransaction ¶
func CreatePfdTransaction(w http.ResponseWriter, r *http.Request)
CreatePfdTransaction function - Create a PFD transaction
func CreateSubscription ¶
func CreateSubscription(w http.ResponseWriter, r *http.Request)
CreateSubscription function
func DeletePfdAppTransaction ¶
func DeletePfdAppTransaction(w http.ResponseWriter, r *http.Request)
DeletePfdAppTransaction function
func DeletePfdTransaction ¶
func DeletePfdTransaction(w http.ResponseWriter, r *http.Request)
DeletePfdTransaction function
func DeleteSubscription ¶
func DeleteSubscription(w http.ResponseWriter, r *http.Request)
DeleteSubscription function
func GetAllPfdTransactions ¶
func GetAllPfdTransactions(w http.ResponseWriter, r *http.Request)
GetAllPfdTransactions - Function to read all PFD transactions
func GetAllSubscriptions ¶
func GetAllSubscriptions(w http.ResponseWriter, r *http.Request)
GetAllSubscriptions function
func GetPfdAppTransaction ¶
func GetPfdAppTransaction(w http.ResponseWriter, r *http.Request)
GetPfdAppTransaction function
func GetPfdTransaction ¶
func GetPfdTransaction(w http.ResponseWriter, r *http.Request)
GetPfdTransaction function - Read a particular PFD transaction
func GetSubscription ¶
func GetSubscription(w http.ResponseWriter, r *http.Request)
GetSubscription function
func ModifySubscriptionPatch ¶
func ModifySubscriptionPatch(w http.ResponseWriter, r *http.Request)
ModifySubscriptionPatch function
func ModifySubscriptionPut ¶
func ModifySubscriptionPut(w http.ResponseWriter, r *http.Request)
ModifySubscriptionPut function
func NotificationPost ¶
func NotificationPost(w http.ResponseWriter, r *http.Request)
NotificationPost function
func PatchPfdAppTransaction ¶
func PatchPfdAppTransaction(w http.ResponseWriter, r *http.Request)
PatchPfdAppTransaction function
func PutPfdAppTransaction ¶
func PutPfdAppTransaction(w http.ResponseWriter, r *http.Request)
PutPfdAppTransaction function
func PutPfdTransaction ¶
func PutPfdTransaction(w http.ResponseWriter, r *http.Request)
PutPfdTransaction function - To update the PFD transcation
func SetHTTPClient ¶
SetHTTPClient Function to setup a httpClient for testing if required
Types ¶
type CliConfig ¶
type CliConfig struct { Protocol string `json:"Protocol"` NEFHostname string `json:"NEFHostname"` NEFPort string `json:"NEFPort"` NEFBasePath string `json:"NEFBasePath"` NEFPFDBasePath string `json:"NEFPFDBasePath"` UserAgent string `json:"UserAgent"` NEFCliCertPath string `json:"NEFCliCertPath"` HTTPClient *http.Client OAuth2Support bool `json:"OAuth2Support"` }
CliConfig struct
func NewConfiguration ¶
NewConfiguration function initializes client configuration
type Client ¶
type Client struct { // API Services TrafficInfluSubGetAllAPI *TrafficInfluenceSubscriptionGetAllAPIService TrafficInfluSubDeleteAPI *TrafficInfluenceSubscriptionDeleteAPIService TrafficInfluSubGetAPI *TrafficInfluenceSubscriptionGetAPIService TrafficInfluSubPatchAPI *TrafficInfluenceSubscriptionPatchAPIService TrafficInfluSubPostAPI *TrafficInfluenceSubscriptionPostAPIService TrafficInfluSubPutAPI *TrafficInfluenceSubscriptionPutAPIService PfdManagementGetAllAPI *PfdManagementTransactionGetAllAPIService PfdManagementPostAPI *PfdManagementTransactionPostAPIService PfdManagementGetAPI *PfdManagementTransactionGetAPIService PfdManagementDeleteAPI *PfdManagementTransactionDeleteAPIService PfdManagementPutAPI *PfdManagementTransactionPutAPIService PfdManagementAppGetAPI *PfdManagementTransactionAppGetAPIService PfdManagementAppDeleteAPI *PfdManagementTransactionAppDeleteAPIService PfdManagementAppPutAPI *PfdManagementTransactionAppPutAPIService PfdManagementAppPatchAPI *PfdManagementTransactionAppPatchAPIService // contains filtered or unexported fields }
Client manages communication with the NEF Northbound API API v1.0.1
type Config ¶
type Config struct { AfID string `json:"AfId"` AfAPIRoot string `json:"AfAPIRoot"` LocationPrefixPfd string `json:"LocationPrefixPfd"` SrvCfg ServerConfig `json:"ServerConfig"` CliCfg CliConfig `json:"CliConfig"` }
Config struct
type DNAIChangeType ¶
type DNAIChangeType string
DNAIChangeType type
const ( Early DNAIChangeType = "EARLY" EarlyLate DNAIChangeType = "EARLY_LATE" Late DNAIChangeType = "LATE" )
List of DnaiChangeType
type DurationSec ¶
type DurationSec uint64
DurationSec is unsigned integer identifying a period of time in units of seconds.
type DurationSecRm ¶
type DurationSecRm DurationSec
DurationSecRm is unsigned integer identifying a period of time in units of seconds with "nullable=true" property.
type DurationSecRo ¶
type DurationSecRo DurationSec
DurationSecRo is unsigned integer identifying a period of time in units of seconds with "readOnly=true" property.
type EthFlowDescription ¶
type EthFlowDescription struct { DestMacAddr string `json:"destMacAddr,omitempty"` //EtherType number EthType string `json:"ethType"` // Defines a packet filter of an IP flow. FDesc string `json:"fDesc,omitempty"` // Possible values are DOWNLINK - The corresponding filter applies for // traffic to the UE. // UPLINK - The corresponding filter applies for traffic from the UE. // BIDIRECTIONAL The corresponding filter applies for traffic both to and // from the UE. // UNSPECIFIED - The corresponding filter applies for traffic to the UE // (downlink), but has no specific direction declared. // The service data flow detection shall apply the filter for uplink traffic // as if the filter was bidirectional. FDir string `json:"fDir,omitempty"` // Source mac address SourceMacAddr string `json:"sourceMacAddr,omitempty"` // Vlan tags VLANTags []string `json:"vlanTags,omitempty"` }
EthFlowDescription Identifies an Ethernet flow
type EventNotification ¶
type EventNotification struct { // AfTransID AFTransID string `json:"afTransId,omitempty"` // DnaiChgType DNAIChgType DNAIChangeType `json:"dnaiChgType,omitempty"` // SourceTrafficRoute SourceTrafficRoute RouteToLocation `json:"sourceTrafficRoute,omitempty"` // SubscribedEvent SubscribedEvent SubscribedEvent `json:"subscribedEvent,omitempty"` // TargetTrafficRoute TargetTrafficRoute RouteToLocation `json:"targetTrafficRoute,omitempty"` // Gpsi GPSI string `json:"gpsi,omitempty"` // SrcUeIpv4Addr SrcUEIPv4Addr SrcUEIPv4Addr `json:"srcUeIpv4Addr,omitempty"` // SrcUeIpv6Prefix SrcUEIPv6Prefix SrcUEIPv6Prefix `json:"srcUeIpv6Prefix,omitempty"` // TgtUeIpv4Addr TgtUEIP4Addr TgtUEIPv4Addr `json:"tgtUeIpv4Addr,omitempty"` // TgtUeIpv6Prefix TgtUEIPv6Prefix TgtUEIPv6Prefix `json:"tgtUeIpv6Prefix,omitempty"` // UeMac UEMac UEMac `json:"ueMac,omitempty"` }
EventNotification structure
type FailureCode ¶
type FailureCode string
FailureCode represents the failure reason of the PFD management
type FlowInfo ¶
type FlowInfo struct { // Indicates the packet filters of the IP flow. Refer to subclause 5.3.8 of //3GPP TS 29.214 for encoding. // It shall contain UL and/or DL IP flow description. FlowDescriptions []string `json:"flowDescriptions,omitempty"` // Indicates the IP flow. FlowID int32 `json:"flowId"` }
FlowInfo Flow information struct
type GenericError ¶
type GenericError struct {
// contains filtered or unexported fields
}
GenericError Provides access to the body, error and model on returned errors.
func (GenericError) Error ¶
func (e GenericError) Error() string
Error returns non-empty string if there was an error.
type InvalidParam ¶
type InvalidParam struct { // Attribute”s name encoded as a JSON Pointer, or header”s name. Param string `json:"param"` // A human-readable reason, e.g. \"must be a positive integer\". Reason string `json:"reason,omitempty"` }
InvalidParam Invalid Parameters struct
type Link ¶
type Link string
Link is a string identifying the referenced resource URI URI string formatted accordingding to IETF RFC 3986
type NotifSubscryptions ¶
type NotifSubscryptions map[string]map[string]TrafficInfluSub
NotifSubscryptions type
type Pfd ¶
type Pfd struct { // Identifies a PDF of an application identifier. PfdID string `json:"pfdID"` // Represents a 3-tuple with protocol, server ip and server port for UL/DL // application traffic. The content of the string has the same encoding as // the IPFilterRule AVP value as defined in IETFÂ RFCÂ 6733. FlowDescriptions []string `json:"flowDescriptions,omitempty"` // Indicates a URL or a regular expression which is used to match the // significant parts of the URL. Urls []string `json:"urls,omitempty"` // Indicates an FQDN or a regular expression as a domain name matching // criteria. DomainNames []string `json:"domainNames,omitempty"` }
Pfd is the structure of Packet Flow Description for an external Application Identifier
type PfdData ¶
type PfdData struct { // Each element uniquely identifies external application identifier ExternalAppID string `json:"externalAppID"` // Link to the resource. This parameter shall be supplied by the AF in // HTTP responses that include an object of PfdData type Self Link `json:"self,omitempty"` // Contains the PFDs of the external application identifier. Each PFD is // identified in the map via a key containing the PFD identifier. Pfds map[string]Pfd `json:"pfds"` // Indicates that the list of PFDs in this request should be deployed // within the time interval indicated by the Allowed Delay AllowedDelay *DurationSecRm `json:"allowedDelay,omitempty"` // SCEF supplied property, inclusion of this property means the allowed // delayed cannot be satisfied, i.e. it is smaller than the caching time, // but the PFD data is still stored. CachingTime *DurationSecRo `json:"cachingTime,omitempty"` }
PfdData is the type that represents a PFD request to add, update or remove PFD(s) for one external application identifier provided by AF
type PfdManagement ¶
type PfdManagement struct { // Link to the resource "Individual PFD Management Transaction". // This parameter shall be supplied by the AF in HTTP responses. Self Link `json:"self,omitempty"` // String identifying supported optional features of PFD Management // This attribute shall be provided in the POST request and in the // response of successful resource creation. SuppFeat *SupportedFeatures `json:"suppFeat,omitempty"` // Each element uniquely identifies the PFDs for an external application // identifier. Each element is identified in the map via an external // application identifier as key. The response shall include successfully // provisioned PFD data of application(s). PfdDatas map[string]PfdData `json:"pfdDatas"` // Supplied by the AF and contains the external application identifiers // for which PFD(s) are not added or modified successfully. The failure // reason is also included. Each element provides the related information // for one or more external application identifier(s) and is identified in // the map via the failure identifier as key. PfdReports map[string]PfdReport `json:"pfdReports,omitempty"` }
PfdManagement resource for a PFD management request
type PfdManagementTransactionAppDeleteAPIService ¶
type PfdManagementTransactionAppDeleteAPIService service
PfdManagementTransactionAppDeleteAPIService type
func (*PfdManagementTransactionAppDeleteAPIService) PfdAppTransactionDelete ¶
func (a *PfdManagementTransactionAppDeleteAPIService) PfdAppTransactionDelete( ctx context.Context, afID string, pfdTrans string, appID string) ( *http.Response, error)
PfdAppTransactionDelete Deletes an already existing PFD transaction for an application identifier Deletes an already existing pfd transaction
- @param ctx context.Context - for authentication, logging, cancellation,
- deadlines, tracing, etc. Passed from http.Request or context.Background().
- @param afID Identifier of the AF
- @param pfdTrans Identifier of the subscription resource
- @param appID External application Identifier
type PfdManagementTransactionAppGetAPIService ¶
type PfdManagementTransactionAppGetAPIService service
PfdManagementTransactionAppGetAPIService type
func (*PfdManagementTransactionAppGetAPIService) PfdAppTransactionGet ¶
func (a *PfdManagementTransactionAppGetAPIService) PfdAppTransactionGet( ctx context.Context, afID string, pfdTransaction string, appID string) ( PfdData, *http.Response, error)
PfdAppTransactionGet Read an active pfd Data for the AF, pfd transcation id and an application ID Read an active pfd transactions for the AF, pfd transaction Id and app ID
- @param ctx context.Context - for authentication, logging, cancellation,
- deadlines, tracing, etc. Passed from http.Request or context.Background().
- @param afID Identifier of the AF
- @param pfd transaction Identifier of the PFD transaction resource
- @param appID Application Identifier
@return PfdData
type PfdManagementTransactionAppPatchAPIService ¶
type PfdManagementTransactionAppPatchAPIService service
PfdManagementTransactionAppPatchAPIService type
func (*PfdManagementTransactionAppPatchAPIService) PfdAppTransactionPatch ¶
func (a *PfdManagementTransactionAppPatchAPIService) PfdAppTransactionPatch( ctx context.Context, afID string, pfdTransID string, appID string, body PfdData) (PfdData, *http.Response, []byte, error)
PfdAppTransactionPatch Updates an existing pfd transaction for an app ID
- @param ctx context.Context - for authentication, logging, cancellation,
- deadlines, tracing, etc. Passed from http.Request or
- context.Background().
- @param afID Identifier of the AF
- @param pfdTransId Identifier of the pfdData
- @param appID Identifier of the external application
- @param body Provides a pfd data for pfd management identified by
- transaction id and appID
@return PfdData
type PfdManagementTransactionAppPutAPIService ¶
type PfdManagementTransactionAppPutAPIService service
PfdManagementTransactionAppPutAPIService type
func (*PfdManagementTransactionAppPutAPIService) PfdAppTransactionPut ¶
func (a *PfdManagementTransactionAppPutAPIService) PfdAppTransactionPut( ctx context.Context, afID string, pfdTransaction string, appID string, body PfdData) (PfdData, *http.Response, []byte, error)
PfdAppTransactionPut updates an existing PFD transaction for an external app ID source Updates an existing pfd transaction resource for an external application id
- @param ctx context.Context - for authentication, logging, cancellation,
- deadlines, tracing, etc. Passed from http.Request or
- context.Background().
- @param afID Identifier of the AF
- @param pfdTransactionID Identifier of the pfd Transaction resource
- @param appID Identifier of the external application id
- @param body Provides the PfdData structure identified by
- pfdTransaction ID and appID
@return PfdData
type PfdManagementTransactionDeleteAPIService ¶
type PfdManagementTransactionDeleteAPIService service
PfdManagementTransactionDeleteAPIService type
func (*PfdManagementTransactionDeleteAPIService) PfdTransactionDelete ¶
func (a *PfdManagementTransactionDeleteAPIService) PfdTransactionDelete( ctx context.Context, afID string, pfdTrans string) (*http.Response, error)
PfdTransactionDelete Deletes an already existing PFD transaction Deletes an already existing pfd transaction
- @param ctx context.Context - for authentication, logging, cancellation,
- deadlines, tracing, etc. Passed from http.Request or context.Background().
- @param afID Identifier of the AF
- @param pfdTrans Identifier of the PFD transaction resource
type PfdManagementTransactionGetAPIService ¶
type PfdManagementTransactionGetAPIService service
PfdManagementTransactionGetAPIService type
func (*PfdManagementTransactionGetAPIService) PfdTransactionGet ¶
func (a *PfdManagementTransactionGetAPIService) PfdTransactionGet( ctx context.Context, afID string, pfdTransaction string) (PfdManagement, *http.Response, error)
PfdTransactionGet Read an active pfd Management for the AF and the pfd transcation id Read an active pfd transactions for the AF and the pfd transaction Id
- @param ctx context.Context - for authentication, logging, cancellation,
- deadlines, tracing, etc. Passed from http.Request or context.Background().
- @param afID Identifier of the AF
- @param pfd transaction Identifier of the PFD transaction resource
@return PfdManagenent
type PfdManagementTransactionGetAllAPIService ¶
type PfdManagementTransactionGetAllAPIService service
PfdManagementTransactionGetAllAPIService type
func (*PfdManagementTransactionGetAllAPIService) PfdTransactionsGetAll ¶
func (a *PfdManagementTransactionGetAllAPIService) PfdTransactionsGetAll( ctx context.Context, afID string) ([]PfdManagement, *http.Response, error)
PfdTransactionsGetAll read all of the active Pfd transactions for the AF read all of the active pfd transactions for the AF
- @param ctx context.Context - for authentication, logging, cancellation,
- deadlines, tracing, etc. Passed from http.Request or context.Background().
- @param afID Identifier of the AF
@return []PfdManagement
type PfdManagementTransactionPostAPIService ¶
type PfdManagementTransactionPostAPIService service
PfdManagementTransactionPostAPIService type
func (*PfdManagementTransactionPostAPIService) PfdTransactionPost ¶
func (a *PfdManagementTransactionPostAPIService) PfdTransactionPost( ctx context.Context, afID string, body PfdManagement) (PfdManagement, *http.Response, []byte, error)
PfdTransactionPost Creates a new PFD management resource Creates a new PFD management resource
- @param ctx context.Context - for authentication, logging, cancellation,
- deadlines, tracing, etc. Passed from http.Request or context.Background().
- @param afID Identifier of the AF
- @param body Request to create a new PFD management resource
@return PfdManagement
type PfdManagementTransactionPutAPIService ¶
type PfdManagementTransactionPutAPIService service
PfdManagementTransactionPutAPIService type
func (*PfdManagementTransactionPutAPIService) PfdTransactionPut ¶
func (a *PfdManagementTransactionPutAPIService) PfdTransactionPut( ctx context.Context, afID string, pfdTransaction string, body PfdManagement) (PfdManagement, *http.Response, []byte, error)
PfdTransactionPut updates an existing PFD transaction source Updates an existing PFD transaction resource
- @param ctx context.Context - for authentication, logging, cancellation,
- deadlines, tracing, etc. Passed from http.Request or
- context.Background().
- @param afID Identifier of the AF
- @param pfdTransactionID Identifier of the pfd Transaction resource
- @param body Provides the pfd management structure identified by
- pfdTransaction ID
@return PfdManagement
type PfdReport ¶
type PfdReport struct { // Identifies the external application identifier(s) which PFD(s) are not // added or modified successfully ExternalAppIds []string `json:"externalAppIds"` // Identifies the failure reason FailureCode FailureCode `json:"failureCode"` // It shall be included when the allowed delayed cannot be satisfied, i.e. // it is smaller than the caching time configured in fetching PFD. CachingTime *DurationSec `json:"cachingTime,omitempty"` }
PfdReport is the type that represents a PFD report to indicate the external application identifier(s) which PFD(s) are not added or modified successfully and corresponding failure reason.
type ProblemDetails ¶
type ProblemDetails struct { // problem type Type Link `json:"type,omitempty"` // A short, human-readable summary of the problem type. // It should not change from occurrence to occurrence of the problem. Title string `json:"title,omitempty"` // A human-readable explanation specific to this occurrence of the problem. Detail string `json:"detail,omitempty"` // URL to problem instance Instance Link `json:"instance,omitempty"` // A machine-readable application error cause specific to this occurrence // of the problem. // This IE should be present and provide application-related error // information, if available. Cause string `json:"cause,omitempty"` // Description of invalid parameters, for a request rejected due to // invalid parameters. InvalidParams []InvalidParam `json:"invalidParams,omitempty"` // The HTTP status code for this occurrence of the problem. Status int `json:"status,omitempty"` }
ProblemDetails Problem details struct
type Route ¶
type Route struct { Name string Method string Pattern string HandlerFunc http.HandlerFunc }
Route struct
type RouteInformation ¶
type RouteInformation struct { // string identifying a Ipv4 address formatted in the \"dotted decimal\" // notation as defined in IETF RFC 1166. IPv4Addr IPv4Addr `json:"ipv4Addr,omitempty"` // string identifying a Ipv6 address formatted according to clause 4 in // IETF RFC 5952. // The mixed Ipv4 Ipv6 notation according to clause 5 of IETF RFC 5952 shall // not be used. IPv6Addr IPv6Addr `json:"ipv6Addr,omitempty"` // Port number PortNumber int32 `json:"portNumber"` }
RouteInformation Route information struct
type RouteToLocation ¶
type RouteToLocation struct { // Data network access identifier DNAI DNAI `json:"dnai"` // Dnai route profile identifier RouteProfID string `json:"routeProfId,omitempty"` // Additional route information about the route to Dnai RouteInfo RouteInformation `json:"routeInfo,omitempty"` }
RouteToLocation Route to location structure
type ServerConfig ¶
type ServerConfig struct { CNCAEndpoint string `json:"CNCAEndpoint"` Hostname string `json:"Hostname"` NotifPort string `json:"NotifPort"` UIEndpoint string `json:"UIEndpoint"` ServerCertPath string `json:"ServerCertPath"` ServerKeyPath string `json:"ServerKeyPath"` }
ServerConfig struct
type SubscribedEvent ¶
type SubscribedEvent string
SubscribedEvent : The possible value is CHANGE_OF_DNAI - the AF requests to be notified when the UP path changes for the PDU isession.
const ( //UP_PATH_CHANGE SubscribedEvent = "UP_PATH_CHANGE" >> causing lint error UPPathChange SubscribedEvent = "UP_PATH_CHANGE" )
List of SubscribedEvent
type SupportedFeatures ¶
type SupportedFeatures string
SupportedFeatures string used to indicate the features supported by an API that is used (subclause 6.6 in 3GPP TS 29.500). The string shall contain a bitmask indicating supported features in hexadecimal representation. Each character in the string shall take a value of "0" to "9" or "A" to "F" and shall represent the support of 4 features as described in table 5.2.2-3. The most significant character representing the highest-numbered features shall appear first in the string, and the character representing features 1 to 4 shall appear last in the string. The list of features and their numbering (starting with 1) are defined separately for each API. Possible features for traffic influencing are Notification_websocket( takes vlue of 1) and Notification_test_event(takes value of 2) pattern: '^[A-Fa-f0-9]*$'
type TemporalValidity ¶
type TemporalValidity struct { // string with format \"date-time\" as defined in OpenAPI. StartTime string `json:"startTime,omitempty"` // string with format \"date-time\" as defined in OpenAPI. StopTime string `json:"stopTime,omitempty"` }
TemporalValidity Indicates the time interval(s) during which the AF request is to be applied
type TrafficInfluSub ¶
type TrafficInfluSub struct { // Identifies a service on behalf of which the AF is issuing the request. AFServiceID string `json:"afServiceId,omitempty"` // Identifies an application. AFAppID string `json:"afAppId,omitempty"` // Identifies an NEF Northbound interface transaction, generated by the AF. AFTransID string `json:"afTransId,omitempty"` // Identifies data network name DNN string `json:"dnn,omitempty"` // Network slice identifier SNSSAI SNSSAI `json:"snssai,omitempty"` //p // string containing a local identifier followed by \"@\" and // a domain identifier. // Both the local identifier and the domain identifier shall be encoded as // strings that do not contain any \"@\" characters. // See Clauses 4.6.2 and 4.6.3 of 3GPP TS 23.682 for more information. ExternalGroupID string `json:"externalGroupId,omitempty"` // Identifies the requirement to be notified of the event(s). SubscribedEvents []SubscribedEvent `json:"subscribedEvents,omitempty"` //Generic Public Servie Identifiers asssociated wit the UE GPSI GPSI `json:"gpsi,omitempty"` // string identifying a Ipv4 address formatted in the \"dotted decimal\" //notation as defined in IETF RFC 1166. IPv4Addr IPv4Addr `json:"ipv4Addr,omitempty"` // string identifying a Ipv6 address formatted according to clause 4 // in IETF RFC 5952. IPv6Addr IPv6Addr `json:"ipv6Addr,omitempty"` // string identifying mac address of UE MacAddr MacAddr `json:"macAddr,omitempty"` // Identifies the type of notification regarding UP path management event. // Possible values are: // EARLY - early notification of UP path reconfiguration. // EARLY_LATE - early and late notification of UP path reconfiguration. // This value shall only be present in the subscription to the // DNAI change event. // LATE - late notification of UP path reconfiguration. DNAIChgType DNAIChangeType `json:"dnaiChgType,omitempty"` // URL where notifications shall be sent NotificationDestination Link `json:"notificationDestination,omitempty"` // URL of created subscription resource Self Link `json:"self,omitempty"` // Identifies IP packet filters. TrafficFilters []FlowInfo `json:"trafficFilters,omitempty"` // Identifies Ethernet packet filters. EthTrafficFilters []EthFlowDescription `json:"ethTrafficFilters,omitempty"` // Identifies the N6 traffic routing requirement. TrafficRoutes []RouteToLocation `json:"trafficRoutes,omitempty"` // Settings for temporary validity of the subscription TempValidities []TemporalValidity `json:"tempValidities,omitempty"` // Identifies a geographic zone that the AF request applies only to the // traffic of UE(s) located in this specific zone. ValidGeoZoneIDs []string `json:"validGeoZoneIds,omitempty"` // String identifying supported features per Traffic Influence service SuppFeat SupportedFeatures `json:"suppFeat,omitempty"` // Configuration used for sending notifications though web sockets WebsockNotifConfig WebsockNotifConfig `json:"websockNotifConfig,omitempty"` // Set to true by the AF to request the NEF to send a test notification. //Set to false or omitted otherwise. RequestTestNotification bool `json:"requestTestNotification,omitempty"` // Identifies whether an application can be relocated once a location of // the application has been selected. AppReloInd bool `json:"appReloInd,omitempty"` // Identifies whether the AF request applies to any UE. AnyUEInd bool `json:"anyUeInd,omitempty"` }
TrafficInfluSub is Traffic Influence Subscription structure
type TrafficInfluSubPatch ¶
type TrafficInfluSubPatch struct { // Identifies IP packet filters. TrafficFilters []FlowInfo `json:"trafficFilters,omitempty"` // Identifies whether an application can be relocated once a location of // the application has been selected. AppReloInd bool `json:"appReloInd,omitempty"` // Identifies Ethernet packet filters. EthTrafficFilters []EthFlowDescription `json:"ethTrafficFilters,omitempty"` // Identifies the N6 traffic routing requirement. TrafficRoutes []RouteToLocation `json:"trafficRoutes,omitempty"` // Settings for temporary validity of the subscription TempValidities []TemporalValidity `json:"tempValidities,omitempty"` // Identifies a geographic zone that the AF request applies only to the // traffic of UE(s) located in this specific zone. ValidGeoZoneIDs []string `json:"validGeoZoneIds,omitempty"` }
TrafficInfluSubPatch Traffic Influence Subscription Patch structure
type TrafficInfluenceSubscriptionDeleteAPIService ¶
type TrafficInfluenceSubscriptionDeleteAPIService service
TrafficInfluenceSubscriptionDeleteAPIService type
func (*TrafficInfluenceSubscriptionDeleteAPIService) SubscriptionDelete ¶
func (a *TrafficInfluenceSubscriptionDeleteAPIService) SubscriptionDelete( ctx context.Context, afID string, subscriptionID string) (*http.Response, error)
SubscriptionDelete Deletes an already existing subscription Deletes an already existing subscription
- @param ctx context.Context - for authentication, logging, cancellation,
- deadlines, tracing, etc. Passed from http.Request or context.Background().
- @param afID Identifier of the AF
- @param subscriptionID Identifier of the subscription resource
type TrafficInfluenceSubscriptionGetAPIService ¶
type TrafficInfluenceSubscriptionGetAPIService service
TrafficInfluenceSubscriptionGetAPIService type
func (*TrafficInfluenceSubscriptionGetAPIService) SubscriptionGet ¶
func (a *TrafficInfluenceSubscriptionGetAPIService) SubscriptionGet( ctx context.Context, afID string, subscriptionID string) (TrafficInfluSub, *http.Response, error)
SubscriptionGet Read an active subscriptions for the AF and the subscription Id Read an active subscriptions for the AF and the subscription Id
- @param ctx context.Context - for authentication, logging, cancellation,
- deadlines, tracing, etc. Passed from http.Request or context.Background().
- @param afID Identifier of the AF
- @param subscriptionID Identifier of the subscription resource
@return TrafficInfluSub
type TrafficInfluenceSubscriptionGetAllAPIService ¶
type TrafficInfluenceSubscriptionGetAllAPIService service
TrafficInfluenceSubscriptionGetAllAPIService type
func (*TrafficInfluenceSubscriptionGetAllAPIService) SubscriptionsGetAll ¶
func (a *TrafficInfluenceSubscriptionGetAllAPIService) SubscriptionsGetAll( ctx context.Context, afID string) ([]TrafficInfluSub, *http.Response, error)
SubscriptionsGetAll read all of the active subscriptions for the AF read all of the active subscriptions for the AF
- @param ctx context.Context - for authentication, logging, cancellation,
- deadlines, tracing, etc. Passed from http.Request or context.Background().
- @param afID Identifier of the AF
@return []TrafficInfluSub
type TrafficInfluenceSubscriptionPatchAPIService ¶
type TrafficInfluenceSubscriptionPatchAPIService service
TrafficInfluenceSubscriptionPatchAPIService type
func (*TrafficInfluenceSubscriptionPatchAPIService) SubscriptionPatch ¶
func (a *TrafficInfluenceSubscriptionPatchAPIService) SubscriptionPatch( ctx context.Context, afID string, subscriptionID string, body TrafficInfluSubPatch) (TrafficInfluSub, *http.Response, error)
SubscriptionPatch Updates an existing subscriptionre source Updates an existing subscription resource
- @param ctx context.Context - for authentication, logging, cancellation,
- deadlines, tracing, etc. Passed from http.Request or
- context.Background().
- @param afID Identifier of the AF
- @param subscriptionID Identifier of the subscription resource
- @param body Provides a patch for traffic subscription identified by
- subscription ID
@return TrafficInfluSub
type TrafficInfluenceSubscriptionPostAPIService ¶
type TrafficInfluenceSubscriptionPostAPIService service
TrafficInfluenceSubscriptionPostAPIService type
func (*TrafficInfluenceSubscriptionPostAPIService) SubscriptionPost ¶
func (a *TrafficInfluenceSubscriptionPostAPIService) SubscriptionPost( ctx context.Context, afID string, body TrafficInfluSub) (TrafficInfluSub, *http.Response, error)
SubscriptionPost Creates a new subscription resource Creates a new subscription resource
- @param ctx context.Context - for authentication, logging, cancellation,
- deadlines, tracing, etc. Passed from http.Request or context.Background().
- @param afID Identifier of the AF
- @param body Request to create a new subscription resource
@return TrafficInfluSub
type TrafficInfluenceSubscriptionPutAPIService ¶
type TrafficInfluenceSubscriptionPutAPIService service
TrafficInfluenceSubscriptionPutAPIService type
func (*TrafficInfluenceSubscriptionPutAPIService) SubscriptionPut ¶
func (a *TrafficInfluenceSubscriptionPutAPIService) SubscriptionPut( ctx context.Context, afID string, subscriptionID string, body TrafficInfluSub) (TrafficInfluSub, *http.Response, error)
SubscriptionPut Replaces an existing subscription resource Replaces an existing subscription resource
- @param ctx context.Context - for authentication, logging, cancellation,
- deadlines, tracing, etc. Passed from http.Request or context.Background().
- @param afID Identifier of the AF
- @param subscriptionID Identifier of the subscription resource
- @param body Parameters to replace the existing subscription
@return TrafficInfluSub, *http.Response, error
type WebsockNotifConfig ¶
type WebsockNotifConfig struct { // string formatted according to IETF RFC 3986 identifying a // referenced resource. WebsocketURI string `json:"websocketUri,omitempty"` // Set by the AF to indicate that the Websocket delivery is requested. RequestWebsocketURI bool `json:"requestWebsocketUri,omitempty"` }
WebsockNotifConfig Websocket noticcation configuration
Source Files ¶
- af.go
- af_client.go
- af_client_config.go
- af_logger.go
- af_routers.go
- api_pfd_app_transaction_delete.go
- api_pfd_app_transaction_get.go
- api_pfd_app_transaction_patch.go
- api_pfd_app_transaction_put.go
- api_pfd_transaction_delete.go
- api_pfd_transaction_get.go
- api_pfd_transaction_get_all.go
- api_pfd_transaction_post.go
- api_pfd_transaction_put.go
- api_traffic_influence_subscription_delete.go
- api_traffic_influence_subscription_get.go
- api_traffic_influence_subscription_get_all.go
- api_traffic_influence_subscription_patch.go
- api_traffic_influence_subscription_post.go
- api_traffic_influence_subscription_put.go
- common.go
- model_pfd_management.go
- model_traffic_influance_subscription.go
- pfd_app_transaction_get.go
- pfd_app_transaction_patch.go
- pfd_app_transaction_put.go
- pfd_transaction_app_delete.go
- pfd_transaction_delete.go
- pfd_transaction_get.go
- pfd_transaction_get_all.go
- pfd_transaction_post.go
- pfd_transaction_put.go
- traffic_influence_subscription_delete.go
- traffic_influence_subscription_get.go
- traffic_influence_subscription_get_all.go
- traffic_influence_subscription_notify.go
- traffic_influence_subscription_patch.go
- traffic_influence_subscription_post.go
- traffic_influence_subscription_put.go