From 70b60a5779658370dd88dd7a44f0095eea990331 Mon Sep 17 00:00:00 2001 From: Pelayo Torres Date: Fri, 19 Jul 2024 09:46:58 +0200 Subject: [PATCH] REL18 publish service --- .../.openapi-generator/FILES | 39 +- .../.openapi-generator/VERSION | 2 +- .../README.md | 2 +- .../git_push.sh | 6 +- .../controllers/default_controller.py | 23 +- ...individual_apf_published_api_controller.py | 28 + ..._controller_.py => security_controller.py} | 0 .../published_apis/encoder.py | 5 +- .../published_apis/models/__init__.py | 34 +- .../published_apis/models/aef_location.py | 119 ++ .../published_apis/models/aef_profile.py | 123 +- .../published_apis/models/api_status.py | 65 + .../models/{base_model_.py => base_model.py} | 9 +- .../published_apis/models/civic_address.py | 919 ++++++++ .../models/communication_type.py | 7 +- .../models/communication_type_any_of.py | 42 - .../published_apis/models/custom_operation.py | 29 +- .../published_apis/models/data_format.py | 7 +- .../published_apis/models/ellipsoid_arc.py | 265 +++ .../published_apis/models/gad_shape.py | 65 + .../published_apis/models/geographic_area.py | 471 +++++ .../models/geographical_coordinates.py | 99 + .../models/interface_description.py | 99 +- .../published_apis/models/invalid_param.py | 13 +- .../published_apis/models/ip_addr_range.py | 99 + .../models/ipv4_address_range.py | 101 + .../{data_format_any_of.py => ipv6_addr1.py} | 19 +- .../models/ipv6_address_range.py | 93 + .../local2d_point_uncertainty_ellipse.py | 191 ++ .../local3d_point_uncertainty_ellipsoid.py | 191 ++ .../published_apis/models/local_origin.py | 89 + .../published_apis/models/operation.py | 7 +- .../published_apis/models/operation_any_of.py | 45 - .../published_apis/models/point.py | 97 + .../published_apis/models/point_altitude.py | 131 ++ .../models/point_altitude_uncertainty.py | 259 +++ .../models/point_uncertainty_circle.py | 129 ++ .../models/point_uncertainty_ellipse.py | 161 ++ .../published_apis/models/polygon.py | 103 + .../published_apis/models/problem_details.py | 53 +- .../published_apis/models/protocol.py | 7 +- .../models/published_api_path.py | 9 +- .../models/relative_cartesian_location.py | 123 ++ .../published_apis/models/resource.py | 75 +- .../published_apis/models/security_method.py | 7 +- .../models/security_method_any_of.py | 43 - .../models/service_api_description.py | 129 +- .../models/service_api_description_patch.py | 267 +++ .../published_apis/models/service_kpis.py | 277 +++ .../models/shareable_information.py | 21 +- ...ocol_any_of.py => supported_gad_shapes.py} | 20 +- .../models/uncertainty_ellipse.py | 133 ++ .../models/uncertainty_ellipsoid.py | 165 ++ .../published_apis/models/version.py | 21 +- .../published_apis/openapi/openapi.yaml | 1857 +++++++++++++++-- .../published_apis/test/__init__.py | 16 + .../test/test_default_controller.py | 98 + ...individual_apf_published_api_controller.py | 35 + .../published_apis/typing_utils.py | 2 - .../published_apis/util.py | 16 +- .../requirements.txt | 1 + .../setup.py | 4 +- .../test-requirements.txt | 6 +- .../TS29222_CAPIF_Publish_Service_API/tox.ini | 2 +- 64 files changed, 6924 insertions(+), 649 deletions(-) create mode 100644 services/TS29222_CAPIF_Publish_Service_API/published_apis/controllers/individual_apf_published_api_controller.py rename services/TS29222_CAPIF_Publish_Service_API/published_apis/controllers/{security_controller_.py => security_controller.py} (100%) create mode 100644 services/TS29222_CAPIF_Publish_Service_API/published_apis/models/aef_location.py create mode 100644 services/TS29222_CAPIF_Publish_Service_API/published_apis/models/api_status.py rename services/TS29222_CAPIF_Publish_Service_API/published_apis/models/{base_model_.py => base_model.py} (92%) create mode 100644 services/TS29222_CAPIF_Publish_Service_API/published_apis/models/civic_address.py delete mode 100644 services/TS29222_CAPIF_Publish_Service_API/published_apis/models/communication_type_any_of.py create mode 100644 services/TS29222_CAPIF_Publish_Service_API/published_apis/models/ellipsoid_arc.py create mode 100644 services/TS29222_CAPIF_Publish_Service_API/published_apis/models/gad_shape.py create mode 100644 services/TS29222_CAPIF_Publish_Service_API/published_apis/models/geographic_area.py create mode 100644 services/TS29222_CAPIF_Publish_Service_API/published_apis/models/geographical_coordinates.py create mode 100644 services/TS29222_CAPIF_Publish_Service_API/published_apis/models/ip_addr_range.py create mode 100644 services/TS29222_CAPIF_Publish_Service_API/published_apis/models/ipv4_address_range.py rename services/TS29222_CAPIF_Publish_Service_API/published_apis/models/{data_format_any_of.py => ipv6_addr1.py} (58%) create mode 100644 services/TS29222_CAPIF_Publish_Service_API/published_apis/models/ipv6_address_range.py create mode 100644 services/TS29222_CAPIF_Publish_Service_API/published_apis/models/local2d_point_uncertainty_ellipse.py create mode 100644 services/TS29222_CAPIF_Publish_Service_API/published_apis/models/local3d_point_uncertainty_ellipsoid.py create mode 100644 services/TS29222_CAPIF_Publish_Service_API/published_apis/models/local_origin.py delete mode 100644 services/TS29222_CAPIF_Publish_Service_API/published_apis/models/operation_any_of.py create mode 100644 services/TS29222_CAPIF_Publish_Service_API/published_apis/models/point.py create mode 100644 services/TS29222_CAPIF_Publish_Service_API/published_apis/models/point_altitude.py create mode 100644 services/TS29222_CAPIF_Publish_Service_API/published_apis/models/point_altitude_uncertainty.py create mode 100644 services/TS29222_CAPIF_Publish_Service_API/published_apis/models/point_uncertainty_circle.py create mode 100644 services/TS29222_CAPIF_Publish_Service_API/published_apis/models/point_uncertainty_ellipse.py create mode 100644 services/TS29222_CAPIF_Publish_Service_API/published_apis/models/polygon.py create mode 100644 services/TS29222_CAPIF_Publish_Service_API/published_apis/models/relative_cartesian_location.py delete mode 100644 services/TS29222_CAPIF_Publish_Service_API/published_apis/models/security_method_any_of.py create mode 100644 services/TS29222_CAPIF_Publish_Service_API/published_apis/models/service_api_description_patch.py create mode 100644 services/TS29222_CAPIF_Publish_Service_API/published_apis/models/service_kpis.py rename services/TS29222_CAPIF_Publish_Service_API/published_apis/models/{protocol_any_of.py => supported_gad_shapes.py} (57%) create mode 100644 services/TS29222_CAPIF_Publish_Service_API/published_apis/models/uncertainty_ellipse.py create mode 100644 services/TS29222_CAPIF_Publish_Service_API/published_apis/models/uncertainty_ellipsoid.py create mode 100644 services/TS29222_CAPIF_Publish_Service_API/published_apis/test/__init__.py create mode 100644 services/TS29222_CAPIF_Publish_Service_API/published_apis/test/test_default_controller.py create mode 100644 services/TS29222_CAPIF_Publish_Service_API/published_apis/test/test_individual_apf_published_api_controller.py diff --git a/services/TS29222_CAPIF_Publish_Service_API/.openapi-generator/FILES b/services/TS29222_CAPIF_Publish_Service_API/.openapi-generator/FILES index fc1b00e..a238cf9 100644 --- a/services/TS29222_CAPIF_Publish_Service_API/.openapi-generator/FILES +++ b/services/TS29222_CAPIF_Publish_Service_API/.openapi-generator/FILES @@ -1,5 +1,6 @@ .dockerignore .gitignore +.openapi-generator-ignore .travis.yml Dockerfile README.md @@ -8,32 +9,56 @@ published_apis/__init__.py published_apis/__main__.py published_apis/controllers/__init__.py published_apis/controllers/default_controller.py -published_apis/controllers/security_controller_.py +published_apis/controllers/individual_apf_published_api_controller.py +published_apis/controllers/security_controller.py published_apis/encoder.py published_apis/models/__init__.py +published_apis/models/aef_location.py published_apis/models/aef_profile.py -published_apis/models/base_model_.py +published_apis/models/api_status.py +published_apis/models/base_model.py +published_apis/models/civic_address.py published_apis/models/communication_type.py -published_apis/models/communication_type_any_of.py published_apis/models/custom_operation.py published_apis/models/data_format.py -published_apis/models/data_format_any_of.py +published_apis/models/ellipsoid_arc.py +published_apis/models/gad_shape.py +published_apis/models/geographic_area.py +published_apis/models/geographical_coordinates.py published_apis/models/interface_description.py published_apis/models/invalid_param.py +published_apis/models/ip_addr_range.py +published_apis/models/ipv4_address_range.py +published_apis/models/ipv6_addr1.py +published_apis/models/ipv6_address_range.py +published_apis/models/local2d_point_uncertainty_ellipse.py +published_apis/models/local3d_point_uncertainty_ellipsoid.py +published_apis/models/local_origin.py published_apis/models/operation.py -published_apis/models/operation_any_of.py +published_apis/models/point.py +published_apis/models/point_altitude.py +published_apis/models/point_altitude_uncertainty.py +published_apis/models/point_uncertainty_circle.py +published_apis/models/point_uncertainty_ellipse.py +published_apis/models/polygon.py published_apis/models/problem_details.py published_apis/models/protocol.py -published_apis/models/protocol_any_of.py published_apis/models/published_api_path.py +published_apis/models/relative_cartesian_location.py published_apis/models/resource.py published_apis/models/security_method.py -published_apis/models/security_method_any_of.py published_apis/models/service_api_description.py +published_apis/models/service_api_description_patch.py +published_apis/models/service_kpis.py published_apis/models/shareable_information.py +published_apis/models/supported_gad_shapes.py +published_apis/models/uncertainty_ellipse.py +published_apis/models/uncertainty_ellipsoid.py published_apis/models/version.py published_apis/openapi/openapi.yaml published_apis/test/__init__.py +published_apis/test/test_default_controller.py +published_apis/test/test_individual_apf_published_api_controller.py published_apis/typing_utils.py published_apis/util.py requirements.txt diff --git a/services/TS29222_CAPIF_Publish_Service_API/.openapi-generator/VERSION b/services/TS29222_CAPIF_Publish_Service_API/.openapi-generator/VERSION index 4b448de..18bb418 100644 --- a/services/TS29222_CAPIF_Publish_Service_API/.openapi-generator/VERSION +++ b/services/TS29222_CAPIF_Publish_Service_API/.openapi-generator/VERSION @@ -1 +1 @@ -5.3.0-SNAPSHOT \ No newline at end of file +7.5.0 diff --git a/services/TS29222_CAPIF_Publish_Service_API/README.md b/services/TS29222_CAPIF_Publish_Service_API/README.md index 60ff8b0..a8ee257 100644 --- a/services/TS29222_CAPIF_Publish_Service_API/README.md +++ b/services/TS29222_CAPIF_Publish_Service_API/README.md @@ -15,7 +15,7 @@ To run the server, please execute the following from the root directory: ``` pip3 install -r requirements.txt -python3 -m published_apis +python3 -m openapi_server ``` and open your browser to here: diff --git a/services/TS29222_CAPIF_Publish_Service_API/git_push.sh b/services/TS29222_CAPIF_Publish_Service_API/git_push.sh index 9405f72..f53a75d 100644 --- a/services/TS29222_CAPIF_Publish_Service_API/git_push.sh +++ b/services/TS29222_CAPIF_Publish_Service_API/git_push.sh @@ -1,7 +1,7 @@ #!/bin/sh # ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/ # -# Usage example: /bin/sh ./git_push.sh wing328 openapi-pestore-perl "minor update" "gitlab.com" +# Usage example: /bin/sh ./git_push.sh wing328 openapi-petstore-perl "minor update" "gitlab.com" git_user_id=$1 git_repo_id=$2 @@ -38,14 +38,14 @@ git add . git commit -m "$release_note" # Sets the new remote -git_remote=`git remote` +git_remote=$(git remote) if [ "$git_remote" = "" ]; then # git remote not defined if [ "$GIT_TOKEN" = "" ]; then echo "[INFO] \$GIT_TOKEN (environment variable) is not set. Using the git credential in your environment." git remote add origin https://${git_host}/${git_user_id}/${git_repo_id}.git else - git remote add origin https://${git_user_id}:${GIT_TOKEN}@${git_host}/${git_user_id}/${git_repo_id}.git + git remote add origin https://${git_user_id}:"${GIT_TOKEN}"@${git_host}/${git_user_id}/${git_repo_id}.git fi fi diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/controllers/default_controller.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/controllers/default_controller.py index 62e506a..2b2217b 100644 --- a/services/TS29222_CAPIF_Publish_Service_API/published_apis/controllers/default_controller.py +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/controllers/default_controller.py @@ -2,6 +2,10 @@ import connexion from ..models.service_api_description import ServiceAPIDescription # noqa: E501 from ..core.serviceapidescriptions import PublishServiceOperations +from published_apis.models.problem_details import ProblemDetails # noqa: E501 +from published_apis.models.service_api_description import ServiceAPIDescription # noqa: E501 +from published_apis import util + from flask import Response, request, current_app from cryptography import x509 @@ -14,7 +18,6 @@ service_operations = PublishServiceOperations() valid_user = ControlAccess() - def cert_validation(): def _cert_validation(f): @wraps(f) @@ -43,7 +46,6 @@ def cert_validation(): return __cert_validation return _cert_validation - def apf_id_service_apis_get(apf_id): # noqa: E501 """apf_id_service_apis_get @@ -52,7 +54,7 @@ def apf_id_service_apis_get(apf_id): # noqa: E501 :param apf_id: :type apf_id: str - :rtype: ServiceAPIDescription + :rtype: Union[List[ServiceAPIDescription], Tuple[List[ServiceAPIDescription], int], Tuple[List[ServiceAPIDescription], int, Dict[str, str]] """ current_app.logger.info("Obtainig all service published") res = service_operations.get_serviceapis(apf_id) @@ -70,9 +72,8 @@ def apf_id_service_apis_post(apf_id, body): # noqa: E501 :param service_api_description: :type service_api_description: dict | bytes - :rtype: ServiceAPIDescription + :rtype: Union[ServiceAPIDescription, Tuple[ServiceAPIDescription, int], Tuple[ServiceAPIDescription, int, Dict[str, str]] """ - current_app.logger.info("Publishing service") if connexion.request.is_json: body = ServiceAPIDescription.from_dict(connexion.request.get_json()) # noqa: E501 @@ -81,7 +82,6 @@ def apf_id_service_apis_post(apf_id, body): # noqa: E501 return res - @cert_validation() def apf_id_service_apis_service_api_id_delete(service_api_id, apf_id): # noqa: E501 """apf_id_service_apis_service_api_id_delete @@ -93,16 +93,14 @@ def apf_id_service_apis_service_api_id_delete(service_api_id, apf_id): # noqa: :param apf_id: :type apf_id: str - :rtype: None + :rtype: Union[None, Tuple[None, int], Tuple[None, int, Dict[str, str]] """ - current_app.logger.info("Removing service published") res = service_operations.delete_serviceapidescription( service_api_id, apf_id) return res - @cert_validation() def apf_id_service_apis_service_api_id_get(service_api_id, apf_id): # noqa: E501 """apf_id_service_apis_service_api_id_get @@ -114,15 +112,13 @@ def apf_id_service_apis_service_api_id_get(service_api_id, apf_id): # noqa: E50 :param apf_id: :type apf_id: str - :rtype: ServiceAPIDescription + :rtype: Union[ServiceAPIDescription, Tuple[ServiceAPIDescription, int], Tuple[ServiceAPIDescription, int, Dict[str, str]] """ - current_app.logger.info("Obtaining service api with id: " + service_api_id) res = service_operations.get_one_serviceapi(service_api_id, apf_id) return res - @cert_validation() def apf_id_service_apis_service_api_id_put(service_api_id, apf_id, body): # noqa: E501 """apf_id_service_apis_service_api_id_put @@ -136,9 +132,8 @@ def apf_id_service_apis_service_api_id_put(service_api_id, apf_id, body): # noq :param service_api_description: :type service_api_description: dict | bytes - :rtype: ServiceAPIDescription + :rtype: Union[ServiceAPIDescription, Tuple[ServiceAPIDescription, int], Tuple[ServiceAPIDescription, int, Dict[str, str]] """ - current_app.logger.info( "Updating service api id with id: " + service_api_id) diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/controllers/individual_apf_published_api_controller.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/controllers/individual_apf_published_api_controller.py new file mode 100644 index 0000000..5b769b7 --- /dev/null +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/controllers/individual_apf_published_api_controller.py @@ -0,0 +1,28 @@ +import connexion +from typing import Dict +from typing import Tuple +from typing import Union + +from published_apis.models.problem_details import ProblemDetails # noqa: E501 +from published_apis.models.service_api_description import ServiceAPIDescription # noqa: E501 +from published_apis.models.service_api_description_patch import ServiceAPIDescriptionPatch # noqa: E501 +from published_apis import util + + +def modify_ind_apf_pub_api(service_api_id, apf_id, service_api_description_patch): # noqa: E501 + """modify_ind_apf_pub_api + + Modify an existing published service API. # noqa: E501 + + :param service_api_id: + :type service_api_id: str + :param apf_id: + :type apf_id: str + :param service_api_description_patch: + :type service_api_description_patch: dict | bytes + + :rtype: Union[ServiceAPIDescription, Tuple[ServiceAPIDescription, int], Tuple[ServiceAPIDescription, int, Dict[str, str]] + """ + if connexion.request.is_json: + service_api_description_patch = ServiceAPIDescriptionPatch.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/controllers/security_controller_.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/controllers/security_controller.py similarity index 100% rename from services/TS29222_CAPIF_Publish_Service_API/published_apis/controllers/security_controller_.py rename to services/TS29222_CAPIF_Publish_Service_API/published_apis/controllers/security_controller.py diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/encoder.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/encoder.py index 80bad8f..1e48fe1 100644 --- a/services/TS29222_CAPIF_Publish_Service_API/published_apis/encoder.py +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/encoder.py @@ -1,7 +1,6 @@ from connexion.apps.flask_app import FlaskJSONEncoder -import six -from models.base_model_ import Model +from published_apis.models.base_model import Model class JSONEncoder(FlaskJSONEncoder): @@ -10,7 +9,7 @@ class JSONEncoder(FlaskJSONEncoder): def default(self, o): if isinstance(o, Model): dikt = {} - for attr, _ in six.iteritems(o.openapi_types): + for attr in o.openapi_types: value = getattr(o, attr) if value is None and not self.include_nulls: continue diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/__init__.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/__init__.py index e80629d..df30219 100644 --- a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/__init__.py +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/__init__.py @@ -1,25 +1,43 @@ -# coding: utf-8 - # flake8: noqa -from __future__ import absolute_import # import models into model package +from published_apis.models.aef_location import AefLocation from published_apis.models.aef_profile import AefProfile +from published_apis.models.api_status import ApiStatus +from published_apis.models.civic_address import CivicAddress from published_apis.models.communication_type import CommunicationType -from published_apis.models.communication_type_any_of import CommunicationTypeAnyOf from published_apis.models.custom_operation import CustomOperation from published_apis.models.data_format import DataFormat -from published_apis.models.data_format_any_of import DataFormatAnyOf +from published_apis.models.ellipsoid_arc import EllipsoidArc +from published_apis.models.gad_shape import GADShape +from published_apis.models.geographic_area import GeographicArea +from published_apis.models.geographical_coordinates import GeographicalCoordinates from published_apis.models.interface_description import InterfaceDescription from published_apis.models.invalid_param import InvalidParam +from published_apis.models.ip_addr_range import IpAddrRange +from published_apis.models.ipv4_address_range import Ipv4AddressRange +from published_apis.models.ipv6_addr1 import Ipv6Addr1 +from published_apis.models.ipv6_address_range import Ipv6AddressRange +from published_apis.models.local2d_point_uncertainty_ellipse import Local2dPointUncertaintyEllipse +from published_apis.models.local3d_point_uncertainty_ellipsoid import Local3dPointUncertaintyEllipsoid +from published_apis.models.local_origin import LocalOrigin from published_apis.models.operation import Operation -from published_apis.models.operation_any_of import OperationAnyOf +from published_apis.models.point import Point +from published_apis.models.point_altitude import PointAltitude +from published_apis.models.point_altitude_uncertainty import PointAltitudeUncertainty +from published_apis.models.point_uncertainty_circle import PointUncertaintyCircle +from published_apis.models.point_uncertainty_ellipse import PointUncertaintyEllipse +from published_apis.models.polygon import Polygon from published_apis.models.problem_details import ProblemDetails from published_apis.models.protocol import Protocol -from published_apis.models.protocol_any_of import ProtocolAnyOf from published_apis.models.published_api_path import PublishedApiPath +from published_apis.models.relative_cartesian_location import RelativeCartesianLocation from published_apis.models.resource import Resource from published_apis.models.security_method import SecurityMethod -from published_apis.models.security_method_any_of import SecurityMethodAnyOf from published_apis.models.service_api_description import ServiceAPIDescription +from published_apis.models.service_api_description_patch import ServiceAPIDescriptionPatch +from published_apis.models.service_kpis import ServiceKpis from published_apis.models.shareable_information import ShareableInformation +from published_apis.models.supported_gad_shapes import SupportedGADShapes +from published_apis.models.uncertainty_ellipse import UncertaintyEllipse +from published_apis.models.uncertainty_ellipsoid import UncertaintyEllipsoid from published_apis.models.version import Version diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/aef_location.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/aef_location.py new file mode 100644 index 0000000..ccc4859 --- /dev/null +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/aef_location.py @@ -0,0 +1,119 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from published_apis.models.base_model import Model +from published_apis.models.civic_address import CivicAddress +from published_apis.models.geographic_area import GeographicArea +from published_apis import util + +from published_apis.models.civic_address import CivicAddress # noqa: E501 +from published_apis.models.geographic_area import GeographicArea # noqa: E501 + +class AefLocation(Model): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + """ + + def __init__(self, civic_addr=None, geo_area=None, dc_id=None): # noqa: E501 + """AefLocation - a model defined in OpenAPI + + :param civic_addr: The civic_addr of this AefLocation. # noqa: E501 + :type civic_addr: CivicAddress + :param geo_area: The geo_area of this AefLocation. # noqa: E501 + :type geo_area: GeographicArea + :param dc_id: The dc_id of this AefLocation. # noqa: E501 + :type dc_id: str + """ + self.openapi_types = { + 'civic_addr': CivicAddress, + 'geo_area': GeographicArea, + 'dc_id': str + } + + self.attribute_map = { + 'civic_addr': 'civicAddr', + 'geo_area': 'geoArea', + 'dc_id': 'dcId' + } + + self._civic_addr = civic_addr + self._geo_area = geo_area + self._dc_id = dc_id + + @classmethod + def from_dict(cls, dikt) -> 'AefLocation': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The AefLocation of this AefLocation. # noqa: E501 + :rtype: AefLocation + """ + return util.deserialize_model(dikt, cls) + + @property + def civic_addr(self) -> CivicAddress: + """Gets the civic_addr of this AefLocation. + + + :return: The civic_addr of this AefLocation. + :rtype: CivicAddress + """ + return self._civic_addr + + @civic_addr.setter + def civic_addr(self, civic_addr: CivicAddress): + """Sets the civic_addr of this AefLocation. + + + :param civic_addr: The civic_addr of this AefLocation. + :type civic_addr: CivicAddress + """ + + self._civic_addr = civic_addr + + @property + def geo_area(self) -> GeographicArea: + """Gets the geo_area of this AefLocation. + + + :return: The geo_area of this AefLocation. + :rtype: GeographicArea + """ + return self._geo_area + + @geo_area.setter + def geo_area(self, geo_area: GeographicArea): + """Sets the geo_area of this AefLocation. + + + :param geo_area: The geo_area of this AefLocation. + :type geo_area: GeographicArea + """ + + self._geo_area = geo_area + + @property + def dc_id(self) -> str: + """Gets the dc_id of this AefLocation. + + Identifies the data center where the AEF providing the service API is located. # noqa: E501 + + :return: The dc_id of this AefLocation. + :rtype: str + """ + return self._dc_id + + @dc_id.setter + def dc_id(self, dc_id: str): + """Sets the dc_id of this AefLocation. + + Identifies the data center where the AEF providing the service API is located. # noqa: E501 + + :param dc_id: The dc_id of this AefLocation. + :type dc_id: str + """ + + self._dc_id = dc_id diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/aef_profile.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/aef_profile.py index ff3c3c5..787470d 100644 --- a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/aef_profile.py +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/aef_profile.py @@ -1,22 +1,25 @@ -# coding: utf-8 - -from __future__ import absolute_import from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from published_apis.models.base_model_ import Model +from published_apis.models.base_model import Model +from published_apis.models.aef_location import AefLocation from published_apis.models.data_format import DataFormat from published_apis.models.interface_description import InterfaceDescription +from published_apis.models.ip_addr_range import IpAddrRange from published_apis.models.protocol import Protocol from published_apis.models.security_method import SecurityMethod +from published_apis.models.service_kpis import ServiceKpis from published_apis.models.version import Version from published_apis import util +from published_apis.models.aef_location import AefLocation # noqa: E501 from published_apis.models.data_format import DataFormat # noqa: E501 from published_apis.models.interface_description import InterfaceDescription # noqa: E501 +from published_apis.models.ip_addr_range import IpAddrRange # noqa: E501 from published_apis.models.protocol import Protocol # noqa: E501 from published_apis.models.security_method import SecurityMethod # noqa: E501 +from published_apis.models.service_kpis import ServiceKpis # noqa: E501 from published_apis.models.version import Version # noqa: E501 class AefProfile(Model): @@ -25,7 +28,7 @@ class AefProfile(Model): Do not edit the class manually. """ - def __init__(self, aef_id=None, versions=None, protocol=None, data_format=None, security_methods=None, domain_name=None, interface_descriptions=None): # noqa: E501 + def __init__(self, aef_id=None, versions=None, protocol=None, data_format=None, security_methods=None, domain_name=None, interface_descriptions=None, aef_location=None, service_kpis=None, ue_ip_range=None): # noqa: E501 """AefProfile - a model defined in OpenAPI :param aef_id: The aef_id of this AefProfile. # noqa: E501 @@ -42,6 +45,12 @@ class AefProfile(Model): :type domain_name: str :param interface_descriptions: The interface_descriptions of this AefProfile. # noqa: E501 :type interface_descriptions: List[InterfaceDescription] + :param aef_location: The aef_location of this AefProfile. # noqa: E501 + :type aef_location: AefLocation + :param service_kpis: The service_kpis of this AefProfile. # noqa: E501 + :type service_kpis: ServiceKpis + :param ue_ip_range: The ue_ip_range of this AefProfile. # noqa: E501 + :type ue_ip_range: IpAddrRange """ self.openapi_types = { 'aef_id': str, @@ -50,7 +59,10 @@ class AefProfile(Model): 'data_format': DataFormat, 'security_methods': List[SecurityMethod], 'domain_name': str, - 'interface_descriptions': List[InterfaceDescription] + 'interface_descriptions': List[InterfaceDescription], + 'aef_location': AefLocation, + 'service_kpis': ServiceKpis, + 'ue_ip_range': IpAddrRange } self.attribute_map = { @@ -60,7 +72,10 @@ class AefProfile(Model): 'data_format': 'dataFormat', 'security_methods': 'securityMethods', 'domain_name': 'domainName', - 'interface_descriptions': 'interfaceDescriptions' + 'interface_descriptions': 'interfaceDescriptions', + 'aef_location': 'aefLocation', + 'service_kpis': 'serviceKpis', + 'ue_ip_range': 'ueIpRange' } self._aef_id = aef_id @@ -70,6 +85,9 @@ class AefProfile(Model): self._security_methods = security_methods self._domain_name = domain_name self._interface_descriptions = interface_descriptions + self._aef_location = aef_location + self._service_kpis = service_kpis + self._ue_ip_range = ue_ip_range @classmethod def from_dict(cls, dikt) -> 'AefProfile': @@ -83,7 +101,7 @@ class AefProfile(Model): return util.deserialize_model(dikt, cls) @property - def aef_id(self): + def aef_id(self) -> str: """Gets the aef_id of this AefProfile. Identifier of the API exposing function # noqa: E501 @@ -94,7 +112,7 @@ class AefProfile(Model): return self._aef_id @aef_id.setter - def aef_id(self, aef_id): + def aef_id(self, aef_id: str): """Sets the aef_id of this AefProfile. Identifier of the API exposing function # noqa: E501 @@ -108,7 +126,7 @@ class AefProfile(Model): self._aef_id = aef_id @property - def versions(self): + def versions(self) -> List[Version]: """Gets the versions of this AefProfile. API version # noqa: E501 @@ -119,7 +137,7 @@ class AefProfile(Model): return self._versions @versions.setter - def versions(self, versions): + def versions(self, versions: List[Version]): """Sets the versions of this AefProfile. API version # noqa: E501 @@ -135,7 +153,7 @@ class AefProfile(Model): self._versions = versions @property - def protocol(self): + def protocol(self) -> Protocol: """Gets the protocol of this AefProfile. @@ -145,7 +163,7 @@ class AefProfile(Model): return self._protocol @protocol.setter - def protocol(self, protocol): + def protocol(self, protocol: Protocol): """Sets the protocol of this AefProfile. @@ -156,7 +174,7 @@ class AefProfile(Model): self._protocol = protocol @property - def data_format(self): + def data_format(self) -> DataFormat: """Gets the data_format of this AefProfile. @@ -166,7 +184,7 @@ class AefProfile(Model): return self._data_format @data_format.setter - def data_format(self, data_format): + def data_format(self, data_format: DataFormat): """Sets the data_format of this AefProfile. @@ -177,7 +195,7 @@ class AefProfile(Model): self._data_format = data_format @property - def security_methods(self): + def security_methods(self) -> List[SecurityMethod]: """Gets the security_methods of this AefProfile. Security methods supported by the AEF # noqa: E501 @@ -188,7 +206,7 @@ class AefProfile(Model): return self._security_methods @security_methods.setter - def security_methods(self, security_methods): + def security_methods(self, security_methods: List[SecurityMethod]): """Sets the security_methods of this AefProfile. Security methods supported by the AEF # noqa: E501 @@ -202,7 +220,7 @@ class AefProfile(Model): self._security_methods = security_methods @property - def domain_name(self): + def domain_name(self) -> str: """Gets the domain_name of this AefProfile. Domain to which API belongs to # noqa: E501 @@ -213,7 +231,7 @@ class AefProfile(Model): return self._domain_name @domain_name.setter - def domain_name(self, domain_name): + def domain_name(self, domain_name: str): """Sets the domain_name of this AefProfile. Domain to which API belongs to # noqa: E501 @@ -225,7 +243,7 @@ class AefProfile(Model): self._domain_name = domain_name @property - def interface_descriptions(self): + def interface_descriptions(self) -> List[InterfaceDescription]: """Gets the interface_descriptions of this AefProfile. Interface details # noqa: E501 @@ -236,7 +254,7 @@ class AefProfile(Model): return self._interface_descriptions @interface_descriptions.setter - def interface_descriptions(self, interface_descriptions): + def interface_descriptions(self, interface_descriptions: List[InterfaceDescription]): """Sets the interface_descriptions of this AefProfile. Interface details # noqa: E501 @@ -248,3 +266,66 @@ class AefProfile(Model): raise ValueError("Invalid value for `interface_descriptions`, number of items must be greater than or equal to `1`") # noqa: E501 self._interface_descriptions = interface_descriptions + + @property + def aef_location(self) -> AefLocation: + """Gets the aef_location of this AefProfile. + + + :return: The aef_location of this AefProfile. + :rtype: AefLocation + """ + return self._aef_location + + @aef_location.setter + def aef_location(self, aef_location: AefLocation): + """Sets the aef_location of this AefProfile. + + + :param aef_location: The aef_location of this AefProfile. + :type aef_location: AefLocation + """ + + self._aef_location = aef_location + + @property + def service_kpis(self) -> ServiceKpis: + """Gets the service_kpis of this AefProfile. + + + :return: The service_kpis of this AefProfile. + :rtype: ServiceKpis + """ + return self._service_kpis + + @service_kpis.setter + def service_kpis(self, service_kpis: ServiceKpis): + """Sets the service_kpis of this AefProfile. + + + :param service_kpis: The service_kpis of this AefProfile. + :type service_kpis: ServiceKpis + """ + + self._service_kpis = service_kpis + + @property + def ue_ip_range(self) -> IpAddrRange: + """Gets the ue_ip_range of this AefProfile. + + + :return: The ue_ip_range of this AefProfile. + :rtype: IpAddrRange + """ + return self._ue_ip_range + + @ue_ip_range.setter + def ue_ip_range(self, ue_ip_range: IpAddrRange): + """Sets the ue_ip_range of this AefProfile. + + + :param ue_ip_range: The ue_ip_range of this AefProfile. + :type ue_ip_range: IpAddrRange + """ + + self._ue_ip_range = ue_ip_range diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/api_status.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/api_status.py new file mode 100644 index 0000000..0492b25 --- /dev/null +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/api_status.py @@ -0,0 +1,65 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from published_apis.models.base_model import Model +from published_apis import util + + +class ApiStatus(Model): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + """ + + def __init__(self, aef_ids=None): # noqa: E501 + """ApiStatus - a model defined in OpenAPI + + :param aef_ids: The aef_ids of this ApiStatus. # noqa: E501 + :type aef_ids: List[str] + """ + self.openapi_types = { + 'aef_ids': List[str] + } + + self.attribute_map = { + 'aef_ids': 'aefIds' + } + + self._aef_ids = aef_ids + + @classmethod + def from_dict(cls, dikt) -> 'ApiStatus': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The ApiStatus of this ApiStatus. # noqa: E501 + :rtype: ApiStatus + """ + return util.deserialize_model(dikt, cls) + + @property + def aef_ids(self) -> List[str]: + """Gets the aef_ids of this ApiStatus. + + Indicates the list of AEF ID(s) where the API is active. If this attribute is omitted, the API is inactive at all AEF(s) defined in the \"aefProfiles\" attribute within the ServiceAPIDescription data structure. # noqa: E501 + + :return: The aef_ids of this ApiStatus. + :rtype: List[str] + """ + return self._aef_ids + + @aef_ids.setter + def aef_ids(self, aef_ids: List[str]): + """Sets the aef_ids of this ApiStatus. + + Indicates the list of AEF ID(s) where the API is active. If this attribute is omitted, the API is inactive at all AEF(s) defined in the \"aefProfiles\" attribute within the ServiceAPIDescription data structure. # noqa: E501 + + :param aef_ids: The aef_ids of this ApiStatus. + :type aef_ids: List[str] + """ + if aef_ids is None: + raise ValueError("Invalid value for `aef_ids`, must not be `None`") # noqa: E501 + + self._aef_ids = aef_ids diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/base_model_.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/base_model.py similarity index 92% rename from services/TS29222_CAPIF_Publish_Service_API/published_apis/models/base_model_.py rename to services/TS29222_CAPIF_Publish_Service_API/published_apis/models/base_model.py index 2c63ab0..ae24c55 100644 --- a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/base_model_.py +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/base_model.py @@ -1,6 +1,5 @@ import pprint -import six import typing from published_apis import util @@ -8,14 +7,14 @@ from published_apis import util T = typing.TypeVar('T') -class Model(object): +class Model: # openapiTypes: The key is attribute name and the # value is attribute type. - openapi_types = {} + openapi_types: typing.Dict[str, type] = {} # attributeMap: The key is attribute name and the # value is json key in definition. - attribute_map = {} + attribute_map: typing.Dict[str, str] = {} @classmethod def from_dict(cls: typing.Type[T], dikt) -> T: @@ -29,7 +28,7 @@ class Model(object): """ result = {} - for attr, _ in six.iteritems(self.openapi_types): + for attr in self.openapi_types: value = getattr(self, attr) if isinstance(value, list): result[attr] = list(map( diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/civic_address.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/civic_address.py new file mode 100644 index 0000000..b4fa7c0 --- /dev/null +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/civic_address.py @@ -0,0 +1,919 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from published_apis.models.base_model import Model +from published_apis import util + + +class CivicAddress(Model): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + """ + + def __init__(self, country=None, a1=None, a2=None, a3=None, a4=None, a5=None, a6=None, prd=None, pod=None, sts=None, hno=None, hns=None, lmk=None, loc=None, nam=None, pc=None, bld=None, unit=None, flr=None, room=None, plc=None, pcn=None, pobox=None, addcode=None, seat=None, rd=None, rdsec=None, rdbr=None, rdsubbr=None, prm=None, pom=None, usage_rules=None, method=None, provided_by=None): # noqa: E501 + """CivicAddress - a model defined in OpenAPI + + :param country: The country of this CivicAddress. # noqa: E501 + :type country: str + :param a1: The a1 of this CivicAddress. # noqa: E501 + :type a1: str + :param a2: The a2 of this CivicAddress. # noqa: E501 + :type a2: str + :param a3: The a3 of this CivicAddress. # noqa: E501 + :type a3: str + :param a4: The a4 of this CivicAddress. # noqa: E501 + :type a4: str + :param a5: The a5 of this CivicAddress. # noqa: E501 + :type a5: str + :param a6: The a6 of this CivicAddress. # noqa: E501 + :type a6: str + :param prd: The prd of this CivicAddress. # noqa: E501 + :type prd: str + :param pod: The pod of this CivicAddress. # noqa: E501 + :type pod: str + :param sts: The sts of this CivicAddress. # noqa: E501 + :type sts: str + :param hno: The hno of this CivicAddress. # noqa: E501 + :type hno: str + :param hns: The hns of this CivicAddress. # noqa: E501 + :type hns: str + :param lmk: The lmk of this CivicAddress. # noqa: E501 + :type lmk: str + :param loc: The loc of this CivicAddress. # noqa: E501 + :type loc: str + :param nam: The nam of this CivicAddress. # noqa: E501 + :type nam: str + :param pc: The pc of this CivicAddress. # noqa: E501 + :type pc: str + :param bld: The bld of this CivicAddress. # noqa: E501 + :type bld: str + :param unit: The unit of this CivicAddress. # noqa: E501 + :type unit: str + :param flr: The flr of this CivicAddress. # noqa: E501 + :type flr: str + :param room: The room of this CivicAddress. # noqa: E501 + :type room: str + :param plc: The plc of this CivicAddress. # noqa: E501 + :type plc: str + :param pcn: The pcn of this CivicAddress. # noqa: E501 + :type pcn: str + :param pobox: The pobox of this CivicAddress. # noqa: E501 + :type pobox: str + :param addcode: The addcode of this CivicAddress. # noqa: E501 + :type addcode: str + :param seat: The seat of this CivicAddress. # noqa: E501 + :type seat: str + :param rd: The rd of this CivicAddress. # noqa: E501 + :type rd: str + :param rdsec: The rdsec of this CivicAddress. # noqa: E501 + :type rdsec: str + :param rdbr: The rdbr of this CivicAddress. # noqa: E501 + :type rdbr: str + :param rdsubbr: The rdsubbr of this CivicAddress. # noqa: E501 + :type rdsubbr: str + :param prm: The prm of this CivicAddress. # noqa: E501 + :type prm: str + :param pom: The pom of this CivicAddress. # noqa: E501 + :type pom: str + :param usage_rules: The usage_rules of this CivicAddress. # noqa: E501 + :type usage_rules: str + :param method: The method of this CivicAddress. # noqa: E501 + :type method: str + :param provided_by: The provided_by of this CivicAddress. # noqa: E501 + :type provided_by: str + """ + self.openapi_types = { + 'country': str, + 'a1': str, + 'a2': str, + 'a3': str, + 'a4': str, + 'a5': str, + 'a6': str, + 'prd': str, + 'pod': str, + 'sts': str, + 'hno': str, + 'hns': str, + 'lmk': str, + 'loc': str, + 'nam': str, + 'pc': str, + 'bld': str, + 'unit': str, + 'flr': str, + 'room': str, + 'plc': str, + 'pcn': str, + 'pobox': str, + 'addcode': str, + 'seat': str, + 'rd': str, + 'rdsec': str, + 'rdbr': str, + 'rdsubbr': str, + 'prm': str, + 'pom': str, + 'usage_rules': str, + 'method': str, + 'provided_by': str + } + + self.attribute_map = { + 'country': 'country', + 'a1': 'A1', + 'a2': 'A2', + 'a3': 'A3', + 'a4': 'A4', + 'a5': 'A5', + 'a6': 'A6', + 'prd': 'PRD', + 'pod': 'POD', + 'sts': 'STS', + 'hno': 'HNO', + 'hns': 'HNS', + 'lmk': 'LMK', + 'loc': 'LOC', + 'nam': 'NAM', + 'pc': 'PC', + 'bld': 'BLD', + 'unit': 'UNIT', + 'flr': 'FLR', + 'room': 'ROOM', + 'plc': 'PLC', + 'pcn': 'PCN', + 'pobox': 'POBOX', + 'addcode': 'ADDCODE', + 'seat': 'SEAT', + 'rd': 'RD', + 'rdsec': 'RDSEC', + 'rdbr': 'RDBR', + 'rdsubbr': 'RDSUBBR', + 'prm': 'PRM', + 'pom': 'POM', + 'usage_rules': 'usageRules', + 'method': 'method', + 'provided_by': 'providedBy' + } + + self._country = country + self._a1 = a1 + self._a2 = a2 + self._a3 = a3 + self._a4 = a4 + self._a5 = a5 + self._a6 = a6 + self._prd = prd + self._pod = pod + self._sts = sts + self._hno = hno + self._hns = hns + self._lmk = lmk + self._loc = loc + self._nam = nam + self._pc = pc + self._bld = bld + self._unit = unit + self._flr = flr + self._room = room + self._plc = plc + self._pcn = pcn + self._pobox = pobox + self._addcode = addcode + self._seat = seat + self._rd = rd + self._rdsec = rdsec + self._rdbr = rdbr + self._rdsubbr = rdsubbr + self._prm = prm + self._pom = pom + self._usage_rules = usage_rules + self._method = method + self._provided_by = provided_by + + @classmethod + def from_dict(cls, dikt) -> 'CivicAddress': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The CivicAddress of this CivicAddress. # noqa: E501 + :rtype: CivicAddress + """ + return util.deserialize_model(dikt, cls) + + @property + def country(self) -> str: + """Gets the country of this CivicAddress. + + + :return: The country of this CivicAddress. + :rtype: str + """ + return self._country + + @country.setter + def country(self, country: str): + """Sets the country of this CivicAddress. + + + :param country: The country of this CivicAddress. + :type country: str + """ + + self._country = country + + @property + def a1(self) -> str: + """Gets the a1 of this CivicAddress. + + + :return: The a1 of this CivicAddress. + :rtype: str + """ + return self._a1 + + @a1.setter + def a1(self, a1: str): + """Sets the a1 of this CivicAddress. + + + :param a1: The a1 of this CivicAddress. + :type a1: str + """ + + self._a1 = a1 + + @property + def a2(self) -> str: + """Gets the a2 of this CivicAddress. + + + :return: The a2 of this CivicAddress. + :rtype: str + """ + return self._a2 + + @a2.setter + def a2(self, a2: str): + """Sets the a2 of this CivicAddress. + + + :param a2: The a2 of this CivicAddress. + :type a2: str + """ + + self._a2 = a2 + + @property + def a3(self) -> str: + """Gets the a3 of this CivicAddress. + + + :return: The a3 of this CivicAddress. + :rtype: str + """ + return self._a3 + + @a3.setter + def a3(self, a3: str): + """Sets the a3 of this CivicAddress. + + + :param a3: The a3 of this CivicAddress. + :type a3: str + """ + + self._a3 = a3 + + @property + def a4(self) -> str: + """Gets the a4 of this CivicAddress. + + + :return: The a4 of this CivicAddress. + :rtype: str + """ + return self._a4 + + @a4.setter + def a4(self, a4: str): + """Sets the a4 of this CivicAddress. + + + :param a4: The a4 of this CivicAddress. + :type a4: str + """ + + self._a4 = a4 + + @property + def a5(self) -> str: + """Gets the a5 of this CivicAddress. + + + :return: The a5 of this CivicAddress. + :rtype: str + """ + return self._a5 + + @a5.setter + def a5(self, a5: str): + """Sets the a5 of this CivicAddress. + + + :param a5: The a5 of this CivicAddress. + :type a5: str + """ + + self._a5 = a5 + + @property + def a6(self) -> str: + """Gets the a6 of this CivicAddress. + + + :return: The a6 of this CivicAddress. + :rtype: str + """ + return self._a6 + + @a6.setter + def a6(self, a6: str): + """Sets the a6 of this CivicAddress. + + + :param a6: The a6 of this CivicAddress. + :type a6: str + """ + + self._a6 = a6 + + @property + def prd(self) -> str: + """Gets the prd of this CivicAddress. + + + :return: The prd of this CivicAddress. + :rtype: str + """ + return self._prd + + @prd.setter + def prd(self, prd: str): + """Sets the prd of this CivicAddress. + + + :param prd: The prd of this CivicAddress. + :type prd: str + """ + + self._prd = prd + + @property + def pod(self) -> str: + """Gets the pod of this CivicAddress. + + + :return: The pod of this CivicAddress. + :rtype: str + """ + return self._pod + + @pod.setter + def pod(self, pod: str): + """Sets the pod of this CivicAddress. + + + :param pod: The pod of this CivicAddress. + :type pod: str + """ + + self._pod = pod + + @property + def sts(self) -> str: + """Gets the sts of this CivicAddress. + + + :return: The sts of this CivicAddress. + :rtype: str + """ + return self._sts + + @sts.setter + def sts(self, sts: str): + """Sets the sts of this CivicAddress. + + + :param sts: The sts of this CivicAddress. + :type sts: str + """ + + self._sts = sts + + @property + def hno(self) -> str: + """Gets the hno of this CivicAddress. + + + :return: The hno of this CivicAddress. + :rtype: str + """ + return self._hno + + @hno.setter + def hno(self, hno: str): + """Sets the hno of this CivicAddress. + + + :param hno: The hno of this CivicAddress. + :type hno: str + """ + + self._hno = hno + + @property + def hns(self) -> str: + """Gets the hns of this CivicAddress. + + + :return: The hns of this CivicAddress. + :rtype: str + """ + return self._hns + + @hns.setter + def hns(self, hns: str): + """Sets the hns of this CivicAddress. + + + :param hns: The hns of this CivicAddress. + :type hns: str + """ + + self._hns = hns + + @property + def lmk(self) -> str: + """Gets the lmk of this CivicAddress. + + + :return: The lmk of this CivicAddress. + :rtype: str + """ + return self._lmk + + @lmk.setter + def lmk(self, lmk: str): + """Sets the lmk of this CivicAddress. + + + :param lmk: The lmk of this CivicAddress. + :type lmk: str + """ + + self._lmk = lmk + + @property + def loc(self) -> str: + """Gets the loc of this CivicAddress. + + + :return: The loc of this CivicAddress. + :rtype: str + """ + return self._loc + + @loc.setter + def loc(self, loc: str): + """Sets the loc of this CivicAddress. + + + :param loc: The loc of this CivicAddress. + :type loc: str + """ + + self._loc = loc + + @property + def nam(self) -> str: + """Gets the nam of this CivicAddress. + + + :return: The nam of this CivicAddress. + :rtype: str + """ + return self._nam + + @nam.setter + def nam(self, nam: str): + """Sets the nam of this CivicAddress. + + + :param nam: The nam of this CivicAddress. + :type nam: str + """ + + self._nam = nam + + @property + def pc(self) -> str: + """Gets the pc of this CivicAddress. + + + :return: The pc of this CivicAddress. + :rtype: str + """ + return self._pc + + @pc.setter + def pc(self, pc: str): + """Sets the pc of this CivicAddress. + + + :param pc: The pc of this CivicAddress. + :type pc: str + """ + + self._pc = pc + + @property + def bld(self) -> str: + """Gets the bld of this CivicAddress. + + + :return: The bld of this CivicAddress. + :rtype: str + """ + return self._bld + + @bld.setter + def bld(self, bld: str): + """Sets the bld of this CivicAddress. + + + :param bld: The bld of this CivicAddress. + :type bld: str + """ + + self._bld = bld + + @property + def unit(self) -> str: + """Gets the unit of this CivicAddress. + + + :return: The unit of this CivicAddress. + :rtype: str + """ + return self._unit + + @unit.setter + def unit(self, unit: str): + """Sets the unit of this CivicAddress. + + + :param unit: The unit of this CivicAddress. + :type unit: str + """ + + self._unit = unit + + @property + def flr(self) -> str: + """Gets the flr of this CivicAddress. + + + :return: The flr of this CivicAddress. + :rtype: str + """ + return self._flr + + @flr.setter + def flr(self, flr: str): + """Sets the flr of this CivicAddress. + + + :param flr: The flr of this CivicAddress. + :type flr: str + """ + + self._flr = flr + + @property + def room(self) -> str: + """Gets the room of this CivicAddress. + + + :return: The room of this CivicAddress. + :rtype: str + """ + return self._room + + @room.setter + def room(self, room: str): + """Sets the room of this CivicAddress. + + + :param room: The room of this CivicAddress. + :type room: str + """ + + self._room = room + + @property + def plc(self) -> str: + """Gets the plc of this CivicAddress. + + + :return: The plc of this CivicAddress. + :rtype: str + """ + return self._plc + + @plc.setter + def plc(self, plc: str): + """Sets the plc of this CivicAddress. + + + :param plc: The plc of this CivicAddress. + :type plc: str + """ + + self._plc = plc + + @property + def pcn(self) -> str: + """Gets the pcn of this CivicAddress. + + + :return: The pcn of this CivicAddress. + :rtype: str + """ + return self._pcn + + @pcn.setter + def pcn(self, pcn: str): + """Sets the pcn of this CivicAddress. + + + :param pcn: The pcn of this CivicAddress. + :type pcn: str + """ + + self._pcn = pcn + + @property + def pobox(self) -> str: + """Gets the pobox of this CivicAddress. + + + :return: The pobox of this CivicAddress. + :rtype: str + """ + return self._pobox + + @pobox.setter + def pobox(self, pobox: str): + """Sets the pobox of this CivicAddress. + + + :param pobox: The pobox of this CivicAddress. + :type pobox: str + """ + + self._pobox = pobox + + @property + def addcode(self) -> str: + """Gets the addcode of this CivicAddress. + + + :return: The addcode of this CivicAddress. + :rtype: str + """ + return self._addcode + + @addcode.setter + def addcode(self, addcode: str): + """Sets the addcode of this CivicAddress. + + + :param addcode: The addcode of this CivicAddress. + :type addcode: str + """ + + self._addcode = addcode + + @property + def seat(self) -> str: + """Gets the seat of this CivicAddress. + + + :return: The seat of this CivicAddress. + :rtype: str + """ + return self._seat + + @seat.setter + def seat(self, seat: str): + """Sets the seat of this CivicAddress. + + + :param seat: The seat of this CivicAddress. + :type seat: str + """ + + self._seat = seat + + @property + def rd(self) -> str: + """Gets the rd of this CivicAddress. + + + :return: The rd of this CivicAddress. + :rtype: str + """ + return self._rd + + @rd.setter + def rd(self, rd: str): + """Sets the rd of this CivicAddress. + + + :param rd: The rd of this CivicAddress. + :type rd: str + """ + + self._rd = rd + + @property + def rdsec(self) -> str: + """Gets the rdsec of this CivicAddress. + + + :return: The rdsec of this CivicAddress. + :rtype: str + """ + return self._rdsec + + @rdsec.setter + def rdsec(self, rdsec: str): + """Sets the rdsec of this CivicAddress. + + + :param rdsec: The rdsec of this CivicAddress. + :type rdsec: str + """ + + self._rdsec = rdsec + + @property + def rdbr(self) -> str: + """Gets the rdbr of this CivicAddress. + + + :return: The rdbr of this CivicAddress. + :rtype: str + """ + return self._rdbr + + @rdbr.setter + def rdbr(self, rdbr: str): + """Sets the rdbr of this CivicAddress. + + + :param rdbr: The rdbr of this CivicAddress. + :type rdbr: str + """ + + self._rdbr = rdbr + + @property + def rdsubbr(self) -> str: + """Gets the rdsubbr of this CivicAddress. + + + :return: The rdsubbr of this CivicAddress. + :rtype: str + """ + return self._rdsubbr + + @rdsubbr.setter + def rdsubbr(self, rdsubbr: str): + """Sets the rdsubbr of this CivicAddress. + + + :param rdsubbr: The rdsubbr of this CivicAddress. + :type rdsubbr: str + """ + + self._rdsubbr = rdsubbr + + @property + def prm(self) -> str: + """Gets the prm of this CivicAddress. + + + :return: The prm of this CivicAddress. + :rtype: str + """ + return self._prm + + @prm.setter + def prm(self, prm: str): + """Sets the prm of this CivicAddress. + + + :param prm: The prm of this CivicAddress. + :type prm: str + """ + + self._prm = prm + + @property + def pom(self) -> str: + """Gets the pom of this CivicAddress. + + + :return: The pom of this CivicAddress. + :rtype: str + """ + return self._pom + + @pom.setter + def pom(self, pom: str): + """Sets the pom of this CivicAddress. + + + :param pom: The pom of this CivicAddress. + :type pom: str + """ + + self._pom = pom + + @property + def usage_rules(self) -> str: + """Gets the usage_rules of this CivicAddress. + + + :return: The usage_rules of this CivicAddress. + :rtype: str + """ + return self._usage_rules + + @usage_rules.setter + def usage_rules(self, usage_rules: str): + """Sets the usage_rules of this CivicAddress. + + + :param usage_rules: The usage_rules of this CivicAddress. + :type usage_rules: str + """ + + self._usage_rules = usage_rules + + @property + def method(self) -> str: + """Gets the method of this CivicAddress. + + + :return: The method of this CivicAddress. + :rtype: str + """ + return self._method + + @method.setter + def method(self, method: str): + """Sets the method of this CivicAddress. + + + :param method: The method of this CivicAddress. + :type method: str + """ + + self._method = method + + @property + def provided_by(self) -> str: + """Gets the provided_by of this CivicAddress. + + + :return: The provided_by of this CivicAddress. + :rtype: str + """ + return self._provided_by + + @provided_by.setter + def provided_by(self, provided_by: str): + """Sets the provided_by of this CivicAddress. + + + :param provided_by: The provided_by of this CivicAddress. + :type provided_by: str + """ + + self._provided_by = provided_by diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/communication_type.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/communication_type.py index 2c4d15f..a91645f 100644 --- a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/communication_type.py +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/communication_type.py @@ -1,15 +1,10 @@ -# coding: utf-8 - -from __future__ import absolute_import from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from published_apis.models.base_model_ import Model -from published_apis.models.communication_type_any_of import CommunicationTypeAnyOf +from published_apis.models.base_model import Model from published_apis import util -from published_apis.models.communication_type_any_of import CommunicationTypeAnyOf # noqa: E501 class CommunicationType(Model): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/communication_type_any_of.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/communication_type_any_of.py deleted file mode 100644 index 8315583..0000000 --- a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/communication_type_any_of.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding: utf-8 - -from __future__ import absolute_import -from datetime import date, datetime # noqa: F401 - -from typing import List, Dict # noqa: F401 - -from published_apis.models.base_model_ import Model -from published_apis import util - - -class CommunicationTypeAnyOf(Model): - """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - - Do not edit the class manually. - """ - - """ - allowed enum values - """ - REQUEST_RESPONSE = "REQUEST_RESPONSE" - SUBSCRIBE_NOTIFY = "SUBSCRIBE_NOTIFY" - def __init__(self): # noqa: E501 - """CommunicationTypeAnyOf - a model defined in OpenAPI - - """ - self.openapi_types = { - } - - self.attribute_map = { - } - - @classmethod - def from_dict(cls, dikt) -> 'CommunicationTypeAnyOf': - """Returns the dict as a model - - :param dikt: A dict. - :type: dict - :return: The CommunicationType_anyOf of this CommunicationTypeAnyOf. # noqa: E501 - :rtype: CommunicationTypeAnyOf - """ - return util.deserialize_model(dikt, cls) diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/custom_operation.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/custom_operation.py index bf1cd38..1f4a66a 100644 --- a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/custom_operation.py +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/custom_operation.py @@ -1,11 +1,8 @@ -# coding: utf-8 - -from __future__ import absolute_import from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from published_apis.models.base_model_ import Model +from published_apis.models.base_model import Model from published_apis.models.communication_type import CommunicationType from published_apis.models.operation import Operation from published_apis import util @@ -62,7 +59,7 @@ class CustomOperation(Model): return util.deserialize_model(dikt, cls) @property - def comm_type(self): + def comm_type(self) -> CommunicationType: """Gets the comm_type of this CustomOperation. @@ -72,7 +69,7 @@ class CustomOperation(Model): return self._comm_type @comm_type.setter - def comm_type(self, comm_type): + def comm_type(self, comm_type: CommunicationType): """Sets the comm_type of this CustomOperation. @@ -85,10 +82,10 @@ class CustomOperation(Model): self._comm_type = comm_type @property - def cust_op_name(self): + def cust_op_name(self) -> str: """Gets the cust_op_name of this CustomOperation. - 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. # noqa: E501 + 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. # noqa: E501 :return: The cust_op_name of this CustomOperation. :rtype: str @@ -96,10 +93,10 @@ class CustomOperation(Model): return self._cust_op_name @cust_op_name.setter - def cust_op_name(self, cust_op_name): + def cust_op_name(self, cust_op_name: str): """Sets the cust_op_name of this CustomOperation. - 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. # noqa: E501 + 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. # noqa: E501 :param cust_op_name: The cust_op_name of this CustomOperation. :type cust_op_name: str @@ -110,10 +107,10 @@ class CustomOperation(Model): self._cust_op_name = cust_op_name @property - def operations(self): + def operations(self) -> List[Operation]: """Gets the operations of this CustomOperation. - Supported HTTP methods for the API resource. Only applicable when the protocol in AefProfile indicates HTTP. # noqa: E501 + Supported HTTP methods for the API resource. Only applicable when the protocol in AefProfile indicates HTTP. # noqa: E501 :return: The operations of this CustomOperation. :rtype: List[Operation] @@ -121,10 +118,10 @@ class CustomOperation(Model): return self._operations @operations.setter - def operations(self, operations): + def operations(self, operations: List[Operation]): """Sets the operations of this CustomOperation. - Supported HTTP methods for the API resource. Only applicable when the protocol in AefProfile indicates HTTP. # noqa: E501 + Supported HTTP methods for the API resource. Only applicable when the protocol in AefProfile indicates HTTP. # noqa: E501 :param operations: The operations of this CustomOperation. :type operations: List[Operation] @@ -135,7 +132,7 @@ class CustomOperation(Model): self._operations = operations @property - def description(self): + def description(self) -> str: """Gets the description of this CustomOperation. Text description of the custom operation # noqa: E501 @@ -146,7 +143,7 @@ class CustomOperation(Model): return self._description @description.setter - def description(self, description): + def description(self, description: str): """Sets the description of this CustomOperation. Text description of the custom operation # noqa: E501 diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/data_format.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/data_format.py index 72e3f15..5c6c907 100644 --- a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/data_format.py +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/data_format.py @@ -1,15 +1,10 @@ -# coding: utf-8 - -from __future__ import absolute_import from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from published_apis.models.base_model_ import Model -from published_apis.models.data_format_any_of import DataFormatAnyOf +from published_apis.models.base_model import Model from published_apis import util -from published_apis.models.data_format_any_of import DataFormatAnyOf # noqa: E501 class DataFormat(Model): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/ellipsoid_arc.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/ellipsoid_arc.py new file mode 100644 index 0000000..ca81b71 --- /dev/null +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/ellipsoid_arc.py @@ -0,0 +1,265 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from published_apis.models.base_model import Model +from published_apis.models.gad_shape import GADShape +from published_apis.models.geographical_coordinates import GeographicalCoordinates +from published_apis.models.supported_gad_shapes import SupportedGADShapes +from published_apis import util + +from published_apis.models.gad_shape import GADShape # noqa: E501 +from published_apis.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 +from published_apis.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 + +class EllipsoidArc(Model): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + """ + + def __init__(self, shape=None, point=None, inner_radius=None, uncertainty_radius=None, offset_angle=None, included_angle=None, confidence=None): # noqa: E501 + """EllipsoidArc - a model defined in OpenAPI + + :param shape: The shape of this EllipsoidArc. # noqa: E501 + :type shape: SupportedGADShapes + :param point: The point of this EllipsoidArc. # noqa: E501 + :type point: GeographicalCoordinates + :param inner_radius: The inner_radius of this EllipsoidArc. # noqa: E501 + :type inner_radius: int + :param uncertainty_radius: The uncertainty_radius of this EllipsoidArc. # noqa: E501 + :type uncertainty_radius: float + :param offset_angle: The offset_angle of this EllipsoidArc. # noqa: E501 + :type offset_angle: int + :param included_angle: The included_angle of this EllipsoidArc. # noqa: E501 + :type included_angle: int + :param confidence: The confidence of this EllipsoidArc. # noqa: E501 + :type confidence: int + """ + self.openapi_types = { + 'shape': SupportedGADShapes, + 'point': GeographicalCoordinates, + 'inner_radius': int, + 'uncertainty_radius': float, + 'offset_angle': int, + 'included_angle': int, + 'confidence': int + } + + self.attribute_map = { + 'shape': 'shape', + 'point': 'point', + 'inner_radius': 'innerRadius', + 'uncertainty_radius': 'uncertaintyRadius', + 'offset_angle': 'offsetAngle', + 'included_angle': 'includedAngle', + 'confidence': 'confidence' + } + + self._shape = shape + self._point = point + self._inner_radius = inner_radius + self._uncertainty_radius = uncertainty_radius + self._offset_angle = offset_angle + self._included_angle = included_angle + self._confidence = confidence + + @classmethod + def from_dict(cls, dikt) -> 'EllipsoidArc': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The EllipsoidArc of this EllipsoidArc. # noqa: E501 + :rtype: EllipsoidArc + """ + return util.deserialize_model(dikt, cls) + + @property + def shape(self) -> SupportedGADShapes: + """Gets the shape of this EllipsoidArc. + + + :return: The shape of this EllipsoidArc. + :rtype: SupportedGADShapes + """ + return self._shape + + @shape.setter + def shape(self, shape: SupportedGADShapes): + """Sets the shape of this EllipsoidArc. + + + :param shape: The shape of this EllipsoidArc. + :type shape: SupportedGADShapes + """ + if shape is None: + raise ValueError("Invalid value for `shape`, must not be `None`") # noqa: E501 + + self._shape = shape + + @property + def point(self) -> GeographicalCoordinates: + """Gets the point of this EllipsoidArc. + + + :return: The point of this EllipsoidArc. + :rtype: GeographicalCoordinates + """ + return self._point + + @point.setter + def point(self, point: GeographicalCoordinates): + """Sets the point of this EllipsoidArc. + + + :param point: The point of this EllipsoidArc. + :type point: GeographicalCoordinates + """ + if point is None: + raise ValueError("Invalid value for `point`, must not be `None`") # noqa: E501 + + self._point = point + + @property + def inner_radius(self) -> int: + """Gets the inner_radius of this EllipsoidArc. + + Indicates value of the inner radius. # noqa: E501 + + :return: The inner_radius of this EllipsoidArc. + :rtype: int + """ + return self._inner_radius + + @inner_radius.setter + def inner_radius(self, inner_radius: int): + """Sets the inner_radius of this EllipsoidArc. + + Indicates value of the inner radius. # noqa: E501 + + :param inner_radius: The inner_radius of this EllipsoidArc. + :type inner_radius: int + """ + if inner_radius is None: + raise ValueError("Invalid value for `inner_radius`, must not be `None`") # noqa: E501 + if inner_radius is not None and inner_radius > 327675: # noqa: E501 + raise ValueError("Invalid value for `inner_radius`, must be a value less than or equal to `327675`") # noqa: E501 + if inner_radius is not None and inner_radius < 0: # noqa: E501 + raise ValueError("Invalid value for `inner_radius`, must be a value greater than or equal to `0`") # noqa: E501 + + self._inner_radius = inner_radius + + @property + def uncertainty_radius(self) -> float: + """Gets the uncertainty_radius of this EllipsoidArc. + + Indicates value of uncertainty. # noqa: E501 + + :return: The uncertainty_radius of this EllipsoidArc. + :rtype: float + """ + return self._uncertainty_radius + + @uncertainty_radius.setter + def uncertainty_radius(self, uncertainty_radius: float): + """Sets the uncertainty_radius of this EllipsoidArc. + + Indicates value of uncertainty. # noqa: E501 + + :param uncertainty_radius: The uncertainty_radius of this EllipsoidArc. + :type uncertainty_radius: float + """ + if uncertainty_radius is None: + raise ValueError("Invalid value for `uncertainty_radius`, must not be `None`") # noqa: E501 + if uncertainty_radius is not None and uncertainty_radius < 0: # noqa: E501 + raise ValueError("Invalid value for `uncertainty_radius`, must be a value greater than or equal to `0`") # noqa: E501 + + self._uncertainty_radius = uncertainty_radius + + @property + def offset_angle(self) -> int: + """Gets the offset_angle of this EllipsoidArc. + + Indicates value of angle. # noqa: E501 + + :return: The offset_angle of this EllipsoidArc. + :rtype: int + """ + return self._offset_angle + + @offset_angle.setter + def offset_angle(self, offset_angle: int): + """Sets the offset_angle of this EllipsoidArc. + + Indicates value of angle. # noqa: E501 + + :param offset_angle: The offset_angle of this EllipsoidArc. + :type offset_angle: int + """ + if offset_angle is None: + raise ValueError("Invalid value for `offset_angle`, must not be `None`") # noqa: E501 + if offset_angle is not None and offset_angle > 360: # noqa: E501 + raise ValueError("Invalid value for `offset_angle`, must be a value less than or equal to `360`") # noqa: E501 + if offset_angle is not None and offset_angle < 0: # noqa: E501 + raise ValueError("Invalid value for `offset_angle`, must be a value greater than or equal to `0`") # noqa: E501 + + self._offset_angle = offset_angle + + @property + def included_angle(self) -> int: + """Gets the included_angle of this EllipsoidArc. + + Indicates value of angle. # noqa: E501 + + :return: The included_angle of this EllipsoidArc. + :rtype: int + """ + return self._included_angle + + @included_angle.setter + def included_angle(self, included_angle: int): + """Sets the included_angle of this EllipsoidArc. + + Indicates value of angle. # noqa: E501 + + :param included_angle: The included_angle of this EllipsoidArc. + :type included_angle: int + """ + if included_angle is None: + raise ValueError("Invalid value for `included_angle`, must not be `None`") # noqa: E501 + if included_angle is not None and included_angle > 360: # noqa: E501 + raise ValueError("Invalid value for `included_angle`, must be a value less than or equal to `360`") # noqa: E501 + if included_angle is not None and included_angle < 0: # noqa: E501 + raise ValueError("Invalid value for `included_angle`, must be a value greater than or equal to `0`") # noqa: E501 + + self._included_angle = included_angle + + @property + def confidence(self) -> int: + """Gets the confidence of this EllipsoidArc. + + Indicates value of confidence. # noqa: E501 + + :return: The confidence of this EllipsoidArc. + :rtype: int + """ + return self._confidence + + @confidence.setter + def confidence(self, confidence: int): + """Sets the confidence of this EllipsoidArc. + + Indicates value of confidence. # noqa: E501 + + :param confidence: The confidence of this EllipsoidArc. + :type confidence: int + """ + if confidence is None: + raise ValueError("Invalid value for `confidence`, must not be `None`") # noqa: E501 + if confidence is not None and confidence > 100: # noqa: E501 + raise ValueError("Invalid value for `confidence`, must be a value less than or equal to `100`") # noqa: E501 + if confidence is not None and confidence < 0: # noqa: E501 + raise ValueError("Invalid value for `confidence`, must be a value greater than or equal to `0`") # noqa: E501 + + self._confidence = confidence diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/gad_shape.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/gad_shape.py new file mode 100644 index 0000000..f475460 --- /dev/null +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/gad_shape.py @@ -0,0 +1,65 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from published_apis.models.base_model import Model +from published_apis.models.supported_gad_shapes import SupportedGADShapes +from published_apis import util + +from published_apis.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 + +class GADShape(Model): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + """ + + def __init__(self, shape=None): # noqa: E501 + """GADShape - a model defined in OpenAPI + + :param shape: The shape of this GADShape. # noqa: E501 + :type shape: SupportedGADShapes + """ + self.openapi_types = { + 'shape': SupportedGADShapes + } + + self.attribute_map = { + 'shape': 'shape' + } + + self._shape = shape + + @classmethod + def from_dict(cls, dikt) -> 'GADShape': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The GADShape of this GADShape. # noqa: E501 + :rtype: GADShape + """ + return util.deserialize_model(dikt, cls) + + @property + def shape(self) -> SupportedGADShapes: + """Gets the shape of this GADShape. + + + :return: The shape of this GADShape. + :rtype: SupportedGADShapes + """ + return self._shape + + @shape.setter + def shape(self, shape: SupportedGADShapes): + """Sets the shape of this GADShape. + + + :param shape: The shape of this GADShape. + :type shape: SupportedGADShapes + """ + if shape is None: + raise ValueError("Invalid value for `shape`, must not be `None`") # noqa: E501 + + self._shape = shape diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/geographic_area.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/geographic_area.py new file mode 100644 index 0000000..0fa074c --- /dev/null +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/geographic_area.py @@ -0,0 +1,471 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from published_apis.models.base_model import Model +from published_apis.models.ellipsoid_arc import EllipsoidArc +from published_apis.models.geographical_coordinates import GeographicalCoordinates +from published_apis.models.point import Point +from published_apis.models.point_altitude import PointAltitude +from published_apis.models.point_altitude_uncertainty import PointAltitudeUncertainty +from published_apis.models.point_uncertainty_circle import PointUncertaintyCircle +from published_apis.models.point_uncertainty_ellipse import PointUncertaintyEllipse +from published_apis.models.polygon import Polygon +from published_apis.models.supported_gad_shapes import SupportedGADShapes +from published_apis.models.uncertainty_ellipse import UncertaintyEllipse +from published_apis import util + +from published_apis.models.ellipsoid_arc import EllipsoidArc # noqa: E501 +from published_apis.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 +from published_apis.models.point import Point # noqa: E501 +from published_apis.models.point_altitude import PointAltitude # noqa: E501 +from published_apis.models.point_altitude_uncertainty import PointAltitudeUncertainty # noqa: E501 +from published_apis.models.point_uncertainty_circle import PointUncertaintyCircle # noqa: E501 +from published_apis.models.point_uncertainty_ellipse import PointUncertaintyEllipse # noqa: E501 +from published_apis.models.polygon import Polygon # noqa: E501 +from published_apis.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 +from published_apis.models.uncertainty_ellipse import UncertaintyEllipse # noqa: E501 + +class GeographicArea(Model): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + """ + + def __init__(self, shape=None, point=None, uncertainty=None, uncertainty_ellipse=None, confidence=None, point_list=None, altitude=None, uncertainty_altitude=None, v_confidence=None, inner_radius=None, uncertainty_radius=None, offset_angle=None, included_angle=None): # noqa: E501 + """GeographicArea - a model defined in OpenAPI + + :param shape: The shape of this GeographicArea. # noqa: E501 + :type shape: SupportedGADShapes + :param point: The point of this GeographicArea. # noqa: E501 + :type point: GeographicalCoordinates + :param uncertainty: The uncertainty of this GeographicArea. # noqa: E501 + :type uncertainty: float + :param uncertainty_ellipse: The uncertainty_ellipse of this GeographicArea. # noqa: E501 + :type uncertainty_ellipse: UncertaintyEllipse + :param confidence: The confidence of this GeographicArea. # noqa: E501 + :type confidence: int + :param point_list: The point_list of this GeographicArea. # noqa: E501 + :type point_list: List[GeographicalCoordinates] + :param altitude: The altitude of this GeographicArea. # noqa: E501 + :type altitude: float + :param uncertainty_altitude: The uncertainty_altitude of this GeographicArea. # noqa: E501 + :type uncertainty_altitude: float + :param v_confidence: The v_confidence of this GeographicArea. # noqa: E501 + :type v_confidence: int + :param inner_radius: The inner_radius of this GeographicArea. # noqa: E501 + :type inner_radius: int + :param uncertainty_radius: The uncertainty_radius of this GeographicArea. # noqa: E501 + :type uncertainty_radius: float + :param offset_angle: The offset_angle of this GeographicArea. # noqa: E501 + :type offset_angle: int + :param included_angle: The included_angle of this GeographicArea. # noqa: E501 + :type included_angle: int + """ + self.openapi_types = { + 'shape': SupportedGADShapes, + 'point': GeographicalCoordinates, + 'uncertainty': float, + 'uncertainty_ellipse': UncertaintyEllipse, + 'confidence': int, + 'point_list': List[GeographicalCoordinates], + 'altitude': float, + 'uncertainty_altitude': float, + 'v_confidence': int, + 'inner_radius': int, + 'uncertainty_radius': float, + 'offset_angle': int, + 'included_angle': int + } + + self.attribute_map = { + 'shape': 'shape', + 'point': 'point', + 'uncertainty': 'uncertainty', + 'uncertainty_ellipse': 'uncertaintyEllipse', + 'confidence': 'confidence', + 'point_list': 'pointList', + 'altitude': 'altitude', + 'uncertainty_altitude': 'uncertaintyAltitude', + 'v_confidence': 'vConfidence', + 'inner_radius': 'innerRadius', + 'uncertainty_radius': 'uncertaintyRadius', + 'offset_angle': 'offsetAngle', + 'included_angle': 'includedAngle' + } + + self._shape = shape + self._point = point + self._uncertainty = uncertainty + self._uncertainty_ellipse = uncertainty_ellipse + self._confidence = confidence + self._point_list = point_list + self._altitude = altitude + self._uncertainty_altitude = uncertainty_altitude + self._v_confidence = v_confidence + self._inner_radius = inner_radius + self._uncertainty_radius = uncertainty_radius + self._offset_angle = offset_angle + self._included_angle = included_angle + + @classmethod + def from_dict(cls, dikt) -> 'GeographicArea': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The GeographicArea of this GeographicArea. # noqa: E501 + :rtype: GeographicArea + """ + return util.deserialize_model(dikt, cls) + + @property + def shape(self) -> SupportedGADShapes: + """Gets the shape of this GeographicArea. + + + :return: The shape of this GeographicArea. + :rtype: SupportedGADShapes + """ + return self._shape + + @shape.setter + def shape(self, shape: SupportedGADShapes): + """Sets the shape of this GeographicArea. + + + :param shape: The shape of this GeographicArea. + :type shape: SupportedGADShapes + """ + if shape is None: + raise ValueError("Invalid value for `shape`, must not be `None`") # noqa: E501 + + self._shape = shape + + @property + def point(self) -> GeographicalCoordinates: + """Gets the point of this GeographicArea. + + + :return: The point of this GeographicArea. + :rtype: GeographicalCoordinates + """ + return self._point + + @point.setter + def point(self, point: GeographicalCoordinates): + """Sets the point of this GeographicArea. + + + :param point: The point of this GeographicArea. + :type point: GeographicalCoordinates + """ + if point is None: + raise ValueError("Invalid value for `point`, must not be `None`") # noqa: E501 + + self._point = point + + @property + def uncertainty(self) -> float: + """Gets the uncertainty of this GeographicArea. + + Indicates value of uncertainty. # noqa: E501 + + :return: The uncertainty of this GeographicArea. + :rtype: float + """ + return self._uncertainty + + @uncertainty.setter + def uncertainty(self, uncertainty: float): + """Sets the uncertainty of this GeographicArea. + + Indicates value of uncertainty. # noqa: E501 + + :param uncertainty: The uncertainty of this GeographicArea. + :type uncertainty: float + """ + if uncertainty is None: + raise ValueError("Invalid value for `uncertainty`, must not be `None`") # noqa: E501 + if uncertainty is not None and uncertainty < 0: # noqa: E501 + raise ValueError("Invalid value for `uncertainty`, must be a value greater than or equal to `0`") # noqa: E501 + + self._uncertainty = uncertainty + + @property + def uncertainty_ellipse(self) -> UncertaintyEllipse: + """Gets the uncertainty_ellipse of this GeographicArea. + + + :return: The uncertainty_ellipse of this GeographicArea. + :rtype: UncertaintyEllipse + """ + return self._uncertainty_ellipse + + @uncertainty_ellipse.setter + def uncertainty_ellipse(self, uncertainty_ellipse: UncertaintyEllipse): + """Sets the uncertainty_ellipse of this GeographicArea. + + + :param uncertainty_ellipse: The uncertainty_ellipse of this GeographicArea. + :type uncertainty_ellipse: UncertaintyEllipse + """ + if uncertainty_ellipse is None: + raise ValueError("Invalid value for `uncertainty_ellipse`, must not be `None`") # noqa: E501 + + self._uncertainty_ellipse = uncertainty_ellipse + + @property + def confidence(self) -> int: + """Gets the confidence of this GeographicArea. + + Indicates value of confidence. # noqa: E501 + + :return: The confidence of this GeographicArea. + :rtype: int + """ + return self._confidence + + @confidence.setter + def confidence(self, confidence: int): + """Sets the confidence of this GeographicArea. + + Indicates value of confidence. # noqa: E501 + + :param confidence: The confidence of this GeographicArea. + :type confidence: int + """ + if confidence is None: + raise ValueError("Invalid value for `confidence`, must not be `None`") # noqa: E501 + if confidence is not None and confidence > 100: # noqa: E501 + raise ValueError("Invalid value for `confidence`, must be a value less than or equal to `100`") # noqa: E501 + if confidence is not None and confidence < 0: # noqa: E501 + raise ValueError("Invalid value for `confidence`, must be a value greater than or equal to `0`") # noqa: E501 + + self._confidence = confidence + + @property + def point_list(self) -> List[GeographicalCoordinates]: + """Gets the point_list of this GeographicArea. + + List of points. # noqa: E501 + + :return: The point_list of this GeographicArea. + :rtype: List[GeographicalCoordinates] + """ + return self._point_list + + @point_list.setter + def point_list(self, point_list: List[GeographicalCoordinates]): + """Sets the point_list of this GeographicArea. + + List of points. # noqa: E501 + + :param point_list: The point_list of this GeographicArea. + :type point_list: List[GeographicalCoordinates] + """ + if point_list is None: + raise ValueError("Invalid value for `point_list`, must not be `None`") # noqa: E501 + if point_list is not None and len(point_list) > 15: + raise ValueError("Invalid value for `point_list`, number of items must be less than or equal to `15`") # noqa: E501 + if point_list is not None and len(point_list) < 3: + raise ValueError("Invalid value for `point_list`, number of items must be greater than or equal to `3`") # noqa: E501 + + self._point_list = point_list + + @property + def altitude(self) -> float: + """Gets the altitude of this GeographicArea. + + Indicates value of altitude. # noqa: E501 + + :return: The altitude of this GeographicArea. + :rtype: float + """ + return self._altitude + + @altitude.setter + def altitude(self, altitude: float): + """Sets the altitude of this GeographicArea. + + Indicates value of altitude. # noqa: E501 + + :param altitude: The altitude of this GeographicArea. + :type altitude: float + """ + if altitude is None: + raise ValueError("Invalid value for `altitude`, must not be `None`") # noqa: E501 + if altitude is not None and altitude > 32767: # noqa: E501 + raise ValueError("Invalid value for `altitude`, must be a value less than or equal to `32767`") # noqa: E501 + if altitude is not None and altitude < -32767: # noqa: E501 + raise ValueError("Invalid value for `altitude`, must be a value greater than or equal to `-32767`") # noqa: E501 + + self._altitude = altitude + + @property + def uncertainty_altitude(self) -> float: + """Gets the uncertainty_altitude of this GeographicArea. + + Indicates value of uncertainty. # noqa: E501 + + :return: The uncertainty_altitude of this GeographicArea. + :rtype: float + """ + return self._uncertainty_altitude + + @uncertainty_altitude.setter + def uncertainty_altitude(self, uncertainty_altitude: float): + """Sets the uncertainty_altitude of this GeographicArea. + + Indicates value of uncertainty. # noqa: E501 + + :param uncertainty_altitude: The uncertainty_altitude of this GeographicArea. + :type uncertainty_altitude: float + """ + if uncertainty_altitude is None: + raise ValueError("Invalid value for `uncertainty_altitude`, must not be `None`") # noqa: E501 + if uncertainty_altitude is not None and uncertainty_altitude < 0: # noqa: E501 + raise ValueError("Invalid value for `uncertainty_altitude`, must be a value greater than or equal to `0`") # noqa: E501 + + self._uncertainty_altitude = uncertainty_altitude + + @property + def v_confidence(self) -> int: + """Gets the v_confidence of this GeographicArea. + + Indicates value of confidence. # noqa: E501 + + :return: The v_confidence of this GeographicArea. + :rtype: int + """ + return self._v_confidence + + @v_confidence.setter + def v_confidence(self, v_confidence: int): + """Sets the v_confidence of this GeographicArea. + + Indicates value of confidence. # noqa: E501 + + :param v_confidence: The v_confidence of this GeographicArea. + :type v_confidence: int + """ + if v_confidence is not None and v_confidence > 100: # noqa: E501 + raise ValueError("Invalid value for `v_confidence`, must be a value less than or equal to `100`") # noqa: E501 + if v_confidence is not None and v_confidence < 0: # noqa: E501 + raise ValueError("Invalid value for `v_confidence`, must be a value greater than or equal to `0`") # noqa: E501 + + self._v_confidence = v_confidence + + @property + def inner_radius(self) -> int: + """Gets the inner_radius of this GeographicArea. + + Indicates value of the inner radius. # noqa: E501 + + :return: The inner_radius of this GeographicArea. + :rtype: int + """ + return self._inner_radius + + @inner_radius.setter + def inner_radius(self, inner_radius: int): + """Sets the inner_radius of this GeographicArea. + + Indicates value of the inner radius. # noqa: E501 + + :param inner_radius: The inner_radius of this GeographicArea. + :type inner_radius: int + """ + if inner_radius is None: + raise ValueError("Invalid value for `inner_radius`, must not be `None`") # noqa: E501 + if inner_radius is not None and inner_radius > 327675: # noqa: E501 + raise ValueError("Invalid value for `inner_radius`, must be a value less than or equal to `327675`") # noqa: E501 + if inner_radius is not None and inner_radius < 0: # noqa: E501 + raise ValueError("Invalid value for `inner_radius`, must be a value greater than or equal to `0`") # noqa: E501 + + self._inner_radius = inner_radius + + @property + def uncertainty_radius(self) -> float: + """Gets the uncertainty_radius of this GeographicArea. + + Indicates value of uncertainty. # noqa: E501 + + :return: The uncertainty_radius of this GeographicArea. + :rtype: float + """ + return self._uncertainty_radius + + @uncertainty_radius.setter + def uncertainty_radius(self, uncertainty_radius: float): + """Sets the uncertainty_radius of this GeographicArea. + + Indicates value of uncertainty. # noqa: E501 + + :param uncertainty_radius: The uncertainty_radius of this GeographicArea. + :type uncertainty_radius: float + """ + if uncertainty_radius is None: + raise ValueError("Invalid value for `uncertainty_radius`, must not be `None`") # noqa: E501 + if uncertainty_radius is not None and uncertainty_radius < 0: # noqa: E501 + raise ValueError("Invalid value for `uncertainty_radius`, must be a value greater than or equal to `0`") # noqa: E501 + + self._uncertainty_radius = uncertainty_radius + + @property + def offset_angle(self) -> int: + """Gets the offset_angle of this GeographicArea. + + Indicates value of angle. # noqa: E501 + + :return: The offset_angle of this GeographicArea. + :rtype: int + """ + return self._offset_angle + + @offset_angle.setter + def offset_angle(self, offset_angle: int): + """Sets the offset_angle of this GeographicArea. + + Indicates value of angle. # noqa: E501 + + :param offset_angle: The offset_angle of this GeographicArea. + :type offset_angle: int + """ + if offset_angle is None: + raise ValueError("Invalid value for `offset_angle`, must not be `None`") # noqa: E501 + if offset_angle is not None and offset_angle > 360: # noqa: E501 + raise ValueError("Invalid value for `offset_angle`, must be a value less than or equal to `360`") # noqa: E501 + if offset_angle is not None and offset_angle < 0: # noqa: E501 + raise ValueError("Invalid value for `offset_angle`, must be a value greater than or equal to `0`") # noqa: E501 + + self._offset_angle = offset_angle + + @property + def included_angle(self) -> int: + """Gets the included_angle of this GeographicArea. + + Indicates value of angle. # noqa: E501 + + :return: The included_angle of this GeographicArea. + :rtype: int + """ + return self._included_angle + + @included_angle.setter + def included_angle(self, included_angle: int): + """Sets the included_angle of this GeographicArea. + + Indicates value of angle. # noqa: E501 + + :param included_angle: The included_angle of this GeographicArea. + :type included_angle: int + """ + if included_angle is None: + raise ValueError("Invalid value for `included_angle`, must not be `None`") # noqa: E501 + if included_angle is not None and included_angle > 360: # noqa: E501 + raise ValueError("Invalid value for `included_angle`, must be a value less than or equal to `360`") # noqa: E501 + if included_angle is not None and included_angle < 0: # noqa: E501 + raise ValueError("Invalid value for `included_angle`, must be a value greater than or equal to `0`") # noqa: E501 + + self._included_angle = included_angle diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/geographical_coordinates.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/geographical_coordinates.py new file mode 100644 index 0000000..49c5976 --- /dev/null +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/geographical_coordinates.py @@ -0,0 +1,99 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from published_apis.models.base_model import Model +from published_apis import util + + +class GeographicalCoordinates(Model): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + """ + + def __init__(self, lon=None, lat=None): # noqa: E501 + """GeographicalCoordinates - a model defined in OpenAPI + + :param lon: The lon of this GeographicalCoordinates. # noqa: E501 + :type lon: float + :param lat: The lat of this GeographicalCoordinates. # noqa: E501 + :type lat: float + """ + self.openapi_types = { + 'lon': float, + 'lat': float + } + + self.attribute_map = { + 'lon': 'lon', + 'lat': 'lat' + } + + self._lon = lon + self._lat = lat + + @classmethod + def from_dict(cls, dikt) -> 'GeographicalCoordinates': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The GeographicalCoordinates of this GeographicalCoordinates. # noqa: E501 + :rtype: GeographicalCoordinates + """ + return util.deserialize_model(dikt, cls) + + @property + def lon(self) -> float: + """Gets the lon of this GeographicalCoordinates. + + + :return: The lon of this GeographicalCoordinates. + :rtype: float + """ + return self._lon + + @lon.setter + def lon(self, lon: float): + """Sets the lon of this GeographicalCoordinates. + + + :param lon: The lon of this GeographicalCoordinates. + :type lon: float + """ + if lon is None: + raise ValueError("Invalid value for `lon`, must not be `None`") # noqa: E501 + if lon is not None and lon > 180: # noqa: E501 + raise ValueError("Invalid value for `lon`, must be a value less than or equal to `180`") # noqa: E501 + if lon is not None and lon < -180: # noqa: E501 + raise ValueError("Invalid value for `lon`, must be a value greater than or equal to `-180`") # noqa: E501 + + self._lon = lon + + @property + def lat(self) -> float: + """Gets the lat of this GeographicalCoordinates. + + + :return: The lat of this GeographicalCoordinates. + :rtype: float + """ + return self._lat + + @lat.setter + def lat(self, lat: float): + """Sets the lat of this GeographicalCoordinates. + + + :param lat: The lat of this GeographicalCoordinates. + :type lat: float + """ + if lat is None: + raise ValueError("Invalid value for `lat`, must not be `None`") # noqa: E501 + if lat is not None and lat > 90: # noqa: E501 + raise ValueError("Invalid value for `lat`, must be a value less than or equal to `90`") # noqa: E501 + if lat is not None and lat < -90: # noqa: E501 + raise ValueError("Invalid value for `lat`, must be a value greater than or equal to `-90`") # noqa: E501 + + self._lat = lat diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/interface_description.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/interface_description.py index fd7e5b5..9707c01 100644 --- a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/interface_description.py +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/interface_description.py @@ -1,15 +1,14 @@ -# coding: utf-8 - -from __future__ import absolute_import from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from published_apis.models.base_model_ import Model +from published_apis.models.base_model import Model from published_apis.models.security_method import SecurityMethod +import re from published_apis import util from published_apis.models.security_method import SecurityMethod # noqa: E501 +import re # noqa: E501 class InterfaceDescription(Model): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -17,35 +16,45 @@ class InterfaceDescription(Model): Do not edit the class manually. """ - def __init__(self, ipv4_addr=None, ipv6_addr=None, port=None, security_methods=None): # noqa: E501 + def __init__(self, ipv4_addr=None, ipv6_addr=None, fqdn=None, port=None, api_prefix=None, security_methods=None): # noqa: E501 """InterfaceDescription - a model defined in OpenAPI :param ipv4_addr: The ipv4_addr of this InterfaceDescription. # noqa: E501 :type ipv4_addr: str :param ipv6_addr: The ipv6_addr of this InterfaceDescription. # noqa: E501 :type ipv6_addr: str + :param fqdn: The fqdn of this InterfaceDescription. # noqa: E501 + :type fqdn: str :param port: The port of this InterfaceDescription. # noqa: E501 :type port: int + :param api_prefix: The api_prefix of this InterfaceDescription. # noqa: E501 + :type api_prefix: str :param security_methods: The security_methods of this InterfaceDescription. # noqa: E501 :type security_methods: List[SecurityMethod] """ self.openapi_types = { 'ipv4_addr': str, 'ipv6_addr': str, + 'fqdn': str, 'port': int, + 'api_prefix': str, 'security_methods': List[SecurityMethod] } self.attribute_map = { 'ipv4_addr': 'ipv4Addr', 'ipv6_addr': 'ipv6Addr', + 'fqdn': 'fqdn', 'port': 'port', + 'api_prefix': 'apiPrefix', 'security_methods': 'securityMethods' } self._ipv4_addr = ipv4_addr self._ipv6_addr = ipv6_addr + self._fqdn = fqdn self._port = port + self._api_prefix = api_prefix self._security_methods = security_methods @classmethod @@ -60,10 +69,10 @@ class InterfaceDescription(Model): return util.deserialize_model(dikt, cls) @property - def ipv4_addr(self): + def ipv4_addr(self) -> str: """Gets the ipv4_addr of this InterfaceDescription. - string identifying a Ipv4 address formatted in the \"dotted decimal\" notation as defined in IETF RFC 1166. # noqa: E501 + string identifying a Ipv4 address formatted in the \"dotted decimal\" notation as defined in IETF RFC 1166. # noqa: E501 :return: The ipv4_addr of this InterfaceDescription. :rtype: str @@ -71,10 +80,10 @@ class InterfaceDescription(Model): return self._ipv4_addr @ipv4_addr.setter - def ipv4_addr(self, ipv4_addr): + def ipv4_addr(self, ipv4_addr: str): """Sets the ipv4_addr of this InterfaceDescription. - string identifying a Ipv4 address formatted in the \"dotted decimal\" notation as defined in IETF RFC 1166. # noqa: E501 + string identifying a Ipv4 address formatted in the \"dotted decimal\" notation as defined in IETF RFC 1166. # noqa: E501 :param ipv4_addr: The ipv4_addr of this InterfaceDescription. :type ipv4_addr: str @@ -83,10 +92,10 @@ class InterfaceDescription(Model): self._ipv4_addr = ipv4_addr @property - def ipv6_addr(self): + def ipv6_addr(self) -> str: """Gets the ipv6_addr of this InterfaceDescription. - string identifying a Ipv6 address formatted according to clause 4 in IETF RFC 5952. The mixed Ipv4 Ipv6 notation according to clause 5 of IETF RFC 5952 shall not be used. # noqa: E501 + string identifying a Ipv6 address formatted according to clause 4 in IETF RFC 5952. The mixed Ipv4 Ipv6 notation according to clause 5 of IETF RFC 5952 shall not be used. # noqa: E501 :return: The ipv6_addr of this InterfaceDescription. :rtype: str @@ -94,10 +103,10 @@ class InterfaceDescription(Model): return self._ipv6_addr @ipv6_addr.setter - def ipv6_addr(self, ipv6_addr): + def ipv6_addr(self, ipv6_addr: str): """Sets the ipv6_addr of this InterfaceDescription. - string identifying a Ipv6 address formatted according to clause 4 in IETF RFC 5952. The mixed Ipv4 Ipv6 notation according to clause 5 of IETF RFC 5952 shall not be used. # noqa: E501 + string identifying a Ipv6 address formatted according to clause 4 in IETF RFC 5952. The mixed Ipv4 Ipv6 notation according to clause 5 of IETF RFC 5952 shall not be used. # noqa: E501 :param ipv6_addr: The ipv6_addr of this InterfaceDescription. :type ipv6_addr: str @@ -106,7 +115,36 @@ class InterfaceDescription(Model): self._ipv6_addr = ipv6_addr @property - def port(self): + def fqdn(self) -> str: + """Gets the fqdn of this InterfaceDescription. + + Fully Qualified Domain Name # noqa: E501 + + :return: The fqdn of this InterfaceDescription. + :rtype: str + """ + return self._fqdn + + @fqdn.setter + def fqdn(self, fqdn: str): + """Sets the fqdn of this InterfaceDescription. + + Fully Qualified Domain Name # noqa: E501 + + :param fqdn: The fqdn of this InterfaceDescription. + :type fqdn: str + """ + if fqdn is not None and len(fqdn) > 253: + raise ValueError("Invalid value for `fqdn`, length must be less than or equal to `253`") # noqa: E501 + if fqdn is not None and len(fqdn) < 4: + raise ValueError("Invalid value for `fqdn`, length must be greater than or equal to `4`") # noqa: E501 + if fqdn is not None and not re.search(r'^([0-9A-Za-z]([-0-9A-Za-z]{0,61}[0-9A-Za-z])?\.)+[A-Za-z]{2,63}\.?$', fqdn): # noqa: E501 + raise ValueError("Invalid value for `fqdn`, must be a follow pattern or equal to `/^([0-9A-Za-z]([-0-9A-Za-z]{0,61}[0-9A-Za-z])?\.)+[A-Za-z]{2,63}\.?$/`") # noqa: E501 + + self._fqdn = fqdn + + @property + def port(self) -> int: """Gets the port of this InterfaceDescription. Unsigned integer with valid values between 0 and 65535. # noqa: E501 @@ -117,7 +155,7 @@ class InterfaceDescription(Model): return self._port @port.setter - def port(self, port): + def port(self, port: int): """Sets the port of this InterfaceDescription. Unsigned integer with valid values between 0 and 65535. # noqa: E501 @@ -133,10 +171,33 @@ class InterfaceDescription(Model): self._port = port @property - def security_methods(self): + def api_prefix(self) -> str: + """Gets the api_prefix of this InterfaceDescription. + + A string representing a sequence of path segments that starts with the slash character. # noqa: E501 + + :return: The api_prefix of this InterfaceDescription. + :rtype: str + """ + return self._api_prefix + + @api_prefix.setter + def api_prefix(self, api_prefix: str): + """Sets the api_prefix of this InterfaceDescription. + + A string representing a sequence of path segments that starts with the slash character. # noqa: E501 + + :param api_prefix: The api_prefix of this InterfaceDescription. + :type api_prefix: str + """ + + self._api_prefix = api_prefix + + @property + def security_methods(self) -> List[SecurityMethod]: """Gets the security_methods of this InterfaceDescription. - Security methods supported by the interface, it take precedence over the security methods provided in AefProfile, for this specific interface. # noqa: E501 + Security methods supported by the interface, it take precedence over the security methods provided in AefProfile, for this specific interface. # noqa: E501 :return: The security_methods of this InterfaceDescription. :rtype: List[SecurityMethod] @@ -144,10 +205,10 @@ class InterfaceDescription(Model): return self._security_methods @security_methods.setter - def security_methods(self, security_methods): + def security_methods(self, security_methods: List[SecurityMethod]): """Sets the security_methods of this InterfaceDescription. - Security methods supported by the interface, it take precedence over the security methods provided in AefProfile, for this specific interface. # noqa: E501 + Security methods supported by the interface, it take precedence over the security methods provided in AefProfile, for this specific interface. # noqa: E501 :param security_methods: The security_methods of this InterfaceDescription. :type security_methods: List[SecurityMethod] diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/invalid_param.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/invalid_param.py index 8e794cf..16472ec 100644 --- a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/invalid_param.py +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/invalid_param.py @@ -1,11 +1,8 @@ -# coding: utf-8 - -from __future__ import absolute_import from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from published_apis.models.base_model_ import Model +from published_apis.models.base_model import Model from published_apis import util @@ -48,7 +45,7 @@ class InvalidParam(Model): return util.deserialize_model(dikt, cls) @property - def param(self): + def param(self) -> str: """Gets the param of this InvalidParam. Attribute's name encoded as a JSON Pointer, or header's name. # noqa: E501 @@ -59,7 +56,7 @@ class InvalidParam(Model): return self._param @param.setter - def param(self, param): + def param(self, param: str): """Sets the param of this InvalidParam. Attribute's name encoded as a JSON Pointer, or header's name. # noqa: E501 @@ -73,7 +70,7 @@ class InvalidParam(Model): self._param = param @property - def reason(self): + def reason(self) -> str: """Gets the reason of this InvalidParam. A human-readable reason, e.g. \"must be a positive integer\". # noqa: E501 @@ -84,7 +81,7 @@ class InvalidParam(Model): return self._reason @reason.setter - def reason(self, reason): + def reason(self, reason: str): """Sets the reason of this InvalidParam. A human-readable reason, e.g. \"must be a positive integer\". # noqa: E501 diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/ip_addr_range.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/ip_addr_range.py new file mode 100644 index 0000000..7934c22 --- /dev/null +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/ip_addr_range.py @@ -0,0 +1,99 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from published_apis.models.base_model import Model +from published_apis.models.ipv4_address_range import Ipv4AddressRange +from published_apis.models.ipv6_address_range import Ipv6AddressRange +from published_apis import util + +from published_apis.models.ipv4_address_range import Ipv4AddressRange # noqa: E501 +from published_apis.models.ipv6_address_range import Ipv6AddressRange # noqa: E501 + +class IpAddrRange(Model): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + """ + + def __init__(self, ue_ipv4_addr_ranges=None, ue_ipv6_addr_ranges=None): # noqa: E501 + """IpAddrRange - a model defined in OpenAPI + + :param ue_ipv4_addr_ranges: The ue_ipv4_addr_ranges of this IpAddrRange. # noqa: E501 + :type ue_ipv4_addr_ranges: List[Ipv4AddressRange] + :param ue_ipv6_addr_ranges: The ue_ipv6_addr_ranges of this IpAddrRange. # noqa: E501 + :type ue_ipv6_addr_ranges: List[Ipv6AddressRange] + """ + self.openapi_types = { + 'ue_ipv4_addr_ranges': List[Ipv4AddressRange], + 'ue_ipv6_addr_ranges': List[Ipv6AddressRange] + } + + self.attribute_map = { + 'ue_ipv4_addr_ranges': 'ueIpv4AddrRanges', + 'ue_ipv6_addr_ranges': 'ueIpv6AddrRanges' + } + + self._ue_ipv4_addr_ranges = ue_ipv4_addr_ranges + self._ue_ipv6_addr_ranges = ue_ipv6_addr_ranges + + @classmethod + def from_dict(cls, dikt) -> 'IpAddrRange': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The IpAddrRange of this IpAddrRange. # noqa: E501 + :rtype: IpAddrRange + """ + return util.deserialize_model(dikt, cls) + + @property + def ue_ipv4_addr_ranges(self) -> List[Ipv4AddressRange]: + """Gets the ue_ipv4_addr_ranges of this IpAddrRange. + + Represents the IPv4 Address ranges of the UE(s). # noqa: E501 + + :return: The ue_ipv4_addr_ranges of this IpAddrRange. + :rtype: List[Ipv4AddressRange] + """ + return self._ue_ipv4_addr_ranges + + @ue_ipv4_addr_ranges.setter + def ue_ipv4_addr_ranges(self, ue_ipv4_addr_ranges: List[Ipv4AddressRange]): + """Sets the ue_ipv4_addr_ranges of this IpAddrRange. + + Represents the IPv4 Address ranges of the UE(s). # noqa: E501 + + :param ue_ipv4_addr_ranges: The ue_ipv4_addr_ranges of this IpAddrRange. + :type ue_ipv4_addr_ranges: List[Ipv4AddressRange] + """ + if ue_ipv4_addr_ranges is not None and len(ue_ipv4_addr_ranges) < 1: + raise ValueError("Invalid value for `ue_ipv4_addr_ranges`, number of items must be greater than or equal to `1`") # noqa: E501 + + self._ue_ipv4_addr_ranges = ue_ipv4_addr_ranges + + @property + def ue_ipv6_addr_ranges(self) -> List[Ipv6AddressRange]: + """Gets the ue_ipv6_addr_ranges of this IpAddrRange. + + Represents the Ipv6 Address ranges of the UE(s). # noqa: E501 + + :return: The ue_ipv6_addr_ranges of this IpAddrRange. + :rtype: List[Ipv6AddressRange] + """ + return self._ue_ipv6_addr_ranges + + @ue_ipv6_addr_ranges.setter + def ue_ipv6_addr_ranges(self, ue_ipv6_addr_ranges: List[Ipv6AddressRange]): + """Sets the ue_ipv6_addr_ranges of this IpAddrRange. + + Represents the Ipv6 Address ranges of the UE(s). # noqa: E501 + + :param ue_ipv6_addr_ranges: The ue_ipv6_addr_ranges of this IpAddrRange. + :type ue_ipv6_addr_ranges: List[Ipv6AddressRange] + """ + if ue_ipv6_addr_ranges is not None and len(ue_ipv6_addr_ranges) < 1: + raise ValueError("Invalid value for `ue_ipv6_addr_ranges`, number of items must be greater than or equal to `1`") # noqa: E501 + + self._ue_ipv6_addr_ranges = ue_ipv6_addr_ranges diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/ipv4_address_range.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/ipv4_address_range.py new file mode 100644 index 0000000..11c7e16 --- /dev/null +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/ipv4_address_range.py @@ -0,0 +1,101 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from published_apis.models.base_model import Model +import re +from published_apis import util + +import re # noqa: E501 + +class Ipv4AddressRange(Model): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + """ + + def __init__(self, start=None, end=None): # noqa: E501 + """Ipv4AddressRange - a model defined in OpenAPI + + :param start: The start of this Ipv4AddressRange. # noqa: E501 + :type start: str + :param end: The end of this Ipv4AddressRange. # noqa: E501 + :type end: str + """ + self.openapi_types = { + 'start': str, + 'end': str + } + + self.attribute_map = { + 'start': 'start', + 'end': 'end' + } + + self._start = start + self._end = end + + @classmethod + def from_dict(cls, dikt) -> 'Ipv4AddressRange': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The Ipv4AddressRange of this Ipv4AddressRange. # noqa: E501 + :rtype: Ipv4AddressRange + """ + return util.deserialize_model(dikt, cls) + + @property + def start(self) -> str: + """Gets the start of this Ipv4AddressRange. + + String identifying a IPv4 address formatted in the 'dotted decimal' notation as defined in RFC 1166. # noqa: E501 + + :return: The start of this Ipv4AddressRange. + :rtype: str + """ + return self._start + + @start.setter + def start(self, start: str): + """Sets the start of this Ipv4AddressRange. + + String identifying a IPv4 address formatted in the 'dotted decimal' notation as defined in RFC 1166. # noqa: E501 + + :param start: The start of this Ipv4AddressRange. + :type start: str + """ + if start is None: + raise ValueError("Invalid value for `start`, must not be `None`") # noqa: E501 + if start is not None and not re.search(r'^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$', start): # noqa: E501 + raise ValueError("Invalid value for `start`, must be a follow pattern or equal to `/^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$/`") # noqa: E501 + + self._start = start + + @property + def end(self) -> str: + """Gets the end of this Ipv4AddressRange. + + String identifying a IPv4 address formatted in the 'dotted decimal' notation as defined in RFC 1166. # noqa: E501 + + :return: The end of this Ipv4AddressRange. + :rtype: str + """ + return self._end + + @end.setter + def end(self, end: str): + """Sets the end of this Ipv4AddressRange. + + String identifying a IPv4 address formatted in the 'dotted decimal' notation as defined in RFC 1166. # noqa: E501 + + :param end: The end of this Ipv4AddressRange. + :type end: str + """ + if end is None: + raise ValueError("Invalid value for `end`, must not be `None`") # noqa: E501 + if end is not None and not re.search(r'^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$', end): # noqa: E501 + raise ValueError("Invalid value for `end`, must be a follow pattern or equal to `/^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$/`") # noqa: E501 + + self._end = end diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/data_format_any_of.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/ipv6_addr1.py similarity index 58% rename from services/TS29222_CAPIF_Publish_Service_API/published_apis/models/data_format_any_of.py rename to services/TS29222_CAPIF_Publish_Service_API/published_apis/models/ipv6_addr1.py index 726b386..268ec66 100644 --- a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/data_format_any_of.py +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/ipv6_addr1.py @@ -1,26 +1,19 @@ -# coding: utf-8 - -from __future__ import absolute_import from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from published_apis.models.base_model_ import Model +from published_apis.models.base_model import Model from published_apis import util -class DataFormatAnyOf(Model): +class Ipv6Addr1(Model): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). Do not edit the class manually. """ - """ - allowed enum values - """ - JSON = "JSON" def __init__(self): # noqa: E501 - """DataFormatAnyOf - a model defined in OpenAPI + """Ipv6Addr1 - a model defined in OpenAPI """ self.openapi_types = { @@ -30,12 +23,12 @@ class DataFormatAnyOf(Model): } @classmethod - def from_dict(cls, dikt) -> 'DataFormatAnyOf': + def from_dict(cls, dikt) -> 'Ipv6Addr1': """Returns the dict as a model :param dikt: A dict. :type: dict - :return: The DataFormat_anyOf of this DataFormatAnyOf. # noqa: E501 - :rtype: DataFormatAnyOf + :return: The Ipv6Addr_1 of this Ipv6Addr1. # noqa: E501 + :rtype: Ipv6Addr1 """ return util.deserialize_model(dikt, cls) diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/ipv6_address_range.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/ipv6_address_range.py new file mode 100644 index 0000000..37f319c --- /dev/null +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/ipv6_address_range.py @@ -0,0 +1,93 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from published_apis.models.base_model import Model +from published_apis.models.ipv6_addr1 import Ipv6Addr1 +from published_apis import util + +from published_apis.models.ipv6_addr1 import Ipv6Addr1 # noqa: E501 + +class Ipv6AddressRange(Model): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + """ + + def __init__(self, start=None, end=None): # noqa: E501 + """Ipv6AddressRange - a model defined in OpenAPI + + :param start: The start of this Ipv6AddressRange. # noqa: E501 + :type start: Ipv6Addr1 + :param end: The end of this Ipv6AddressRange. # noqa: E501 + :type end: Ipv6Addr1 + """ + self.openapi_types = { + 'start': Ipv6Addr1, + 'end': Ipv6Addr1 + } + + self.attribute_map = { + 'start': 'start', + 'end': 'end' + } + + self._start = start + self._end = end + + @classmethod + def from_dict(cls, dikt) -> 'Ipv6AddressRange': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The Ipv6AddressRange of this Ipv6AddressRange. # noqa: E501 + :rtype: Ipv6AddressRange + """ + return util.deserialize_model(dikt, cls) + + @property + def start(self) -> Ipv6Addr1: + """Gets the start of this Ipv6AddressRange. + + + :return: The start of this Ipv6AddressRange. + :rtype: Ipv6Addr1 + """ + return self._start + + @start.setter + def start(self, start: Ipv6Addr1): + """Sets the start of this Ipv6AddressRange. + + + :param start: The start of this Ipv6AddressRange. + :type start: Ipv6Addr1 + """ + if start is None: + raise ValueError("Invalid value for `start`, must not be `None`") # noqa: E501 + + self._start = start + + @property + def end(self) -> Ipv6Addr1: + """Gets the end of this Ipv6AddressRange. + + + :return: The end of this Ipv6AddressRange. + :rtype: Ipv6Addr1 + """ + return self._end + + @end.setter + def end(self, end: Ipv6Addr1): + """Sets the end of this Ipv6AddressRange. + + + :param end: The end of this Ipv6AddressRange. + :type end: Ipv6Addr1 + """ + if end is None: + raise ValueError("Invalid value for `end`, must not be `None`") # noqa: E501 + + self._end = end diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/local2d_point_uncertainty_ellipse.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/local2d_point_uncertainty_ellipse.py new file mode 100644 index 0000000..2c57540 --- /dev/null +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/local2d_point_uncertainty_ellipse.py @@ -0,0 +1,191 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from published_apis.models.base_model import Model +from published_apis.models.gad_shape import GADShape +from published_apis.models.local_origin import LocalOrigin +from published_apis.models.relative_cartesian_location import RelativeCartesianLocation +from published_apis.models.supported_gad_shapes import SupportedGADShapes +from published_apis.models.uncertainty_ellipse import UncertaintyEllipse +from published_apis import util + +from published_apis.models.gad_shape import GADShape # noqa: E501 +from published_apis.models.local_origin import LocalOrigin # noqa: E501 +from published_apis.models.relative_cartesian_location import RelativeCartesianLocation # noqa: E501 +from published_apis.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 +from published_apis.models.uncertainty_ellipse import UncertaintyEllipse # noqa: E501 + +class Local2dPointUncertaintyEllipse(Model): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + """ + + def __init__(self, shape=None, local_origin=None, point=None, uncertainty_ellipse=None, confidence=None): # noqa: E501 + """Local2dPointUncertaintyEllipse - a model defined in OpenAPI + + :param shape: The shape of this Local2dPointUncertaintyEllipse. # noqa: E501 + :type shape: SupportedGADShapes + :param local_origin: The local_origin of this Local2dPointUncertaintyEllipse. # noqa: E501 + :type local_origin: LocalOrigin + :param point: The point of this Local2dPointUncertaintyEllipse. # noqa: E501 + :type point: RelativeCartesianLocation + :param uncertainty_ellipse: The uncertainty_ellipse of this Local2dPointUncertaintyEllipse. # noqa: E501 + :type uncertainty_ellipse: UncertaintyEllipse + :param confidence: The confidence of this Local2dPointUncertaintyEllipse. # noqa: E501 + :type confidence: int + """ + self.openapi_types = { + 'shape': SupportedGADShapes, + 'local_origin': LocalOrigin, + 'point': RelativeCartesianLocation, + 'uncertainty_ellipse': UncertaintyEllipse, + 'confidence': int + } + + self.attribute_map = { + 'shape': 'shape', + 'local_origin': 'localOrigin', + 'point': 'point', + 'uncertainty_ellipse': 'uncertaintyEllipse', + 'confidence': 'confidence' + } + + self._shape = shape + self._local_origin = local_origin + self._point = point + self._uncertainty_ellipse = uncertainty_ellipse + self._confidence = confidence + + @classmethod + def from_dict(cls, dikt) -> 'Local2dPointUncertaintyEllipse': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The Local2dPointUncertaintyEllipse of this Local2dPointUncertaintyEllipse. # noqa: E501 + :rtype: Local2dPointUncertaintyEllipse + """ + return util.deserialize_model(dikt, cls) + + @property + def shape(self) -> SupportedGADShapes: + """Gets the shape of this Local2dPointUncertaintyEllipse. + + + :return: The shape of this Local2dPointUncertaintyEllipse. + :rtype: SupportedGADShapes + """ + return self._shape + + @shape.setter + def shape(self, shape: SupportedGADShapes): + """Sets the shape of this Local2dPointUncertaintyEllipse. + + + :param shape: The shape of this Local2dPointUncertaintyEllipse. + :type shape: SupportedGADShapes + """ + if shape is None: + raise ValueError("Invalid value for `shape`, must not be `None`") # noqa: E501 + + self._shape = shape + + @property + def local_origin(self) -> LocalOrigin: + """Gets the local_origin of this Local2dPointUncertaintyEllipse. + + + :return: The local_origin of this Local2dPointUncertaintyEllipse. + :rtype: LocalOrigin + """ + return self._local_origin + + @local_origin.setter + def local_origin(self, local_origin: LocalOrigin): + """Sets the local_origin of this Local2dPointUncertaintyEllipse. + + + :param local_origin: The local_origin of this Local2dPointUncertaintyEllipse. + :type local_origin: LocalOrigin + """ + if local_origin is None: + raise ValueError("Invalid value for `local_origin`, must not be `None`") # noqa: E501 + + self._local_origin = local_origin + + @property + def point(self) -> RelativeCartesianLocation: + """Gets the point of this Local2dPointUncertaintyEllipse. + + + :return: The point of this Local2dPointUncertaintyEllipse. + :rtype: RelativeCartesianLocation + """ + return self._point + + @point.setter + def point(self, point: RelativeCartesianLocation): + """Sets the point of this Local2dPointUncertaintyEllipse. + + + :param point: The point of this Local2dPointUncertaintyEllipse. + :type point: RelativeCartesianLocation + """ + if point is None: + raise ValueError("Invalid value for `point`, must not be `None`") # noqa: E501 + + self._point = point + + @property + def uncertainty_ellipse(self) -> UncertaintyEllipse: + """Gets the uncertainty_ellipse of this Local2dPointUncertaintyEllipse. + + + :return: The uncertainty_ellipse of this Local2dPointUncertaintyEllipse. + :rtype: UncertaintyEllipse + """ + return self._uncertainty_ellipse + + @uncertainty_ellipse.setter + def uncertainty_ellipse(self, uncertainty_ellipse: UncertaintyEllipse): + """Sets the uncertainty_ellipse of this Local2dPointUncertaintyEllipse. + + + :param uncertainty_ellipse: The uncertainty_ellipse of this Local2dPointUncertaintyEllipse. + :type uncertainty_ellipse: UncertaintyEllipse + """ + if uncertainty_ellipse is None: + raise ValueError("Invalid value for `uncertainty_ellipse`, must not be `None`") # noqa: E501 + + self._uncertainty_ellipse = uncertainty_ellipse + + @property + def confidence(self) -> int: + """Gets the confidence of this Local2dPointUncertaintyEllipse. + + Indicates value of confidence. # noqa: E501 + + :return: The confidence of this Local2dPointUncertaintyEllipse. + :rtype: int + """ + return self._confidence + + @confidence.setter + def confidence(self, confidence: int): + """Sets the confidence of this Local2dPointUncertaintyEllipse. + + Indicates value of confidence. # noqa: E501 + + :param confidence: The confidence of this Local2dPointUncertaintyEllipse. + :type confidence: int + """ + if confidence is None: + raise ValueError("Invalid value for `confidence`, must not be `None`") # noqa: E501 + if confidence is not None and confidence > 100: # noqa: E501 + raise ValueError("Invalid value for `confidence`, must be a value less than or equal to `100`") # noqa: E501 + if confidence is not None and confidence < 0: # noqa: E501 + raise ValueError("Invalid value for `confidence`, must be a value greater than or equal to `0`") # noqa: E501 + + self._confidence = confidence diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/local3d_point_uncertainty_ellipsoid.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/local3d_point_uncertainty_ellipsoid.py new file mode 100644 index 0000000..2589c0e --- /dev/null +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/local3d_point_uncertainty_ellipsoid.py @@ -0,0 +1,191 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from published_apis.models.base_model import Model +from published_apis.models.gad_shape import GADShape +from published_apis.models.local_origin import LocalOrigin +from published_apis.models.relative_cartesian_location import RelativeCartesianLocation +from published_apis.models.supported_gad_shapes import SupportedGADShapes +from published_apis.models.uncertainty_ellipsoid import UncertaintyEllipsoid +from published_apis import util + +from published_apis.models.gad_shape import GADShape # noqa: E501 +from published_apis.models.local_origin import LocalOrigin # noqa: E501 +from published_apis.models.relative_cartesian_location import RelativeCartesianLocation # noqa: E501 +from published_apis.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 +from published_apis.models.uncertainty_ellipsoid import UncertaintyEllipsoid # noqa: E501 + +class Local3dPointUncertaintyEllipsoid(Model): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + """ + + def __init__(self, shape=None, local_origin=None, point=None, uncertainty_ellipsoid=None, confidence=None): # noqa: E501 + """Local3dPointUncertaintyEllipsoid - a model defined in OpenAPI + + :param shape: The shape of this Local3dPointUncertaintyEllipsoid. # noqa: E501 + :type shape: SupportedGADShapes + :param local_origin: The local_origin of this Local3dPointUncertaintyEllipsoid. # noqa: E501 + :type local_origin: LocalOrigin + :param point: The point of this Local3dPointUncertaintyEllipsoid. # noqa: E501 + :type point: RelativeCartesianLocation + :param uncertainty_ellipsoid: The uncertainty_ellipsoid of this Local3dPointUncertaintyEllipsoid. # noqa: E501 + :type uncertainty_ellipsoid: UncertaintyEllipsoid + :param confidence: The confidence of this Local3dPointUncertaintyEllipsoid. # noqa: E501 + :type confidence: int + """ + self.openapi_types = { + 'shape': SupportedGADShapes, + 'local_origin': LocalOrigin, + 'point': RelativeCartesianLocation, + 'uncertainty_ellipsoid': UncertaintyEllipsoid, + 'confidence': int + } + + self.attribute_map = { + 'shape': 'shape', + 'local_origin': 'localOrigin', + 'point': 'point', + 'uncertainty_ellipsoid': 'uncertaintyEllipsoid', + 'confidence': 'confidence' + } + + self._shape = shape + self._local_origin = local_origin + self._point = point + self._uncertainty_ellipsoid = uncertainty_ellipsoid + self._confidence = confidence + + @classmethod + def from_dict(cls, dikt) -> 'Local3dPointUncertaintyEllipsoid': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The Local3dPointUncertaintyEllipsoid of this Local3dPointUncertaintyEllipsoid. # noqa: E501 + :rtype: Local3dPointUncertaintyEllipsoid + """ + return util.deserialize_model(dikt, cls) + + @property + def shape(self) -> SupportedGADShapes: + """Gets the shape of this Local3dPointUncertaintyEllipsoid. + + + :return: The shape of this Local3dPointUncertaintyEllipsoid. + :rtype: SupportedGADShapes + """ + return self._shape + + @shape.setter + def shape(self, shape: SupportedGADShapes): + """Sets the shape of this Local3dPointUncertaintyEllipsoid. + + + :param shape: The shape of this Local3dPointUncertaintyEllipsoid. + :type shape: SupportedGADShapes + """ + if shape is None: + raise ValueError("Invalid value for `shape`, must not be `None`") # noqa: E501 + + self._shape = shape + + @property + def local_origin(self) -> LocalOrigin: + """Gets the local_origin of this Local3dPointUncertaintyEllipsoid. + + + :return: The local_origin of this Local3dPointUncertaintyEllipsoid. + :rtype: LocalOrigin + """ + return self._local_origin + + @local_origin.setter + def local_origin(self, local_origin: LocalOrigin): + """Sets the local_origin of this Local3dPointUncertaintyEllipsoid. + + + :param local_origin: The local_origin of this Local3dPointUncertaintyEllipsoid. + :type local_origin: LocalOrigin + """ + if local_origin is None: + raise ValueError("Invalid value for `local_origin`, must not be `None`") # noqa: E501 + + self._local_origin = local_origin + + @property + def point(self) -> RelativeCartesianLocation: + """Gets the point of this Local3dPointUncertaintyEllipsoid. + + + :return: The point of this Local3dPointUncertaintyEllipsoid. + :rtype: RelativeCartesianLocation + """ + return self._point + + @point.setter + def point(self, point: RelativeCartesianLocation): + """Sets the point of this Local3dPointUncertaintyEllipsoid. + + + :param point: The point of this Local3dPointUncertaintyEllipsoid. + :type point: RelativeCartesianLocation + """ + if point is None: + raise ValueError("Invalid value for `point`, must not be `None`") # noqa: E501 + + self._point = point + + @property + def uncertainty_ellipsoid(self) -> UncertaintyEllipsoid: + """Gets the uncertainty_ellipsoid of this Local3dPointUncertaintyEllipsoid. + + + :return: The uncertainty_ellipsoid of this Local3dPointUncertaintyEllipsoid. + :rtype: UncertaintyEllipsoid + """ + return self._uncertainty_ellipsoid + + @uncertainty_ellipsoid.setter + def uncertainty_ellipsoid(self, uncertainty_ellipsoid: UncertaintyEllipsoid): + """Sets the uncertainty_ellipsoid of this Local3dPointUncertaintyEllipsoid. + + + :param uncertainty_ellipsoid: The uncertainty_ellipsoid of this Local3dPointUncertaintyEllipsoid. + :type uncertainty_ellipsoid: UncertaintyEllipsoid + """ + if uncertainty_ellipsoid is None: + raise ValueError("Invalid value for `uncertainty_ellipsoid`, must not be `None`") # noqa: E501 + + self._uncertainty_ellipsoid = uncertainty_ellipsoid + + @property + def confidence(self) -> int: + """Gets the confidence of this Local3dPointUncertaintyEllipsoid. + + Indicates value of confidence. # noqa: E501 + + :return: The confidence of this Local3dPointUncertaintyEllipsoid. + :rtype: int + """ + return self._confidence + + @confidence.setter + def confidence(self, confidence: int): + """Sets the confidence of this Local3dPointUncertaintyEllipsoid. + + Indicates value of confidence. # noqa: E501 + + :param confidence: The confidence of this Local3dPointUncertaintyEllipsoid. + :type confidence: int + """ + if confidence is None: + raise ValueError("Invalid value for `confidence`, must not be `None`") # noqa: E501 + if confidence is not None and confidence > 100: # noqa: E501 + raise ValueError("Invalid value for `confidence`, must be a value less than or equal to `100`") # noqa: E501 + if confidence is not None and confidence < 0: # noqa: E501 + raise ValueError("Invalid value for `confidence`, must be a value greater than or equal to `0`") # noqa: E501 + + self._confidence = confidence diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/local_origin.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/local_origin.py new file mode 100644 index 0000000..71ec7c0 --- /dev/null +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/local_origin.py @@ -0,0 +1,89 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from published_apis.models.base_model import Model +from published_apis.models.geographical_coordinates import GeographicalCoordinates +from published_apis import util + +from published_apis.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 + +class LocalOrigin(Model): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + """ + + def __init__(self, coordinate_id=None, point=None): # noqa: E501 + """LocalOrigin - a model defined in OpenAPI + + :param coordinate_id: The coordinate_id of this LocalOrigin. # noqa: E501 + :type coordinate_id: str + :param point: The point of this LocalOrigin. # noqa: E501 + :type point: GeographicalCoordinates + """ + self.openapi_types = { + 'coordinate_id': str, + 'point': GeographicalCoordinates + } + + self.attribute_map = { + 'coordinate_id': 'coordinateId', + 'point': 'point' + } + + self._coordinate_id = coordinate_id + self._point = point + + @classmethod + def from_dict(cls, dikt) -> 'LocalOrigin': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The LocalOrigin of this LocalOrigin. # noqa: E501 + :rtype: LocalOrigin + """ + return util.deserialize_model(dikt, cls) + + @property + def coordinate_id(self) -> str: + """Gets the coordinate_id of this LocalOrigin. + + + :return: The coordinate_id of this LocalOrigin. + :rtype: str + """ + return self._coordinate_id + + @coordinate_id.setter + def coordinate_id(self, coordinate_id: str): + """Sets the coordinate_id of this LocalOrigin. + + + :param coordinate_id: The coordinate_id of this LocalOrigin. + :type coordinate_id: str + """ + + self._coordinate_id = coordinate_id + + @property + def point(self) -> GeographicalCoordinates: + """Gets the point of this LocalOrigin. + + + :return: The point of this LocalOrigin. + :rtype: GeographicalCoordinates + """ + return self._point + + @point.setter + def point(self, point: GeographicalCoordinates): + """Sets the point of this LocalOrigin. + + + :param point: The point of this LocalOrigin. + :type point: GeographicalCoordinates + """ + + self._point = point diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/operation.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/operation.py index b985c08..0923ce7 100644 --- a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/operation.py +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/operation.py @@ -1,15 +1,10 @@ -# coding: utf-8 - -from __future__ import absolute_import from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from published_apis.models.base_model_ import Model -from published_apis.models.operation_any_of import OperationAnyOf +from published_apis.models.base_model import Model from published_apis import util -from published_apis.models.operation_any_of import OperationAnyOf # noqa: E501 class Operation(Model): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/operation_any_of.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/operation_any_of.py deleted file mode 100644 index 0e9b63f..0000000 --- a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/operation_any_of.py +++ /dev/null @@ -1,45 +0,0 @@ -# coding: utf-8 - -from __future__ import absolute_import -from datetime import date, datetime # noqa: F401 - -from typing import List, Dict # noqa: F401 - -from published_apis.models.base_model_ import Model -from published_apis import util - - -class OperationAnyOf(Model): - """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - - Do not edit the class manually. - """ - - """ - allowed enum values - """ - GET = "GET" - POST = "POST" - PUT = "PUT" - PATCH = "PATCH" - DELETE = "DELETE" - def __init__(self): # noqa: E501 - """OperationAnyOf - a model defined in OpenAPI - - """ - self.openapi_types = { - } - - self.attribute_map = { - } - - @classmethod - def from_dict(cls, dikt) -> 'OperationAnyOf': - """Returns the dict as a model - - :param dikt: A dict. - :type: dict - :return: The Operation_anyOf of this OperationAnyOf. # noqa: E501 - :rtype: OperationAnyOf - """ - return util.deserialize_model(dikt, cls) diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/point.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/point.py new file mode 100644 index 0000000..d16cbaa --- /dev/null +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/point.py @@ -0,0 +1,97 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from published_apis.models.base_model import Model +from published_apis.models.gad_shape import GADShape +from published_apis.models.geographical_coordinates import GeographicalCoordinates +from published_apis.models.supported_gad_shapes import SupportedGADShapes +from published_apis import util + +from published_apis.models.gad_shape import GADShape # noqa: E501 +from published_apis.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 +from published_apis.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 + +class Point(Model): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + """ + + def __init__(self, shape=None, point=None): # noqa: E501 + """Point - a model defined in OpenAPI + + :param shape: The shape of this Point. # noqa: E501 + :type shape: SupportedGADShapes + :param point: The point of this Point. # noqa: E501 + :type point: GeographicalCoordinates + """ + self.openapi_types = { + 'shape': SupportedGADShapes, + 'point': GeographicalCoordinates + } + + self.attribute_map = { + 'shape': 'shape', + 'point': 'point' + } + + self._shape = shape + self._point = point + + @classmethod + def from_dict(cls, dikt) -> 'Point': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The Point of this Point. # noqa: E501 + :rtype: Point + """ + return util.deserialize_model(dikt, cls) + + @property + def shape(self) -> SupportedGADShapes: + """Gets the shape of this Point. + + + :return: The shape of this Point. + :rtype: SupportedGADShapes + """ + return self._shape + + @shape.setter + def shape(self, shape: SupportedGADShapes): + """Sets the shape of this Point. + + + :param shape: The shape of this Point. + :type shape: SupportedGADShapes + """ + if shape is None: + raise ValueError("Invalid value for `shape`, must not be `None`") # noqa: E501 + + self._shape = shape + + @property + def point(self) -> GeographicalCoordinates: + """Gets the point of this Point. + + + :return: The point of this Point. + :rtype: GeographicalCoordinates + """ + return self._point + + @point.setter + def point(self, point: GeographicalCoordinates): + """Sets the point of this Point. + + + :param point: The point of this Point. + :type point: GeographicalCoordinates + """ + if point is None: + raise ValueError("Invalid value for `point`, must not be `None`") # noqa: E501 + + self._point = point diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/point_altitude.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/point_altitude.py new file mode 100644 index 0000000..0fb374f --- /dev/null +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/point_altitude.py @@ -0,0 +1,131 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from published_apis.models.base_model import Model +from published_apis.models.gad_shape import GADShape +from published_apis.models.geographical_coordinates import GeographicalCoordinates +from published_apis.models.supported_gad_shapes import SupportedGADShapes +from published_apis import util + +from published_apis.models.gad_shape import GADShape # noqa: E501 +from published_apis.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 +from published_apis.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 + +class PointAltitude(Model): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + """ + + def __init__(self, shape=None, point=None, altitude=None): # noqa: E501 + """PointAltitude - a model defined in OpenAPI + + :param shape: The shape of this PointAltitude. # noqa: E501 + :type shape: SupportedGADShapes + :param point: The point of this PointAltitude. # noqa: E501 + :type point: GeographicalCoordinates + :param altitude: The altitude of this PointAltitude. # noqa: E501 + :type altitude: float + """ + self.openapi_types = { + 'shape': SupportedGADShapes, + 'point': GeographicalCoordinates, + 'altitude': float + } + + self.attribute_map = { + 'shape': 'shape', + 'point': 'point', + 'altitude': 'altitude' + } + + self._shape = shape + self._point = point + self._altitude = altitude + + @classmethod + def from_dict(cls, dikt) -> 'PointAltitude': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The PointAltitude of this PointAltitude. # noqa: E501 + :rtype: PointAltitude + """ + return util.deserialize_model(dikt, cls) + + @property + def shape(self) -> SupportedGADShapes: + """Gets the shape of this PointAltitude. + + + :return: The shape of this PointAltitude. + :rtype: SupportedGADShapes + """ + return self._shape + + @shape.setter + def shape(self, shape: SupportedGADShapes): + """Sets the shape of this PointAltitude. + + + :param shape: The shape of this PointAltitude. + :type shape: SupportedGADShapes + """ + if shape is None: + raise ValueError("Invalid value for `shape`, must not be `None`") # noqa: E501 + + self._shape = shape + + @property + def point(self) -> GeographicalCoordinates: + """Gets the point of this PointAltitude. + + + :return: The point of this PointAltitude. + :rtype: GeographicalCoordinates + """ + return self._point + + @point.setter + def point(self, point: GeographicalCoordinates): + """Sets the point of this PointAltitude. + + + :param point: The point of this PointAltitude. + :type point: GeographicalCoordinates + """ + if point is None: + raise ValueError("Invalid value for `point`, must not be `None`") # noqa: E501 + + self._point = point + + @property + def altitude(self) -> float: + """Gets the altitude of this PointAltitude. + + Indicates value of altitude. # noqa: E501 + + :return: The altitude of this PointAltitude. + :rtype: float + """ + return self._altitude + + @altitude.setter + def altitude(self, altitude: float): + """Sets the altitude of this PointAltitude. + + Indicates value of altitude. # noqa: E501 + + :param altitude: The altitude of this PointAltitude. + :type altitude: float + """ + if altitude is None: + raise ValueError("Invalid value for `altitude`, must not be `None`") # noqa: E501 + if altitude is not None and altitude > 32767: # noqa: E501 + raise ValueError("Invalid value for `altitude`, must be a value less than or equal to `32767`") # noqa: E501 + if altitude is not None and altitude < -32767: # noqa: E501 + raise ValueError("Invalid value for `altitude`, must be a value greater than or equal to `-32767`") # noqa: E501 + + self._altitude = altitude diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/point_altitude_uncertainty.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/point_altitude_uncertainty.py new file mode 100644 index 0000000..cf96f55 --- /dev/null +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/point_altitude_uncertainty.py @@ -0,0 +1,259 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from published_apis.models.base_model import Model +from published_apis.models.gad_shape import GADShape +from published_apis.models.geographical_coordinates import GeographicalCoordinates +from published_apis.models.supported_gad_shapes import SupportedGADShapes +from published_apis.models.uncertainty_ellipse import UncertaintyEllipse +from published_apis import util + +from published_apis.models.gad_shape import GADShape # noqa: E501 +from published_apis.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 +from published_apis.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 +from published_apis.models.uncertainty_ellipse import UncertaintyEllipse # noqa: E501 + +class PointAltitudeUncertainty(Model): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + """ + + def __init__(self, shape=None, point=None, altitude=None, uncertainty_ellipse=None, uncertainty_altitude=None, confidence=None, v_confidence=None): # noqa: E501 + """PointAltitudeUncertainty - a model defined in OpenAPI + + :param shape: The shape of this PointAltitudeUncertainty. # noqa: E501 + :type shape: SupportedGADShapes + :param point: The point of this PointAltitudeUncertainty. # noqa: E501 + :type point: GeographicalCoordinates + :param altitude: The altitude of this PointAltitudeUncertainty. # noqa: E501 + :type altitude: float + :param uncertainty_ellipse: The uncertainty_ellipse of this PointAltitudeUncertainty. # noqa: E501 + :type uncertainty_ellipse: UncertaintyEllipse + :param uncertainty_altitude: The uncertainty_altitude of this PointAltitudeUncertainty. # noqa: E501 + :type uncertainty_altitude: float + :param confidence: The confidence of this PointAltitudeUncertainty. # noqa: E501 + :type confidence: int + :param v_confidence: The v_confidence of this PointAltitudeUncertainty. # noqa: E501 + :type v_confidence: int + """ + self.openapi_types = { + 'shape': SupportedGADShapes, + 'point': GeographicalCoordinates, + 'altitude': float, + 'uncertainty_ellipse': UncertaintyEllipse, + 'uncertainty_altitude': float, + 'confidence': int, + 'v_confidence': int + } + + self.attribute_map = { + 'shape': 'shape', + 'point': 'point', + 'altitude': 'altitude', + 'uncertainty_ellipse': 'uncertaintyEllipse', + 'uncertainty_altitude': 'uncertaintyAltitude', + 'confidence': 'confidence', + 'v_confidence': 'vConfidence' + } + + self._shape = shape + self._point = point + self._altitude = altitude + self._uncertainty_ellipse = uncertainty_ellipse + self._uncertainty_altitude = uncertainty_altitude + self._confidence = confidence + self._v_confidence = v_confidence + + @classmethod + def from_dict(cls, dikt) -> 'PointAltitudeUncertainty': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The PointAltitudeUncertainty of this PointAltitudeUncertainty. # noqa: E501 + :rtype: PointAltitudeUncertainty + """ + return util.deserialize_model(dikt, cls) + + @property + def shape(self) -> SupportedGADShapes: + """Gets the shape of this PointAltitudeUncertainty. + + + :return: The shape of this PointAltitudeUncertainty. + :rtype: SupportedGADShapes + """ + return self._shape + + @shape.setter + def shape(self, shape: SupportedGADShapes): + """Sets the shape of this PointAltitudeUncertainty. + + + :param shape: The shape of this PointAltitudeUncertainty. + :type shape: SupportedGADShapes + """ + if shape is None: + raise ValueError("Invalid value for `shape`, must not be `None`") # noqa: E501 + + self._shape = shape + + @property + def point(self) -> GeographicalCoordinates: + """Gets the point of this PointAltitudeUncertainty. + + + :return: The point of this PointAltitudeUncertainty. + :rtype: GeographicalCoordinates + """ + return self._point + + @point.setter + def point(self, point: GeographicalCoordinates): + """Sets the point of this PointAltitudeUncertainty. + + + :param point: The point of this PointAltitudeUncertainty. + :type point: GeographicalCoordinates + """ + if point is None: + raise ValueError("Invalid value for `point`, must not be `None`") # noqa: E501 + + self._point = point + + @property + def altitude(self) -> float: + """Gets the altitude of this PointAltitudeUncertainty. + + Indicates value of altitude. # noqa: E501 + + :return: The altitude of this PointAltitudeUncertainty. + :rtype: float + """ + return self._altitude + + @altitude.setter + def altitude(self, altitude: float): + """Sets the altitude of this PointAltitudeUncertainty. + + Indicates value of altitude. # noqa: E501 + + :param altitude: The altitude of this PointAltitudeUncertainty. + :type altitude: float + """ + if altitude is None: + raise ValueError("Invalid value for `altitude`, must not be `None`") # noqa: E501 + if altitude is not None and altitude > 32767: # noqa: E501 + raise ValueError("Invalid value for `altitude`, must be a value less than or equal to `32767`") # noqa: E501 + if altitude is not None and altitude < -32767: # noqa: E501 + raise ValueError("Invalid value for `altitude`, must be a value greater than or equal to `-32767`") # noqa: E501 + + self._altitude = altitude + + @property + def uncertainty_ellipse(self) -> UncertaintyEllipse: + """Gets the uncertainty_ellipse of this PointAltitudeUncertainty. + + + :return: The uncertainty_ellipse of this PointAltitudeUncertainty. + :rtype: UncertaintyEllipse + """ + return self._uncertainty_ellipse + + @uncertainty_ellipse.setter + def uncertainty_ellipse(self, uncertainty_ellipse: UncertaintyEllipse): + """Sets the uncertainty_ellipse of this PointAltitudeUncertainty. + + + :param uncertainty_ellipse: The uncertainty_ellipse of this PointAltitudeUncertainty. + :type uncertainty_ellipse: UncertaintyEllipse + """ + if uncertainty_ellipse is None: + raise ValueError("Invalid value for `uncertainty_ellipse`, must not be `None`") # noqa: E501 + + self._uncertainty_ellipse = uncertainty_ellipse + + @property + def uncertainty_altitude(self) -> float: + """Gets the uncertainty_altitude of this PointAltitudeUncertainty. + + Indicates value of uncertainty. # noqa: E501 + + :return: The uncertainty_altitude of this PointAltitudeUncertainty. + :rtype: float + """ + return self._uncertainty_altitude + + @uncertainty_altitude.setter + def uncertainty_altitude(self, uncertainty_altitude: float): + """Sets the uncertainty_altitude of this PointAltitudeUncertainty. + + Indicates value of uncertainty. # noqa: E501 + + :param uncertainty_altitude: The uncertainty_altitude of this PointAltitudeUncertainty. + :type uncertainty_altitude: float + """ + if uncertainty_altitude is None: + raise ValueError("Invalid value for `uncertainty_altitude`, must not be `None`") # noqa: E501 + if uncertainty_altitude is not None and uncertainty_altitude < 0: # noqa: E501 + raise ValueError("Invalid value for `uncertainty_altitude`, must be a value greater than or equal to `0`") # noqa: E501 + + self._uncertainty_altitude = uncertainty_altitude + + @property + def confidence(self) -> int: + """Gets the confidence of this PointAltitudeUncertainty. + + Indicates value of confidence. # noqa: E501 + + :return: The confidence of this PointAltitudeUncertainty. + :rtype: int + """ + return self._confidence + + @confidence.setter + def confidence(self, confidence: int): + """Sets the confidence of this PointAltitudeUncertainty. + + Indicates value of confidence. # noqa: E501 + + :param confidence: The confidence of this PointAltitudeUncertainty. + :type confidence: int + """ + if confidence is None: + raise ValueError("Invalid value for `confidence`, must not be `None`") # noqa: E501 + if confidence is not None and confidence > 100: # noqa: E501 + raise ValueError("Invalid value for `confidence`, must be a value less than or equal to `100`") # noqa: E501 + if confidence is not None and confidence < 0: # noqa: E501 + raise ValueError("Invalid value for `confidence`, must be a value greater than or equal to `0`") # noqa: E501 + + self._confidence = confidence + + @property + def v_confidence(self) -> int: + """Gets the v_confidence of this PointAltitudeUncertainty. + + Indicates value of confidence. # noqa: E501 + + :return: The v_confidence of this PointAltitudeUncertainty. + :rtype: int + """ + return self._v_confidence + + @v_confidence.setter + def v_confidence(self, v_confidence: int): + """Sets the v_confidence of this PointAltitudeUncertainty. + + Indicates value of confidence. # noqa: E501 + + :param v_confidence: The v_confidence of this PointAltitudeUncertainty. + :type v_confidence: int + """ + if v_confidence is not None and v_confidence > 100: # noqa: E501 + raise ValueError("Invalid value for `v_confidence`, must be a value less than or equal to `100`") # noqa: E501 + if v_confidence is not None and v_confidence < 0: # noqa: E501 + raise ValueError("Invalid value for `v_confidence`, must be a value greater than or equal to `0`") # noqa: E501 + + self._v_confidence = v_confidence diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/point_uncertainty_circle.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/point_uncertainty_circle.py new file mode 100644 index 0000000..3b773f5 --- /dev/null +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/point_uncertainty_circle.py @@ -0,0 +1,129 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from published_apis.models.base_model import Model +from published_apis.models.gad_shape import GADShape +from published_apis.models.geographical_coordinates import GeographicalCoordinates +from published_apis.models.supported_gad_shapes import SupportedGADShapes +from published_apis import util + +from published_apis.models.gad_shape import GADShape # noqa: E501 +from published_apis.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 +from published_apis.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 + +class PointUncertaintyCircle(Model): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + """ + + def __init__(self, shape=None, point=None, uncertainty=None): # noqa: E501 + """PointUncertaintyCircle - a model defined in OpenAPI + + :param shape: The shape of this PointUncertaintyCircle. # noqa: E501 + :type shape: SupportedGADShapes + :param point: The point of this PointUncertaintyCircle. # noqa: E501 + :type point: GeographicalCoordinates + :param uncertainty: The uncertainty of this PointUncertaintyCircle. # noqa: E501 + :type uncertainty: float + """ + self.openapi_types = { + 'shape': SupportedGADShapes, + 'point': GeographicalCoordinates, + 'uncertainty': float + } + + self.attribute_map = { + 'shape': 'shape', + 'point': 'point', + 'uncertainty': 'uncertainty' + } + + self._shape = shape + self._point = point + self._uncertainty = uncertainty + + @classmethod + def from_dict(cls, dikt) -> 'PointUncertaintyCircle': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The PointUncertaintyCircle of this PointUncertaintyCircle. # noqa: E501 + :rtype: PointUncertaintyCircle + """ + return util.deserialize_model(dikt, cls) + + @property + def shape(self) -> SupportedGADShapes: + """Gets the shape of this PointUncertaintyCircle. + + + :return: The shape of this PointUncertaintyCircle. + :rtype: SupportedGADShapes + """ + return self._shape + + @shape.setter + def shape(self, shape: SupportedGADShapes): + """Sets the shape of this PointUncertaintyCircle. + + + :param shape: The shape of this PointUncertaintyCircle. + :type shape: SupportedGADShapes + """ + if shape is None: + raise ValueError("Invalid value for `shape`, must not be `None`") # noqa: E501 + + self._shape = shape + + @property + def point(self) -> GeographicalCoordinates: + """Gets the point of this PointUncertaintyCircle. + + + :return: The point of this PointUncertaintyCircle. + :rtype: GeographicalCoordinates + """ + return self._point + + @point.setter + def point(self, point: GeographicalCoordinates): + """Sets the point of this PointUncertaintyCircle. + + + :param point: The point of this PointUncertaintyCircle. + :type point: GeographicalCoordinates + """ + if point is None: + raise ValueError("Invalid value for `point`, must not be `None`") # noqa: E501 + + self._point = point + + @property + def uncertainty(self) -> float: + """Gets the uncertainty of this PointUncertaintyCircle. + + Indicates value of uncertainty. # noqa: E501 + + :return: The uncertainty of this PointUncertaintyCircle. + :rtype: float + """ + return self._uncertainty + + @uncertainty.setter + def uncertainty(self, uncertainty: float): + """Sets the uncertainty of this PointUncertaintyCircle. + + Indicates value of uncertainty. # noqa: E501 + + :param uncertainty: The uncertainty of this PointUncertaintyCircle. + :type uncertainty: float + """ + if uncertainty is None: + raise ValueError("Invalid value for `uncertainty`, must not be `None`") # noqa: E501 + if uncertainty is not None and uncertainty < 0: # noqa: E501 + raise ValueError("Invalid value for `uncertainty`, must be a value greater than or equal to `0`") # noqa: E501 + + self._uncertainty = uncertainty diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/point_uncertainty_ellipse.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/point_uncertainty_ellipse.py new file mode 100644 index 0000000..ea57f68 --- /dev/null +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/point_uncertainty_ellipse.py @@ -0,0 +1,161 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from published_apis.models.base_model import Model +from published_apis.models.gad_shape import GADShape +from published_apis.models.geographical_coordinates import GeographicalCoordinates +from published_apis.models.supported_gad_shapes import SupportedGADShapes +from published_apis.models.uncertainty_ellipse import UncertaintyEllipse +from published_apis import util + +from published_apis.models.gad_shape import GADShape # noqa: E501 +from published_apis.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 +from published_apis.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 +from published_apis.models.uncertainty_ellipse import UncertaintyEllipse # noqa: E501 + +class PointUncertaintyEllipse(Model): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + """ + + def __init__(self, shape=None, point=None, uncertainty_ellipse=None, confidence=None): # noqa: E501 + """PointUncertaintyEllipse - a model defined in OpenAPI + + :param shape: The shape of this PointUncertaintyEllipse. # noqa: E501 + :type shape: SupportedGADShapes + :param point: The point of this PointUncertaintyEllipse. # noqa: E501 + :type point: GeographicalCoordinates + :param uncertainty_ellipse: The uncertainty_ellipse of this PointUncertaintyEllipse. # noqa: E501 + :type uncertainty_ellipse: UncertaintyEllipse + :param confidence: The confidence of this PointUncertaintyEllipse. # noqa: E501 + :type confidence: int + """ + self.openapi_types = { + 'shape': SupportedGADShapes, + 'point': GeographicalCoordinates, + 'uncertainty_ellipse': UncertaintyEllipse, + 'confidence': int + } + + self.attribute_map = { + 'shape': 'shape', + 'point': 'point', + 'uncertainty_ellipse': 'uncertaintyEllipse', + 'confidence': 'confidence' + } + + self._shape = shape + self._point = point + self._uncertainty_ellipse = uncertainty_ellipse + self._confidence = confidence + + @classmethod + def from_dict(cls, dikt) -> 'PointUncertaintyEllipse': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The PointUncertaintyEllipse of this PointUncertaintyEllipse. # noqa: E501 + :rtype: PointUncertaintyEllipse + """ + return util.deserialize_model(dikt, cls) + + @property + def shape(self) -> SupportedGADShapes: + """Gets the shape of this PointUncertaintyEllipse. + + + :return: The shape of this PointUncertaintyEllipse. + :rtype: SupportedGADShapes + """ + return self._shape + + @shape.setter + def shape(self, shape: SupportedGADShapes): + """Sets the shape of this PointUncertaintyEllipse. + + + :param shape: The shape of this PointUncertaintyEllipse. + :type shape: SupportedGADShapes + """ + if shape is None: + raise ValueError("Invalid value for `shape`, must not be `None`") # noqa: E501 + + self._shape = shape + + @property + def point(self) -> GeographicalCoordinates: + """Gets the point of this PointUncertaintyEllipse. + + + :return: The point of this PointUncertaintyEllipse. + :rtype: GeographicalCoordinates + """ + return self._point + + @point.setter + def point(self, point: GeographicalCoordinates): + """Sets the point of this PointUncertaintyEllipse. + + + :param point: The point of this PointUncertaintyEllipse. + :type point: GeographicalCoordinates + """ + if point is None: + raise ValueError("Invalid value for `point`, must not be `None`") # noqa: E501 + + self._point = point + + @property + def uncertainty_ellipse(self) -> UncertaintyEllipse: + """Gets the uncertainty_ellipse of this PointUncertaintyEllipse. + + + :return: The uncertainty_ellipse of this PointUncertaintyEllipse. + :rtype: UncertaintyEllipse + """ + return self._uncertainty_ellipse + + @uncertainty_ellipse.setter + def uncertainty_ellipse(self, uncertainty_ellipse: UncertaintyEllipse): + """Sets the uncertainty_ellipse of this PointUncertaintyEllipse. + + + :param uncertainty_ellipse: The uncertainty_ellipse of this PointUncertaintyEllipse. + :type uncertainty_ellipse: UncertaintyEllipse + """ + if uncertainty_ellipse is None: + raise ValueError("Invalid value for `uncertainty_ellipse`, must not be `None`") # noqa: E501 + + self._uncertainty_ellipse = uncertainty_ellipse + + @property + def confidence(self) -> int: + """Gets the confidence of this PointUncertaintyEllipse. + + Indicates value of confidence. # noqa: E501 + + :return: The confidence of this PointUncertaintyEllipse. + :rtype: int + """ + return self._confidence + + @confidence.setter + def confidence(self, confidence: int): + """Sets the confidence of this PointUncertaintyEllipse. + + Indicates value of confidence. # noqa: E501 + + :param confidence: The confidence of this PointUncertaintyEllipse. + :type confidence: int + """ + if confidence is None: + raise ValueError("Invalid value for `confidence`, must not be `None`") # noqa: E501 + if confidence is not None and confidence > 100: # noqa: E501 + raise ValueError("Invalid value for `confidence`, must be a value less than or equal to `100`") # noqa: E501 + if confidence is not None and confidence < 0: # noqa: E501 + raise ValueError("Invalid value for `confidence`, must be a value greater than or equal to `0`") # noqa: E501 + + self._confidence = confidence diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/polygon.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/polygon.py new file mode 100644 index 0000000..8a3f6ba --- /dev/null +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/polygon.py @@ -0,0 +1,103 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from published_apis.models.base_model import Model +from published_apis.models.gad_shape import GADShape +from published_apis.models.geographical_coordinates import GeographicalCoordinates +from published_apis.models.supported_gad_shapes import SupportedGADShapes +from published_apis import util + +from published_apis.models.gad_shape import GADShape # noqa: E501 +from published_apis.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 +from published_apis.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 + +class Polygon(Model): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + """ + + def __init__(self, shape=None, point_list=None): # noqa: E501 + """Polygon - a model defined in OpenAPI + + :param shape: The shape of this Polygon. # noqa: E501 + :type shape: SupportedGADShapes + :param point_list: The point_list of this Polygon. # noqa: E501 + :type point_list: List[GeographicalCoordinates] + """ + self.openapi_types = { + 'shape': SupportedGADShapes, + 'point_list': List[GeographicalCoordinates] + } + + self.attribute_map = { + 'shape': 'shape', + 'point_list': 'pointList' + } + + self._shape = shape + self._point_list = point_list + + @classmethod + def from_dict(cls, dikt) -> 'Polygon': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The Polygon of this Polygon. # noqa: E501 + :rtype: Polygon + """ + return util.deserialize_model(dikt, cls) + + @property + def shape(self) -> SupportedGADShapes: + """Gets the shape of this Polygon. + + + :return: The shape of this Polygon. + :rtype: SupportedGADShapes + """ + return self._shape + + @shape.setter + def shape(self, shape: SupportedGADShapes): + """Sets the shape of this Polygon. + + + :param shape: The shape of this Polygon. + :type shape: SupportedGADShapes + """ + if shape is None: + raise ValueError("Invalid value for `shape`, must not be `None`") # noqa: E501 + + self._shape = shape + + @property + def point_list(self) -> List[GeographicalCoordinates]: + """Gets the point_list of this Polygon. + + List of points. # noqa: E501 + + :return: The point_list of this Polygon. + :rtype: List[GeographicalCoordinates] + """ + return self._point_list + + @point_list.setter + def point_list(self, point_list: List[GeographicalCoordinates]): + """Sets the point_list of this Polygon. + + List of points. # noqa: E501 + + :param point_list: The point_list of this Polygon. + :type point_list: List[GeographicalCoordinates] + """ + if point_list is None: + raise ValueError("Invalid value for `point_list`, must not be `None`") # noqa: E501 + if point_list is not None and len(point_list) > 15: + raise ValueError("Invalid value for `point_list`, number of items must be less than or equal to `15`") # noqa: E501 + if point_list is not None and len(point_list) < 3: + raise ValueError("Invalid value for `point_list`, number of items must be greater than or equal to `3`") # noqa: E501 + + self._point_list = point_list diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/problem_details.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/problem_details.py index 2f5151f..252aaa7 100644 --- a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/problem_details.py +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/problem_details.py @@ -1,11 +1,8 @@ -# coding: utf-8 - -from __future__ import absolute_import from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from published_apis.models.base_model_ import Model +from published_apis.models.base_model import Model from published_apis.models.invalid_param import InvalidParam import re from published_apis import util @@ -82,7 +79,7 @@ class ProblemDetails(Model): return util.deserialize_model(dikt, cls) @property - def type(self): + def type(self) -> str: """Gets the type of this ProblemDetails. string providing an URI formatted according to IETF RFC 3986. # noqa: E501 @@ -93,7 +90,7 @@ class ProblemDetails(Model): return self._type @type.setter - def type(self, type): + def type(self, type: str): """Sets the type of this ProblemDetails. string providing an URI formatted according to IETF RFC 3986. # noqa: E501 @@ -105,10 +102,10 @@ class ProblemDetails(Model): self._type = type @property - def title(self): + def title(self) -> str: """Gets the title of this ProblemDetails. - A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem. # noqa: E501 + A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem. # noqa: E501 :return: The title of this ProblemDetails. :rtype: str @@ -116,10 +113,10 @@ class ProblemDetails(Model): return self._title @title.setter - def title(self, title): + def title(self, title: str): """Sets the title of this ProblemDetails. - A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem. # noqa: E501 + A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem. # noqa: E501 :param title: The title of this ProblemDetails. :type title: str @@ -128,7 +125,7 @@ class ProblemDetails(Model): self._title = title @property - def status(self): + def status(self) -> int: """Gets the status of this ProblemDetails. The HTTP status code for this occurrence of the problem. # noqa: E501 @@ -139,7 +136,7 @@ class ProblemDetails(Model): return self._status @status.setter - def status(self, status): + def status(self, status: int): """Sets the status of this ProblemDetails. The HTTP status code for this occurrence of the problem. # noqa: E501 @@ -151,7 +148,7 @@ class ProblemDetails(Model): self._status = status @property - def detail(self): + def detail(self) -> str: """Gets the detail of this ProblemDetails. A human-readable explanation specific to this occurrence of the problem. # noqa: E501 @@ -162,7 +159,7 @@ class ProblemDetails(Model): return self._detail @detail.setter - def detail(self, detail): + def detail(self, detail: str): """Sets the detail of this ProblemDetails. A human-readable explanation specific to this occurrence of the problem. # noqa: E501 @@ -174,7 +171,7 @@ class ProblemDetails(Model): self._detail = detail @property - def instance(self): + def instance(self) -> str: """Gets the instance of this ProblemDetails. string providing an URI formatted according to IETF RFC 3986. # noqa: E501 @@ -185,7 +182,7 @@ class ProblemDetails(Model): return self._instance @instance.setter - def instance(self, instance): + def instance(self, instance: str): """Sets the instance of this ProblemDetails. string providing an URI formatted according to IETF RFC 3986. # noqa: E501 @@ -197,10 +194,10 @@ class ProblemDetails(Model): self._instance = instance @property - def cause(self): + def cause(self) -> str: """Gets the cause of this ProblemDetails. - A machine-readable application error cause specific to this occurrence of the problem. This IE should be present and provide application-related error information, if available. # noqa: E501 + A machine-readable application error cause specific to this occurrence of the problem. This IE should be present and provide application-related error information, if available. # noqa: E501 :return: The cause of this ProblemDetails. :rtype: str @@ -208,10 +205,10 @@ class ProblemDetails(Model): return self._cause @cause.setter - def cause(self, cause): + def cause(self, cause: str): """Sets the cause of this ProblemDetails. - A machine-readable application error cause specific to this occurrence of the problem. This IE should be present and provide application-related error information, if available. # noqa: E501 + A machine-readable application error cause specific to this occurrence of the problem. This IE should be present and provide application-related error information, if available. # noqa: E501 :param cause: The cause of this ProblemDetails. :type cause: str @@ -220,10 +217,10 @@ class ProblemDetails(Model): self._cause = cause @property - def invalid_params(self): + def invalid_params(self) -> List[InvalidParam]: """Gets the invalid_params of this ProblemDetails. - Description of invalid parameters, for a request rejected due to invalid parameters. # noqa: E501 + Description of invalid parameters, for a request rejected due to invalid parameters. # noqa: E501 :return: The invalid_params of this ProblemDetails. :rtype: List[InvalidParam] @@ -231,10 +228,10 @@ class ProblemDetails(Model): return self._invalid_params @invalid_params.setter - def invalid_params(self, invalid_params): + def invalid_params(self, invalid_params: List[InvalidParam]): """Sets the invalid_params of this ProblemDetails. - Description of invalid parameters, for a request rejected due to invalid parameters. # noqa: E501 + Description of invalid parameters, for a request rejected due to invalid parameters. # noqa: E501 :param invalid_params: The invalid_params of this ProblemDetails. :type invalid_params: List[InvalidParam] @@ -245,10 +242,10 @@ class ProblemDetails(Model): self._invalid_params = invalid_params @property - def supported_features(self): + def supported_features(self) -> str: """Gets the supported_features of this ProblemDetails. - 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 # noqa: E501 + 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. # noqa: E501 :return: The supported_features of this ProblemDetails. :rtype: str @@ -256,10 +253,10 @@ class ProblemDetails(Model): return self._supported_features @supported_features.setter - def supported_features(self, supported_features): + def supported_features(self, supported_features: str): """Sets the supported_features of this ProblemDetails. - 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 # noqa: E501 + 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. # noqa: E501 :param supported_features: The supported_features of this ProblemDetails. :type supported_features: str diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/protocol.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/protocol.py index 6bb623c..9eb3203 100644 --- a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/protocol.py +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/protocol.py @@ -1,15 +1,10 @@ -# coding: utf-8 - -from __future__ import absolute_import from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from published_apis.models.base_model_ import Model -from published_apis.models.protocol_any_of import ProtocolAnyOf +from published_apis.models.base_model import Model from published_apis import util -from published_apis.models.protocol_any_of import ProtocolAnyOf # noqa: E501 class Protocol(Model): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/published_api_path.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/published_api_path.py index 0a34778..4d3538d 100644 --- a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/published_api_path.py +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/published_api_path.py @@ -1,11 +1,8 @@ -# coding: utf-8 - -from __future__ import absolute_import from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from published_apis.models.base_model_ import Model +from published_apis.models.base_model import Model from published_apis import util @@ -43,7 +40,7 @@ class PublishedApiPath(Model): return util.deserialize_model(dikt, cls) @property - def ccf_ids(self): + def ccf_ids(self) -> List[str]: """Gets the ccf_ids of this PublishedApiPath. A list of CCF identifiers where the service API is already published. # noqa: E501 @@ -54,7 +51,7 @@ class PublishedApiPath(Model): return self._ccf_ids @ccf_ids.setter - def ccf_ids(self, ccf_ids): + def ccf_ids(self, ccf_ids: List[str]): """Sets the ccf_ids of this PublishedApiPath. A list of CCF identifiers where the service API is already published. # noqa: E501 diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/relative_cartesian_location.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/relative_cartesian_location.py new file mode 100644 index 0000000..2f17cb8 --- /dev/null +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/relative_cartesian_location.py @@ -0,0 +1,123 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from published_apis.models.base_model import Model +from published_apis import util + + +class RelativeCartesianLocation(Model): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + """ + + def __init__(self, x=None, y=None, z=None): # noqa: E501 + """RelativeCartesianLocation - a model defined in OpenAPI + + :param x: The x of this RelativeCartesianLocation. # noqa: E501 + :type x: float + :param y: The y of this RelativeCartesianLocation. # noqa: E501 + :type y: float + :param z: The z of this RelativeCartesianLocation. # noqa: E501 + :type z: float + """ + self.openapi_types = { + 'x': float, + 'y': float, + 'z': float + } + + self.attribute_map = { + 'x': 'x', + 'y': 'y', + 'z': 'z' + } + + self._x = x + self._y = y + self._z = z + + @classmethod + def from_dict(cls, dikt) -> 'RelativeCartesianLocation': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The RelativeCartesianLocation of this RelativeCartesianLocation. # noqa: E501 + :rtype: RelativeCartesianLocation + """ + return util.deserialize_model(dikt, cls) + + @property + def x(self) -> float: + """Gets the x of this RelativeCartesianLocation. + + string with format 'float' as defined in OpenAPI. # noqa: E501 + + :return: The x of this RelativeCartesianLocation. + :rtype: float + """ + return self._x + + @x.setter + def x(self, x: float): + """Sets the x of this RelativeCartesianLocation. + + string with format 'float' as defined in OpenAPI. # noqa: E501 + + :param x: The x of this RelativeCartesianLocation. + :type x: float + """ + if x is None: + raise ValueError("Invalid value for `x`, must not be `None`") # noqa: E501 + + self._x = x + + @property + def y(self) -> float: + """Gets the y of this RelativeCartesianLocation. + + string with format 'float' as defined in OpenAPI. # noqa: E501 + + :return: The y of this RelativeCartesianLocation. + :rtype: float + """ + return self._y + + @y.setter + def y(self, y: float): + """Sets the y of this RelativeCartesianLocation. + + string with format 'float' as defined in OpenAPI. # noqa: E501 + + :param y: The y of this RelativeCartesianLocation. + :type y: float + """ + if y is None: + raise ValueError("Invalid value for `y`, must not be `None`") # noqa: E501 + + self._y = y + + @property + def z(self) -> float: + """Gets the z of this RelativeCartesianLocation. + + string with format 'float' as defined in OpenAPI. # noqa: E501 + + :return: The z of this RelativeCartesianLocation. + :rtype: float + """ + return self._z + + @z.setter + def z(self, z: float): + """Sets the z of this RelativeCartesianLocation. + + string with format 'float' as defined in OpenAPI. # noqa: E501 + + :param z: The z of this RelativeCartesianLocation. + :type z: float + """ + + self._z = z diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/resource.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/resource.py index ef8bebe..fe7445d 100644 --- a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/resource.py +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/resource.py @@ -1,16 +1,15 @@ -# coding: utf-8 - -from __future__ import absolute_import from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from published_apis.models.base_model_ import Model +from published_apis.models.base_model import Model from published_apis.models.communication_type import CommunicationType +from published_apis.models.custom_operation import CustomOperation from published_apis.models.operation import Operation from published_apis import util from published_apis.models.communication_type import CommunicationType # noqa: E501 +from published_apis.models.custom_operation import CustomOperation # noqa: E501 from published_apis.models.operation import Operation # noqa: E501 class Resource(Model): @@ -19,7 +18,7 @@ class Resource(Model): Do not edit the class manually. """ - def __init__(self, resource_name=None, comm_type=None, uri=None, cust_op_name=None, operations=None, description=None): # noqa: E501 + def __init__(self, resource_name=None, comm_type=None, uri=None, cust_op_name=None, cust_operations=None, operations=None, description=None): # noqa: E501 """Resource - a model defined in OpenAPI :param resource_name: The resource_name of this Resource. # noqa: E501 @@ -30,6 +29,8 @@ class Resource(Model): :type uri: str :param cust_op_name: The cust_op_name of this Resource. # noqa: E501 :type cust_op_name: str + :param cust_operations: The cust_operations of this Resource. # noqa: E501 + :type cust_operations: List[CustomOperation] :param operations: The operations of this Resource. # noqa: E501 :type operations: List[Operation] :param description: The description of this Resource. # noqa: E501 @@ -40,6 +41,7 @@ class Resource(Model): 'comm_type': CommunicationType, 'uri': str, 'cust_op_name': str, + 'cust_operations': List[CustomOperation], 'operations': List[Operation], 'description': str } @@ -49,6 +51,7 @@ class Resource(Model): 'comm_type': 'commType', 'uri': 'uri', 'cust_op_name': 'custOpName', + 'cust_operations': 'custOperations', 'operations': 'operations', 'description': 'description' } @@ -57,6 +60,7 @@ class Resource(Model): self._comm_type = comm_type self._uri = uri self._cust_op_name = cust_op_name + self._cust_operations = cust_operations self._operations = operations self._description = description @@ -72,7 +76,7 @@ class Resource(Model): return util.deserialize_model(dikt, cls) @property - def resource_name(self): + def resource_name(self) -> str: """Gets the resource_name of this Resource. Resource name # noqa: E501 @@ -83,7 +87,7 @@ class Resource(Model): return self._resource_name @resource_name.setter - def resource_name(self, resource_name): + def resource_name(self, resource_name: str): """Sets the resource_name of this Resource. Resource name # noqa: E501 @@ -97,7 +101,7 @@ class Resource(Model): self._resource_name = resource_name @property - def comm_type(self): + def comm_type(self) -> CommunicationType: """Gets the comm_type of this Resource. @@ -107,7 +111,7 @@ class Resource(Model): return self._comm_type @comm_type.setter - def comm_type(self, comm_type): + def comm_type(self, comm_type: CommunicationType): """Sets the comm_type of this Resource. @@ -120,10 +124,10 @@ class Resource(Model): self._comm_type = comm_type @property - def uri(self): + def uri(self) -> str: """Gets the uri of this Resource. - 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. # noqa: E501 + 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. # noqa: E501 :return: The uri of this Resource. :rtype: str @@ -131,10 +135,10 @@ class Resource(Model): return self._uri @uri.setter - def uri(self, uri): + def uri(self, uri: str): """Sets the uri of this Resource. - 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. # noqa: E501 + 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. # noqa: E501 :param uri: The uri of this Resource. :type uri: str @@ -145,10 +149,10 @@ class Resource(Model): self._uri = uri @property - def cust_op_name(self): + def cust_op_name(self) -> str: """Gets the cust_op_name of this Resource. - 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. # noqa: E501 + 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. # noqa: E501 :return: The cust_op_name of this Resource. :rtype: str @@ -156,10 +160,10 @@ class Resource(Model): return self._cust_op_name @cust_op_name.setter - def cust_op_name(self, cust_op_name): + def cust_op_name(self, cust_op_name: str): """Sets the cust_op_name of this Resource. - 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. # noqa: E501 + 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. # noqa: E501 :param cust_op_name: The cust_op_name of this Resource. :type cust_op_name: str @@ -168,10 +172,35 @@ class Resource(Model): self._cust_op_name = cust_op_name @property - def operations(self): + def cust_operations(self) -> List[CustomOperation]: + """Gets the cust_operations of this Resource. + + Custom operations associated with this resource. # noqa: E501 + + :return: The cust_operations of this Resource. + :rtype: List[CustomOperation] + """ + return self._cust_operations + + @cust_operations.setter + def cust_operations(self, cust_operations: List[CustomOperation]): + """Sets the cust_operations of this Resource. + + Custom operations associated with this resource. # noqa: E501 + + :param cust_operations: The cust_operations of this Resource. + :type cust_operations: List[CustomOperation] + """ + if cust_operations is not None and len(cust_operations) < 1: + raise ValueError("Invalid value for `cust_operations`, number of items must be greater than or equal to `1`") # noqa: E501 + + self._cust_operations = cust_operations + + @property + def operations(self) -> List[Operation]: """Gets the operations of this Resource. - Supported HTTP methods for the API resource. Only applicable when the protocol in AefProfile indicates HTTP. # noqa: E501 + Supported HTTP methods for the API resource. Only applicable when the protocol in AefProfile indicates HTTP. # noqa: E501 :return: The operations of this Resource. :rtype: List[Operation] @@ -179,10 +208,10 @@ class Resource(Model): return self._operations @operations.setter - def operations(self, operations): + def operations(self, operations: List[Operation]): """Sets the operations of this Resource. - Supported HTTP methods for the API resource. Only applicable when the protocol in AefProfile indicates HTTP. # noqa: E501 + Supported HTTP methods for the API resource. Only applicable when the protocol in AefProfile indicates HTTP. # noqa: E501 :param operations: The operations of this Resource. :type operations: List[Operation] @@ -193,7 +222,7 @@ class Resource(Model): self._operations = operations @property - def description(self): + def description(self) -> str: """Gets the description of this Resource. Text description of the API resource # noqa: E501 @@ -204,7 +233,7 @@ class Resource(Model): return self._description @description.setter - def description(self, description): + def description(self, description: str): """Sets the description of this Resource. Text description of the API resource # noqa: E501 diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/security_method.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/security_method.py index 643e41d..5914237 100644 --- a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/security_method.py +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/security_method.py @@ -1,15 +1,10 @@ -# coding: utf-8 - -from __future__ import absolute_import from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from published_apis.models.base_model_ import Model -from published_apis.models.security_method_any_of import SecurityMethodAnyOf +from published_apis.models.base_model import Model from published_apis import util -from published_apis.models.security_method_any_of import SecurityMethodAnyOf # noqa: E501 class SecurityMethod(Model): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/security_method_any_of.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/security_method_any_of.py deleted file mode 100644 index 061d64c..0000000 --- a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/security_method_any_of.py +++ /dev/null @@ -1,43 +0,0 @@ -# coding: utf-8 - -from __future__ import absolute_import -from datetime import date, datetime # noqa: F401 - -from typing import List, Dict # noqa: F401 - -from published_apis.models.base_model_ import Model -from published_apis import util - - -class SecurityMethodAnyOf(Model): - """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - - Do not edit the class manually. - """ - - """ - allowed enum values - """ - PSK = "PSK" - PKI = "PKI" - OAUTH = "OAUTH" - def __init__(self): # noqa: E501 - """SecurityMethodAnyOf - a model defined in OpenAPI - - """ - self.openapi_types = { - } - - self.attribute_map = { - } - - @classmethod - def from_dict(cls, dikt) -> 'SecurityMethodAnyOf': - """Returns the dict as a model - - :param dikt: A dict. - :type: dict - :return: The SecurityMethod_anyOf of this SecurityMethodAnyOf. # noqa: E501 - :rtype: SecurityMethodAnyOf - """ - return util.deserialize_model(dikt, cls) diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/service_api_description.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/service_api_description.py index e098f0b..396b9fa 100644 --- a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/service_api_description.py +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/service_api_description.py @@ -1,18 +1,17 @@ -# coding: utf-8 - -from __future__ import absolute_import from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from published_apis.models.base_model_ import Model +from published_apis.models.base_model import Model from published_apis.models.aef_profile import AefProfile +from published_apis.models.api_status import ApiStatus from published_apis.models.published_api_path import PublishedApiPath from published_apis.models.shareable_information import ShareableInformation import re from published_apis import util from published_apis.models.aef_profile import AefProfile # noqa: E501 +from published_apis.models.api_status import ApiStatus # noqa: E501 from published_apis.models.published_api_path import PublishedApiPath # noqa: E501 from published_apis.models.shareable_information import ShareableInformation # noqa: E501 import re # noqa: E501 @@ -23,13 +22,15 @@ class ServiceAPIDescription(Model): Do not edit the class manually. """ - def __init__(self, api_name=None, api_id=None, aef_profiles=None, description=None, supported_features=None, shareable_info=None, service_api_category=None, api_supp_feats=None, pub_api_path=None, ccf_id=None): # noqa: E501 + def __init__(self, api_name=None, api_id=None, api_status=None, aef_profiles=None, description=None, supported_features=None, shareable_info=None, service_api_category=None, api_supp_feats=None, pub_api_path=None, ccf_id=None, api_prov_name=None): # noqa: E501 """ServiceAPIDescription - a model defined in OpenAPI :param api_name: The api_name of this ServiceAPIDescription. # noqa: E501 :type api_name: str :param api_id: The api_id of this ServiceAPIDescription. # noqa: E501 :type api_id: str + :param api_status: The api_status of this ServiceAPIDescription. # noqa: E501 + :type api_status: ApiStatus :param aef_profiles: The aef_profiles of this ServiceAPIDescription. # noqa: E501 :type aef_profiles: List[AefProfile] :param description: The description of this ServiceAPIDescription. # noqa: E501 @@ -46,10 +47,13 @@ class ServiceAPIDescription(Model): :type pub_api_path: PublishedApiPath :param ccf_id: The ccf_id of this ServiceAPIDescription. # noqa: E501 :type ccf_id: str + :param api_prov_name: The api_prov_name of this ServiceAPIDescription. # noqa: E501 + :type api_prov_name: str """ self.openapi_types = { 'api_name': str, 'api_id': str, + 'api_status': ApiStatus, 'aef_profiles': List[AefProfile], 'description': str, 'supported_features': str, @@ -57,12 +61,14 @@ class ServiceAPIDescription(Model): 'service_api_category': str, 'api_supp_feats': str, 'pub_api_path': PublishedApiPath, - 'ccf_id': str + 'ccf_id': str, + 'api_prov_name': str } self.attribute_map = { 'api_name': 'apiName', 'api_id': 'apiId', + 'api_status': 'apiStatus', 'aef_profiles': 'aefProfiles', 'description': 'description', 'supported_features': 'supportedFeatures', @@ -70,11 +76,13 @@ class ServiceAPIDescription(Model): 'service_api_category': 'serviceAPICategory', 'api_supp_feats': 'apiSuppFeats', 'pub_api_path': 'pubApiPath', - 'ccf_id': 'ccfId' + 'ccf_id': 'ccfId', + 'api_prov_name': 'apiProvName' } self._api_name = api_name self._api_id = api_id + self._api_status = api_status self._aef_profiles = aef_profiles self._description = description self._supported_features = supported_features @@ -83,6 +91,7 @@ class ServiceAPIDescription(Model): self._api_supp_feats = api_supp_feats self._pub_api_path = pub_api_path self._ccf_id = ccf_id + self._api_prov_name = api_prov_name @classmethod def from_dict(cls, dikt) -> 'ServiceAPIDescription': @@ -96,10 +105,10 @@ class ServiceAPIDescription(Model): return util.deserialize_model(dikt, cls) @property - def api_name(self): + def api_name(self) -> str: """Gets the api_name of this ServiceAPIDescription. - API name, it is set as {apiName} part of the URI structure as defined in subclause 4.4 of 3GPP TS 29.501. # noqa: E501 + API name, it is set as {apiName} part of the URI structure as defined in clause 5.2.4 of 3GPP TS 29.122. # noqa: E501 :return: The api_name of this ServiceAPIDescription. :rtype: str @@ -107,10 +116,10 @@ class ServiceAPIDescription(Model): return self._api_name @api_name.setter - def api_name(self, api_name): + def api_name(self, api_name: str): """Sets the api_name of this ServiceAPIDescription. - API name, it is set as {apiName} part of the URI structure as defined in subclause 4.4 of 3GPP TS 29.501. # noqa: E501 + API name, it is set as {apiName} part of the URI structure as defined in clause 5.2.4 of 3GPP TS 29.122. # noqa: E501 :param api_name: The api_name of this ServiceAPIDescription. :type api_name: str @@ -121,10 +130,10 @@ class ServiceAPIDescription(Model): self._api_name = api_name @property - def api_id(self): + def api_id(self) -> str: """Gets the api_id of this ServiceAPIDescription. - 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). # noqa: E501 + 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). # noqa: E501 :return: The api_id of this ServiceAPIDescription. :rtype: str @@ -132,10 +141,10 @@ class ServiceAPIDescription(Model): return self._api_id @api_id.setter - def api_id(self, api_id): + def api_id(self, api_id: str): """Sets the api_id of this ServiceAPIDescription. - 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). # noqa: E501 + 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). # noqa: E501 :param api_id: The api_id of this ServiceAPIDescription. :type api_id: str @@ -144,10 +153,31 @@ class ServiceAPIDescription(Model): self._api_id = api_id @property - def aef_profiles(self): + def api_status(self) -> ApiStatus: + """Gets the api_status of this ServiceAPIDescription. + + + :return: The api_status of this ServiceAPIDescription. + :rtype: ApiStatus + """ + return self._api_status + + @api_status.setter + def api_status(self, api_status: ApiStatus): + """Sets the api_status of this ServiceAPIDescription. + + + :param api_status: The api_status of this ServiceAPIDescription. + :type api_status: ApiStatus + """ + + self._api_status = api_status + + @property + def aef_profiles(self) -> List[AefProfile]: """Gets the aef_profiles of this ServiceAPIDescription. - AEF profile information, which includes the exposed API details (e.g. protocol). # noqa: E501 + AEF profile information, which includes the exposed API details (e.g. protocol). # noqa: E501 :return: The aef_profiles of this ServiceAPIDescription. :rtype: List[AefProfile] @@ -155,10 +185,10 @@ class ServiceAPIDescription(Model): return self._aef_profiles @aef_profiles.setter - def aef_profiles(self, aef_profiles): + def aef_profiles(self, aef_profiles: List[AefProfile]): """Sets the aef_profiles of this ServiceAPIDescription. - AEF profile information, which includes the exposed API details (e.g. protocol). # noqa: E501 + AEF profile information, which includes the exposed API details (e.g. protocol). # noqa: E501 :param aef_profiles: The aef_profiles of this ServiceAPIDescription. :type aef_profiles: List[AefProfile] @@ -169,7 +199,7 @@ class ServiceAPIDescription(Model): self._aef_profiles = aef_profiles @property - def description(self): + def description(self) -> str: """Gets the description of this ServiceAPIDescription. Text description of the API # noqa: E501 @@ -180,7 +210,7 @@ class ServiceAPIDescription(Model): return self._description @description.setter - def description(self, description): + def description(self, description: str): """Sets the description of this ServiceAPIDescription. Text description of the API # noqa: E501 @@ -192,10 +222,10 @@ class ServiceAPIDescription(Model): self._description = description @property - def supported_features(self): + def supported_features(self) -> str: """Gets the supported_features of this ServiceAPIDescription. - 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 # noqa: E501 + 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. # noqa: E501 :return: The supported_features of this ServiceAPIDescription. :rtype: str @@ -203,10 +233,10 @@ class ServiceAPIDescription(Model): return self._supported_features @supported_features.setter - def supported_features(self, supported_features): + def supported_features(self, supported_features: str): """Sets the supported_features of this ServiceAPIDescription. - 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 # noqa: E501 + 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. # noqa: E501 :param supported_features: The supported_features of this ServiceAPIDescription. :type supported_features: str @@ -217,7 +247,7 @@ class ServiceAPIDescription(Model): self._supported_features = supported_features @property - def shareable_info(self): + def shareable_info(self) -> ShareableInformation: """Gets the shareable_info of this ServiceAPIDescription. @@ -227,7 +257,7 @@ class ServiceAPIDescription(Model): return self._shareable_info @shareable_info.setter - def shareable_info(self, shareable_info): + def shareable_info(self, shareable_info: ShareableInformation): """Sets the shareable_info of this ServiceAPIDescription. @@ -238,9 +268,10 @@ class ServiceAPIDescription(Model): self._shareable_info = shareable_info @property - def service_api_category(self): + def service_api_category(self) -> str: """Gets the service_api_category of this ServiceAPIDescription. + The service API category to which the service API belongs to. # noqa: E501 :return: The service_api_category of this ServiceAPIDescription. :rtype: str @@ -248,9 +279,10 @@ class ServiceAPIDescription(Model): return self._service_api_category @service_api_category.setter - def service_api_category(self, service_api_category): + def service_api_category(self, service_api_category: str): """Sets the service_api_category of this ServiceAPIDescription. + The service API category to which the service API belongs to. # noqa: E501 :param service_api_category: The service_api_category of this ServiceAPIDescription. :type service_api_category: str @@ -259,10 +291,10 @@ class ServiceAPIDescription(Model): self._service_api_category = service_api_category @property - def api_supp_feats(self): + def api_supp_feats(self) -> str: """Gets the api_supp_feats of this ServiceAPIDescription. - 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 # noqa: E501 + 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. # noqa: E501 :return: The api_supp_feats of this ServiceAPIDescription. :rtype: str @@ -270,10 +302,10 @@ class ServiceAPIDescription(Model): return self._api_supp_feats @api_supp_feats.setter - def api_supp_feats(self, api_supp_feats): + def api_supp_feats(self, api_supp_feats: str): """Sets the api_supp_feats of this ServiceAPIDescription. - 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 # noqa: E501 + 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. # noqa: E501 :param api_supp_feats: The api_supp_feats of this ServiceAPIDescription. :type api_supp_feats: str @@ -284,7 +316,7 @@ class ServiceAPIDescription(Model): self._api_supp_feats = api_supp_feats @property - def pub_api_path(self): + def pub_api_path(self) -> PublishedApiPath: """Gets the pub_api_path of this ServiceAPIDescription. @@ -294,7 +326,7 @@ class ServiceAPIDescription(Model): return self._pub_api_path @pub_api_path.setter - def pub_api_path(self, pub_api_path): + def pub_api_path(self, pub_api_path: PublishedApiPath): """Sets the pub_api_path of this ServiceAPIDescription. @@ -305,7 +337,7 @@ class ServiceAPIDescription(Model): self._pub_api_path = pub_api_path @property - def ccf_id(self): + def ccf_id(self) -> str: """Gets the ccf_id of this ServiceAPIDescription. CAPIF core function identifier. # noqa: E501 @@ -316,7 +348,7 @@ class ServiceAPIDescription(Model): return self._ccf_id @ccf_id.setter - def ccf_id(self, ccf_id): + def ccf_id(self, ccf_id: str): """Sets the ccf_id of this ServiceAPIDescription. CAPIF core function identifier. # noqa: E501 @@ -326,3 +358,26 @@ class ServiceAPIDescription(Model): """ self._ccf_id = ccf_id + + @property + def api_prov_name(self) -> str: + """Gets the api_prov_name of this ServiceAPIDescription. + + Represents the API provider name. # noqa: E501 + + :return: The api_prov_name of this ServiceAPIDescription. + :rtype: str + """ + return self._api_prov_name + + @api_prov_name.setter + def api_prov_name(self, api_prov_name: str): + """Sets the api_prov_name of this ServiceAPIDescription. + + Represents the API provider name. # noqa: E501 + + :param api_prov_name: The api_prov_name of this ServiceAPIDescription. + :type api_prov_name: str + """ + + self._api_prov_name = api_prov_name diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/service_api_description_patch.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/service_api_description_patch.py new file mode 100644 index 0000000..d03a51f --- /dev/null +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/service_api_description_patch.py @@ -0,0 +1,267 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from published_apis.models.base_model import Model +from published_apis.models.aef_profile import AefProfile +from published_apis.models.api_status import ApiStatus +from published_apis.models.published_api_path import PublishedApiPath +from published_apis.models.shareable_information import ShareableInformation +import re +from published_apis import util + +from published_apis.models.aef_profile import AefProfile # noqa: E501 +from published_apis.models.api_status import ApiStatus # noqa: E501 +from published_apis.models.published_api_path import PublishedApiPath # noqa: E501 +from published_apis.models.shareable_information import ShareableInformation # noqa: E501 +import re # noqa: E501 + +class ServiceAPIDescriptionPatch(Model): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + """ + + def __init__(self, api_status=None, aef_profiles=None, description=None, shareable_info=None, service_api_category=None, api_supp_feats=None, pub_api_path=None, ccf_id=None): # noqa: E501 + """ServiceAPIDescriptionPatch - a model defined in OpenAPI + + :param api_status: The api_status of this ServiceAPIDescriptionPatch. # noqa: E501 + :type api_status: ApiStatus + :param aef_profiles: The aef_profiles of this ServiceAPIDescriptionPatch. # noqa: E501 + :type aef_profiles: List[AefProfile] + :param description: The description of this ServiceAPIDescriptionPatch. # noqa: E501 + :type description: str + :param shareable_info: The shareable_info of this ServiceAPIDescriptionPatch. # noqa: E501 + :type shareable_info: ShareableInformation + :param service_api_category: The service_api_category of this ServiceAPIDescriptionPatch. # noqa: E501 + :type service_api_category: str + :param api_supp_feats: The api_supp_feats of this ServiceAPIDescriptionPatch. # noqa: E501 + :type api_supp_feats: str + :param pub_api_path: The pub_api_path of this ServiceAPIDescriptionPatch. # noqa: E501 + :type pub_api_path: PublishedApiPath + :param ccf_id: The ccf_id of this ServiceAPIDescriptionPatch. # noqa: E501 + :type ccf_id: str + """ + self.openapi_types = { + 'api_status': ApiStatus, + 'aef_profiles': List[AefProfile], + 'description': str, + 'shareable_info': ShareableInformation, + 'service_api_category': str, + 'api_supp_feats': str, + 'pub_api_path': PublishedApiPath, + 'ccf_id': str + } + + self.attribute_map = { + 'api_status': 'apiStatus', + 'aef_profiles': 'aefProfiles', + 'description': 'description', + 'shareable_info': 'shareableInfo', + 'service_api_category': 'serviceAPICategory', + 'api_supp_feats': 'apiSuppFeats', + 'pub_api_path': 'pubApiPath', + 'ccf_id': 'ccfId' + } + + self._api_status = api_status + self._aef_profiles = aef_profiles + self._description = description + self._shareable_info = shareable_info + self._service_api_category = service_api_category + self._api_supp_feats = api_supp_feats + self._pub_api_path = pub_api_path + self._ccf_id = ccf_id + + @classmethod + def from_dict(cls, dikt) -> 'ServiceAPIDescriptionPatch': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The ServiceAPIDescriptionPatch of this ServiceAPIDescriptionPatch. # noqa: E501 + :rtype: ServiceAPIDescriptionPatch + """ + return util.deserialize_model(dikt, cls) + + @property + def api_status(self) -> ApiStatus: + """Gets the api_status of this ServiceAPIDescriptionPatch. + + + :return: The api_status of this ServiceAPIDescriptionPatch. + :rtype: ApiStatus + """ + return self._api_status + + @api_status.setter + def api_status(self, api_status: ApiStatus): + """Sets the api_status of this ServiceAPIDescriptionPatch. + + + :param api_status: The api_status of this ServiceAPIDescriptionPatch. + :type api_status: ApiStatus + """ + + self._api_status = api_status + + @property + def aef_profiles(self) -> List[AefProfile]: + """Gets the aef_profiles of this ServiceAPIDescriptionPatch. + + AEF profile information, which includes the exposed API details. # noqa: E501 + + :return: The aef_profiles of this ServiceAPIDescriptionPatch. + :rtype: List[AefProfile] + """ + return self._aef_profiles + + @aef_profiles.setter + def aef_profiles(self, aef_profiles: List[AefProfile]): + """Sets the aef_profiles of this ServiceAPIDescriptionPatch. + + AEF profile information, which includes the exposed API details. # noqa: E501 + + :param aef_profiles: The aef_profiles of this ServiceAPIDescriptionPatch. + :type aef_profiles: List[AefProfile] + """ + if aef_profiles is not None and len(aef_profiles) < 1: + raise ValueError("Invalid value for `aef_profiles`, number of items must be greater than or equal to `1`") # noqa: E501 + + self._aef_profiles = aef_profiles + + @property + def description(self) -> str: + """Gets the description of this ServiceAPIDescriptionPatch. + + Text description of the API # noqa: E501 + + :return: The description of this ServiceAPIDescriptionPatch. + :rtype: str + """ + return self._description + + @description.setter + def description(self, description: str): + """Sets the description of this ServiceAPIDescriptionPatch. + + Text description of the API # noqa: E501 + + :param description: The description of this ServiceAPIDescriptionPatch. + :type description: str + """ + + self._description = description + + @property + def shareable_info(self) -> ShareableInformation: + """Gets the shareable_info of this ServiceAPIDescriptionPatch. + + + :return: The shareable_info of this ServiceAPIDescriptionPatch. + :rtype: ShareableInformation + """ + return self._shareable_info + + @shareable_info.setter + def shareable_info(self, shareable_info: ShareableInformation): + """Sets the shareable_info of this ServiceAPIDescriptionPatch. + + + :param shareable_info: The shareable_info of this ServiceAPIDescriptionPatch. + :type shareable_info: ShareableInformation + """ + + self._shareable_info = shareable_info + + @property + def service_api_category(self) -> str: + """Gets the service_api_category of this ServiceAPIDescriptionPatch. + + The service API category to which the service API belongs to. # noqa: E501 + + :return: The service_api_category of this ServiceAPIDescriptionPatch. + :rtype: str + """ + return self._service_api_category + + @service_api_category.setter + def service_api_category(self, service_api_category: str): + """Sets the service_api_category of this ServiceAPIDescriptionPatch. + + The service API category to which the service API belongs to. # noqa: E501 + + :param service_api_category: The service_api_category of this ServiceAPIDescriptionPatch. + :type service_api_category: str + """ + + self._service_api_category = service_api_category + + @property + def api_supp_feats(self) -> str: + """Gets the api_supp_feats of this ServiceAPIDescriptionPatch. + + 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. # noqa: E501 + + :return: The api_supp_feats of this ServiceAPIDescriptionPatch. + :rtype: str + """ + return self._api_supp_feats + + @api_supp_feats.setter + def api_supp_feats(self, api_supp_feats: str): + """Sets the api_supp_feats of this ServiceAPIDescriptionPatch. + + 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. # noqa: E501 + + :param api_supp_feats: The api_supp_feats of this ServiceAPIDescriptionPatch. + :type api_supp_feats: str + """ + if api_supp_feats is not None and not re.search(r'^[A-Fa-f0-9]*$', api_supp_feats): # noqa: E501 + raise ValueError("Invalid value for `api_supp_feats`, must be a follow pattern or equal to `/^[A-Fa-f0-9]*$/`") # noqa: E501 + + self._api_supp_feats = api_supp_feats + + @property + def pub_api_path(self) -> PublishedApiPath: + """Gets the pub_api_path of this ServiceAPIDescriptionPatch. + + + :return: The pub_api_path of this ServiceAPIDescriptionPatch. + :rtype: PublishedApiPath + """ + return self._pub_api_path + + @pub_api_path.setter + def pub_api_path(self, pub_api_path: PublishedApiPath): + """Sets the pub_api_path of this ServiceAPIDescriptionPatch. + + + :param pub_api_path: The pub_api_path of this ServiceAPIDescriptionPatch. + :type pub_api_path: PublishedApiPath + """ + + self._pub_api_path = pub_api_path + + @property + def ccf_id(self) -> str: + """Gets the ccf_id of this ServiceAPIDescriptionPatch. + + CAPIF core function identifier. # noqa: E501 + + :return: The ccf_id of this ServiceAPIDescriptionPatch. + :rtype: str + """ + return self._ccf_id + + @ccf_id.setter + def ccf_id(self, ccf_id: str): + """Sets the ccf_id of this ServiceAPIDescriptionPatch. + + CAPIF core function identifier. # noqa: E501 + + :param ccf_id: The ccf_id of this ServiceAPIDescriptionPatch. + :type ccf_id: str + """ + + self._ccf_id = ccf_id diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/service_kpis.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/service_kpis.py new file mode 100644 index 0000000..99b85da --- /dev/null +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/service_kpis.py @@ -0,0 +1,277 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from published_apis.models.base_model import Model +import re +from published_apis import util + +import re # noqa: E501 + +class ServiceKpis(Model): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + """ + + def __init__(self, max_req_rate=None, max_restime=None, availability=None, aval_comp=None, aval_gra_comp=None, aval_mem=None, aval_stor=None, con_band=None): # noqa: E501 + """ServiceKpis - a model defined in OpenAPI + + :param max_req_rate: The max_req_rate of this ServiceKpis. # noqa: E501 + :type max_req_rate: int + :param max_restime: The max_restime of this ServiceKpis. # noqa: E501 + :type max_restime: int + :param availability: The availability of this ServiceKpis. # noqa: E501 + :type availability: int + :param aval_comp: The aval_comp of this ServiceKpis. # noqa: E501 + :type aval_comp: str + :param aval_gra_comp: The aval_gra_comp of this ServiceKpis. # noqa: E501 + :type aval_gra_comp: str + :param aval_mem: The aval_mem of this ServiceKpis. # noqa: E501 + :type aval_mem: str + :param aval_stor: The aval_stor of this ServiceKpis. # noqa: E501 + :type aval_stor: str + :param con_band: The con_band of this ServiceKpis. # noqa: E501 + :type con_band: int + """ + self.openapi_types = { + 'max_req_rate': int, + 'max_restime': int, + 'availability': int, + 'aval_comp': str, + 'aval_gra_comp': str, + 'aval_mem': str, + 'aval_stor': str, + 'con_band': int + } + + self.attribute_map = { + 'max_req_rate': 'maxReqRate', + 'max_restime': 'maxRestime', + 'availability': 'availability', + 'aval_comp': 'avalComp', + 'aval_gra_comp': 'avalGraComp', + 'aval_mem': 'avalMem', + 'aval_stor': 'avalStor', + 'con_band': 'conBand' + } + + self._max_req_rate = max_req_rate + self._max_restime = max_restime + self._availability = availability + self._aval_comp = aval_comp + self._aval_gra_comp = aval_gra_comp + self._aval_mem = aval_mem + self._aval_stor = aval_stor + self._con_band = con_band + + @classmethod + def from_dict(cls, dikt) -> 'ServiceKpis': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The ServiceKpis of this ServiceKpis. # noqa: E501 + :rtype: ServiceKpis + """ + return util.deserialize_model(dikt, cls) + + @property + def max_req_rate(self) -> int: + """Gets the max_req_rate of this ServiceKpis. + + Unsigned Integer, i.e. only value 0 and integers above 0 are permissible. # noqa: E501 + + :return: The max_req_rate of this ServiceKpis. + :rtype: int + """ + return self._max_req_rate + + @max_req_rate.setter + def max_req_rate(self, max_req_rate: int): + """Sets the max_req_rate of this ServiceKpis. + + Unsigned Integer, i.e. only value 0 and integers above 0 are permissible. # noqa: E501 + + :param max_req_rate: The max_req_rate of this ServiceKpis. + :type max_req_rate: int + """ + if max_req_rate is not None and max_req_rate < 0: # noqa: E501 + raise ValueError("Invalid value for `max_req_rate`, must be a value greater than or equal to `0`") # noqa: E501 + + self._max_req_rate = max_req_rate + + @property + def max_restime(self) -> int: + """Gets the max_restime of this ServiceKpis. + + Unsigned integer identifying a period of time in units of seconds. # noqa: E501 + + :return: The max_restime of this ServiceKpis. + :rtype: int + """ + return self._max_restime + + @max_restime.setter + def max_restime(self, max_restime: int): + """Sets the max_restime of this ServiceKpis. + + Unsigned integer identifying a period of time in units of seconds. # noqa: E501 + + :param max_restime: The max_restime of this ServiceKpis. + :type max_restime: int + """ + if max_restime is not None and max_restime < 0: # noqa: E501 + raise ValueError("Invalid value for `max_restime`, must be a value greater than or equal to `0`") # noqa: E501 + + self._max_restime = max_restime + + @property + def availability(self) -> int: + """Gets the availability of this ServiceKpis. + + Unsigned Integer, i.e. only value 0 and integers above 0 are permissible. # noqa: E501 + + :return: The availability of this ServiceKpis. + :rtype: int + """ + return self._availability + + @availability.setter + def availability(self, availability: int): + """Sets the availability of this ServiceKpis. + + Unsigned Integer, i.e. only value 0 and integers above 0 are permissible. # noqa: E501 + + :param availability: The availability of this ServiceKpis. + :type availability: int + """ + if availability is not None and availability < 0: # noqa: E501 + raise ValueError("Invalid value for `availability`, must be a value greater than or equal to `0`") # noqa: E501 + + self._availability = availability + + @property + def aval_comp(self) -> str: + """Gets the aval_comp of this ServiceKpis. + + The maximum compute resource available in FLOPS for the API Invoker. # noqa: E501 + + :return: The aval_comp of this ServiceKpis. + :rtype: str + """ + return self._aval_comp + + @aval_comp.setter + def aval_comp(self, aval_comp: str): + """Sets the aval_comp of this ServiceKpis. + + The maximum compute resource available in FLOPS for the API Invoker. # noqa: E501 + + :param aval_comp: The aval_comp of this ServiceKpis. + :type aval_comp: str + """ + if aval_comp is not None and not re.search(r'^\d+(\.\d+)? (kFLOPS|MFLOPS|GFLOPS|TFLOPS|PFLOPS|EFLOPS|ZFLOPS)$', aval_comp): # noqa: E501 + raise ValueError("Invalid value for `aval_comp`, must be a follow pattern or equal to `/^\d+(\.\d+)? (kFLOPS|MFLOPS|GFLOPS|TFLOPS|PFLOPS|EFLOPS|ZFLOPS)$/`") # noqa: E501 + + self._aval_comp = aval_comp + + @property + def aval_gra_comp(self) -> str: + """Gets the aval_gra_comp of this ServiceKpis. + + The maximum graphical compute resource in FLOPS available for the API Invoker. # noqa: E501 + + :return: The aval_gra_comp of this ServiceKpis. + :rtype: str + """ + return self._aval_gra_comp + + @aval_gra_comp.setter + def aval_gra_comp(self, aval_gra_comp: str): + """Sets the aval_gra_comp of this ServiceKpis. + + The maximum graphical compute resource in FLOPS available for the API Invoker. # noqa: E501 + + :param aval_gra_comp: The aval_gra_comp of this ServiceKpis. + :type aval_gra_comp: str + """ + if aval_gra_comp is not None and not re.search(r'^\d+(\.\d+)? (kFLOPS|MFLOPS|GFLOPS|TFLOPS|PFLOPS|EFLOPS|ZFLOPS)$', aval_gra_comp): # noqa: E501 + raise ValueError("Invalid value for `aval_gra_comp`, must be a follow pattern or equal to `/^\d+(\.\d+)? (kFLOPS|MFLOPS|GFLOPS|TFLOPS|PFLOPS|EFLOPS|ZFLOPS)$/`") # noqa: E501 + + self._aval_gra_comp = aval_gra_comp + + @property + def aval_mem(self) -> str: + """Gets the aval_mem of this ServiceKpis. + + The maximum memory resource available for the API Invoker. # noqa: E501 + + :return: The aval_mem of this ServiceKpis. + :rtype: str + """ + return self._aval_mem + + @aval_mem.setter + def aval_mem(self, aval_mem: str): + """Sets the aval_mem of this ServiceKpis. + + The maximum memory resource available for the API Invoker. # noqa: E501 + + :param aval_mem: The aval_mem of this ServiceKpis. + :type aval_mem: str + """ + if aval_mem is not None and not re.search(r'^\d+(\.\d+)? (KB|MB|GB|TB|PB|EB|ZB|YB)$', aval_mem): # noqa: E501 + raise ValueError("Invalid value for `aval_mem`, must be a follow pattern or equal to `/^\d+(\.\d+)? (KB|MB|GB|TB|PB|EB|ZB|YB)$/`") # noqa: E501 + + self._aval_mem = aval_mem + + @property + def aval_stor(self) -> str: + """Gets the aval_stor of this ServiceKpis. + + The maximum storage resource available for the API Invoker. # noqa: E501 + + :return: The aval_stor of this ServiceKpis. + :rtype: str + """ + return self._aval_stor + + @aval_stor.setter + def aval_stor(self, aval_stor: str): + """Sets the aval_stor of this ServiceKpis. + + The maximum storage resource available for the API Invoker. # noqa: E501 + + :param aval_stor: The aval_stor of this ServiceKpis. + :type aval_stor: str + """ + if aval_stor is not None and not re.search(r'^\d+(\.\d+)? (KB|MB|GB|TB|PB|EB|ZB|YB)$', aval_stor): # noqa: E501 + raise ValueError("Invalid value for `aval_stor`, must be a follow pattern or equal to `/^\d+(\.\d+)? (KB|MB|GB|TB|PB|EB|ZB|YB)$/`") # noqa: E501 + + self._aval_stor = aval_stor + + @property + def con_band(self) -> int: + """Gets the con_band of this ServiceKpis. + + Unsigned Integer, i.e. only value 0 and integers above 0 are permissible. # noqa: E501 + + :return: The con_band of this ServiceKpis. + :rtype: int + """ + return self._con_band + + @con_band.setter + def con_band(self, con_band: int): + """Sets the con_band of this ServiceKpis. + + Unsigned Integer, i.e. only value 0 and integers above 0 are permissible. # noqa: E501 + + :param con_band: The con_band of this ServiceKpis. + :type con_band: int + """ + if con_band is not None and con_band < 0: # noqa: E501 + raise ValueError("Invalid value for `con_band`, must be a value greater than or equal to `0`") # noqa: E501 + + self._con_band = con_band diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/shareable_information.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/shareable_information.py index c8bdc25..ff4aea1 100644 --- a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/shareable_information.py +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/shareable_information.py @@ -1,11 +1,8 @@ -# coding: utf-8 - -from __future__ import absolute_import from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from published_apis.models.base_model_ import Model +from published_apis.models.base_model import Model from published_apis import util @@ -48,10 +45,10 @@ class ShareableInformation(Model): return util.deserialize_model(dikt, cls) @property - def is_shareable(self): + def is_shareable(self) -> bool: """Gets the is_shareable of this ShareableInformation. - Set to \"true\" indicates that the service API and/or the service API category can be shared to the list of CAPIF provider domain information. Otherwise set to \"false\". # noqa: E501 + Set to \"true\" indicates that the service API and/or the service API category can be shared to the list of CAPIF provider domain information. Otherwise set to \"false\". # noqa: E501 :return: The is_shareable of this ShareableInformation. :rtype: bool @@ -59,10 +56,10 @@ class ShareableInformation(Model): return self._is_shareable @is_shareable.setter - def is_shareable(self, is_shareable): + def is_shareable(self, is_shareable: bool): """Sets the is_shareable of this ShareableInformation. - Set to \"true\" indicates that the service API and/or the service API category can be shared to the list of CAPIF provider domain information. Otherwise set to \"false\". # noqa: E501 + Set to \"true\" indicates that the service API and/or the service API category can be shared to the list of CAPIF provider domain information. Otherwise set to \"false\". # noqa: E501 :param is_shareable: The is_shareable of this ShareableInformation. :type is_shareable: bool @@ -73,10 +70,10 @@ class ShareableInformation(Model): self._is_shareable = is_shareable @property - def capif_prov_doms(self): + def capif_prov_doms(self) -> List[str]: """Gets the capif_prov_doms of this ShareableInformation. - List of CAPIF provider domains to which the service API information to be shared. # noqa: E501 + List of CAPIF provider domains to which the service API information to be shared. # noqa: E501 :return: The capif_prov_doms of this ShareableInformation. :rtype: List[str] @@ -84,10 +81,10 @@ class ShareableInformation(Model): return self._capif_prov_doms @capif_prov_doms.setter - def capif_prov_doms(self, capif_prov_doms): + def capif_prov_doms(self, capif_prov_doms: List[str]): """Sets the capif_prov_doms of this ShareableInformation. - List of CAPIF provider domains to which the service API information to be shared. # noqa: E501 + List of CAPIF provider domains to which the service API information to be shared. # noqa: E501 :param capif_prov_doms: The capif_prov_doms of this ShareableInformation. :type capif_prov_doms: List[str] diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/protocol_any_of.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/supported_gad_shapes.py similarity index 57% rename from services/TS29222_CAPIF_Publish_Service_API/published_apis/models/protocol_any_of.py rename to services/TS29222_CAPIF_Publish_Service_API/published_apis/models/supported_gad_shapes.py index cbbfd46..50d7db7 100644 --- a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/protocol_any_of.py +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/supported_gad_shapes.py @@ -1,27 +1,19 @@ -# coding: utf-8 - -from __future__ import absolute_import from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from published_apis.models.base_model_ import Model +from published_apis.models.base_model import Model from published_apis import util -class ProtocolAnyOf(Model): +class SupportedGADShapes(Model): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). Do not edit the class manually. """ - """ - allowed enum values - """ - _1_1 = "HTTP_1_1" - _2 = "HTTP_2" def __init__(self): # noqa: E501 - """ProtocolAnyOf - a model defined in OpenAPI + """SupportedGADShapes - a model defined in OpenAPI """ self.openapi_types = { @@ -31,12 +23,12 @@ class ProtocolAnyOf(Model): } @classmethod - def from_dict(cls, dikt) -> 'ProtocolAnyOf': + def from_dict(cls, dikt) -> 'SupportedGADShapes': """Returns the dict as a model :param dikt: A dict. :type: dict - :return: The Protocol_anyOf of this ProtocolAnyOf. # noqa: E501 - :rtype: ProtocolAnyOf + :return: The SupportedGADShapes of this SupportedGADShapes. # noqa: E501 + :rtype: SupportedGADShapes """ return util.deserialize_model(dikt, cls) diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/uncertainty_ellipse.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/uncertainty_ellipse.py new file mode 100644 index 0000000..2aef963 --- /dev/null +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/uncertainty_ellipse.py @@ -0,0 +1,133 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from published_apis.models.base_model import Model +from published_apis import util + + +class UncertaintyEllipse(Model): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + """ + + def __init__(self, semi_major=None, semi_minor=None, orientation_major=None): # noqa: E501 + """UncertaintyEllipse - a model defined in OpenAPI + + :param semi_major: The semi_major of this UncertaintyEllipse. # noqa: E501 + :type semi_major: float + :param semi_minor: The semi_minor of this UncertaintyEllipse. # noqa: E501 + :type semi_minor: float + :param orientation_major: The orientation_major of this UncertaintyEllipse. # noqa: E501 + :type orientation_major: int + """ + self.openapi_types = { + 'semi_major': float, + 'semi_minor': float, + 'orientation_major': int + } + + self.attribute_map = { + 'semi_major': 'semiMajor', + 'semi_minor': 'semiMinor', + 'orientation_major': 'orientationMajor' + } + + self._semi_major = semi_major + self._semi_minor = semi_minor + self._orientation_major = orientation_major + + @classmethod + def from_dict(cls, dikt) -> 'UncertaintyEllipse': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The UncertaintyEllipse of this UncertaintyEllipse. # noqa: E501 + :rtype: UncertaintyEllipse + """ + return util.deserialize_model(dikt, cls) + + @property + def semi_major(self) -> float: + """Gets the semi_major of this UncertaintyEllipse. + + Indicates value of uncertainty. # noqa: E501 + + :return: The semi_major of this UncertaintyEllipse. + :rtype: float + """ + return self._semi_major + + @semi_major.setter + def semi_major(self, semi_major: float): + """Sets the semi_major of this UncertaintyEllipse. + + Indicates value of uncertainty. # noqa: E501 + + :param semi_major: The semi_major of this UncertaintyEllipse. + :type semi_major: float + """ + if semi_major is None: + raise ValueError("Invalid value for `semi_major`, must not be `None`") # noqa: E501 + if semi_major is not None and semi_major < 0: # noqa: E501 + raise ValueError("Invalid value for `semi_major`, must be a value greater than or equal to `0`") # noqa: E501 + + self._semi_major = semi_major + + @property + def semi_minor(self) -> float: + """Gets the semi_minor of this UncertaintyEllipse. + + Indicates value of uncertainty. # noqa: E501 + + :return: The semi_minor of this UncertaintyEllipse. + :rtype: float + """ + return self._semi_minor + + @semi_minor.setter + def semi_minor(self, semi_minor: float): + """Sets the semi_minor of this UncertaintyEllipse. + + Indicates value of uncertainty. # noqa: E501 + + :param semi_minor: The semi_minor of this UncertaintyEllipse. + :type semi_minor: float + """ + if semi_minor is None: + raise ValueError("Invalid value for `semi_minor`, must not be `None`") # noqa: E501 + if semi_minor is not None and semi_minor < 0: # noqa: E501 + raise ValueError("Invalid value for `semi_minor`, must be a value greater than or equal to `0`") # noqa: E501 + + self._semi_minor = semi_minor + + @property + def orientation_major(self) -> int: + """Gets the orientation_major of this UncertaintyEllipse. + + Indicates value of orientation angle. # noqa: E501 + + :return: The orientation_major of this UncertaintyEllipse. + :rtype: int + """ + return self._orientation_major + + @orientation_major.setter + def orientation_major(self, orientation_major: int): + """Sets the orientation_major of this UncertaintyEllipse. + + Indicates value of orientation angle. # noqa: E501 + + :param orientation_major: The orientation_major of this UncertaintyEllipse. + :type orientation_major: int + """ + if orientation_major is None: + raise ValueError("Invalid value for `orientation_major`, must not be `None`") # noqa: E501 + if orientation_major is not None and orientation_major > 180: # noqa: E501 + raise ValueError("Invalid value for `orientation_major`, must be a value less than or equal to `180`") # noqa: E501 + if orientation_major is not None and orientation_major < 0: # noqa: E501 + raise ValueError("Invalid value for `orientation_major`, must be a value greater than or equal to `0`") # noqa: E501 + + self._orientation_major = orientation_major diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/uncertainty_ellipsoid.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/uncertainty_ellipsoid.py new file mode 100644 index 0000000..88a428d --- /dev/null +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/uncertainty_ellipsoid.py @@ -0,0 +1,165 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from published_apis.models.base_model import Model +from published_apis import util + + +class UncertaintyEllipsoid(Model): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + """ + + def __init__(self, semi_major=None, semi_minor=None, vertical=None, orientation_major=None): # noqa: E501 + """UncertaintyEllipsoid - a model defined in OpenAPI + + :param semi_major: The semi_major of this UncertaintyEllipsoid. # noqa: E501 + :type semi_major: float + :param semi_minor: The semi_minor of this UncertaintyEllipsoid. # noqa: E501 + :type semi_minor: float + :param vertical: The vertical of this UncertaintyEllipsoid. # noqa: E501 + :type vertical: float + :param orientation_major: The orientation_major of this UncertaintyEllipsoid. # noqa: E501 + :type orientation_major: int + """ + self.openapi_types = { + 'semi_major': float, + 'semi_minor': float, + 'vertical': float, + 'orientation_major': int + } + + self.attribute_map = { + 'semi_major': 'semiMajor', + 'semi_minor': 'semiMinor', + 'vertical': 'vertical', + 'orientation_major': 'orientationMajor' + } + + self._semi_major = semi_major + self._semi_minor = semi_minor + self._vertical = vertical + self._orientation_major = orientation_major + + @classmethod + def from_dict(cls, dikt) -> 'UncertaintyEllipsoid': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The UncertaintyEllipsoid of this UncertaintyEllipsoid. # noqa: E501 + :rtype: UncertaintyEllipsoid + """ + return util.deserialize_model(dikt, cls) + + @property + def semi_major(self) -> float: + """Gets the semi_major of this UncertaintyEllipsoid. + + Indicates value of uncertainty. # noqa: E501 + + :return: The semi_major of this UncertaintyEllipsoid. + :rtype: float + """ + return self._semi_major + + @semi_major.setter + def semi_major(self, semi_major: float): + """Sets the semi_major of this UncertaintyEllipsoid. + + Indicates value of uncertainty. # noqa: E501 + + :param semi_major: The semi_major of this UncertaintyEllipsoid. + :type semi_major: float + """ + if semi_major is None: + raise ValueError("Invalid value for `semi_major`, must not be `None`") # noqa: E501 + if semi_major is not None and semi_major < 0: # noqa: E501 + raise ValueError("Invalid value for `semi_major`, must be a value greater than or equal to `0`") # noqa: E501 + + self._semi_major = semi_major + + @property + def semi_minor(self) -> float: + """Gets the semi_minor of this UncertaintyEllipsoid. + + Indicates value of uncertainty. # noqa: E501 + + :return: The semi_minor of this UncertaintyEllipsoid. + :rtype: float + """ + return self._semi_minor + + @semi_minor.setter + def semi_minor(self, semi_minor: float): + """Sets the semi_minor of this UncertaintyEllipsoid. + + Indicates value of uncertainty. # noqa: E501 + + :param semi_minor: The semi_minor of this UncertaintyEllipsoid. + :type semi_minor: float + """ + if semi_minor is None: + raise ValueError("Invalid value for `semi_minor`, must not be `None`") # noqa: E501 + if semi_minor is not None and semi_minor < 0: # noqa: E501 + raise ValueError("Invalid value for `semi_minor`, must be a value greater than or equal to `0`") # noqa: E501 + + self._semi_minor = semi_minor + + @property + def vertical(self) -> float: + """Gets the vertical of this UncertaintyEllipsoid. + + Indicates value of uncertainty. # noqa: E501 + + :return: The vertical of this UncertaintyEllipsoid. + :rtype: float + """ + return self._vertical + + @vertical.setter + def vertical(self, vertical: float): + """Sets the vertical of this UncertaintyEllipsoid. + + Indicates value of uncertainty. # noqa: E501 + + :param vertical: The vertical of this UncertaintyEllipsoid. + :type vertical: float + """ + if vertical is None: + raise ValueError("Invalid value for `vertical`, must not be `None`") # noqa: E501 + if vertical is not None and vertical < 0: # noqa: E501 + raise ValueError("Invalid value for `vertical`, must be a value greater than or equal to `0`") # noqa: E501 + + self._vertical = vertical + + @property + def orientation_major(self) -> int: + """Gets the orientation_major of this UncertaintyEllipsoid. + + Indicates value of orientation angle. # noqa: E501 + + :return: The orientation_major of this UncertaintyEllipsoid. + :rtype: int + """ + return self._orientation_major + + @orientation_major.setter + def orientation_major(self, orientation_major: int): + """Sets the orientation_major of this UncertaintyEllipsoid. + + Indicates value of orientation angle. # noqa: E501 + + :param orientation_major: The orientation_major of this UncertaintyEllipsoid. + :type orientation_major: int + """ + if orientation_major is None: + raise ValueError("Invalid value for `orientation_major`, must not be `None`") # noqa: E501 + if orientation_major is not None and orientation_major > 180: # noqa: E501 + raise ValueError("Invalid value for `orientation_major`, must be a value less than or equal to `180`") # noqa: E501 + if orientation_major is not None and orientation_major < 0: # noqa: E501 + raise ValueError("Invalid value for `orientation_major`, must be a value greater than or equal to `0`") # noqa: E501 + + self._orientation_major = orientation_major diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/version.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/version.py index 6c7bc20..4126d65 100644 --- a/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/version.py +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/models/version.py @@ -1,11 +1,8 @@ -# coding: utf-8 - -from __future__ import absolute_import from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from published_apis.models.base_model_ import Model +from published_apis.models.base_model import Model from published_apis.models.custom_operation import CustomOperation from published_apis.models.resource import Resource from published_apis import util @@ -62,7 +59,7 @@ class Version(Model): return util.deserialize_model(dikt, cls) @property - def api_version(self): + def api_version(self) -> str: """Gets the api_version of this Version. API major version in URI (e.g. v1) # noqa: E501 @@ -73,7 +70,7 @@ class Version(Model): return self._api_version @api_version.setter - def api_version(self, api_version): + def api_version(self, api_version: str): """Sets the api_version of this Version. API major version in URI (e.g. v1) # noqa: E501 @@ -87,7 +84,7 @@ class Version(Model): self._api_version = api_version @property - def expiry(self): + def expiry(self) -> datetime: """Gets the expiry of this Version. string with format \"date-time\" as defined in OpenAPI. # noqa: E501 @@ -98,7 +95,7 @@ class Version(Model): return self._expiry @expiry.setter - def expiry(self, expiry): + def expiry(self, expiry: datetime): """Sets the expiry of this Version. string with format \"date-time\" as defined in OpenAPI. # noqa: E501 @@ -110,7 +107,7 @@ class Version(Model): self._expiry = expiry @property - def resources(self): + def resources(self) -> List[Resource]: """Gets the resources of this Version. Resources supported by the API. # noqa: E501 @@ -121,7 +118,7 @@ class Version(Model): return self._resources @resources.setter - def resources(self, resources): + def resources(self, resources: List[Resource]): """Sets the resources of this Version. Resources supported by the API. # noqa: E501 @@ -135,7 +132,7 @@ class Version(Model): self._resources = resources @property - def cust_operations(self): + def cust_operations(self) -> List[CustomOperation]: """Gets the cust_operations of this Version. Custom operations without resource association. # noqa: E501 @@ -146,7 +143,7 @@ class Version(Model): return self._cust_operations @cust_operations.setter - def cust_operations(self, cust_operations): + def cust_operations(self, cust_operations: List[CustomOperation]): """Sets the cust_operations of this Version. Custom operations without resource association. # noqa: E501 diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/openapi/openapi.yaml b/services/TS29222_CAPIF_Publish_Service_API/published_apis/openapi/openapi.yaml index 6c2012f..041eed5 100644 --- a/services/TS29222_CAPIF_Publish_Service_API/published_apis/openapi/openapi.yaml +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/openapi/openapi.yaml @@ -1,20 +1,18 @@ openapi: 3.0.0 info: - description: | - API for publishing service APIs. - © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). - All rights reserved. + description: "API for publishing service APIs. \n© 2024, 3GPP Organizational Partners\ + \ (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). \nAll rights reserved.\n" title: CAPIF_Publish_Service_API - version: 1.2.0-alpha.2 + version: 1.3.0-alpha.5 externalDocs: - description: 3GPP TS 29.222 V17.2.0 Common API Framework for 3GPP Northbound APIs - url: http://www.3gpp.org/ftp/Specs/archive/29_series/29.222/ + description: 3GPP TS 29.222 V18.5.0 Common API Framework for 3GPP Northbound APIs + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.222/ servers: -- url: '{apiRoot}/published-apis/v1' +- url: "{apiRoot}/published-apis/v1" variables: apiRoot: default: https://example.com - description: apiRoot as defined in subclause 7.5 of 3GPP TS 29.222. + description: apiRoot as defined in clause 7.5 of 3GPP TS 29.222. paths: /{apfId}/service-apis: get: @@ -26,14 +24,17 @@ paths: name: apfId required: true schema: - $ref: '#/components/schemas/apfId' + type: string style: simple responses: "200": content: application/json: schema: - $ref: '#/components/schemas/ServiceAPIDescription' + items: + $ref: '#/components/schemas/ServiceAPIDescription' + minItems: 0 + type: array description: Definition of all service API(s) published by the API publishing function. "307": @@ -112,7 +113,7 @@ paths: name: apfId required: true schema: - $ref: '#/components/schemas/apfId' + type: string style: simple requestBody: content: @@ -126,12 +127,12 @@ paths: application/json: schema: $ref: '#/components/schemas/ServiceAPIDescription' - description: Service API published successfully The URI of the created resource - shall be returned in the "Location" HTTP header. + description: | + Service API published successfully The URI of the created resource shall be returned in the "Location" HTTP header. headers: Location: - description: 'Contains the URI of the newly created resource, according - to the structure: {apiRoot}/published-apis/v1/{apfId}/service-apis/{serviceApiId}' + description: | + Contains the URI of the newly created resource, according to the structure {apiRoot}/published-apis/v1/{apfId}/service-apis/{serviceApiId} explode: false required: true schema: @@ -172,7 +173,7 @@ paths: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' - description: Payload Too Large + description: Content Too Large "415": content: application/problem+json: @@ -210,14 +211,14 @@ paths: name: serviceApiId required: true schema: - $ref: '#/components/schemas/serviceApiId' + type: string style: simple - explode: false in: path name: apfId required: true schema: - $ref: '#/components/schemas/apfId' + type: string style: simple responses: "204": @@ -293,14 +294,14 @@ paths: name: serviceApiId required: true schema: - $ref: '#/components/schemas/serviceApiId' + type: string style: simple - explode: false in: path name: apfId required: true schema: - $ref: '#/components/schemas/apfId' + type: string style: simple responses: "200": @@ -308,8 +309,8 @@ paths: application/json: schema: $ref: '#/components/schemas/ServiceAPIDescription' - description: Definition of all service API published by the API publishing - function. + description: | + Definition of individual service API published by the API publishing function. "307": description: Temporary Redirect headers: @@ -377,6 +378,121 @@ paths: default: description: Generic Error x-openapi-router-controller: published_apis.controllers.default_controller + patch: + description: Modify an existing published service API. + operationId: modify_ind_apf_pub_api + parameters: + - explode: false + in: path + name: serviceApiId + required: true + schema: + type: string + style: simple + - explode: false + in: path + name: apfId + required: true + schema: + type: string + style: simple + requestBody: + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/ServiceAPIDescriptionPatch' + required: true + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceAPIDescription' + description: | + The definition of the service API is modified successfully and a representation of the updated service API is returned in the request body. + "204": + description: No Content. The definition of the service API is modified successfully. + "307": + description: Temporary Redirect + headers: + Location: + description: An alternative URI of the resource. + required: true + schema: + type: string + "308": + description: Permanent Redirect + headers: + Location: + description: An alternative URI of the resource. + required: true + schema: + type: string + "400": + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + description: Bad request + "401": + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + description: Unauthorized + "403": + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + description: Forbidden + "404": + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + description: Not Found + "411": + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + description: Length Required + "413": + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + description: Content Too Large + "415": + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + description: Unsupported Media Type + "429": + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + description: Too Many Requests + "500": + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + description: Internal Server Error + "503": + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + description: Service Unavailable + default: + description: Generic Error + tags: + - Individual APF published API + x-openapi-router-controller: published_apis.controllers.individual_apf_published_api_controller put: description: Update a published service API. operationId: apf_id_service_apis_service_api_id_put @@ -386,14 +502,14 @@ paths: name: serviceApiId required: true schema: - $ref: '#/components/schemas/serviceApiId' + type: string style: simple - explode: false in: path name: apfId required: true schema: - $ref: '#/components/schemas/apfId' + type: string style: simple requestBody: content: @@ -461,7 +577,7 @@ paths: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' - description: Payload Too Large + description: Content Too Large "415": content: application/problem+json: @@ -490,13 +606,92 @@ paths: description: Generic Error x-openapi-router-controller: published_apis.controllers.default_controller components: + responses: + "307": + description: Temporary Redirect + headers: + Location: + description: An alternative URI of the resource. + required: true + schema: + type: string + "308": + description: Permanent Redirect + headers: + Location: + description: An alternative URI of the resource. + required: true + schema: + type: string + "400": + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + description: Bad request + "401": + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + description: Unauthorized + "403": + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + description: Forbidden + "404": + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + description: Not Found + "406": + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + description: Not Acceptable + "429": + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + description: Too Many Requests + "500": + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + description: Internal Server Error + "503": + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + description: Service Unavailable + default: + description: Generic Error + "411": + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + description: Length Required + "413": + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + description: Content Too Large + "415": + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + description: Unsupported Media Type schemas: - apfId: - description: Identification of the API publishing function. - type: string - serviceApiId: - description: String identifying an individual published service API. - type: string ServiceAPIDescription: description: Represents the description of a service API as published by the APF. @@ -509,20 +704,51 @@ components: - capifProvDoms - capifProvDoms isShareable: true + apiProvName: apiProvName supportedFeatures: supportedFeatures description: description apiSuppFeats: apiSuppFeats apiId: apiId + apiStatus: + aefIds: + - aefIds + - aefIds aefProfiles: - - securityMethods: - - null - - null + - protocol: HTTP_1_1 + ueIpRange: + ueIpv4AddrRanges: + - start: 198.51.100.1 + end: 198.51.100.1 + - start: 198.51.100.1 + end: 198.51.100.1 + ueIpv6AddrRanges: + - start: 2001:db8:85a3::8a2e:370:7334 + end: 2001:db8:85a3::8a2e:370:7334 + - start: 2001:db8:85a3::8a2e:370:7334 + end: 2001:db8:85a3::8a2e:370:7334 + securityMethods: + - PSK + - PSK versions: - apiVersion: apiVersion resources: - operations: - null - null + commType: REQUEST_RESPONSE + custOperations: + - operations: + - GET + - GET + commType: null + description: description + custOpName: custOpName + - operations: + - GET + - GET + commType: null + description: description + custOpName: custOpName description: description resourceName: resourceName custOpName: custOpName @@ -530,19 +756,35 @@ components: - operations: - null - null + commType: REQUEST_RESPONSE + custOperations: + - operations: + - GET + - GET + commType: null + description: description + custOpName: custOpName + - operations: + - GET + - GET + commType: null + description: description + custOpName: custOpName description: description resourceName: resourceName custOpName: custOpName uri: uri custOperations: - operations: - - null - - null + - GET + - GET + commType: null description: description custOpName: custOpName - operations: - - null - - null + - GET + - GET + commType: null description: description custOpName: custOpName expiry: 2000-01-23T04:56:07.000+00:00 @@ -551,6 +793,20 @@ components: - operations: - null - null + commType: REQUEST_RESPONSE + custOperations: + - operations: + - GET + - GET + commType: null + description: description + custOpName: custOpName + - operations: + - GET + - GET + commType: null + description: description + custOpName: custOpName description: description resourceName: resourceName custOpName: custOpName @@ -558,46 +814,144 @@ components: - operations: - null - null + commType: REQUEST_RESPONSE + custOperations: + - operations: + - GET + - GET + commType: null + description: description + custOpName: custOpName + - operations: + - GET + - GET + commType: null + description: description + custOpName: custOpName description: description resourceName: resourceName custOpName: custOpName uri: uri custOperations: - operations: - - null - - null + - GET + - GET + commType: null description: description custOpName: custOpName - operations: - - null - - null + - GET + - GET + commType: null description: description custOpName: custOpName expiry: 2000-01-23T04:56:07.000+00:00 + dataFormat: JSON domainName: domainName + aefLocation: + dcId: dcId + geoArea: + shape: POINT + point: + lon: 36.988422590534526 + lat: -63.615366350946985 + civicAddr: + POBOX: POBOX + usageRules: usageRules + country: country + PRD: PRD + PLC: PLC + HNO: HNO + PRM: PRM + HNS: HNS + FLR: FLR + A1: A1 + A2: A2 + A3: A3 + A4: A4 + STS: STS + A5: A5 + A6: A6 + RDSEC: RDSEC + providedBy: providedBy + LOC: LOC + UNIT: UNIT + SEAT: SEAT + POD: POD + RDBR: RDBR + method: method + LMK: LMK + POM: POM + ADDCODE: ADDCODE + RD: RD + PC: PC + PCN: PCN + NAM: NAM + BLD: BLD + ROOM: ROOM + RDSUBBR: RDSUBBR aefId: aefId interfaceDescriptions: - ipv6Addr: ipv6Addr securityMethods: - null - null + fqdn: fqdn port: 5248 + apiPrefix: apiPrefix ipv4Addr: ipv4Addr - ipv6Addr: ipv6Addr securityMethods: - null - null + fqdn: fqdn port: 5248 + apiPrefix: apiPrefix ipv4Addr: ipv4Addr - - securityMethods: - - null - - null + serviceKpis: + avalMem: avalMem + avalStor: avalStor + avalComp: avalComp + conBand: 0 + maxRestime: 0 + availability: 0 + maxReqRate: 0 + avalGraComp: avalGraComp + - protocol: HTTP_1_1 + ueIpRange: + ueIpv4AddrRanges: + - start: 198.51.100.1 + end: 198.51.100.1 + - start: 198.51.100.1 + end: 198.51.100.1 + ueIpv6AddrRanges: + - start: 2001:db8:85a3::8a2e:370:7334 + end: 2001:db8:85a3::8a2e:370:7334 + - start: 2001:db8:85a3::8a2e:370:7334 + end: 2001:db8:85a3::8a2e:370:7334 + securityMethods: + - PSK + - PSK versions: - apiVersion: apiVersion resources: - operations: - null - null + commType: REQUEST_RESPONSE + custOperations: + - operations: + - GET + - GET + commType: null + description: description + custOpName: custOpName + - operations: + - GET + - GET + commType: null + description: description + custOpName: custOpName description: description resourceName: resourceName custOpName: custOpName @@ -605,19 +959,35 @@ components: - operations: - null - null + commType: REQUEST_RESPONSE + custOperations: + - operations: + - GET + - GET + commType: null + description: description + custOpName: custOpName + - operations: + - GET + - GET + commType: null + description: description + custOpName: custOpName description: description resourceName: resourceName custOpName: custOpName uri: uri custOperations: - operations: - - null - - null + - GET + - GET + commType: null description: description custOpName: custOpName - operations: - - null - - null + - GET + - GET + commType: null description: description custOpName: custOpName expiry: 2000-01-23T04:56:07.000+00:00 @@ -626,6 +996,20 @@ components: - operations: - null - null + commType: REQUEST_RESPONSE + custOperations: + - operations: + - GET + - GET + commType: null + description: description + custOpName: custOpName + - operations: + - GET + - GET + commType: null + description: description + custOpName: custOpName description: description resourceName: resourceName custOpName: custOpName @@ -633,59 +1017,129 @@ components: - operations: - null - null + commType: REQUEST_RESPONSE + custOperations: + - operations: + - GET + - GET + commType: null + description: description + custOpName: custOpName + - operations: + - GET + - GET + commType: null + description: description + custOpName: custOpName description: description resourceName: resourceName custOpName: custOpName uri: uri custOperations: - operations: - - null - - null + - GET + - GET + commType: null description: description custOpName: custOpName - operations: - - null - - null + - GET + - GET + commType: null description: description custOpName: custOpName expiry: 2000-01-23T04:56:07.000+00:00 + dataFormat: JSON domainName: domainName + aefLocation: + dcId: dcId + geoArea: + shape: POINT + point: + lon: 36.988422590534526 + lat: -63.615366350946985 + civicAddr: + POBOX: POBOX + usageRules: usageRules + country: country + PRD: PRD + PLC: PLC + HNO: HNO + PRM: PRM + HNS: HNS + FLR: FLR + A1: A1 + A2: A2 + A3: A3 + A4: A4 + STS: STS + A5: A5 + A6: A6 + RDSEC: RDSEC + providedBy: providedBy + LOC: LOC + UNIT: UNIT + SEAT: SEAT + POD: POD + RDBR: RDBR + method: method + LMK: LMK + POM: POM + ADDCODE: ADDCODE + RD: RD + PC: PC + PCN: PCN + NAM: NAM + BLD: BLD + ROOM: ROOM + RDSUBBR: RDSUBBR aefId: aefId interfaceDescriptions: - ipv6Addr: ipv6Addr securityMethods: - null - null + fqdn: fqdn port: 5248 + apiPrefix: apiPrefix ipv4Addr: ipv4Addr - ipv6Addr: ipv6Addr securityMethods: - null - null + fqdn: fqdn port: 5248 + apiPrefix: apiPrefix ipv4Addr: ipv4Addr + serviceKpis: + avalMem: avalMem + avalStor: avalStor + avalComp: avalComp + conBand: 0 + maxRestime: 0 + availability: 0 + maxReqRate: 0 + avalGraComp: avalGraComp pubApiPath: ccfIds: - ccfIds - ccfIds properties: apiName: - description: API name, it is set as {apiName} part of the URI structure - as defined in subclause 4.4 of 3GPP TS 29.501. + description: | + API name, it is set as {apiName} part of the URI structure as defined in clause 5.2.4 of 3GPP TS 29.122. title: apiName type: string apiId: - description: 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). + description: | + 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). title: apiId type: string + apiStatus: + $ref: '#/components/schemas/ApiStatus' aefProfiles: - description: AEF profile information, which includes the exposed API details - (e.g. protocol). + description: | + AEF profile information, which includes the exposed API details (e.g. protocol). items: $ref: '#/components/schemas/AefProfile' minItems: 1 @@ -696,40 +1150,21 @@ components: title: description type: string supportedFeatures: - description: 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 - pattern: ^[A-Fa-f0-9]*$ + description: | + 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. + pattern: "^[A-Fa-f0-9]*$" title: supportedFeatures type: string shareableInfo: $ref: '#/components/schemas/ShareableInformation' serviceAPICategory: + description: The service API category to which the service API belongs to. title: serviceAPICategory type: string apiSuppFeats: - description: 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 - pattern: ^[A-Fa-f0-9]*$ + description: | + 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. + pattern: "^[A-Fa-f0-9]*$" title: supportedFeatures type: string pubApiPath: @@ -738,6 +1173,10 @@ components: description: CAPIF core function identifier. title: ccfId type: string + apiProvName: + description: Represents the API provider name. + title: apiProvName + type: string required: - apiName title: ServiceAPIDescription @@ -749,34 +1188,51 @@ components: securityMethods: - null - null + fqdn: fqdn port: 5248 + apiPrefix: apiPrefix ipv4Addr: ipv4Addr + nullable: true oneOf: - required: - ipv4Addr - required: - ipv6Addr + - required: + - fqdn properties: ipv4Addr: - description: string identifying a Ipv4 address formatted in the "dotted - decimal" notation as defined in IETF RFC 1166. + description: | + string identifying a Ipv4 address formatted in the "dotted decimal" notation as defined in IETF RFC 1166. title: Ipv4Addr type: string ipv6Addr: - description: string identifying a Ipv6 address formatted according to clause - 4 in IETF RFC 5952. The mixed Ipv4 Ipv6 notation according to clause 5 - of IETF RFC 5952 shall not be used. + description: | + string identifying a Ipv6 address formatted according to clause 4 in IETF RFC 5952. The mixed Ipv4 Ipv6 notation according to clause 5 of IETF RFC 5952 shall not be used. title: Ipv6Addr type: string + fqdn: + description: Fully Qualified Domain Name + maxLength: 253 + minLength: 4 + pattern: "^([0-9A-Za-z]([-0-9A-Za-z]{0,61}[0-9A-Za-z])?\\.)+[A-Za-z]{2,63}\\\ + .?$" + title: Fqdn + type: string port: description: Unsigned integer with valid values between 0 and 65535. maximum: 65535 minimum: 0 title: Port type: integer + apiPrefix: + description: | + A string representing a sequence of path segments that starts with the slash character. + title: apiPrefix + type: string securityMethods: - description: Security methods supported by the interface, it take precedence - over the security methods provided in AefProfile, for this specific interface. + description: | + Security methods supported by the interface, it take precedence over the security methods provided in AefProfile, for this specific interface. items: $ref: '#/components/schemas/SecurityMethod' minItems: 1 @@ -787,15 +1243,41 @@ components: AefProfile: description: Represents the AEF profile data. example: + protocol: HTTP_1_1 + ueIpRange: + ueIpv4AddrRanges: + - start: 198.51.100.1 + end: 198.51.100.1 + - start: 198.51.100.1 + end: 198.51.100.1 + ueIpv6AddrRanges: + - start: 2001:db8:85a3::8a2e:370:7334 + end: 2001:db8:85a3::8a2e:370:7334 + - start: 2001:db8:85a3::8a2e:370:7334 + end: 2001:db8:85a3::8a2e:370:7334 securityMethods: - - null - - null + - PSK + - PSK versions: - apiVersion: apiVersion resources: - operations: - null - null + commType: REQUEST_RESPONSE + custOperations: + - operations: + - GET + - GET + commType: null + description: description + custOpName: custOpName + - operations: + - GET + - GET + commType: null + description: description + custOpName: custOpName description: description resourceName: resourceName custOpName: custOpName @@ -803,19 +1285,35 @@ components: - operations: - null - null + commType: REQUEST_RESPONSE + custOperations: + - operations: + - GET + - GET + commType: null + description: description + custOpName: custOpName + - operations: + - GET + - GET + commType: null + description: description + custOpName: custOpName description: description resourceName: resourceName custOpName: custOpName uri: uri custOperations: - operations: - - null - - null + - GET + - GET + commType: null description: description custOpName: custOpName - operations: - - null - - null + - GET + - GET + commType: null description: description custOpName: custOpName expiry: 2000-01-23T04:56:07.000+00:00 @@ -824,6 +1322,20 @@ components: - operations: - null - null + commType: REQUEST_RESPONSE + custOperations: + - operations: + - GET + - GET + commType: null + description: description + custOpName: custOpName + - operations: + - GET + - GET + commType: null + description: description + custOpName: custOpName description: description resourceName: resourceName custOpName: custOpName @@ -831,37 +1343,110 @@ components: - operations: - null - null + commType: REQUEST_RESPONSE + custOperations: + - operations: + - GET + - GET + commType: null + description: description + custOpName: custOpName + - operations: + - GET + - GET + commType: null + description: description + custOpName: custOpName description: description resourceName: resourceName custOpName: custOpName uri: uri custOperations: - operations: - - null - - null + - GET + - GET + commType: null description: description custOpName: custOpName - operations: - - null - - null + - GET + - GET + commType: null description: description custOpName: custOpName expiry: 2000-01-23T04:56:07.000+00:00 + dataFormat: JSON domainName: domainName + aefLocation: + dcId: dcId + geoArea: + shape: POINT + point: + lon: 36.988422590534526 + lat: -63.615366350946985 + civicAddr: + POBOX: POBOX + usageRules: usageRules + country: country + PRD: PRD + PLC: PLC + HNO: HNO + PRM: PRM + HNS: HNS + FLR: FLR + A1: A1 + A2: A2 + A3: A3 + A4: A4 + STS: STS + A5: A5 + A6: A6 + RDSEC: RDSEC + providedBy: providedBy + LOC: LOC + UNIT: UNIT + SEAT: SEAT + POD: POD + RDBR: RDBR + method: method + LMK: LMK + POM: POM + ADDCODE: ADDCODE + RD: RD + PC: PC + PCN: PCN + NAM: NAM + BLD: BLD + ROOM: ROOM + RDSUBBR: RDSUBBR aefId: aefId interfaceDescriptions: - ipv6Addr: ipv6Addr securityMethods: - null - null + fqdn: fqdn port: 5248 + apiPrefix: apiPrefix ipv4Addr: ipv4Addr - ipv6Addr: ipv6Addr securityMethods: - null - null + fqdn: fqdn port: 5248 + apiPrefix: apiPrefix ipv4Addr: ipv4Addr + serviceKpis: + avalMem: avalMem + avalStor: avalStor + avalComp: avalComp + conBand: 0 + maxRestime: 0 + availability: 0 + maxReqRate: 0 + avalGraComp: avalGraComp + nullable: true oneOf: - required: - domainName @@ -901,6 +1486,12 @@ components: minItems: 1 title: interfaceDescriptions type: array + aefLocation: + $ref: '#/components/schemas/AefLocation' + serviceKpis: + $ref: '#/components/schemas/ServiceKpis' + ueIpRange: + $ref: '#/components/schemas/IpAddrRange' required: - aefId - versions @@ -912,6 +1503,20 @@ components: operations: - null - null + commType: REQUEST_RESPONSE + custOperations: + - operations: + - GET + - GET + commType: null + description: description + custOpName: custOpName + - operations: + - GET + - GET + commType: null + description: description + custOpName: custOpName description: description resourceName: resourceName custOpName: custOpName @@ -924,19 +1529,26 @@ components: commType: $ref: '#/components/schemas/CommunicationType' uri: - description: 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. + description: | + 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. title: uri type: string custOpName: - description: 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. + description: | + 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. title: custOpName type: string + custOperations: + description: | + Custom operations associated with this resource. + items: + $ref: '#/components/schemas/CustomOperation' + minItems: 1 + title: custOperations + type: array operations: - description: Supported HTTP methods for the API resource. Only applicable - when the protocol in AefProfile indicates HTTP. + description: | + Supported HTTP methods for the API resource. Only applicable when the protocol in AefProfile indicates HTTP. items: $ref: '#/components/schemas/Operation' minItems: 1 @@ -956,22 +1568,22 @@ components: description: Represents the description of a custom operation. example: operations: - - null - - null + - GET + - GET + commType: null description: description custOpName: custOpName properties: commType: $ref: '#/components/schemas/CommunicationType' custOpName: - description: 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. + description: | + 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. title: custOpName type: string operations: - description: Supported HTTP methods for the API resource. Only applicable - when the protocol in AefProfile indicates HTTP. + description: | + Supported HTTP methods for the API resource. Only applicable when the protocol in AefProfile indicates HTTP. items: $ref: '#/components/schemas/Operation' minItems: 1 @@ -994,6 +1606,20 @@ components: - operations: - null - null + commType: REQUEST_RESPONSE + custOperations: + - operations: + - GET + - GET + commType: null + description: description + custOpName: custOpName + - operations: + - GET + - GET + commType: null + description: description + custOpName: custOpName description: description resourceName: resourceName custOpName: custOpName @@ -1001,19 +1627,35 @@ components: - operations: - null - null + commType: REQUEST_RESPONSE + custOperations: + - operations: + - GET + - GET + commType: null + description: description + custOpName: custOpName + - operations: + - GET + - GET + commType: null + description: description + custOpName: custOpName description: description resourceName: resourceName custOpName: custOpName uri: uri custOperations: - operations: - - null - - null + - GET + - GET + commType: null description: description custOpName: custOpName - operations: - - null - - null + - GET + - GET + commType: null description: description custOpName: custOpName expiry: 2000-01-23T04:56:07.000+00:00 @@ -1046,8 +1688,8 @@ components: title: Version type: object ShareableInformation: - description: Indicates whether the service API and/or the service API category - can be shared to the list of CAPIF provider domains. + description: | + Indicates whether the service API and/or the service API category can be shared to the list of CAPIF provider domains. example: capifProvDoms: - capifProvDoms @@ -1055,14 +1697,13 @@ components: isShareable: true properties: isShareable: - description: Set to "true" indicates that the service API and/or the service - API category can be shared to the list of CAPIF provider domain information. - Otherwise set to "false". + description: | + Set to "true" indicates that the service API and/or the service API category can be shared to the list of CAPIF provider domain information. Otherwise set to "false". title: isShareable type: boolean capifProvDoms: - description: List of CAPIF provider domains to which the service API information - to be shared. + description: | + List of CAPIF provider domains to which the service API information to be shared. items: type: string minItems: 1 @@ -1090,50 +1731,289 @@ components: type: array title: PublishedApiPath type: object + AefLocation: + description: | + Represents the location information (e.g. civic address, GPS coordinates, data center ID) where the AEF providing the service API is located. + example: + dcId: dcId + geoArea: + shape: POINT + point: + lon: 36.988422590534526 + lat: -63.615366350946985 + civicAddr: + POBOX: POBOX + usageRules: usageRules + country: country + PRD: PRD + PLC: PLC + HNO: HNO + PRM: PRM + HNS: HNS + FLR: FLR + A1: A1 + A2: A2 + A3: A3 + A4: A4 + STS: STS + A5: A5 + A6: A6 + RDSEC: RDSEC + providedBy: providedBy + LOC: LOC + UNIT: UNIT + SEAT: SEAT + POD: POD + RDBR: RDBR + method: method + LMK: LMK + POM: POM + ADDCODE: ADDCODE + RD: RD + PC: PC + PCN: PCN + NAM: NAM + BLD: BLD + ROOM: ROOM + RDSUBBR: RDSUBBR + properties: + civicAddr: + $ref: '#/components/schemas/CivicAddress' + geoArea: + $ref: '#/components/schemas/GeographicArea' + dcId: + description: | + Identifies the data center where the AEF providing the service API is located. + title: dcId + type: string + title: AefLocation + type: object + ServiceAPIDescriptionPatch: + description: | + Represents the parameters to request the modification of an APF published API resource. + properties: + apiStatus: + $ref: '#/components/schemas/ApiStatus' + aefProfiles: + description: "AEF profile information, which includes the exposed API details." + items: + $ref: '#/components/schemas/AefProfile' + minItems: 1 + title: aefProfiles + type: array + description: + description: Text description of the API + title: description + type: string + shareableInfo: + $ref: '#/components/schemas/ShareableInformation' + serviceAPICategory: + description: The service API category to which the service API belongs to. + title: serviceAPICategory + type: string + apiSuppFeats: + description: | + 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. + pattern: "^[A-Fa-f0-9]*$" + title: supportedFeatures + type: string + pubApiPath: + $ref: '#/components/schemas/PublishedApiPath' + ccfId: + description: CAPIF core function identifier. + title: ccfId + type: string + title: ServiceAPIDescriptionPatch + type: object + ApiStatus: + description: | + Represents the API status. + example: + aefIds: + - aefIds + - aefIds + properties: + aefIds: + description: | + Indicates the list of AEF ID(s) where the API is active. If this attribute is omitted, the API is inactive at all AEF(s) defined in the "aefProfiles" attribute within the ServiceAPIDescription data structure. + items: + type: string + title: aefIds + type: array + required: + - aefIds + title: ApiStatus + type: object + ServiceKpis: + description: | + Represents information about the service characteristics provided by a service API. + example: + avalMem: avalMem + avalStor: avalStor + avalComp: avalComp + conBand: 0 + maxRestime: 0 + availability: 0 + maxReqRate: 0 + avalGraComp: avalGraComp + properties: + maxReqRate: + description: "Unsigned Integer, i.e. only value 0 and integers above 0 are\ + \ permissible." + minimum: 0 + title: Uinteger + type: integer + maxRestime: + description: Unsigned integer identifying a period of time in units of seconds. + minimum: 0 + title: DurationSec + type: integer + availability: + description: "Unsigned Integer, i.e. only value 0 and integers above 0 are\ + \ permissible." + minimum: 0 + title: Uinteger + type: integer + avalComp: + description: | + The maximum compute resource available in FLOPS for the API Invoker. + pattern: ^\d+(\.\d+)? (kFLOPS|MFLOPS|GFLOPS|TFLOPS|PFLOPS|EFLOPS|ZFLOPS)$ + title: avalComp + type: string + avalGraComp: + description: | + The maximum graphical compute resource in FLOPS available for the API Invoker. + pattern: ^\d+(\.\d+)? (kFLOPS|MFLOPS|GFLOPS|TFLOPS|PFLOPS|EFLOPS|ZFLOPS)$ + title: avalGraComp + type: string + avalMem: + description: | + The maximum memory resource available for the API Invoker. + pattern: ^\d+(\.\d+)? (KB|MB|GB|TB|PB|EB|ZB|YB)$ + title: avalMem + type: string + avalStor: + description: | + The maximum storage resource available for the API Invoker. + pattern: ^\d+(\.\d+)? (KB|MB|GB|TB|PB|EB|ZB|YB)$ + title: avalStor + type: string + conBand: + description: "Unsigned Integer, i.e. only value 0 and integers above 0 are\ + \ permissible." + minimum: 0 + title: Uinteger + type: integer + title: ServiceKpis + type: object + IpAddrRange: + anyOf: [] + description: Represents the list of public IP ranges + example: + ueIpv4AddrRanges: + - start: 198.51.100.1 + end: 198.51.100.1 + - start: 198.51.100.1 + end: 198.51.100.1 + ueIpv6AddrRanges: + - start: 2001:db8:85a3::8a2e:370:7334 + end: 2001:db8:85a3::8a2e:370:7334 + - start: 2001:db8:85a3::8a2e:370:7334 + end: 2001:db8:85a3::8a2e:370:7334 + nullable: true + properties: + ueIpv4AddrRanges: + description: Represents the IPv4 Address ranges of the UE(s). + items: + $ref: '#/components/schemas/Ipv4AddressRange' + minItems: 1 + title: ueIpv4AddrRanges + type: array + ueIpv6AddrRanges: + description: Represents the Ipv6 Address ranges of the UE(s). + items: + $ref: '#/components/schemas/Ipv6AddressRange' + minItems: 1 + title: ueIpv6AddrRanges + type: array + title: IpAddrRange + type: object Protocol: anyOf: - - $ref: '#/components/schemas/Protocol_anyOf' + - enum: + - HTTP_1_1 + - HTTP_2 + - MQTT + - WEBSOCKET + type: string - description: | This string provides forward-compatibility with future extensions to the enumeration but is not used to encode content defined in the present version of this API. type: string - description: | - Possible values are - HTTP_1_1: HTTP version 1.1 - HTTP_2: HTTP version 2 + description: "Indicates a protocol and protocol version used by the API. \n\ + Possible values are:\n- HTTP_1_1: Indicates that the protocol is HTTP version\ + \ 1.1.\n- HTTP_2: Indicates that the protocol is HTTP version 2.\n- MQTT:\ + \ Indicates that the protocol is Message Queuing Telemetry Transport.\n- WEBSOCKET:\ + \ Indicates that the protocol is Websocket.\n" title: Protocol CommunicationType: anyOf: - - $ref: '#/components/schemas/CommunicationType_anyOf' + - enum: + - REQUEST_RESPONSE + - SUBSCRIBE_NOTIFY + type: string - description: | This string provides forward-compatibility with future extensions to the enumeration but is not used to encode content defined in the present version of this API. type: string - description: | - Possible values are - REQUEST_RESPONSE: The communication is of the type request-response - SUBSCRIBE_NOTIFY: The communication is of the type subscribe-notify + description: "Indicates a communication type of the resource or the custom operation.\ + \ \nPossible values are:\n- REQUEST_RESPONSE: The communication is of the\ + \ type request-response.\n- SUBSCRIBE_NOTIFY: The communication is of the\ + \ type subscribe-notify.\n" title: CommunicationType DataFormat: anyOf: - - $ref: '#/components/schemas/DataFormat_anyOf' + - enum: + - JSON + - XML + - PROTOBUF3 + type: string - description: | This string provides forward-compatibility with future extensions to the enumeration but is not used to encode content defined in the present version of this API. type: string - description: | - Possible values are - JSON: JavaScript Object Notation + description: "Indicates a data format. \nPossible values are:\n- JSON: Indicates\ + \ that the data format is JSON.\n- XML: Indicates that the data format is\ + \ Extensible Markup Language.\n- PROTOBUF3: Indicates that the data format\ + \ is Protocol buffers version 3.\n" title: DataFormat SecurityMethod: anyOf: - - $ref: '#/components/schemas/SecurityMethod_anyOf' + - enum: + - PSK + - PKI + - OAUTH + type: string - description: | This string provides forward-compatibility with future extensions to the enumeration but is not used to encode content defined in the present version of this API. type: string - description: | - 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 + description: "Indicates the security method. \nPossible values are:\n- PSK:\ + \ Security method 1 (Using TLS-PSK) as described in 3GPP TS 33.122.\n- PKI:\ + \ Security method 2 (Using PKI) as described in 3GPP TS 33.122.\n- OAUTH:\ + \ Security method 3 (TLS with OAuth token) as described in 3GPP TS 33.122.\n" title: SecurityMethod Operation: anyOf: - - $ref: '#/components/schemas/Operation_anyOf' + - enum: + - GET + - POST + - PUT + - PATCH + - DELETE + type: string - description: | This string provides forward-compatibility with future extensions to the enumeration but is not used to encode content defined in the present version of this API. type: string - description: | - Possible values are - GET: HTTP GET method - POST: HTTP POST method - PUT: HTTP PUT method - PATCH: HTTP PATCH method - DELETE: HTTP DELETE method + description: "Indicates an HTTP method. \nPossible values are:\n- GET: HTTP\ + \ GET method.\n- POST: HTTP POST method.\n- PUT: HTTP PUT method.\n- PATCH:\ + \ HTTP PATCH method.\n- DELETE: HTTP DELETE method.\n" title: Operation ProblemDetails: description: Represents additional information and details on an error response. @@ -1143,8 +2023,8 @@ components: title: type type: string title: - description: A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem. + description: "A short, human-readable summary of the problem type. It should\ + \ not change from occurrence to occurrence of the problem. \n" title: title type: string status: @@ -1161,33 +2041,22 @@ components: title: type type: string cause: - description: A machine-readable application error cause specific to this - occurrence of the problem. This IE should be present and provide application-related - error information, if available. + description: | + A machine-readable application error cause specific to this occurrence of the problem. This IE should be present and provide application-related error information, if available. title: cause type: string invalidParams: - description: Description of invalid parameters, for a request rejected due - to invalid parameters. + description: | + Description of invalid parameters, for a request rejected due to invalid parameters. items: $ref: '#/components/schemas/InvalidParam' minItems: 1 title: invalidParams type: array supportedFeatures: - description: 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 - pattern: ^[A-Fa-f0-9]*$ + description: | + 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. + pattern: "^[A-Fa-f0-9]*$" title: supportedFeatures type: string title: ProblemDetails @@ -1197,15 +2066,16 @@ components: title: type type: string InvalidParam: - description: Represents the description of invalid parameters, for a request - rejected due to invalid parameters. + description: | + Represents the description of invalid parameters, for a request rejected due to invalid parameters. properties: param: - description: Attribute's name encoded as a JSON Pointer, or header's name. + description: "Attribute's name encoded as a JSON Pointer, or header's name." title: param type: string reason: - description: A human-readable reason, e.g. "must be a positive integer". + description: "A human-readable reason, e.g. \"must be a positive integer\"\ + ." title: reason type: string required: @@ -1213,32 +2083,29 @@ components: title: InvalidParam type: object SupportedFeatures: - description: 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 - pattern: ^[A-Fa-f0-9]*$ + description: | + 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. + pattern: "^[A-Fa-f0-9]*$" title: supportedFeatures type: string Ipv4Addr: - description: string identifying a Ipv4 address formatted in the "dotted decimal" - notation as defined in IETF RFC 1166. + description: | + string identifying a Ipv4 address formatted in the "dotted decimal" notation as defined in IETF RFC 1166. title: Ipv4Addr type: string Ipv6Addr: - description: string identifying a Ipv6 address formatted according to clause - 4 in IETF RFC 5952. The mixed Ipv4 Ipv6 notation according to clause 5 of - IETF RFC 5952 shall not be used. + description: | + string identifying a Ipv6 address formatted according to clause 4 in IETF RFC 5952. The mixed Ipv4 Ipv6 notation according to clause 5 of IETF RFC 5952 shall not be used. title: Ipv6Addr type: string + Fqdn: + description: Fully Qualified Domain Name + maxLength: 253 + minLength: 4 + pattern: "^([0-9A-Za-z]([-0-9A-Za-z]{0,61}[0-9A-Za-z])?\\.)+[A-Za-z]{2,63}\\\ + .?$" + title: Fqdn + type: string Port: description: Unsigned integer with valid values between 0 and 65535. maximum: 65535 @@ -1250,36 +2117,586 @@ components: format: date-time title: DateTime type: string - Protocol_anyOf: - enum: - - HTTP_1_1 - - HTTP_2 - title: Protocol_anyOf - type: string - CommunicationType_anyOf: - enum: - - REQUEST_RESPONSE - - SUBSCRIBE_NOTIFY - title: CommunicationType_anyOf - type: string - DataFormat_anyOf: - enum: - - JSON - title: DataFormat_anyOf - type: string - SecurityMethod_anyOf: - enum: - - PSK - - PKI - - OAUTH - title: SecurityMethod_anyOf + CivicAddress: + description: Indicates a Civic address. + example: + POBOX: POBOX + usageRules: usageRules + country: country + PRD: PRD + PLC: PLC + HNO: HNO + PRM: PRM + HNS: HNS + FLR: FLR + A1: A1 + A2: A2 + A3: A3 + A4: A4 + STS: STS + A5: A5 + A6: A6 + RDSEC: RDSEC + providedBy: providedBy + LOC: LOC + UNIT: UNIT + SEAT: SEAT + POD: POD + RDBR: RDBR + method: method + LMK: LMK + POM: POM + ADDCODE: ADDCODE + RD: RD + PC: PC + PCN: PCN + NAM: NAM + BLD: BLD + ROOM: ROOM + RDSUBBR: RDSUBBR + properties: + country: + title: country + type: string + A1: + title: A1 + type: string + A2: + title: A2 + type: string + A3: + title: A3 + type: string + A4: + title: A4 + type: string + A5: + title: A5 + type: string + A6: + title: A6 + type: string + PRD: + title: PRD + type: string + POD: + title: POD + type: string + STS: + title: STS + type: string + HNO: + title: HNO + type: string + HNS: + title: HNS + type: string + LMK: + title: LMK + type: string + LOC: + title: LOC + type: string + NAM: + title: NAM + type: string + PC: + title: PC + type: string + BLD: + title: BLD + type: string + UNIT: + title: UNIT + type: string + FLR: + title: FLR + type: string + ROOM: + title: ROOM + type: string + PLC: + title: PLC + type: string + PCN: + title: PCN + type: string + POBOX: + title: POBOX + type: string + ADDCODE: + title: ADDCODE + type: string + SEAT: + title: SEAT + type: string + RD: + title: RD + type: string + RDSEC: + title: RDSEC + type: string + RDBR: + title: RDBR + type: string + RDSUBBR: + title: RDSUBBR + type: string + PRM: + title: PRM + type: string + POM: + title: POM + type: string + usageRules: + title: usageRules + type: string + method: + title: method + type: string + providedBy: + title: providedBy + type: string + title: CivicAddress + type: object + GeographicArea: + anyOf: + - $ref: '#/components/schemas/Point' + - $ref: '#/components/schemas/PointUncertaintyCircle' + - $ref: '#/components/schemas/PointUncertaintyEllipse' + - $ref: '#/components/schemas/Polygon' + - $ref: '#/components/schemas/PointAltitude' + - $ref: '#/components/schemas/PointAltitudeUncertainty' + - $ref: '#/components/schemas/EllipsoidArc' + description: Geographic area specified by different shape. + title: GeographicArea + Point: + allOf: + - $ref: '#/components/schemas/GADShape' + - properties: + point: + $ref: '#/components/schemas/GeographicalCoordinates' + required: + - point + type: object + description: Ellipsoid Point. + example: + shape: POINT + point: + lon: 36.988422590534526 + lat: -63.615366350946985 + title: Point + GADShape: + description: Common base type for GAD shapes. + discriminator: + mapping: + POINT: '#/components/schemas/Point' + POINT_UNCERTAINTY_CIRCLE: '#/components/schemas/PointUncertaintyCircle' + POINT_UNCERTAINTY_ELLIPSE: '#/components/schemas/PointUncertaintyEllipse' + POLYGON: '#/components/schemas/Polygon' + POINT_ALTITUDE: '#/components/schemas/PointAltitude' + POINT_ALTITUDE_UNCERTAINTY: '#/components/schemas/PointAltitudeUncertainty' + ELLIPSOID_ARC: '#/components/schemas/EllipsoidArc' + LOCAL_2D_POINT_UNCERTAINTY_ELLIPSE: '#/components/schemas/Local2dPointUncertaintyEllipse' + LOCAL_3D_POINT_UNCERTAINTY_ELLIPSOID: '#/components/schemas/Local3dPointUncertaintyEllipsoid' + propertyName: shape + properties: + shape: + $ref: '#/components/schemas/SupportedGADShapes' + required: + - shape + title: GADShape + type: object + SupportedGADShapes: + anyOf: + - enum: + - POINT + - POINT_UNCERTAINTY_CIRCLE + - POINT_UNCERTAINTY_ELLIPSE + - POLYGON + - POINT_ALTITUDE + - POINT_ALTITUDE_UNCERTAINTY + - ELLIPSOID_ARC + - LOCAL_2D_POINT_UNCERTAINTY_ELLIPSE + - LOCAL_3D_POINT_UNCERTAINTY_ELLIPSOID + - DISTANCE_DIRECTION + - RELATIVE_2D_LOCATION_UNCERTAINTY_ELLIPSE + - RELATIVE_3D_LOCATION_UNCERTAINTY_ELLIPSOID + type: string + - type: string + description: Indicates supported GAD shapes. + title: SupportedGADShapes + PointUncertaintyCircle: + allOf: + - $ref: '#/components/schemas/GADShape' + - properties: + point: + $ref: '#/components/schemas/GeographicalCoordinates' + uncertainty: + $ref: '#/components/schemas/Uncertainty' + required: + - point + - uncertainty + type: object + description: Ellipsoid point with uncertainty circle. + title: PointUncertaintyCircle + GeographicalCoordinates: + description: Geographical coordinates. + example: + lon: 36.988422590534526 + lat: -63.615366350946985 + properties: + lon: + format: double + maximum: 180 + minimum: -180 + title: lon + type: number + lat: + format: double + maximum: 90 + minimum: -90 + title: lat + type: number + required: + - lat + - lon + title: GeographicalCoordinates + type: object + Uncertainty: + description: Indicates value of uncertainty. + format: float + minimum: 0 + title: Uncertainty + type: number + PointUncertaintyEllipse: + allOf: + - $ref: '#/components/schemas/GADShape' + - properties: + point: + $ref: '#/components/schemas/GeographicalCoordinates' + uncertaintyEllipse: + $ref: '#/components/schemas/UncertaintyEllipse' + confidence: + $ref: '#/components/schemas/Confidence' + required: + - confidence + - point + - uncertaintyEllipse + type: object + description: Ellipsoid point with uncertainty ellipse. + title: PointUncertaintyEllipse + UncertaintyEllipse: + description: Ellipse with uncertainty. + properties: + semiMajor: + description: Indicates value of uncertainty. + format: float + minimum: 0 + title: Uncertainty + type: number + semiMinor: + description: Indicates value of uncertainty. + format: float + minimum: 0 + title: Uncertainty + type: number + orientationMajor: + description: Indicates value of orientation angle. + maximum: 180 + minimum: 0 + title: Orientation + type: integer + required: + - orientationMajor + - semiMajor + - semiMinor + title: UncertaintyEllipse + type: object + Orientation: + description: Indicates value of orientation angle. + maximum: 180 + minimum: 0 + title: Orientation + type: integer + Confidence: + description: Indicates value of confidence. + maximum: 100 + minimum: 0 + type: integer + Polygon: + allOf: + - $ref: '#/components/schemas/GADShape' + - properties: + pointList: + $ref: '#/components/schemas/PointList' + required: + - pointList + type: object + description: Polygon. + title: Polygon + PointList: + description: List of points. + items: + $ref: '#/components/schemas/GeographicalCoordinates' + maxItems: 15 + minItems: 3 + type: array + PointAltitude: + allOf: + - $ref: '#/components/schemas/GADShape' + - properties: + point: + $ref: '#/components/schemas/GeographicalCoordinates' + altitude: + $ref: '#/components/schemas/Altitude' + required: + - altitude + - point + type: object + description: Ellipsoid point with altitude. + title: PointAltitude + Altitude: + description: Indicates value of altitude. + format: double + maximum: 32767 + minimum: -32767 + type: number + PointAltitudeUncertainty: + allOf: + - $ref: '#/components/schemas/GADShape' + - properties: + point: + $ref: '#/components/schemas/GeographicalCoordinates' + altitude: + $ref: '#/components/schemas/Altitude' + uncertaintyEllipse: + $ref: '#/components/schemas/UncertaintyEllipse' + uncertaintyAltitude: + $ref: '#/components/schemas/Uncertainty' + confidence: + $ref: '#/components/schemas/Confidence' + vConfidence: + $ref: '#/components/schemas/Confidence' + required: + - altitude + - confidence + - point + - uncertaintyAltitude + - uncertaintyEllipse + type: object + description: Ellipsoid point with altitude and uncertainty ellipsoid. + title: PointAltitudeUncertainty + EllipsoidArc: + allOf: + - $ref: '#/components/schemas/GADShape' + - properties: + point: + $ref: '#/components/schemas/GeographicalCoordinates' + innerRadius: + $ref: '#/components/schemas/InnerRadius' + uncertaintyRadius: + $ref: '#/components/schemas/Uncertainty' + offsetAngle: + $ref: '#/components/schemas/Angle' + includedAngle: + $ref: '#/components/schemas/Angle' + confidence: + $ref: '#/components/schemas/Confidence' + required: + - confidence + - includedAngle + - innerRadius + - offsetAngle + - point + - uncertaintyRadius + type: object + description: Ellipsoid Arc. + title: EllipsoidArc + InnerRadius: + description: Indicates value of the inner radius. + format: int32 + maximum: 327675 + minimum: 0 + type: integer + Angle: + description: Indicates value of angle. + maximum: 360 + minimum: 0 + type: integer + Local2dPointUncertaintyEllipse: + allOf: + - $ref: '#/components/schemas/GADShape' + - properties: + localOrigin: + $ref: '#/components/schemas/LocalOrigin' + point: + $ref: '#/components/schemas/RelativeCartesianLocation' + uncertaintyEllipse: + $ref: '#/components/schemas/UncertaintyEllipse' + confidence: + $ref: '#/components/schemas/Confidence' + required: + - confidence + - localOrigin + - point + - uncertaintyEllipse + type: object + description: Local 2D point with uncertainty ellipse + LocalOrigin: + description: Indicates a Local origin in a reference system + properties: + coordinateId: + title: coordinateId + type: string + point: + $ref: '#/components/schemas/GeographicalCoordinates' + title: LocalOrigin + type: object + RelativeCartesianLocation: + description: Relative Cartesian Location + properties: + x: + description: string with format 'float' as defined in OpenAPI. + format: float + title: Float + type: number + "y": + description: string with format 'float' as defined in OpenAPI. + format: float + title: Float + type: number + z: + description: string with format 'float' as defined in OpenAPI. + format: float + title: Float + type: number + required: + - x + - "y" + title: RelativeCartesianLocation + type: object + Local3dPointUncertaintyEllipsoid: + allOf: + - $ref: '#/components/schemas/GADShape' + - properties: + localOrigin: + $ref: '#/components/schemas/LocalOrigin' + point: + $ref: '#/components/schemas/RelativeCartesianLocation' + uncertaintyEllipsoid: + $ref: '#/components/schemas/UncertaintyEllipsoid' + confidence: + $ref: '#/components/schemas/Confidence' + required: + - confidence + - localOrigin + - point + - uncertaintyEllipsoid + type: object + description: Local 3D point with uncertainty ellipsoid + UncertaintyEllipsoid: + description: Ellipsoid with uncertainty + properties: + semiMajor: + description: Indicates value of uncertainty. + format: float + minimum: 0 + title: Uncertainty + type: number + semiMinor: + description: Indicates value of uncertainty. + format: float + minimum: 0 + title: Uncertainty + type: number + vertical: + description: Indicates value of uncertainty. + format: float + minimum: 0 + title: Uncertainty + type: number + orientationMajor: + description: Indicates value of orientation angle. + maximum: 180 + minimum: 0 + title: Orientation + type: integer + required: + - orientationMajor + - semiMajor + - semiMinor + - vertical + title: UncertaintyEllipsoid + type: object + Uinteger: + description: "Unsigned Integer, i.e. only value 0 and integers above 0 are permissible." + minimum: 0 + title: Uinteger + type: integer + DurationSec: + description: Unsigned integer identifying a period of time in units of seconds. + minimum: 0 + title: DurationSec + type: integer + Ipv4AddressRange: + description: Range of IPv4 addresses + example: + start: 198.51.100.1 + end: 198.51.100.1 + properties: + start: + description: | + String identifying a IPv4 address formatted in the 'dotted decimal' notation as defined in RFC 1166. + example: 198.51.100.1 + pattern: "^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$" + title: Ipv4Addr_1 + type: string + end: + description: | + String identifying a IPv4 address formatted in the 'dotted decimal' notation as defined in RFC 1166. + example: 198.51.100.1 + pattern: "^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$" + title: Ipv4Addr_1 + type: string + required: + - end + - start + title: Ipv4AddressRange + type: object + Ipv4Addr_1: + description: | + String identifying a IPv4 address formatted in the 'dotted decimal' notation as defined in RFC 1166. + example: 198.51.100.1 + pattern: "^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$" + title: Ipv4Addr_1 type: string - Operation_anyOf: - enum: - - GET - - POST - - PUT - - PATCH - - DELETE - title: Operation_anyOf + Ipv6AddressRange: + description: Range of IPv6 addresses + example: + start: 2001:db8:85a3::8a2e:370:7334 + end: 2001:db8:85a3::8a2e:370:7334 + properties: + start: + $ref: '#/components/schemas/Ipv6Addr_1' + end: + $ref: '#/components/schemas/Ipv6Addr_1' + required: + - end + - start + title: Ipv6AddressRange + type: object + Ipv6Addr_1: + allOf: + - pattern: "^((:|(0?|([1-9a-f][0-9a-f]{0,3}))):)((0?|([1-9a-f][0-9a-f]{0,3})):){0,6}(:|(0?|([1-9a-f][0-9a-f]{0,3})))$" + - pattern: "^((([^:]+:){7}([^:]+))|((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?))$" + description: | + 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. + example: 2001:db8:85a3::8a2e:370:7334 + title: Ipv6Addr_1 type: string + Float: + description: string with format 'float' as defined in OpenAPI. + format: float + title: Float + type: number diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/test/__init__.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/test/__init__.py new file mode 100644 index 0000000..108a343 --- /dev/null +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/test/__init__.py @@ -0,0 +1,16 @@ +import logging + +import connexion +from flask_testing import TestCase + +from published_apis.encoder import JSONEncoder + + +class BaseTestCase(TestCase): + + def create_app(self): + logging.getLogger('connexion.operation').setLevel('ERROR') + app = connexion.App(__name__, specification_dir='../openapi/') + app.app.json_encoder = JSONEncoder + app.add_api('openapi.yaml', pythonic_params=True) + return app.app diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/test/test_default_controller.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/test/test_default_controller.py new file mode 100644 index 0000000..c64cf27 --- /dev/null +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/test/test_default_controller.py @@ -0,0 +1,98 @@ +import unittest + +from flask import json + +from published_apis.models.problem_details import ProblemDetails # noqa: E501 +from published_apis.models.service_api_description import ServiceAPIDescription # noqa: E501 +from published_apis.test import BaseTestCase + + +class TestDefaultController(BaseTestCase): + """DefaultController integration test stubs""" + + def test_apf_id_service_apis_get(self): + """Test case for apf_id_service_apis_get + + + """ + headers = { + 'Accept': 'application/json', + } + response = self.client.open( + '/published-apis/v1/{apf_id}/service-apis'.format(apf_id='apf_id_example'), + method='GET', + headers=headers) + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_apf_id_service_apis_post(self): + """Test case for apf_id_service_apis_post + + + """ + service_api_description = {"serviceAPICategory":"serviceAPICategory","ccfId":"ccfId","apiName":"apiName","shareableInfo":{"capifProvDoms":["capifProvDoms","capifProvDoms"],"isShareable":True},"apiProvName":"apiProvName","supportedFeatures":"supportedFeatures","description":"description","apiSuppFeats":"apiSuppFeats","apiId":"apiId","apiStatus":{"aefIds":["aefIds","aefIds"]},"aefProfiles":[{"protocol":"HTTP_1_1","ueIpRange":{"ueIpv4AddrRanges":[{"start":"198.51.100.1","end":"198.51.100.1"},{"start":"198.51.100.1","end":"198.51.100.1"}],"ueIpv6AddrRanges":[{"start":"2001:db8:85a3::8a2e:370:7334","end":"2001:db8:85a3::8a2e:370:7334"},{"start":"2001:db8:85a3::8a2e:370:7334","end":"2001:db8:85a3::8a2e:370:7334"}]},"securityMethods":["PSK","PSK"],"versions":[{"apiVersion":"apiVersion","resources":[{"operations":[null,null],"commType":"REQUEST_RESPONSE","custOperations":[{"operations":["GET","GET"],"description":"description","custOpName":"custOpName"},{"operations":["GET","GET"],"description":"description","custOpName":"custOpName"}],"description":"description","resourceName":"resourceName","custOpName":"custOpName","uri":"uri"},{"operations":[null,null],"commType":"REQUEST_RESPONSE","custOperations":[{"operations":["GET","GET"],"description":"description","custOpName":"custOpName"},{"operations":["GET","GET"],"description":"description","custOpName":"custOpName"}],"description":"description","resourceName":"resourceName","custOpName":"custOpName","uri":"uri"}],"custOperations":[{"operations":["GET","GET"],"description":"description","custOpName":"custOpName"},{"operations":["GET","GET"],"description":"description","custOpName":"custOpName"}],"expiry":"2000-01-23T04:56:07.000+00:00"},{"apiVersion":"apiVersion","resources":[{"operations":[null,null],"commType":"REQUEST_RESPONSE","custOperations":[{"operations":["GET","GET"],"description":"description","custOpName":"custOpName"},{"operations":["GET","GET"],"description":"description","custOpName":"custOpName"}],"description":"description","resourceName":"resourceName","custOpName":"custOpName","uri":"uri"},{"operations":[null,null],"commType":"REQUEST_RESPONSE","custOperations":[{"operations":["GET","GET"],"description":"description","custOpName":"custOpName"},{"operations":["GET","GET"],"description":"description","custOpName":"custOpName"}],"description":"description","resourceName":"resourceName","custOpName":"custOpName","uri":"uri"}],"custOperations":[{"operations":["GET","GET"],"description":"description","custOpName":"custOpName"},{"operations":["GET","GET"],"description":"description","custOpName":"custOpName"}],"expiry":"2000-01-23T04:56:07.000+00:00"}],"dataFormat":"JSON","domainName":"domainName","aefLocation":{"dcId":"dcId","geoArea":{"shape":"POINT","point":{"lon":36.988422590534526,"lat":-63.615366350946985}},"civicAddr":{"POBOX":"POBOX","usageRules":"usageRules","country":"country","PRD":"PRD","PLC":"PLC","HNO":"HNO","PRM":"PRM","HNS":"HNS","FLR":"FLR","A1":"A1","A2":"A2","A3":"A3","A4":"A4","STS":"STS","A5":"A5","A6":"A6","RDSEC":"RDSEC","providedBy":"providedBy","LOC":"LOC","UNIT":"UNIT","SEAT":"SEAT","POD":"POD","RDBR":"RDBR","method":"method","LMK":"LMK","POM":"POM","ADDCODE":"ADDCODE","RD":"RD","PC":"PC","PCN":"PCN","NAM":"NAM","BLD":"BLD","ROOM":"ROOM","RDSUBBR":"RDSUBBR"}},"aefId":"aefId","interfaceDescriptions":[{"ipv6Addr":"ipv6Addr","securityMethods":[null,null],"fqdn":"fqdn","port":5248,"apiPrefix":"apiPrefix","ipv4Addr":"ipv4Addr"},{"ipv6Addr":"ipv6Addr","securityMethods":[null,null],"fqdn":"fqdn","port":5248,"apiPrefix":"apiPrefix","ipv4Addr":"ipv4Addr"}],"serviceKpis":{"avalMem":"avalMem","avalStor":"avalStor","avalComp":"avalComp","conBand":0,"maxRestime":0,"availability":0,"maxReqRate":0,"avalGraComp":"avalGraComp"}},{"protocol":"HTTP_1_1","ueIpRange":{"ueIpv4AddrRanges":[{"start":"198.51.100.1","end":"198.51.100.1"},{"start":"198.51.100.1","end":"198.51.100.1"}],"ueIpv6AddrRanges":[{"start":"2001:db8:85a3::8a2e:370:7334","end":"2001:db8:85a3::8a2e:370:7334"},{"start":"2001:db8:85a3::8a2e:370:7334","end":"2001:db8:85a3::8a2e:370:7334"}]},"securityMethods":["PSK","PSK"],"versions":[{"apiVersion":"apiVersion","resources":[{"operations":[null,null],"commType":"REQUEST_RESPONSE","custOperations":[{"operations":["GET","GET"],"description":"description","custOpName":"custOpName"},{"operations":["GET","GET"],"description":"description","custOpName":"custOpName"}],"description":"description","resourceName":"resourceName","custOpName":"custOpName","uri":"uri"},{"operations":[null,null],"commType":"REQUEST_RESPONSE","custOperations":[{"operations":["GET","GET"],"description":"description","custOpName":"custOpName"},{"operations":["GET","GET"],"description":"description","custOpName":"custOpName"}],"description":"description","resourceName":"resourceName","custOpName":"custOpName","uri":"uri"}],"custOperations":[{"operations":["GET","GET"],"description":"description","custOpName":"custOpName"},{"operations":["GET","GET"],"description":"description","custOpName":"custOpName"}],"expiry":"2000-01-23T04:56:07.000+00:00"},{"apiVersion":"apiVersion","resources":[{"operations":[null,null],"commType":"REQUEST_RESPONSE","custOperations":[{"operations":["GET","GET"],"description":"description","custOpName":"custOpName"},{"operations":["GET","GET"],"description":"description","custOpName":"custOpName"}],"description":"description","resourceName":"resourceName","custOpName":"custOpName","uri":"uri"},{"operations":[null,null],"commType":"REQUEST_RESPONSE","custOperations":[{"operations":["GET","GET"],"description":"description","custOpName":"custOpName"},{"operations":["GET","GET"],"description":"description","custOpName":"custOpName"}],"description":"description","resourceName":"resourceName","custOpName":"custOpName","uri":"uri"}],"custOperations":[{"operations":["GET","GET"],"description":"description","custOpName":"custOpName"},{"operations":["GET","GET"],"description":"description","custOpName":"custOpName"}],"expiry":"2000-01-23T04:56:07.000+00:00"}],"dataFormat":"JSON","domainName":"domainName","aefLocation":{"dcId":"dcId","geoArea":{"shape":"POINT","point":{"lon":36.988422590534526,"lat":-63.615366350946985}},"civicAddr":{"POBOX":"POBOX","usageRules":"usageRules","country":"country","PRD":"PRD","PLC":"PLC","HNO":"HNO","PRM":"PRM","HNS":"HNS","FLR":"FLR","A1":"A1","A2":"A2","A3":"A3","A4":"A4","STS":"STS","A5":"A5","A6":"A6","RDSEC":"RDSEC","providedBy":"providedBy","LOC":"LOC","UNIT":"UNIT","SEAT":"SEAT","POD":"POD","RDBR":"RDBR","method":"method","LMK":"LMK","POM":"POM","ADDCODE":"ADDCODE","RD":"RD","PC":"PC","PCN":"PCN","NAM":"NAM","BLD":"BLD","ROOM":"ROOM","RDSUBBR":"RDSUBBR"}},"aefId":"aefId","interfaceDescriptions":[{"ipv6Addr":"ipv6Addr","securityMethods":[null,null],"fqdn":"fqdn","port":5248,"apiPrefix":"apiPrefix","ipv4Addr":"ipv4Addr"},{"ipv6Addr":"ipv6Addr","securityMethods":[null,null],"fqdn":"fqdn","port":5248,"apiPrefix":"apiPrefix","ipv4Addr":"ipv4Addr"}],"serviceKpis":{"avalMem":"avalMem","avalStor":"avalStor","avalComp":"avalComp","conBand":0,"maxRestime":0,"availability":0,"maxReqRate":0,"avalGraComp":"avalGraComp"}}],"pubApiPath":{"ccfIds":["ccfIds","ccfIds"]}} + headers = { + 'Accept': 'application/json', + 'Content-Type': 'application/json', + } + response = self.client.open( + '/published-apis/v1/{apf_id}/service-apis'.format(apf_id='apf_id_example'), + method='POST', + headers=headers, + data=json.dumps(service_api_description), + content_type='application/json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_apf_id_service_apis_service_api_id_delete(self): + """Test case for apf_id_service_apis_service_api_id_delete + + + """ + headers = { + 'Accept': 'application/problem+json', + } + response = self.client.open( + '/published-apis/v1/{apf_id}/service-apis/{service_api_id}'.format(service_api_id='service_api_id_example', apf_id='apf_id_example'), + method='DELETE', + headers=headers) + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_apf_id_service_apis_service_api_id_get(self): + """Test case for apf_id_service_apis_service_api_id_get + + + """ + headers = { + 'Accept': 'application/json', + } + response = self.client.open( + '/published-apis/v1/{apf_id}/service-apis/{service_api_id}'.format(service_api_id='service_api_id_example', apf_id='apf_id_example'), + method='GET', + headers=headers) + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_apf_id_service_apis_service_api_id_put(self): + """Test case for apf_id_service_apis_service_api_id_put + + + """ + service_api_description = {"serviceAPICategory":"serviceAPICategory","ccfId":"ccfId","apiName":"apiName","shareableInfo":{"capifProvDoms":["capifProvDoms","capifProvDoms"],"isShareable":True},"apiProvName":"apiProvName","supportedFeatures":"supportedFeatures","description":"description","apiSuppFeats":"apiSuppFeats","apiId":"apiId","apiStatus":{"aefIds":["aefIds","aefIds"]},"aefProfiles":[{"protocol":"HTTP_1_1","ueIpRange":{"ueIpv4AddrRanges":[{"start":"198.51.100.1","end":"198.51.100.1"},{"start":"198.51.100.1","end":"198.51.100.1"}],"ueIpv6AddrRanges":[{"start":"2001:db8:85a3::8a2e:370:7334","end":"2001:db8:85a3::8a2e:370:7334"},{"start":"2001:db8:85a3::8a2e:370:7334","end":"2001:db8:85a3::8a2e:370:7334"}]},"securityMethods":["PSK","PSK"],"versions":[{"apiVersion":"apiVersion","resources":[{"operations":[null,null],"commType":"REQUEST_RESPONSE","custOperations":[{"operations":["GET","GET"],"description":"description","custOpName":"custOpName"},{"operations":["GET","GET"],"description":"description","custOpName":"custOpName"}],"description":"description","resourceName":"resourceName","custOpName":"custOpName","uri":"uri"},{"operations":[null,null],"commType":"REQUEST_RESPONSE","custOperations":[{"operations":["GET","GET"],"description":"description","custOpName":"custOpName"},{"operations":["GET","GET"],"description":"description","custOpName":"custOpName"}],"description":"description","resourceName":"resourceName","custOpName":"custOpName","uri":"uri"}],"custOperations":[{"operations":["GET","GET"],"description":"description","custOpName":"custOpName"},{"operations":["GET","GET"],"description":"description","custOpName":"custOpName"}],"expiry":"2000-01-23T04:56:07.000+00:00"},{"apiVersion":"apiVersion","resources":[{"operations":[null,null],"commType":"REQUEST_RESPONSE","custOperations":[{"operations":["GET","GET"],"description":"description","custOpName":"custOpName"},{"operations":["GET","GET"],"description":"description","custOpName":"custOpName"}],"description":"description","resourceName":"resourceName","custOpName":"custOpName","uri":"uri"},{"operations":[null,null],"commType":"REQUEST_RESPONSE","custOperations":[{"operations":["GET","GET"],"description":"description","custOpName":"custOpName"},{"operations":["GET","GET"],"description":"description","custOpName":"custOpName"}],"description":"description","resourceName":"resourceName","custOpName":"custOpName","uri":"uri"}],"custOperations":[{"operations":["GET","GET"],"description":"description","custOpName":"custOpName"},{"operations":["GET","GET"],"description":"description","custOpName":"custOpName"}],"expiry":"2000-01-23T04:56:07.000+00:00"}],"dataFormat":"JSON","domainName":"domainName","aefLocation":{"dcId":"dcId","geoArea":{"shape":"POINT","point":{"lon":36.988422590534526,"lat":-63.615366350946985}},"civicAddr":{"POBOX":"POBOX","usageRules":"usageRules","country":"country","PRD":"PRD","PLC":"PLC","HNO":"HNO","PRM":"PRM","HNS":"HNS","FLR":"FLR","A1":"A1","A2":"A2","A3":"A3","A4":"A4","STS":"STS","A5":"A5","A6":"A6","RDSEC":"RDSEC","providedBy":"providedBy","LOC":"LOC","UNIT":"UNIT","SEAT":"SEAT","POD":"POD","RDBR":"RDBR","method":"method","LMK":"LMK","POM":"POM","ADDCODE":"ADDCODE","RD":"RD","PC":"PC","PCN":"PCN","NAM":"NAM","BLD":"BLD","ROOM":"ROOM","RDSUBBR":"RDSUBBR"}},"aefId":"aefId","interfaceDescriptions":[{"ipv6Addr":"ipv6Addr","securityMethods":[null,null],"fqdn":"fqdn","port":5248,"apiPrefix":"apiPrefix","ipv4Addr":"ipv4Addr"},{"ipv6Addr":"ipv6Addr","securityMethods":[null,null],"fqdn":"fqdn","port":5248,"apiPrefix":"apiPrefix","ipv4Addr":"ipv4Addr"}],"serviceKpis":{"avalMem":"avalMem","avalStor":"avalStor","avalComp":"avalComp","conBand":0,"maxRestime":0,"availability":0,"maxReqRate":0,"avalGraComp":"avalGraComp"}},{"protocol":"HTTP_1_1","ueIpRange":{"ueIpv4AddrRanges":[{"start":"198.51.100.1","end":"198.51.100.1"},{"start":"198.51.100.1","end":"198.51.100.1"}],"ueIpv6AddrRanges":[{"start":"2001:db8:85a3::8a2e:370:7334","end":"2001:db8:85a3::8a2e:370:7334"},{"start":"2001:db8:85a3::8a2e:370:7334","end":"2001:db8:85a3::8a2e:370:7334"}]},"securityMethods":["PSK","PSK"],"versions":[{"apiVersion":"apiVersion","resources":[{"operations":[null,null],"commType":"REQUEST_RESPONSE","custOperations":[{"operations":["GET","GET"],"description":"description","custOpName":"custOpName"},{"operations":["GET","GET"],"description":"description","custOpName":"custOpName"}],"description":"description","resourceName":"resourceName","custOpName":"custOpName","uri":"uri"},{"operations":[null,null],"commType":"REQUEST_RESPONSE","custOperations":[{"operations":["GET","GET"],"description":"description","custOpName":"custOpName"},{"operations":["GET","GET"],"description":"description","custOpName":"custOpName"}],"description":"description","resourceName":"resourceName","custOpName":"custOpName","uri":"uri"}],"custOperations":[{"operations":["GET","GET"],"description":"description","custOpName":"custOpName"},{"operations":["GET","GET"],"description":"description","custOpName":"custOpName"}],"expiry":"2000-01-23T04:56:07.000+00:00"},{"apiVersion":"apiVersion","resources":[{"operations":[null,null],"commType":"REQUEST_RESPONSE","custOperations":[{"operations":["GET","GET"],"description":"description","custOpName":"custOpName"},{"operations":["GET","GET"],"description":"description","custOpName":"custOpName"}],"description":"description","resourceName":"resourceName","custOpName":"custOpName","uri":"uri"},{"operations":[null,null],"commType":"REQUEST_RESPONSE","custOperations":[{"operations":["GET","GET"],"description":"description","custOpName":"custOpName"},{"operations":["GET","GET"],"description":"description","custOpName":"custOpName"}],"description":"description","resourceName":"resourceName","custOpName":"custOpName","uri":"uri"}],"custOperations":[{"operations":["GET","GET"],"description":"description","custOpName":"custOpName"},{"operations":["GET","GET"],"description":"description","custOpName":"custOpName"}],"expiry":"2000-01-23T04:56:07.000+00:00"}],"dataFormat":"JSON","domainName":"domainName","aefLocation":{"dcId":"dcId","geoArea":{"shape":"POINT","point":{"lon":36.988422590534526,"lat":-63.615366350946985}},"civicAddr":{"POBOX":"POBOX","usageRules":"usageRules","country":"country","PRD":"PRD","PLC":"PLC","HNO":"HNO","PRM":"PRM","HNS":"HNS","FLR":"FLR","A1":"A1","A2":"A2","A3":"A3","A4":"A4","STS":"STS","A5":"A5","A6":"A6","RDSEC":"RDSEC","providedBy":"providedBy","LOC":"LOC","UNIT":"UNIT","SEAT":"SEAT","POD":"POD","RDBR":"RDBR","method":"method","LMK":"LMK","POM":"POM","ADDCODE":"ADDCODE","RD":"RD","PC":"PC","PCN":"PCN","NAM":"NAM","BLD":"BLD","ROOM":"ROOM","RDSUBBR":"RDSUBBR"}},"aefId":"aefId","interfaceDescriptions":[{"ipv6Addr":"ipv6Addr","securityMethods":[null,null],"fqdn":"fqdn","port":5248,"apiPrefix":"apiPrefix","ipv4Addr":"ipv4Addr"},{"ipv6Addr":"ipv6Addr","securityMethods":[null,null],"fqdn":"fqdn","port":5248,"apiPrefix":"apiPrefix","ipv4Addr":"ipv4Addr"}],"serviceKpis":{"avalMem":"avalMem","avalStor":"avalStor","avalComp":"avalComp","conBand":0,"maxRestime":0,"availability":0,"maxReqRate":0,"avalGraComp":"avalGraComp"}}],"pubApiPath":{"ccfIds":["ccfIds","ccfIds"]}} + headers = { + 'Accept': 'application/json', + 'Content-Type': 'application/json', + } + response = self.client.open( + '/published-apis/v1/{apf_id}/service-apis/{service_api_id}'.format(service_api_id='service_api_id_example', apf_id='apf_id_example'), + method='PUT', + headers=headers, + data=json.dumps(service_api_description), + content_type='application/json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + +if __name__ == '__main__': + unittest.main() diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/test/test_individual_apf_published_api_controller.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/test/test_individual_apf_published_api_controller.py new file mode 100644 index 0000000..c997852 --- /dev/null +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/test/test_individual_apf_published_api_controller.py @@ -0,0 +1,35 @@ +import unittest + +from flask import json + +from published_apis.models.problem_details import ProblemDetails # noqa: E501 +from published_apis.models.service_api_description import ServiceAPIDescription # noqa: E501 +from published_apis.models.service_api_description_patch import ServiceAPIDescriptionPatch # noqa: E501 +from published_apis.test import BaseTestCase + + +class TestIndividualAPFPublishedAPIController(BaseTestCase): + """IndividualAPFPublishedAPIController integration test stubs""" + + def test_modify_ind_apf_pub_api(self): + """Test case for modify_ind_apf_pub_api + + + """ + service_api_description_patch = openapi_server.ServiceAPIDescriptionPatch() + headers = { + 'Accept': 'application/json', + 'Content-Type': 'application/merge-patch+json', + } + response = self.client.open( + '/published-apis/v1/{apf_id}/service-apis/{service_api_id}'.format(service_api_id='service_api_id_example', apf_id='apf_id_example'), + method='PATCH', + headers=headers, + data=json.dumps(service_api_description_patch), + content_type='application/merge-patch+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + +if __name__ == '__main__': + unittest.main() diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/typing_utils.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/typing_utils.py index 0563f81..74e3c91 100644 --- a/services/TS29222_CAPIF_Publish_Service_API/published_apis/typing_utils.py +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/typing_utils.py @@ -1,5 +1,3 @@ -# coding: utf-8 - import sys if sys.version_info < (3, 7): diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/util.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/util.py index 3d85256..f18c8d6 100644 --- a/services/TS29222_CAPIF_Publish_Service_API/published_apis/util.py +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/util.py @@ -1,8 +1,7 @@ import datetime -import six -import typing_utils - +import typing +from published_apis import typing_utils def serialize_clean_camel_case(obj): res = obj.to_dict() @@ -54,7 +53,6 @@ def dict_to_camel_case(my_dict): return result - def _deserialize(data, klass): """Deserializes dict, list, str into an object. @@ -66,7 +64,7 @@ def _deserialize(data, klass): if data is None: return None - if klass in six.integer_types or klass in (float, str, bool, bytearray): + if klass in (int, float, str, bool, bytearray): return _deserialize_primitive(data, klass) elif klass == object: return _deserialize_object(data) @@ -95,7 +93,7 @@ def _deserialize_primitive(data, klass): try: value = klass(data) except UnicodeEncodeError: - value = six.u(data) + value = data except TypeError: value = data return value @@ -119,7 +117,7 @@ def deserialize_date(string): """ if string is None: return None - + try: from dateutil.parser import parse return parse(string).date() @@ -160,7 +158,7 @@ def deserialize_model(data, klass): if not instance.openapi_types: return data - for attr, attr_type in six.iteritems(instance.openapi_types): + for attr, attr_type in instance.openapi_types.items(): if data is not None \ and instance.attribute_map[attr] in data \ and isinstance(data, (list, dict)): @@ -195,4 +193,4 @@ def _deserialize_dict(data, boxed_type): :rtype: dict """ return {k: _deserialize(v, boxed_type) - for k, v in six.iteritems(data)} + for k, v in data.items() } diff --git a/services/TS29222_CAPIF_Publish_Service_API/requirements.txt b/services/TS29222_CAPIF_Publish_Service_API/requirements.txt index 0b1b9e8..5e7fa29 100644 --- a/services/TS29222_CAPIF_Publish_Service_API/requirements.txt +++ b/services/TS29222_CAPIF_Publish_Service_API/requirements.txt @@ -22,3 +22,4 @@ flask_executor == 1.0.0 Werkzeug == 2.2.3 gunicorn == 22.0.0 packaging == 24.0 + diff --git a/services/TS29222_CAPIF_Publish_Service_API/setup.py b/services/TS29222_CAPIF_Publish_Service_API/setup.py index 0b21a83..5ae15b4 100644 --- a/services/TS29222_CAPIF_Publish_Service_API/setup.py +++ b/services/TS29222_CAPIF_Publish_Service_API/setup.py @@ -1,5 +1,3 @@ -# coding: utf-8 - import sys from setuptools import setup, find_packages @@ -33,7 +31,7 @@ setup( entry_points={ 'console_scripts': ['published_apis=published_apis.__main__:main']}, long_description="""\ - API for publishing service APIs. © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. + API for publishing service APIs. © 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. """ ) diff --git a/services/TS29222_CAPIF_Publish_Service_API/test-requirements.txt b/services/TS29222_CAPIF_Publish_Service_API/test-requirements.txt index 202a684..58f51d6 100644 --- a/services/TS29222_CAPIF_Publish_Service_API/test-requirements.txt +++ b/services/TS29222_CAPIF_Publish_Service_API/test-requirements.txt @@ -1,4 +1,4 @@ -pytest~=4.6.7 # needed for python 2.7+3.4 +pytest~=7.1.0 pytest-cov>=2.8.1 -pytest-randomly == 1.2.3 # needed for python 2.7+3.4 -Flask-Testing == 0.8.0 +pytest-randomly>=1.2.3 +Flask-Testing==0.8.1 diff --git a/services/TS29222_CAPIF_Publish_Service_API/tox.ini b/services/TS29222_CAPIF_Publish_Service_API/tox.ini index 17663ab..44ee4e4 100644 --- a/services/TS29222_CAPIF_Publish_Service_API/tox.ini +++ b/services/TS29222_CAPIF_Publish_Service_API/tox.ini @@ -5,7 +5,7 @@ skipsdist=True [testenv] deps=-r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt - {toxinidir} + {toxinidir} commands= pytest --cov=published_apis -- GitLab