diff --git a/models/model_access_token_req.go b/models/model_access_token_req.go new file mode 100644 index 00000000..ffb293c4 --- /dev/null +++ b/models/model_access_token_req.go @@ -0,0 +1,50 @@ +/* + * Nnef_PFDmanagement Service API + * + * Packet Flow Description Management Service. © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. + * + * Source file: 3GPP TS 29.551 v17.9.0, 5G System; Packet Flow Description Management Service + * Url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.551/ + * + * API version: 1.2.2 + * Generated by: OpenAPI Generator (https://openapi-generator.tech) + */ + +package models + +import ( + +) + + + +// Contains information related to the access token request +type AccessTokenReq struct { + Grant_type string `json:"grant_type,omitempty" yaml:"grant_type" bson:"grant_type,omitempty"` + // String uniquely identifying a NF instance. The format of the NF Instance ID shall be a Universally Unique Identifier (UUID) version 4, as described in IETF RFC 4122. + NfInstanceId string `json:"nfInstanceId,omitempty" yaml:"nfInstanceId" bson:"nfInstanceId,omitempty"` + NfType NFType `json:"nfType,omitempty" yaml:"nfType" bson:"nfType,omitempty"` + TargetNfType NFType `json:"targetNfType,omitempty" yaml:"targetNfType" bson:"targetNfType,omitempty"` + Scope string `json:"scope,omitempty" yaml:"scope" bson:"scope,omitempty"` + // String uniquely identifying a NF instance. The format of the NF Instance ID shall be a Universally Unique Identifier (UUID) version 4, as described in IETF RFC 4122. + TargetNfInstanceId string `json:"targetNfInstanceId,omitempty" yaml:"targetNfInstanceId" bson:"targetNfInstanceId,omitempty"` + RequesterPlmn *PlmnId `json:"requesterPlmn,omitempty" yaml:"requesterPlmn" bson:"requesterPlmn,omitempty"` + RequesterPlmnList []PlmnId `json:"requesterPlmnList,omitempty" yaml:"requesterPlmnList" bson:"requesterPlmnList,omitempty"` + RequesterSnssaiList []Snssai `json:"requesterSnssaiList,omitempty" yaml:"requesterSnssaiList" bson:"requesterSnssaiList,omitempty"` + // Fully Qualified Domain Name + RequesterFqdn string `json:"requesterFqdn,omitempty" yaml:"requesterFqdn" bson:"requesterFqdn,omitempty"` + RequesterSnpnList []PlmnIdNid `json:"requesterSnpnList,omitempty" yaml:"requesterSnpnList" bson:"requesterSnpnList,omitempty"` + TargetPlmn *PlmnId `json:"targetPlmn,omitempty" yaml:"targetPlmn" bson:"targetPlmn,omitempty"` + TargetSnpn *PlmnIdNid `json:"targetSnpn,omitempty" yaml:"targetSnpn" bson:"targetSnpn,omitempty"` + TargetSnssaiList []Snssai `json:"targetSnssaiList,omitempty" yaml:"targetSnssaiList" bson:"targetSnssaiList,omitempty"` + TargetNsiList []string `json:"targetNsiList,omitempty" yaml:"targetNsiList" bson:"targetNsiList,omitempty"` + // NF Set Identifier (see clause 28.12 of 3GPP TS 23.003), formatted as the following string \"set.set.5gc.mnc.mcc\", or \"set.set.5gc.nid.mnc.mcc\" with encoded as defined in clause 5.4.2 (\"Mcc\" data type definition) encoding the Mobile Network Code part of the PLMN, comprising 3 digits. If there are only 2 significant digits in the MNC, one \"0\" digit shall be inserted at the left side to fill the 3 digits coding of MNC. Pattern: '^[0-9]{3}$' encoded as a value defined in Table 6.1.6.3.3-1 of 3GPP TS 29.510 but with lower case characters encoded as a string of characters consisting of alphabetic characters (A-Z and a-z), digits (0-9) and/or the hyphen (-) and that shall end with either an alphabetic character or a digit. + TargetNfSetId string `json:"targetNfSetId,omitempty" yaml:"targetNfSetId" bson:"targetNfSetId,omitempty"` + // NF Service Set Identifier (see clause 28.12 of 3GPP TS 23.003) formatted as the following string \"set.sn.nfi.5gc.mnc.mcc\", or \"set.sn.nfi.5gc.nid.mnc.mcc\" with encoded as defined in clause 5.4.2 (\"Mcc\" data type definition) encoding the Mobile Network Code part of the PLMN, comprising 3 digits. If there are only 2 significant digits in the MNC, one \"0\" digit shall be inserted at the left side to fill the 3 digits coding of MNC. Pattern: '^[0-9]{3}$' encoded as defined in clause 5.4.2 (\"Nid\" data type definition) encoded as defined in clause 5.3.2 encoded as defined in 3GPP TS 29.510 encoded as a string of characters consisting of alphabetic characters (A-Z and a-z), digits (0-9) and/or the hyphen (-) and that shall end with either an alphabetic character or a digit. + TargetNfServiceSetId string `json:"targetNfServiceSetId,omitempty" yaml:"targetNfServiceSetId" bson:"targetNfServiceSetId,omitempty"` + // String providing an URI formatted according to RFC 3986. + HnrfAccessTokenUri string `json:"hnrfAccessTokenUri,omitempty" yaml:"hnrfAccessTokenUri" bson:"hnrfAccessTokenUri,omitempty"` + // String uniquely identifying a NF instance. The format of the NF Instance ID shall be a Universally Unique Identifier (UUID) version 4, as described in IETF RFC 4122. + SourceNfInstanceId string `json:"sourceNfInstanceId,omitempty" yaml:"sourceNfInstanceId" bson:"sourceNfInstanceId,omitempty"` +} + diff --git a/models/model_failure_code.go b/models/model_failure_code.go new file mode 100644 index 00000000..96447d54 --- /dev/null +++ b/models/model_failure_code.go @@ -0,0 +1,33 @@ +/* + * 3gpp-pfd-management + * + * API for PFD management. © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. + * + * Source file: 3GPP TS 29.122 V17.10.0 T8 reference point for Northbound APIs + * Url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.122/ + * + * API version: 1.2.1 + * Generated by: OpenAPI Generator (https://openapi-generator.tech) + */ + +package models + +import ( + +) + + +type FailureCode string + +// List of FailureCode +const ( + FailureCode_MALFUNCTION FailureCode = "MALFUNCTION" + FailureCode_RESOURCE_LIMITATION FailureCode = "RESOURCE_LIMITATION" + FailureCode_SHORT_DELAY FailureCode = "SHORT_DELAY" + FailureCode_APP_ID_DUPLICATED FailureCode = "APP_ID_DUPLICATED" + FailureCode_PARTIAL_FAILURE FailureCode = "PARTIAL_FAILURE" + FailureCode_OTHER_REASON FailureCode = "OTHER_REASON" +) + + + diff --git a/models/model_location_area.go b/models/model_location_area.go new file mode 100644 index 00000000..e28c0964 --- /dev/null +++ b/models/model_location_area.go @@ -0,0 +1,36 @@ +/* + * 3gpp-pfd-management + * + * API for PFD management. © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. + * + * Source file: 3GPP TS 29.122 V17.10.0 T8 reference point for Northbound APIs + * Url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.122/ + * + * API version: 1.2.1 + * Generated by: OpenAPI Generator (https://openapi-generator.tech) + */ + +package models + +import ( + +) + + + +// Represents a user location area. +type LocationArea struct { + // Indicates a list of Cell Global Identities of the user which identifies the cell the UE is registered. + CellIds []string `json:"cellIds,omitempty" yaml:"cellIds" bson:"cellIds,omitempty"` + // Indicates a list of eNodeB identities in which the UE is currently located. + EnodeBIds []string `json:"enodeBIds,omitempty" yaml:"enodeBIds" bson:"enodeBIds,omitempty"` + // Identifies a list of Routing Area Identities of the user where the UE is located. + RoutingAreaIds []string `json:"routingAreaIds,omitempty" yaml:"routingAreaIds" bson:"routingAreaIds,omitempty"` + // Identifies a list of Tracking Area Identities of the user where the UE is located. + TrackingAreaIds []string `json:"trackingAreaIds,omitempty" yaml:"trackingAreaIds" bson:"trackingAreaIds,omitempty"` + // Identifies a list of geographic area of the user where the UE is located. + GeographicAreas []GeographicArea `json:"geographicAreas,omitempty" yaml:"geographicAreas" bson:"geographicAreas,omitempty"` + // Identifies a list of civic addresses of the user where the UE is located. + CivicAddresses []CivicAddress `json:"civicAddresses,omitempty" yaml:"civicAddresses" bson:"civicAddresses,omitempty"` +} + diff --git a/models/model_nf_type.go b/models/model_nf_type.go new file mode 100644 index 00000000..fb9ec03e --- /dev/null +++ b/models/model_nf_type.go @@ -0,0 +1,85 @@ +/* + * Nnef_PFDmanagement Service API + * + * Packet Flow Description Management Service. © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. + * + * Source file: 3GPP TS 29.551 v17.9.0, 5G System; Packet Flow Description Management Service + * Url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.551/ + * + * API version: 1.2.2 + * Generated by: OpenAPI Generator (https://openapi-generator.tech) + */ + +package models + +import ( + +) + + +type NFType string + +// List of NFType +const ( + NFType_NRF NFType = "NRF" + NFType_UDM NFType = "UDM" + NFType_AMF NFType = "AMF" + NFType_SMF NFType = "SMF" + NFType_AUSF NFType = "AUSF" + NFType_NEF NFType = "NEF" + NFType_PCF NFType = "PCF" + NFType_SMSF NFType = "SMSF" + NFType_NSSF NFType = "NSSF" + NFType_UDR NFType = "UDR" + NFType_LMF NFType = "LMF" + NFType_GMLC NFType = "GMLC" + NFType_5_G_EIR NFType = "5G_EIR" + NFType_SEPP NFType = "SEPP" + NFType_UPF NFType = "UPF" + NFType_N3_IWF NFType = "N3IWF" + NFType_AF NFType = "AF" + NFType_UDSF NFType = "UDSF" + NFType_BSF NFType = "BSF" + NFType_CHF NFType = "CHF" + NFType_NWDAF NFType = "NWDAF" + NFType_PCSCF NFType = "PCSCF" + NFType_CBCF NFType = "CBCF" + NFType_HSS NFType = "HSS" + NFType_UCMF NFType = "UCMF" + NFType_SOR_AF NFType = "SOR_AF" + NFType_SPAF NFType = "SPAF" + NFType_MME NFType = "MME" + NFType_SCSAS NFType = "SCSAS" + NFType_SCEF NFType = "SCEF" + NFType_SCP NFType = "SCP" + NFType_NSSAAF NFType = "NSSAAF" + NFType_ICSCF NFType = "ICSCF" + NFType_SCSCF NFType = "SCSCF" + NFType_DRA NFType = "DRA" + NFType_IMS_AS NFType = "IMS_AS" + NFType_AANF NFType = "AANF" + NFType_5_G_DDNMF NFType = "5G_DDNMF" + NFType_NSACF NFType = "NSACF" + NFType_MFAF NFType = "MFAF" + NFType_EASDF NFType = "EASDF" + NFType_DCCF NFType = "DCCF" + NFType_MB_SMF NFType = "MB_SMF" + NFType_TSCTSF NFType = "TSCTSF" + NFType_ADRF NFType = "ADRF" + NFType_GBA_BSF NFType = "GBA_BSF" + NFType_CEF NFType = "CEF" + NFType_MB_UPF NFType = "MB_UPF" + NFType_NSWOF NFType = "NSWOF" + NFType_PKMF NFType = "PKMF" + NFType_MNPF NFType = "MNPF" + NFType_SMS_GMSC NFType = "SMS_GMSC" + NFType_SMS_IWMSC NFType = "SMS_IWMSC" + NFType_MBSF NFType = "MBSF" + NFType_MBSTF NFType = "MBSTF" + NFType_PANF NFType = "PANF" + NFType_IP_SM_GW NFType = "IP_SM_GW" + NFType_SMS_ROUTER NFType = "SMS_ROUTER" +) + + + diff --git a/models/model_pfd.go b/models/model_pfd.go new file mode 100644 index 00000000..00e8ff1c --- /dev/null +++ b/models/model_pfd.go @@ -0,0 +1,33 @@ +/* + * 3gpp-pfd-management + * + * API for PFD management. © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. + * + * Source file: 3GPP TS 29.122 V17.10.0 T8 reference point for Northbound APIs + * Url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.122/ + * + * API version: 1.2.1 + * Generated by: OpenAPI Generator (https://openapi-generator.tech) + */ + +package models + +import ( + +) + + + +// Represents a PFD for an external Application Identifier. +type Pfd struct { + // Identifies a PDF of an application identifier. + PfdId string `json:"pfdId,omitempty" yaml:"pfdId" bson:"pfdId,omitempty"` + // 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" yaml:"flowDescriptions" bson:"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" yaml:"urls" bson:"urls,omitempty"` + // Indicates an FQDN or a regular expression as a domain name matching criteria. + DomainNames []string `json:"domainNames,omitempty" yaml:"domainNames" bson:"domainNames,omitempty"` + DnProtocol DomainNameProtocol `json:"dnProtocol,omitempty" yaml:"dnProtocol" bson:"dnProtocol,omitempty"` +} + diff --git a/models/model_pfd_data.go b/models/model_pfd_data.go new file mode 100644 index 00000000..11ae0b17 --- /dev/null +++ b/models/model_pfd_data.go @@ -0,0 +1,34 @@ +/* + * 3gpp-pfd-management + * + * API for PFD management. © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. + * + * Source file: 3GPP TS 29.122 V17.10.0 T8 reference point for Northbound APIs + * Url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.122/ + * + * API version: 1.2.1 + * Generated by: OpenAPI Generator (https://openapi-generator.tech) + */ + +package models + +import ( + +) + + + +// Represents a PFD request to add, update or remove PFD(s) for one external application identifier. +type PfdData struct { + // Each element uniquely external application identifier + ExternalAppId string `json:"externalAppId,omitempty" yaml:"externalAppId" bson:"externalAppId,omitempty"` + // string formatted according to IETF RFC 3986 identifying a referenced resource. + Self string `json:"self,omitempty" yaml:"self" bson:"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,omitempty" yaml:"pfds" bson:"pfds,omitempty"` + // Unsigned integer identifying a period of time in units of seconds with \"nullable=true\" property. + AllowedDelay int32 `json:"allowedDelay,omitempty" yaml:"allowedDelay" bson:"allowedDelay,omitempty"` + // Unsigned integer identifying a period of time in units of seconds with \"readOnly=true\" property. + CachingTime int32 `json:"cachingTime,omitempty" yaml:"cachingTime" bson:"cachingTime,omitempty"` +} + diff --git a/models/model_pfd_management.go b/models/model_pfd_management.go new file mode 100644 index 00000000..27076f71 --- /dev/null +++ b/models/model_pfd_management.go @@ -0,0 +1,37 @@ +/* + * 3gpp-pfd-management + * + * API for PFD management. © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. + * + * Source file: 3GPP TS 29.122 V17.10.0 T8 reference point for Northbound APIs + * Url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.122/ + * + * API version: 1.2.1 + * Generated by: OpenAPI Generator (https://openapi-generator.tech) + */ + +package models + +import ( + +) + + + +// Represents a PFD management resource for a PFD management request. +type PfdManagement struct { + // string formatted according to IETF RFC 3986 identifying a referenced resource. + Self string `json:"self,omitempty" yaml:"self" bson:"self,omitempty"` + // A string used to indicate the features supported by an API that is used as defined in clause 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\", \"a\" to \"f\" 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. If the string contains a lower number of characters than there are defined features for an API, all features that would be represented by characters that are not present in the string are not supported. + SupportedFeatures string `json:"supportedFeatures,omitempty" yaml:"supportedFeatures" bson:"supportedFeatures,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,omitempty" yaml:"pfdDatas" bson:"pfdDatas,omitempty"` + // Supplied by the SCEF 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" yaml:"pfdReports" bson:"pfdReports,omitempty"` + // string formatted according to IETF RFC 3986 identifying a referenced resource. + NotificationDestination string `json:"notificationDestination,omitempty" yaml:"notificationDestination" bson:"notificationDestination,omitempty"` + // Set to true by the SCS/AS to request the SCEF to send a test notification as defined in clause 5.2.5.3. Set to false or omitted otherwise. + RequestTestNotification bool `json:"requestTestNotification,omitempty" yaml:"requestTestNotification" bson:"requestTestNotification,omitempty"` + WebsockNotifConfig *WebsockNotifConfig `json:"websockNotifConfig,omitempty" yaml:"websockNotifConfig" bson:"websockNotifConfig,omitempty"` +} + diff --git a/models/model_pfd_management_patch.go b/models/model_pfd_management_patch.go new file mode 100644 index 00000000..55713d8f --- /dev/null +++ b/models/model_pfd_management_patch.go @@ -0,0 +1,27 @@ +/* + * 3gpp-pfd-management + * + * API for PFD management. © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. + * + * Source file: 3GPP TS 29.122 V17.10.0 T8 reference point for Northbound APIs + * Url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.122/ + * + * API version: 1.2.1 + * Generated by: OpenAPI Generator (https://openapi-generator.tech) + */ + +package models + +import ( + +) + + + +// Represents the parameters to request the modification of a PFD management transaction resource. +type PfdManagementPatch struct { + PfdDatas map[string]PfdData `json:"pfdDatas,omitempty" yaml:"pfdDatas" bson:"pfdDatas,omitempty"` + // string formatted according to IETF RFC 3986 identifying a referenced resource. + NotificationDestination string `json:"notificationDestination,omitempty" yaml:"notificationDestination" bson:"notificationDestination,omitempty"` +} + diff --git a/models/model_pfd_report.go b/models/model_pfd_report.go new file mode 100644 index 00000000..f866878e --- /dev/null +++ b/models/model_pfd_report.go @@ -0,0 +1,30 @@ +/* + * 3gpp-pfd-management + * + * API for PFD management. © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. + * + * Source file: 3GPP TS 29.122 V17.10.0 T8 reference point for Northbound APIs + * Url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.122/ + * + * API version: 1.2.1 + * Generated by: OpenAPI Generator (https://openapi-generator.tech) + */ + +package models + +import ( + +) + + + +// Represents a PFD report indicating the external application identifier(s) which PFD(s) are not added or modified successfully and the corresponding failure cause(s). +type PfdReport struct { + // Identifies the external application identifier(s) which PFD(s) are not added or modified successfully + ExternalAppIds []string `json:"externalAppIds,omitempty" yaml:"externalAppIds" bson:"externalAppIds,omitempty"` + FailureCode FailureCode `json:"failureCode,omitempty" yaml:"failureCode" bson:"failureCode,omitempty"` + // Unsigned integer identifying a period of time in units of seconds. + CachingTime int32 `json:"cachingTime,omitempty" yaml:"cachingTime" bson:"cachingTime,omitempty"` + LocationArea *UserPlaneLocationArea `json:"locationArea,omitempty" yaml:"locationArea" bson:"locationArea,omitempty"` +} + diff --git a/models/model_user_plane_location_area.go b/models/model_user_plane_location_area.go new file mode 100644 index 00000000..04353143 --- /dev/null +++ b/models/model_user_plane_location_area.go @@ -0,0 +1,28 @@ +/* + * 3gpp-pfd-management + * + * API for PFD management. © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. + * + * Source file: 3GPP TS 29.122 V17.10.0 T8 reference point for Northbound APIs + * Url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.122/ + * + * API version: 1.2.1 + * Generated by: OpenAPI Generator (https://openapi-generator.tech) + */ + +package models + +import ( + +) + + + +// Represents location area(s) of the user plane functions which are unable to enforce the provisioned PFD(s) successfully. +type UserPlaneLocationArea struct { + LocationArea *LocationArea `json:"locationArea,omitempty" yaml:"locationArea" bson:"locationArea,omitempty"` + LocationArea5G *LocationArea5G `json:"locationArea5G,omitempty" yaml:"locationArea5G" bson:"locationArea5G,omitempty"` + // Identifies a list of DNAI which the user plane functions support. + Dnais []string `json:"dnais,omitempty" yaml:"dnais" bson:"dnais,omitempty"` +} +