Lift CAPIF specifications to latest version 66/9466/3
authorelinuxhenrik <henrik.b.andersson@est.tech>
Wed, 2 Nov 2022 07:30:12 +0000 (08:30 +0100)
committerelinuxhenrik <henrik.b.andersson@est.tech>
Thu, 3 Nov 2022 08:09:29 +0000 (09:09 +0100)
Issue-ID: NONRTRIC-813
Signed-off-by: elinuxhenrik <henrik.b.andersson@est.tech>
Change-Id: I3fc19e87214cbb3048e4f2101db321c79c249985

31 files changed:
capifcore/README.md
capifcore/generate.sh
capifcore/go.mod
capifcore/go.sum
capifcore/gogeneratorspecs/common29571/generator_settings.yaml
capifcore/internal/accesscontrolpolicyapi/accesscontrolpolicyapi.gen.go
capifcore/internal/aefsecurityapi/aefsecurityapi-server.gen.go
capifcore/internal/auditingapi/auditingapi-server.gen.go
capifcore/internal/auditingapi/auditingapi-types.gen.go
capifcore/internal/common/common.gen.go
capifcore/internal/common29122/common29122.gen.go
capifcore/internal/common29571/common29571.gen.go
capifcore/internal/discoverserviceapi/discoverserviceapi-server.gen.go
capifcore/internal/discoverserviceapi/discoverserviceapi-types.gen.go
capifcore/internal/eventsapi/eventsapi-server.gen.go
capifcore/internal/eventsapi/eventsapi-types.gen.go
capifcore/internal/gentools/enumfixer/enumfixer.go
capifcore/internal/gentools/specificationfixer/specificationfixer.go
capifcore/internal/invokermanagementapi/invokermanagementapi-server.gen.go
capifcore/internal/invokermanagementapi/invokermanagementapi-types.gen.go
capifcore/internal/loggingapi/loggingapi-server.gen.go
capifcore/internal/loggingapi/loggingapi-types.gen.go
capifcore/internal/providermanagementapi/providermanagementapi-server.gen.go
capifcore/internal/providermanagementapi/providermanagementapi-types.gen.go
capifcore/internal/publishservice/publishservice.go
capifcore/internal/publishserviceapi/publishserviceapi-server.gen.go
capifcore/internal/publishserviceapi/publishserviceapi-types.gen.go
capifcore/internal/routinginfoapi/routinginfoapi-server.gen.go
capifcore/internal/securityapi/securityapi-server.gen.go
capifcore/internal/securityapi/securityapi-types.gen.go
capifcore/internal/securityservice/security.go

index 5eea851..657687f 100644 (file)
@@ -27,11 +27,11 @@ This product is a Go implementation of the CAPIF Core function, based on the 3GP
 ## Generation of API code
 
 The CAPIF APIs are generated from the OpenAPI specification provided by 3GPP. The `generate.sh` script downloads the
-specifications from 3GPP, fixes them and then generates the APIs. It also generates the mocks needed for unit testing.
+specifications from 3GPP, fixes them and then generates the APIs. It also generates the mocks needed for unit testing. The specifications are downloaded from the following site; https://www.3gpp.org/ftp/Specs/archive/29_series. To see the APIs in swagger format, see the following link; https://github.com/jdegre/5GC_APIs/tree/Rel-16#common-api-framework-capif. **NOTE!** The documentation in this link is for release 16 of CAPIF, the downloaded specifications are for release 17.
 
 To fix the specifications there are three tools:
 - `commoncollector`, collects type definitions from peripheral specifications to keep down the number of dependencies to
-  other specifications. The types to collect are listed in the `definitions.txt`file.
+  other specifications. The types to collect are listed in the `definitions.txt`file. Some fixes are hard coded.
 - `enumfixer`, fixes enumeration definitions so they can be properly generated.
 - `specificationfixer`, fixes flaws in the specifications so they can be properly generated. All fixes are hard coded.
 
index 4726ccb..f3cf738 100755 (executable)
@@ -22,19 +22,19 @@ cwd=$(pwd)
 
 mkdir -p specs
 
-curl https://www.3gpp.org/ftp/Specs/archive/29_series/29.222/29222-h40.zip -o specs/apidef.zip
-curl https://www.3gpp.org/ftp/Specs/archive/29_series/29.122/29122-h50.zip -o specs/common29122apidef.zip
-curl https://www.3gpp.org/ftp/Specs/archive/29_series/29.508/29508-h60.zip -o specs/common29508apidef.zip
-curl https://www.3gpp.org/ftp/Specs/archive/29_series/29.510/29510-h50.zip -o specs/common29510apidef.zip
-curl https://www.3gpp.org/ftp/Specs/archive/29_series/29.512/29512-h60.zip -o specs/common29512apidef.zip
-curl https://www.3gpp.org/ftp/Specs/archive/29_series/29.514/29514-h40.zip -o specs/common29514apidef.zip
-curl https://www.3gpp.org/ftp/Specs/archive/29_series/29.517/29517-h50.zip -o specs/common29517apidef.zip
-curl https://www.3gpp.org/ftp/Specs/archive/29_series/29.518/29518-h50.zip -o specs/common29518apidef.zip
-curl https://www.3gpp.org/ftp/Specs/archive/29_series/29.522/29522-h50.zip -o specs/common29522apidef.zip
-curl https://www.3gpp.org/ftp/Specs/archive/29_series/29.523/29523-h60.zip -o specs/common29523apidef.zip
-curl https://www.3gpp.org/ftp/Specs/archive/29_series/29.554/29554-h30.zip -o specs/common29554apidef.zip
-curl https://www.3gpp.org/ftp/Specs/archive/29_series/29.571/29571-h50.zip -o specs/common29571apidef.zip
-curl https://www.3gpp.org/ftp/Specs/archive/29_series/29.572/29572-h40.zip -o specs/common29572apidef.zip
+curl https://www.3gpp.org/ftp/Specs/archive/29_series/29.222/29222-h60.zip -o specs/apidef.zip
+curl https://www.3gpp.org/ftp/Specs/archive/29_series/29.122/29122-h70.zip -o specs/common29122apidef.zip
+curl https://www.3gpp.org/ftp/Specs/archive/29_series/29.508/29508-h80.zip -o specs/common29508apidef.zip
+curl https://www.3gpp.org/ftp/Specs/archive/29_series/29.510/29510-h70.zip -o specs/common29510apidef.zip
+curl https://www.3gpp.org/ftp/Specs/archive/29_series/29.512/29512-h80.zip -o specs/common29512apidef.zip
+curl https://www.3gpp.org/ftp/Specs/archive/29_series/29.514/29514-h60.zip -o specs/common29514apidef.zip
+curl https://www.3gpp.org/ftp/Specs/archive/29_series/29.517/29517-h70.zip -o specs/common29517apidef.zip
+curl https://www.3gpp.org/ftp/Specs/archive/29_series/29.518/29518-h70.zip -o specs/common29518apidef.zip
+curl https://www.3gpp.org/ftp/Specs/archive/29_series/29.522/29522-h70.zip -o specs/common29522apidef.zip
+curl https://www.3gpp.org/ftp/Specs/archive/29_series/29.523/29523-h80.zip -o specs/common29523apidef.zip
+curl https://www.3gpp.org/ftp/Specs/archive/29_series/29.554/29554-h40.zip -o specs/common29554apidef.zip
+curl https://www.3gpp.org/ftp/Specs/archive/29_series/29.571/29571-h70.zip -o specs/common29571apidef.zip
+curl https://www.3gpp.org/ftp/Specs/archive/29_series/29.572/29572-h60.zip -o specs/common29572apidef.zip
 
 cd specs/
 
@@ -54,8 +54,24 @@ jar xvf common29572apidef.zip
 
 sed -e 'H;x;/^\(  *\)\n\1/{s/\n.*//;x;d;}' -e 's/.*//;x;/\CivicAddress/{s/^\( *\).*/ \1/;x;d;}' TS29571_CommonData.yaml >temp.yaml
 mv temp.yaml TS29571_CommonData.yaml
+sed -e 'H;x;/^\(  *\)\n\1/{s/\n.*//;x;d;}' -e 's/.*//;x;/\ExternalMbsServiceArea/{s/^\( *\).*/ \1/;x;d;}' TS29571_CommonData.yaml >temp.yaml
+mv temp.yaml TS29571_CommonData.yaml
 sed -e 'H;x;/^\(  *\)\n\1/{s/\n.*//;x;d;}' -e 's/.*//;x;/\GeographicArea/{s/^\( *\).*/ \1/;x;d;}' TS29571_CommonData.yaml >temp.yaml
 mv temp.yaml TS29571_CommonData.yaml
+sed -e 'H;x;/^\(  *\)\n\1/{s/\n.*//;x;d;}' -e 's/.*//;x;/\GeoServiceArea/{s/^\( *\).*/ \1/;x;d;}' TS29571_CommonData.yaml >temp.yaml
+mv temp.yaml TS29571_CommonData.yaml
+sed -e 'H;x;/^\(  *\)\n\1/{s/\n.*//;x;d;}' -e 's/.*//;x;/\MbsMediaComp/{s/^\( *\).*/ \1/;x;d;}' TS29571_CommonData.yaml >temp.yaml
+mv temp.yaml TS29571_CommonData.yaml
+sed -e 'H;x;/^\(  *\)\n\1/{s/\n.*//;x;d;}' -e 's/.*//;x;/\MbsMediaCompRm/{s/^\( *\).*/ \1/;x;d;}' TS29571_CommonData.yaml >temp.yaml
+mv temp.yaml TS29571_CommonData.yaml
+sed -e 'H;x;/^\(  *\)\n\1/{s/\n.*//;x;d;}' -e 's/.*//;x;/\MbsMediaInfo/{s/^\( *\).*/ \1/;x;d;}' TS29571_CommonData.yaml >temp.yaml
+mv temp.yaml TS29571_CommonData.yaml
+sed -e 'H;x;/^\(  *\)\n\1/{s/\n.*//;x;d;}' -e 's/.*//;x;/\MbsServiceInfo/{s/^\( *\).*/ \1/;x;d;}' TS29571_CommonData.yaml >temp.yaml
+mv temp.yaml TS29571_CommonData.yaml
+sed -e 'H;x;/^\(  *\)\n\1/{s/\n.*//;x;d;}' -e 's/.*//;x;/\MbsSession/{s/^\( *\).*/ \1/;x;d;}' TS29571_CommonData.yaml >temp.yaml
+mv temp.yaml TS29571_CommonData.yaml
+sed -e 'H;x;/^\(  *\)\n\1/{s/\n.*//;x;d;}' -e 's/.*//;x;/\SpatialValidityCond/{s/^\( *\).*/ \1/;x;d;}' TS29571_CommonData.yaml >temp.yaml
+mv temp.yaml TS29571_CommonData.yaml
 sed '/accessTokenError.*/,+3d' TS29571_CommonData.yaml >temp.yaml
 mv temp.yaml TS29571_CommonData.yaml
 sed '/accessTokenRequest.*/,+3d' TS29571_CommonData.yaml >temp.yaml
@@ -67,14 +83,17 @@ mv temp.yaml TS29222_CAPIF_Publish_Service_API.yaml
 sed '64,68d' TS29222_CAPIF_Discover_Service_API.yaml >temp.yaml # Remove parameter preferred-aef-loc since it doesn't follow the OpenApi specification, "The behavior for nested objects and arrays is undefined."
 mv temp.yaml TS29222_CAPIF_Discover_Service_API.yaml
 
-cat TS29222_CAPIF_Security_API.yaml | sed -E 's/(    AccessTokenReq*)\:/\1:|      type: object/' | tr '|' '\n' > temp.yaml
-mv temp.yaml TS29222_CAPIF_Security_API.yaml
-
 cat TS29122_CommonData.yaml | sed 's/TS29572_Nlmf_Location/CommonData/g' > temp.yaml
 mv temp.yaml TS29122_CommonData.yaml
 cat TS29122_CommonData.yaml | sed 's/TS29554_Npcf_BDTPolicyControl/CommonData/g' > temp.yaml
 mv temp.yaml TS29122_CommonData.yaml
-cat TS29571_CommonData.yaml | sed 's/TS29571_CommonData.yaml//g' > temp.yaml
+cat TS29122_CommonData.yaml | sed 's/TS29514_Npcf_PolicyAuthorization/CommonData/g' > temp.yaml
+mv temp.yaml TS29122_CommonData.yaml
+cat TS29571_CommonData.yaml | sed 's/TS29514_Npcf_PolicyAuthorization/CommonData/g' > temp.yaml
+mv temp.yaml TS29571_CommonData.yaml
+cat TS29571_CommonData.yaml | sed 's/TS29572_Nlmf_Location/CommonData/g' > temp.yaml
+mv temp.yaml TS29571_CommonData.yaml
+cat TS29571_CommonData.yaml | sed 's/TS29571_CommonData.yaml//g' > temp.yaml # This spec has references to itself that need to be removed
 mv temp.yaml TS29571_CommonData.yaml
 cat TS29222_CAPIF_Publish_Service_API.yaml | sed 's/TS29572_Nlmf_Location/CommonData/g' > temp.yaml
 mv temp.yaml TS29222_CAPIF_Publish_Service_API.yaml
@@ -112,52 +131,65 @@ cd $cwd
 echo "Generating TS29122_CommonData"
 mkdir -p internal/common29122
 oapi-codegen --config gogeneratorspecs/common29122/generator_settings.yaml specs/TS29122_CommonData.yaml
+
 echo "Generating aggregated CommonData"
 mkdir -p internal/common
 oapi-codegen --config gogeneratorspecs/common/generator_settings.yaml specs/CommonData.yaml
+
 echo "Generating TS29571_CommonData"
 mkdir -p internal/common29571
 oapi-codegen --config gogeneratorspecs/common29571/generator_settings.yaml specs/TS29571_CommonData.yaml
+
 echo "Generating TS29222_CAPIF_Publish_Service_API"
 mkdir -p internal/publishserviceapi
 oapi-codegen --config gogeneratorspecs/publishserviceapi/generator_settings_types.yaml specs/TS29222_CAPIF_Publish_Service_API.yaml
 oapi-codegen --config gogeneratorspecs/publishserviceapi/generator_settings_server.yaml specs/TS29222_CAPIF_Publish_Service_API.yaml
+
 echo "Generating TS29222_CAPIF_API_Invoker_Management_API"
 mkdir -p internal/invokermanagementapi
 oapi-codegen --config gogeneratorspecs/invokermanagementapi/generator_settings_types.yaml specs/TS29222_CAPIF_API_Invoker_Management_API.yaml
 oapi-codegen --config gogeneratorspecs/invokermanagementapi/generator_settings_server.yaml specs/TS29222_CAPIF_API_Invoker_Management_API.yaml
+
 echo "Generating TS29222_CAPIF_API_Provider_Management_API"
 mkdir -p internal/providermanagementapi
 oapi-codegen --config gogeneratorspecs/providermanagementapi/generator_settings_types.yaml specs/TS29222_CAPIF_API_Provider_Management_API.yaml
 oapi-codegen --config gogeneratorspecs/providermanagementapi/generator_settings_server.yaml specs/TS29222_CAPIF_API_Provider_Management_API.yaml
+
 echo "Generating TS29222_CAPIF_Discover_Service_API"
 mkdir -p internal/discoverserviceapi
 oapi-codegen --config gogeneratorspecs/discoverserviceapi/generator_settings_types.yaml specs/TS29222_CAPIF_Discover_Service_API.yaml
 oapi-codegen --config gogeneratorspecs/discoverserviceapi/generator_settings_server.yaml specs/TS29222_CAPIF_Discover_Service_API.yaml
+
 echo "Generating TS29222_CAPIF_Security_API"
 mkdir -p internal/securityapi
 oapi-codegen --config gogeneratorspecs/securityapi/generator_settings_types.yaml specs/TS29222_CAPIF_Security_API.yaml
 oapi-codegen --config gogeneratorspecs/securityapi/generator_settings_server.yaml specs/TS29222_CAPIF_Security_API.yaml
+
 echo "Generating TS29222_CAPIF_Logging_API_Invocation_API"
 mkdir -p internal/loggingapi
 oapi-codegen --config gogeneratorspecs/loggingapi/generator_settings_types.yaml specs/TS29222_CAPIF_Logging_API_Invocation_API.yaml
 oapi-codegen --config gogeneratorspecs/loggingapi/generator_settings_server.yaml specs/TS29222_CAPIF_Logging_API_Invocation_API.yaml
+
 echo "Generating TS29222_CAPIF_Routing_Info_API"
 mkdir -p internal/routinginfoapi
 oapi-codegen --config gogeneratorspecs/routinginfoapi/generator_settings_types.yaml specs/TS29222_CAPIF_Routing_Info_API.yaml
 oapi-codegen --config gogeneratorspecs/routinginfoapi/generator_settings_server.yaml specs/TS29222_CAPIF_Routing_Info_API.yaml
+
 echo "Generating TS29222_CAPIF_Access_Control_Policy_API"
 mkdir -p internal/accesscontrolpolicyapi
 oapi-codegen --config gogeneratorspecs/accesscontrolpolicyapi/generator_settings_types.yaml specs/TS29222_CAPIF_Access_Control_Policy_API.yaml
 oapi-codegen --config gogeneratorspecs/accesscontrolpolicyapi/generator_settings_server.yaml specs/TS29222_CAPIF_Access_Control_Policy_API.yaml
+
 echo "Generating TS29222_CAPIF_Events_API"
 mkdir -p internal/eventsapi
 oapi-codegen --config gogeneratorspecs/eventsapi/generator_settings_types.yaml specs/TS29222_CAPIF_Events_API.yaml
 oapi-codegen --config gogeneratorspecs/eventsapi/generator_settings_server.yaml specs/TS29222_CAPIF_Events_API.yaml
+
 echo "Generating TS29222_CAPIF_Auditing_API"
 mkdir -p internal/auditingapi
 oapi-codegen --config gogeneratorspecs/auditingapi/generator_settings_types.yaml specs/TS29222_CAPIF_Auditing_API.yaml
 oapi-codegen --config gogeneratorspecs/auditingapi/generator_settings_server.yaml specs/TS29222_CAPIF_Auditing_API.yaml
+
 echo "Generating TS29222_AEF_Security_API"
 mkdir -p internal/aefsecurityapi
 oapi-codegen --config gogeneratorspecs/aefsecurityapi/generator_settings_types.yaml specs/TS29222_AEF_Security_API.yaml
index f19186b..8ef27ff 100644 (file)
@@ -27,13 +27,11 @@ require (
        github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 // indirect
        github.com/asaskevich/govalidator v0.0.0-20200428143746-21a406dcc535 // indirect
        github.com/beorn7/perks v1.0.1 // indirect
-       github.com/cespare/xxhash v1.1.0 // indirect
        github.com/cespare/xxhash/v2 v2.1.2 // indirect
        github.com/chai2010/gettext-go v1.0.2 // indirect
        github.com/containerd/containerd v1.6.6 // indirect
        github.com/cyphar/filepath-securejoin v0.2.3 // indirect
        github.com/davecgh/go-spew v1.1.1 // indirect
-       github.com/dgraph-io/ristretto v0.0.2 // indirect
        github.com/docker/cli v20.10.17+incompatible // indirect
        github.com/docker/distribution v2.8.1+incompatible // indirect
        github.com/docker/docker v20.10.17+incompatible // indirect
@@ -45,7 +43,6 @@ require (
        github.com/evanphx/json-patch v5.6.0+incompatible // indirect
        github.com/exponent-io/jsonpath v0.0.0-20151013193312-d6023ce2651d // indirect
        github.com/fatih/color v1.13.0 // indirect
-       github.com/fsnotify/fsnotify v1.4.9 // indirect
        github.com/go-errors/errors v1.0.1 // indirect
        github.com/go-gorp/gorp/v3 v3.0.2 // indirect
        github.com/go-logr/logr v1.2.3 // indirect
@@ -65,7 +62,6 @@ require (
        github.com/gorilla/mux v1.8.0 // indirect
        github.com/gosuri/uitable v0.0.4 // indirect
        github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7 // indirect
-       github.com/hashicorp/hcl v1.0.0 // indirect
        github.com/huandu/xstrings v1.3.2 // indirect
        github.com/imdario/mergo v0.3.12 // indirect
        github.com/inconshreveable/mousetrap v1.0.0 // indirect
@@ -79,7 +75,6 @@ require (
        github.com/lann/ps v0.0.0-20150810152359-62de8c46ede0 // indirect
        github.com/lib/pq v1.10.6 // indirect
        github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de // indirect
-       github.com/magiconair/properties v1.8.5 // indirect
        github.com/mailru/easyjson v0.7.7 // indirect
        github.com/mattn/go-colorable v0.1.12 // indirect
        github.com/mattn/go-isatty v0.0.14 // indirect
@@ -87,7 +82,6 @@ require (
        github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect
        github.com/mitchellh/copystructure v1.2.0 // indirect
        github.com/mitchellh/go-wordwrap v1.0.0 // indirect
-       github.com/mitchellh/mapstructure v1.4.1 // indirect
        github.com/mitchellh/reflectwalk v1.0.2 // indirect
        github.com/moby/locker v1.0.1 // indirect
        github.com/moby/spdystream v0.2.0 // indirect
@@ -100,10 +94,6 @@ require (
        github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
        github.com/opencontainers/go-digest v1.0.0 // indirect
        github.com/opencontainers/image-spec v1.0.3-0.20211202183452-c5a74bcca799 // indirect
-       github.com/ory/go-acc v0.2.8 // indirect
-       github.com/ory/viper v1.7.5 // indirect
-       github.com/pborman/uuid v1.2.0 // indirect
-       github.com/pelletier/go-toml v1.9.3 // indirect
        github.com/peterbourgon/diskv v2.0.1+incompatible // indirect
        github.com/pmezard/go-difflib v1.0.0 // indirect
        github.com/prometheus/client_golang v1.12.1 // indirect
@@ -113,13 +103,10 @@ require (
        github.com/rubenv/sql-migrate v1.1.2 // indirect
        github.com/russross/blackfriday v1.5.2 // indirect
        github.com/shopspring/decimal v1.2.0 // indirect
-       github.com/spf13/afero v1.6.0 // indirect
        github.com/spf13/cast v1.4.1 // indirect
        github.com/spf13/cobra v1.5.0 // indirect
-       github.com/spf13/jwalterweatherman v1.1.0 // indirect
        github.com/spf13/pflag v1.0.5 // indirect
        github.com/stretchr/objx v0.4.0 // indirect
-       github.com/subosito/gotenv v1.2.0 // indirect
        github.com/valyala/bytebufferpool v1.0.0 // indirect
        github.com/valyala/fasttemplate v1.2.1 // indirect
        github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f // indirect
@@ -140,7 +127,6 @@ require (
        google.golang.org/grpc v1.47.0 // indirect
        google.golang.org/protobuf v1.28.0 // indirect
        gopkg.in/inf.v0 v0.9.1 // indirect
-       gopkg.in/ini.v1 v1.62.0 // indirect
        gopkg.in/yaml.v3 v3.0.1 // indirect
        k8s.io/api v0.25.3-rc.0 // indirect
        k8s.io/apiextensions-apiserver v0.25.2 // indirect
index c43e7bc..fb3aef8 100644 (file)
@@ -59,7 +59,6 @@ github.com/Masterminds/squirrel v1.5.3 h1:YPpoceAcxuzIljlr5iWpNKaql7hLeG1KLSrhvd
 github.com/Masterminds/squirrel v1.5.3/go.mod h1:NNaOrjSoIDfDA40n7sr2tPNZRfjzjA400rg+riTZj10=
 github.com/Microsoft/go-winio v0.5.1 h1:aPJp2QD7OOrhO5tQXqQoGSJc+DjDtWTGLOmNyAm6FgY=
 github.com/Microsoft/hcsshim v0.9.3 h1:k371PzBuRrz2b+ebGuI2nVgVhgsVX60jMfSw80NECxo=
-github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
 github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI=
 github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
 github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M=
@@ -72,7 +71,6 @@ github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRF
 github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho=
 github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY=
 github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o=
-github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
 github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY=
 github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
 github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio=
@@ -89,8 +87,6 @@ github.com/bugsnag/bugsnag-go v0.0.0-20141110184014-b1d153021fcd h1:rFt+Y/IK1aEZ
 github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b h1:otBG+dV+YK+Soembjv71DPz3uX/V/6MMlSyD9JBQ6kQ=
 github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0 h1:nvj0OLI3YqYXer/kZD8Ri1aaunCxIEsOst1BVJswV0o=
 github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
-github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko=
-github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
 github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
 github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE=
 github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
@@ -110,13 +106,8 @@ github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWH
 github.com/containerd/cgroups v1.0.3 h1:ADZftAkglvCiD44c77s5YmMqaP2pzVCFZvBmAlBdAP4=
 github.com/containerd/containerd v1.6.6 h1:xJNPhbrmz8xAMDNoVjHy9YHtWwEQNS+CDkcIRh7t8Y0=
 github.com/containerd/containerd v1.6.6/go.mod h1:ZoP1geJldzCVY3Tonoz7b1IXk8rIX0Nltt5QE4OMNk0=
-github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
-github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
-github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
 github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
-github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
 github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
-github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
 github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
 github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
 github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
@@ -135,12 +126,6 @@ github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1/go.mod h1:hyedUtir6IdtD/7lIxGeC
 github.com/deepmap/oapi-codegen v1.11.0 h1:f/X2NdIkaBKsSdpeuwLnY/vDI0AtPUrmB5LMgc7YD+A=
 github.com/deepmap/oapi-codegen v1.11.0/go.mod h1:k+ujhoQGxmQYBZBbxhOZNZf4j08qv5mC+OH+fFTnKxM=
 github.com/denisenkom/go-mssqldb v0.9.0/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU=
-github.com/dgraph-io/ristretto v0.0.1/go.mod h1:T40EBc7CJke8TkpiYfGGKAeFjSaxuFXhuXRyumBd6RE=
-github.com/dgraph-io/ristretto v0.0.2 h1:a5WaUrDa0qm0YrAAS1tUykT5El3kt62KNZZeMxQn3po=
-github.com/dgraph-io/ristretto v0.0.2/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E=
-github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
-github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw=
-github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no=
 github.com/distribution/distribution/v3 v3.0.0-20211118083504-a29a3c99a684 h1:DBZ2sN7CK6dgvHVpQsQj4sRMCbWTmd17l+5SUCjnQSY=
 github.com/docker/cli v20.10.17+incompatible h1:eO2KS7ZFeov5UJeaDmIs1NFEDRf32PaqRpvoEkKBy5M=
 github.com/docker/cli v20.10.17+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8=
@@ -178,8 +163,6 @@ github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5Kwzbycv
 github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w=
 github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk=
 github.com/felixge/httpsnoop v1.0.1 h1:lvB5Jl89CsZtGIWuTcDM1E/vkVs49/Ml7JJe07l8SPQ=
-github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
-github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4=
 github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
 github.com/getkin/kin-openapi v0.94.0/go.mod h1:LWZfzOd7PRy8GJ1dJ6mCU6tNdSfOwRac1BUPam4aw6Q=
 github.com/getkin/kin-openapi v0.106.0 h1:hrqfqJPAvWvuO/V0lCr/xyQOq4Gy21mcr28JJOSRcEI=
@@ -237,14 +220,12 @@ github.com/goccy/go-json v0.9.7/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGF
 github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
 github.com/godror/godror v0.24.2/go.mod h1:wZv/9vPiUib6tkoDl+AZ/QLf5YZgMravZ7jxH2eQWAE=
 github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
-github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
 github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
 github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
 github.com/golang-jwt/jwt v3.2.2+incompatible h1:IfV12K8xAKAnZqdXVzCZ+TOjboZ2keLg81eXfW3O+oY=
 github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I=
 github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0=
 github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
-github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
 github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
 github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
 github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
@@ -317,7 +298,6 @@ github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLe
 github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
 github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4=
 github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ=
-github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
 github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
 github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
 github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
@@ -328,15 +308,11 @@ github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORR
 github.com/gorilla/handlers v1.5.1 h1:9lRY6j8DEeeBT10CvO9hGW0gmky0BprnvDI5vfhUHH4=
 github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI=
 github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So=
-github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
 github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
 github.com/gosuri/uitable v0.0.4 h1:IG2xLKRvErL3uhY6e1BylFzG+aJiwQviDDTfOKeKTpY=
 github.com/gosuri/uitable v0.0.4/go.mod h1:tKR86bXuXPZazfOTG1FIzvjIdXzd0mo4Vtn16vt0PJo=
 github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7 h1:pdN6V1QBWetyv/0+wjACpqVH+eVULgEjkurDLq3goeM=
 github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA=
-github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs=
-github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk=
-github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
 github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw=
 github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q=
 github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8=
@@ -353,7 +329,6 @@ github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/b
 github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90=
 github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
 github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
-github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
 github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
 github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64=
 github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ=
@@ -373,7 +348,6 @@ github.com/invopop/yaml v0.1.0 h1:YW3WGUoJEXYfzWBjn00zIlrw7brGVD0fUKRYDPAPhrc=
 github.com/invopop/yaml v0.1.0/go.mod h1:2XuRLgs/ouIrW3XNzuNj7J3Nvu/Dig5MXvbCEdiBN3Q=
 github.com/jmoiron/sqlx v1.3.5 h1:vFFPA71p1o5gAeqtEAwLU4dnX2napprKtHr7PYIcN3g=
 github.com/jmoiron/sqlx v1.3.5/go.mod h1:nRVWtLre0KfCLJvgxzCsLVMogSvQ1zNJtpYr2Ccp0mQ=
-github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
 github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
 github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
 github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4=
@@ -391,7 +365,6 @@ github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7V
 github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM=
 github.com/karrick/godirwalk v1.16.1 h1:DynhcF+bztK8gooS0+NDJFrdNZjJ3gzVzC545UNA9iw=
 github.com/karrick/godirwalk v1.16.1/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk=
-github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
 github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
 github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
 github.com/klauspost/compress v1.13.6 h1:P76CopJELS0TiO2mebmnzgWaajssP/EszplttgQxcgc=
@@ -436,9 +409,6 @@ github.com/lib/pq v1.10.6 h1:jbk+ZieJ0D7EVGJYpL9QTz7/YW6UHbmdnZWYyK5cdBs=
 github.com/lib/pq v1.10.6/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
 github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de h1:9TO3cAIGXtEhnIaL+V+BEER86oLrvS+kWobKpbJuye0=
 github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de/go.mod h1:zAbeS9B/r2mtpb6U+EI2rYA5OAXxsYw6wTamcNW+zcE=
-github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
-github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
-github.com/magiconair/properties v1.8.5 h1:b6kJs+EmPFMYGkow9GiUyCyOvIwYetYJ3fSaWak/Gls=
 github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60=
 github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
 github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
@@ -477,7 +447,6 @@ github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFW
 github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw=
 github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s=
 github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
-github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
 github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI=
 github.com/mitchellh/go-wordwrap v1.0.0 h1:6GlHJ/LTGMrIJbwgdqdl2eEH8o+Exx/0m8ir9Gns0u4=
 github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo=
@@ -485,8 +454,6 @@ github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS4
 github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY=
 github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
 github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
-github.com/mitchellh/mapstructure v1.3.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
-github.com/mitchellh/mapstructure v1.4.1 h1:CpVNEelQCZBooIPDn+AR3NpivK/TIKU8bDxdASFVQag=
 github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
 github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
 github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ=
@@ -516,7 +483,6 @@ github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8m
 github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
 github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
 github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
-github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
 github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY=
 github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc=
 github.com/onsi/ginkgo/v2 v2.1.6 h1:Fx2POJZfKRQcM1pH49qSZiYeu319wji004qX+GDovrU=
@@ -525,16 +491,7 @@ github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8
 github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=
 github.com/opencontainers/image-spec v1.0.3-0.20211202183452-c5a74bcca799 h1:rc3tiVYb5z54aKaDfakKn0dDjIyPpTtszkjuMzyt7ec=
 github.com/opencontainers/image-spec v1.0.3-0.20211202183452-c5a74bcca799/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0=
-github.com/ory/go-acc v0.2.8 h1:rOHHAPQjf0u7eHFGWpiXK+gIu/e0GRSJNr9pDukdNC4=
-github.com/ory/go-acc v0.2.8/go.mod h1:iCRZUdGb/7nqvSn8xWZkhfVrtXRZ9Wru2E5rabCjFPI=
-github.com/ory/viper v1.7.5 h1:+xVdq7SU3e1vNaCsk/ixsfxE4zylk1TJUiJrY647jUE=
-github.com/ory/viper v1.7.5/go.mod h1:ypOuyJmEUb3oENywQZRgeAMwqgOyDqwboO1tj3DjTaM=
 github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
-github.com/pborman/uuid v1.2.0 h1:J7Q5mO4ysT1dv8hyrUGHb9+ooztCXu1D8MY8DZYsu3g=
-github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k=
-github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
-github.com/pelletier/go-toml v1.8.0/go.mod h1:D6yutnOGMveHEPV7VQOuvI/gXY61bv+9bAOTRnLElKs=
-github.com/pelletier/go-toml v1.9.3 h1:zeC5b1GviRUyKYd6OJPvBU/mcVDVoL1OhT17FCt5dSQ=
 github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c=
 github.com/peterbourgon/diskv v2.0.1+incompatible h1:UBdAOUP5p4RWqPBg048CAvpKN+vxiaj6gdUUzhl4XmI=
 github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU=
@@ -551,7 +508,6 @@ github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndr
 github.com/poy/onpar v0.0.0-20190519213022-ee068f8ea4d1 h1:oL4IBbcqwhhNWh31bjOX8C/OCy0zs9906d/VUru+bqg=
 github.com/poy/onpar v0.0.0-20190519213022-ee068f8ea4d1/go.mod h1:nSbFQvMj97ZyhFRSJYtut+msi4sOY6zJDGCdSc+/rZU=
 github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
-github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso=
 github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo=
 github.com/prometheus/client_golang v1.1.0/go.mod h1:I1FGZT9+L76gKKOs5djB6ezCbFQP1xR9D75/vuwEF3g=
 github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M=
@@ -563,8 +519,6 @@ github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:
 github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
 github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M=
 github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
-github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
-github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
 github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
 github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+Zk0j9GMYc=
 github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo=
@@ -572,15 +526,12 @@ github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9
 github.com/prometheus/common v0.32.1 h1:hWIdL3N2HoUx3B8j3YN9mWor0qhY/NlEKZEaXxuIRh4=
 github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls=
 github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
-github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
 github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
 github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ=
 github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU=
 github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA=
 github.com/prometheus/procfs v0.7.3 h1:4jVXhlkAyzOScmCkXBTOLRLTz8EeU+eyjrwB/EPq0VU=
 github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA=
-github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU=
-github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg=
 github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ=
 github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
 github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
@@ -606,27 +557,18 @@ github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0
 github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
 github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
 github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
-github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM=
-github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
-github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=
 github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk=
-github.com/spf13/afero v1.6.0 h1:xoax2sJ2DT8S8xA2paPFjDCScCNeWsg75VG0DLRreiY=
 github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I=
-github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
 github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
 github.com/spf13/cast v1.4.1 h1:s0hze+J0196ZfEMTs80N7UlFt0BDuQ7Q+JDnHiMWKdA=
 github.com/spf13/cast v1.4.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
-github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE=
 github.com/spf13/cobra v1.2.1/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk=
 github.com/spf13/cobra v1.5.0 h1:X+jTBEBqF0bHN+9cSMgmfuvv2VHJ9ezmFNf9Y/XstYU=
 github.com/spf13/cobra v1.5.0/go.mod h1:dWXEIy2H428czQCjInthrTRUg7yKbok+2Qi/yBIJoUM=
-github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo=
-github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk=
 github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo=
 github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
 github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
 github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
-github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE=
 github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns=
 github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8=
 github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
@@ -641,10 +583,7 @@ github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/
 github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
 github.com/stretchr/testify v1.7.1 h1:5TQK59W5E3v0r2duFAb7P95B6hEeOyEnHRa8MjYSMTY=
 github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
-github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s=
 github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
-github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
-github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc=
 github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw=
 github.com/ugorji/go v1.2.7/go.mod h1:nF9osbDWLy6bDVv/Rtoh6QgnvNDpmCalQV5urGCCS6M=
 github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY=
@@ -659,10 +598,8 @@ github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHo
 github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ=
 github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74=
 github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y=
-github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
 github.com/xlab/treeprint v1.1.0 h1:G/1DjNkPpfZCFt9CSh6b5/nY4VimlbHF3Rh4obvtzDk=
 github.com/xlab/treeprint v1.1.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd/WEJu0=
-github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
 github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
 github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
 github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
@@ -675,7 +612,6 @@ github.com/yvasiyarov/gorelic v0.0.0-20141212073537-a9bba5b9ab50 h1:hlE8//ciYMzt
 github.com/yvasiyarov/newrelic_platform_go v0.0.0-20140908184405-b21fdbd4370f h1:ERexzlUfuTvpE74urLSbIQW0Z/6hF9t8U4NsJLaioAY=
 github.com/ziutek/mymysql v1.5.4 h1:GB0qdRGsTwQSBVYuVShFBKaXSnSnYYC2d9knnE1LHFs=
 github.com/ziutek/mymysql v1.5.4/go.mod h1:LMSpPZ6DbqWFxNCHW77HeMg9I646SAhApZ/wKdgO/C0=
-go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
 go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs=
 go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g=
 go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ=
@@ -690,11 +626,8 @@ go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E=
 go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI=
 go.starlark.net v0.0.0-20200306205701-8dd3e2ee1dd5 h1:+FNtrFTmVw0YZGpBGX56XDee331t6JAXeK2bcyhLOOc=
 go.starlark.net v0.0.0-20200306205701-8dd3e2ee1dd5/go.mod h1:nmDLcffg48OtT/PSW0Hg7FvpRQsQh5OSqIylirxKC7o=
-go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
 go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
-go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
 go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
-go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
 go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo=
 golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
 golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
@@ -705,7 +638,6 @@ golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8U
 golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
 golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
 golang.org/x/crypto v0.0.0-20200414173820-0848c9571904/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
-golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
 golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
 golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
 golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
@@ -756,14 +688,12 @@ golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73r
 golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
 golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
 golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
 golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
 golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
 golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
 golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
@@ -831,7 +761,6 @@ golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5h
 golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -853,7 +782,6 @@ golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7w
 golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -893,7 +821,6 @@ golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBc
 golang.org/x/sys v0.0.0-20211103235746-7861aae1554b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20220319134239-a9b59b0215f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20220513210249-45d2b4557a2a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f h1:v4INt8xihDGvnrfjMDVXGxw9wrfxYyCjk0KbXjhR55s=
@@ -917,7 +844,6 @@ golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxb
 golang.org/x/time v0.0.0-20201208040808-7e3f01d25324/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
 golang.org/x/time v0.0.0-20220411224347-583f2d630306 h1:+gHMid33q6pen7kv9xvT+JRinntgeXO2AeZVd0AWD3w=
 golang.org/x/time v0.0.0-20220411224347-583f2d630306/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
-golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
@@ -1053,7 +979,6 @@ google.golang.org/genproto v0.0.0-20220502173005-c8bf987b8c21 h1:hrbNEivu7Zn1pxv
 google.golang.org/genproto v0.0.0-20220502173005-c8bf987b8c21/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
 google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
 google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
-google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
 google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
 google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
 google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
@@ -1100,12 +1025,7 @@ gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EV
 gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
 gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=
 gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
-gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
-gopkg.in/ini.v1 v1.57.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
-gopkg.in/ini.v1 v1.62.0 h1:duBzk771uxoUuOlyRLkHsygud9+5lrlGjdFBb4mSKDU=
 gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
-gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=
-gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74=
 gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
index 757e1fc..8401e8d 100644 (file)
@@ -24,4 +24,4 @@ package: common29571
 generate:
   - types
   - skip-prune
-  - spec
+  - spec
\ No newline at end of file
index 0c7807d..767cc16 100644 (file)
@@ -105,25 +105,25 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL
 // Base64 encoded, gzipped, json marshaled Swagger object
 var swaggerSpec = []string{
 
-       "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",
+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",
 }
 
 // GetSwagger returns the content of the embedded swagger specification file
index a001c8a..648066b 100644 (file)
@@ -86,23 +86,23 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL
 // Base64 encoded, gzipped, json marshaled Swagger object
 var swaggerSpec = []string{
 
-       "H4sIAAAAAAAC/+xY3W7iOBR+Fcu7F7tSSEgo6pC7DG1XuZlFgPZmOkImOSGeJrbHdmDYigfa19gnW9lO",
-       "2UKhqhpNpZF6U6L4nM/n5/Pnk97jjNeCM2Ba4fgeq6yEmtjHcQnZXdLoEpimGdGUsyl8Mys5qExSYd7g",
-       "GE9BSFAGAJEDa5QZBCThWwNKo5xo4mMPC8kFSE3B7kIETdma34FM86fYySRF1C2j9AoRpeiKQY6WW6RL",
-       "QONkkt6gjEtARcMyu6nmdumx56akFSDOektOZE7Z6tjChKW3AnCMlZaUrfDOw6oRgksN+Q0Q3UgX7q8S",
-       "Chzj+SwaDS/DxZjXNWdXJrMtqatfgv+rGbSlDGZPcHY7D5uqUAk5jj8f1uDUxl/24fHlV8i0Ce9Ue5R4",
-       "TXuU4EzBmf68XRVelvYUTKFM3lzSv1/Myr0xkrDm2cPjc8yUdqeUFfwo5SiKFpZ5ixlkjaR6u0gm6TOp",
-       "t1afuKZFW/y3JdijVLwOdX4Bvc7U+SeimPGB7xokI9UVz9TTlAd/TCZoPkPRyI+iCP0VXvqh30cuRCsr",
-       "N5LUsOHyDhVcImv/iUtdLnnDcmOhsIcbWeEYl1qLOAg2m40/WAnhc7kKCi2CmYBMBURmJV1DEI0WCiQF",
-       "FbhNA9Mi2lLzqWSaXZPrG6Ra5qGaMLKCGpj2b9m//6CoH4WeC+xPuSKsbRqp0IRIzUAq9FsyTT96KJmn",
-       "Mw+Nx7PEQ9fzWeqh+ezK/swT82f8u3/LkqpCkq5KrUyvQa4h92+ZEVWqK1Pc5PrwsGAPr0EqF3HoR36/",
-       "RypREj80iXEBjAhqSu33/b4hDNGl7URgRat3qGRmQXClza8hln1prhM84UqfEErsaAFKf+T51rhlnGlg",
-       "2t1Iomrtgq/KoTuKPeLlSQKeuTF3hzTUsgH7wh0Km1bU7//QKJRwURxSZV7CXgM3RCHVZBkoVTSVb9ow",
-       "6F8encTQKN8zJ3GfU2B8LcSHDhAfDMSFK82rIIyvhQg7QIQOYtABYuAgLjpAXFiIsEMioUsk7JBI6BIJ",
-       "hx0ghhYiGr0eIhoZiGEHXgwdL4Ydmjp0Tc2hIE2lXw3z4L+z80BdE7nFsZvtjsY139oE7irvHdy1z+vf",
-       "iZv8B+nfmdnsjfXvzOTyrn/v+veufz+H/rkjfPhB4bsTbKdLqXD8+b6doO+JoFPO9S4gUPQeRt5gHZoh",
-       "k0hKltX+Xw3Gzo3Mbdh2/lZxEMB3UosK/IzX+FgnWkdEFMqhoAxyRBlSzTKrSKMAXfpDxAt0+F1g4/2y",
-       "+y8AAP//CPXtp2ERAAA=",
+       "H4sIAAAAAAAC/+xY3W7bNhR+lQNuFxugSJZSI43vVCcZdNMZsbGbtgho6chiI5EsSdn1Aj/QXmNPNpBU",
+       "vNixgyBCAxTITSyI53w8Px8/HuWO5KKRgiM3mozuiM4rbKh7HFeY36atqZAbllPDBL/Gb3alQJ0rJu0b",
+       "MiLXKBVqCwB0xxpyiwAKv7WoDRTU0JAERCohURmGbhcqWcaX4hZVVjzGTicZML8M2QVQrdmCYwHzNZgK",
+       "YZxOsivIhUIoW567TY1wSw89VxWrEQQ/mQuqCsYX+xbhZ04CYtYSyYhooxhfkE1AdCulUAaLK6SmVT7g",
+       "XxWWZERm0+R8eBbfjEXTCH5hc1vTpv4l+r+eUVfMaPoIZ7MJiK0LU1iQ0afdKhza+Ms2PDH/irmx4R1q",
+       "kJYvaZCWgms80qHXq8Lz0r5GWyibt1Ds72fzcmsMCpciv398ipvK7ZTxUuylnCTJjePezRTzVjGzvkkn",
+       "2ROpd1YfhWFlV/zXJdiDVIIedX4GvY7U+SeimPXB7wYVp/WFyPXjlE//mExgNoXkPEySBP6Kz8JhOAAf",
+       "ohOWK0UbXAl1C6VQ4Ow/CmWquWh5YS00CUirajIilTFSj6JotVqFpwspQ6EWUWlkNJWY64iqvGJLjJLz",
+       "G42KoY78rpHtEeu4+Vg17bbp5RXojnrQUE4X2CA3IcBn/u8/kAySJPCx/akWlHd9ozVMqDIclYbf0uvs",
+       "QwDpLJsGMB5P0wAuZ9MsgNn0wv3MUvtn/LvDTOsaFFtURtuGo1pi0SkrM7WtcHq5e2JIQJaotI86DpNw",
+       "YJMSEjmVzNY5HIQDyxZqKteGyCnWya6M2QUptLG/llXupb1NyERoc0AliecEavNBFGvrlgtukBt/Icm6",
+       "s4u+ao/u+fWAlAfZd+TC3Oxy0KgW3Qt/IlxayWDwQ6PQ0kexS5NZhVsBXFENus1z1Lps69C24XRwtncM",
+       "Yyt7TxzDbU6R9XUQ73tAvLcQ73xpXgRhfR1E3AMi9hCnPSBOPcS7HhDvHETcI5HYJxL3SCT2icTDHhBD",
+       "B5GcvxwiObcQwx68GHpeDHs0deibWmBJ29q8GObef+OGgaahak1GfrDbm9VCZxP5e/xk56J9Wv8OXOM/",
+       "SP+ODGavrH9HxpY3/XvTvzf9+zn0zx/h3a+J0J9gN1UqTUaf7rrx+Y5Kdi2E2UQUy5P7cTdaxna4pIrR",
+       "eb39T4O18+NyF/Z2+MbvtJE1hrloyL5OdI5ANRRYMo4FMA55TVuNcBYOQZSw+0Xggv2y+S8AAP//WFej",
+       "JF0RAAA=",
 }
 
 // GetSwagger returns the content of the embedded swagger specification file
index 782c863..81a0102 100644 (file)
@@ -190,25 +190,25 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL
 // Base64 encoded, gzipped, json marshaled Swagger object
 var swaggerSpec = []string{
 
-       "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",
+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",
 }
 
 // GetSwagger returns the content of the embedded swagger specification file
index ed31e04..6d89926 100644 (file)
@@ -26,7 +26,7 @@ type GetApiInvocationLogsParams struct {
        // String identifying the API invoked.
        ApiId *string `json:"api-id,omitempty"`
 
-       // API name, it is set as {apiName} part of the URI structure as defined in subclause 4.4 of 3GPP TS 29.501.
+       // API name, it is set as {apiName} part of the URI structure as defined in clause 5.2.4 of 3GPP TS 29.122.
        ApiName *string `json:"api-name,omitempty"`
 
        // Version of the API which was invoked.
index 6e3a50e..b7dec55 100644 (file)
@@ -89,7 +89,7 @@ type AfResultInfo struct {
        // Contains EAS IP replacement information.
        EasIpReplaceInfos *[]externalRef0.EasIpReplacementInfo `json:"easIpReplaceInfos,omitempty"`
 
-       // Either the "routeInfo" attribute or the "routeProfId" attribute shall be included in the "RouteToLocation" data type.
+       // At least one of the "routeInfo" attribute and the "routeProfId" attribute shall be included in the "RouteToLocation" data type.
        TrafficRoute *externalRef0.RouteToLocation `json:"trafficRoute"`
 
        // If present and set to "true" it indicates that buffering of uplink traffic to the target DNAI is needed.
@@ -187,10 +187,10 @@ type EllipsoidArc struct {
 
 // Identifies an Ethernet flow.
 type EthFlowDescription struct {
-       // String identifying a MAC address formatted in the hexadecimal notation according to clause 1.1 and clause 2.1 of RFC 7042
+       // String identifying a MAC address formatted in the hexadecimal notation according to clause 1.1 and clause 2.1 of RFC 7042.
        DestMacAddr *externalRef0.MacAddr48 `json:"destMacAddr,omitempty"`
 
-       // String identifying a MAC address formatted in the hexadecimal notation according to clause 1.1 and clause 2.1 of RFC 7042
+       // String identifying a MAC address formatted in the hexadecimal notation according to clause 1.1 and clause 2.1 of RFC 7042.
        DestMacAddrEnd *externalRef0.MacAddr48 `json:"destMacAddrEnd,omitempty"`
        EthType        string                  `json:"ethType"`
 
@@ -204,10 +204,10 @@ type EthFlowDescription struct {
        // - 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. The PCF shall not use the value UNSPECIFIED in filters created by the network in NW-initiated procedures. The PCF shall only include the value UNSPECIFIED in filters in UE-initiated procedures if the same value is received from the SMF.
        FDir *FlowDirection `json:"fDir,omitempty"`
 
-       // String identifying a MAC address formatted in the hexadecimal notation according to clause 1.1 and clause 2.1 of RFC 7042
+       // String identifying a MAC address formatted in the hexadecimal notation according to clause 1.1 and clause 2.1 of RFC 7042.
        SourceMacAddr *externalRef0.MacAddr48 `json:"sourceMacAddr,omitempty"`
 
-       // String identifying a MAC address formatted in the hexadecimal notation according to clause 1.1 and clause 2.1 of RFC 7042
+       // String identifying a MAC address formatted in the hexadecimal notation according to clause 1.1 and clause 2.1 of RFC 7042.
        SrcMacAddrEnd *externalRef0.MacAddr48 `json:"srcMacAddrEnd,omitempty"`
        VlanTags      *[]string               `json:"vlanTags,omitempty"`
 }
@@ -308,7 +308,10 @@ type NetworkAreaInfo struct {
        Tais *[]externalRef0.Tai `json:"tais,omitempty"`
 }
 
-// Possible values are - PERIODIC - ONE_TIME - ON_EVENT_DETECTION
+// Possible values are:
+// - PERIODIC
+// - ONE_TIME
+// - ON_EVENT_DETECTION
 type NotificationMethod string
 
 // Indicates value of orientation angle.
@@ -418,11 +421,16 @@ type ReportingInformation struct {
 
        // Possible values are:
        // - ACTIVATE: The event notification is activated.
-       // - DEACTIVATE: The event notification is deactivated and shall be muted. The available event(s) shall be stored.
-       // - RETRIEVAL: The event notification shall be sent to the NF service consumer(s), after that, is muted again.
+       // - DEACTIVATE: The event notification is deactivated and shall be muted. The available
+       //    event(s) shall be stored.
+       // - RETRIEVAL: The event notification shall be sent to the NF service consumer(s),
+       //   after that, is muted again.
        NotifFlag *externalRef0.NotificationFlag `json:"notifFlag,omitempty"`
 
-       // Possible values are - PERIODIC - ONE_TIME - ON_EVENT_DETECTION
+       // Possible values are:
+       // - PERIODIC
+       // - ONE_TIME
+       // - ON_EVENT_DETECTION
        NotifMethod *NotificationMethod `json:"notifMethod,omitempty"`
 
        // Criteria for partitioning the UEs before applying the sampling ratio.
@@ -486,56 +494,56 @@ type UncertaintyEllipsoid struct {
 // Base64 encoded, gzipped, json marshaled Swagger object
 var swaggerSpec = []string{
 
-       "H4sIAAAAAAAC/+xbbW/jNvL/KoT+/xd3gJPdTXb7kHdaW0mFOrJPdtorukVASyObXYpUSSpZ3yLf/UDq",
-       "wXqgbMdJ0Tvg3ixiamY4nBnNzI+j/epEPM04A6akc/XVkdEGUmz+dONYXP8RM/13DDISJFOEM+fK8ecI",
-       "x7EAKRFm8Rsu0PU/JsG5M3IywTMQioCRkNi5WUwirEAz14xqm4Fz5UglCFs7TyOHZHp/zf3/AhLnylku",
-       "Lr7/8O27+zFPU84mWOHzLU7p/73ZHeBNqf0bv2B+eqoF89XvECkt2E1CkDlVPku4RbkYmCIJAYnUBpAw",
+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",
-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",
+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",
 }
 
 // GetSwagger returns the content of the embedded swagger specification file
index 3cf0780..61523ca 100644 (file)
@@ -66,7 +66,7 @@ type Acknowledgement struct {
 // integer indicating a bandwidth in bits per second.
 type Bandwidth int
 
-// string identifying a BDT Reference ID as defined in subclause 5.3.3 of 3GPP TS 29.154.
+// string identifying a BDT Reference ID as defined in clause 5.3.3 of 3GPP TS 29.154.
 type BdtReferenceId string
 
 // This data type is defined in the same way as the BdtReferenceId data type, but with the nullable property set to true.
@@ -105,6 +105,15 @@ type DurationSecRm int
 // Unsigned integer identifying a period of time in units of seconds with "readOnly=true" property.
 type DurationSecRo int
 
+// Represents Ethernet flow information.
+type EthFlowInfo struct {
+       // Indicates the packet filters of the Ethernet flow. It shall contain UL and/or DL Ethernet flow description.
+       EthFlowDescriptions *[]externalRef0.EthFlowDescription `json:"ethFlowDescriptions,omitempty"`
+
+       // Indicates the Ethernet flow identifier.
+       FlowId int `json:"flowId"`
+}
+
 // Possible values are - SESSION_TERMINATION: Indicates that Rx session is terminated. - LOSS_OF_BEARER : Indicates a loss of a bearer. - RECOVERY_OF_BEARER: Indicates a recovery of a bearer. - RELEASE_OF_BEARER: Indicates a release of a bearer. - USAGE_REPORT: Indicates the usage report event.  - FAILED_RESOURCES_ALLOCATION: Indicates the resource allocation is failed. - SUCCESSFUL_RESOURCES_ALLOCATION: Indicates the resource allocation is successful.
 type Event string
 
@@ -126,12 +135,12 @@ type ExternalGroupId string
 // 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 Clause 4.6.2 of 3GPP TS 23.682 for more information.
 type ExternalId string
 
-// Represents flow information.
+// Represents IP flow information.
 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.
+       // Indicates the packet filters of the IP flow. Refer to clause 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.
+       // Indicates the IP flow identifier.
        FlowId int `json:"flowId"`
 }
 
@@ -159,6 +168,9 @@ type Ipv6AddrRo string
 // string formatted according to IETF RFC 3986 identifying a referenced resource.
 type Link string
 
+// String formatted according to IETF RFC 3986 identifying a referenced resource, but with the nullable property set to true.
+type LinkRm string
+
 // 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.
@@ -198,7 +210,7 @@ type Mcc string
 // String encoding a Mobile Network Code part of the PLMN, comprising 2 or 3 digits, as defined in 3GPP TS 38.413.
 type Mnc string
 
-// string formatted according to subclause 3.3 of 3GPP TS 23.003 that describes an MSISDN.
+// string formatted according to clause 3.3 of 3GPP TS 23.003 that describes an MSISDN.
 type Msisdn string
 
 // Represents the information to be conveyed in a bearer level event(s) notification.
@@ -276,7 +288,7 @@ type TestNotification struct {
        Subscription Link `json:"subscription"`
 }
 
-// String with format partial-time or full-time as defined in subclause 5.6 of IETF RFC 3339. Examples, 20:15:00, 20:15:00-08:00 (for 8 hours behind UTC).
+// String with format partial-time or full-time as defined in clause 5.6 of IETF RFC 3339. Examples, 20:15:00, 20:15:00-08:00 (for 8 hours behind UTC).
 type TimeOfDay string
 
 // Represents a time window identified by a start time and a stop time.
@@ -339,70 +351,71 @@ type WebsockNotifConfig struct {
 // Base64 encoded, gzipped, json marshaled Swagger object
 var swaggerSpec = []string{
 
-       "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",
+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",
 }
 
 // GetSwagger returns the content of the embedded swagger specification file
index 0fb3aa0..96a9c13 100644 (file)
@@ -34,6 +34,13 @@ const (
        AuthStatusPENDING AuthStatus = "PENDING"
 )
 
+// Defines values for BroadcastDeliveryStatus.
+const (
+       BroadcastDeliveryStatusACTIVATED BroadcastDeliveryStatus = "ACTIVATED"
+
+       BroadcastDeliveryStatusTERMINATED BroadcastDeliveryStatus = "TERMINATED"
+)
+
 // Defines values for ChangeType.
 const (
        ChangeTypeADD ChangeType = "ADD"
@@ -241,25 +248,30 @@ const (
        LoggingIntervalNrMdtN640 LoggingIntervalNrMdt = "640"
 )
 
-// Defines values for MbsServiceType.
+// Defines values for MatchingOperator.
 const (
-       MbsServiceTypeBROADCAST MbsServiceType = "BROADCAST"
+       MatchingOperatorCONTAINS MatchingOperator = "CONTAINS"
 
-       MbsServiceTypeMULTICAST MbsServiceType = "MULTICAST"
-)
+       MatchingOperatorENDSWITH MatchingOperator = "ENDS_WITH"
 
-// Defines values for MbsSessionActivityStatus.
-const (
-       MbsSessionActivityStatusACTIVE MbsSessionActivityStatus = "ACTIVE"
+       MatchingOperatorFULLMATCH MatchingOperator = "FULL_MATCH"
 
-       MbsSessionActivityStatusINACTIVE MbsSessionActivityStatus = "INACTIVE"
+       MatchingOperatorMATCHALL MatchingOperator = "MATCH_ALL"
+
+       MatchingOperatorNOTCONTAIN MatchingOperator = "NOT_CONTAIN"
+
+       MatchingOperatorNOTENDWITH MatchingOperator = "NOT_END_WITH"
+
+       MatchingOperatorNOTSTARTWITH MatchingOperator = "NOT_START_WITH"
+
+       MatchingOperatorSTARTSWITH MatchingOperator = "STARTS_WITH"
 )
 
-// Defines values for MbsSessionEventType.
+// Defines values for MbsServiceType.
 const (
-       MbsSessionEventTypeBROADCASTDELIVERYSTATUS MbsSessionEventType = "BROADCAST_DELIVERY_STATUS"
+       MbsServiceTypeBROADCAST MbsServiceType = "BROADCAST"
 
-       MbsSessionEventTypeMBSRELTMGIEXPIRY MbsSessionEventType = "MBS_REL_TMGI_EXPIRY"
+       MbsServiceTypeMULTICAST MbsServiceType = "MULTICAST"
 )
 
 // Defines values for MeasurementLteForMdt.
@@ -715,22 +727,25 @@ const (
 // Unsigned Integer, i.e. only value 0 and integers above 0 are permissible.
 type N5GMmCause Uinteger
 
-// Unsigned integer representing a 5G QoS Identifier (see clause 5.7.2.1 of 3GPP TS 23.501, within the range 0 to 255
+// The 5GPRUK ID is string in NAI format as specified in clause 28.7.19 of 3GPP TS 23.003.
+type N5GPrukId string
+
+// Unsigned integer representing a 5G QoS Identifier (see clause 5.7.2.1 of 3GPP TS 23.501, within the range 0 to 255.
 type N5Qi int
 
-// Unsigned integer indicating the 5QI Priority Level (see clauses 5.7.3.3 and 5.7.4 of 3GPP TS 23.501, within the range 1 to 127.Values are ordered in decreasing order of priority, i.e. with 1 as the highest priority and 127 as the lowest priority.
+// Unsigned integer indicating the 5QI Priority Level (see clauses 5.7.3.3 and 5.7.4 of 3GPP TS 23.501, within the range 1 to 127.Values are ordered in decreasing order of priority,  i.e. with 1 as the highest priority and 127 as the lowest priority.
 type N5QiPriorityLevel int
 
 // This data type is defined in the same way as the '5QiPriorityLevel' data type, but with the OpenAPI 'nullable: true' property.
 type N5QiPriorityLevelRm int
 
-// This data type is defined in the same way as the '5QiPriorityLevel' data type, but with the OpenAPI 'nullable: true' property.
+// This data type is defined in the same way as the '5QiPriorityLevel' data type, but with the OpenAPI 'nullable: true' property. "
 type N5QiRm int
 
-// Indicates wether the access is  via 3GPP or via non-3GPP.
+// Indicates whether the access is  via 3GPP or via non-3GPP.
 type AccessType string
 
-// Indicates wether the access is via 3GPP or via non-3GPP but with the OpenAPI 'nullable: true' property.
+// Indicates wether the access is via 3GPP or via non-3GPP but with the OpenAPI  'nullable: true' property."
 type AccessTypeRm interface{}
 
 // The ACS information for the 5G-RG is defined in BBF TR-069 [42] or in BBF TR-369
@@ -738,14 +753,14 @@ type AcsInfo struct {
        // String identifying a IPv4 address formatted in the 'dotted decimal' notation as defined in RFC 1166.
        AcsIpv4Addr *Ipv4Addr `json:"acsIpv4Addr,omitempty"`
 
-       // String identifying an IPv6 address formatted according to clause 4 of RFC5952. The mixed IPv4 IPv6 notation according to clause 5 of RFC5952 shall not be used
+       // String identifying an IPv6 address formatted according to clause 4 of RFC5952. The mixed IPv4 IPv6 notation according to clause 5 of RFC5952 shall not be used.
        AcsIpv6Addr *Ipv6Addr `json:"acsIpv6Addr,omitempty"`
 
-       // String providing an URI formatted according to RFC 3986
+       // String providing an URI formatted according to RFC 3986.
        AcsUrl *Uri `json:"acsUrl,omitempty"`
 }
 
-// This data type is defined in the same way as the 'AcsInfo' data type, but with the OpenAPI 'nullable: true' property.
+// This data type is defined in the same way as the 'AcsInfo' data type, but with the  OpenAPI 'nullable: true' property.
 type AcsInfoRm interface{}
 
 // The enumeration AdditionalQosFlowInfo provides additional QoS flow information (see clause  9.3.1.12 3GPP TS 38.413 [11]). It shall comply with the provisions defined in table 5.5.3.12-1.
@@ -753,14 +768,14 @@ type AdditionalQosFlowInfo interface{}
 
 // Contains the maximum aggregated uplink and downlink bit rates.
 type Ambr struct {
-       // String representing a bit rate prefixes follow the standard symbols from The International System of Units, and represent x1000 multipliers, with the exception that prefix "K" is used to represent the standard symbol "k".
+       // String representing a bit rate; the prefixes follow the standard symbols from The International System of Units, and represent x1000 multipliers, with the exception that prefix "K" is used to represent the standard symbol "k".
        Downlink BitRate `json:"downlink"`
 
-       // String representing a bit rate prefixes follow the standard symbols from The International System of Units, and represent x1000 multipliers, with the exception that prefix "K" is used to represent the standard symbol "k".
+       // String representing a bit rate; the prefixes follow the standard symbols from The International System of Units, and represent x1000 multipliers, with the exception that prefix "K" is used to represent the standard symbol "k".
        Uplink BitRate `json:"uplink"`
 }
 
-// This data type is defined in the same way as the 'Ambr' data type, but with the OpenAPI 'nullable: true' property.
+// This data type is defined in the same way as the 'Ambr' data type, but with the OpenAPI 'nullable: true' property."
 type AmbrRm interface{}
 
 // String identifying the AMF ID composed of AMF Region ID (8 bits), AMF Set ID (10 bits) and AMF  Pointer (6 bits) as specified in clause 2.10.1 of 3GPP TS 23.003. It is encoded as a string of  6 hexadecimal characters (i.e., 24 bits).
@@ -786,7 +801,7 @@ type ApnRateStatus struct {
        // When present, it shall contain the number of packets the UE is allowed to send uplink in the given time unit for the given APN (all PDN connections of the UE to this APN see clause 4.7.7.3 in 3GPP TS 23.401.
        RemainPacketsDl *int `json:"remainPacketsDl,omitempty"`
 
-       // When present, it shall contain the number of packets the UE is allowed to send uplink in the given time unit for  the given APN (all PDN connections of the UE to this APN see clause 4.7.7.3 in 3GPP TS 23.401.
+       // When present, it shall contain the number of packets the UE is allowed to send uplink in the given time unit for the given APN (all PDN connections of the UE to this APN see clause 4.7.7.3 in 3GPP TS 23.401.
        RemainPacketsUl *int `json:"remainPacketsUl,omitempty"`
 
        // string with format 'date-time' as defined in OpenAPI.
@@ -834,7 +849,7 @@ type ArfcnValueNR int
 
 // Contains Allocation and Retention Priority information.
 type Arp struct {
-       // The enumeration PreemptionCapability indicates the pre-emption capability of a request on other QoS flows.  See clause 5.7.2.2 of 3GPP TS 23.501. It shall comply with the provisions defined in table 5.5.3.1-1.
+       // The enumeration PreemptionCapability indicates the pre-emption capability of a request on other QoS flows. See clause 5.7.2.2 of 3GPP TS 23.501. It shall comply with the provisions defined in table 5.5.3.1-1.
        PreemptCap PreemptionCapability `json:"preemptCap"`
 
        // The enumeration PreemptionVulnerability indicates the pre-emption vulnerability of the QoS flow to pre-emption from other QoS flows. See clause 5.7.2.2 of 3GPP TS 23.501. It shall comply with the provisions defined in table 5.5.3.2-1
@@ -858,14 +873,14 @@ type Atom struct {
        // contains the name of a defined query parameter.
        Attr string `json:"attr"`
 
-       // indicates whether the negative condition applies for the query condition
+       // indicates whether the negative condition applies for the query condition.
        Negative *bool       `json:"negative,omitempty"`
        Value    interface{} `json:"value"`
 }
 
 // Containes Capability to support procedures related to Access Traffic Steering, Switching, Splitting.
 type AtsssCapability struct {
-       // Indicates the ATSSS-LL capability to support procedures related to Access Traffic Steering, Switching, Splitting (see clauses 4.2.10, 5.32 of 3GPP TS 23.501) true: Supported false (default): Not Supported
+       // Indicates the ATSSS-LL capability to support procedures related to Access Traffic Steering, Switching, Splitting (see clauses 4.2.10, 5.32 of 3GPP TS 23.501). true: Supported false (default): Not Supported
        AtsssLL *bool `json:"atsssLL,omitempty"`
 
        // Indicates the MPTCP capability to support procedures related to Access Traffic Steering, Switching, Splitting (see clauses 4.2.10, 5.32 of 3GPP TS 23.501 true: Supported false (default): Not Supported
@@ -911,18 +926,21 @@ type BatteryIndication struct {
 // This data type is defined in the same way as the 'BatteryIndication' data type, but with the OpenAPI 'nullable: true' property.
 type BatteryIndicationRm interface{}
 
-// string with format 'binary' as defined in OpenAPI
+// string with format 'binary' as defined in OpenAPI.
 type Binary string
 
 // string with format 'binary' as defined in OpenAPI OpenAPI with 'nullable: true' property.
 type BinaryRm string
 
-// String representing a bit rate prefixes follow the standard symbols from The International System of Units, and represent x1000 multipliers, with the exception that prefix "K" is used to represent the standard symbol "k".
+// String representing a bit rate; the prefixes follow the standard symbols from The International System of Units, and represent x1000 multipliers, with the exception that prefix "K" is used to represent the standard symbol "k".
 type BitRate string
 
 // This data type is defined in the same way as the 'BitRate' data type, but with the OpenAPI 'nullable: true' property.
 type BitRateRm string
 
+// Broadcast MBS Session's Delivery Status
+type BroadcastDeliveryStatus string
+
 // string with format 'bytes' as defined in OpenAPI
 type Bytes []byte
 
@@ -949,7 +967,7 @@ type CellGlobalId struct {
 
 // It contains data which need to be changed.
 type ChangeItem struct {
-       // indicates the path of the source JSON element (according to JSON Pointer syntax) being moved or copied to the location indicated by the "path" attribute. It shall be present if the "op" attribute is of value "MOVE".
+       // indicates the path of the source JSON element (according to JSON Pointer syntax)  being moved or copied to the location indicated by the "path" attribute. It shall  be present if the "op" attribute is of value "MOVE".
        From     *string      `json:"from,omitempty"`
        NewValue *interface{} `json:"newValue,omitempty"`
 
@@ -957,7 +975,7 @@ type ChangeItem struct {
        Op        ChangeType   `json:"op"`
        OrigValue *interface{} `json:"origValue,omitempty"`
 
-       // contains a JSON pointer value (as defined in IETF RFC 6901) that references a target location within the resource on which the change has been applied.
+       // contains a JSON pointer value (as defined in IETF RFC 6901) that references a target  location within the resource on which the change has been applied.
        Path string `json:"path"`
 }
 
@@ -965,14 +983,14 @@ type ChangeItem struct {
 type ChangeType string
 
 // Integer where the allowed values correspond to the value range of an unsigned 32-bit integer.
-type ChargingId Uint32
+type ChargingId int
 
 // A conjunctive normal form
 type Cnf struct {
        CnfUnits []CnfUnit `json:"cnfUnits"`
 }
 
-// During the processing of cnfUnits attribute, all the members in the array shall be interpreted as logically concatenated with logical "AND".
+// During the processing of cnfUnits attribute, all the members in the array shall be  interpreted as logically concatenated with logical "AND".
 type CnfUnit struct {
        CnfUnit []Atom `json:"cnfUnit"`
 }
@@ -983,7 +1001,7 @@ type CollectionPeriodRmmLteMdt string
 // The enumeration CollectionPeriodRmmNrMdt defines Collection period for RRM measurements NR for MDT in the trace. See 3GPP TS 32.422 for further description of the values. It shall comply with the provisions defined in table 5.6.3.19-1
 type CollectionPeriodRmmNrMdt string
 
-// The ComplexQuery data type is either a conjunctive normal form or a disjunctive normal form. The attribute names "cnfUnits" and "dnfUnits" (see clause 5.2.4.11 and clause 5.2.4.12) serve as discriminator.
+// The ComplexQuery data type is either a conjunctive normal form or a disjunctive normal form.  The attribute names "cnfUnits" and "dnfUnits" (see clause 5.2.4.11 and clause 5.2.4.12)  serve as discriminator.
 type ComplexQuery interface{}
 
 // It contains the Core Network type 5GC or EPC.
@@ -992,7 +1010,7 @@ type CoreNetworkType string
 // It contains the Core Network type 5GC or EPC but with the OpenAPI 'nullable: true' property.
 type CoreNetworkTypeRm interface{}
 
-// string with format 'date' as defined in OpenAPI
+// string with format 'date' as defined in OpenAPI.
 type Date openapi_types.Date
 
 // string with format 'date' as defined in OpenAPI OpenAPI with 'nullable: true' property.
@@ -1012,10 +1030,10 @@ type DddTrafficDescriptor struct {
        // String identifying a IPv4 address formatted in the 'dotted decimal' notation as defined in RFC 1166.
        Ipv4Addr *Ipv4Addr `json:"ipv4Addr,omitempty"`
 
-       // String identifying an IPv6 address formatted according to clause 4 of RFC5952. The mixed IPv4 IPv6 notation according to clause 5 of RFC5952 shall not be used
+       // String identifying an IPv6 address formatted according to clause 4 of RFC5952. The mixed IPv4 IPv6 notation according to clause 5 of RFC5952 shall not be used.
        Ipv6Addr *Ipv6Addr `json:"ipv6Addr,omitempty"`
 
-       // String identifying a MAC address formatted in the hexadecimal notation according to clause 1.1 and clause 2.1 of RFC 7042
+       // String identifying a MAC address formatted in the hexadecimal notation according to clause 1.1 and clause 2.1 of RFC 7042.
        MacAddr *MacAddr48 `json:"macAddr,omitempty"`
 
        // Unsigned Integer, i.e. only value 0 and integers above 0 are permissible.
@@ -1029,9 +1047,14 @@ type DiameterIdentity Fqdn
 type DiameterIdentityRm FqdnRm
 
 // Possible values are:
-// - BUFFERED: The first downlink data is buffered with extended buffering matching the source of the downlink traffic.
-// - TRANSMITTED: The first downlink data matching the source of the downlink traffic is transmitted after previous buffering or discarding of corresponding packet(s) because the UE of the PDU Session becomes ACTIVE, and buffered data can be delivered to UE.
-// - DISCARDED: The first downlink data matching the source of the downlink traffic is discarded because the Extended Buffering time, as determined by the SMF, expires or the amount of downlink data to be buffered is exceeded.
+//   - BUFFERED: The first downlink data is buffered with extended buffering matching the
+//     source of the downlink traffic.
+//   - TRANSMITTED: The first downlink data matching the source of the downlink traffic is
+//     transmitted after previous buffering or discarding of corresponding packet(s) because
+//     the UE of the PDU Session becomes ACTIVE, and buffered data can be delivered to UE.
+//   - DISCARDED: The first downlink data matching the source of the downlink traffic is
+//     discarded because the Extended Buffering time, as determined by the SMF, expires or
+//     the amount of downlink data to be buffered is exceeded.
 type DlDataDeliveryStatus string
 
 // This data type is defined in the same way as the ' DlDataDeliveryStatus ' data type, but with the OpenAPI 'nullable: true' property.
@@ -1041,9 +1064,10 @@ type DlDataDeliveryStatusRm interface{}
 type Dnai string
 
 // 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.
+//   - 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.
 type DnaiChangeType string
 
 // It can take the values  as specified for DnaiChangeType but with the OpenAPI 'nullable: true' property.
@@ -1052,20 +1076,20 @@ type DnaiChangeTypeRm interface{}
 // This data type is defined in the same way as the 'Dnai' data type, but with the OpenAPI 'nullable: true' property.
 type DnaiRm string
 
-// A disjunctive normal form
+// A disjunctive normal form.
 type Dnf struct {
        DnfUnits []DnfUnit `json:"dnfUnits"`
 }
 
-// During the processing of dnfUnits attribute, all the members in the array shall be interpreted as logically concatenated with logical "OR".
+// During the processing of dnfUnits attribute, all the members in the array shall be  interpreted as logically concatenated with logical "OR".
 type DnfUnit struct {
        DnfUnit []Atom `json:"dnfUnit"`
 }
 
-// String representing a Data Network as defined in clause 9A of 3GPP TS 23.003; it shall contain either a DNN Network Identifier, or a full DNN with both the Network Identifier and Operator Identifier, as specified in 3GPP TS 23.003 clause 9.1.1 and 9.1.2. It shall be coded as string in which the labels are separated by dots (e.g. "Label1.Label2.Label3").
+// String representing a Data Network as defined in clause 9A of 3GPP TS 23.003;  it shall contain either a DNN Network Identifier, or a full DNN with both the Network  Identifier and Operator Identifier, as specified in 3GPP TS 23.003 clause 9.1.1 and 9.1.2. It shall be coded as string in which the labels are separated by dots  (e.g. "Label1.Label2.Label3").
 type Dnn string
 
-// "String representing a Data Network as defined in clause 9A of 3GPP TS 23.003;  it shall contain either a DNN Network Identifier, or a full DNN with both the  Network Identifier and Operator Identifier, as specified in 3GPP TS 23.003 clause 9.1.1  and 9.1.2. It shall be coded as string in which the labels are separated by dots  (e.g. 'Label1.Label2.Label3') with the OpenAPI 'nullable: true' property."
+// String representing a Data Network as defined in clause 9A of 3GPP TS 23.003;  it shall contain either a DNN Network Identifier, or a full DNN with both the  Network Identifier and Operator Identifier, as specified in 3GPP TS 23.003 clause 9.1.1  and 9.1.2. It shall be coded as string in which the labels are separated by dots  (e.g. 'Label1.Label2.Label3') with the OpenAPI 'nullable: true' property.
 type DnnRm string
 
 // string with format 'double' as defined in OpenAPI
@@ -1106,14 +1130,14 @@ type Dynamic5Qi struct {
        // String representing Packet Error Rate (see clause 5.7.3.5 and 5.7.4 of 3GPP TS 23.501, expressed as a "scalar x 10-k" where the scalar and the exponent k are each encoded as one decimal digit.
        PacketErrRate PacketErrRate `json:"packetErrRate"`
 
-       // Unsigned integer indicating the 5QI Priority Level (see clauses 5.7.3.3 and 5.7.4 of 3GPP TS 23.501, within the range 1 to 127.Values are ordered in decreasing order of priority, i.e. with 1 as the highest priority and 127 as the lowest priority.
+       // Unsigned integer indicating the 5QI Priority Level (see clauses 5.7.3.3 and 5.7.4 of 3GPP TS 23.501, within the range 1 to 127.Values are ordered in decreasing order of priority,  i.e. with 1 as the highest priority and 127 as the lowest priority.
        PriorityLevel N5QiPriorityLevel `json:"priorityLevel"`
 
        // The enumeration QosResourceType indicates whether a QoS Flow is non-GBR, delay critical GBR, or non-delay critical GBR (see clauses 5.7.3.4 and 5.7.3.5 of 3GPP TS 23.501). It shall comply with the provisions defined in table 5.5.3.6-1.
        ResourceType QosResourceType `json:"resourceType"`
 }
 
-// This represents the identifier of the eNB ID as specified in clause 9.2.1.37 of  3GPP TS 36.413. The string shall be formatted with the following pattern  '^('MacroeNB-[A-Fa-f0-9]{5}|LMacroeNB-[A-Fa-f0-9]{6}|SMacroeNB-[A-Fa-f0-9]{5}|HomeeNB-[A-Fa-f0-9]{7})$'. The value of the eNB ID shall be encoded 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 4 bits.  The padding 0 shall be added to make multiple nibbles, so the most significant character  representing the padding 0 if required together with the 4 most significant bits of the eNB ID  shall appear first in the string, and the character representing the 4 least significant bit  of the eNB ID (to form a nibble) shall appear last in the string.
+// This represents the identifier of the eNB ID as specified in clause 9.2.1.37 of  3GPP TS 36.413. The string shall be formatted with the following pattern  '^('MacroeNB-[A-Fa-f0-9]{5}|LMacroeNB-[A-Fa-f0-9]{6}|SMacroeNB-[A-Fa-f0-9]{5} |HomeeNB-[A-Fa-f0-9]{7})$'. The value of the eNB ID shall be encoded 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 4 bits.  The padding 0 shall be added to make multiple nibbles, so the most significant character  representing the padding 0 if required together with the 4 most significant bits of the eNB ID  shall appear first in the string, and the character representing the 4 least significant bit  of the eNB ID (to form a nibble) shall appear last in the string.
 type ENbId string
 
 // Contains EAS IP replacement information for a Source and a Target EAS.
@@ -1154,6 +1178,7 @@ type EcsServerAddr struct {
        EcsFqdnList      *[]Fqdn   `json:"ecsFqdnList,omitempty"`
        EcsIpAddressList *[]IpAddr `json:"ecsIpAddressList,omitempty"`
        EcsProviderId    *string   `json:"ecsProviderId,omitempty"`
+       EcsUriList       *[]Uri    `json:"ecsUriList,omitempty"`
 }
 
 // This data type is defined in the same way as the ' EcsServerAddr ' data type, but with the OpenAPI 'nullable: true' property.
@@ -1170,7 +1195,7 @@ type EutraCellIdRm string
 
 // Contains the E-UTRA user location.
 type EutraLocation struct {
-       // The value represents the elapsed time in minutes since the last network contact of the mobile station. Value "0" indicates that the location information was obtained after a successful paging procedure for Active Location Retrieval when the UE is in idle mode or after a successful NG-RAN location reporting procedure with the eNB when the UE is in connected mode. Any other value than "0" indicates that the location information is the last known one. See 3GPP TS 29.002 clause 17.7.8.
+       // The value represents the elapsed time in minutes since the last network contact of the mobile station.  Value "0" indicates that the location information was obtained after a successful paging procedure for Active Location Retrieval when the UE is in idle mode or after a successful NG-RAN location reporting procedure with the eNB when the UE is in connected mode.  Any other value than "0" indicates that the location information is the last known one.  See 3GPP TS 29.002 clause 17.7.8.
        AgeOfLocationInformation *int `json:"ageOfLocationInformation,omitempty"`
 
        // Contains the ECGI (E-UTRAN Cell Global Identity), as described in 3GPP 23.003
@@ -1214,7 +1239,7 @@ type ExtMaxDataBurstVolRm int
 // Unsigned integer indicating Packet Delay Budget (see clauses 5.7.3.4 and 5.7.4 of 3GPP TS 23.501 [8])), expressed in 0.01 milliseconds.
 type ExtPacketDelBudget int
 
-// This data type is defined in the same way as the 'ExtPacketDelBudget' data type, but with the OpenAPI 'nullable: true' property.
+// This data type is defined in the same way as the 'ExtPacketDelBudget' data type, but with the OpenAPI 'nullable: true' property. "
 type ExtPacketDelBudgetRm int
 
 // ExtSnssai defines model for ExtSnssai.
@@ -1228,12 +1253,9 @@ type ExtSnssai struct {
 // String identifying External Group Identifier that identifies a group made up of one or more  subscriptions associated to a group of IMSIs, as specified in clause 19.7.3 of 3GPP TS 23.003.
 type ExternalGroupId string
 
-// String identifying External Group Identifier that identifies a group made up of one or more  subscriptions associated to a group of IMSIs, as specified in clause 19.7.3 of 3GPP TS 23.003  with the OpenAPI 'nullable: true' property.
+// String identifying External Group Identifier that identifies a group made up of one or more  subscriptions associated to a group of IMSIs, as specified in clause 19.7.3 of  3GPP TS 23.003  with the OpenAPI 'nullable: true' property.
 type ExternalGroupIdRm string
 
-// List of geographic area or list of civic address info for MBS Service Area
-type ExternalMbsServiceArea interface{}
-
 // string with format 'float' as defined in OpenAPI.
 type Float float32
 
@@ -1243,6 +1265,9 @@ type FloatRm float32
 // Fully Qualified Domain Name
 type Fqdn string
 
+// a matching rule for a FQDN pattern
+type FqdnPatternMatchingRule interface{}
+
 // Fully Qualified Domain Name, but it also allows the null value
 type FqdnRm interface{}
 
@@ -1251,11 +1276,11 @@ type GNbId struct {
        // Unsigned integer representing the bit length of the gNB ID as defined in clause 9.3.1.6 of 3GPP TS 38.413 [11], within the range 22 to 32.
        BitLength int `json:"bitLength"`
 
-       // This represents the identifier of the gNB. The value of the gNB ID shall be encoded 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 4 bits. The padding 0 shall be added to make multiple nibbles,  the most significant character representing the padding 0 if required together with the 4 most significant bits of the gNB ID  shall appear first in the string, and the character representing the 4 least significant bit of the gNB ID shall appear last in the string.
+       // This represents the identifier of the gNB. The value of the gNB ID shall be encoded 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 4 bits. The padding 0 shall be added to make multiple nibbles,  the most significant character representing the padding 0 if required together with the 4 most significant bits of the gNB ID shall appear first in the string, and the character representing the 4 least significant bit of the gNB ID shall appear last in the string.
        GNBValue string `json:"gNBValue"`
 }
 
-// Global Cable Identifier uniquely identifying the connection between the 5G-CRG or FN-CRG to the 5GS. See clause 28.15.4 of 3GPP TS 23.003.  This shall be encoded as a string per clause 28.15.4 of 3GPP TS 23.003, and compliant with the syntax specified  in clause 2.2 of IETF RFC 7542 for the username part of a NAI. The GCI value is specified in CableLabs WR-TR-5WWC-ARCH.
+// Global Cable Identifier uniquely identifying the connection between the 5G-CRG or FN-CRG to the 5GS. See clause 28.15.4 of 3GPP TS 23.003. This shall be encoded as a string per clause 28.15.4 of 3GPP TS 23.003, and compliant with the syntax specified  in clause 2.2  of IETF RFC 7542 for the username part of a NAI. The GCI value is specified in CableLabs WR-TR-5WWC-ARCH.
 type Gci string
 
 // Exactly one of cgi, sai or lai shall be present.
@@ -1267,10 +1292,10 @@ type Gli Bytes
 // One of the six attributes n3IwfId, gNbIdm, ngeNbId, wagfId, tngfId, eNbId shall be present.
 type GlobalRanNodeId interface{}
 
-// String identifying a Gpsi shall contain either an External Id or an MSISDN.  It shall be formatted as follows -External Identifier= "extid-<extid>, where <extid>  shall be formatted according to clause 19.7.2 of 3GPP TS 23.003 that describes an  External Identifier.
+// String identifying a Gpsi shall contain either an External Id or an MSISDN.  It shall be formatted as follows -External Identifier= "extid-'extid', where 'extid'  shall be formatted according to clause 19.7.2 of 3GPP TS 23.003 that describes an  External Identifier.
 type Gpsi string
 
-// "String identifying a Gpsi shall contain either an External Id or an MSISDN. It shall be  formatted as follows -External Identifier= 'extid-<extid>, where <extid> shall be formatted  according to clause 19.7.2 of 3GPP TS 23.003 that describes an External Identifier with the  OpenAPI 'nullable: true' property. "
+// String identifying a Gpsi shall contain either an External Id or an MSISDN. It shall be  formatted as follows -External Identifier= 'extid-'extid', where 'extid' shall be formatted  according to clause 19.7.2 of 3GPP TS 23.003 that describes an External Identifier with the  OpenAPI 'nullable: true' property.
 type GpsiRm string
 
 // String identifying a group of devices network internal globally unique ID which identifies a set of IMSIs, as specified in clause 19.9 of 3GPP TS 23.003.
@@ -1293,13 +1318,13 @@ type GuamiRm interface{}
 
 // Hypertext Application Language (HAL) template contains the extended 3GPP hypermedia format.
 type HalTemplate struct {
-       // The media type that should be used for the corresponding request. If the attribute is missing, or contains an unrecognized value, the client should act as if the contentType is set to "application/json".
+       // The media type that should be used for the corresponding request. If the attribute is missing, or contains an unrecognized value, the client should act as if the  contentType is set to "application/json".
        ContentType *string `json:"contentType,omitempty"`
 
        // HTTP methodes.
        Method HttpMethod `json:"method"`
 
-       // The properties that should be included in the body of the corresponding request. If the contentType attribute is set to "application/json", then this attribute describes the attributes of the JSON object of the body.
+       // The properties that should be included in the body of the corresponding request.  If the contentType attribute is set to "application/json", then this attribute  describes the attributes of the JSON object of the body.
        Properties *[]Property `json:"properties,omitempty"`
 
        // A human-readable string that can be used to identify this template
@@ -1324,6 +1349,11 @@ type HfcNodeIdRm interface{}
 // HTTP methodes.
 type HttpMethod string
 
+// Ingress Tunnel Address Information
+type IngressTunAddrInfo struct {
+       IngressTunAddr []TunnelAddress `json:"ingressTunAddr"`
+}
+
 // string with format 'int32' as defined in OpenAPI.
 type Int32 int32
 
@@ -1347,10 +1377,10 @@ type InterFreqTargetInfo struct {
 
 // It contains an invalid parameter and a related description.
 type InvalidParam struct {
-       // If the invalid parameter is an attribute in a JSON body, this IE shall contain the attribute's name and shall be encoded as a JSON Pointer. If the invalid parameter is an HTTP header, this IE shall be formatted as the concatenation of the string "header " plus the name of such header. If the invalid parameter is a query parameter, this IE shall be formatted as the concatenation of the string "query " plus the name of such query parameter. If the invalid parameter is a variable part in the path of a resource URI, this IE shall contain the name of the variable, including the symbols "{" and "}" used in OpenAPI specification as the notation to represent variable path segments.
+       // If the invalid parameter is an attribute in a JSON body, this IE shall contain the  attribute's name and shall be encoded as a JSON Pointer. If the invalid parameter is  an HTTP header, this IE shall be formatted as the concatenation of the string "header "  plus the name of such header. If the invalid parameter is a query parameter, this IE  shall be formatted as the concatenation of the string "query " plus the name of such  query parameter. If the invalid parameter is a variable part in the path of a resource  URI, this IE shall contain the name of the variable, including the symbols "{" and "}"  used in OpenAPI specification as the notation to represent variable path segments.
        Param string `json:"param"`
 
-       // A human-readable reason, e.g. "must be a positive integer". In cases involving failed operations in a PATCH request, the reason string should identify the operation that failed using the operation's array index to assist in correlation of the invalid parameter with the failed operation, e.g." Replacement value invalid for attribute (failed operation index= 4)"
+       // A human-readable reason, e.g. "must be a positive integer". In cases involving failed  operations in a PATCH request, the reason string should identify the operation that  failed using the operation's array index to assist in correlation of the invalid  parameter with the failed operation, e.g." Replacement value invalid for attribute  (failed operation index= 4)"
        Reason *string `json:"reason,omitempty"`
 }
 
@@ -1360,7 +1390,7 @@ type IpAddr interface{}
 // String identifying a IPv4 address formatted in the 'dotted decimal' notation as defined in RFC 1166.
 type Ipv4Addr string
 
-// String identifying a IPv4 address mask formatted in the 'dotted decimal' notation as defined in RFC 1166.
+// "String identifying a IPv4 address mask formatted in the 'dotted decimal' notation as defined in RFC 1166."
 type Ipv4AddrMask string
 
 // String identifying a IPv4 address mask formatted in the 'dotted decimal' notation as defined in RFC 1166 with the OpenAPI defined 'nullable: true' property.
@@ -1397,12 +1427,14 @@ type Ipv6PrefixRm struct {
 type JobType string
 
 // Possible values are:
-// - "LOCATION_ALLOWED_WITH_NOTIFICATION": Location allowed with notification
-// - "LOCATION_ALLOWED_WITHOUT_NOTIFICATION": Location allowed without notification
-// - "LOCATION_ALLOWED_WITHOUT_RESPONSE": Location with notification and privacy verification; location allowed if no response
-// - "LOCATION_RESTRICTED_WITHOUT_RESPONSE": Location with notification and privacy verification; location restricted if no response
-// - "NOTIFICATION_ONLY": Notification only
-// - "NOTIFICATION_AND_VERIFICATION_ONLY": Notification and privacy verification only
+//   - "LOCATION_ALLOWED_WITH_NOTIFICATION": Location allowed with notification
+//   - "LOCATION_ALLOWED_WITHOUT_NOTIFICATION": Location allowed without notification
+//   - "LOCATION_ALLOWED_WITHOUT_RESPONSE": Location with notification and privacy
+//     verification; location allowed if no response
+//   - "LOCATION_RESTRICTED_WITHOUT_RESPONSE": Location with notification and privacy
+//     verification; location restricted if no response
+//   - "NOTIFICATION_ONLY": Notification only
+//   - "NOTIFICATION_AND_VERIFICATION_ONLY": Notification and privacy verification only
 type LcsServiceAuth string
 
 // Possible values are:
@@ -1415,22 +1447,22 @@ type LineTypeRm interface{}
 
 // It contains the URI of the linked resource.
 type Link struct {
-       // String providing an URI formatted according to RFC 3986
+       // String providing an URI formatted according to RFC 3986.
        Href *Uri `json:"href,omitempty"`
 }
 
 // It contains the URI of the linked resource with the OpenAPI 'nullable: true' property.
 type LinkRm struct {
-       // String providing an URI formatted according to RFC 3986
+       // String providing an URI formatted according to RFC 3986.
        Href *Uri `json:"href,omitempty"`
 }
 
-// A list of mutually exclusive alternatives of 1 or more links
+// A list of mutually exclusive alternatives of 1 or more links.
 type LinksValueSchema interface{}
 
 // Contains a Location area identification as defined in 3GPP TS 23.003, clause 4.1.
 type LocationAreaId struct {
-       // Location Area Code
+       // Location Area Code.
        Lac string `json:"lac"`
 
        // When PlmnId needs to be converted to string (e.g. when used in maps as key), the string  shall be composed of three digits "mcc" followed by "-" and two or three digits "mnc".
@@ -1462,98 +1494,98 @@ type LteV2xAuth struct {
        VehicleUeAuth *UeAuth `json:"vehicleUeAuth,omitempty"`
 }
 
-// String identifying a MAC address formatted in the hexadecimal notation according to clause 1.1 and clause 2.1 of RFC 7042
+// String identifying a MAC address formatted in the hexadecimal notation according to clause 1.1 and clause 2.1 of RFC 7042.
 type MacAddr48 string
 
-// String identifying a MAC address formatted in the hexadecimal notation according to clause 1.1 and clause 2.1 of RFC 7042 with the OpenAPI 'nullable: true' property.
+// "String identifying a MAC address formatted in the hexadecimal notation according to clause 1.1 and clause 2.1 of RFC 7042 with the OpenAPI 'nullable: true' property."
 type MacAddr48Rm string
 
 // string with format 'bytes' as defined in OpenAPI
 type ManAssiUeRadioCapId Bytes
 
+// the matching operation.
+type MatchingOperator string
+
 // Unsigned integer indicating Maximum Data Burst Volume (see clauses 5.7.3.7 and 5.7.4 of 3GPP TS 23.501), expressed in Bytes.
 type MaxDataBurstVol int
 
 // This data type is defined in the same way as the 'MaxDataBurstVol' data type, but with the OpenAPI 'nullable: true' property.
 type MaxDataBurstVolRm int
 
-// MBS Service Area
-type MbsServiceArea struct {
-       // List of NR cell Ids
-       NcgiList *[]NcgiTai `json:"ncgiList,omitempty"`
+// MBS Frequency Selection Area Identifier
+type MbsFsaId string
 
-       // List of tracking area Ids
-       TaiList *[]Tai `json:"taiList,omitempty"`
-}
-
-// Indicates the type of an MBS session
-type MbsServiceType string
+// MBS Security Key Data Structure
+type MbsKeyInfo struct {
+       // string with format 'bytes' as defined in OpenAPI
+       KeyDomainId Bytes `json:"keyDomainId"`
 
-// Individual MBS session
-type MbsSession interface{}
+       // string with format 'bytes' as defined in OpenAPI
+       Msk *Bytes `json:"msk,omitempty"`
 
-// Indicates the MBS session's activity status
-type MbsSessionActivityStatus string
+       // string with format 'bytes' as defined in OpenAPI
+       MskId Bytes `json:"mskId"`
 
-// MBS session event
-type MbsSessionEvent struct {
-       // MBS Session Event Type
-       EventType MbsSessionEventType `json:"eventType"`
-}
+       // string with format 'date-time' as defined in OpenAPI.
+       MskLifetime *DateTime `json:"mskLifetime,omitempty"`
 
-// MBS session event report
-type MbsSessionEventReport struct {
-       // MBS Session Event Type
-       EventType MbsSessionEventType `json:"eventType"`
+       // string with format 'bytes' as defined in OpenAPI
+       Mtk *Bytes `json:"mtk,omitempty"`
 
-       // string with format 'date-time' as defined in OpenAPI.
-       TimeStamp *DateTime `json:"timeStamp,omitempty"`
+       // string with format 'bytes' as defined in OpenAPI
+       MtkId *Bytes `json:"mtkId,omitempty"`
 }
 
-// MBS session event report list
-type MbsSessionEventReportList struct {
-       EventReportList     []MbsSessionEventReport `json:"eventReportList"`
-       NotifyCorrelationId *string                 `json:"notifyCorrelationId,omitempty"`
-}
+// Represent MBS QoS requirements.
+type MbsQoSReq struct {
+       // Unsigned integer representing a 5G QoS Identifier (see clause 5.7.2.1 of 3GPP TS 23.501, within the range 0 to 255.
+       N5qi N5Qi `json:"5qi"`
 
-// MBS Session Event Type
-type MbsSessionEventType string
+       // Unsigned integer indicating Averaging Window (see clause 5.7.3.6 and 5.7.4 of 3GPP TS 23.501), expressed in milliseconds.
+       AverWindow *AverWindow `json:"averWindow,omitempty"`
 
-// MBS Session Identifier
-type MbsSessionId struct {
-       // This represents the Network Identifier, which together with a PLMN ID is used to identify an SNPN (see 3GPP TS 23.003 and 3GPP TS 23.501 clause 5.30.2.1).
-       Nid *Nid `json:"nid,omitempty"`
+       // String representing a bit rate; the prefixes follow the standard symbols from The International System of Units, and represent x1000 multipliers, with the exception that prefix "K" is used to represent the standard symbol "k".
+       GuarBitRate *BitRate `json:"guarBitRate,omitempty"`
 
-       // Source specific IP multicast address
-       Ssm *Ssm `json:"ssm,omitempty"`
+       // String representing a bit rate; the prefixes follow the standard symbols from The International System of Units, and represent x1000 multipliers, with the exception that prefix "K" is used to represent the standard symbol "k".
+       MaxBitRate *BitRate `json:"maxBitRate,omitempty"`
 
-       // Temporary Mobile Group Identity
-       Tmgi *Tmgi `json:"tmgi,omitempty"`
+       // Contains Allocation and Retention Priority information.
+       ReqMbsArp *Arp `json:"reqMbsArp,omitempty"`
 }
 
-// MBS session subscription
-type MbsSessionSubscription struct {
-       // Integer where the allowed values correspond to the value range of an unsigned 16-bit integer.
-       AreaSessionId *AreaSessionId    `json:"areaSessionId,omitempty"`
-       EventList     []MbsSessionEvent `json:"eventList"`
+// MbsSecurityContext defines model for MbsSecurityContext.
+type MbsSecurityContext struct {
+       // A map (list of key-value pairs) where a (unique) valid JSON string serves as key of MbsSecurityContext
+       KeyList MbsSecurityContext_KeyList `json:"keyList"`
+}
 
-       // string with format 'date-time' as defined in OpenAPI.
-       ExpiryTime *DateTime `json:"expiryTime,omitempty"`
+// A map (list of key-value pairs) where a (unique) valid JSON string serves as key of MbsSecurityContext
+type MbsSecurityContext_KeyList struct {
+       AdditionalProperties map[string]MbsKeyInfo `json:"-"`
+}
 
-       // MBS Session Identifier
-       MbsSessionId *MbsSessionId `json:"mbsSessionId,omitempty"`
+// MBS Service Area
+type MbsServiceArea struct {
+       // List of NR cell Ids
+       NcgiList *[]NcgiTai `json:"ncgiList,omitempty"`
 
-       // String providing an URI formatted according to RFC 3986
-       MbsSessionSubscUri *Uri `json:"mbsSessionSubscUri,omitempty"`
+       // List of tracking area Ids
+       TaiList *[]Tai `json:"taiList,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.
-       NfcInstanceId       *NfInstanceId `json:"nfcInstanceId,omitempty"`
-       NotifyCorrelationId *string       `json:"notifyCorrelationId,omitempty"`
+// MBS Service Area Information for location dependent MBS session
+type MbsServiceAreaInfo struct {
+       // Integer where the allowed values correspond to the value range of an unsigned 16-bit integer.
+       AreaSessionId AreaSessionId `json:"areaSessionId"`
 
-       // String providing an URI formatted according to RFC 3986
-       NotifyUri Uri `json:"notifyUri"`
+       // MBS Service Area
+       MbsServiceArea MbsServiceArea `json:"mbsServiceArea"`
 }
 
+// Indicates the type of an MBS session
+type MbsServiceType string
+
 // Contains an MBSFN area information.
 type MbsfnArea struct {
        // When present, this IE shall contain the Carrier Frequency (EARFCN).
@@ -1566,7 +1598,7 @@ type MbsfnArea struct {
 // Mobile Country Code part of the PLMN, comprising 3 digits, as defined in clause 9.3.3.5 of 3GPP TS 38.413.
 type Mcc string
 
-// "Mobile Country Code part of the PLMN, comprising 3 digits, as defined in clause 9.3.3.5 of  3GPP TS 38.413 with the OpenAPI 'nullable: true' property. "
+// Mobile Country Code part of the PLMN, comprising 3 digits, as defined in clause 9.3.3.5 of  3GPP TS 38.413 with the OpenAPI 'nullable: true' property.
 type MccRm string
 
 // contains contain MDT configuration data.
@@ -1586,7 +1618,7 @@ type MdtConfiguration struct {
        // This IE shall be present if the report trigger parameter is configured for A2 event reporting or A2 event triggered periodic reporting and the job type parameter is configured for Immediate MDT or combined Immediate MDT and Trace in LTE. When present, this IE shall indicate the Event Threshold for RSRP, and the value shall be between 0-97.
        EventThresholdRsrp *int `json:"eventThresholdRsrp,omitempty"`
 
-       // This IE shall be present if the report trigger parameter is configured for A2 event reporting or A2 event triggered periodic reporting and the job type parameter is configured for Immediate MDT or combined Immediate MDT and Trace in NR.When present, this IE shall indicate the Event Threshold for RSRP, and the value shall be between 0-127.
+       // This IE shall be present if the report trigger parameter is configured for A2 event reporting or A2 event triggered periodic reporting and the job type parameter is configured for Immediate MDT or combined Immediate MDT and Trace in NR. When present, this IE shall indicate the Event Threshold for RSRP, and the value shall be between 0-127.
        EventThresholdRsrpNr *int `json:"eventThresholdRsrpNr,omitempty"`
 
        // This IE shall be present if the report trigger parameter is configured for A2 event reporting or A2 event triggered periodic reporting and the job type parameter is configured for Immediate MDT or combined Immediate MDT and Trace in LTE.When present, this IE shall indicate the Event Threshold for RSRQ, and the value shall be between 0-34.
@@ -1615,7 +1647,7 @@ type MdtConfiguration struct {
        MeasurementLteList   *[]MeasurementLteForMdt `json:"measurementLteList,omitempty"`
        MeasurementNrList    *[]MeasurementNrForMdt  `json:"measurementNrList,omitempty"`
 
-       // The enumeration MeasurementPeriodLteMdt defines Measurement period LTE for MDT in the trace. See 3GPP TS 32.422 for further description of the values. It shall comply with the provisions defined in table 5.6.3.16-1.
+       // The enumeration MeasurementPeriodLteMdt defines Measurement period LTE for MDT in the trace.  See 3GPP TS 32.422 for further description of the values. It shall comply with the provisions defined in table 5.6.3.16-1.
        MeasurementPeriodLte *MeasurementPeriodLteMdt `json:"measurementPeriodLte,omitempty"`
 
        // The enumeration LoggingDurationMdt defines Logging Duration for MDT in the trace. See 3GPP TS 32.422 for further description of the values. It shall comply with the provisions defined in table 5.6.3.13-1.
@@ -1636,13 +1668,13 @@ type MdtConfiguration struct {
        SensorMeasurementList *[]SensorMeasurement `json:"sensorMeasurementList,omitempty"`
 }
 
-// The enumeration MeasurementLteForMdt defines Measurements used for MDT in LTE in the trace. See 3GPP TS 32.422  for further description of the values. It shall comply with the provisions defined in table 5.6.3.5-1.
+// The enumeration MeasurementLteForMdt defines Measurements used for MDT in LTE in the trace. See 3GPP TS 32.422 for further description of the values. It shall comply with the provisions defined in table 5.6.3.5-1.
 type MeasurementLteForMdt string
 
 // The enumeration MeasurementNrForMdt defines Measurements used for MDT in NR in the trace. See 3GPP TS 32.422 for further description of the values. It shall comply with the provisions defined in table 5.6.3.6-1.
 type MeasurementNrForMdt string
 
-// The enumeration MeasurementPeriodLteMdt defines Measurement period LTE for MDT in the trace. See 3GPP TS 32.422 for further description of the values. It shall comply with the provisions defined in table 5.6.3.16-1.
+// The enumeration MeasurementPeriodLteMdt defines Measurement period LTE for MDT in the trace.  See 3GPP TS 32.422 for further description of the values. It shall comply with the provisions defined in table 5.6.3.16-1.
 type MeasurementPeriodLteMdt string
 
 // Mobile Network Code part of the PLMN, comprising 2 or 3 digits, as defined in clause 9.3.3.5 of 3GPP TS 38.413.
@@ -1668,7 +1700,7 @@ type N3IwfId string
 
 // Contains the Non-3GPP access user location.
 type N3gaLocation struct {
-       // Global Cable Identifier uniquely identifying the connection between the 5G-CRG or FN-CRG to the 5GS. See clause 28.15.4 of 3GPP TS 23.003.  This shall be encoded as a string per clause 28.15.4 of 3GPP TS 23.003, and compliant with the syntax specified  in clause 2.2 of IETF RFC 7542 for the username part of a NAI. The GCI value is specified in CableLabs WR-TR-5WWC-ARCH.
+       // Global Cable Identifier uniquely identifying the connection between the 5G-CRG or FN-CRG to the 5GS. See clause 28.15.4 of 3GPP TS 23.003. This shall be encoded as a string per clause 28.15.4 of 3GPP TS 23.003, and compliant with the syntax specified  in clause 2.2  of IETF RFC 7542 for the username part of a NAI. The GCI value is specified in CableLabs WR-TR-5WWC-ARCH.
        Gci *Gci `json:"gci,omitempty"`
 
        // string with format 'bytes' as defined in OpenAPI
@@ -1694,13 +1726,13 @@ type N3gaLocation struct {
        // Contain the TNAP Identifier see clause5.6.2 of 3GPP TS 23.501.
        TnapId *TnapId `json:"tnapId,omitempty"`
 
-       // Contain the TWAP Identifier as defined in clause 4.2.8.5.3 of 3GPP TS 23.501.
+       // Contain the TWAP Identifier as defined in clause 4.2.8.5.3 of 3GPP TS 23.501 or the WLAN location information as defined in clause 4.5.7.2.8 of 3GPP TS 23.402.
        TwapId *TwapId `json:"twapId,omitempty"`
 
        // String identifying a IPv4 address formatted in the 'dotted decimal' notation as defined in RFC 1166.
        UeIpv4Addr *Ipv4Addr `json:"ueIpv4Addr,omitempty"`
 
-       // String identifying an IPv6 address formatted according to clause 4 of RFC5952. The mixed IPv4 IPv6 notation according to clause 5 of RFC5952 shall not be used
+       // String identifying an IPv6 address formatted according to clause 4 of RFC5952. The mixed IPv4 IPv6 notation according to clause 5 of RFC5952 shall not be used.
        UeIpv6Addr *Ipv6Addr `json:"ueIpv6Addr,omitempty"`
 
        // Possible values are:
@@ -1721,7 +1753,7 @@ type Ncgi struct {
        PlmnId PlmnId `json:"plmnId"`
 }
 
-// This data type is defined in the same way as the 'Ncgi' data type, but with the OpenAPI 'nullable: true' property.
+// This data type is defined in the same way as the 'Ncgi' data type, but with the  OpenAPI 'nullable: true' property.
 type NcgiRm interface{}
 
 // List of NR cell ids, with their pertaining TAIs
@@ -1748,10 +1780,27 @@ type NfGroupId string
 // 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.
 type NfInstanceId openapi_types.UUID
 
-// NF Service Set Identifier (see clause 28.12 of 3GPP TS 23.003) formatted as the following  string  " set<Set ID>.sn<Service Name>.nfi<NF Instance ID>.5gc.mnc<MNC>.mcc<MCC>">", or  "set<SetID>.sn<ServiceName>.nfi<NFInstanceID>.5gc.nid<NID>.mnc<MNC>.mcc<MCC>" with <MCC>  encoded as defined in clause 5.4.2 ("Mcc" data type definition)  <MNC> encoded as defined in  clause 5.4.2 ("Mnc" data type definition)  <NID> encoded as defined in clause 5.4.2 ("Nid"  data type definition) <NFInstanceId> encoded as defined in clause 5.3.2 <ServiceName> encoded  as defined in 3GPP TS 29.510 <Set ID> 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.
+// NF Service Set Identifier (see clause 28.12 of 3GPP TS 23.003) formatted as the following  string "set<Set ID>.sn<Service Name>.nfi<NF Instance ID>.5gc.mnc<MNC>.mcc<MCC>", or  "set<SetID>.sn<ServiceName>.nfi<NFInstanceID>.5gc.nid<NID>.mnc<MNC>.mcc<MCC>" with  <MCC> encoded as defined in clause 5.4.2 ("Mcc" data type definition)   <MNC> 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}$'
+//
+// <NID> encoded as defined in clause 5.4.2 ("Nid" data type definition)  <NFInstanceId> encoded as defined in clause 5.3.2  <ServiceName> encoded as defined in 3GPP TS 29.510  <Set ID> 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.
 type NfServiceSetId string
 
-// NF Set Identifier (see clause 28.12 of 3GPP TS 23.003), formatted as the following string "  set<Set ID>.<nftype>set.5gc.mnc<MNC>.mcc<MCC>", or "set<SetID>.  <NFType>set.5gc.nid<NID>.mnc<MNC>.mcc<MCC>" with <MCC> encoded as defined in clause 5.4.2  ("Mcc" data type definition) <MNC> encoded as defined in clause 5.4.2 ("Mnc" data type  definition) <NFType> encoded as a value defined in Table 6.1.6.3.3-1 of 3GPP TS 29.510 but  with lower case characters <Set ID> 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.
+// NF Set Identifier (see clause 28.12 of 3GPP TS 23.003), formatted as the following string "set<Set ID>.<nftype>set.5gc.mnc<MNC>.mcc<MCC>", or  "set<SetID>.<NFType>set.5gc.nid<NID>.mnc<MNC>.mcc<MCC>" with  <MCC> encoded as defined in clause 5.4.2 ("Mcc" data type definition)  <MNC> 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}$'
+//
+// <NFType> encoded as a value defined in Table 6.1.6.3.3-1 of 3GPP TS 29.510 but
+//
+//     with lower case characters <Set ID> 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.
 type NfSetId string
 
 // Represents the NGAP cause.
@@ -1769,7 +1818,7 @@ type NgeNbId string
 // This represents the Network Identifier, which together with a PLMN ID is used to identify an SNPN (see 3GPP TS 23.003 and 3GPP TS 23.501 clause 5.30.2.1).
 type Nid string
 
-// This data type is defined in the same way as the 'Nid' data type, but with the OpenAPI 'nullable: true' property.
+// This data type is defined in the same way as the 'Nid' data type, but with the OpenAPI 'nullable: true' property."
 type NidRm string
 
 // It indicates the QoS Characteristics for a standardized or pre-configured 5QI for downlink and uplink.
@@ -1789,27 +1838,29 @@ type NonDynamic5Qi struct {
        // Unsigned integer indicating Maximum Data Burst Volume (see clauses 5.7.3.7 and 5.7.4 of 3GPP TS 23.501), expressed in Bytes.
        MaxDataBurstVol *MaxDataBurstVol `json:"maxDataBurstVol,omitempty"`
 
-       // Unsigned integer indicating the 5QI Priority Level (see clauses 5.7.3.3 and 5.7.4 of 3GPP TS 23.501, within the range 1 to 127.Values are ordered in decreasing order of priority, i.e. with 1 as the highest priority and 127 as the lowest priority.
+       // Unsigned integer indicating the 5QI Priority Level (see clauses 5.7.3.3 and 5.7.4 of 3GPP TS 23.501, within the range 1 to 127.Values are ordered in decreasing order of priority,  i.e. with 1 as the highest priority and 127 as the lowest priority.
        PriorityLevel *N5QiPriorityLevel `json:"priorityLevel,omitempty"`
 }
 
-// The enumeration NotificationControl indicates whether notifications are requested from the RAN when the GFBR can no longer (or again) be fulfilled for a QoS Flow during the lifetime of the QoS Flow (see clause 5.7.2.4 of 3GPP TS 23.501). It shall comply with the provisions defined in table 5.5.3.5-1.
+// The enumeration NotificationControl indicates whether notifications are requested from the RAN when the GFBR can no longer  (or again) be fulfilled for a QoS Flow during the lifetime of the QoS Flow (see clause 5.7.2.4 of 3GPP TS 23.501). It shall comply with the provisions defined in table 5.5.3.5-1.
 type NotificationControl string
 
 // This enumeration is defined in the same way as the 'NotificationControl' enumeration, but with the OpenAPI 'nullable: true' property.
 type NotificationControlRm interface{}
 
 // Possible values are:
-// - ACTIVATE: The event notification is activated.
-// - DEACTIVATE: The event notification is deactivated and shall be muted. The available event(s) shall be stored.
-// - RETRIEVAL: The event notification shall be sent to the NF service consumer(s), after that, is muted again.
+//   - ACTIVATE: The event notification is activated.
+//   - DEACTIVATE: The event notification is deactivated and shall be muted. The available
+//     event(s) shall be stored.
+//   - RETRIEVAL: The event notification shall be sent to the NF service consumer(s),
+//     after that, is muted again.
 type NotificationFlag string
 
 // Indicates changes on a resource.
 type NotifyItem struct {
        Changes []ChangeItem `json:"changes"`
 
-       // String providing an URI formatted according to RFC 3986
+       // String providing an URI formatted according to RFC 3986.
        ResourceId Uri `json:"resourceId"`
 }
 
@@ -1821,7 +1872,7 @@ type NrCellIdRm string
 
 // Contains the NR user location.
 type NrLocation struct {
-       // The value represents the elapsed time in minutes since the last network contact of the mobile station. Value "0" indicates that the location information was obtained after a successful paging  procedure for Active Location Retrieval when the UE is in idle mode or after a successful  NG-RAN location reporting procedure with the eNB when the UE is in connected mode. Any other value than "0" indicates that the location information is the last known one. See 3GPP TS 29.002 clause 17.7.8.
+       // The value represents the elapsed time in minutes since the last network contact of the mobile station. Value "0" indicates that the location information was obtained after a successful paging procedure for Active Location Retrieval when the UE is in idle mode or after a successful  NG-RAN location reporting procedure with the eNB when the UE is in connected mode. Any other value than "0" indicates that the location information is the last known one. See 3GPP TS 29.002 clause 17.7.8.
        AgeOfLocationInformation *int `json:"ageOfLocationInformation,omitempty"`
 
        // Refers to Calling Geodetic Location. See ITU-T Recommendation Q.763 (1999) [24] clause 3.88.2. Only the description of an ellipsoid point with uncertainty circle is allowed to be used.
@@ -1844,7 +1895,7 @@ type NrLocation struct {
        UeLocationTimestamp *DateTime `json:"ueLocationTimestamp,omitempty"`
 }
 
-// This data type is defined in the same way as the 'NrLocation' data type, but with the OpenAPI 'nullable: true' property.
+// This data type is defined in the same way as the 'NrLocation' data type, but with the OpenAPI 'nullable: true' property."
 type NrLocationRm interface{}
 
 // Contains NR V2X services authorized information.
@@ -1860,12 +1911,18 @@ type NrV2xAuth struct {
        VehicleUeAuth *UeAuth `json:"vehicleUeAuth,omitempty"`
 }
 
-// String providing a Network Slice Simultaneous Registration Group. See clause 5.15.12 of 3GPP TS 23.501
+// String providing a Network Slice Simultaneous Registration Group. See clause 5.15.12 of  3GPP TS 23.501
 type NsSrg string
 
 // String providing a Network Slice Simultaneous Registration Group with the OpenAPI "nullable: true" property. See clause 5.15.12 of 3GPP TS 23.501
 type NsSrgRm string
 
+// The Network Slice AS Group ID, see 3GPP TS 38.413
+type NsagId int
+
+// This data type is defined in the same way as the "NsagId" data type, but with the OpenAPI "nullable: true" property
+type NsagIdRm int
+
 // contains the Subscribed S-NSSAI subject to NSSAA procedure and the status.
 type NssaaStatus struct {
        // When Snssai needs to be converted to string (e.g. when used in maps as key), the string shall be composed of one to three digits "sst" optionally followed by "-" and 6 hexadecimal digits "sd".
@@ -1896,7 +1953,7 @@ type OdbPacketServices interface{}
 // Unsigned integer indicating Packet Delay Budget (see clauses 5.7.3.4 and 5.7.4 of 3GPP TS 23.501), expressed in milliseconds.
 type PacketDelBudget int
 
-// This data type is defined in the same way as the 'PacketDelBudget' data type, but with the OpenAPI 'nullable: true' property
+// This data type is defined in the same way as the 'PacketDelBudget' data type, but with the OpenAPI 'nullable: true' property.
 type PacketDelBudgetRm int
 
 // String representing Packet Error Rate (see clause 5.7.3.5 and 5.7.4 of 3GPP TS 23.501, expressed as a "scalar x 10-k" where the scalar and the exponent k are each encoded as one decimal digit.
@@ -1940,22 +1997,22 @@ type PatchOperation string
 
 // The execution report result on failed modification.
 type PatchResult struct {
-       // The execution report contains an array of report items. Each report item indicates one failed modification.
+       // The execution report contains an array of report items. Each report item indicates one  failed modification.
        Report []ReportItem `json:"report"`
 }
 
 // it shall represent the PC5 Flow Bit Rates
 type Pc5FlowBitRates struct {
-       // String representing a bit rate prefixes follow the standard symbols from The International System of Units, and represent x1000 multipliers, with the exception that prefix "K" is used to represent the standard symbol "k".
+       // String representing a bit rate; the prefixes follow the standard symbols from The International System of Units, and represent x1000 multipliers, with the exception that prefix "K" is used to represent the standard symbol "k".
        GuaFbr *BitRate `json:"guaFbr,omitempty"`
 
-       // String representing a bit rate prefixes follow the standard symbols from The International System of Units, and represent x1000 multipliers, with the exception that prefix "K" is used to represent the standard symbol "k".
+       // String representing a bit rate; the prefixes follow the standard symbols from The International System of Units, and represent x1000 multipliers, with the exception that prefix "K" is used to represent the standard symbol "k".
        MaxFbr *BitRate `json:"maxFbr,omitempty"`
 }
 
 // Contains policy data on the PC5 QoS parameters.
 type Pc5QoSPara struct {
-       // String representing a bit rate prefixes follow the standard symbols from The International System of Units, and represent x1000 multipliers, with the exception that prefix "K" is used to represent the standard symbol "k".
+       // String representing a bit rate; the prefixes follow the standard symbols from The International System of Units, and represent x1000 multipliers, with the exception that prefix "K" is used to represent the standard symbol "k".
        Pc5LinkAmbr    *BitRate         `json:"pc5LinkAmbr,omitempty"`
        Pc5QosFlowList []Pc5QosFlowItem `json:"pc5QosFlowList"`
 }
@@ -1965,7 +2022,7 @@ type Pc5QosFlowItem struct {
        // it shall represent the PC5 Flow Bit Rates
        Pc5FlowBitRates *Pc5FlowBitRates `json:"pc5FlowBitRates,omitempty"`
 
-       // Unsigned integer representing a 5G QoS Identifier (see clause 5.7.2.1 of 3GPP TS 23.501, within the range 0 to 255
+       // Unsigned integer representing a 5G QoS Identifier (see clause 5.7.2.1 of 3GPP TS 23.501, within the range 0 to 255.
        Pqi N5Qi `json:"pqi"`
 
        // Unsigned Integer, i.e. only value 0 and integers above 0 are permissible.
@@ -1976,7 +2033,7 @@ type Pc5QosFlowItem struct {
 type PcfUeCallbackInfo struct {
        BindingInfo *string `json:"bindingInfo,omitempty"`
 
-       // String providing an URI formatted according to RFC 3986
+       // String providing an URI formatted according to RFC 3986.
        CallbackUri Uri `json:"callbackUri"`
 }
 
@@ -1985,7 +2042,7 @@ type PduSessionId int
 
 // indicates the DNN and S-NSSAI combination of a PDU session.
 type PduSessionInfo struct {
-       // String representing a Data Network as defined in clause 9A of 3GPP TS 23.003; it shall contain either a DNN Network Identifier, or a full DNN with both the Network Identifier and Operator Identifier, as specified in 3GPP TS 23.003 clause 9.1.1 and 9.1.2. It shall be coded as string in which the labels are separated by dots (e.g. "Label1.Label2.Label3").
+       // String representing a Data Network as defined in clause 9A of 3GPP TS 23.003;  it shall contain either a DNN Network Identifier, or a full DNN with both the Network  Identifier and Operator Identifier, as specified in 3GPP TS 23.003 clause 9.1.1 and 9.1.2. It shall be coded as string in which the labels are separated by dots  (e.g. "Label1.Label2.Label3").
        Dnn Dnn `json:"dnn"`
 
        // When Snssai needs to be converted to string (e.g. when used in maps as key), the string shall be composed of one to three digits "sst" optionally followed by "-" and 6 hexadecimal digits "sd".
@@ -1998,7 +2055,7 @@ type PduSessionType string
 // PduSessionType indicates the type of a PDU session. It shall comply with the provisions defined in table 5.4.3.3-1 but with the OpenAPI "nullable: true" property.
 type PduSessionTypeRm interface{}
 
-// String representing a Permanent Equipment Identifier that may contain - an IMEI or IMEISV, as  specified in clause 6.2 of 3GPP TS 23.003; a MAC address for a 5G-RG or FN-RG via wireline  access, with an indication that this address cannot be trusted for regulatory purpose if this  address cannot be used as an Equipment Identifier of the FN-RG, as specified in clause 4.7.7  of 3GPP TS23.316. Examples are imei-012345678901234 or imeisv-0123456789012345.
+// String representing a Permanent Equipment Identifier that may contain - an IMEI or IMEISV, as  specified in clause 6.2 of 3GPP TS 23.003; a MAC address for a 5G-RG or FN-RG via  wireline  access, with an indication that this address cannot be trusted for regulatory purpose if this  address cannot be used as an Equipment Identifier of the FN-RG, as specified in clause 4.7.7  of 3GPP TS23.316. Examples are imei-012345678901234 or imeisv-0123456789012345.
 type Pei string
 
 // This data type is defined in the same way as the 'Pei' data type but with the OpenAPI 'nullable: true' property.
@@ -2040,7 +2097,7 @@ type PlmnIdRm interface{}
 // The enumeration LoggingDurationMdt defines Logging Duration for MDT in the trace. See 3GPP TS 32.422 for further description of the values. It shall comply with the provisions defined in table 5.6.3.13-1.
 type PositioningMethodMdt string
 
-// The enumeration PreemptionCapability indicates the pre-emption capability of a request on other QoS flows.  See clause 5.7.2.2 of 3GPP TS 23.501. It shall comply with the provisions defined in table 5.5.3.1-1.
+// The enumeration PreemptionCapability indicates the pre-emption capability of a request on other QoS flows. See clause 5.7.2.2 of 3GPP TS 23.501. It shall comply with the provisions defined in table 5.5.3.1-1.
 type PreemptionCapability string
 
 // This enumeration is defined in the same way as the 'PreemptionCapability' enumeration, but with the OpenAPI 'nullable: true' property.
@@ -2049,7 +2106,7 @@ type PreemptionCapabilityRm interface{}
 // The enumeration PreemptionVulnerability indicates the pre-emption vulnerability of the QoS flow to pre-emption from other QoS flows. See clause 5.7.2.2 of 3GPP TS 23.501. It shall comply with the provisions defined in table 5.5.3.2-1
 type PreemptionVulnerability string
 
-// This enumeration is defined in the same way as the 'PreemptionVulnerability' enumeration, but with the OpenAPI 'nullable: true' property.
+// This enumeration is defined in the same way as the 'PreemptionVulnerability' enumeration, but with the OpenAPI 'nullable: true' property."
 type PreemptionVulnerabilityRm interface{}
 
 // If the additionalPraId IE is present, this IE shall state the presence information of the UE for the individual PRA identified by the additionalPraId IE;  If the additionalPraId IE is not present, this IE shall state the presence information of the UE for the PRA identified by the praId IE.
@@ -2069,7 +2126,7 @@ type PresenceInfo struct {
        // Represents the list of NR cell Ids that constitutes the area. This IE shall be present if the Area of Interest subscribed is a list of NR cell Ids.
        NcgiList *[]Ncgi `json:"ncgiList,omitempty"`
 
-       // Represents an identifier of the Presence Reporting Area (see clause 28.10 of 3GPP TS 23.003.  This IE shall be present  if the Area of Interest subscribed or reported is a Presence Reporting Area or a Set of Core Network predefined Presence Reporting Areas. When present, it shall be encoded as a string representing an integer in the following ranges: 0 to 8 388 607 for UE-dedicated PRA 8 388 608 to 16 777 215 for Core Network predefined PRA Examples: PRA ID 123 is encoded as "123" PRA ID 11 238 660 is encoded as "11238660"
+       // Represents an identifier of the Presence Reporting Area (see clause 28.10 of 3GPP  TS 23.003.  This IE shall be present  if the Area of Interest subscribed or reported is a Presence Reporting Area or a Set of Core Network predefined Presence Reporting Areas. When present, it shall be encoded as a string representing an integer in the following ranges: 0 to 8 388 607 for UE-dedicated PRA 8 388 608 to 16 777 215 for Core Network predefined PRA Examples: PRA ID 123 is encoded as "123" PRA ID 11 238 660 is encoded as "11238660"
        PraId *string `json:"praId,omitempty"`
 
        // Possible values are:
@@ -2083,7 +2140,7 @@ type PresenceInfo struct {
        TrackingAreaList *[]Tai `json:"trackingAreaList,omitempty"`
 }
 
-// "This data type is defined in the same way as the 'PresenceInfo' data type, but with the OpenAPI 'nullable: true' property.  If the additionalPraId IE is present, this IE shall state the presence information of the UE for the individual PRA identified by the additionalPraId IE;  If the additionalPraId IE is not present, this IE shall state the presence information of the UE for the PRA identified by the praId IE. "
+// This data type is defined in the same way as the 'PresenceInfo' data type, but with the OpenAPI 'nullable: true' property.  If the additionalPraId IE is present, this IE shall state the presence information of the UE for the individual PRA identified by the additionalPraId IE;  If the additionalPraId IE is not present, this IE shall state the presence information of the UE for the PRA identified by the praId IE.
 type PresenceInfoRm struct {
        // This IE may be present if the praId IE is present and if it contains a PRA identifier referring to a set of Core Network predefined Presence Reporting Areas. When present, this IE shall contain a PRA Identifier of an individual PRA within the Set of Core Network predefined Presence Reporting Areas indicated by the praId IE.
        AdditionalPraId *string `json:"additionalPraId,omitempty"`
@@ -2100,9 +2157,11 @@ type PresenceInfoRm struct {
        // Represents the list of NR cell Ids that constitutes the area. This IE shall be present if the Area of Interest subscribed is a list of NR cell Ids.
        NcgiList *[]Ncgi `json:"ncgiList,omitempty"`
 
-       // Represents an identifier of the Presence Reporting Area (see clause 28.10 of 3GPP TS 23.003. This IE shall be present
-       // if the Area of Interest subscribed or reported is a Presence Reporting Area or a Set of Core Network predefined Presence Reporting Areas.
-       // When present, it shall be encoded as a string representing an integer in the following ranges:
+       // Represents an identifier of the Presence Reporting Area (see clause 28.10 of
+       // 3GPP TS 23.003. This IE shall be present  if the Area of Interest subscribed or
+       // reported is a Presence Reporting Area or a Set of Core Network predefined Presence
+       // Reporting Areas. When present, it shall be encoded as a string representing an integer
+       // in the following ranges:
        // - 0 to 8 388 607 for UE-dedicated PRA
        // - 8 388 608 to 16 777 215 for Core Network predefined PRA
        // Examples:
@@ -2136,7 +2195,7 @@ type ProblemDetails struct {
        // A human-readable explanation specific to this occurrence of the problem.
        Detail *string `json:"detail,omitempty"`
 
-       // String providing an URI formatted according to RFC 3986
+       // String providing an URI formatted according to RFC 3986.
        Instance      *Uri            `json:"instance,omitempty"`
        InvalidParams *[]InvalidParam `json:"invalidParams,omitempty"`
 
@@ -2148,11 +2207,11 @@ type ProblemDetails struct {
        SupportedFeatures *SupportedFeatures `json:"supportedFeatures,omitempty"`
        Title             *string            `json:"title,omitempty"`
 
-       // String providing an URI formatted according to RFC 3986
+       // String providing an URI formatted according to RFC 3986.
        Type *Uri `json:"type,omitempty"`
 }
 
-// If the contentType attribute is set to "application/json", then this attribute describes the attributes of the JSON object of the body.
+// If the contentType attribute is set to "application/json", then this attribute describes  the attributes of the JSON object of the body.
 type Property struct {
        // The name of the property
        Name string `json:"name"`
@@ -2160,7 +2219,7 @@ type Property struct {
        // A regular expression string to be applied to the value of the property.
        Regex *string `json:"regex,omitempty"`
 
-       // Indicates whether the property is required â€“ true= required - false(default)= not required
+       // Indicates whether the property is required â€“ true= required â€“  false(default)= not required.
        Required *bool `json:"required,omitempty"`
 
        // The property value. When present, it shall be a valid JSON string.
@@ -2207,7 +2266,7 @@ type QosFlowUsageReport struct {
 // The enumeration QosResourceType indicates whether a QoS Flow is non-GBR, delay critical GBR, or non-delay critical GBR (see clauses 5.7.3.4 and 5.7.3.5 of 3GPP TS 23.501). It shall comply with the provisions defined in table 5.5.3.6-1.
 type QosResourceType string
 
-// This enumeration is defined in the same way as the 'QosResourceType' enumeration, but with the OpenAPI 'nullable: true' property.
+// This enumeration is defined in the same way as the 'QosResourceType' enumeration, but with the OpenAPI 'nullable: true' property. "
 type QosResourceTypeRm interface{}
 
 // Indicates the radio access used.
@@ -2219,14 +2278,14 @@ type RatTypeRm interface{}
 // Integer where the allowed values correspond to the value range of an unsigned 32-bit integer.
 type RatingGroup Uint32
 
-// The response shall include a Location header field containing a different URI (pointing to a different URI of an other service instance), or the same URI if a request is redirected to the same target resource via a different SCP.
+// The response shall include a Location header field containing a different URI  (pointing to a different URI of an other service instance), or the same URI if a request  is redirected to the same target resource via a different SCP.
 type RedirectResponse struct {
        Cause *string `json:"cause,omitempty"`
 
-       // String providing an URI formatted according to RFC 3986
+       // String providing an URI formatted according to RFC 3986.
        TargetScp *Uri `json:"targetScp,omitempty"`
 
-       // String providing an URI formatted according to RFC 3986
+       // String providing an URI formatted according to RFC 3986.
        TargetSepp *Uri `json:"targetSepp,omitempty"`
 }
 
@@ -2242,9 +2301,12 @@ type RefToBinaryDataRm interface{}
 // The enumeration ReflectiveQosAttribute indicates whether certain traffic of the QoS flow may be subject to Reflective QoS (see clause 5.7.2.3 of 3GPP TS 23.501). It shall comply with the provisions defined in table 5.5.3.3-1.
 type ReflectiveQoSAttribute string
 
-// This enumeration is defined in the same way as the 'ReflectiveQosAttribute' enumeration, but with the OpenAPI 'nullable: true' property.
+// This enumeration is defined in the same way as the 'ReflectiveQosAttribute' enumeration, but with the OpenAPI 'nullable: true' property. "
 type ReflectiveQoSAttributeRm interface{}
 
+// Relay Service Code to identify a connectivity service provided by the UE-to-Network relay.
+type RelayServiceCode int
+
 // The enumeration ReportAmountMdt defines Report Amount for MDT in the trace. See 3GPP TS 32.422 for further description of the values. It shall comply with the provisions defined in table 5.6.3.10-1.
 type ReportAmountMdt string
 
@@ -2256,17 +2318,17 @@ type ReportIntervalNrMdt string
 
 // indicates performed modivications.
 type ReportItem struct {
-       // Contains a JSON pointer value (as defined in IETF RFC 6901) that references a location of a resource to which the modification is subject.
+       // Contains a JSON pointer value (as defined in IETF RFC 6901) that references a  location of a resource to which the modification is subject.
        Path string `json:"path"`
 
-       // A human-readable reason providing details on the reported modification failure. The reason string should identify the operation that failed using the operation's array index to assist in correlation of the invalid parameter with the failed operation, e.g. "Replacement value invalid for attribute (failed operation index= 4)".
+       // A human-readable reason providing details on the reported modification failure.  The reason string should identify the operation that failed using the operation's  array index to assist in correlation of the invalid parameter with the failed  operation, e.g. "Replacement value invalid for attribute (failed operation index= 4)".
        Reason *string `json:"reason,omitempty"`
 }
 
 // The enumeration ReportTypeMdt defines Report Type for logged MDT in the trace. See 3GPP TS 32.422 for further description of the values. It shall comply with the provisions defined in table 5.6.3.4-1.
 type ReportTypeMdt string
 
-// The enumeration ReportingTrigger defines Reporting Triggers for MDT in the trace. See 3GPP TS 32.42] for further description of the values. It shall comply with the provisions defined in table 5.6.3.8-1.
+// The enumeration ReportingTrigger defines Reporting Triggers for MDT in the trace. See 3GPP TS 32.42] for further  description of the values. It shall comply with the provisions defined in table 5.6.3.8-1.
 type ReportingTrigger string
 
 // It contains the restriction type ALLOWED_AREAS or NOT_ALLOWED_AREAS.
@@ -2278,7 +2340,7 @@ type RestrictionTypeRm interface{}
 // Unsigned integer representing the "Subscriber Profile ID for RAT/Frequency Priority"  as specified in 3GPP TS 36.413.
 type RfspIndex int
 
-// "Unsigned integer representing the 'Subscriber Profile ID for RAT/Frequency Priority'  as specified in 3GPP TS 36.413 with the OpenAPI 'nullable: true' property."
+// Unsigned integer representing the 'Subscriber Profile ID for RAT/Frequency Priority'  as specified in 3GPP TS 36.413 with the OpenAPI 'nullable: true' property.
 type RfspIndexRm int
 
 // string with format 'bytes' as defined in OpenAPI
@@ -2290,7 +2352,7 @@ type RgWirelineCharacteristicsRm interface{}
 // The enumeration RoamingOdb defines the Barring of Roaming as. See 3GPP TS 23.015 for further description. It shall comply with the provisions defined in table 5.7.3.1-1.
 type RoamingOdb string
 
-// Indicates if access is allowed to a given serving network, e.g. a PLMN (MCC, MNC) or an SNPN (MCC, MNC, NID).
+// Indicates if access is allowed to a given serving network, e.g. a PLMN (MCC, MNC) or an  SNPN (MCC, MNC, NID).
 type RoamingRestrictions struct {
        AccessAllowed *bool `json:"accessAllowed,omitempty"`
 }
@@ -2300,14 +2362,14 @@ type RouteInformation struct {
        // String identifying a IPv4 address formatted in the 'dotted decimal' notation as defined in RFC 1166.
        Ipv4Addr *Ipv4Addr `json:"ipv4Addr,omitempty"`
 
-       // String identifying an IPv6 address formatted according to clause 4 of RFC5952. The mixed IPv4 IPv6 notation according to clause 5 of RFC5952 shall not be used
+       // String identifying an IPv6 address formatted according to clause 4 of RFC5952. The mixed IPv4 IPv6 notation according to clause 5 of RFC5952 shall not be used.
        Ipv6Addr *Ipv6Addr `json:"ipv6Addr,omitempty"`
 
        // Unsigned Integer, i.e. only value 0 and integers above 0 are permissible.
        PortNumber Uinteger `json:"portNumber"`
 }
 
-// Either the "routeInfo" attribute or the "routeProfId" attribute shall be included in the "RouteToLocation" data type.
+// At least one of the "routeInfo" attribute and the "routeProfId" attribute shall be included in the "RouteToLocation" data type.
 type RouteToLocation interface{}
 
 // Contains a Routing Area Identification as defined in 3GPP TS 23.003, clause 4.2.
@@ -2324,14 +2386,14 @@ type RoutingAreaId struct {
 
 // Contains the network slice status information in terms of the current number of UEs registered  with a network slice, the current number of PDU Sessions established on a network slice or both.
 type SACEventStatus struct {
-       // Represents threshold(s) to control the triggering of network slice reporting notifications or  the information contained in the network slice reporting notification.
+       // Represents threshold(s) to control the triggering of network slice reporting notifications or the information contained in the network slice reporting notification.
        ReachedNumPduSess *SACInfo `json:"reachedNumPduSess,omitempty"`
 
-       // Represents threshold(s) to control the triggering of network slice reporting notifications or  the information contained in the network slice reporting notification.
+       // Represents threshold(s) to control the triggering of network slice reporting notifications or the information contained in the network slice reporting notification.
        ReachedNumUes *SACInfo `json:"reachedNumUes,omitempty"`
 }
 
-// Represents threshold(s) to control the triggering of network slice reporting notifications or  the information contained in the network slice reporting notification.
+// Represents threshold(s) to control the triggering of network slice reporting notifications or the information contained in the network slice reporting notification.
 type SACInfo struct {
        NumericValNumPduSess *int `json:"numericValNumPduSess,omitempty"`
        NumericValNumUes     *int `json:"numericValNumUes,omitempty"`
@@ -2372,7 +2434,7 @@ type ScheduledCommunicationTimeRm interface{}
 // -BIDIRECTIONA: Bi-directional
 type ScheduledCommunicationType string
 
-// This enumeration is defined in the same way as the 'ScheduledCommunicationTypen' enumeration, but with the OpenAPI 'nullable: true' property.
+// This enumeration is defined in the same way as the 'ScheduledCommunicationTypen' enumeration, but with the OpenAPI 'nullable: true' property."
 type ScheduledCommunicationTypeRm interface{}
 
 // A range of SDs (Slice Differentiators)
@@ -2401,7 +2463,7 @@ type SecondaryRatUsageReport struct {
        SecondaryRatType RatType `json:"secondaryRatType"`
 }
 
-// It contains the URI of the linked resource
+// It contains the URI of the linked resource.
 type SelfLink struct {
        // It contains the URI of the linked resource.
        Self Link `json:"self"`
@@ -2437,10 +2499,10 @@ type ServiceId Uint32
 
 // MBR related to slice
 type SliceMbr struct {
-       // String representing a bit rate prefixes follow the standard symbols from The International System of Units, and represent x1000 multipliers, with the exception that prefix "K" is used to represent the standard symbol "k".
+       // String representing a bit rate; the prefixes follow the standard symbols from The International System of Units, and represent x1000 multipliers, with the exception that prefix "K" is used to represent the standard symbol "k".
        Downlink BitRate `json:"downlink"`
 
-       // String representing a bit rate prefixes follow the standard symbols from The International System of Units, and represent x1000 multipliers, with the exception that prefix "K" is used to represent the standard symbol "k".
+       // String representing a bit rate; the prefixes follow the standard symbols from The International System of Units, and represent x1000 multipliers, with the exception that prefix "K" is used to represent the standard symbol "k".
        Uplink BitRate `json:"uplink"`
 }
 
@@ -2449,16 +2511,16 @@ type SliceMbrRm interface{}
 
 // It indicates theSmall Data Rate Control Status
 type SmallDataRateStatus struct {
-       // When present, it shall indicate number of additional exception reports the AF is allowed to send downlink in the given time unit for the given PDU session (see clause 5.31.14.3 in 3GPP TS 23.501
+       // When present, it shall indicate number of additional exception reports the AF is allowed to send downlink  in the given time unit for the given PDU session (see clause 5.31.14.3 in 3GPP TS 23.501
        RemainExReportsDl *int `json:"remainExReportsDl,omitempty"`
 
        // When present, it shall indicate number of additional exception reports the UE is allowed to send uplink in the given time  unit for  the given PDU session (see clause 5.31.14.3 of 3GPP TS 23.501.
        RemainExReportsUl *int `json:"remainExReportsUl,omitempty"`
 
-       // When present it shall contain the number of packets the AF is allowed to send downlink in the given time unit for the given PDU session (see clause 5.31.14.3 of 3GPP TS 23.501
+       // When present it shall contain the number of packets the AF is allowed to send downlink in the given time unit for the given PDU session (see clause 5.31.14.3 of 3GPP TS 23.501.
        RemainPacketsDl *int `json:"remainPacketsDl,omitempty"`
 
-       // When present, it shall contain the number of packets the UE is allowed to send uplink in the given time unit for the given PDU session (see clause 5.31.14.3 of 3GPP TS 23.501
+       // When present, it shall contain the number of packets the UE is allowed to send uplink in the given time unit for the given PDU session (see clause 5.31.14.3 of 3GPP TS 23.501.
        RemainPacketsUl *int `json:"remainPacketsUl,omitempty"`
 
        // string with format 'date-time' as defined in OpenAPI.
@@ -2467,7 +2529,7 @@ type SmallDataRateStatus struct {
 
 // When Snssai needs to be converted to string (e.g. when used in maps as key), the string shall be composed of one to three digits "sst" optionally followed by "-" and 6 hexadecimal digits "sd".
 type Snssai struct {
-       // 3-octet string, representing the Slice Differentiator, 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 4 bits. The most significant character representing the 4 most significant bits of the SD shall appear first in the string, and the character representing the 4 least significant bit of the SD shall appear last in the string. This is an optional parameter that complements the Slice/Service type(s) to allow to differentiate amongst multiple Network Slices of the same Slice/Service type. This IE shall be absent if no SD value is associated with the SST.
+       // 3-octet string, representing the Slice Differentiator, 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 4 bits. The most significant character representing the 4 most significant bits of the SD shall appear first in the string, and the character representing the 4 least significant bit of the SD shall appear last in the string. This is an optional parameter that complements the Slice/Service type(s) to allow to  differentiate amongst multiple Network Slices of the same Slice/Service type. This IE shall be absent if no SD value is associated with the SST.
        Sd *string `json:"sd,omitempty"`
 
        // Unsigned integer, within the range 0 to 255, representing the Slice/Service Type.  It indicates the expected Network Slice behaviour in terms of features and services. Values 0 to 127 correspond to the standardized SST range. Values 128 to 255 correspond  to the Operator-specific range. See clause 28.4.2 of 3GPP TS 23.003. Standardized values are defined in clause 5.15.2.2 of 3GPP TS 23.501.
@@ -2479,19 +2541,10 @@ type SnssaiExtension struct {
        // When present, it shall contain the range(s) of Slice Differentiator values supported for the Slice/Service Type value indicated in the sst attribute of the Snssai data type
        SdRanges *[]SdRange `json:"sdRanges,omitempty"`
 
-       // When present, it shall be set to true, to indicate that all SD values are supported for the Slice/Service Type value indicated in the sst attribute of the Snssai data type
+       // When present, it shall be set to true, to indicate that all SD values are supported for the Slice/Service Type value indicated in the sst attribute of the Snssai data type.
        WildcardSd *bool `json:"wildcardSd,omitempty"`
 }
 
-// Contains the Spatial Validity Condition.
-type SpatialValidityCond struct {
-       Countries        *[]Mcc `json:"countries,omitempty"`
-       TrackingAreaList *[]Tai `json:"trackingAreaList,omitempty"`
-}
-
-// Contains the Spatial Validity Condition or the null value.
-type SpatialValidityCondRm interface{}
-
 // represents the service and session continuity mode It shall comply with the provisions defined in table 5.4.3.6-1.
 type SscMode string
 
@@ -2512,7 +2565,7 @@ type Ssm struct {
 // - MOBILE: Identifies the UE is mobile
 type StationaryIndication string
 
-// This enumeration is defined in the same way as the 'StationaryIndication' enumeration, but with the OpenAPI 'nullable: true' property.
+// This enumeration is defined in the same way as the 'StationaryIndication' enumeration, but with the OpenAPI 'nullable: true' property."
 type StationaryIndicationRm interface{}
 
 // String representing the STN-SR as defined in clause 18.6 of 3GPP TS 23.003.
@@ -2521,29 +2574,49 @@ type StnSr string
 // String representing the STN-SR as defined in clause 18.6 of 3GPP TS 23.003 with the OpenAPI 'nullable: true' property.
 type StnSrRm string
 
+// A String with Matching Operator
+type StringMatchingCondition struct {
+       // the matching operation.
+       MatchingOperator MatchingOperator `json:"matchingOperator"`
+       MatchingString   *string          `json:"matchingString,omitempty"`
+}
+
+// A list of conditions for string matching
+type StringMatchingRule struct {
+       StringMatchingConditions *[]StringMatchingCondition `json:"stringMatchingConditions,omitempty"`
+}
+
 // Provides the subsribed 5QI and the ARP, it may contain the priority level.
 type SubscribedDefaultQos struct {
-       // Unsigned integer representing a 5G QoS Identifier (see clause 5.7.2.1 of 3GPP TS 23.501, within the range 0 to 255
+       // Unsigned integer representing a 5G QoS Identifier (see clause 5.7.2.1 of 3GPP TS 23.501, within the range 0 to 255.
        N5qi N5Qi `json:"5qi"`
 
        // Contains Allocation and Retention Priority information.
        Arp Arp `json:"arp"`
 
-       // Unsigned integer indicating the 5QI Priority Level (see clauses 5.7.3.3 and 5.7.4 of 3GPP TS 23.501, within the range 1 to 127.Values are ordered in decreasing order of priority, i.e. with 1 as the highest priority and 127 as the lowest priority.
+       // Unsigned integer indicating the 5QI Priority Level (see clauses 5.7.3.3 and 5.7.4 of 3GPP TS 23.501, within the range 1 to 127.Values are ordered in decreasing order of priority,  i.e. with 1 as the highest priority and 127 as the lowest priority.
        PriorityLevel *N5QiPriorityLevel `json:"priorityLevel,omitempty"`
 }
 
-// String identifying a Supi that shall contain either an IMSI, a network specific identifier, a Global Cable Identifier (GCI) or a Global Line Identifier (GLI) as specified in clause 2.2A of 3GPP TS 23.003. It shall be formatted as follows
-//   - for an IMSI "imsi-<imsi>", where <imsi> shall be formatted according to clause 2.2 of 3GPP TS 23.003 that describes an IMSI.
-//   - for a network specific identifier "nai-<nai>, where <nai> shall be formatted according to clause 28.7.2 of 3GPP TS 23.003 that describes an NAI.
-//   - for a GCI "gci-<gci>", where <gci> shall be formatted according to clause 28.15.2 of 3GPP TS 23.003.
-//   - for a GLI "gli-<gli>", where <gli> shall be formatted according to clause 28.16.2 of 3GPP TS 23.003.To enable that the value is used as part of an URI, the string shall only contain characters allowed according to the "lower-with-hyphen" naming convention defined in 3GPP TS 29.501.
+// String identifying a Supi that shall contain either an IMSI, a network specific identifier,
+// a Global Cable Identifier (GCI) or a Global Line Identifier (GLI) as specified in clause
+// 2.2A of 3GPP TS 23.003. It shall be formatted as follows
+//   - for an IMSI "imsi-<imsi>", where <imsi> shall be formatted according to clause 2.2
+//     of 3GPP TS 23.003 that describes an IMSI.
+//   - for a network specific identifier "nai-<nai>, where <nai> shall be formatted
+//     according to clause 28.7.2 of 3GPP TS 23.003 that describes an NAI.
+//   - for a GCI "gci-<gci>", where <gci> shall be formatted according to clause 28.15.2
+//     of 3GPP TS 23.003.
+//   - for a GLI "gli-<gli>", where <gli> shall be formatted according to clause 28.16.2 of
+//     3GPP TS 23.003.To enable that the value is used as part of an URI, the string shall
+//     only contain characters allowed according to the "lower-with-hyphen" naming convention
+//     defined in 3GPP TS 29.501.
 type Supi string
 
 // String identifying a SUPI or a SUCI.
 type SupiOrSuci string
 
-// This data type is defined in the same way as the 'Supi' data type, but with the OpenAPI 'nullable: true' property.
+// This data type is defined in the same way as the 'Supi' data type, but with the  OpenAPI 'nullable: true' property.
 type SupiRm string
 
 // 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.
@@ -2578,15 +2651,23 @@ type TaiRm interface{}
 // String with format partial-time or full-time as defined in clause 5.6 of IETF RFC 3339. Examples, 20:15:00, 20:15:00-08:00 (for 8 hours behind UTC).
 type TimeOfDay string
 
-// String with format "<time-numoffset>" optionally appended by "<daylightSavingTime>", where
-// -  <time-numoffset> shall represent the time zone adjusted for daylight saving time and be encoded as time-numoffset as defined in clause 5.6 of IETF RFC 3339;
-// - <daylightSavingTime> shall represent the adjustment that has been made and shall be encoded as "+1" or "+2" for a +1 or +2 hours adjustment.
+// String with format "time-numoffset" optionally appended by "daylightSavingTime", where
+//   - "time-numoffset" shall represent the time zone adjusted for daylight saving time and be
+//     encoded as time-numoffset as defined in clause 5.6 of IETF RFC 3339;
+//   - "daylightSavingTime" shall represent the adjustment that has been made and shall be
+//     encoded as "+1" or "+2" for a +1 or +2 hours adjustment.
+//
 // The example is for 8 hours behind UTC, +1 hour adjustment for Daylight Saving Time.
 type TimeZone string
 
-// "String with format '<time-numoffset>' optionally appended by '<daylightSavingTime>', where
-//   - <time-numoffset> shall represent the time zone adjusted for daylight saving time and be encoded as time-numoffset as defined in clause 5.6 of IETF RFC 3339;
-//   - <daylightSavingTime> shall represent the adjustment that has been made and shall be encoded as '+1' or '+2' for a +1 or +2 hours adjustment.
+// "String with format 'time-numoffset' optionally appended by '<daylightSavingTime>', where
+//
+//   - 'time-numoffset' shall represent the time zone adjusted for daylight saving time and be
+//     encoded as time-numoffset as defined in clause 5.6 of IETF RFC 3339;
+//
+//   - 'daylightSavingTime' shall represent the adjustment that has been made and shall be
+//     encoded as '+1' or '+2' for a +1 or +2 hours adjustment.
+//
 //     But with the OpenAPI 'nullable: true' property."
 type TimeZoneRm string
 
@@ -2607,14 +2688,14 @@ type TnapId struct {
        // string with format 'bytes' as defined in OpenAPI
        CivicAddress *Bytes `json:"civicAddress,omitempty"`
 
-       // This IE shall be present if the UE is accessing the 5GC via a trusted WLAN access network.When present, it shall contain the SSID of the access point to which the UE is attached, that is received over NGAP, see IEEE Std 802.11-2012.
+       // This IE shall be present if the UE is accessing the 5GC via a trusted WLAN access network.When present, it shall contain the SSID of the access point to which the UE is attached, that is received over NGAP,  see IEEE Std 802.11-2012.
        SsId *string `json:"ssId,omitempty"`
 }
 
 // This data type is defined in the same way as the 'TnapId' data type, but with the OpenAPI 'nullable: true' property.
 type TnapIdRm interface{}
 
-// This represents the identifier of the TNGF ID as specified in clause 9.3.1.161 of 3GPP TS 38.413  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 4 bits. The most significant character representing the  4 most significant bits of the TNGF ID shall appear first in the string, and the character  representing the 4 least significant bit of the TNGF ID shall appear last in the string.
+// This represents the identifier of the TNGF ID as specified in clause 9.3.1.161 of  3GPP TS 38.413  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 4 bits. The most significant character representing the  4 most significant bits of the TNGF ID shall appear first in the string, and the character  representing the 4 least significant bit of the TNGF ID shall appear last in the string.
 type TngfId string
 
 // contains Trace control and configuration parameters.
@@ -2622,13 +2703,13 @@ type TraceData struct {
        // String identifying a IPv4 address formatted in the 'dotted decimal' notation as defined in RFC 1166.
        CollectionEntityIpv4Addr *Ipv4Addr `json:"collectionEntityIpv4Addr,omitempty"`
 
-       // String identifying an IPv6 address formatted according to clause 4 of RFC5952. The mixed IPv4 IPv6 notation according to clause 5 of RFC5952 shall not be used
+       // String identifying an IPv6 address formatted according to clause 4 of RFC5952. The mixed IPv4 IPv6 notation according to clause 5 of RFC5952 shall not be used.
        CollectionEntityIpv6Addr *Ipv6Addr `json:"collectionEntityIpv6Addr,omitempty"`
 
        // Triggering events (see 3GPP TS 32.422).It shall be encoded as an octet string 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 4 bits. The most significant character representing the 4 most significant bits shall appear first in the string, and the character representing the 4 least significant bit shall appear last in the string. Octets shall be coded according to 3GPP TS 32.422.
        EventList string `json:"eventList"`
 
-       // List of Interfaces (see 3GPP TS 32.422).It shall be encoded as an octet string 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 4 bits. The most significant character representing the 4 most significant bits shall appear first in the string, and the character representing the 4 least significant bit shall appear last in the string. Octets shall be coded according to 3GPP TS 32.422. If this attribute is not present, all the interfaces applicable to the list of NE types indicated in the neTypeList attribute should be traced.
+       // List of Interfaces (see 3GPP TS 32.422).It shall be encoded as an octet string 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 4 bits. The most significant character representing the 4 most significant bits shall appear first in the string, and the character representing the  4 least significant bit shall appear last in the string. Octets shall be coded according to 3GPP TS 32.422. If this attribute is not present, all the interfaces applicable to the list of NE types indicated in the neTypeList attribute should be traced.
        InterfaceList *string `json:"interfaceList,omitempty"`
 
        // List of NE Types (see 3GPP TS 32.422).It shall be encoded as an octet string 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 4 bits. The most significant character representing the 4 most significant bits shall appear first in the string, and the character representing the 4 least significant bit shall appear last in the string.Octets shall be coded according to 3GPP TS 32.422.
@@ -2637,7 +2718,7 @@ type TraceData struct {
        // The enumeration TraceDepth defines how detailed information should be recorded in the trace. See 3GPP TS 32.422 for further description of the values. It shall comply with the provisions defined in table 5.6.3.1-1
        TraceDepth TraceDepth `json:"traceDepth"`
 
-       // Trace Reference (see 3GPP TS 32.422).It shall be encoded as the concatenation of MCC, MNC and Trace ID as follows: <MCC><MNC>-<Trace ID>The Trace ID shall be encoded as a 3 octet string in hexadecimal representation. Each character in the Trace ID string shall take a value of "0" to "9", "a" to "f" or "A" to "F" and shall represent 4 bits. The most significant character representing the 4 most significant bits of the Trace ID shall appear first  in the string, and the character representing the 4 least significant bit of the Trace ID shall appear last in the string.
+       // Trace Reference (see 3GPP TS 32.422).It shall be encoded as the concatenation of MCC, MNC and Trace ID as follows: 'MCC'<MNC'-'Trace ID'The Trace ID shall be encoded as a 3 octet string in hexadecimal representation. Each character in the Trace ID string shall take a value of "0" to "9", "a" to "f" or "A" to "F" and shall represent 4 bits. The most significant character representing the 4 most significant bits of the Trace ID shall appear first  in the string, and the character representing the 4 least significant bit of the Trace ID shall appear last in the string.
        TraceRef string `json:"traceRef"`
 }
 
@@ -2648,10 +2729,12 @@ type TraceDepth string
 type TraceDepthRm interface{}
 
 // Possible values are:
-// - SINGLE_TRANS_UL: Uplink single packet transmission.
-// - SINGLE_TRANS_DL: Downlink single packet transmission.
-// - DUAL_TRANS_UL_FIRST: Dual packet transmission, firstly uplink packet transmission with subsequent downlink packet transmission.
-// - DUAL_TRANS_DL_FIRST: Dual packet transmission, firstly downlink packet transmission with subsequent uplink packet transmission.
+//   - SINGLE_TRANS_UL: Uplink single packet transmission.
+//   - SINGLE_TRANS_DL: Downlink single packet transmission.
+//   - DUAL_TRANS_UL_FIRST: Dual packet transmission, firstly uplink packet transmission
+//     with subsequent downlink packet transmission.
+//   - DUAL_TRANS_DL_FIRST: Dual packet transmission, firstly downlink packet transmission
+//     with subsequent uplink packet transmission.
 type TrafficProfile string
 
 // This enumeration is defined in the same way as the 'TrafficProfile' enumeration, but with the OpenAPI 'nullable: true' property.
@@ -2665,7 +2748,7 @@ type TransportProtocol string
 // Tunnel address
 type TunnelAddress interface{}
 
-// Contain the TWAP Identifier as defined in clause 4.2.8.5.3 of 3GPP TS 23.501.
+// Contain the TWAP Identifier as defined in clause 4.2.8.5.3 of 3GPP TS 23.501 or the WLAN location information as defined in clause 4.5.7.2.8 of 3GPP TS 23.402.
 type TwapId struct {
        // When present, it shall contain the BSSID of the access point to which the UE is attached, for trusted WLAN access, see IEEE Std 802.11-2012.
        BssId *string `json:"bssId,omitempty"`
@@ -2691,7 +2774,7 @@ type UeAuth string
 // Integer where the allowed values correspond to the value range of an unsigned 16-bit integer.
 type Uint16 int
 
-// Integer where the allowed values correspond to the value range of an unsigned 16-bit integer with the OpenAPI 'nullable: true' property.
+// Integer where the allowed values correspond to the value range of an unsigned  16-bit integer with the OpenAPI 'nullable: true' property.
 type Uint16Rm int
 
 // Integer where the allowed values correspond to the value range of an unsigned 32-bit integer.
@@ -2718,7 +2801,7 @@ type UpConfidentiality string
 // indicates whether UP integrity protection is required, preferred or not needed for all the  traffic on the PDU Session. It shall comply with the provisions defined in table 5.4.3.4-1, but with the OpenAPI 'nullable: true' property.
 type UpConfidentialityRm interface{}
 
-// indicates whether UP integrity protection is required, preferred or not needed for all the traffic on the PDU Session. It shall comply with the provisions defined in table 5.4.3.4-1.
+// indicates whether UP integrity protection is required, preferred or not needed for all the traffic on the PDU Session. It shall comply with the provisions defined in  table 5.4.3.4-1.
 type UpIntegrity string
 
 // indicates whether UP integrity protection is required, preferred or not needed for all the traffic on the PDU Session. It shall comply with the provisions defined in table 5.4.3.4-1.
@@ -2729,14 +2812,14 @@ type UpSecurity struct {
        // indicates whether UP confidentiality protection is required, preferred or not needed for all the traffic on the PDU Session. It shall comply with the provisions defined in table 5.4.3.5-1.
        UpConfid UpConfidentiality `json:"upConfid"`
 
-       // indicates whether UP integrity protection is required, preferred or not needed for all the traffic on the PDU Session. It shall comply with the provisions defined in table 5.4.3.4-1.
+       // indicates whether UP integrity protection is required, preferred or not needed for all the traffic on the PDU Session. It shall comply with the provisions defined in  table 5.4.3.4-1.
        UpIntegr UpIntegrity `json:"upIntegr"`
 }
 
 // This data type is defined in the same way as the 'UpSecurity' data type, but with the OpenAPI 'nullable: true' property.
 type UpSecurityRm interface{}
 
-// String providing an URI formatted according to RFC 3986
+// String providing an URI formatted according to RFC 3986.
 type Uri string
 
 // String providing an URI formatted according to RFC 3986 with the OpenAPI 'nullable: true' property.
@@ -2745,7 +2828,7 @@ type UriRm string
 // HTTP and HTTPS URI scheme.
 type UriScheme string
 
-// At least one of eutraLocation, nrLocation and n3gaLocation shall be present. Several of them may be present
+// At least one of eutraLocation, nrLocation and n3gaLocation shall be present. Several of them may be present.
 type UserLocation struct {
        // Contains the E-UTRA user location.
        EutraLocation *EutraLocation `json:"eutraLocation,omitempty"`
@@ -2793,7 +2876,7 @@ type WAgfId string
 // String representing the Wildcard DNN. It shall contain the string "*".
 type WildcardDnn string
 
-// String representing the Wildcard DNN. It shall contain the string '*' but with the OpenAPI 'nullable: true' property.
+// String representing the Wildcard DNN. It shall contain the string '*' but with the  OpenAPI 'nullable: true' property.
 type WildcardDnnRm string
 
 // One and only one of the "globLineIds", "hfcNIds", "areaCodeB" and "areaCodeC" attributes shall be included in a WirelineArea data structure
@@ -2807,7 +2890,7 @@ type WirelineArea struct {
        HfcNIds       *[]HfcNId `json:"hfcNIds,omitempty"`
 }
 
-// The "restrictionType" attribute and the "areas" attribute shall be either both present or absent. The empty array of areas is used when service is allowed/restricted nowhere.
+// The "restrictionType" attribute and the "areas" attribute shall be either both present or absent.  The empty array of areas is used when service is allowed/restricted nowhere.
 type WirelineServiceAreaRestriction struct {
        Areas *[]WirelineArea `json:"areas,omitempty"`
 
@@ -2815,10 +2898,10 @@ type WirelineServiceAreaRestriction struct {
        RestrictionType *RestrictionType `json:"restrictionType,omitempty"`
 }
 
-// The response shall include a Location header field containing a different URI (pointing to a different URI of an other service instance), or the same URI if a request is redirected to the same target resource via a different SCP.
+// The response shall include a Location header field containing a different URI  (pointing to a different URI of an other service instance), or the same URI if a request  is redirected to the same target resource via a different SCP.
 type N307 RedirectResponse
 
-// The response shall include a Location header field containing a different URI (pointing to a different URI of an other service instance), or the same URI if a request is redirected to the same target resource via a different SCP.
+// The response shall include a Location header field containing a different URI  (pointing to a different URI of an other service instance), or the same URI if a request  is redirected to the same target resource via a different SCP.
 type N308 RedirectResponse
 
 // Getter for additional properties for AreaScope_TacInfoPerPlmn. Returns the specified
@@ -2874,436 +2957,498 @@ func (a AreaScope_TacInfoPerPlmn) MarshalJSON() ([]byte, error) {
        return json.Marshal(object)
 }
 
+// Getter for additional properties for MbsSecurityContext_KeyList. Returns the specified
+// element and whether it was found
+func (a MbsSecurityContext_KeyList) Get(fieldName string) (value MbsKeyInfo, found bool) {
+       if a.AdditionalProperties != nil {
+               value, found = a.AdditionalProperties[fieldName]
+       }
+       return
+}
+
+// Setter for additional properties for MbsSecurityContext_KeyList
+func (a *MbsSecurityContext_KeyList) Set(fieldName string, value MbsKeyInfo) {
+       if a.AdditionalProperties == nil {
+               a.AdditionalProperties = make(map[string]MbsKeyInfo)
+       }
+       a.AdditionalProperties[fieldName] = value
+}
+
+// Override default JSON handling for MbsSecurityContext_KeyList to handle AdditionalProperties
+func (a *MbsSecurityContext_KeyList) UnmarshalJSON(b []byte) error {
+       object := make(map[string]json.RawMessage)
+       err := json.Unmarshal(b, &object)
+       if err != nil {
+               return err
+       }
+
+       if len(object) != 0 {
+               a.AdditionalProperties = make(map[string]MbsKeyInfo)
+               for fieldName, fieldBuf := range object {
+                       var fieldVal MbsKeyInfo
+                       err := json.Unmarshal(fieldBuf, &fieldVal)
+                       if err != nil {
+                               return fmt.Errorf("error unmarshaling field %s: %w", fieldName, err)
+                       }
+                       a.AdditionalProperties[fieldName] = fieldVal
+               }
+       }
+       return nil
+}
+
+// Override default JSON handling for MbsSecurityContext_KeyList to handle AdditionalProperties
+func (a MbsSecurityContext_KeyList) MarshalJSON() ([]byte, error) {
+       var err error
+       object := make(map[string]json.RawMessage)
+
+       for fieldName, field := range a.AdditionalProperties {
+               object[fieldName], err = json.Marshal(field)
+               if err != nil {
+                       return nil, fmt.Errorf("error marshaling '%s': %w", fieldName, err)
+               }
+       }
+       return json.Marshal(object)
+}
+
 // Base64 encoded, gzipped, json marshaled Swagger object
 var swaggerSpec = []string{
 
-       "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",
+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",
 }
 
 // GetSwagger returns the content of the embedded swagger specification file
index dd029fc..17748be 100644 (file)
@@ -7,6 +7,7 @@ import (
        "bytes"
        "compress/gzip"
        "encoding/base64"
+       "encoding/json"
        "fmt"
        "net/http"
        "net/url"
@@ -88,11 +89,17 @@ func (w *ServerInterfaceWrapper) GetAllServiceAPIs(ctx echo.Context) error {
                return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter data-format: %s", err))
        }
 
-       // ------------- Optional query parameter "api-cat" -------------
+       // ------------- Optional query parameter "preferred-aef-loc" -------------
+
+       if paramValue := ctx.QueryParam("preferred-aef-loc"); paramValue != "" {
+
+               var value externalRef2.AefLocation
+               err = json.Unmarshal([]byte(paramValue), &value)
+               if err != nil {
+                       return echo.NewHTTPError(http.StatusBadRequest, "Error unmarshaling parameter 'preferred-aef-loc' as JSON")
+               }
+               params.PreferredAefLoc = &value
 
-       err = runtime.BindQueryParameter("form", true, false, "api-cat", ctx.QueryParams(), &params.ApiCat)
-       if err != nil {
-               return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter api-cat: %s", err))
        }
 
        // ------------- Optional query parameter "supported-features" -------------
@@ -149,29 +156,29 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL
 // Base64 encoded, gzipped, json marshaled Swagger object
 var swaggerSpec = []string{
 
-       "H4sIAAAAAAAC/7xX23IaPRJ+lS7tXiRVMAPjU8wda+MUe+GwhuzNJuUSmoZRopEmkgaHdfFA+xr7ZH+1",
-       "NByMsf9ySP03Bovur78+qvXIhCkro1F7x3qPzIkCSx6+XksnzAIt5v3RMJzk6ISVlZdGsx67w8qiI0Xg",
-       "oKTzYGZAoiBqa1F7tQSLc+k8YYDU4AuEq/5oeAPCWIRZrQVhAdc5OO6lmy2lngMHXZdTtIQ3k8qjBWGl",
-       "Rys5VNYsZI45TJcBrj8agjDa1SXahLVYZU2F1kuM3qBdSIH90fB6S/2AKzu/klECblSDAe6gqqdKumJr",
-       "uPk9gQEXxRPpHWhwBVcKpBaqzhH6gxtyYCYVOii5FwW5S2h7bpIn0mMZqP7d4oz12GScXWZZdh8CeD+K",
-       "fO7H0fB9fzRMlrxUf0u3+UybZKbjQ2FgqxYrpR5GM90W88sKWY9xa/mSrVabAzP9hsKzFR3hT49Wc3Vt",
-       "xIEwnnwcjWAyhuwyybIM/t29SE6SDlyZsjQ6xObG8hIfjP0OM2MhyN8a64upqXUeioe1WG0V67HC+6qX",
-       "pg8PD8nJvKoSY+fpzFfpuELhUm5FIReYZpf3Dq1El0ajKbkl9cw8Z0f2yWre1DXFfidvLvmi//8/yDpZ",
-       "txWZfbJzruV/OelzBSNuvUbr4F3/bviPFvQnw3ELrq7G/RYMJuNhCybj6/Ax6dOfq/fJF91XCqycF94B",
-       "NYtdYJ580azFvPSKohvTue613XyyFlugdZF8N8mSTpurquBJRj6aCjWvJEU96SQdKn3ui5CUlCu1TXk4",
-       "mqM/UPWN0Z3i3o1HaEuL3kpcIHAQRikU6x6JEkIYm4ciNiDQei71oVqmngxhHOasxz6i7z9lSOSpMjxa",
-       "x3r/2Sc69iFZMkftZZwR696XemG+owXunJzrbXseGDMJDD1w5QzY7eQKslc3a2yJ9smgap+n5whSe7Qz",
-       "LjD0JTH6UaNdshbTvAw9U8l2w6Qtc9ZiFn/U0mLOet7W2GrGKqWgaSoXXKI2O1SmBNsC6UE6cOhpAD3y",
-       "St7yEldQcevXU+rz3RCct7XwtUUSy3EmdZy2rp4KxWuHcJqcksJOe551uq/5Er6+mXXJvxkLTc1u6L3D",
-       "ZJ7Aovv+NYPrQn+TTZortZYiVBaQONTu6dUQjd8N/vV5MJ7c3w3Go0+348GLVIQpy3awu0vk+AH8hOmE",
-       "8A+4M7LGG2HUvhMvka0a+d/MdU3jYJYHm06J1+3BfOIsNsEbUnnNPafhXHLvXkgijXmumnEMa+fhn+NP",
-       "t0HjxaTm3PN2xP7NoSLWNxH4gE+TvS1CcI9zY5c0Kx8KKYpne8YUldFzB9681itiz48/De4NchoPDlxd",
-       "Vcb6bXRvbzbLU7gat5NzczeMt/xeIrWBbc8aSy/F+eyiex+3AQrdKwvLGnFN/W1u5ZvN9Ul4pc6pBaPc",
-       "eszB5uZJYFJI2suWYLRawhShuSZAzrbywfmtFo3oRuy1pP01MfpKN4+rjHZx/806HfoQRnvUYQPgVaWa",
-       "OZR+cxTHx+c0Dhf70+dAWAefF/zaPExNvqTiopUgXrMWXa38dr+mFQ5CjdH/6wfEzoshLGW065x0LvaC",
-       "1KWGfSVImyikpBsgPhwB8YEgTmMwfwmCdANE9wiIboQ4OQLiJEKcHgFxGiHOj4A4DxDdI1h0I4vs8tch",
-       "skuCODsiqWcxqWdHZOQsZiTHGa+V/2WYtf5qFdoyvDOaTTo+pmh7vDPGr9JmILZ5JV266NIjg1vJpypO",
-       "jEYuPhYaUuEp5nppij95WSlMhCnZfvM3ii/uoBfJ2d4OmmVZQoy/rv4IAAD//37ZMOyFEAAA",
+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",
 }
 
 // GetSwagger returns the content of the embedded swagger specification file
index 0c97e15..e1448a8 100644 (file)
@@ -19,7 +19,7 @@ type GetAllServiceAPIsParams struct {
        // String identifying the API invoker assigned by the CAPIF core function. It also represents the CCF identifier in the CAPIF-6/6e interface.
        ApiInvokerId string `json:"api-invoker-id"`
 
-       // API name, it is set as {apiName} part of the URI structure as defined in subclause 4.4 of 3GPP TS 29.501.
+       // API name, it is set as {apiName} part of the URI structure as defined in clause 5.2.4 of 3GPP TS 29.122.
        ApiName *string `json:"api-name,omitempty"`
 
        // API major version the URI (e.g. v1).
@@ -35,10 +35,10 @@ type GetAllServiceAPIsParams struct {
        AefId *string `json:"aef-id,omitempty"`
 
        // Data formats used by the API (e.g. serialization protocol JSON used).
-       DataFormat *externalRef2.DataFormat `json:"data-format,omitempty"`
+       DataFormat *string `json:"data-format,omitempty"`
 
-       // The service API category to which the service API belongs to.
-       ApiCat *string `json:"api-cat,omitempty"`
+       // The preferred AEF location.
+       PreferredAefLoc *externalRef2.AefLocation `json:"preferred-aef-loc,omitempty"`
 
        // Features supported by the NF consumer for the CAPIF Discover Service API.
        SupportedFeatures *externalRef1.SupportedFeatures `json:"supported-features,omitempty"`
index d0f89e5..3777afc 100644 (file)
@@ -109,42 +109,42 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL
 // Base64 encoded, gzipped, json marshaled Swagger object
 var swaggerSpec = []string{
 
-       "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",
-       "+GH97wAAAP//6q1GObMmAAA=",
+       "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",
+       "//oDEyW/JgAA",
 }
 
 // GetSwagger returns the content of the embedded swagger specification file
index a984814..3354ff1 100644 (file)
@@ -50,7 +50,20 @@ type AccessControlPolicyListExt struct {
        ApiId *string `json:"apiId,omitempty"`
 }
 
-// Possible values are - SERVICE_API_AVAILABLE: Events related to the availability of service APIs after the service APIs are published. - SERVICE_API_UNAVAILABLE: Events related to the unavailability of service APIs after the service APIs are unpublished. - SERVICE_API_UPDATE: Events related to change in service API information. - API_INVOKER_ONBOARDED: Events related to API invoker onboarded to CAPIF. - API_INVOKER_OFFBOARDED: Events related to API invoker offboarded from CAPIF. - SERVICE_API_INVOCATION_SUCCESS: Events related to the successful invocation of service APIs. - SERVICE_API_INVOCATION_FAILURE: Events related to the failed invocation of service APIs. - ACCESS_CONTROL_POLICY_UPDATE: Events related to the update for the access control policy related to the service APIs. - ACCESS_CONTROL_POLICY_UNAVAILABLE: Events related to the unavailability of the access control policy related to the service APIs. - API_INVOKER_AUTHORIZATION_REVOKED: Events related to the revocation of the authorization of API invokers to access the service APIs. - API_INVOKER_UPDATED: Events related to API invoker profile updated to CAPIF. - API_TOPOLOGY_HIDING_CREATED: Events related to the creation or update of the API topology hiding information of the service APIs after the service APIs are published. - API_TOPOLOGY_HIDING_REVOKED: Events related to the revocation of the API topology hiding information of the service APIs after the service APIs are unpublished.
+// Possible values are:
+// - SERVICE_API_AVAILABLE: Events related to the availability of service APIs after the service APIs are published.
+// - SERVICE_API_UNAVAILABLE: Events related to the unavailability of service APIs after the service APIs are unpublished.
+// - SERVICE_API_UPDATE: Events related to change in service API information.
+// - API_INVOKER_ONBOARDED: Events related to API invoker onboarded to CAPIF.
+// - API_INVOKER_OFFBOARDED: Events related to API invoker offboarded from CAPIF.
+// - SERVICE_API_INVOCATION_SUCCESS: Events related to the successful invocation of service APIs.
+// - SERVICE_API_INVOCATION_FAILURE: Events related to the failed invocation of service APIs.
+// - ACCESS_CONTROL_POLICY_UPDATE: Events related to the update for the access control policy related to the service APIs.
+// - ACCESS_CONTROL_POLICY_UNAVAILABLE: Events related to the unavailability of the access control policy related to the service APIs.
+// - API_INVOKER_AUTHORIZATION_REVOKED: Events related to the revocation of the authorization of API invokers to access the service APIs.
+// - API_INVOKER_UPDATED: Events related to API invoker profile updated to CAPIF.
+// - API_TOPOLOGY_HIDING_CREATED: Events related to the creation or update of the API topology hiding information of the service APIs after the service APIs are published.
+// - API_TOPOLOGY_HIDING_REVOKED: Events related to the revocation of the API topology hiding information of the service APIs after the service APIs are unpublished.
 type CAPIFEvent string
 
 // Represents a CAPIF event details.
@@ -91,7 +104,20 @@ type EventNotification struct {
        // Represents a CAPIF event details.
        EventDetail *CAPIFEventDetail `json:"eventDetail,omitempty"`
 
-       // Possible values are - SERVICE_API_AVAILABLE: Events related to the availability of service APIs after the service APIs are published. - SERVICE_API_UNAVAILABLE: Events related to the unavailability of service APIs after the service APIs are unpublished. - SERVICE_API_UPDATE: Events related to change in service API information. - API_INVOKER_ONBOARDED: Events related to API invoker onboarded to CAPIF. - API_INVOKER_OFFBOARDED: Events related to API invoker offboarded from CAPIF. - SERVICE_API_INVOCATION_SUCCESS: Events related to the successful invocation of service APIs. - SERVICE_API_INVOCATION_FAILURE: Events related to the failed invocation of service APIs. - ACCESS_CONTROL_POLICY_UPDATE: Events related to the update for the access control policy related to the service APIs. - ACCESS_CONTROL_POLICY_UNAVAILABLE: Events related to the unavailability of the access control policy related to the service APIs. - API_INVOKER_AUTHORIZATION_REVOKED: Events related to the revocation of the authorization of API invokers to access the service APIs. - API_INVOKER_UPDATED: Events related to API invoker profile updated to CAPIF. - API_TOPOLOGY_HIDING_CREATED: Events related to the creation or update of the API topology hiding information of the service APIs after the service APIs are published. - API_TOPOLOGY_HIDING_REVOKED: Events related to the revocation of the API topology hiding information of the service APIs after the service APIs are unpublished.
+       // Possible values are:
+       // - SERVICE_API_AVAILABLE: Events related to the availability of service APIs after the service APIs are published.
+       // - SERVICE_API_UNAVAILABLE: Events related to the unavailability of service APIs after the service APIs are unpublished.
+       // - SERVICE_API_UPDATE: Events related to change in service API information.
+       // - API_INVOKER_ONBOARDED: Events related to API invoker onboarded to CAPIF.
+       // - API_INVOKER_OFFBOARDED: Events related to API invoker offboarded from CAPIF.
+       // - SERVICE_API_INVOCATION_SUCCESS: Events related to the successful invocation of service APIs.
+       // - SERVICE_API_INVOCATION_FAILURE: Events related to the failed invocation of service APIs.
+       // - ACCESS_CONTROL_POLICY_UPDATE: Events related to the update for the access control policy related to the service APIs.
+       // - ACCESS_CONTROL_POLICY_UNAVAILABLE: Events related to the unavailability of the access control policy related to the service APIs.
+       // - API_INVOKER_AUTHORIZATION_REVOKED: Events related to the revocation of the authorization of API invokers to access the service APIs.
+       // - API_INVOKER_UPDATED: Events related to API invoker profile updated to CAPIF.
+       // - API_TOPOLOGY_HIDING_CREATED: Events related to the creation or update of the API topology hiding information of the service APIs after the service APIs are published.
+       // - API_TOPOLOGY_HIDING_REVOKED: Events related to the revocation of the API topology hiding information of the service APIs after the service APIs are unpublished.
        Events CAPIFEvent `json:"events"`
 
        // Identifier of the subscription resource to which the notification is related â€“ CAPIF resource identifier
@@ -112,7 +138,7 @@ type EventSubscription struct {
        // string providing an URI formatted according to IETF RFC 3986.
        NotificationDestination externalRef2.Uri `json:"notificationDestination"`
 
-       // Set to true by Subscriber to request the CAPIF core function to send a test notification as defined in in subclause 7.6. Set to false or omitted otherwise.
+       // Set to true by Subscriber to request the CAPIF core function to send a test notification as defined in in clause 7.6. Set to false or omitted otherwise.
        RequestTestNotification *bool `json:"requestTestNotification,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.
index b44c55c..e722875 100644 (file)
@@ -63,51 +63,53 @@ func fixEnums(path string, info os.FileInfo, _ error) error {
                components := m["components"]
                if components != nil {
                        cMap := components.(map[interface{}]interface{})
-                       schemas := cMap["schemas"].(map[interface{}]interface{})
-                       for typeName, typeDef := range schemas {
-                               tDMap := typeDef.(map[interface{}]interface{})
-                               anyOf, ok := tDMap["anyOf"]
-                               if ok {
-                                       aOSlice := anyOf.([]interface{})
-                                       correctEnum := Enum{}
-                                       mapInterface := aOSlice[0].(map[interface{}]interface{})
-                                       enumInterface := mapInterface["enum"]
-                                       if enumInterface != nil {
-                                               is := enumInterface.([]interface{})
-                                               var enumVals []string
-                                               for i := 0; i < len(is); i++ {
-                                                       if reflect.TypeOf(is[i]).Kind() == reflect.String {
-                                                               enumVals = append(enumVals, is[i].(string))
+                       if _, ok := cMap["schemas"].(map[interface{}]interface{}); ok {
+                               schemas := cMap["schemas"].(map[interface{}]interface{})
+                               for typeName, typeDef := range schemas {
+                                       tDMap := typeDef.(map[interface{}]interface{})
+                                       anyOf, ok := tDMap["anyOf"]
+                                       if ok {
+                                               aOSlice := anyOf.([]interface{})
+                                               correctEnum := Enum{}
+                                               mapInterface := aOSlice[0].(map[interface{}]interface{})
+                                               enumInterface := mapInterface["enum"]
+                                               if enumInterface != nil {
+                                                       is := enumInterface.([]interface{})
+                                                       var enumVals []string
+                                                       for i := 0; i < len(is); i++ {
+                                                               if reflect.TypeOf(is[i]).Kind() == reflect.String {
+                                                                       enumVals = append(enumVals, is[i].(string))
 
-                                                       } else if reflect.TypeOf(is[1]).Kind() == reflect.Int {
-                                                               enumVals = append(enumVals, strconv.Itoa(is[i].(int)))
+                                                               } else if reflect.TypeOf(is[1]).Kind() == reflect.Int {
+                                                                       enumVals = append(enumVals, strconv.Itoa(is[i].(int)))
+                                                               }
                                                        }
-                                               }
-                                               correctEnum.Enum = enumVals
-                                               correctEnum.Type = "string"
-                                               description := tDMap["description"]
-                                               if description != nil {
-                                                       correctEnum.Description = description.(string)
-                                               } else {
-                                                       if aOSlice[1] != nil {
-                                                               mapInterface = aOSlice[1].(map[interface{}]interface{})
-                                                               description := mapInterface["description"]
-                                                               if description != nil {
-                                                                       correctEnum.Description = description.(string)
+                                                       correctEnum.Enum = enumVals
+                                                       correctEnum.Type = "string"
+                                                       description := tDMap["description"]
+                                                       if description != nil {
+                                                               correctEnum.Description = description.(string)
+                                                       } else {
+                                                               if aOSlice[1] != nil {
+                                                                       mapInterface = aOSlice[1].(map[interface{}]interface{})
+                                                                       description := mapInterface["description"]
+                                                                       if description != nil {
+                                                                               correctEnum.Description = description.(string)
+                                                                       }
                                                                }
                                                        }
+                                                       schemas[typeName] = correctEnum
                                                }
-                                               schemas[typeName] = correctEnum
                                        }
                                }
-                       }
-                       modM, err := yaml.Marshal(m)
-                       if err != nil {
-                               log.Printf("yamlFile. Get err   #%v ", err)
-                       }
-                       err = ioutil.WriteFile(path, modM, 0644)
-                       if err != nil {
-                               log.Printf("yamlFile. Get err   #%v ", err)
+                               modM, err := yaml.Marshal(m)
+                               if err != nil {
+                                       log.Printf("yamlFile. Get err   #%v ", err)
+                               }
+                               err = ioutil.WriteFile(path, modM, 0644)
+                               if err != nil {
+                                       log.Printf("yamlFile. Get err   #%v ", err)
+                               }
                        }
                }
        }
index 2efbf4b..4257b65 100644 (file)
@@ -44,6 +44,15 @@ func main() {
        delete(wildcardSdData, "enum")
 
        writeFile("TS29571_CommonData.yaml", m)
+
+       m = getData("TS29222_CAPIF_Security_API.yaml")
+       components = m["components"]
+       cMap = components.(map[interface{}]interface{})
+       schemas = cMap["schemas"].(map[interface{}]interface{})
+       accessTokenReq := schemas["AccessTokenReq"].(map[interface{}]interface{})
+       accessTokenReq["type"] = "object"
+
+       writeFile("TS29222_CAPIF_Security_API.yaml", m)
 }
 
 func getData(filename string) map[string]interface{} {
index 9ee06d2..9624e97 100644 (file)
@@ -137,40 +137,40 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL
 // Base64 encoded, gzipped, json marshaled Swagger object
 var swaggerSpec = []string{
 
-       "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",
+       "H4sIAAAAAAAC/+xa75LbthF/FQzSmSRTmpR4vjqnb8pdnHKa5DSW3H7IeW4gcikiRwIsAJ6i3uiB+hp9",
+       "sg7+UCJFSlZP7tXjyuOxJQpYLPbPb39Y4gnHvCg5A6YkHj1hGWdQEPNxPIki9sgfQPzABM8LYOoGFKG5",
+       "+TUBGQtaKsoZHuGIpVwURH9DZM4rhVQGaDyJkBOBVEYUEvD3CqSCBCmOOJtzIhLs4VLwEoSiYCSTkrpJ",
+       "UdJdScukTmZ0g4iUdMEgQfOVWfJ6PIneopgLQGnFYqOQ4htt6pnLjOaAOHtlVKBssTvCR9OM5DliXKE5",
+       "oFKABKYQZWbgn2ezCZrcTmf1jlAqeNFZxS3co5NnDWCXR1RJyNN6yfZy+glXGQi7qFtPIsISJECWnEmQ",
+       "/h3DHhZAkluWr/BIiQo8rFYl4BGWSlC2wGuvadmtv7om/hEYCBoj2nCqgJw4v+3uUlZxhohEiQ0OxFMz",
+       "JIFHGgPiwnwjZZnT2MiyyvYp9xOVSqvzBwEpHuGvgm1sBi4wg/EkMsPWHmZc0dQJvQGpKNtsyEmYTcOr",
+       "YRjeX/Oi4OyGKOKvSJH3Cn4vqBbqopKyxY6NDil12ztprV1i3DUDqX5paNu1+RSUsa2oQIfytJrrX+c2",
+       "iOogOxDgEliCCFJ6WNMu1jEp1SlCmf4b56SSgN74f/KRWzUluTSe4gVV2ssm4JZUQstXc85zIGZfsipL",
+       "LhQkb4GoStjEbRj98s3wKKNPO3LWHl7CXPL4wRjsmrOULp7p0r91Ba2dU6iABI9+3ePu/bH1YWMNPv8N",
+       "YhOH+4FyQlScdZ39DlyC6zRuouTXEkEtYpNPimtIqMpEJ6B/CC7PSf0CSb3uj4B6m22rzzJAOZVK20+C",
+       "MMYbTyJpy+FujaRSwz1fWpdYV2APUwXFboKF2gAaCu4n1TynMrufWvH340l0IN/soPEkumnoufZwQVlk",
+       "lxlu9keEICv94+0+8+0N62ZlbUacC6NmoT0Q0Nf6oQkG6DdtO3UWLsTjnOr8ibezPVQK/kiTgzxhfwi7",
+       "JYyl47/A6hhlSjMYPcCqT+g2IKcQC1DHSNzOQdJMev6udkCwb4t9QLeNg8PFrIlv7WrE01ZocOFwTVOZ",
+       "KleHgqGPhH4EU/bNfBYwCZC8EjH8xONPgEh2v3t5wB3WTOAOI8oSE8EakGOQMq3ypgV9dFuXaiTrqaac",
+       "3+Gewr3jd6dE19V6IPyuQDCS3/C4h/Bf/DiZoNkUhVd+GIbor8M3/qU/QNYCJnDfClLAkosHlHKBzPhf",
+       "uFDZnFcsMSCIPVyJHI9wplQpR0GwXC79i0VZ+lwsglSVwbSEWAZExBl9hCC8upcgKMjArhpoQ2p06T8l",
+       "6GWbJa0gjCxAx4GP0B371z9ROAhDz6p2KxaE0X8Yz5IcTYhQDIRE34zfRd97aDyLph66vp6OPfTDbBp5",
+       "aDa9Mf/Nxvqf62+NzHGeI0EXmZI6oEE8QuLyj6pcG9hC9ngS3bvYvP95o5V+jD38CELaTQz90B8YtCiB",
+       "kZJqs/sDf6CThKjMeCVwqACJE2ieltyGdkzyfE7iB/PwQGV9cgzTn/Nk9VWwZ+S6Kbptb4MHq05B2x4F",
+       "G+ClkyIHx7Pcwt/zxKBqzJkCpmzmb8hF8Ju0etokOr5wt2Bq3Q5/nWA2Ee0ZSksNB6/79oaurVrom1YW",
+       "bnbUtNe32mEXgzf/ITxs1Aj0XCPiuxNEfKdFvB4Mni1CzzUihieIGFoRFyeIuLAiXp8g4rURMTxhI0O7",
+       "keEJGxnajQwvTxBxaUSEV88XEV5pEZcnxMWljYvLE5x6aZ2aQEpcCXyWmHr+2vzxdpL2WgBRYPgHLE0V",
+       "faRJRfIWPJWCpzQHzTo05zD5GyV4hCdcqtsOsP530OoQTzkGsYYvpsn+RlzNSCBp8JR8pQ2bAUlcVWoy",
+       "px1vcaYIZdKUivfvovqcwGCZr1BsfGnaXYaBeYjEMXdtO3t0lUpUsaoEoCdS0necq3VASvrKKfhqW/uD",
+       "x2G3ZgZPjRNisr6rK9PW7l7DhrtkWtsmHIT9HL5ByTMiteZQmjN3BmhbqDYtHsISfQwsBddWNMcn5Z/B",
+       "/Azm/z9g7uGPJqhNtRz6+gI35rnprPXDfhfu7ZQO4DfaHuYtBdEnGmXA7NfOuc2AAaIJMM2E9ee2Ag2I",
+       "bCJnjWlYn2TwyBB77GFGCnMea2twPCR9OIbYanjaUxkLouLMnNAbGqAlkYinqduHf2a6nyU4njGlgynm",
+       "wNzXif+ZJ/rc2sWKOj9d/7uLGXZmxJJx3aHakKYuVnzy1D6GhhYgFvDKbPyPn4oI2hcaR/HSwf+Il87M",
+       "a4qUMtrsODea75pfFdp7dIeuGvJFkKi7l62WtXv/sitIgKqEe7mmh9U8bs6TlX9nWusfaSr46PkanyH4",
+       "zE/P/PRFa4mHFVloVMdRP3XqvMDFH3T9qT6zhmyzyLl3MF9IY7ZnZ+cG7Rkzz5j5WTVo35vMlM+h3pNK",
+       "fXFn9ZfvK7dt0k96e9zRvo6kaW/PpQP8+R4P+ra04fa71PpZXd2e+lMvdLDLe+C00BD5tWxdqOlT3UNL",
+       "qjLEOHL2dT5r3mCtvdE8qJyL4rkonoviCxZFD5s7Iq5I2bswR7y/wh5+JIKSeb65I6VnWNhw6m3u1MDv",
+       "RLN6P+YF3sVCN3HnjvDmgvClLgPtiz5a7w/rfwcAAP//IwRBszUwAAA=",
 }
 
 // GetSwagger returns the content of the embedded swagger specification file
index 4cb60e0..bf13799 100644 (file)
@@ -26,7 +26,7 @@ type APIInvokerEnrolmentDetails struct {
        // Represents on-boarding information of the API invoker.
        OnboardingInformation OnboardingInformation `json:"onboardingInformation"`
 
-       // Set to true by Subscriber to request the CAPIF core function to send a test notification as defined in in subclause 7.6. Set to false or omitted otherwise.
+       // Set to true by Subscriber to request the CAPIF core function to send a test notification as defined in in clause 7.6. Set to false or omitted otherwise.
        RequestTestNotification *bool `json:"requestTestNotification,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.
@@ -36,7 +36,7 @@ type APIInvokerEnrolmentDetails struct {
        WebsockNotifConfig *externalRef0.WebsockNotifConfig `json:"websockNotifConfig,omitempty"`
 }
 
-// Represents an API Invoker’s enrolment details to be updated.
+// Represents an API Invoker's enrolment details to be updated.
 type APIInvokerEnrolmentDetailsPatch struct {
        // Generic information related to the API invoker such as details of the device or the application.
        ApiInvokerInformation *string `json:"apiInvokerInformation,omitempty"`
@@ -56,13 +56,13 @@ type APIList []externalRef2.ServiceAPIDescription
 
 // Represents on-boarding information of the API invoker.
 type OnboardingInformation struct {
-       // The API Invoker’s generic client certificate, provided by the CAPIF core function.
+       // The API Invoker's generic client certificate, provided by the CAPIF core function.
        ApiInvokerCertificate *string `json:"apiInvokerCertificate,omitempty"`
 
-       // The API Invoker’s public key
+       // The API Invoker's public key
        ApiInvokerPublicKey string `json:"apiInvokerPublicKey"`
 
-       // The API Invoker’s onboarding secret, provided by the CAPIF core function.
+       // The API Invoker's onboarding secret, provided by the CAPIF core function.
        OnboardingSecret *string `json:"onboardingSecret,omitempty"`
 }
 
index 13948bb..555a4d9 100644 (file)
@@ -81,33 +81,33 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL
 // Base64 encoded, gzipped, json marshaled Swagger object
 var swaggerSpec = []string{
 
-       "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",
-       "BJDPm/8EAAD//6taPk1VFAAA",
+       "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",
+       "bwAAAP//cfEXzl0UAAA=",
 }
 
 // GetSwagger returns the content of the embedded swagger specification file
index 61a281f..f8fd19a 100644 (file)
@@ -32,7 +32,7 @@ type Log struct {
        // String identifying the API invoked.
        ApiId string `json:"apiId"`
 
-       // Name of the API which was invoked, it is set as {apiName} part of the URI structure as defined in subclause 4.4 of 3GPP TS 29.501.
+       // Name of the API which was invoked, it is set as {apiName} part of the URI structure as defined in clause 5.2.4 of 3GPP TS 29.122.
        ApiName string `json:"apiName"`
 
        // Version of the API which was invoked
@@ -53,13 +53,20 @@ type Log struct {
        // string with format "date-time" as defined in OpenAPI.
        InvocationTime *externalRef0.DateTime `json:"invocationTime,omitempty"`
 
-       // Possible values are - GET: HTTP GET method - POST: HTTP POST method - PUT: HTTP PUT method - PATCH: HTTP PATCH method - DELETE: HTTP DELETE method
+       // Possible values are:
+       // - GET: HTTP GET method
+       // - POST: HTTP POST method
+       // - PUT: HTTP PUT method
+       // - PATCH: HTTP PATCH method
+       // - DELETE: HTTP DELETE method
        Operation *externalRef2.Operation `json:"operation,omitempty"`
 
        // List of output parameters. Can be any value - string, number, boolean, array or object.
        OutputParameters *interface{} `json:"outputParameters,omitempty"`
 
-       // Possible values are - HTTP_1_1: HTTP version 1.1 - HTTP_2: HTTP version 2
+       // Possible values are:
+       // - HTTP_1_1: HTTP version 1.1
+       // - HTTP_2: HTTP version 2
        Protocol externalRef2.Protocol `json:"protocol"`
 
        // Name of the specific resource invoked
index b38d99c..ed05280 100644 (file)
@@ -136,39 +136,39 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL
 // Base64 encoded, gzipped, json marshaled Swagger object
 var swaggerSpec = []string{
 
-       "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",
-       "xkoD5HV4iVxbv3VB2989/z8AAP//iW60XwAqAAA=",
+       "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",
 }
 
 // GetSwagger returns the content of the embedded swagger specification file
index 7c2520e..a77bf00 100644 (file)
@@ -54,14 +54,20 @@ type APIProviderFunctionDetails struct {
        // Generic information related to the API provider domain function such as details of the API provider applications.
        ApiProvFuncInfo *string `json:"apiProvFuncInfo,omitempty"`
 
-       // Possible values are - AEF: API provider function is API Exposing Function. - APF: API provider function is API Publishing Function. - AMF: API Provider function is API Management Function.
+       // Possible values are:
+       // - AEF: API provider function is API Exposing Function.
+       // - APF: API provider function is API Publishing Function.
+       // - AMF: API Provider function is API Management Function.
        ApiProvFuncRole ApiProviderFuncRole `json:"apiProvFuncRole"`
 
        // Represents registration information of an individual API provider domain function.
        RegInfo RegistrationInformation `json:"regInfo"`
 }
 
-// Possible values are - AEF: API provider function is API Exposing Function. - APF: API provider function is API Publishing Function. - AMF: API Provider function is API Management Function.
+// Possible values are:
+// - AEF: API provider function is API Exposing Function.
+// - APF: API provider function is API Publishing Function.
+// - AMF: API Provider function is API Management Function.
 type ApiProviderFuncRole string
 
 // Represents registration information of an individual API provider domain function.
index 51a0711..eda6af2 100644 (file)
@@ -131,11 +131,11 @@ out:
        return registered
 }
 
-func (ps *PublishService) GetApfIdServiceApis(ctx echo.Context, apfId publishserviceapi.ApfId) error {
+func (ps *PublishService) GetApfIdServiceApis(ctx echo.Context, apfId string) error {
        return ctx.NoContent(http.StatusNotImplemented)
 }
 
-func (ps *PublishService) PostApfIdServiceApis(ctx echo.Context, apfId publishserviceapi.ApfId) error {
+func (ps *PublishService) PostApfIdServiceApis(ctx echo.Context, apfId string) error {
        var newServiceAPIDescription publishserviceapi.ServiceAPIDescription
        err := ctx.Bind(&newServiceAPIDescription)
        if err != nil {
@@ -174,7 +174,7 @@ func (ps *PublishService) PostApfIdServiceApis(ctx echo.Context, apfId publishse
        return nil
 }
 
-func (ps *PublishService) DeleteApfIdServiceApisServiceApiId(ctx echo.Context, apfId publishserviceapi.ApfId, serviceApiId publishserviceapi.ServiceApiId) error {
+func (ps *PublishService) DeleteApfIdServiceApisServiceApiId(ctx echo.Context, apfId string, serviceApiId string) error {
        serviceDescription, ok := ps.publishedServices[string(serviceApiId)]
        if ok {
                info := strings.Split(*serviceDescription.Description, ",")
@@ -187,7 +187,7 @@ func (ps *PublishService) DeleteApfIdServiceApisServiceApiId(ctx echo.Context, a
        return ctx.NoContent(http.StatusNoContent)
 }
 
-func (ps *PublishService) GetApfIdServiceApisServiceApiId(ctx echo.Context, apfId publishserviceapi.ApfId, serviceApiId publishserviceapi.ServiceApiId) error {
+func (ps *PublishService) GetApfIdServiceApisServiceApiId(ctx echo.Context, apfId string, serviceApiId string) error {
        serviceDescription, ok := ps.publishedServices[string(serviceApiId)]
        if ok {
                err := ctx.JSON(http.StatusOK, serviceDescription)
@@ -201,11 +201,11 @@ func (ps *PublishService) GetApfIdServiceApisServiceApiId(ctx echo.Context, apfI
        return ctx.NoContent(http.StatusNotFound)
 }
 
-func (ps *PublishService) ModifyIndAPFPubAPI(ctx echo.Context, apfId publishserviceapi.ApfId, serviceApiId publishserviceapi.ServiceApiId) error {
+func (ps *PublishService) ModifyIndAPFPubAPI(ctx echo.Context, apfId string, serviceApiId string) error {
        return ctx.NoContent(http.StatusNotImplemented)
 }
 
-func (ps *PublishService) PutApfIdServiceApisServiceApiId(ctx echo.Context, apfId publishserviceapi.ApfId, serviceApiId publishserviceapi.ServiceApiId) error {
+func (ps *PublishService) PutApfIdServiceApisServiceApiId(ctx echo.Context, apfId string, serviceApiId string) error {
        return ctx.NoContent(http.StatusNotImplemented)
 }
 
index c5fea80..3d2f7b6 100644 (file)
@@ -25,22 +25,22 @@ import (
 type ServerInterface interface {
 
        // (GET /{apfId}/service-apis)
-       GetApfIdServiceApis(ctx echo.Context, apfId ApfId) error
+       GetApfIdServiceApis(ctx echo.Context, apfId string) error
 
        // (POST /{apfId}/service-apis)
-       PostApfIdServiceApis(ctx echo.Context, apfId ApfId) error
+       PostApfIdServiceApis(ctx echo.Context, apfId string) error
 
        // (DELETE /{apfId}/service-apis/{serviceApiId})
-       DeleteApfIdServiceApisServiceApiId(ctx echo.Context, apfId ApfId, serviceApiId ServiceApiId) error
+       DeleteApfIdServiceApisServiceApiId(ctx echo.Context, apfId string, serviceApiId string) error
 
        // (GET /{apfId}/service-apis/{serviceApiId})
-       GetApfIdServiceApisServiceApiId(ctx echo.Context, apfId ApfId, serviceApiId ServiceApiId) error
+       GetApfIdServiceApisServiceApiId(ctx echo.Context, apfId string, serviceApiId string) error
 
        // (PATCH /{apfId}/service-apis/{serviceApiId})
-       ModifyIndAPFPubAPI(ctx echo.Context, apfId ApfId, serviceApiId ServiceApiId) error
+       ModifyIndAPFPubAPI(ctx echo.Context, apfId string, serviceApiId string) error
 
        // (PUT /{apfId}/service-apis/{serviceApiId})
-       PutApfIdServiceApisServiceApiId(ctx echo.Context, apfId ApfId, serviceApiId ServiceApiId) error
+       PutApfIdServiceApisServiceApiId(ctx echo.Context, apfId string, serviceApiId string) error
 }
 
 // ServerInterfaceWrapper converts echo contexts to parameters.
@@ -52,7 +52,7 @@ type ServerInterfaceWrapper struct {
 func (w *ServerInterfaceWrapper) GetApfIdServiceApis(ctx echo.Context) error {
        var err error
        // ------------- Path parameter "apfId" -------------
-       var apfId ApfId
+       var apfId string
 
        err = runtime.BindStyledParameterWithLocation("simple", false, "apfId", runtime.ParamLocationPath, ctx.Param("apfId"), &apfId)
        if err != nil {
@@ -68,7 +68,7 @@ func (w *ServerInterfaceWrapper) GetApfIdServiceApis(ctx echo.Context) error {
 func (w *ServerInterfaceWrapper) PostApfIdServiceApis(ctx echo.Context) error {
        var err error
        // ------------- Path parameter "apfId" -------------
-       var apfId ApfId
+       var apfId string
 
        err = runtime.BindStyledParameterWithLocation("simple", false, "apfId", runtime.ParamLocationPath, ctx.Param("apfId"), &apfId)
        if err != nil {
@@ -84,7 +84,7 @@ func (w *ServerInterfaceWrapper) PostApfIdServiceApis(ctx echo.Context) error {
 func (w *ServerInterfaceWrapper) DeleteApfIdServiceApisServiceApiId(ctx echo.Context) error {
        var err error
        // ------------- Path parameter "apfId" -------------
-       var apfId ApfId
+       var apfId string
 
        err = runtime.BindStyledParameterWithLocation("simple", false, "apfId", runtime.ParamLocationPath, ctx.Param("apfId"), &apfId)
        if err != nil {
@@ -92,7 +92,7 @@ func (w *ServerInterfaceWrapper) DeleteApfIdServiceApisServiceApiId(ctx echo.Con
        }
 
        // ------------- Path parameter "serviceApiId" -------------
-       var serviceApiId ServiceApiId
+       var serviceApiId string
 
        err = runtime.BindStyledParameterWithLocation("simple", false, "serviceApiId", runtime.ParamLocationPath, ctx.Param("serviceApiId"), &serviceApiId)
        if err != nil {
@@ -108,7 +108,7 @@ func (w *ServerInterfaceWrapper) DeleteApfIdServiceApisServiceApiId(ctx echo.Con
 func (w *ServerInterfaceWrapper) GetApfIdServiceApisServiceApiId(ctx echo.Context) error {
        var err error
        // ------------- Path parameter "apfId" -------------
-       var apfId ApfId
+       var apfId string
 
        err = runtime.BindStyledParameterWithLocation("simple", false, "apfId", runtime.ParamLocationPath, ctx.Param("apfId"), &apfId)
        if err != nil {
@@ -116,7 +116,7 @@ func (w *ServerInterfaceWrapper) GetApfIdServiceApisServiceApiId(ctx echo.Contex
        }
 
        // ------------- Path parameter "serviceApiId" -------------
-       var serviceApiId ServiceApiId
+       var serviceApiId string
 
        err = runtime.BindStyledParameterWithLocation("simple", false, "serviceApiId", runtime.ParamLocationPath, ctx.Param("serviceApiId"), &serviceApiId)
        if err != nil {
@@ -132,7 +132,7 @@ func (w *ServerInterfaceWrapper) GetApfIdServiceApisServiceApiId(ctx echo.Contex
 func (w *ServerInterfaceWrapper) ModifyIndAPFPubAPI(ctx echo.Context) error {
        var err error
        // ------------- Path parameter "apfId" -------------
-       var apfId ApfId
+       var apfId string
 
        err = runtime.BindStyledParameterWithLocation("simple", false, "apfId", runtime.ParamLocationPath, ctx.Param("apfId"), &apfId)
        if err != nil {
@@ -140,7 +140,7 @@ func (w *ServerInterfaceWrapper) ModifyIndAPFPubAPI(ctx echo.Context) error {
        }
 
        // ------------- Path parameter "serviceApiId" -------------
-       var serviceApiId ServiceApiId
+       var serviceApiId string
 
        err = runtime.BindStyledParameterWithLocation("simple", false, "serviceApiId", runtime.ParamLocationPath, ctx.Param("serviceApiId"), &serviceApiId)
        if err != nil {
@@ -156,7 +156,7 @@ func (w *ServerInterfaceWrapper) ModifyIndAPFPubAPI(ctx echo.Context) error {
 func (w *ServerInterfaceWrapper) PutApfIdServiceApisServiceApiId(ctx echo.Context) error {
        var err error
        // ------------- Path parameter "apfId" -------------
-       var apfId ApfId
+       var apfId string
 
        err = runtime.BindStyledParameterWithLocation("simple", false, "apfId", runtime.ParamLocationPath, ctx.Param("apfId"), &apfId)
        if err != nil {
@@ -164,7 +164,7 @@ func (w *ServerInterfaceWrapper) PutApfIdServiceApisServiceApiId(ctx echo.Contex
        }
 
        // ------------- Path parameter "serviceApiId" -------------
-       var serviceApiId ServiceApiId
+       var serviceApiId string
 
        err = runtime.BindStyledParameterWithLocation("simple", false, "serviceApiId", runtime.ParamLocationPath, ctx.Param("serviceApiId"), &serviceApiId)
        if err != nil {
@@ -216,56 +216,55 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL
 // Base64 encoded, gzipped, json marshaled Swagger object
 var swaggerSpec = []string{
 
-       "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",
-       "3nih3el0PMXzx8V/AgAA///zJgSKrkQAAA==",
+       "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",
 }
 
 // GetSwagger returns the content of the embedded swagger specification file
index 88e0199..cbc924c 100644 (file)
@@ -70,7 +70,8 @@ type AefProfile struct {
        // The location information (e.g. civic address, GPS coordinates, data center ID) where the AEF providing the service API is located.
        AefLocation *AefLocation `json:"aefLocation,omitempty"`
 
-       // Possible values are - JSON: JavaScript Object Notation
+       // Possible values are:
+       // - JSON: JavaScript Object Notation
        DataFormat *DataFormat `json:"dataFormat,omitempty"`
 
        // Domain to which API belongs to
@@ -79,7 +80,9 @@ type AefProfile struct {
        // Interface details
        InterfaceDescriptions *[]InterfaceDescription `json:"interfaceDescriptions,omitempty"`
 
-       // Possible values are - HTTP_1_1: HTTP version 1.1 - HTTP_2: HTTP version 2
+       // Possible values are:
+       // - HTTP_1_1: HTTP version 1.1
+       // - HTTP_2: HTTP version 2
        Protocol *Protocol `json:"protocol,omitempty"`
 
        // Security methods supported by the AEF
@@ -89,15 +92,19 @@ type AefProfile struct {
        Versions []Version `json:"versions"`
 }
 
-// Possible values are - REQUEST_RESPONSE: The communication is of the type request-response - SUBSCRIBE_NOTIFY: The communication is of the type subscribe-notify
+// Possible values are:
+// - REQUEST_RESPONSE: The communication is of the type request-response
+// - SUBSCRIBE_NOTIFY: The communication is of the type subscribe-notify
 type CommunicationType string
 
 // Represents the description of a custom operation.
 type CustomOperation struct {
-       // Possible values are - REQUEST_RESPONSE: The communication is of the type request-response - SUBSCRIBE_NOTIFY: The communication is of the type subscribe-notify
+       // Possible values are:
+       // - REQUEST_RESPONSE: The communication is of the type request-response
+       // - SUBSCRIBE_NOTIFY: The communication is of the type subscribe-notify
        CommType CommunicationType `json:"commType"`
 
-       // it is set as {custOpName} part of the URI structure for a custom operation without resource association as defined in subclause 4.4 of 3GPP TS 29.501.
+       // it is set as {custOpName} part of the URI structure for a custom operation without resource association as defined in clause 5.2.4 of 3GPP TS 29.122.
        CustOpName string `json:"custOpName"`
 
        // Text description of the custom operation
@@ -107,7 +114,8 @@ type CustomOperation struct {
        Operations *[]Operation `json:"operations,omitempty"`
 }
 
-// Possible values are - JSON: JavaScript Object Notation
+// Possible values are:
+// - JSON: JavaScript Object Notation
 type DataFormat string
 
 // Represents the description of an API's interface.
@@ -125,10 +133,17 @@ type InterfaceDescription struct {
        SecurityMethods *[]SecurityMethod `json:"securityMethods,omitempty"`
 }
 
-// Possible values are - GET: HTTP GET method - POST: HTTP POST method - PUT: HTTP PUT method - PATCH: HTTP PATCH method - DELETE: HTTP DELETE method
+// Possible values are:
+// - GET: HTTP GET method
+// - POST: HTTP POST method
+// - PUT: HTTP PUT method
+// - PATCH: HTTP PATCH method
+// - DELETE: HTTP DELETE method
 type Operation string
 
-// Possible values are - HTTP_1_1: HTTP version 1.1 - HTTP_2: HTTP version 2
+// Possible values are:
+// - HTTP_1_1: HTTP version 1.1
+// - HTTP_2: HTTP version 2
 type Protocol string
 
 // Represents the published API path within the same CAPIF provider domain.
@@ -139,10 +154,12 @@ type PublishedApiPath struct {
 
 // Represents the API resource data.
 type Resource struct {
-       // Possible values are - REQUEST_RESPONSE: The communication is of the type request-response - SUBSCRIBE_NOTIFY: The communication is of the type subscribe-notify
+       // Possible values are:
+       // - REQUEST_RESPONSE: The communication is of the type request-response
+       // - SUBSCRIBE_NOTIFY: The communication is of the type subscribe-notify
        CommType CommunicationType `json:"commType"`
 
-       // it is set as {custOpName} part of the URI structure for a custom operation associated with a resource as defined in subclause 4.4 of 3GPP TS 29.501.
+       // it is set as {custOpName} part of the URI structure for a custom operation associated with a resource as defined in clause 5.2.4 of 3GPP TS 29.122.
        CustOpName *string `json:"custOpName,omitempty"`
 
        // Text description of the API resource
@@ -154,11 +171,14 @@ type Resource struct {
        // Resource name
        ResourceName string `json:"resourceName"`
 
-       // Relative URI of the API resource, it is set as {apiSpecificResourceUriPart} part of the URI structure as defined in subclause 4.4 of 3GPP TS 29.501.
+       // Relative URI of the API resource, it is set as {apiSpecificSuffixes} part of the URI structure as defined in clause 5.2.4 of 3GPP TS 29.122.
        Uri string `json:"uri"`
 }
 
-// Possible values are - PSK: Security method 1 (Using TLS-PSK) as described in 3GPP TS 33.122 - PKI: Security method 2 (Using PKI) as described in 3GPP TS 33.122 - OAUTH: Security method 3 (TLS with OAuth token) as described in 3GPP TS 33.122
+// Possible values are:
+// - PSK: Security method 1 (Using TLS-PSK) as described in 3GPP TS 33.122
+// - PKI: Security method 2 (Using PKI) as described in 3GPP TS 33.122
+// - OAUTH: Security method 3 (TLS with OAuth token) as described in 3GPP TS 33.122
 type SecurityMethod string
 
 // Represents the description of a service API as published by the APF.
@@ -169,7 +189,7 @@ type ServiceAPIDescription struct {
        // API identifier assigned by the CAPIF core function to the published service API. Shall not be present in the HTTP POST request from the API publishing function to the CAPIF core function. Shall be present in the HTTP POST response from the CAPIF core function to the API publishing function and in the HTTP GET response from the CAPIF core function to the API invoker (discovery API).
        ApiId *string `json:"apiId,omitempty"`
 
-       // API name, it is set as {apiName} part of the URI structure as defined in subclause 4.4 of 3GPP TS 29.501.
+       // API name, it is set as {apiName} part of the URI structure as defined in clause 5.2.4 of 3GPP TS 29.122.
        ApiName string `json:"apiName"`
 
        // 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.
@@ -237,12 +257,6 @@ type Version struct {
        Resources *[]Resource `json:"resources,omitempty"`
 }
 
-// Identification of the API publishing function.
-type ApfId string
-
-// String identifying an individual published service API.
-type ServiceApiId string
-
 // PostApfIdServiceApisJSONBody defines parameters for PostApfIdServiceApis.
 type PostApfIdServiceApisJSONBody ServiceAPIDescription
 
index 8decc0b..1fbb780 100644 (file)
@@ -100,23 +100,23 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL
 // Base64 encoded, gzipped, json marshaled Swagger object
 var swaggerSpec = []string{
 
-       "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",
+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",
 }
 
 // GetSwagger returns the content of the embedded swagger specification file
index 3e67951..1fbde0b 100644 (file)
@@ -200,44 +200,46 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL
 // Base64 encoded, gzipped, json marshaled Swagger object
 var swaggerSpec = []string{
 
-       "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",
+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",
+       "AAAA///vfrHakDgAAA==",
 }
 
 // GetSwagger returns the content of the embedded swagger specification file
index 225168a..bf8723a 100644 (file)
@@ -75,7 +75,9 @@ type AccessTokenRsp struct {
 // AccessTokenRspTokenType defines model for AccessTokenRsp.TokenType.
 type AccessTokenRspTokenType string
 
-// Possible values are - OVERLIMIT_USAGE: The revocation of the authorization of the API invoker is due to the overlimit usage of the service API - UNEXPECTED_REASON: The revocation of the authorization of the API invoker is due to unexpected reason.
+// Possible values are:
+// - OVERLIMIT_USAGE: The revocation of the authorization of the API invoker is due to the overlimit usage of the service API
+// - UNEXPECTED_REASON: The revocation of the authorization of the API invoker is due to unexpected reason.
 type Cause string
 
 // Represents the interface details and the security method.
@@ -92,7 +94,9 @@ type SecurityNotification struct {
        // String identifying the API invoker assigned by the CAPIF core function.
        ApiInvokerId string `json:"apiInvokerId"`
 
-       // Possible values are - OVERLIMIT_USAGE: The revocation of the authorization of the API invoker is due to the overlimit usage of the service API - UNEXPECTED_REASON: The revocation of the authorization of the API invoker is due to unexpected reason.
+       // Possible values are:
+       // - OVERLIMIT_USAGE: The revocation of the authorization of the API invoker is due to the overlimit usage of the service API
+       // - UNEXPECTED_REASON: The revocation of the authorization of the API invoker is due to unexpected reason.
        Cause Cause `json:"cause"`
 }
 
@@ -101,7 +105,7 @@ type ServiceSecurity struct {
        // string providing an URI formatted according to IETF RFC 3986.
        NotificationDestination externalRef0.Uri `json:"notificationDestination"`
 
-       // Set to true by API invoker to request the CAPIF core function to send a test notification as defined in in subclause 7.6. Set to false or omitted otherwise.
+       // Set to true by API invoker to request the CAPIF core function to send a test notification as defined in in clause 7.6. Set to false or omitted otherwise.
        RequestTestNotification *bool                 `json:"requestTestNotification,omitempty"`
        SecurityInfo            []SecurityInformation `json:"securityInfo"`
 
index 25f9bbe..ab0abde 100644 (file)
@@ -51,7 +51,6 @@ func NewSecurity(serviceRegister providermanagement.ServiceRegister, apiRegister
 func (s *Security) PostSecuritiesSecurityIdToken(ctx echo.Context, securityId string) error {
        clientId := ctx.FormValue("client_id")
        clientSecret := ctx.FormValue("client_secret")
-       // grantType := ctx.FormValue("grant_type")
        scope := ctx.FormValue("scope")
 
        if !s.invokerRegister.IsInvokerRegistered(clientId) {