From 5a014585028c87c77aac9e65b1c65a733e04565e Mon Sep 17 00:00:00 2001 From: Pelayo Torres Date: Mon, 8 Jul 2024 13:56:05 +0200 Subject: [PATCH 01/15] REL18 api-invoker-management --- .../.openapi-generator/FILES | 42 +- .../.openapi-generator/VERSION | 2 +- .../README.md | 2 +- ...pi_invoker_enrolment_details_controller.py | 26 + ..._controller_.py => security_controller.py} | 0 .../api_invoker_management/encoder.py | 5 +- .../api_invoker_management/models/__init__.py | 35 +- .../models/aef_location.py | 119 + .../models/aef_profile.py | 123 +- .../models/api_invoker_enrolment_details.py | 102 +- .../api_invoker_enrolment_details_patch.py | 175 + .../api_invoker_management/models/api_list.py | 67 + .../models/api_status.py | 65 + .../models/{base_model_.py => base_model.py} | 9 +- .../models/civic_address.py | 919 +++ .../models/communication_type.py | 7 +- .../models/communication_type_any_of.py | 42 - .../models/custom_operation.py | 29 +- .../models/data_format.py | 7 +- .../models/ellipsoid_arc.py | 265 + .../models/gad_shape.py | 65 + .../models/geographic_area.py | 471 ++ .../models/geographical_coordinates.py | 99 + .../models/interface_description.py | 99 +- .../models/invalid_param.py | 13 +- .../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 + .../models/local_origin.py | 89 + .../models/onboarding_information.py | 29 +- .../models/onboarding_notification.py | 37 +- .../models/operation.py | 7 +- .../models/operation_any_of.py | 45 - .../api_invoker_management/models/point.py | 97 + .../models/point_altitude.py | 131 + .../models/point_altitude_uncertainty.py | 259 + .../models/point_uncertainty_circle.py | 129 + .../models/point_uncertainty_ellipse.py | 161 + .../api_invoker_management/models/polygon.py | 103 + .../models/problem_details.py | 53 +- .../api_invoker_management/models/protocol.py | 7 +- .../models/published_api_path.py | 9 +- .../models/relative_cartesian_location.py | 123 + .../api_invoker_management/models/resource.py | 75 +- .../models/security_method.py | 7 +- .../models/security_method_any_of.py | 43 - .../models/service_api_description.py | 129 +- .../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 + .../api_invoker_management/models/version.py | 21 +- .../models/websock_notif_config.py | 13 +- .../openapi/openapi.yaml | 5286 ++++++++++++++--- .../api_invoker_management/test/__init__.py | 16 + .../test/test_default_controller.py | 68 + ...pi_invoker_enrolment_details_controller.py | 35 + .../api_invoker_management/typing_utils.py | 2 - .../api_invoker_management/util.py | 13 +- .../git_push.sh | 6 +- .../requirements.txt | 3 +- .../setup.py | 6 +- .../test-requirements.txt | 6 +- .../tox.ini | 2 +- 68 files changed, 9869 insertions(+), 1239 deletions(-) create mode 100644 services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/controllers/individual_api_invoker_enrolment_details_controller.py rename services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/controllers/{security_controller_.py => security_controller.py} (100%) create mode 100644 services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/aef_location.py create mode 100644 services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/api_invoker_enrolment_details_patch.py create mode 100644 services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/api_list.py create mode 100644 services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/api_status.py rename services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/{base_model_.py => base_model.py} (92%) create mode 100644 services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/civic_address.py delete mode 100644 services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/communication_type_any_of.py create mode 100644 services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/ellipsoid_arc.py create mode 100644 services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/gad_shape.py create mode 100644 services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/geographic_area.py create mode 100644 services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/geographical_coordinates.py create mode 100644 services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/ip_addr_range.py create mode 100644 services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/ipv4_address_range.py rename services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/{data_format_any_of.py => ipv6_addr1.py} (58%) create mode 100644 services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/ipv6_address_range.py create mode 100644 services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/local2d_point_uncertainty_ellipse.py create mode 100644 services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/local3d_point_uncertainty_ellipsoid.py create mode 100644 services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/local_origin.py delete mode 100644 services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/operation_any_of.py create mode 100644 services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/point.py create mode 100644 services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/point_altitude.py create mode 100644 services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/point_altitude_uncertainty.py create mode 100644 services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/point_uncertainty_circle.py create mode 100644 services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/point_uncertainty_ellipse.py create mode 100644 services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/polygon.py create mode 100644 services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/relative_cartesian_location.py delete mode 100644 services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/security_method_any_of.py create mode 100644 services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/service_kpis.py rename services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/{protocol_any_of.py => supported_gad_shapes.py} (57%) create mode 100644 services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/uncertainty_ellipse.py create mode 100644 services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/uncertainty_ellipsoid.py create mode 100644 services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/test/__init__.py create mode 100644 services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/test/test_default_controller.py create mode 100644 services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/test/test_individual_api_invoker_enrolment_details_controller.py diff --git a/services/TS29222_CAPIF_API_Invoker_Management_API/.openapi-generator/FILES b/services/TS29222_CAPIF_API_Invoker_Management_API/.openapi-generator/FILES index e0046a7..dd0e2a9 100644 --- a/services/TS29222_CAPIF_API_Invoker_Management_API/.openapi-generator/FILES +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/.openapi-generator/FILES @@ -1,45 +1,71 @@ .dockerignore .gitignore +.openapi-generator-ignore .travis.yml Dockerfile README.md +git_push.sh api_invoker_management/__init__.py api_invoker_management/__main__.py api_invoker_management/controllers/__init__.py api_invoker_management/controllers/default_controller.py -api_invoker_management/controllers/security_controller_.py +api_invoker_management/controllers/individual_api_invoker_enrolment_details_controller.py +api_invoker_management/controllers/security_controller.py api_invoker_management/encoder.py api_invoker_management/models/__init__.py +api_invoker_management/models/aef_location.py api_invoker_management/models/aef_profile.py api_invoker_management/models/api_invoker_enrolment_details.py -api_invoker_management/models/base_model_.py +api_invoker_management/models/api_invoker_enrolment_details_patch.py +api_invoker_management/models/api_list.py +api_invoker_management/models/api_status.py +api_invoker_management/models/base_model.py +api_invoker_management/models/civic_address.py api_invoker_management/models/communication_type.py -api_invoker_management/models/communication_type_any_of.py api_invoker_management/models/custom_operation.py api_invoker_management/models/data_format.py -api_invoker_management/models/data_format_any_of.py +api_invoker_management/models/ellipsoid_arc.py +api_invoker_management/models/gad_shape.py +api_invoker_management/models/geographic_area.py +api_invoker_management/models/geographical_coordinates.py api_invoker_management/models/interface_description.py api_invoker_management/models/invalid_param.py +api_invoker_management/models/ip_addr_range.py +api_invoker_management/models/ipv4_address_range.py +api_invoker_management/models/ipv6_addr1.py +api_invoker_management/models/ipv6_address_range.py +api_invoker_management/models/local2d_point_uncertainty_ellipse.py +api_invoker_management/models/local3d_point_uncertainty_ellipsoid.py +api_invoker_management/models/local_origin.py api_invoker_management/models/onboarding_information.py api_invoker_management/models/onboarding_notification.py api_invoker_management/models/operation.py -api_invoker_management/models/operation_any_of.py +api_invoker_management/models/point.py +api_invoker_management/models/point_altitude.py +api_invoker_management/models/point_altitude_uncertainty.py +api_invoker_management/models/point_uncertainty_circle.py +api_invoker_management/models/point_uncertainty_ellipse.py +api_invoker_management/models/polygon.py api_invoker_management/models/problem_details.py api_invoker_management/models/protocol.py -api_invoker_management/models/protocol_any_of.py api_invoker_management/models/published_api_path.py +api_invoker_management/models/relative_cartesian_location.py api_invoker_management/models/resource.py api_invoker_management/models/security_method.py -api_invoker_management/models/security_method_any_of.py api_invoker_management/models/service_api_description.py +api_invoker_management/models/service_kpis.py api_invoker_management/models/shareable_information.py +api_invoker_management/models/supported_gad_shapes.py +api_invoker_management/models/uncertainty_ellipse.py +api_invoker_management/models/uncertainty_ellipsoid.py api_invoker_management/models/version.py api_invoker_management/models/websock_notif_config.py api_invoker_management/openapi/openapi.yaml api_invoker_management/test/__init__.py +api_invoker_management/test/test_default_controller.py +api_invoker_management/test/test_individual_api_invoker_enrolment_details_controller.py api_invoker_management/typing_utils.py api_invoker_management/util.py -git_push.sh requirements.txt setup.py test-requirements.txt diff --git a/services/TS29222_CAPIF_API_Invoker_Management_API/.openapi-generator/VERSION b/services/TS29222_CAPIF_API_Invoker_Management_API/.openapi-generator/VERSION index 4b448de..18bb418 100644 --- a/services/TS29222_CAPIF_API_Invoker_Management_API/.openapi-generator/VERSION +++ b/services/TS29222_CAPIF_API_Invoker_Management_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_API_Invoker_Management_API/README.md b/services/TS29222_CAPIF_API_Invoker_Management_API/README.md index 0112c60..3f402f2 100644 --- a/services/TS29222_CAPIF_API_Invoker_Management_API/README.md +++ b/services/TS29222_CAPIF_API_Invoker_Management_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 api_invoker_management +python3 -m openapi_server ``` and open your browser to here: diff --git a/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/controllers/individual_api_invoker_enrolment_details_controller.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/controllers/individual_api_invoker_enrolment_details_controller.py new file mode 100644 index 0000000..c330b69 --- /dev/null +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/controllers/individual_api_invoker_enrolment_details_controller.py @@ -0,0 +1,26 @@ +import connexion +from typing import Dict +from typing import Tuple +from typing import Union + +from api_invoker_management.models.api_invoker_enrolment_details import APIInvokerEnrolmentDetails # noqa: E501 +from api_invoker_management.models.api_invoker_enrolment_details_patch import APIInvokerEnrolmentDetailsPatch # noqa: E501 +from api_invoker_management.models.problem_details import ProblemDetails # noqa: E501 +from api_invoker_management import util + + +def modify_ind_api_invoke_enrolment(onboarding_id, api_invoker_enrolment_details_patch): # noqa: E501 + """modify_ind_api_invoke_enrolment + + Modify an individual API invoker details. # noqa: E501 + + :param onboarding_id: + :type onboarding_id: str + :param api_invoker_enrolment_details_patch: + :type api_invoker_enrolment_details_patch: dict | bytes + + :rtype: Union[APIInvokerEnrolmentDetails, Tuple[APIInvokerEnrolmentDetails, int], Tuple[APIInvokerEnrolmentDetails, int, Dict[str, str]] + """ + if connexion.request.is_json: + api_invoker_enrolment_details_patch = APIInvokerEnrolmentDetailsPatch.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' diff --git a/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/controllers/security_controller_.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/controllers/security_controller.py similarity index 100% rename from services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/controllers/security_controller_.py rename to services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/controllers/security_controller.py diff --git a/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/encoder.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/encoder.py index 80bad8f..f8f456a 100644 --- a/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/encoder.py +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/encoder.py @@ -1,7 +1,6 @@ from connexion.apps.flask_app import FlaskJSONEncoder -import six -from models.base_model_ import Model +from api_invoker_management.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_API_Invoker_Management_API/api_invoker_management/models/__init__.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/__init__.py index 1aa7151..2c0f16e 100644 --- a/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/__init__.py +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/__init__.py @@ -1,29 +1,48 @@ -# coding: utf-8 - # flake8: noqa -from __future__ import absolute_import # import models into model package from api_invoker_management.models.api_invoker_enrolment_details import APIInvokerEnrolmentDetails +from api_invoker_management.models.api_invoker_enrolment_details_patch import APIInvokerEnrolmentDetailsPatch +from api_invoker_management.models.api_list import APIList +from api_invoker_management.models.aef_location import AefLocation from api_invoker_management.models.aef_profile import AefProfile +from api_invoker_management.models.api_status import ApiStatus +from api_invoker_management.models.civic_address import CivicAddress from api_invoker_management.models.communication_type import CommunicationType -from api_invoker_management.models.communication_type_any_of import CommunicationTypeAnyOf from api_invoker_management.models.custom_operation import CustomOperation from api_invoker_management.models.data_format import DataFormat -from api_invoker_management.models.data_format_any_of import DataFormatAnyOf +from api_invoker_management.models.ellipsoid_arc import EllipsoidArc +from api_invoker_management.models.gad_shape import GADShape +from api_invoker_management.models.geographic_area import GeographicArea +from api_invoker_management.models.geographical_coordinates import GeographicalCoordinates from api_invoker_management.models.interface_description import InterfaceDescription from api_invoker_management.models.invalid_param import InvalidParam +from api_invoker_management.models.ip_addr_range import IpAddrRange +from api_invoker_management.models.ipv4_address_range import Ipv4AddressRange +from api_invoker_management.models.ipv6_addr1 import Ipv6Addr1 +from api_invoker_management.models.ipv6_address_range import Ipv6AddressRange +from api_invoker_management.models.local2d_point_uncertainty_ellipse import Local2dPointUncertaintyEllipse +from api_invoker_management.models.local3d_point_uncertainty_ellipsoid import Local3dPointUncertaintyEllipsoid +from api_invoker_management.models.local_origin import LocalOrigin from api_invoker_management.models.onboarding_information import OnboardingInformation from api_invoker_management.models.onboarding_notification import OnboardingNotification from api_invoker_management.models.operation import Operation -from api_invoker_management.models.operation_any_of import OperationAnyOf +from api_invoker_management.models.point import Point +from api_invoker_management.models.point_altitude import PointAltitude +from api_invoker_management.models.point_altitude_uncertainty import PointAltitudeUncertainty +from api_invoker_management.models.point_uncertainty_circle import PointUncertaintyCircle +from api_invoker_management.models.point_uncertainty_ellipse import PointUncertaintyEllipse +from api_invoker_management.models.polygon import Polygon from api_invoker_management.models.problem_details import ProblemDetails from api_invoker_management.models.protocol import Protocol -from api_invoker_management.models.protocol_any_of import ProtocolAnyOf from api_invoker_management.models.published_api_path import PublishedApiPath +from api_invoker_management.models.relative_cartesian_location import RelativeCartesianLocation from api_invoker_management.models.resource import Resource from api_invoker_management.models.security_method import SecurityMethod -from api_invoker_management.models.security_method_any_of import SecurityMethodAnyOf from api_invoker_management.models.service_api_description import ServiceAPIDescription +from api_invoker_management.models.service_kpis import ServiceKpis from api_invoker_management.models.shareable_information import ShareableInformation +from api_invoker_management.models.supported_gad_shapes import SupportedGADShapes +from api_invoker_management.models.uncertainty_ellipse import UncertaintyEllipse +from api_invoker_management.models.uncertainty_ellipsoid import UncertaintyEllipsoid from api_invoker_management.models.version import Version from api_invoker_management.models.websock_notif_config import WebsockNotifConfig diff --git a/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/aef_location.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/aef_location.py new file mode 100644 index 0000000..226cef2 --- /dev/null +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/aef_location.py @@ -0,0 +1,119 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from api_invoker_management.models.base_model import Model +from api_invoker_management.models.civic_address import CivicAddress +from api_invoker_management.models.geographic_area import GeographicArea +from api_invoker_management import util + +from api_invoker_management.models.civic_address import CivicAddress # noqa: E501 +from api_invoker_management.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_API_Invoker_Management_API/api_invoker_management/models/aef_profile.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/aef_profile.py index 23a84c9..ea2ec90 100644 --- a/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/aef_profile.py +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/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 api_invoker_management.models.base_model_ import Model +from api_invoker_management.models.base_model import Model +from api_invoker_management.models.aef_location import AefLocation from api_invoker_management.models.data_format import DataFormat from api_invoker_management.models.interface_description import InterfaceDescription +from api_invoker_management.models.ip_addr_range import IpAddrRange from api_invoker_management.models.protocol import Protocol from api_invoker_management.models.security_method import SecurityMethod +from api_invoker_management.models.service_kpis import ServiceKpis from api_invoker_management.models.version import Version from api_invoker_management import util +from api_invoker_management.models.aef_location import AefLocation # noqa: E501 from api_invoker_management.models.data_format import DataFormat # noqa: E501 from api_invoker_management.models.interface_description import InterfaceDescription # noqa: E501 +from api_invoker_management.models.ip_addr_range import IpAddrRange # noqa: E501 from api_invoker_management.models.protocol import Protocol # noqa: E501 from api_invoker_management.models.security_method import SecurityMethod # noqa: E501 +from api_invoker_management.models.service_kpis import ServiceKpis # noqa: E501 from api_invoker_management.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_API_Invoker_Management_API/api_invoker_management/models/api_invoker_enrolment_details.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/api_invoker_enrolment_details.py index b7667b5..fdfef7e 100644 --- a/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/api_invoker_enrolment_details.py +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/api_invoker_enrolment_details.py @@ -1,26 +1,26 @@ -# coding: utf-8 - -from __future__ import absolute_import from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from api_invoker_management.models.base_model_ import Model +from api_invoker_management.models.base_model import Model +from api_invoker_management.models.api_list import APIList +from api_invoker_management.models.onboarding_information import OnboardingInformation +from api_invoker_management.models.websock_notif_config import WebsockNotifConfig +import re from api_invoker_management import util +from api_invoker_management.models.api_list import APIList # noqa: E501 from api_invoker_management.models.onboarding_information import OnboardingInformation # noqa: E501 -from api_invoker_management.models.service_api_description import ServiceAPIDescription # noqa: E501 from api_invoker_management.models.websock_notif_config import WebsockNotifConfig # noqa: E501 import re # noqa: E501 - class APIInvokerEnrolmentDetails(Model): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). Do not edit the class manually. """ - def __init__(self, api_invoker_id=None, onboarding_information=None, notification_destination=None, request_test_notification=None, websock_notif_config=None, api_list=None, api_invoker_information=None, supported_features=None): # noqa: E501 + def __init__(self, api_invoker_id=None, onboarding_information=None, notification_destination=None, request_test_notification=None, websock_notif_config=None, api_list=None, api_invoker_information=None, exp_time=None, supported_features=None): # noqa: E501 """APIInvokerEnrolmentDetails - a model defined in OpenAPI :param api_invoker_id: The api_invoker_id of this APIInvokerEnrolmentDetails. # noqa: E501 @@ -34,9 +34,11 @@ class APIInvokerEnrolmentDetails(Model): :param websock_notif_config: The websock_notif_config of this APIInvokerEnrolmentDetails. # noqa: E501 :type websock_notif_config: WebsockNotifConfig :param api_list: The api_list of this APIInvokerEnrolmentDetails. # noqa: E501 - :type api_list: List[ServiceAPIDescription] + :type api_list: APIList :param api_invoker_information: The api_invoker_information of this APIInvokerEnrolmentDetails. # noqa: E501 :type api_invoker_information: str + :param exp_time: The exp_time of this APIInvokerEnrolmentDetails. # noqa: E501 + :type exp_time: datetime :param supported_features: The supported_features of this APIInvokerEnrolmentDetails. # noqa: E501 :type supported_features: str """ @@ -46,8 +48,9 @@ class APIInvokerEnrolmentDetails(Model): 'notification_destination': str, 'request_test_notification': bool, 'websock_notif_config': WebsockNotifConfig, - 'api_list': List[ServiceAPIDescription], + 'api_list': APIList, 'api_invoker_information': str, + 'exp_time': datetime, 'supported_features': str } @@ -59,6 +62,7 @@ class APIInvokerEnrolmentDetails(Model): 'websock_notif_config': 'websockNotifConfig', 'api_list': 'apiList', 'api_invoker_information': 'apiInvokerInformation', + 'exp_time': 'expTime', 'supported_features': 'supportedFeatures' } @@ -69,6 +73,7 @@ class APIInvokerEnrolmentDetails(Model): self._websock_notif_config = websock_notif_config self._api_list = api_list self._api_invoker_information = api_invoker_information + self._exp_time = exp_time self._supported_features = supported_features @classmethod @@ -83,10 +88,10 @@ class APIInvokerEnrolmentDetails(Model): return util.deserialize_model(dikt, cls) @property - def api_invoker_id(self): + def api_invoker_id(self) -> str: """Gets the api_invoker_id of this APIInvokerEnrolmentDetails. - API invoker ID assigned by the CAPIF core function to the API invoker while on-boarding the API invoker. Shall not be present in the HTTP POST request from the API invoker to the CAPIF core function, to on-board itself. Shall be present in all other HTTP requests and responses. # noqa: E501 + API invoker ID assigned by the CAPIF core function to the API invoker while on-boarding the API invoker. Shall not be present in the HTTP POST request from the API invoker to the CAPIF core function, to on-board itself. Shall be present in all other HTTP requests and responses. # noqa: E501 :return: The api_invoker_id of this APIInvokerEnrolmentDetails. :rtype: str @@ -94,10 +99,10 @@ class APIInvokerEnrolmentDetails(Model): return self._api_invoker_id @api_invoker_id.setter - def api_invoker_id(self, api_invoker_id): + def api_invoker_id(self, api_invoker_id: str): """Sets the api_invoker_id of this APIInvokerEnrolmentDetails. - API invoker ID assigned by the CAPIF core function to the API invoker while on-boarding the API invoker. Shall not be present in the HTTP POST request from the API invoker to the CAPIF core function, to on-board itself. Shall be present in all other HTTP requests and responses. # noqa: E501 + API invoker ID assigned by the CAPIF core function to the API invoker while on-boarding the API invoker. Shall not be present in the HTTP POST request from the API invoker to the CAPIF core function, to on-board itself. Shall be present in all other HTTP requests and responses. # noqa: E501 :param api_invoker_id: The api_invoker_id of this APIInvokerEnrolmentDetails. :type api_invoker_id: str @@ -106,7 +111,7 @@ class APIInvokerEnrolmentDetails(Model): self._api_invoker_id = api_invoker_id @property - def onboarding_information(self): + def onboarding_information(self) -> OnboardingInformation: """Gets the onboarding_information of this APIInvokerEnrolmentDetails. @@ -116,7 +121,7 @@ class APIInvokerEnrolmentDetails(Model): return self._onboarding_information @onboarding_information.setter - def onboarding_information(self, onboarding_information): + def onboarding_information(self, onboarding_information: OnboardingInformation): """Sets the onboarding_information of this APIInvokerEnrolmentDetails. @@ -129,7 +134,7 @@ class APIInvokerEnrolmentDetails(Model): self._onboarding_information = onboarding_information @property - def notification_destination(self): + def notification_destination(self) -> str: """Gets the notification_destination of this APIInvokerEnrolmentDetails. string providing an URI formatted according to IETF RFC 3986. # noqa: E501 @@ -140,7 +145,7 @@ class APIInvokerEnrolmentDetails(Model): return self._notification_destination @notification_destination.setter - def notification_destination(self, notification_destination): + def notification_destination(self, notification_destination: str): """Sets the notification_destination of this APIInvokerEnrolmentDetails. string providing an URI formatted according to IETF RFC 3986. # noqa: E501 @@ -154,10 +159,10 @@ class APIInvokerEnrolmentDetails(Model): self._notification_destination = notification_destination @property - def request_test_notification(self): + def request_test_notification(self) -> bool: """Gets the request_test_notification of this APIInvokerEnrolmentDetails. - Set to true by Subscriber to request the CAPIF core function to send a test notification as defined in in subclause 7.6. Set to false or omitted otherwise. # noqa: E501 + Set to true by Subscriber to request the CAPIF core function to send a test notification as defined in in clause 7.6. Set to false or omitted otherwise. # noqa: E501 :return: The request_test_notification of this APIInvokerEnrolmentDetails. :rtype: bool @@ -165,10 +170,10 @@ class APIInvokerEnrolmentDetails(Model): return self._request_test_notification @request_test_notification.setter - def request_test_notification(self, request_test_notification): + def request_test_notification(self, request_test_notification: bool): """Sets the request_test_notification of this APIInvokerEnrolmentDetails. - Set to true by Subscriber to request the CAPIF core function to send a test notification as defined in in subclause 7.6. Set to false or omitted otherwise. # noqa: E501 + Set to true by Subscriber to request the CAPIF core function to send a test notification as defined in in clause 7.6. Set to false or omitted otherwise. # noqa: E501 :param request_test_notification: The request_test_notification of this APIInvokerEnrolmentDetails. :type request_test_notification: bool @@ -177,7 +182,7 @@ class APIInvokerEnrolmentDetails(Model): self._request_test_notification = request_test_notification @property - def websock_notif_config(self): + def websock_notif_config(self) -> WebsockNotifConfig: """Gets the websock_notif_config of this APIInvokerEnrolmentDetails. @@ -187,7 +192,7 @@ class APIInvokerEnrolmentDetails(Model): return self._websock_notif_config @websock_notif_config.setter - def websock_notif_config(self, websock_notif_config): + def websock_notif_config(self, websock_notif_config: WebsockNotifConfig): """Sets the websock_notif_config of this APIInvokerEnrolmentDetails. @@ -198,35 +203,31 @@ class APIInvokerEnrolmentDetails(Model): self._websock_notif_config = websock_notif_config @property - def api_list(self): + def api_list(self) -> APIList: """Gets the api_list of this APIInvokerEnrolmentDetails. - The list of service APIs that the API Invoker is allowed to invoke # noqa: E501 :return: The api_list of this APIInvokerEnrolmentDetails. - :rtype: List[ServiceAPIDescription] + :rtype: APIList """ return self._api_list @api_list.setter - def api_list(self, api_list): + def api_list(self, api_list: APIList): """Sets the api_list of this APIInvokerEnrolmentDetails. - The list of service APIs that the API Invoker is allowed to invoke # noqa: E501 :param api_list: The api_list of this APIInvokerEnrolmentDetails. - :type api_list: List[ServiceAPIDescription] + :type api_list: APIList """ - if api_list is not None and len(api_list) < 1: - raise ValueError("Invalid value for `api_list`, number of items must be greater than or equal to `1`") # noqa: E501 self._api_list = api_list @property - def api_invoker_information(self): + def api_invoker_information(self) -> str: """Gets the api_invoker_information of this APIInvokerEnrolmentDetails. - Generic information related to the API invoker such as details of the device or the application. # noqa: E501 + Generic information related to the API invoker such as details of the device or the application. # noqa: E501 :return: The api_invoker_information of this APIInvokerEnrolmentDetails. :rtype: str @@ -234,10 +235,10 @@ class APIInvokerEnrolmentDetails(Model): return self._api_invoker_information @api_invoker_information.setter - def api_invoker_information(self, api_invoker_information): + def api_invoker_information(self, api_invoker_information: str): """Sets the api_invoker_information of this APIInvokerEnrolmentDetails. - Generic information related to the API invoker such as details of the device or the application. # noqa: E501 + Generic information related to the API invoker such as details of the device or the application. # noqa: E501 :param api_invoker_information: The api_invoker_information of this APIInvokerEnrolmentDetails. :type api_invoker_information: str @@ -246,10 +247,33 @@ class APIInvokerEnrolmentDetails(Model): self._api_invoker_information = api_invoker_information @property - def supported_features(self): + def exp_time(self) -> datetime: + """Gets the exp_time of this APIInvokerEnrolmentDetails. + + string with format \"date-time\" as defined in OpenAPI. # noqa: E501 + + :return: The exp_time of this APIInvokerEnrolmentDetails. + :rtype: datetime + """ + return self._exp_time + + @exp_time.setter + def exp_time(self, exp_time: datetime): + """Sets the exp_time of this APIInvokerEnrolmentDetails. + + string with format \"date-time\" as defined in OpenAPI. # noqa: E501 + + :param exp_time: The exp_time of this APIInvokerEnrolmentDetails. + :type exp_time: datetime + """ + + self._exp_time = exp_time + + @property + def supported_features(self) -> str: """Gets the supported_features of this APIInvokerEnrolmentDetails. - 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 APIInvokerEnrolmentDetails. :rtype: str @@ -257,10 +281,10 @@ class APIInvokerEnrolmentDetails(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 APIInvokerEnrolmentDetails. - 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 APIInvokerEnrolmentDetails. :type supported_features: str diff --git a/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/api_invoker_enrolment_details_patch.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/api_invoker_enrolment_details_patch.py new file mode 100644 index 0000000..0ac660c --- /dev/null +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/api_invoker_enrolment_details_patch.py @@ -0,0 +1,175 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from api_invoker_management.models.base_model import Model +from api_invoker_management.models.api_list import APIList +from api_invoker_management.models.onboarding_information import OnboardingInformation +from api_invoker_management import util + +from api_invoker_management.models.api_list import APIList # noqa: E501 +from api_invoker_management.models.onboarding_information import OnboardingInformation # noqa: E501 + +class APIInvokerEnrolmentDetailsPatch(Model): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + """ + + def __init__(self, onboarding_information=None, notification_destination=None, api_list=None, api_invoker_information=None, exp_time=None): # noqa: E501 + """APIInvokerEnrolmentDetailsPatch - a model defined in OpenAPI + + :param onboarding_information: The onboarding_information of this APIInvokerEnrolmentDetailsPatch. # noqa: E501 + :type onboarding_information: OnboardingInformation + :param notification_destination: The notification_destination of this APIInvokerEnrolmentDetailsPatch. # noqa: E501 + :type notification_destination: str + :param api_list: The api_list of this APIInvokerEnrolmentDetailsPatch. # noqa: E501 + :type api_list: APIList + :param api_invoker_information: The api_invoker_information of this APIInvokerEnrolmentDetailsPatch. # noqa: E501 + :type api_invoker_information: str + :param exp_time: The exp_time of this APIInvokerEnrolmentDetailsPatch. # noqa: E501 + :type exp_time: datetime + """ + self.openapi_types = { + 'onboarding_information': OnboardingInformation, + 'notification_destination': str, + 'api_list': APIList, + 'api_invoker_information': str, + 'exp_time': datetime + } + + self.attribute_map = { + 'onboarding_information': 'onboardingInformation', + 'notification_destination': 'notificationDestination', + 'api_list': 'apiList', + 'api_invoker_information': 'apiInvokerInformation', + 'exp_time': 'expTime' + } + + self._onboarding_information = onboarding_information + self._notification_destination = notification_destination + self._api_list = api_list + self._api_invoker_information = api_invoker_information + self._exp_time = exp_time + + @classmethod + def from_dict(cls, dikt) -> 'APIInvokerEnrolmentDetailsPatch': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The APIInvokerEnrolmentDetailsPatch of this APIInvokerEnrolmentDetailsPatch. # noqa: E501 + :rtype: APIInvokerEnrolmentDetailsPatch + """ + return util.deserialize_model(dikt, cls) + + @property + def onboarding_information(self) -> OnboardingInformation: + """Gets the onboarding_information of this APIInvokerEnrolmentDetailsPatch. + + + :return: The onboarding_information of this APIInvokerEnrolmentDetailsPatch. + :rtype: OnboardingInformation + """ + return self._onboarding_information + + @onboarding_information.setter + def onboarding_information(self, onboarding_information: OnboardingInformation): + """Sets the onboarding_information of this APIInvokerEnrolmentDetailsPatch. + + + :param onboarding_information: The onboarding_information of this APIInvokerEnrolmentDetailsPatch. + :type onboarding_information: OnboardingInformation + """ + + self._onboarding_information = onboarding_information + + @property + def notification_destination(self) -> str: + """Gets the notification_destination of this APIInvokerEnrolmentDetailsPatch. + + string providing an URI formatted according to IETF RFC 3986. # noqa: E501 + + :return: The notification_destination of this APIInvokerEnrolmentDetailsPatch. + :rtype: str + """ + return self._notification_destination + + @notification_destination.setter + def notification_destination(self, notification_destination: str): + """Sets the notification_destination of this APIInvokerEnrolmentDetailsPatch. + + string providing an URI formatted according to IETF RFC 3986. # noqa: E501 + + :param notification_destination: The notification_destination of this APIInvokerEnrolmentDetailsPatch. + :type notification_destination: str + """ + + self._notification_destination = notification_destination + + @property + def api_list(self) -> APIList: + """Gets the api_list of this APIInvokerEnrolmentDetailsPatch. + + + :return: The api_list of this APIInvokerEnrolmentDetailsPatch. + :rtype: APIList + """ + return self._api_list + + @api_list.setter + def api_list(self, api_list: APIList): + """Sets the api_list of this APIInvokerEnrolmentDetailsPatch. + + + :param api_list: The api_list of this APIInvokerEnrolmentDetailsPatch. + :type api_list: APIList + """ + + self._api_list = api_list + + @property + def api_invoker_information(self) -> str: + """Gets the api_invoker_information of this APIInvokerEnrolmentDetailsPatch. + + Generic information related to the API invoker such as details of the device or the application. # noqa: E501 + + :return: The api_invoker_information of this APIInvokerEnrolmentDetailsPatch. + :rtype: str + """ + return self._api_invoker_information + + @api_invoker_information.setter + def api_invoker_information(self, api_invoker_information: str): + """Sets the api_invoker_information of this APIInvokerEnrolmentDetailsPatch. + + Generic information related to the API invoker such as details of the device or the application. # noqa: E501 + + :param api_invoker_information: The api_invoker_information of this APIInvokerEnrolmentDetailsPatch. + :type api_invoker_information: str + """ + + self._api_invoker_information = api_invoker_information + + @property + def exp_time(self) -> datetime: + """Gets the exp_time of this APIInvokerEnrolmentDetailsPatch. + + string with format \"date-time\" as defined in OpenAPI with \"nullable=true\" property. # noqa: E501 + + :return: The exp_time of this APIInvokerEnrolmentDetailsPatch. + :rtype: datetime + """ + return self._exp_time + + @exp_time.setter + def exp_time(self, exp_time: datetime): + """Sets the exp_time of this APIInvokerEnrolmentDetailsPatch. + + string with format \"date-time\" as defined in OpenAPI with \"nullable=true\" property. # noqa: E501 + + :param exp_time: The exp_time of this APIInvokerEnrolmentDetailsPatch. + :type exp_time: datetime + """ + + self._exp_time = exp_time diff --git a/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/api_list.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/api_list.py new file mode 100644 index 0000000..6054d75 --- /dev/null +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/api_list.py @@ -0,0 +1,67 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from api_invoker_management.models.base_model import Model +from api_invoker_management.models.service_api_description import ServiceAPIDescription +from api_invoker_management import util + +from api_invoker_management.models.service_api_description import ServiceAPIDescription # noqa: E501 + +class APIList(Model): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + """ + + def __init__(self, service_api_descriptions=None): # noqa: E501 + """APIList - a model defined in OpenAPI + + :param service_api_descriptions: The service_api_descriptions of this APIList. # noqa: E501 + :type service_api_descriptions: List[ServiceAPIDescription] + """ + self.openapi_types = { + 'service_api_descriptions': List[ServiceAPIDescription] + } + + self.attribute_map = { + 'service_api_descriptions': 'serviceAPIDescriptions' + } + + self._service_api_descriptions = service_api_descriptions + + @classmethod + def from_dict(cls, dikt) -> 'APIList': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The APIList of this APIList. # noqa: E501 + :rtype: APIList + """ + return util.deserialize_model(dikt, cls) + + @property + def service_api_descriptions(self) -> List[ServiceAPIDescription]: + """Gets the service_api_descriptions of this APIList. + + Represents the list of service APIs that the API Invoker is allowed to invoke. # noqa: E501 + + :return: The service_api_descriptions of this APIList. + :rtype: List[ServiceAPIDescription] + """ + return self._service_api_descriptions + + @service_api_descriptions.setter + def service_api_descriptions(self, service_api_descriptions: List[ServiceAPIDescription]): + """Sets the service_api_descriptions of this APIList. + + Represents the list of service APIs that the API Invoker is allowed to invoke. # noqa: E501 + + :param service_api_descriptions: The service_api_descriptions of this APIList. + :type service_api_descriptions: List[ServiceAPIDescription] + """ + if service_api_descriptions is not None and len(service_api_descriptions) < 1: + raise ValueError("Invalid value for `service_api_descriptions`, number of items must be greater than or equal to `1`") # noqa: E501 + + self._service_api_descriptions = service_api_descriptions diff --git a/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/api_status.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/api_status.py new file mode 100644 index 0000000..c67e0f6 --- /dev/null +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/api_status.py @@ -0,0 +1,65 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from api_invoker_management.models.base_model import Model +from api_invoker_management 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_API_Invoker_Management_API/api_invoker_management/models/base_model_.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/base_model.py similarity index 92% rename from services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/base_model_.py rename to services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/base_model.py index 5b0ea2f..9975e6c 100644 --- a/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/base_model_.py +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/base_model.py @@ -1,6 +1,5 @@ import pprint -import six import typing from api_invoker_management import util @@ -8,14 +7,14 @@ from api_invoker_management 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_API_Invoker_Management_API/api_invoker_management/models/civic_address.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/civic_address.py new file mode 100644 index 0000000..a70b83c --- /dev/null +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/civic_address.py @@ -0,0 +1,919 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from api_invoker_management.models.base_model import Model +from api_invoker_management 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_API_Invoker_Management_API/api_invoker_management/models/communication_type.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/communication_type.py index 48e559c..a09339c 100644 --- a/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/communication_type.py +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/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 api_invoker_management.models.base_model_ import Model -from api_invoker_management.models.communication_type_any_of import CommunicationTypeAnyOf +from api_invoker_management.models.base_model import Model from api_invoker_management import util -from api_invoker_management.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_API_Invoker_Management_API/api_invoker_management/models/communication_type_any_of.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/communication_type_any_of.py deleted file mode 100644 index 461a002..0000000 --- a/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/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 api_invoker_management.models.base_model_ import Model -from api_invoker_management 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_API_Invoker_Management_API/api_invoker_management/models/custom_operation.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/custom_operation.py index 5663c98..c39874d 100644 --- a/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/custom_operation.py +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/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 api_invoker_management.models.base_model_ import Model +from api_invoker_management.models.base_model import Model from api_invoker_management.models.communication_type import CommunicationType from api_invoker_management.models.operation import Operation from api_invoker_management 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_API_Invoker_Management_API/api_invoker_management/models/data_format.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/data_format.py index c8ed3be..3b5ef19 100644 --- a/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/data_format.py +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/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 api_invoker_management.models.base_model_ import Model -from api_invoker_management.models.data_format_any_of import DataFormatAnyOf +from api_invoker_management.models.base_model import Model from api_invoker_management import util -from api_invoker_management.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_API_Invoker_Management_API/api_invoker_management/models/ellipsoid_arc.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/ellipsoid_arc.py new file mode 100644 index 0000000..4857686 --- /dev/null +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/ellipsoid_arc.py @@ -0,0 +1,265 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from api_invoker_management.models.base_model import Model +from api_invoker_management.models.gad_shape import GADShape +from api_invoker_management.models.geographical_coordinates import GeographicalCoordinates +from api_invoker_management.models.supported_gad_shapes import SupportedGADShapes +from api_invoker_management import util + +from api_invoker_management.models.gad_shape import GADShape # noqa: E501 +from api_invoker_management.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 +from api_invoker_management.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_API_Invoker_Management_API/api_invoker_management/models/gad_shape.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/gad_shape.py new file mode 100644 index 0000000..fdbb7ff --- /dev/null +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/gad_shape.py @@ -0,0 +1,65 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from api_invoker_management.models.base_model import Model +from api_invoker_management.models.supported_gad_shapes import SupportedGADShapes +from api_invoker_management import util + +from api_invoker_management.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_API_Invoker_Management_API/api_invoker_management/models/geographic_area.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/geographic_area.py new file mode 100644 index 0000000..1175870 --- /dev/null +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/geographic_area.py @@ -0,0 +1,471 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from api_invoker_management.models.base_model import Model +from api_invoker_management.models.ellipsoid_arc import EllipsoidArc +from api_invoker_management.models.geographical_coordinates import GeographicalCoordinates +from api_invoker_management.models.point import Point +from api_invoker_management.models.point_altitude import PointAltitude +from api_invoker_management.models.point_altitude_uncertainty import PointAltitudeUncertainty +from api_invoker_management.models.point_uncertainty_circle import PointUncertaintyCircle +from api_invoker_management.models.point_uncertainty_ellipse import PointUncertaintyEllipse +from api_invoker_management.models.polygon import Polygon +from api_invoker_management.models.supported_gad_shapes import SupportedGADShapes +from api_invoker_management.models.uncertainty_ellipse import UncertaintyEllipse +from api_invoker_management import util + +from api_invoker_management.models.ellipsoid_arc import EllipsoidArc # noqa: E501 +from api_invoker_management.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 +from api_invoker_management.models.point import Point # noqa: E501 +from api_invoker_management.models.point_altitude import PointAltitude # noqa: E501 +from api_invoker_management.models.point_altitude_uncertainty import PointAltitudeUncertainty # noqa: E501 +from api_invoker_management.models.point_uncertainty_circle import PointUncertaintyCircle # noqa: E501 +from api_invoker_management.models.point_uncertainty_ellipse import PointUncertaintyEllipse # noqa: E501 +from api_invoker_management.models.polygon import Polygon # noqa: E501 +from api_invoker_management.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 +from api_invoker_management.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_API_Invoker_Management_API/api_invoker_management/models/geographical_coordinates.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/geographical_coordinates.py new file mode 100644 index 0000000..1e82fce --- /dev/null +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/geographical_coordinates.py @@ -0,0 +1,99 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from api_invoker_management.models.base_model import Model +from api_invoker_management 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_API_Invoker_Management_API/api_invoker_management/models/interface_description.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/interface_description.py index 1e0050b..8f24ab2 100644 --- a/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/interface_description.py +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/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 api_invoker_management.models.base_model_ import Model +from api_invoker_management.models.base_model import Model from api_invoker_management.models.security_method import SecurityMethod +import re from api_invoker_management import util from api_invoker_management.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_API_Invoker_Management_API/api_invoker_management/models/invalid_param.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/invalid_param.py index 1fa0f4c..9fd06e4 100644 --- a/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/invalid_param.py +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/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 api_invoker_management.models.base_model_ import Model +from api_invoker_management.models.base_model import Model from api_invoker_management 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_API_Invoker_Management_API/api_invoker_management/models/ip_addr_range.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/ip_addr_range.py new file mode 100644 index 0000000..f831d59 --- /dev/null +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/ip_addr_range.py @@ -0,0 +1,99 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from api_invoker_management.models.base_model import Model +from api_invoker_management.models.ipv4_address_range import Ipv4AddressRange +from api_invoker_management.models.ipv6_address_range import Ipv6AddressRange +from api_invoker_management import util + +from api_invoker_management.models.ipv4_address_range import Ipv4AddressRange # noqa: E501 +from api_invoker_management.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_API_Invoker_Management_API/api_invoker_management/models/ipv4_address_range.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/ipv4_address_range.py new file mode 100644 index 0000000..fbe1a24 --- /dev/null +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/ipv4_address_range.py @@ -0,0 +1,101 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from api_invoker_management.models.base_model import Model +import re +from api_invoker_management 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_API_Invoker_Management_API/api_invoker_management/models/data_format_any_of.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/ipv6_addr1.py similarity index 58% rename from services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/data_format_any_of.py rename to services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/ipv6_addr1.py index a022aab..ac8e6e6 100644 --- a/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/data_format_any_of.py +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/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 api_invoker_management.models.base_model_ import Model +from api_invoker_management.models.base_model import Model from api_invoker_management 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_API_Invoker_Management_API/api_invoker_management/models/ipv6_address_range.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/ipv6_address_range.py new file mode 100644 index 0000000..0b46167 --- /dev/null +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/ipv6_address_range.py @@ -0,0 +1,93 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from api_invoker_management.models.base_model import Model +from api_invoker_management.models.ipv6_addr1 import Ipv6Addr1 +from api_invoker_management import util + +from api_invoker_management.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_API_Invoker_Management_API/api_invoker_management/models/local2d_point_uncertainty_ellipse.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/local2d_point_uncertainty_ellipse.py new file mode 100644 index 0000000..b68d590 --- /dev/null +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/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 api_invoker_management.models.base_model import Model +from api_invoker_management.models.gad_shape import GADShape +from api_invoker_management.models.local_origin import LocalOrigin +from api_invoker_management.models.relative_cartesian_location import RelativeCartesianLocation +from api_invoker_management.models.supported_gad_shapes import SupportedGADShapes +from api_invoker_management.models.uncertainty_ellipse import UncertaintyEllipse +from api_invoker_management import util + +from api_invoker_management.models.gad_shape import GADShape # noqa: E501 +from api_invoker_management.models.local_origin import LocalOrigin # noqa: E501 +from api_invoker_management.models.relative_cartesian_location import RelativeCartesianLocation # noqa: E501 +from api_invoker_management.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 +from api_invoker_management.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_API_Invoker_Management_API/api_invoker_management/models/local3d_point_uncertainty_ellipsoid.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/local3d_point_uncertainty_ellipsoid.py new file mode 100644 index 0000000..80e6b6b --- /dev/null +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/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 api_invoker_management.models.base_model import Model +from api_invoker_management.models.gad_shape import GADShape +from api_invoker_management.models.local_origin import LocalOrigin +from api_invoker_management.models.relative_cartesian_location import RelativeCartesianLocation +from api_invoker_management.models.supported_gad_shapes import SupportedGADShapes +from api_invoker_management.models.uncertainty_ellipsoid import UncertaintyEllipsoid +from api_invoker_management import util + +from api_invoker_management.models.gad_shape import GADShape # noqa: E501 +from api_invoker_management.models.local_origin import LocalOrigin # noqa: E501 +from api_invoker_management.models.relative_cartesian_location import RelativeCartesianLocation # noqa: E501 +from api_invoker_management.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 +from api_invoker_management.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_API_Invoker_Management_API/api_invoker_management/models/local_origin.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/local_origin.py new file mode 100644 index 0000000..e533683 --- /dev/null +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/local_origin.py @@ -0,0 +1,89 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from api_invoker_management.models.base_model import Model +from api_invoker_management.models.geographical_coordinates import GeographicalCoordinates +from api_invoker_management import util + +from api_invoker_management.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_API_Invoker_Management_API/api_invoker_management/models/onboarding_information.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/onboarding_information.py index 17b8de0..8b5f6ea 100644 --- a/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/onboarding_information.py +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/onboarding_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 api_invoker_management.models.base_model_ import Model +from api_invoker_management.models.base_model import Model from api_invoker_management import util @@ -53,10 +50,10 @@ class OnboardingInformation(Model): return util.deserialize_model(dikt, cls) @property - def api_invoker_public_key(self): + def api_invoker_public_key(self) -> str: """Gets the api_invoker_public_key of this OnboardingInformation. - The API Invoker’s public key # noqa: E501 + The API Invoker's public key # noqa: E501 :return: The api_invoker_public_key of this OnboardingInformation. :rtype: str @@ -64,10 +61,10 @@ class OnboardingInformation(Model): return self._api_invoker_public_key @api_invoker_public_key.setter - def api_invoker_public_key(self, api_invoker_public_key): + def api_invoker_public_key(self, api_invoker_public_key: str): """Sets the api_invoker_public_key of this OnboardingInformation. - The API Invoker’s public key # noqa: E501 + The API Invoker's public key # noqa: E501 :param api_invoker_public_key: The api_invoker_public_key of this OnboardingInformation. :type api_invoker_public_key: str @@ -78,10 +75,10 @@ class OnboardingInformation(Model): self._api_invoker_public_key = api_invoker_public_key @property - def api_invoker_certificate(self): + def api_invoker_certificate(self) -> str: """Gets the api_invoker_certificate of this OnboardingInformation. - The API Invoker’s generic client certificate, provided by the CAPIF core function. # noqa: E501 + The API Invoker's generic client certificate, provided by the CAPIF core function. # noqa: E501 :return: The api_invoker_certificate of this OnboardingInformation. :rtype: str @@ -89,10 +86,10 @@ class OnboardingInformation(Model): return self._api_invoker_certificate @api_invoker_certificate.setter - def api_invoker_certificate(self, api_invoker_certificate): + def api_invoker_certificate(self, api_invoker_certificate: str): """Sets the api_invoker_certificate of this OnboardingInformation. - The API Invoker’s generic client certificate, provided by the CAPIF core function. # noqa: E501 + The API Invoker's generic client certificate, provided by the CAPIF core function. # noqa: E501 :param api_invoker_certificate: The api_invoker_certificate of this OnboardingInformation. :type api_invoker_certificate: str @@ -101,10 +98,10 @@ class OnboardingInformation(Model): self._api_invoker_certificate = api_invoker_certificate @property - def onboarding_secret(self): + def onboarding_secret(self) -> str: """Gets the onboarding_secret of this OnboardingInformation. - The API Invoker’s onboarding secret, provided by the CAPIF core function. # noqa: E501 + The API Invoker's onboarding secret, provided by the CAPIF core function. # noqa: E501 :return: The onboarding_secret of this OnboardingInformation. :rtype: str @@ -112,10 +109,10 @@ class OnboardingInformation(Model): return self._onboarding_secret @onboarding_secret.setter - def onboarding_secret(self, onboarding_secret): + def onboarding_secret(self, onboarding_secret: str): """Sets the onboarding_secret of this OnboardingInformation. - The API Invoker’s onboarding secret, provided by the CAPIF core function. # noqa: E501 + The API Invoker's onboarding secret, provided by the CAPIF core function. # noqa: E501 :param onboarding_secret: The onboarding_secret of this OnboardingInformation. :type onboarding_secret: str diff --git a/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/onboarding_notification.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/onboarding_notification.py index 09a99cf..95d256a 100644 --- a/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/onboarding_notification.py +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/onboarding_notification.py @@ -1,17 +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 api_invoker_management.models.base_model_ import Model +from api_invoker_management.models.base_model import Model from api_invoker_management.models.api_invoker_enrolment_details import APIInvokerEnrolmentDetails -from api_invoker_management.models.service_api_description import ServiceAPIDescription +from api_invoker_management.models.api_list import APIList from api_invoker_management import util from api_invoker_management.models.api_invoker_enrolment_details import APIInvokerEnrolmentDetails # noqa: E501 -from api_invoker_management.models.service_api_description import ServiceAPIDescription # noqa: E501 +from api_invoker_management.models.api_list import APIList # noqa: E501 class OnboardingNotification(Model): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -29,13 +26,13 @@ class OnboardingNotification(Model): :param api_invoker_enrolment_details: The api_invoker_enrolment_details of this OnboardingNotification. # noqa: E501 :type api_invoker_enrolment_details: APIInvokerEnrolmentDetails :param api_list: The api_list of this OnboardingNotification. # noqa: E501 - :type api_list: List[ServiceAPIDescription] + :type api_list: APIList """ self.openapi_types = { 'result': bool, 'resource_location': str, 'api_invoker_enrolment_details': APIInvokerEnrolmentDetails, - 'api_list': List[ServiceAPIDescription] + 'api_list': APIList } self.attribute_map = { @@ -62,7 +59,7 @@ class OnboardingNotification(Model): return util.deserialize_model(dikt, cls) @property - def result(self): + def result(self) -> bool: """Gets the result of this OnboardingNotification. Set to \"true\" indicate successful on-boarding. Otherwise set to \"false\" # noqa: E501 @@ -73,7 +70,7 @@ class OnboardingNotification(Model): return self._result @result.setter - def result(self, result): + def result(self, result: bool): """Sets the result of this OnboardingNotification. Set to \"true\" indicate successful on-boarding. Otherwise set to \"false\" # noqa: E501 @@ -87,7 +84,7 @@ class OnboardingNotification(Model): self._result = result @property - def resource_location(self): + def resource_location(self) -> str: """Gets the resource_location of this OnboardingNotification. string providing an URI formatted according to IETF RFC 3986. # noqa: E501 @@ -98,7 +95,7 @@ class OnboardingNotification(Model): return self._resource_location @resource_location.setter - def resource_location(self, resource_location): + def resource_location(self, resource_location: str): """Sets the resource_location of this OnboardingNotification. string providing an URI formatted according to IETF RFC 3986. # noqa: E501 @@ -110,7 +107,7 @@ class OnboardingNotification(Model): self._resource_location = resource_location @property - def api_invoker_enrolment_details(self): + def api_invoker_enrolment_details(self) -> APIInvokerEnrolmentDetails: """Gets the api_invoker_enrolment_details of this OnboardingNotification. @@ -120,7 +117,7 @@ class OnboardingNotification(Model): return self._api_invoker_enrolment_details @api_invoker_enrolment_details.setter - def api_invoker_enrolment_details(self, api_invoker_enrolment_details): + def api_invoker_enrolment_details(self, api_invoker_enrolment_details: APIInvokerEnrolmentDetails): """Sets the api_invoker_enrolment_details of this OnboardingNotification. @@ -131,26 +128,22 @@ class OnboardingNotification(Model): self._api_invoker_enrolment_details = api_invoker_enrolment_details @property - def api_list(self): + def api_list(self) -> APIList: """Gets the api_list of this OnboardingNotification. - The list of service APIs that the API Invoker is allowed to invoke # noqa: E501 :return: The api_list of this OnboardingNotification. - :rtype: List[ServiceAPIDescription] + :rtype: APIList """ return self._api_list @api_list.setter - def api_list(self, api_list): + def api_list(self, api_list: APIList): """Sets the api_list of this OnboardingNotification. - The list of service APIs that the API Invoker is allowed to invoke # noqa: E501 :param api_list: The api_list of this OnboardingNotification. - :type api_list: List[ServiceAPIDescription] + :type api_list: APIList """ - if api_list is not None and len(api_list) < 1: - raise ValueError("Invalid value for `api_list`, number of items must be greater than or equal to `1`") # noqa: E501 self._api_list = api_list diff --git a/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/operation.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/operation.py index 620d6a8..846011b 100644 --- a/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/operation.py +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/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 api_invoker_management.models.base_model_ import Model -from api_invoker_management.models.operation_any_of import OperationAnyOf +from api_invoker_management.models.base_model import Model from api_invoker_management import util -from api_invoker_management.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_API_Invoker_Management_API/api_invoker_management/models/operation_any_of.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/operation_any_of.py deleted file mode 100644 index f3fff37..0000000 --- a/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/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 api_invoker_management.models.base_model_ import Model -from api_invoker_management 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_API_Invoker_Management_API/api_invoker_management/models/point.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/point.py new file mode 100644 index 0000000..82fa8c7 --- /dev/null +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/point.py @@ -0,0 +1,97 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from api_invoker_management.models.base_model import Model +from api_invoker_management.models.gad_shape import GADShape +from api_invoker_management.models.geographical_coordinates import GeographicalCoordinates +from api_invoker_management.models.supported_gad_shapes import SupportedGADShapes +from api_invoker_management import util + +from api_invoker_management.models.gad_shape import GADShape # noqa: E501 +from api_invoker_management.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 +from api_invoker_management.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_API_Invoker_Management_API/api_invoker_management/models/point_altitude.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/point_altitude.py new file mode 100644 index 0000000..514bfe7 --- /dev/null +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/point_altitude.py @@ -0,0 +1,131 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from api_invoker_management.models.base_model import Model +from api_invoker_management.models.gad_shape import GADShape +from api_invoker_management.models.geographical_coordinates import GeographicalCoordinates +from api_invoker_management.models.supported_gad_shapes import SupportedGADShapes +from api_invoker_management import util + +from api_invoker_management.models.gad_shape import GADShape # noqa: E501 +from api_invoker_management.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 +from api_invoker_management.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_API_Invoker_Management_API/api_invoker_management/models/point_altitude_uncertainty.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/point_altitude_uncertainty.py new file mode 100644 index 0000000..7117014 --- /dev/null +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/point_altitude_uncertainty.py @@ -0,0 +1,259 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from api_invoker_management.models.base_model import Model +from api_invoker_management.models.gad_shape import GADShape +from api_invoker_management.models.geographical_coordinates import GeographicalCoordinates +from api_invoker_management.models.supported_gad_shapes import SupportedGADShapes +from api_invoker_management.models.uncertainty_ellipse import UncertaintyEllipse +from api_invoker_management import util + +from api_invoker_management.models.gad_shape import GADShape # noqa: E501 +from api_invoker_management.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 +from api_invoker_management.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 +from api_invoker_management.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_API_Invoker_Management_API/api_invoker_management/models/point_uncertainty_circle.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/point_uncertainty_circle.py new file mode 100644 index 0000000..2b28dd8 --- /dev/null +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/point_uncertainty_circle.py @@ -0,0 +1,129 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from api_invoker_management.models.base_model import Model +from api_invoker_management.models.gad_shape import GADShape +from api_invoker_management.models.geographical_coordinates import GeographicalCoordinates +from api_invoker_management.models.supported_gad_shapes import SupportedGADShapes +from api_invoker_management import util + +from api_invoker_management.models.gad_shape import GADShape # noqa: E501 +from api_invoker_management.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 +from api_invoker_management.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_API_Invoker_Management_API/api_invoker_management/models/point_uncertainty_ellipse.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/point_uncertainty_ellipse.py new file mode 100644 index 0000000..09c55ed --- /dev/null +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/point_uncertainty_ellipse.py @@ -0,0 +1,161 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from api_invoker_management.models.base_model import Model +from api_invoker_management.models.gad_shape import GADShape +from api_invoker_management.models.geographical_coordinates import GeographicalCoordinates +from api_invoker_management.models.supported_gad_shapes import SupportedGADShapes +from api_invoker_management.models.uncertainty_ellipse import UncertaintyEllipse +from api_invoker_management import util + +from api_invoker_management.models.gad_shape import GADShape # noqa: E501 +from api_invoker_management.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 +from api_invoker_management.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 +from api_invoker_management.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_API_Invoker_Management_API/api_invoker_management/models/polygon.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/polygon.py new file mode 100644 index 0000000..4b939ca --- /dev/null +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/polygon.py @@ -0,0 +1,103 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from api_invoker_management.models.base_model import Model +from api_invoker_management.models.gad_shape import GADShape +from api_invoker_management.models.geographical_coordinates import GeographicalCoordinates +from api_invoker_management.models.supported_gad_shapes import SupportedGADShapes +from api_invoker_management import util + +from api_invoker_management.models.gad_shape import GADShape # noqa: E501 +from api_invoker_management.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 +from api_invoker_management.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_API_Invoker_Management_API/api_invoker_management/models/problem_details.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/problem_details.py index c28a360..006c0f9 100644 --- a/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/problem_details.py +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/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 api_invoker_management.models.base_model_ import Model +from api_invoker_management.models.base_model import Model from api_invoker_management.models.invalid_param import InvalidParam import re from api_invoker_management 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_API_Invoker_Management_API/api_invoker_management/models/protocol.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/protocol.py index f68a15d..efdaa08 100644 --- a/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/protocol.py +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/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 api_invoker_management.models.base_model_ import Model -from api_invoker_management.models.protocol_any_of import ProtocolAnyOf +from api_invoker_management.models.base_model import Model from api_invoker_management import util -from api_invoker_management.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_API_Invoker_Management_API/api_invoker_management/models/published_api_path.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/published_api_path.py index 01b94e6..64da80c 100644 --- a/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/published_api_path.py +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/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 api_invoker_management.models.base_model_ import Model +from api_invoker_management.models.base_model import Model from api_invoker_management 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_API_Invoker_Management_API/api_invoker_management/models/relative_cartesian_location.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/relative_cartesian_location.py new file mode 100644 index 0000000..5bdb56a --- /dev/null +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/relative_cartesian_location.py @@ -0,0 +1,123 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from api_invoker_management.models.base_model import Model +from api_invoker_management 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_API_Invoker_Management_API/api_invoker_management/models/resource.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/resource.py index e2cea42..b9b047b 100644 --- a/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/resource.py +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/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 api_invoker_management.models.base_model_ import Model +from api_invoker_management.models.base_model import Model from api_invoker_management.models.communication_type import CommunicationType +from api_invoker_management.models.custom_operation import CustomOperation from api_invoker_management.models.operation import Operation from api_invoker_management import util from api_invoker_management.models.communication_type import CommunicationType # noqa: E501 +from api_invoker_management.models.custom_operation import CustomOperation # noqa: E501 from api_invoker_management.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_API_Invoker_Management_API/api_invoker_management/models/security_method.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/security_method.py index e66fa65..0a9e739 100644 --- a/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/security_method.py +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/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 api_invoker_management.models.base_model_ import Model -from api_invoker_management.models.security_method_any_of import SecurityMethodAnyOf +from api_invoker_management.models.base_model import Model from api_invoker_management import util -from api_invoker_management.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_API_Invoker_Management_API/api_invoker_management/models/security_method_any_of.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/security_method_any_of.py deleted file mode 100644 index e446cf3..0000000 --- a/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/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 api_invoker_management.models.base_model_ import Model -from api_invoker_management 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_API_Invoker_Management_API/api_invoker_management/models/service_api_description.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/service_api_description.py index e194fdb..c5c7515 100644 --- a/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/service_api_description.py +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/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 api_invoker_management.models.base_model_ import Model +from api_invoker_management.models.base_model import Model from api_invoker_management.models.aef_profile import AefProfile +from api_invoker_management.models.api_status import ApiStatus from api_invoker_management.models.published_api_path import PublishedApiPath from api_invoker_management.models.shareable_information import ShareableInformation import re from api_invoker_management import util from api_invoker_management.models.aef_profile import AefProfile # noqa: E501 +from api_invoker_management.models.api_status import ApiStatus # noqa: E501 from api_invoker_management.models.published_api_path import PublishedApiPath # noqa: E501 from api_invoker_management.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_API_Invoker_Management_API/api_invoker_management/models/service_kpis.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/service_kpis.py new file mode 100644 index 0000000..f0f59bd --- /dev/null +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/service_kpis.py @@ -0,0 +1,277 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from api_invoker_management.models.base_model import Model +import re +from api_invoker_management 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_API_Invoker_Management_API/api_invoker_management/models/shareable_information.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/shareable_information.py index 4a369d9..e4f8263 100644 --- a/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/shareable_information.py +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/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 api_invoker_management.models.base_model_ import Model +from api_invoker_management.models.base_model import Model from api_invoker_management 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_API_Invoker_Management_API/api_invoker_management/models/protocol_any_of.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/supported_gad_shapes.py similarity index 57% rename from services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/protocol_any_of.py rename to services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/supported_gad_shapes.py index eafceb4..5a361e9 100644 --- a/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/protocol_any_of.py +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/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 api_invoker_management.models.base_model_ import Model +from api_invoker_management.models.base_model import Model from api_invoker_management 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_API_Invoker_Management_API/api_invoker_management/models/uncertainty_ellipse.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/uncertainty_ellipse.py new file mode 100644 index 0000000..6db8907 --- /dev/null +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/uncertainty_ellipse.py @@ -0,0 +1,133 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from api_invoker_management.models.base_model import Model +from api_invoker_management 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_API_Invoker_Management_API/api_invoker_management/models/uncertainty_ellipsoid.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/uncertainty_ellipsoid.py new file mode 100644 index 0000000..613c6cc --- /dev/null +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/uncertainty_ellipsoid.py @@ -0,0 +1,165 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from api_invoker_management.models.base_model import Model +from api_invoker_management 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_API_Invoker_Management_API/api_invoker_management/models/version.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/version.py index 6f0521b..4632929 100644 --- a/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/version.py +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/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 api_invoker_management.models.base_model_ import Model +from api_invoker_management.models.base_model import Model from api_invoker_management.models.custom_operation import CustomOperation from api_invoker_management.models.resource import Resource from api_invoker_management 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_API_Invoker_Management_API/api_invoker_management/models/websock_notif_config.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/websock_notif_config.py index 4bf3f92..4d3f5d7 100644 --- a/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/websock_notif_config.py +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/models/websock_notif_config.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 api_invoker_management.models.base_model_ import Model +from api_invoker_management.models.base_model import Model from api_invoker_management import util @@ -48,7 +45,7 @@ class WebsockNotifConfig(Model): return util.deserialize_model(dikt, cls) @property - def websocket_uri(self): + def websocket_uri(self) -> str: """Gets the websocket_uri of this WebsockNotifConfig. string formatted according to IETF RFC 3986 identifying a referenced resource. # noqa: E501 @@ -59,7 +56,7 @@ class WebsockNotifConfig(Model): return self._websocket_uri @websocket_uri.setter - def websocket_uri(self, websocket_uri): + def websocket_uri(self, websocket_uri: str): """Sets the websocket_uri of this WebsockNotifConfig. string formatted according to IETF RFC 3986 identifying a referenced resource. # noqa: E501 @@ -71,7 +68,7 @@ class WebsockNotifConfig(Model): self._websocket_uri = websocket_uri @property - def request_websocket_uri(self): + def request_websocket_uri(self) -> bool: """Gets the request_websocket_uri of this WebsockNotifConfig. Set by the SCS/AS to indicate that the Websocket delivery is requested. # noqa: E501 @@ -82,7 +79,7 @@ class WebsockNotifConfig(Model): return self._request_websocket_uri @request_websocket_uri.setter - def request_websocket_uri(self, request_websocket_uri): + def request_websocket_uri(self, request_websocket_uri: bool): """Sets the request_websocket_uri of this WebsockNotifConfig. Set by the SCS/AS to indicate that the Websocket delivery is requested. # noqa: E501 diff --git a/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/openapi/openapi.yaml b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/openapi/openapi.yaml index d574fb1..12715c6 100644 --- a/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/openapi/openapi.yaml +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/openapi/openapi.yaml @@ -1,20 +1,18 @@ openapi: 3.0.0 info: - description: | - API for API invoker management. - © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). - All rights reserved. + description: "API for API invoker management. \n© 2024, 3GPP Organizational Partners\ + \ (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). \nAll rights reserved.\n" title: CAPIF_API_Invoker_Management_API - version: 1.2.0-alpha.2 + version: 1.3.0-alpha.2 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}/api-invoker-management/v1' +- url: "{apiRoot}/api-invoker-management/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: /onboardedInvokers: post: @@ -84,7 +82,7 @@ paths: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' - description: Payload Too Large + description: Content Too Large "415": content: application/problem+json: @@ -129,8 +127,8 @@ paths: description: API invoker on-boarded successfully. headers: Location: - description: 'Contains the URI of the newly created resource, according - to the structure: {apiRoot}/api-invoker-management/v1/onboardedInvokers/{onboardingId}' + description: | + Contains the URI of the newly created resource, according to the structure {apiRoot}/api-invoker-management/v1/onboardedInvokers/{onboardingId} explode: false required: true schema: @@ -174,7 +172,7 @@ paths: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' - description: Payload Too Large + description: Content Too Large "415": content: application/problem+json: @@ -279,6 +277,116 @@ paths: default: description: Generic Error x-openapi-router-controller: api_invoker_management.controllers.default_controller + patch: + description: Modify an individual API invoker details. + operationId: modify_ind_api_invoke_enrolment + parameters: + - explode: false + in: path + name: onboardingId + required: true + schema: + type: string + style: simple + requestBody: + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/APIInvokerEnrolmentDetailsPatch' + required: true + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/APIInvokerEnrolmentDetails' + description: | + The definition of the service API is modified successfully and a representation of the updated service API is returned in the request body. + "202": + description: The request is accepted and under processing. + "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 API Invoker enrolment details + x-openapi-router-controller: api_invoker_management.controllers.individual_api_invoker_enrolment_details_controller put: callbacks: notificationDestination: @@ -346,7 +454,7 @@ paths: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' - description: Payload Too Large + description: Content Too Large "415": content: application/problem+json: @@ -401,11 +509,11 @@ paths: $ref: '#/components/schemas/APIInvokerEnrolmentDetails' description: API invoker details updated successfully. "202": - description: The CAPIF core has accepted the API invoker update details - request and is processing it. + description: | + The CAPIF core has accepted the API invoker update details request and is processing it. "204": - description: API invoker’s information updated successfully, with no content - to be sent in the response body. + description: | + API invoker's information updated successfully, with no content to be sent in the response body. "307": description: Temporary Redirect headers: @@ -457,7 +565,7 @@ paths: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' - description: Payload Too Large + description: Content Too Large "415": content: application/problem+json: @@ -486,6 +594,85 @@ paths: description: Generic Error x-openapi-router-controller: api_invoker_management.controllers.default_controller components: + responses: + "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 + "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 schemas: OnboardingInformation: description: Represents on-boarding information of the API invoker. @@ -495,17 +682,17 @@ components: apiInvokerCertificate: apiInvokerCertificate properties: apiInvokerPublicKey: - description: The API Invoker’s public key + description: The API Invoker's public key title: apiInvokerPublicKey type: string apiInvokerCertificate: - description: The API Invoker’s generic client certificate, provided by the - CAPIF core function. + description: | + The API Invoker's generic client certificate, provided by the CAPIF core function. title: apiInvokerCertificate type: string onboardingSecret: - description: The API Invoker’s onboarding secret, provided by the CAPIF - core function. + description: | + The API Invoker's onboarding secret, provided by the CAPIF core function. title: onboardingSecret type: string required: @@ -513,28 +700,9 @@ components: title: OnboardingInformation type: object APIList: - description: The list of service APIs that the API Invoker is allowed to invoke - items: - $ref: '#/components/schemas/ServiceAPIDescription' - minItems: 1 - title: apiList - type: array - APIInvokerEnrolmentDetails: - description: Information about the API Invoker that requested to onboard + description: Represents a list of APIs. example: - notificationDestination: notificationDestination - supportedFeatures: supportedFeatures - apiInvokerId: apiInvokerId - apiInvokerInformation: apiInvokerInformation - websockNotifConfig: - requestWebsocketUri: true - websocketUri: websocketUri - onboardingInformation: - apiInvokerPublicKey: apiInvokerPublicKey - onboardingSecret: onboardingSecret - apiInvokerCertificate: apiInvokerCertificate - requestTestNotification: true - apiList: + serviceAPIDescriptions: - serviceAPICategory: serviceAPICategory ccfId: ccfId apiName: apiName @@ -543,20 +711,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 @@ -564,19 +763,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 @@ -585,6 +800,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 @@ -592,46 +821,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 @@ -639,19 +966,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 @@ -660,6 +1003,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 @@ -667,37 +1024,109 @@ 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 @@ -710,20 +1139,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 @@ -731,19 +1191,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 @@ -752,6 +1228,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 @@ -759,46 +1249,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 @@ -806,19 +1394,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 @@ -827,123 +1431,164 @@ components: - operations: - null - null - description: description - resourceName: resourceName - custOpName: custOpName - uri: uri + 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 - 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: - apiInvokerId: - description: API invoker ID assigned by the CAPIF core function to the API - invoker while on-boarding the API invoker. Shall not be present in the - HTTP POST request from the API invoker to the CAPIF core function, to - on-board itself. Shall be present in all other HTTP requests and responses. - readOnly: true - title: apiInvokerId - type: string - onboardingInformation: - $ref: '#/components/schemas/OnboardingInformation' - notificationDestination: - description: string providing an URI formatted according to IETF RFC 3986. - title: notificationDestination - type: string - requestTestNotification: - description: Set to true by Subscriber to request the CAPIF core function - to send a test notification as defined in in subclause 7.6. Set to false - or omitted otherwise. - title: requestTestNotification - type: boolean - websockNotifConfig: - $ref: '#/components/schemas/WebsockNotifConfig' - apiList: - description: The list of service APIs that the API Invoker is allowed to - invoke + serviceAPIDescriptions: + description: Represents the list of service APIs that the API Invoker is + allowed to invoke. items: $ref: '#/components/schemas/ServiceAPIDescription' minItems: 1 - title: apiList + title: serviceAPIDescriptions type: array - apiInvokerInformation: - description: Generic information related to the API invoker such as details - of the device or the application. - title: apiInvokerInformation - 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]*$ - title: SupportedFeatures - type: string - required: - - notificationDestination - - onboardingInformation - title: APIInvokerEnrolmentDetails + title: APIList type: object - OnboardingNotification: - description: Represents a notification of on-boarding or update result. + APIInvokerEnrolmentDetails: + description: Represents information about the API Invoker that requested to + onboard. example: - result: true - apiInvokerEnrolmentDetails: - notificationDestination: notificationDestination - supportedFeatures: supportedFeatures - apiInvokerId: apiInvokerId - apiInvokerInformation: apiInvokerInformation - websockNotifConfig: - requestWebsocketUri: true - websocketUri: websocketUri - onboardingInformation: - apiInvokerPublicKey: apiInvokerPublicKey - onboardingSecret: onboardingSecret - apiInvokerCertificate: apiInvokerCertificate - requestTestNotification: true - apiList: + notificationDestination: notificationDestination + supportedFeatures: supportedFeatures + apiInvokerId: apiInvokerId + expTime: 2000-01-23T04:56:07.000+00:00 + apiInvokerInformation: apiInvokerInformation + websockNotifConfig: + requestWebsocketUri: true + websocketUri: websocketUri + onboardingInformation: + apiInvokerPublicKey: apiInvokerPublicKey + onboardingSecret: onboardingSecret + apiInvokerCertificate: apiInvokerCertificate + requestTestNotification: true + apiList: + serviceAPIDescriptions: - serviceAPICategory: serviceAPICategory ccfId: ccfId apiName: apiName @@ -952,20 +1597,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 @@ -973,19 +1649,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 @@ -994,6 +1686,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,46 +1707,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 @@ -1048,19 +1852,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 @@ -1069,6 +1889,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 @@ -1076,37 +1910,109 @@ 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 @@ -1119,20 +2025,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 @@ -1140,19 +2077,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 @@ -1161,6 +2114,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 @@ -1168,46 +2135,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 @@ -1215,19 +2280,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 @@ -1236,6 +2317,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 @@ -1243,381 +2338,1896 @@ 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 - resourceLocation: resourceLocation + properties: + apiInvokerId: + description: | + API invoker ID assigned by the CAPIF core function to the API invoker while on-boarding the API invoker. Shall not be present in the HTTP POST request from the API invoker to the CAPIF core function, to on-board itself. Shall be present in all other HTTP requests and responses. + readOnly: true + title: apiInvokerId + type: string + onboardingInformation: + $ref: '#/components/schemas/OnboardingInformation' + notificationDestination: + description: string providing an URI formatted according to IETF RFC 3986. + title: notificationDestination + type: string + requestTestNotification: + description: | + Set to true by Subscriber to request the CAPIF core function to send a test notification as defined in in clause 7.6. Set to false or omitted otherwise. + title: requestTestNotification + type: boolean + websockNotifConfig: + $ref: '#/components/schemas/WebsockNotifConfig' apiList: - - serviceAPICategory: serviceAPICategory - ccfId: ccfId - apiName: apiName - shareableInfo: - capifProvDoms: - - capifProvDoms - - capifProvDoms - isShareable: true + $ref: '#/components/schemas/APIList' + apiInvokerInformation: + description: | + Generic information related to the API invoker such as details of the device or the application. + title: apiInvokerInformation + type: string + expTime: + description: string with format "date-time" as defined in OpenAPI. + format: date-time + title: DateTime + 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]*$" + title: SupportedFeatures + type: string + required: + - notificationDestination + - onboardingInformation + title: APIInvokerEnrolmentDetails + type: object + OnboardingNotification: + description: Represents a notification of on-boarding or update result. + example: + result: true + apiInvokerEnrolmentDetails: + notificationDestination: notificationDestination supportedFeatures: supportedFeatures - description: description - apiSuppFeats: apiSuppFeats - apiId: apiId - aefProfiles: - - securityMethods: - - null - - null - versions: - - apiVersion: apiVersion - resources: - - operations: - - null - - null - description: description - resourceName: resourceName - custOpName: custOpName - uri: uri - - operations: - - null - - null - description: description - resourceName: resourceName - custOpName: custOpName - uri: uri - custOperations: - - operations: - - null - - null - description: description - custOpName: custOpName - - operations: - - null - - null - description: description - custOpName: custOpName - expiry: 2000-01-23T04:56:07.000+00:00 - - apiVersion: apiVersion - resources: - - operations: - - null - - null - description: description - resourceName: resourceName - custOpName: custOpName - uri: uri - - operations: - - null - - null - description: description - resourceName: resourceName - custOpName: custOpName - uri: uri - custOperations: - - operations: - - null - - null - description: description - custOpName: custOpName - - operations: - - null - - null - description: description - custOpName: custOpName - expiry: 2000-01-23T04:56:07.000+00:00 - domainName: domainName - aefId: aefId - interfaceDescriptions: - - ipv6Addr: ipv6Addr - securityMethods: - - null - - null - port: 5248 - ipv4Addr: ipv4Addr - - ipv6Addr: ipv6Addr - securityMethods: - - null - - null - port: 5248 - ipv4Addr: ipv4Addr - - securityMethods: - - null - - null - versions: - - apiVersion: apiVersion - resources: - - operations: - - null - - null - description: description - resourceName: resourceName - custOpName: custOpName - uri: uri - - operations: - - null - - null - description: description - resourceName: resourceName - custOpName: custOpName - uri: uri - custOperations: - - operations: - - null - - null - description: description - custOpName: custOpName - - operations: - - null - - null - description: description - custOpName: custOpName - expiry: 2000-01-23T04:56:07.000+00:00 - - apiVersion: apiVersion - resources: - - operations: - - null - - null - description: description - resourceName: resourceName - custOpName: custOpName - uri: uri - - operations: - - null - - null - description: description - resourceName: resourceName - custOpName: custOpName - uri: uri - custOperations: - - operations: - - null - - null - description: description - custOpName: custOpName - - operations: - - null - - null - description: description - custOpName: custOpName - expiry: 2000-01-23T04:56:07.000+00:00 - domainName: domainName - aefId: aefId - interfaceDescriptions: - - ipv6Addr: ipv6Addr - securityMethods: - - null - - null - port: 5248 - ipv4Addr: ipv4Addr - - ipv6Addr: ipv6Addr + apiInvokerId: apiInvokerId + expTime: 2000-01-23T04:56:07.000+00:00 + apiInvokerInformation: apiInvokerInformation + websockNotifConfig: + requestWebsocketUri: true + websocketUri: websocketUri + onboardingInformation: + apiInvokerPublicKey: apiInvokerPublicKey + onboardingSecret: onboardingSecret + apiInvokerCertificate: apiInvokerCertificate + requestTestNotification: true + apiList: + serviceAPIDescriptions: + - 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 + commType: null + description: description + custOpName: custOpName + - operations: + - GET + - GET + commType: null + description: description + custOpName: custOpName + description: description + resourceName: resourceName + custOpName: custOpName + uri: uri + - 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: + - GET + - GET + commType: null + description: description + custOpName: custOpName + - operations: + - GET + - GET + commType: null + 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 + commType: null + description: description + custOpName: custOpName + - operations: + - GET + - GET + commType: null + description: description + custOpName: custOpName + description: description + resourceName: resourceName + custOpName: custOpName + uri: uri + - 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: + - GET + - GET + commType: null + description: description + custOpName: custOpName + - operations: + - 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 + - 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 + uri: uri + - 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: + - GET + - GET + commType: null + description: description + custOpName: custOpName + - operations: + - GET + - GET + commType: null + 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 + commType: null + description: description + custOpName: custOpName + - operations: + - GET + - GET + commType: null + description: description + custOpName: custOpName + description: description + resourceName: resourceName + custOpName: custOpName + uri: uri + - 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: + - GET + - GET + commType: null + description: description + custOpName: custOpName + - operations: + - 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 + - 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 + commType: null + description: description + custOpName: custOpName + - operations: + - GET + - GET + commType: null + description: description + custOpName: custOpName + description: description + resourceName: resourceName + custOpName: custOpName + uri: uri + - 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: + - GET + - GET + commType: null + description: description + custOpName: custOpName + - operations: + - GET + - GET + commType: null + 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 + commType: null + description: description + custOpName: custOpName + - operations: + - GET + - GET + commType: null + description: description + custOpName: custOpName + description: description + resourceName: resourceName + custOpName: custOpName + uri: uri + - 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: + - GET + - GET + commType: null + description: description + custOpName: custOpName + - operations: + - 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 + - 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 + uri: uri + - 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: + - GET + - GET + commType: null + description: description + custOpName: custOpName + - operations: + - GET + - GET + commType: null + 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 + commType: null + description: description + custOpName: custOpName + - operations: + - GET + - GET + commType: null + description: description + custOpName: custOpName + description: description + resourceName: resourceName + custOpName: custOpName + uri: uri + - 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: + - GET + - GET + commType: null + description: description + custOpName: custOpName + - operations: + - 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 + resourceLocation: resourceLocation + apiList: + serviceAPIDescriptions: + - 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: - - null - - null - port: 5248 - ipv4Addr: ipv4Addr - pubApiPath: - ccfIds: - - ccfIds - - ccfIds - - serviceAPICategory: serviceAPICategory - ccfId: ccfId - apiName: apiName - shareableInfo: - capifProvDoms: - - capifProvDoms - - capifProvDoms - isShareable: true - supportedFeatures: supportedFeatures - description: description - apiSuppFeats: apiSuppFeats - apiId: apiId - aefProfiles: - - securityMethods: - - null - - null - versions: - - apiVersion: apiVersion - resources: - - operations: - - null - - null - description: description - resourceName: resourceName - custOpName: custOpName - uri: uri - - operations: - - null - - null - description: description - resourceName: resourceName - custOpName: custOpName - uri: uri - custOperations: - - operations: + - 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 + uri: uri + - 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: + - GET + - GET + commType: null + description: description + custOpName: custOpName + - operations: + - GET + - GET + commType: null + 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 + commType: null + description: description + custOpName: custOpName + - operations: + - GET + - GET + commType: null + description: description + custOpName: custOpName + description: description + resourceName: resourceName + custOpName: custOpName + uri: uri + - 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: + - GET + - GET + commType: null + description: description + custOpName: custOpName + - operations: + - 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 - description: description - custOpName: custOpName - - operations: + fqdn: fqdn + port: 5248 + apiPrefix: apiPrefix + ipv4Addr: ipv4Addr + - ipv6Addr: ipv6Addr + securityMethods: - null - null - description: description - custOpName: custOpName - expiry: 2000-01-23T04:56:07.000+00:00 - - apiVersion: apiVersion - resources: - - operations: + 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 + commType: null + description: description + custOpName: custOpName + - operations: + - GET + - GET + commType: null + description: description + custOpName: custOpName + description: description + resourceName: resourceName + custOpName: custOpName + uri: uri + - 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: + - GET + - GET + commType: null + description: description + custOpName: custOpName + - operations: + - GET + - GET + commType: null + 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 + commType: null + description: description + custOpName: custOpName + - operations: + - GET + - GET + commType: null + description: description + custOpName: custOpName + description: description + resourceName: resourceName + custOpName: custOpName + uri: uri + - 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: + - GET + - GET + commType: null + description: description + custOpName: custOpName + - operations: + - 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 - description: description - resourceName: resourceName - custOpName: custOpName - uri: uri - - operations: + fqdn: fqdn + port: 5248 + apiPrefix: apiPrefix + ipv4Addr: ipv4Addr + - ipv6Addr: ipv6Addr + securityMethods: - null - null - description: description - resourceName: resourceName - custOpName: custOpName - uri: uri - custOperations: - - operations: + 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 + - 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 + commType: null + description: description + custOpName: custOpName + - operations: + - GET + - GET + commType: null + description: description + custOpName: custOpName + description: description + resourceName: resourceName + custOpName: custOpName + uri: uri + - 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: + - GET + - GET + commType: null + description: description + custOpName: custOpName + - operations: + - GET + - GET + commType: null + 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 + commType: null + description: description + custOpName: custOpName + - operations: + - GET + - GET + commType: null + description: description + custOpName: custOpName + description: description + resourceName: resourceName + custOpName: custOpName + uri: uri + - 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: + - GET + - GET + commType: null + description: description + custOpName: custOpName + - operations: + - 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 - description: description - custOpName: custOpName - - operations: + fqdn: fqdn + port: 5248 + apiPrefix: apiPrefix + ipv4Addr: ipv4Addr + - ipv6Addr: ipv6Addr + securityMethods: - null - null - description: description - custOpName: custOpName - expiry: 2000-01-23T04:56:07.000+00:00 - domainName: domainName - aefId: aefId - interfaceDescriptions: - - ipv6Addr: ipv6Addr - securityMethods: - - null - - null - port: 5248 - ipv4Addr: ipv4Addr - - ipv6Addr: ipv6Addr + 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: - - null - - null - port: 5248 - ipv4Addr: ipv4Addr - - securityMethods: - - null - - null - versions: - - apiVersion: apiVersion - resources: - - operations: - - null - - null - description: description - resourceName: resourceName - custOpName: custOpName - uri: uri - - operations: - - null - - null - description: description - resourceName: resourceName - custOpName: custOpName - uri: uri - custOperations: - - operations: - - null - - null - description: description - custOpName: custOpName - - operations: - - null - - null - description: description - custOpName: custOpName - expiry: 2000-01-23T04:56:07.000+00:00 - - apiVersion: apiVersion - resources: - - operations: - - null - - null - description: description - resourceName: resourceName - custOpName: custOpName - uri: uri - - operations: - - null - - null - description: description - resourceName: resourceName - custOpName: custOpName - uri: uri - custOperations: - - operations: + - 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 + uri: uri + - 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: + - GET + - GET + commType: null + description: description + custOpName: custOpName + - operations: + - GET + - GET + commType: null + 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 + commType: null + description: description + custOpName: custOpName + - operations: + - GET + - GET + commType: null + description: description + custOpName: custOpName + description: description + resourceName: resourceName + custOpName: custOpName + uri: uri + - 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: + - GET + - GET + commType: null + description: description + custOpName: custOpName + - operations: + - 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 - description: description - custOpName: custOpName - - operations: + fqdn: fqdn + port: 5248 + apiPrefix: apiPrefix + ipv4Addr: ipv4Addr + - ipv6Addr: ipv6Addr + securityMethods: - null - null - description: description - custOpName: custOpName - expiry: 2000-01-23T04:56:07.000+00:00 - domainName: domainName - aefId: aefId - interfaceDescriptions: - - ipv6Addr: ipv6Addr - securityMethods: - - null - - null - port: 5248 - ipv4Addr: ipv4Addr - - ipv6Addr: ipv6Addr - securityMethods: - - null - - null - port: 5248 - ipv4Addr: ipv4Addr - pubApiPath: - ccfIds: - - ccfIds - - ccfIds + 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: result: description: Set to "true" indicate successful on-boarding. Otherwise set to "false" + title: result type: boolean resourceLocation: description: string providing an URI formatted according to IETF RFC 3986. @@ -1626,15 +4236,35 @@ components: apiInvokerEnrolmentDetails: $ref: '#/components/schemas/APIInvokerEnrolmentDetails' apiList: - description: The list of service APIs that the API Invoker is allowed to - invoke - items: - $ref: '#/components/schemas/ServiceAPIDescription' - minItems: 1 - title: apiList - type: array + $ref: '#/components/schemas/APIList' required: - result + title: OnboardingNotification + type: object + APIInvokerEnrolmentDetailsPatch: + description: Represents an API Invoker's enrolment details to be updated. + properties: + onboardingInformation: + $ref: '#/components/schemas/OnboardingInformation' + notificationDestination: + description: string providing an URI formatted according to IETF RFC 3986. + title: notificationDestination + type: string + apiList: + $ref: '#/components/schemas/APIList' + apiInvokerInformation: + description: | + Generic information related to the API invoker such as details of the device or the application. + title: apiInvokerInformation + type: string + expTime: + description: | + string with format "date-time" as defined in OpenAPI with "nullable=true" property. + format: date-time + nullable: true + title: expTime + type: string + title: APIInvokerEnrolmentDetailsPatch type: object ProblemDetails: description: Represents additional information and details on an error response. @@ -1644,8 +4274,8 @@ components: title: notificationDestination 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: @@ -1662,33 +4292,22 @@ components: title: notificationDestination 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 @@ -1698,15 +4317,16 @@ components: title: notificationDestination 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: @@ -1725,20 +4345,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 @@ -1746,19 +4397,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 @@ -1767,6 +4434,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 @@ -1774,46 +4455,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 @@ -1821,19 +4600,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 @@ -1842,6 +4637,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 @@ -1849,59 +4658,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 @@ -1912,40 +4791,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: @@ -1954,22 +4814,71 @@ 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 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 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 @@ -1977,19 +4886,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 @@ -1998,6 +4923,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 @@ -2005,42 +4944,111 @@ 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 - oneOf: - - required: - - domainName - - required: - - interfaceDescriptions + serviceKpis: + avalMem: avalMem + avalStor: avalStor + avalComp: avalComp + conBand: 0 + maxRestime: 0 + availability: 0 + maxReqRate: 0 + avalGraComp: avalGraComp + nullable: true + oneOf: [] properties: aefId: description: Identifier of the API exposing function @@ -2075,6 +5083,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 @@ -2088,6 +5102,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 @@ -2095,19 +5123,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 @@ -2145,6 +5189,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 @@ -2157,19 +5215,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 @@ -2187,42 +5252,38 @@ components: type: object CommunicationType: anyOf: - - $ref: '#/components/schemas/CommunicationType_anyOf' - - 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. + - enum: + - REQUEST_RESPONSE + - SUBSCRIBE_NOTIFY 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 - title: CommunicationType - Operation: - anyOf: - - $ref: '#/components/schemas/Operation_anyOf' - 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 - title: Operation + 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 CustomOperation: 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 @@ -2237,32 +5298,68 @@ components: - custOpName title: CustomOperation type: object + 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: "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 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 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 InterfaceDescription: description: Represents the description of an API's interface. @@ -2271,34 +5368,45 @@ components: securityMethods: - null - null + fqdn: fqdn port: 5248 + apiPrefix: apiPrefix ipv4Addr: ipv4Addr - oneOf: - - required: - - ipv4Addr - - required: - - ipv6Addr + nullable: true + oneOf: [] 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 @@ -2306,9 +5414,160 @@ components: type: array title: InterfaceDescription 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 + 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 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 @@ -2316,14 +5575,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 @@ -2352,8 +5610,8 @@ components: title: PublishedApiPath type: object WebsockNotifConfig: - description: Represents the configuration information for the delivery of notifications - over Websockets. + description: | + Represents the configuration information for the delivery of notifications over Websockets. example: requestWebsocketUri: true websocketUri: websocketUri @@ -2375,74 +5633,628 @@ components: resource. title: Link 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]*$ - title: SupportedFeatures - type: string DateTime: description: string with format "date-time" as defined in OpenAPI. format: date-time title: DateTime 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]*$" + title: SupportedFeatures + type: string + DateTimeRm: + description: | + string with format "date-time" as defined in OpenAPI with "nullable=true" property. + format: date-time + nullable: true + title: expTime + 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 minimum: 0 title: Port type: integer - CommunicationType_anyOf: - enum: - - REQUEST_RESPONSE - - SUBSCRIBE_NOTIFY - title: CommunicationType_anyOf - type: string - Operation_anyOf: - enum: - - GET - - POST - - PUT - - PATCH - - DELETE - title: Operation_anyOf - type: string - Protocol_anyOf: - enum: - - HTTP_1_1 - - HTTP_2 - title: Protocol_anyOf - type: string - DataFormat_anyOf: - enum: - - JSON - title: DataFormat_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 - SecurityMethod_anyOf: - enum: - - PSK - - PKI - - OAUTH - title: SecurityMethod_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_API_Invoker_Management_API/api_invoker_management/test/__init__.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/test/__init__.py new file mode 100644 index 0000000..6f062ad --- /dev/null +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/test/__init__.py @@ -0,0 +1,16 @@ +import logging + +import connexion +from flask_testing import TestCase + +from api_invoker_management.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_API_Invoker_Management_API/api_invoker_management/test/test_default_controller.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/test/test_default_controller.py new file mode 100644 index 0000000..058637b --- /dev/null +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/test/test_default_controller.py @@ -0,0 +1,68 @@ +import unittest + +from flask import json + +from api_invoker_management.models.api_invoker_enrolment_details import APIInvokerEnrolmentDetails # noqa: E501 +from api_invoker_management.models.problem_details import ProblemDetails # noqa: E501 +from api_invoker_management.test import BaseTestCase + + +class TestDefaultController(BaseTestCase): + """DefaultController integration test stubs""" + + def test_onboarded_invokers_onboarding_id_delete(self): + """Test case for onboarded_invokers_onboarding_id_delete + + + """ + headers = { + 'Accept': 'application/problem+json', + } + response = self.client.open( + '/api-invoker-management/v1/onboardedInvokers/{onboarding_id}'.format(onboarding_id='onboarding_id_example'), + method='DELETE', + headers=headers) + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_onboarded_invokers_onboarding_id_put(self): + """Test case for onboarded_invokers_onboarding_id_put + + + """ + api_invoker_enrolment_details = {"notificationDestination":"notificationDestination","supportedFeatures":"supportedFeatures","apiInvokerId":"apiInvokerId","expTime":"2000-01-23T04:56:07.000+00:00","apiInvokerInformation":"apiInvokerInformation","websockNotifConfig":{"requestWebsocketUri":True,"websocketUri":"websocketUri"},"onboardingInformation":{"apiInvokerPublicKey":"apiInvokerPublicKey","onboardingSecret":"onboardingSecret","apiInvokerCertificate":"apiInvokerCertificate"},"requestTestNotification":True,"apiList":{"serviceAPIDescriptions":[{"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"]}},{"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( + '/api-invoker-management/v1/onboardedInvokers/{onboarding_id}'.format(onboarding_id='onboarding_id_example'), + method='PUT', + headers=headers, + data=json.dumps(api_invoker_enrolment_details), + content_type='application/json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_onboarded_invokers_post(self): + """Test case for onboarded_invokers_post + + + """ + api_invoker_enrolment_details = {"notificationDestination":"notificationDestination","supportedFeatures":"supportedFeatures","apiInvokerId":"apiInvokerId","expTime":"2000-01-23T04:56:07.000+00:00","apiInvokerInformation":"apiInvokerInformation","websockNotifConfig":{"requestWebsocketUri":True,"websocketUri":"websocketUri"},"onboardingInformation":{"apiInvokerPublicKey":"apiInvokerPublicKey","onboardingSecret":"onboardingSecret","apiInvokerCertificate":"apiInvokerCertificate"},"requestTestNotification":True,"apiList":{"serviceAPIDescriptions":[{"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"]}},{"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( + '/api-invoker-management/v1/onboardedInvokers', + method='POST', + headers=headers, + data=json.dumps(api_invoker_enrolment_details), + 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_API_Invoker_Management_API/api_invoker_management/test/test_individual_api_invoker_enrolment_details_controller.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/test/test_individual_api_invoker_enrolment_details_controller.py new file mode 100644 index 0000000..598c881 --- /dev/null +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/test/test_individual_api_invoker_enrolment_details_controller.py @@ -0,0 +1,35 @@ +import unittest + +from flask import json + +from api_invoker_management.models.api_invoker_enrolment_details import APIInvokerEnrolmentDetails # noqa: E501 +from api_invoker_management.models.api_invoker_enrolment_details_patch import APIInvokerEnrolmentDetailsPatch # noqa: E501 +from api_invoker_management.models.problem_details import ProblemDetails # noqa: E501 +from api_invoker_management.test import BaseTestCase + + +class TestIndividualAPIInvokerEnrolmentDetailsController(BaseTestCase): + """IndividualAPIInvokerEnrolmentDetailsController integration test stubs""" + + def test_modify_ind_api_invoke_enrolment(self): + """Test case for modify_ind_api_invoke_enrolment + + + """ + api_invoker_enrolment_details_patch = openapi_server.APIInvokerEnrolmentDetailsPatch() + headers = { + 'Accept': 'application/json', + 'Content-Type': 'application/merge-patch+json', + } + response = self.client.open( + '/api-invoker-management/v1/onboardedInvokers/{onboarding_id}'.format(onboarding_id='onboarding_id_example'), + method='PATCH', + headers=headers, + data=json.dumps(api_invoker_enrolment_details_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_API_Invoker_Management_API/api_invoker_management/typing_utils.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/typing_utils.py index 0563f81..74e3c91 100644 --- a/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/typing_utils.py +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/typing_utils.py @@ -1,5 +1,3 @@ -# coding: utf-8 - import sys if sys.version_info < (3, 7): diff --git a/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/util.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/util.py index 31af7ab..ec810cb 100644 --- a/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/util.py +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/util.py @@ -1,8 +1,7 @@ import datetime -import six -import typing_utils - +import typing +from api_invoker_management import typing_utils def serialize_clean_camel_case(obj): res = obj.to_dict() @@ -63,7 +62,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) @@ -92,7 +91,7 @@ def _deserialize_primitive(data, klass): try: value = klass(data) except UnicodeEncodeError: - value = six.u(data) + value = data except TypeError: value = data return value @@ -157,7 +156,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)): @@ -192,4 +191,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_API_Invoker_Management_API/git_push.sh b/services/TS29222_CAPIF_API_Invoker_Management_API/git_push.sh index 9405f72..f53a75d 100644 --- a/services/TS29222_CAPIF_API_Invoker_Management_API/git_push.sh +++ b/services/TS29222_CAPIF_API_Invoker_Management_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_API_Invoker_Management_API/requirements.txt b/services/TS29222_CAPIF_API_Invoker_Management_API/requirements.txt index dbf0f19..794ddcc 100644 --- a/services/TS29222_CAPIF_API_Invoker_Management_API/requirements.txt +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/requirements.txt @@ -20,5 +20,4 @@ opentelemetry-api == 1.19.0 opentelemetry-sdk == 1.19.0 flask_executor == 1.0.0 Werkzeug == 2.2.3 -gunicorn == 22.0.0 -packaging == 24.0 +gunicorn == 22.0.0 \ No newline at end of file diff --git a/services/TS29222_CAPIF_API_Invoker_Management_API/setup.py b/services/TS29222_CAPIF_API_Invoker_Management_API/setup.py index 8bd54a4..c7340be 100644 --- a/services/TS29222_CAPIF_API_Invoker_Management_API/setup.py +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/setup.py @@ -1,5 +1,3 @@ -# coding: utf-8 - import sys from setuptools import setup, find_packages @@ -31,9 +29,9 @@ setup( package_data={'': ['openapi/openapi.yaml']}, include_package_data=True, entry_points={ - 'console_scripts': ['api_invoker_management=api_invoker_management.__main__:main']}, + 'console_scripts': ['openapi_server=openapi_server.__main__:main']}, long_description="""\ - API for API invoker management. © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. + API for API invoker management. © 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. """ ) diff --git a/services/TS29222_CAPIF_API_Invoker_Management_API/test-requirements.txt b/services/TS29222_CAPIF_API_Invoker_Management_API/test-requirements.txt index 202a684..58f51d6 100644 --- a/services/TS29222_CAPIF_API_Invoker_Management_API/test-requirements.txt +++ b/services/TS29222_CAPIF_API_Invoker_Management_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_API_Invoker_Management_API/tox.ini b/services/TS29222_CAPIF_API_Invoker_Management_API/tox.ini index 80a64e2..ec13971 100644 --- a/services/TS29222_CAPIF_API_Invoker_Management_API/tox.ini +++ b/services/TS29222_CAPIF_API_Invoker_Management_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=api_invoker_management -- GitLab From 85cdf6df490b2537db0215e536536b1d253a8595 Mon Sep 17 00:00:00 2001 From: Pelayo Torres Date: Mon, 8 Jul 2024 14:12:10 +0200 Subject: [PATCH 02/15] REL18 api-invoker-management fixes --- services/TS29222_CAPIF_API_Invoker_Management_API/README.md | 2 +- .../TS29222_CAPIF_API_Invoker_Management_API/requirements.txt | 3 ++- services/TS29222_CAPIF_API_Invoker_Management_API/setup.py | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/services/TS29222_CAPIF_API_Invoker_Management_API/README.md b/services/TS29222_CAPIF_API_Invoker_Management_API/README.md index 3f402f2..0112c60 100644 --- a/services/TS29222_CAPIF_API_Invoker_Management_API/README.md +++ b/services/TS29222_CAPIF_API_Invoker_Management_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 openapi_server +python3 -m api_invoker_management ``` and open your browser to here: diff --git a/services/TS29222_CAPIF_API_Invoker_Management_API/requirements.txt b/services/TS29222_CAPIF_API_Invoker_Management_API/requirements.txt index 794ddcc..66756b8 100644 --- a/services/TS29222_CAPIF_API_Invoker_Management_API/requirements.txt +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/requirements.txt @@ -20,4 +20,5 @@ opentelemetry-api == 1.19.0 opentelemetry-sdk == 1.19.0 flask_executor == 1.0.0 Werkzeug == 2.2.3 -gunicorn == 22.0.0 \ No newline at end of file +gunicorn == 22.0.0 +packaging == 24.0 \ No newline at end of file diff --git a/services/TS29222_CAPIF_API_Invoker_Management_API/setup.py b/services/TS29222_CAPIF_API_Invoker_Management_API/setup.py index c7340be..cbb93c7 100644 --- a/services/TS29222_CAPIF_API_Invoker_Management_API/setup.py +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/setup.py @@ -29,7 +29,7 @@ setup( package_data={'': ['openapi/openapi.yaml']}, include_package_data=True, entry_points={ - 'console_scripts': ['openapi_server=openapi_server.__main__:main']}, + 'console_scripts': ['api_invoker_management=api_invoker_management.__main__:main']}, long_description="""\ API for API invoker management. © 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. """ -- GitLab From 0a0b8ffe1780c6e0d2bff71a84727d74887a230d Mon Sep 17 00:00:00 2001 From: Pelayo Torres Date: Thu, 18 Jul 2024 11:10:51 +0200 Subject: [PATCH 03/15] REL18 api provider management --- .../.openapi-generator/FILES | 12 +- .../.openapi-generator/VERSION | 2 +- .../README.md | 2 +- .../controllers/default_controller.py | 19 +- ...i_provider_enrolment_details_controller.py | 12 +- ..._controller_.py => security_controller.py} | 0 .../api_provider_management/encoder.py | 6 +- .../models/__init__.py | 4 - .../models/api_provider_enrolment_details.py | 63 +++++-- .../api_provider_enrolment_details_patch.py | 13 +- .../models/api_provider_func_role.py | 7 +- .../models/api_provider_func_role_any_of.py | 43 ----- .../models/api_provider_function_details.py | 21 +-- .../models/{base_model_.py => base_model.py} | 9 +- .../models/invalid_param.py | 13 +- .../models/problem_details.py | 49 +++-- .../models/registration_information.py | 13 +- .../openapi/openapi.yaml | 171 +++++++++++++----- .../api_provider_management/test/__init__.py | 16 ++ .../test/test_default_controller.py | 68 +++++++ ...i_provider_enrolment_details_controller.py | 35 ++++ .../api_provider_management/typing_utils.py | 2 - .../api_provider_management/util.py | 13 +- .../api_provider_management/wsgi copy.py | 4 + .../git_push.sh | 6 +- .../setup.py | 4 +- .../test-requirements.txt | 6 +- .../tox.ini | 2 +- 28 files changed, 388 insertions(+), 227 deletions(-) rename services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/controllers/{security_controller_.py => security_controller.py} (100%) delete mode 100644 services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/models/api_provider_func_role_any_of.py rename services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/models/{base_model_.py => base_model.py} (92%) create mode 100644 services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/test/__init__.py create mode 100644 services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/test/test_default_controller.py create mode 100644 services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/test/test_individual_api_provider_enrolment_details_controller.py create mode 100644 services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/wsgi copy.py diff --git a/services/TS29222_CAPIF_API_Provider_Management_API/.openapi-generator/FILES b/services/TS29222_CAPIF_API_Provider_Management_API/.openapi-generator/FILES index 4baa18d..3ffb37b 100644 --- a/services/TS29222_CAPIF_API_Provider_Management_API/.openapi-generator/FILES +++ b/services/TS29222_CAPIF_API_Provider_Management_API/.openapi-generator/FILES @@ -1,28 +1,32 @@ .dockerignore .gitignore +.openapi-generator-ignore .travis.yml Dockerfile README.md +git_push.sh api_provider_management/__init__.py api_provider_management/__main__.py api_provider_management/controllers/__init__.py api_provider_management/controllers/default_controller.py -api_provider_management/controllers/security_controller_.py +api_provider_management/controllers/individual_api_provider_enrolment_details_controller.py +api_provider_management/controllers/security_controller.py api_provider_management/encoder.py api_provider_management/models/__init__.py api_provider_management/models/api_provider_enrolment_details.py +api_provider_management/models/api_provider_enrolment_details_patch.py api_provider_management/models/api_provider_func_role.py -api_provider_management/models/api_provider_func_role_any_of.py api_provider_management/models/api_provider_function_details.py -api_provider_management/models/base_model_.py +api_provider_management/models/base_model.py api_provider_management/models/invalid_param.py api_provider_management/models/problem_details.py api_provider_management/models/registration_information.py api_provider_management/openapi/openapi.yaml api_provider_management/test/__init__.py +api_provider_management/test/test_default_controller.py +api_provider_management/test/test_individual_api_provider_enrolment_details_controller.py api_provider_management/typing_utils.py api_provider_management/util.py -git_push.sh requirements.txt setup.py test-requirements.txt diff --git a/services/TS29222_CAPIF_API_Provider_Management_API/.openapi-generator/VERSION b/services/TS29222_CAPIF_API_Provider_Management_API/.openapi-generator/VERSION index 4b448de..18bb418 100644 --- a/services/TS29222_CAPIF_API_Provider_Management_API/.openapi-generator/VERSION +++ b/services/TS29222_CAPIF_API_Provider_Management_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_API_Provider_Management_API/README.md b/services/TS29222_CAPIF_API_Provider_Management_API/README.md index c9acf91..3aa91ec 100644 --- a/services/TS29222_CAPIF_API_Provider_Management_API/README.md +++ b/services/TS29222_CAPIF_API_Provider_Management_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 api_provider_management +python3 -m openapi_server ``` and open your browser to here: diff --git a/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/controllers/default_controller.py b/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/controllers/default_controller.py index d9a190c..64aed15 100644 --- a/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/controllers/default_controller.py +++ b/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/controllers/default_controller.py @@ -2,9 +2,10 @@ import connexion from flask import Response, request, current_app from ..core.provider_enrolment_details_api import ProviderManagementOperations -from ..models.api_provider_enrolment_details import APIProviderEnrolmentDetails # noqa: E501 -from ..models.problem_details import ProblemDetails # noqa: E501 -from .. import util +from api_provider_management.models.api_provider_enrolment_details import APIProviderEnrolmentDetails # noqa: E501 +from api_provider_management.models.problem_details import ProblemDetails # noqa: E501 +from api_provider_management import util + from ..core.validate_user import ControlAccess from cryptography import x509 @@ -14,9 +15,6 @@ from cryptography import x509 from functools import wraps -import sys - - provider_management_ops = ProviderManagementOperations() valid_user = ControlAccess() @@ -54,9 +52,8 @@ def registrations_post(body): # noqa: E501 :param api_provider_enrolment_details: :type api_provider_enrolment_details: dict | bytes - :rtype: APIProviderEnrolmentDetails + :rtype: Union[APIProviderEnrolmentDetails, Tuple[APIProviderEnrolmentDetails, int], Tuple[APIProviderEnrolmentDetails, int, Dict[str, str]] """ - identity = get_jwt_identity() username, uuid = identity.split() @@ -79,7 +76,7 @@ def registrations_registration_id_delete(registration_id): # noqa: E501 :param registration_id: String identifying an registered API provider domain resource. :type registration_id: str - :rtype: None + :rtype: Union[None, Tuple[None, int], Tuple[None, int, Dict[str, str]] """ current_app.logger.info("Removing Provider Domain") res = provider_management_ops.delete_api_provider_enrolment_details(registration_id) @@ -95,10 +92,10 @@ def registrations_registration_id_put(registration_id, body): # noqa: E501 :param registration_id: String identifying an registered API provider domain resource. :type registration_id: str - :param api_provider_enrolment_details: Representation of the API provider domain registration details to be updated in CAPIF core function. + :param api_provider_enrolment_details: Representation of the API provider domain registration details to be updated in CAPIF core function. :type api_provider_enrolment_details: dict | bytes - :rtype: APIProviderEnrolmentDetails + :rtype: Union[APIProviderEnrolmentDetails, Tuple[APIProviderEnrolmentDetails, int], Tuple[APIProviderEnrolmentDetails, int, Dict[str, str]] """ current_app.logger.info("Updating Provider Domain") if connexion.request.is_json: diff --git a/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/controllers/individual_api_provider_enrolment_details_controller.py b/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/controllers/individual_api_provider_enrolment_details_controller.py index dee8d15..0403d7a 100644 --- a/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/controllers/individual_api_provider_enrolment_details_controller.py +++ b/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/controllers/individual_api_provider_enrolment_details_controller.py @@ -2,17 +2,16 @@ import connexion from flask import Response, request, current_app from ..core.provider_enrolment_details_api import ProviderManagementOperations from ..encoder import JSONEncoder -from ..models.api_provider_enrolment_details import APIProviderEnrolmentDetails # noqa: E501 -from ..models.api_provider_enrolment_details_patch import APIProviderEnrolmentDetailsPatch # noqa: E501 -from ..models.problem_details import ProblemDetails # noqa: E501 -from .. import util +from api_provider_management.models.api_provider_enrolment_details import APIProviderEnrolmentDetails # noqa: E501 +from api_provider_management.models.api_provider_enrolment_details_patch import APIProviderEnrolmentDetailsPatch # noqa: E501 +from api_provider_management.models.problem_details import ProblemDetails # noqa: E501 +from api_provider_management import util from cryptography.hazmat.backends import default_backend from cryptography import x509 provider_management_ops = ProviderManagementOperations() - def modify_ind_api_provider_enrolment(registration_id, body): # noqa: E501 """modify_ind_api_provider_enrolment @@ -23,9 +22,8 @@ def modify_ind_api_provider_enrolment(registration_id, body): # noqa: E501 :param api_provider_enrolment_details_patch: :type api_provider_enrolment_details_patch: dict | bytes - :rtype: APIProviderEnrolmentDetails + :rtype: Union[APIProviderEnrolmentDetails, Tuple[APIProviderEnrolmentDetails, int], Tuple[APIProviderEnrolmentDetails, int, Dict[str, str]] """ - current_app.logger.info("Patch Provider Domain") if connexion.request.is_json: body = APIProviderEnrolmentDetailsPatch.from_dict(connexion.request.get_json()) # noqa: E501 diff --git a/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/controllers/security_controller_.py b/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/controllers/security_controller.py similarity index 100% rename from services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/controllers/security_controller_.py rename to services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/controllers/security_controller.py diff --git a/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/encoder.py b/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/encoder.py index 3f1c01c..da36f4c 100644 --- a/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/encoder.py +++ b/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/encoder.py @@ -1,7 +1,7 @@ from connexion.apps.flask_app import FlaskJSONEncoder -import six -from models.base_model_ import Model +from api_provider_management.models.base_model import Model + class JSONEncoder(FlaskJSONEncoder): include_nulls = False @@ -9,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_API_Provider_Management_API/api_provider_management/models/__init__.py b/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/models/__init__.py index 785be45..5ad7c47 100644 --- a/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/models/__init__.py +++ b/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/models/__init__.py @@ -1,13 +1,9 @@ -# coding: utf-8 - # flake8: noqa -from __future__ import absolute_import # import models into model package from api_provider_management.models.api_provider_enrolment_details import APIProviderEnrolmentDetails from api_provider_management.models.api_provider_enrolment_details_patch import APIProviderEnrolmentDetailsPatch from api_provider_management.models.api_provider_function_details import APIProviderFunctionDetails from api_provider_management.models.api_provider_func_role import ApiProviderFuncRole -from api_provider_management.models.api_provider_func_role_any_of import ApiProviderFuncRoleAnyOf from api_provider_management.models.invalid_param import InvalidParam from api_provider_management.models.problem_details import ProblemDetails from api_provider_management.models.registration_information import RegistrationInformation diff --git a/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/models/api_provider_enrolment_details.py b/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/models/api_provider_enrolment_details.py index b4d4f38..3199537 100644 --- a/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/models/api_provider_enrolment_details.py +++ b/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/models/api_provider_enrolment_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 api_provider_management.models.base_model_ import Model +from api_provider_management.models.base_model import Model from api_provider_management.models.api_provider_function_details import APIProviderFunctionDetails import re from api_provider_management import util @@ -19,7 +16,7 @@ class APIProviderEnrolmentDetails(Model): Do not edit the class manually. """ - def __init__(self, api_prov_dom_id=None, reg_sec=None, api_prov_funcs=None, api_prov_dom_info=None, supp_feat=None, fail_reason=None): # noqa: E501 + def __init__(self, api_prov_dom_id=None, reg_sec=None, api_prov_funcs=None, api_prov_dom_info=None, supp_feat=None, fail_reason=None, api_prov_name=None): # noqa: E501 """APIProviderEnrolmentDetails - a model defined in OpenAPI :param api_prov_dom_id: The api_prov_dom_id of this APIProviderEnrolmentDetails. # noqa: E501 @@ -34,6 +31,8 @@ class APIProviderEnrolmentDetails(Model): :type supp_feat: str :param fail_reason: The fail_reason of this APIProviderEnrolmentDetails. # noqa: E501 :type fail_reason: str + :param api_prov_name: The api_prov_name of this APIProviderEnrolmentDetails. # noqa: E501 + :type api_prov_name: str """ self.openapi_types = { 'api_prov_dom_id': str, @@ -41,7 +40,8 @@ class APIProviderEnrolmentDetails(Model): 'api_prov_funcs': List[APIProviderFunctionDetails], 'api_prov_dom_info': str, 'supp_feat': str, - 'fail_reason': str + 'fail_reason': str, + 'api_prov_name': str } self.attribute_map = { @@ -50,7 +50,8 @@ class APIProviderEnrolmentDetails(Model): 'api_prov_funcs': 'apiProvFuncs', 'api_prov_dom_info': 'apiProvDomInfo', 'supp_feat': 'suppFeat', - 'fail_reason': 'failReason' + 'fail_reason': 'failReason', + 'api_prov_name': 'apiProvName' } self._api_prov_dom_id = api_prov_dom_id @@ -59,6 +60,7 @@ class APIProviderEnrolmentDetails(Model): self._api_prov_dom_info = api_prov_dom_info self._supp_feat = supp_feat self._fail_reason = fail_reason + self._api_prov_name = api_prov_name @classmethod def from_dict(cls, dikt) -> 'APIProviderEnrolmentDetails': @@ -72,7 +74,7 @@ class APIProviderEnrolmentDetails(Model): return util.deserialize_model(dikt, cls) @property - def api_prov_dom_id(self): + def api_prov_dom_id(self) -> str: """Gets the api_prov_dom_id of this APIProviderEnrolmentDetails. API provider domain ID assigned by the CAPIF core function to the API management function while registering the API provider domain. Shall not be present in the HTTP POST request from the API Management function to the CAPIF core function, to on-board itself. Shall be present in all other HTTP requests and responses. # noqa: E501 @@ -83,7 +85,7 @@ class APIProviderEnrolmentDetails(Model): return self._api_prov_dom_id @api_prov_dom_id.setter - def api_prov_dom_id(self, api_prov_dom_id): + def api_prov_dom_id(self, api_prov_dom_id: str): """Sets the api_prov_dom_id of this APIProviderEnrolmentDetails. API provider domain ID assigned by the CAPIF core function to the API management function while registering the API provider domain. Shall not be present in the HTTP POST request from the API Management function to the CAPIF core function, to on-board itself. Shall be present in all other HTTP requests and responses. # noqa: E501 @@ -95,7 +97,7 @@ class APIProviderEnrolmentDetails(Model): self._api_prov_dom_id = api_prov_dom_id @property - def reg_sec(self): + def reg_sec(self) -> str: """Gets the reg_sec of this APIProviderEnrolmentDetails. Security information necessary for the CAPIF core function to validate the registration of the API provider domain. Shall be present in HTTP POST request from API management function to CAPIF core function for API provider domain registration. # noqa: E501 @@ -106,7 +108,7 @@ class APIProviderEnrolmentDetails(Model): return self._reg_sec @reg_sec.setter - def reg_sec(self, reg_sec): + def reg_sec(self, reg_sec: str): """Sets the reg_sec of this APIProviderEnrolmentDetails. Security information necessary for the CAPIF core function to validate the registration of the API provider domain. Shall be present in HTTP POST request from API management function to CAPIF core function for API provider domain registration. # noqa: E501 @@ -120,7 +122,7 @@ class APIProviderEnrolmentDetails(Model): self._reg_sec = reg_sec @property - def api_prov_funcs(self): + def api_prov_funcs(self) -> List[APIProviderFunctionDetails]: """Gets the api_prov_funcs of this APIProviderEnrolmentDetails. A list of individual API provider domain functions details. When included by the API management function in the HTTP request message, it lists the API provider domain functions that the API management function intends to register/update in registration or update registration procedure. When included by the CAPIF core function in the HTTP response message, it lists the API domain functions details that are registered or updated successfully. # noqa: E501 @@ -131,7 +133,7 @@ class APIProviderEnrolmentDetails(Model): return self._api_prov_funcs @api_prov_funcs.setter - def api_prov_funcs(self, api_prov_funcs): + def api_prov_funcs(self, api_prov_funcs: List[APIProviderFunctionDetails]): """Sets the api_prov_funcs of this APIProviderEnrolmentDetails. A list of individual API provider domain functions details. When included by the API management function in the HTTP request message, it lists the API provider domain functions that the API management function intends to register/update in registration or update registration procedure. When included by the CAPIF core function in the HTTP response message, it lists the API domain functions details that are registered or updated successfully. # noqa: E501 @@ -145,7 +147,7 @@ class APIProviderEnrolmentDetails(Model): self._api_prov_funcs = api_prov_funcs @property - def api_prov_dom_info(self): + def api_prov_dom_info(self) -> str: """Gets the api_prov_dom_info of this APIProviderEnrolmentDetails. Generic information related to the API provider domain such as details of the API provider applications. # noqa: E501 @@ -156,7 +158,7 @@ class APIProviderEnrolmentDetails(Model): return self._api_prov_dom_info @api_prov_dom_info.setter - def api_prov_dom_info(self, api_prov_dom_info): + def api_prov_dom_info(self, api_prov_dom_info: str): """Sets the api_prov_dom_info of this APIProviderEnrolmentDetails. Generic information related to the API provider domain such as details of the API provider applications. # noqa: E501 @@ -168,7 +170,7 @@ class APIProviderEnrolmentDetails(Model): self._api_prov_dom_info = api_prov_dom_info @property - def supp_feat(self): + def supp_feat(self) -> str: """Gets the supp_feat of this APIProviderEnrolmentDetails. 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 @@ -179,7 +181,7 @@ class APIProviderEnrolmentDetails(Model): return self._supp_feat @supp_feat.setter - def supp_feat(self, supp_feat): + def supp_feat(self, supp_feat: str): """Sets the supp_feat of this APIProviderEnrolmentDetails. 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 @@ -193,7 +195,7 @@ class APIProviderEnrolmentDetails(Model): self._supp_feat = supp_feat @property - def fail_reason(self): + def fail_reason(self) -> str: """Gets the fail_reason of this APIProviderEnrolmentDetails. Registration or update specific failure information of failed API provider domain function registrations.Shall be present in the HTTP response body if atleast one of the API provider domain function registration or update registration fails. # noqa: E501 @@ -204,7 +206,7 @@ class APIProviderEnrolmentDetails(Model): return self._fail_reason @fail_reason.setter - def fail_reason(self, fail_reason): + def fail_reason(self, fail_reason: str): """Sets the fail_reason of this APIProviderEnrolmentDetails. Registration or update specific failure information of failed API provider domain function registrations.Shall be present in the HTTP response body if atleast one of the API provider domain function registration or update registration fails. # noqa: E501 @@ -214,3 +216,26 @@ class APIProviderEnrolmentDetails(Model): """ self._fail_reason = fail_reason + + @property + def api_prov_name(self) -> str: + """Gets the api_prov_name of this APIProviderEnrolmentDetails. + + Represents the API provider name. # noqa: E501 + + :return: The api_prov_name of this APIProviderEnrolmentDetails. + :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 APIProviderEnrolmentDetails. + + Represents the API provider name. # noqa: E501 + + :param api_prov_name: The api_prov_name of this APIProviderEnrolmentDetails. + :type api_prov_name: str + """ + + self._api_prov_name = api_prov_name diff --git a/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/models/api_provider_enrolment_details_patch.py b/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/models/api_provider_enrolment_details_patch.py index acd2728..e16230b 100644 --- a/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/models/api_provider_enrolment_details_patch.py +++ b/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/models/api_provider_enrolment_details_patch.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 api_provider_management.models.base_model_ import Model +from api_provider_management.models.base_model import Model from api_provider_management.models.api_provider_function_details import APIProviderFunctionDetails from api_provider_management import util @@ -50,7 +47,7 @@ class APIProviderEnrolmentDetailsPatch(Model): return util.deserialize_model(dikt, cls) @property - def api_prov_funcs(self): + def api_prov_funcs(self) -> List[APIProviderFunctionDetails]: """Gets the api_prov_funcs of this APIProviderEnrolmentDetailsPatch. A list of individual API provider domain functions details. When included by the API management function in the HTTP request message, it lists the API provider domain functions that the API management function intends to register/update in registration or update registration procedure. # noqa: E501 @@ -61,7 +58,7 @@ class APIProviderEnrolmentDetailsPatch(Model): return self._api_prov_funcs @api_prov_funcs.setter - def api_prov_funcs(self, api_prov_funcs): + def api_prov_funcs(self, api_prov_funcs: List[APIProviderFunctionDetails]): """Sets the api_prov_funcs of this APIProviderEnrolmentDetailsPatch. A list of individual API provider domain functions details. When included by the API management function in the HTTP request message, it lists the API provider domain functions that the API management function intends to register/update in registration or update registration procedure. # noqa: E501 @@ -75,7 +72,7 @@ class APIProviderEnrolmentDetailsPatch(Model): self._api_prov_funcs = api_prov_funcs @property - def api_prov_dom_info(self): + def api_prov_dom_info(self) -> str: """Gets the api_prov_dom_info of this APIProviderEnrolmentDetailsPatch. Generic information related to the API provider domain such as details of the API provider applications. # noqa: E501 @@ -86,7 +83,7 @@ class APIProviderEnrolmentDetailsPatch(Model): return self._api_prov_dom_info @api_prov_dom_info.setter - def api_prov_dom_info(self, api_prov_dom_info): + def api_prov_dom_info(self, api_prov_dom_info: str): """Sets the api_prov_dom_info of this APIProviderEnrolmentDetailsPatch. Generic information related to the API provider domain such as details of the API provider applications. # noqa: E501 diff --git a/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/models/api_provider_func_role.py b/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/models/api_provider_func_role.py index 9c2b1da..7f3bb0f 100644 --- a/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/models/api_provider_func_role.py +++ b/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/models/api_provider_func_role.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 api_provider_management.models.base_model_ import Model -from api_provider_management.models.api_provider_func_role_any_of import ApiProviderFuncRoleAnyOf +from api_provider_management.models.base_model import Model from api_provider_management import util -from api_provider_management.models.api_provider_func_role_any_of import ApiProviderFuncRoleAnyOf # noqa: E501 class ApiProviderFuncRole(Model): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/models/api_provider_func_role_any_of.py b/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/models/api_provider_func_role_any_of.py deleted file mode 100644 index 8d4b9b0..0000000 --- a/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/models/api_provider_func_role_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 api_provider_management.models.base_model_ import Model -from api_provider_management import util - - -class ApiProviderFuncRoleAnyOf(Model): - """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - - Do not edit the class manually. - """ - - """ - allowed enum values - """ - AEF = "AEF" - APF = "APF" - AMF = "AMF" - def __init__(self): # noqa: E501 - """ApiProviderFuncRoleAnyOf - a model defined in OpenAPI - - """ - self.openapi_types = { - } - - self.attribute_map = { - } - - @classmethod - def from_dict(cls, dikt) -> 'ApiProviderFuncRoleAnyOf': - """Returns the dict as a model - - :param dikt: A dict. - :type: dict - :return: The ApiProviderFuncRole_anyOf of this ApiProviderFuncRoleAnyOf. # noqa: E501 - :rtype: ApiProviderFuncRoleAnyOf - """ - return util.deserialize_model(dikt, cls) diff --git a/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/models/api_provider_function_details.py b/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/models/api_provider_function_details.py index eb21ba7..d6989b1 100644 --- a/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/models/api_provider_function_details.py +++ b/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/models/api_provider_function_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 api_provider_management.models.base_model_ import Model +from api_provider_management.models.base_model import Model from api_provider_management.models.api_provider_func_role import ApiProviderFuncRole from api_provider_management.models.registration_information import RegistrationInformation from api_provider_management import util @@ -62,7 +59,7 @@ class APIProviderFunctionDetails(Model): return util.deserialize_model(dikt, cls) @property - def api_prov_func_id(self): + def api_prov_func_id(self) -> str: """Gets the api_prov_func_id of this APIProviderFunctionDetails. API provider domain functionID assigned by the CAPIF core function to the API provider domain function while registering/updating the API provider domain. Shall not be present in the HTTP POST request from the API management function to the CAPIF core function, to register itself. Shall be present in all other HTTP requests and responses. # noqa: E501 @@ -73,7 +70,7 @@ class APIProviderFunctionDetails(Model): return self._api_prov_func_id @api_prov_func_id.setter - def api_prov_func_id(self, api_prov_func_id): + def api_prov_func_id(self, api_prov_func_id: str): """Sets the api_prov_func_id of this APIProviderFunctionDetails. API provider domain functionID assigned by the CAPIF core function to the API provider domain function while registering/updating the API provider domain. Shall not be present in the HTTP POST request from the API management function to the CAPIF core function, to register itself. Shall be present in all other HTTP requests and responses. # noqa: E501 @@ -85,7 +82,7 @@ class APIProviderFunctionDetails(Model): self._api_prov_func_id = api_prov_func_id @property - def reg_info(self): + def reg_info(self) -> RegistrationInformation: """Gets the reg_info of this APIProviderFunctionDetails. @@ -95,7 +92,7 @@ class APIProviderFunctionDetails(Model): return self._reg_info @reg_info.setter - def reg_info(self, reg_info): + def reg_info(self, reg_info: RegistrationInformation): """Sets the reg_info of this APIProviderFunctionDetails. @@ -108,7 +105,7 @@ class APIProviderFunctionDetails(Model): self._reg_info = reg_info @property - def api_prov_func_role(self): + def api_prov_func_role(self) -> ApiProviderFuncRole: """Gets the api_prov_func_role of this APIProviderFunctionDetails. @@ -118,7 +115,7 @@ class APIProviderFunctionDetails(Model): return self._api_prov_func_role @api_prov_func_role.setter - def api_prov_func_role(self, api_prov_func_role): + def api_prov_func_role(self, api_prov_func_role: ApiProviderFuncRole): """Sets the api_prov_func_role of this APIProviderFunctionDetails. @@ -131,7 +128,7 @@ class APIProviderFunctionDetails(Model): self._api_prov_func_role = api_prov_func_role @property - def api_prov_func_info(self): + def api_prov_func_info(self) -> str: """Gets the api_prov_func_info of this APIProviderFunctionDetails. Generic information related to the API provider domain function such as details of the API provider applications. # noqa: E501 @@ -142,7 +139,7 @@ class APIProviderFunctionDetails(Model): return self._api_prov_func_info @api_prov_func_info.setter - def api_prov_func_info(self, api_prov_func_info): + def api_prov_func_info(self, api_prov_func_info: str): """Sets the api_prov_func_info of this APIProviderFunctionDetails. Generic information related to the API provider domain function such as details of the API provider applications. # noqa: E501 diff --git a/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/models/base_model_.py b/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/models/base_model.py similarity index 92% rename from services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/models/base_model_.py rename to services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/models/base_model.py index bd3a034..4fd1d5c 100644 --- a/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/models/base_model_.py +++ b/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/models/base_model.py @@ -1,6 +1,5 @@ import pprint -import six import typing from api_provider_management import util @@ -8,14 +7,14 @@ from api_provider_management 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_API_Provider_Management_API/api_provider_management/models/invalid_param.py b/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/models/invalid_param.py index 58aae71..003aa18 100644 --- a/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/models/invalid_param.py +++ b/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/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 api_provider_management.models.base_model_ import Model +from api_provider_management.models.base_model import Model from api_provider_management 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_API_Provider_Management_API/api_provider_management/models/problem_details.py b/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/models/problem_details.py index 44fe344..6ce7d77 100644 --- a/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/models/problem_details.py +++ b/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/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 api_provider_management.models.base_model_ import Model +from api_provider_management.models.base_model import Model from api_provider_management.models.invalid_param import InvalidParam import re from api_provider_management 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,7 +242,7 @@ 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 @@ -256,7 +253,7 @@ 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 diff --git a/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/models/registration_information.py b/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/models/registration_information.py index 7e1b08a..3e4d440 100644 --- a/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/models/registration_information.py +++ b/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/models/registration_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 api_provider_management.models.base_model_ import Model +from api_provider_management.models.base_model import Model from api_provider_management import util @@ -48,7 +45,7 @@ class RegistrationInformation(Model): return util.deserialize_model(dikt, cls) @property - def api_prov_pub_key(self): + def api_prov_pub_key(self) -> str: """Gets the api_prov_pub_key of this RegistrationInformation. Public Key of API Provider domain function. # noqa: E501 @@ -59,7 +56,7 @@ class RegistrationInformation(Model): return self._api_prov_pub_key @api_prov_pub_key.setter - def api_prov_pub_key(self, api_prov_pub_key): + def api_prov_pub_key(self, api_prov_pub_key: str): """Sets the api_prov_pub_key of this RegistrationInformation. Public Key of API Provider domain function. # noqa: E501 @@ -73,7 +70,7 @@ class RegistrationInformation(Model): self._api_prov_pub_key = api_prov_pub_key @property - def api_prov_cert(self): + def api_prov_cert(self) -> str: """Gets the api_prov_cert of this RegistrationInformation. API provider domain function's client certificate # noqa: E501 @@ -84,7 +81,7 @@ class RegistrationInformation(Model): return self._api_prov_cert @api_prov_cert.setter - def api_prov_cert(self, api_prov_cert): + def api_prov_cert(self, api_prov_cert: str): """Sets the api_prov_cert of this RegistrationInformation. API provider domain function's client certificate # noqa: E501 diff --git a/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/openapi/openapi.yaml b/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/openapi/openapi.yaml index 59ea36c..60fd3db 100644 --- a/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/openapi/openapi.yaml +++ b/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/openapi/openapi.yaml @@ -1,15 +1,15 @@ openapi: 3.0.0 info: - description: "API for API provider domain functions management. \n© 2022, 3GPP\ + description: "API for API provider domain functions management. \n© 2024, 3GPP\ \ Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). \nAll rights\ \ reserved.\n" title: CAPIF_API_Provider_Management_API - version: 1.1.0 + version: 1.2.0-alpha.3 externalDocs: - description: 3GPP TS 29.222 V17.5.0 Common API Framework for 3GPP Northbound APIs + 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}/api-provider-management/v1' +- url: "{apiRoot}/api-provider-management/v1" variables: apiRoot: default: https://example.com @@ -77,7 +77,7 @@ paths: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' - description: Payload Too Large + description: Content Too Large "415": content: application/problem+json: @@ -261,7 +261,7 @@ paths: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' - description: Payload Too Large + description: Content Too Large "415": content: application/problem+json: @@ -371,7 +371,7 @@ paths: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' - description: Payload Too Large + description: Content Too Large "415": content: application/problem+json: @@ -400,10 +400,90 @@ paths: description: Generic Error x-openapi-router-controller: api_provider_management.controllers.default_controller components: + responses: + "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 + "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 schemas: APIProviderEnrolmentDetails: description: Represents an API provider domain's enrolment details. example: + apiProvName: apiProvName regSec: regSec apiProvFuncs: - apiProvFuncId: apiProvFuncId @@ -411,11 +491,13 @@ components: regInfo: apiProvCert: apiProvCert apiProvPubKey: apiProvPubKey + apiProvFuncRole: AEF - apiProvFuncId: apiProvFuncId apiProvFuncInfo: apiProvFuncInfo regInfo: apiProvCert: apiProvCert apiProvPubKey: apiProvPubKey + apiProvFuncRole: AEF failReason: failReason apiProvDomId: apiProvDomId apiProvDomInfo: apiProvDomInfo @@ -448,7 +530,7 @@ components: suppFeat: 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]*$ + pattern: "^[A-Fa-f0-9]*$" title: suppFeat type: string failReason: @@ -456,18 +538,23 @@ components: Registration or update specific failure information of failed API provider domain function registrations.Shall be present in the HTTP response body if atleast one of the API provider domain function registration or update registration fails. title: failReason type: string + apiProvName: + description: Represents the API provider name. + title: apiProvName + type: string required: - regSec title: APIProviderEnrolmentDetails type: object APIProviderFunctionDetails: - description: Represents API provider domain function's details. + description: Represents an API provider domain function's details. example: apiProvFuncId: apiProvFuncId apiProvFuncInfo: apiProvFuncInfo regInfo: apiProvCert: apiProvCert apiProvPubKey: apiProvPubKey + apiProvFuncRole: AEF properties: apiProvFuncId: description: | @@ -507,20 +594,9 @@ components: - apiProvPubKey title: RegistrationInformation type: object - ApiProviderFuncRole: - anyOf: - - $ref: '#/components/schemas/ApiProviderFuncRole_anyOf' - - description: | - This string provides forward-compatiblity 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: - - AEF: API provider function is API Exposing Function. - - APF: API provider function is API Publishing Function. - - AMF: API Provider function is API Management Function. - title: ApiProviderFuncRole APIProviderEnrolmentDetailsPatch: - description: Represents an API provider domain's enrolment details. + description: | + Represents a list of modifications for the API provider domain's enrolment details. properties: apiProvFuncs: description: "A list of individual API provider domain functions details.\ @@ -531,12 +607,30 @@ components: items: $ref: '#/components/schemas/APIProviderFunctionDetails' minItems: 1 + title: apiProvFuncs type: array apiProvDomInfo: description: | Generic information related to the API provider domain such as details of the API provider applications. + title: apiProvDomInfo type: string + title: APIProviderEnrolmentDetailsPatch type: object + ApiProviderFuncRole: + anyOf: + - enum: + - AEF + - APF + - AMF + type: string + - description: | + This string provides forward-compatiblity with future extensions to the enumeration but is not used to encode content defined in the present version of this API. + type: string + description: "Indicates the role (e.g. AEF, APF, etc.) of an API provider domain\ + \ function. \nPossible values are:\n- AEF: API provider function is API Exposing\ + \ Function.\n- APF: API provider function is API Publishing Function.\n- AMF:\ + \ API Provider function is API Management Function.\n" + title: ApiProviderFuncRole ProblemDetails: description: Represents additional information and details on an error response. properties: @@ -545,8 +639,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: @@ -563,14 +657,13 @@ 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 @@ -579,7 +672,7 @@ components: 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]*$ + pattern: "^[A-Fa-f0-9]*$" title: suppFeat type: string title: ProblemDetails @@ -589,15 +682,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: @@ -607,13 +701,6 @@ components: 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]*$ + pattern: "^[A-Fa-f0-9]*$" title: suppFeat type: string - ApiProviderFuncRole_anyOf: - enum: - - AEF - - APF - - AMF - title: ApiProviderFuncRole_anyOf - type: string diff --git a/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/test/__init__.py b/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/test/__init__.py new file mode 100644 index 0000000..9853918 --- /dev/null +++ b/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/test/__init__.py @@ -0,0 +1,16 @@ +import logging + +import connexion +from flask_testing import TestCase + +from api_provider_management.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_API_Provider_Management_API/api_provider_management/test/test_default_controller.py b/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/test/test_default_controller.py new file mode 100644 index 0000000..2b12ff8 --- /dev/null +++ b/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/test/test_default_controller.py @@ -0,0 +1,68 @@ +import unittest + +from flask import json + +from api_provider_management.models.api_provider_enrolment_details import APIProviderEnrolmentDetails # noqa: E501 +from api_provider_management.models.problem_details import ProblemDetails # noqa: E501 +from api_provider_management.test import BaseTestCase + + +class TestDefaultController(BaseTestCase): + """DefaultController integration test stubs""" + + def test_registrations_post(self): + """Test case for registrations_post + + + """ + api_provider_enrolment_details = {"apiProvName":"apiProvName","regSec":"regSec","apiProvFuncs":[{"apiProvFuncId":"apiProvFuncId","apiProvFuncInfo":"apiProvFuncInfo","regInfo":{"apiProvCert":"apiProvCert","apiProvPubKey":"apiProvPubKey"},"apiProvFuncRole":"AEF"},{"apiProvFuncId":"apiProvFuncId","apiProvFuncInfo":"apiProvFuncInfo","regInfo":{"apiProvCert":"apiProvCert","apiProvPubKey":"apiProvPubKey"},"apiProvFuncRole":"AEF"}],"failReason":"failReason","apiProvDomId":"apiProvDomId","apiProvDomInfo":"apiProvDomInfo","suppFeat":"suppFeat"} + headers = { + 'Accept': 'application/json', + 'Content-Type': 'application/json', + } + response = self.client.open( + '/api-provider-management/v1/registrations', + method='POST', + headers=headers, + data=json.dumps(api_provider_enrolment_details), + content_type='application/json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_registrations_registration_id_delete(self): + """Test case for registrations_registration_id_delete + + + """ + headers = { + 'Accept': 'application/problem+json', + } + response = self.client.open( + '/api-provider-management/v1/registrations/{registration_id}'.format(registration_id='registration_id_example'), + method='DELETE', + headers=headers) + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_registrations_registration_id_put(self): + """Test case for registrations_registration_id_put + + + """ + api_provider_enrolment_details = {"apiProvName":"apiProvName","regSec":"regSec","apiProvFuncs":[{"apiProvFuncId":"apiProvFuncId","apiProvFuncInfo":"apiProvFuncInfo","regInfo":{"apiProvCert":"apiProvCert","apiProvPubKey":"apiProvPubKey"},"apiProvFuncRole":"AEF"},{"apiProvFuncId":"apiProvFuncId","apiProvFuncInfo":"apiProvFuncInfo","regInfo":{"apiProvCert":"apiProvCert","apiProvPubKey":"apiProvPubKey"},"apiProvFuncRole":"AEF"}],"failReason":"failReason","apiProvDomId":"apiProvDomId","apiProvDomInfo":"apiProvDomInfo","suppFeat":"suppFeat"} + headers = { + 'Accept': 'application/json', + 'Content-Type': 'application/json', + } + response = self.client.open( + '/api-provider-management/v1/registrations/{registration_id}'.format(registration_id='registration_id_example'), + method='PUT', + headers=headers, + data=json.dumps(api_provider_enrolment_details), + 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_API_Provider_Management_API/api_provider_management/test/test_individual_api_provider_enrolment_details_controller.py b/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/test/test_individual_api_provider_enrolment_details_controller.py new file mode 100644 index 0000000..463aa43 --- /dev/null +++ b/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/test/test_individual_api_provider_enrolment_details_controller.py @@ -0,0 +1,35 @@ +import unittest + +from flask import json + +from api_provider_management.models.api_provider_enrolment_details import APIProviderEnrolmentDetails # noqa: E501 +from api_provider_management.models.api_provider_enrolment_details_patch import APIProviderEnrolmentDetailsPatch # noqa: E501 +from api_provider_management.models.problem_details import ProblemDetails # noqa: E501 +from api_provider_management.test import BaseTestCase + + +class TestIndividualAPIProviderEnrolmentDetailsController(BaseTestCase): + """IndividualAPIProviderEnrolmentDetailsController integration test stubs""" + + def test_modify_ind_api_provider_enrolment(self): + """Test case for modify_ind_api_provider_enrolment + + + """ + api_provider_enrolment_details_patch = openapi_server.APIProviderEnrolmentDetailsPatch() + headers = { + 'Accept': 'application/json', + 'Content-Type': 'application/merge-patch+json', + } + response = self.client.open( + '/api-provider-management/v1/registrations/{registration_id}'.format(registration_id='registration_id_example'), + method='PATCH', + headers=headers, + data=json.dumps(api_provider_enrolment_details_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_API_Provider_Management_API/api_provider_management/typing_utils.py b/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/typing_utils.py index 0563f81..74e3c91 100644 --- a/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/typing_utils.py +++ b/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/typing_utils.py @@ -1,5 +1,3 @@ -# coding: utf-8 - import sys if sys.version_info < (3, 7): diff --git a/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/util.py b/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/util.py index 431a28c..f533c8d 100644 --- a/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/util.py +++ b/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/util.py @@ -1,7 +1,7 @@ import datetime -import six -import typing_utils +import typing +from api_provider_management import typing_utils def serialize_clean_camel_case(obj): res = obj.to_dict() @@ -51,7 +51,6 @@ def dict_to_camel_case(my_dict): return result - def _deserialize(data, klass): """Deserializes dict, list, str into an object. @@ -63,7 +62,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) @@ -92,7 +91,7 @@ def _deserialize_primitive(data, klass): try: value = klass(data) except UnicodeEncodeError: - value = six.u(data) + value = data except TypeError: value = data return value @@ -157,7 +156,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)): @@ -192,4 +191,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_API_Provider_Management_API/api_provider_management/wsgi copy.py b/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/wsgi copy.py new file mode 100644 index 0000000..6026b0f --- /dev/null +++ b/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/wsgi copy.py @@ -0,0 +1,4 @@ +from app import app + +if __name__ == "__main__": + app.run() diff --git a/services/TS29222_CAPIF_API_Provider_Management_API/git_push.sh b/services/TS29222_CAPIF_API_Provider_Management_API/git_push.sh index 9405f72..f53a75d 100644 --- a/services/TS29222_CAPIF_API_Provider_Management_API/git_push.sh +++ b/services/TS29222_CAPIF_API_Provider_Management_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_API_Provider_Management_API/setup.py b/services/TS29222_CAPIF_API_Provider_Management_API/setup.py index ac408ac..9eba8bd 100644 --- a/services/TS29222_CAPIF_API_Provider_Management_API/setup.py +++ b/services/TS29222_CAPIF_API_Provider_Management_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': ['api_provider_management=api_provider_management.__main__:main']}, long_description="""\ - API for API provider domain functions management. © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. + API for API provider domain functions management. © 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. """ ) diff --git a/services/TS29222_CAPIF_API_Provider_Management_API/test-requirements.txt b/services/TS29222_CAPIF_API_Provider_Management_API/test-requirements.txt index 202a684..58f51d6 100644 --- a/services/TS29222_CAPIF_API_Provider_Management_API/test-requirements.txt +++ b/services/TS29222_CAPIF_API_Provider_Management_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_API_Provider_Management_API/tox.ini b/services/TS29222_CAPIF_API_Provider_Management_API/tox.ini index 5dbd962..371a15e 100644 --- a/services/TS29222_CAPIF_API_Provider_Management_API/tox.ini +++ b/services/TS29222_CAPIF_API_Provider_Management_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=api_provider_management -- GitLab From e8c600f1740e82efa6a5a2d186d345f387c918a5 Mon Sep 17 00:00:00 2001 From: Pelayo Torres Date: Thu, 18 Jul 2024 13:15:06 +0200 Subject: [PATCH 04/15] REL18 discover service --- .../.openapi-generator/FILES | 37 +- .../.openapi-generator/VERSION | 2 +- .../README.md | 2 +- .../git_push.sh | 6 +- .../controllers/default_controller.py | 48 +- ..._controller_.py => security_controller.py} | 0 .../service_apis/encoder.py | 5 +- .../service_apis/models/__init__.py | 34 +- .../service_apis/models/aef_location.py | 119 + .../service_apis/models/aef_profile.py | 123 +- .../service_apis/models/api_status.py | 65 + .../models/{base_model_.py => base_model.py} | 9 +- .../service_apis/models/civic_address.py | 919 +++++++ .../service_apis/models/communication_type.py | 7 +- .../models/communication_type_any_of.py | 42 - .../service_apis/models/custom_operation.py | 29 +- .../service_apis/models/data_format.py | 7 +- .../service_apis/models/discovered_apis.py | 13 +- .../service_apis/models/ellipsoid_arc.py | 265 ++ .../service_apis/models/gad_shape.py | 65 + .../service_apis/models/geographic_area.py | 471 ++++ .../models/geographical_coordinates.py | 99 + .../models/interface_description.py | 99 +- .../service_apis/models/invalid_param.py | 13 +- .../service_apis/models/ip_addr_info.py | 91 + .../service_apis/models/ip_addr_range.py | 99 + .../service_apis/models/ipv4_address_range.py | 101 + .../{data_format_any_of.py => ipv6_addr1.py} | 19 +- .../service_apis/models/ipv6_address_range.py | 93 + .../local2d_point_uncertainty_ellipse.py | 191 ++ .../local3d_point_uncertainty_ellipsoid.py | 191 ++ .../service_apis/models/local_origin.py | 89 + .../service_apis/models/operation.py | 7 +- .../service_apis/models/operation_any_of.py | 45 - .../service_apis/models/point.py | 97 + .../service_apis/models/point_altitude.py | 131 + .../models/point_altitude_uncertainty.py | 259 ++ .../models/point_uncertainty_circle.py | 129 + .../models/point_uncertainty_ellipse.py | 161 ++ .../service_apis/models/polygon.py | 103 + .../service_apis/models/problem_details.py | 53 +- .../service_apis/models/protocol.py | 7 +- .../service_apis/models/published_api_path.py | 9 +- .../models/relative_cartesian_location.py | 123 + .../service_apis/models/resource.py | 75 +- .../service_apis/models/security_method.py | 7 +- .../models/security_method_any_of.py | 43 - .../models/service_api_description.py | 129 +- .../service_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 ++ .../service_apis/models/version.py | 21 +- .../service_apis/openapi/openapi.yaml | 2371 +++++++++++++++-- .../service_apis/test/__init__.py | 16 + .../test/test_default_controller.py | 51 + .../service_apis/typing_utils.py | 2 - .../service_apis/util.py | 20 +- .../setup.py | 4 +- .../test-requirements.txt | 6 +- .../tox.ini | 2 +- 62 files changed, 7128 insertions(+), 712 deletions(-) rename services/TS29222_CAPIF_Discover_Service_API/service_apis/controllers/{security_controller_.py => security_controller.py} (100%) create mode 100644 services/TS29222_CAPIF_Discover_Service_API/service_apis/models/aef_location.py create mode 100644 services/TS29222_CAPIF_Discover_Service_API/service_apis/models/api_status.py rename services/TS29222_CAPIF_Discover_Service_API/service_apis/models/{base_model_.py => base_model.py} (92%) create mode 100644 services/TS29222_CAPIF_Discover_Service_API/service_apis/models/civic_address.py delete mode 100644 services/TS29222_CAPIF_Discover_Service_API/service_apis/models/communication_type_any_of.py create mode 100644 services/TS29222_CAPIF_Discover_Service_API/service_apis/models/ellipsoid_arc.py create mode 100644 services/TS29222_CAPIF_Discover_Service_API/service_apis/models/gad_shape.py create mode 100644 services/TS29222_CAPIF_Discover_Service_API/service_apis/models/geographic_area.py create mode 100644 services/TS29222_CAPIF_Discover_Service_API/service_apis/models/geographical_coordinates.py create mode 100644 services/TS29222_CAPIF_Discover_Service_API/service_apis/models/ip_addr_info.py create mode 100644 services/TS29222_CAPIF_Discover_Service_API/service_apis/models/ip_addr_range.py create mode 100644 services/TS29222_CAPIF_Discover_Service_API/service_apis/models/ipv4_address_range.py rename services/TS29222_CAPIF_Discover_Service_API/service_apis/models/{data_format_any_of.py => ipv6_addr1.py} (58%) create mode 100644 services/TS29222_CAPIF_Discover_Service_API/service_apis/models/ipv6_address_range.py create mode 100644 services/TS29222_CAPIF_Discover_Service_API/service_apis/models/local2d_point_uncertainty_ellipse.py create mode 100644 services/TS29222_CAPIF_Discover_Service_API/service_apis/models/local3d_point_uncertainty_ellipsoid.py create mode 100644 services/TS29222_CAPIF_Discover_Service_API/service_apis/models/local_origin.py delete mode 100644 services/TS29222_CAPIF_Discover_Service_API/service_apis/models/operation_any_of.py create mode 100644 services/TS29222_CAPIF_Discover_Service_API/service_apis/models/point.py create mode 100644 services/TS29222_CAPIF_Discover_Service_API/service_apis/models/point_altitude.py create mode 100644 services/TS29222_CAPIF_Discover_Service_API/service_apis/models/point_altitude_uncertainty.py create mode 100644 services/TS29222_CAPIF_Discover_Service_API/service_apis/models/point_uncertainty_circle.py create mode 100644 services/TS29222_CAPIF_Discover_Service_API/service_apis/models/point_uncertainty_ellipse.py create mode 100644 services/TS29222_CAPIF_Discover_Service_API/service_apis/models/polygon.py create mode 100644 services/TS29222_CAPIF_Discover_Service_API/service_apis/models/relative_cartesian_location.py delete mode 100644 services/TS29222_CAPIF_Discover_Service_API/service_apis/models/security_method_any_of.py create mode 100644 services/TS29222_CAPIF_Discover_Service_API/service_apis/models/service_kpis.py rename services/TS29222_CAPIF_Discover_Service_API/service_apis/models/{protocol_any_of.py => supported_gad_shapes.py} (57%) create mode 100644 services/TS29222_CAPIF_Discover_Service_API/service_apis/models/uncertainty_ellipse.py create mode 100644 services/TS29222_CAPIF_Discover_Service_API/service_apis/models/uncertainty_ellipsoid.py create mode 100644 services/TS29222_CAPIF_Discover_Service_API/service_apis/test/__init__.py create mode 100644 services/TS29222_CAPIF_Discover_Service_API/service_apis/test/test_default_controller.py diff --git a/services/TS29222_CAPIF_Discover_Service_API/.openapi-generator/FILES b/services/TS29222_CAPIF_Discover_Service_API/.openapi-generator/FILES index e51407a..a2f706d 100644 --- a/services/TS29222_CAPIF_Discover_Service_API/.openapi-generator/FILES +++ b/services/TS29222_CAPIF_Discover_Service_API/.openapi-generator/FILES @@ -4,40 +4,61 @@ Dockerfile README.md git_push.sh -requirements.txt service_apis/__init__.py service_apis/__main__.py service_apis/controllers/__init__.py service_apis/controllers/default_controller.py -service_apis/controllers/security_controller_.py +service_apis/controllers/security_controller.py service_apis/encoder.py service_apis/models/__init__.py +service_apis/models/aef_location.py service_apis/models/aef_profile.py -service_apis/models/base_model_.py +service_apis/models/api_status.py +service_apis/models/base_model.py +service_apis/models/civic_address.py service_apis/models/communication_type.py -service_apis/models/communication_type_any_of.py service_apis/models/custom_operation.py service_apis/models/data_format.py -service_apis/models/data_format_any_of.py service_apis/models/discovered_apis.py +service_apis/models/ellipsoid_arc.py +service_apis/models/gad_shape.py +service_apis/models/geographic_area.py +service_apis/models/geographical_coordinates.py service_apis/models/interface_description.py service_apis/models/invalid_param.py +service_apis/models/ip_addr_info.py +service_apis/models/ip_addr_range.py +service_apis/models/ipv4_address_range.py +service_apis/models/ipv6_addr1.py +service_apis/models/ipv6_address_range.py +service_apis/models/local2d_point_uncertainty_ellipse.py +service_apis/models/local3d_point_uncertainty_ellipsoid.py +service_apis/models/local_origin.py service_apis/models/operation.py -service_apis/models/operation_any_of.py +service_apis/models/point.py +service_apis/models/point_altitude.py +service_apis/models/point_altitude_uncertainty.py +service_apis/models/point_uncertainty_circle.py +service_apis/models/point_uncertainty_ellipse.py +service_apis/models/polygon.py service_apis/models/problem_details.py service_apis/models/protocol.py -service_apis/models/protocol_any_of.py service_apis/models/published_api_path.py +service_apis/models/relative_cartesian_location.py service_apis/models/resource.py service_apis/models/security_method.py -service_apis/models/security_method_any_of.py service_apis/models/service_api_description.py +service_apis/models/service_kpis.py service_apis/models/shareable_information.py +service_apis/models/supported_gad_shapes.py +service_apis/models/uncertainty_ellipse.py +service_apis/models/uncertainty_ellipsoid.py service_apis/models/version.py service_apis/openapi/openapi.yaml service_apis/test/__init__.py service_apis/typing_utils.py service_apis/util.py +requirements.txt setup.py test-requirements.txt tox.ini diff --git a/services/TS29222_CAPIF_Discover_Service_API/.openapi-generator/VERSION b/services/TS29222_CAPIF_Discover_Service_API/.openapi-generator/VERSION index 4b448de..18bb418 100644 --- a/services/TS29222_CAPIF_Discover_Service_API/.openapi-generator/VERSION +++ b/services/TS29222_CAPIF_Discover_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_Discover_Service_API/README.md b/services/TS29222_CAPIF_Discover_Service_API/README.md index f522a7d..d27fa9b 100644 --- a/services/TS29222_CAPIF_Discover_Service_API/README.md +++ b/services/TS29222_CAPIF_Discover_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 service_apis +python3 -m openapi_server ``` and open your browser to here: diff --git a/services/TS29222_CAPIF_Discover_Service_API/git_push.sh b/services/TS29222_CAPIF_Discover_Service_API/git_push.sh index 9405f72..f53a75d 100644 --- a/services/TS29222_CAPIF_Discover_Service_API/git_push.sh +++ b/services/TS29222_CAPIF_Discover_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_Discover_Service_API/service_apis/controllers/default_controller.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/controllers/default_controller.py index 2c81a78..4e516f1 100644 --- a/services/TS29222_CAPIF_Discover_Service_API/service_apis/controllers/default_controller.py +++ b/services/TS29222_CAPIF_Discover_Service_API/service_apis/controllers/default_controller.py @@ -1,17 +1,32 @@ +import connexion +from typing import Dict +from typing import Tuple +from typing import Union + +from service_apis.models.aef_location import AefLocation # noqa: E501 +from service_apis.models.communication_type import CommunicationType # noqa: E501 +from service_apis.models.data_format import DataFormat # noqa: E501 +from service_apis.models.discovered_apis import DiscoveredAPIs # noqa: E501 +from service_apis.models.ip_addr_info import IpAddrInfo # noqa: E501 +from service_apis.models.problem_details import ProblemDetails # noqa: E501 +from service_apis.models.protocol import Protocol # noqa: E501 +from service_apis.models.service_kpis import ServiceKpis # noqa: E501 +from service_apis import util from ..core.discoveredapis import DiscoverApisOperations from flask import Response, request, current_app discover_apis = DiscoverApisOperations() -def all_service_apis_get(api_invoker_id, api_name=None, api_version=None, comm_type=None, protocol=None, aef_id=None, data_format=None, api_cat=None, supported_features=None, api_supported_features=None): # noqa: E501 + +def all_service_apis_get(api_invoker_id, api_name=None, api_version=None, comm_type=None, protocol=None, aef_id=None, data_format=None, api_cat=None, preferred_aef_loc=None, req_api_prov_name=None, supported_features=None, api_supported_features=None, ue_ip_addr=None, service_kpis=None): # noqa: E501 """all_service_apis_get - Discover published service APIs and retrieve a collection of APIs according to certain filter criteria. # noqa: E501 + Discover published service APIs and retrieve a collection of APIs according to certain filter criteria. # noqa: E501 - :param api_invoker_id: String identifying the API invoker assigned by the CAPIF core function. It also represents the CCF identifier in the CAPIF-6/6e interface. + :param api_invoker_id: String identifying the API invoker assigned by the CAPIF core function. It also represents the CCF identifier in the CAPIF-6/6e interface. :type api_invoker_id: str - :param api_name: API name, it is set as {apiName} part of the URI structure as defined in subclause 4.4 of 3GPP TS 29.501. + :param api_name: API name, it is set as {apiName} part of the URI structure as defined in clause 5.2.4 of 3GPP TS 29.122. :type api_name: str :param api_version: API major version the URI (e.g. v1). :type api_version: str @@ -25,14 +40,33 @@ def all_service_apis_get(api_invoker_id, api_name=None, api_version=None, comm_t :type data_format: dict | bytes :param api_cat: The service API category to which the service API belongs to. :type api_cat: str + :param preferred_aef_loc: The preferred AEF location. + :type preferred_aef_loc: dict | bytes + :param req_api_prov_name: Represents the required API provider name. + :type req_api_prov_name: str :param supported_features: Features supported by the NF consumer for the CAPIF Discover Service API. :type supported_features: str - :param api_supported_features: Features supported by the discovered service API indicated by api-name parameter. This may only be present if api-name query parameter is present. + :param api_supported_features: Features supported by the discovered service API indicated by api-name parameter. This may only be present if api-name query parameter is present. :type api_supported_features: str + :param ue_ip_addr: Represents the UE IP address information. + :type ue_ip_addr: dict | bytes + :param service_kpis: Contains iInformation about service characteristics provided by the targeted service API(s). + :type service_kpis: dict | bytes - :rtype: DiscoveredAPIs + :rtype: Union[DiscoveredAPIs, Tuple[DiscoveredAPIs, int], Tuple[DiscoveredAPIs, int, Dict[str, str]] """ - + if connexion.request.is_json: + comm_type = CommunicationType.from_dict(connexion.request.get_json()) # noqa: E501 + if connexion.request.is_json: + protocol = Protocol.from_dict(connexion.request.get_json()) # noqa: E501 + if connexion.request.is_json: + data_format = DataFormat.from_dict(connexion.request.get_json()) # noqa: E501 + if connexion.request.is_json: + preferred_aef_loc = AefLocation.from_dict(connexion.request.get_json()) # noqa: E501 + if connexion.request.is_json: + ue_ip_addr = IpAddrInfo.from_dict(connexion.request.get_json()) # noqa: E501 + if connexion.request.is_json: + service_kpis = ServiceKpis.from_dict(connexion.request.get_json()) # noqa: E501 current_app.logger.info("Discovering service apis") query_params = {"api_name":api_name, "api_version":api_version, "comm_type":comm_type, "protocol":protocol, "aef_id":aef_id, "data_format":data_format, diff --git a/services/TS29222_CAPIF_Discover_Service_API/service_apis/controllers/security_controller_.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/controllers/security_controller.py similarity index 100% rename from services/TS29222_CAPIF_Discover_Service_API/service_apis/controllers/security_controller_.py rename to services/TS29222_CAPIF_Discover_Service_API/service_apis/controllers/security_controller.py diff --git a/services/TS29222_CAPIF_Discover_Service_API/service_apis/encoder.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/encoder.py index 80bad8f..b85ffcc 100644 --- a/services/TS29222_CAPIF_Discover_Service_API/service_apis/encoder.py +++ b/services/TS29222_CAPIF_Discover_Service_API/service_apis/encoder.py @@ -1,7 +1,6 @@ from connexion.apps.flask_app import FlaskJSONEncoder -import six -from models.base_model_ import Model +from service_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_Discover_Service_API/service_apis/models/__init__.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/__init__.py index f340ca4..fcf63d5 100644 --- a/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/__init__.py +++ b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/__init__.py @@ -1,26 +1,44 @@ -# coding: utf-8 - # flake8: noqa -from __future__ import absolute_import # import models into model package +from service_apis.models.aef_location import AefLocation from service_apis.models.aef_profile import AefProfile +from service_apis.models.api_status import ApiStatus +from service_apis.models.civic_address import CivicAddress from service_apis.models.communication_type import CommunicationType -from service_apis.models.communication_type_any_of import CommunicationTypeAnyOf from service_apis.models.custom_operation import CustomOperation from service_apis.models.data_format import DataFormat -from service_apis.models.data_format_any_of import DataFormatAnyOf from service_apis.models.discovered_apis import DiscoveredAPIs +from service_apis.models.ellipsoid_arc import EllipsoidArc +from service_apis.models.gad_shape import GADShape +from service_apis.models.geographic_area import GeographicArea +from service_apis.models.geographical_coordinates import GeographicalCoordinates from service_apis.models.interface_description import InterfaceDescription from service_apis.models.invalid_param import InvalidParam +from service_apis.models.ip_addr_info import IpAddrInfo +from service_apis.models.ip_addr_range import IpAddrRange +from service_apis.models.ipv4_address_range import Ipv4AddressRange +from service_apis.models.ipv6_addr1 import Ipv6Addr1 +from service_apis.models.ipv6_address_range import Ipv6AddressRange +from service_apis.models.local2d_point_uncertainty_ellipse import Local2dPointUncertaintyEllipse +from service_apis.models.local3d_point_uncertainty_ellipsoid import Local3dPointUncertaintyEllipsoid +from service_apis.models.local_origin import LocalOrigin from service_apis.models.operation import Operation -from service_apis.models.operation_any_of import OperationAnyOf +from service_apis.models.point import Point +from service_apis.models.point_altitude import PointAltitude +from service_apis.models.point_altitude_uncertainty import PointAltitudeUncertainty +from service_apis.models.point_uncertainty_circle import PointUncertaintyCircle +from service_apis.models.point_uncertainty_ellipse import PointUncertaintyEllipse +from service_apis.models.polygon import Polygon from service_apis.models.problem_details import ProblemDetails from service_apis.models.protocol import Protocol -from service_apis.models.protocol_any_of import ProtocolAnyOf from service_apis.models.published_api_path import PublishedApiPath +from service_apis.models.relative_cartesian_location import RelativeCartesianLocation from service_apis.models.resource import Resource from service_apis.models.security_method import SecurityMethod -from service_apis.models.security_method_any_of import SecurityMethodAnyOf from service_apis.models.service_api_description import ServiceAPIDescription +from service_apis.models.service_kpis import ServiceKpis from service_apis.models.shareable_information import ShareableInformation +from service_apis.models.supported_gad_shapes import SupportedGADShapes +from service_apis.models.uncertainty_ellipse import UncertaintyEllipse +from service_apis.models.uncertainty_ellipsoid import UncertaintyEllipsoid from service_apis.models.version import Version diff --git a/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/aef_location.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/aef_location.py new file mode 100644 index 0000000..25fe56a --- /dev/null +++ b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/aef_location.py @@ -0,0 +1,119 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from service_apis.models.base_model import Model +from service_apis.models.civic_address import CivicAddress +from service_apis.models.geographic_area import GeographicArea +from service_apis import util + +from service_apis.models.civic_address import CivicAddress # noqa: E501 +from service_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_Discover_Service_API/service_apis/models/aef_profile.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/aef_profile.py index 03ed0fd..f79d8eb 100644 --- a/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/aef_profile.py +++ b/services/TS29222_CAPIF_Discover_Service_API/service_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 service_apis.models.base_model_ import Model +from service_apis.models.base_model import Model +from service_apis.models.aef_location import AefLocation from service_apis.models.data_format import DataFormat from service_apis.models.interface_description import InterfaceDescription +from service_apis.models.ip_addr_range import IpAddrRange from service_apis.models.protocol import Protocol from service_apis.models.security_method import SecurityMethod +from service_apis.models.service_kpis import ServiceKpis from service_apis.models.version import Version from service_apis import util +from service_apis.models.aef_location import AefLocation # noqa: E501 from service_apis.models.data_format import DataFormat # noqa: E501 from service_apis.models.interface_description import InterfaceDescription # noqa: E501 +from service_apis.models.ip_addr_range import IpAddrRange # noqa: E501 from service_apis.models.protocol import Protocol # noqa: E501 from service_apis.models.security_method import SecurityMethod # noqa: E501 +from service_apis.models.service_kpis import ServiceKpis # noqa: E501 from service_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_Discover_Service_API/service_apis/models/api_status.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/api_status.py new file mode 100644 index 0000000..8181506 --- /dev/null +++ b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/api_status.py @@ -0,0 +1,65 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from service_apis.models.base_model import Model +from service_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_Discover_Service_API/service_apis/models/base_model_.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/base_model.py similarity index 92% rename from services/TS29222_CAPIF_Discover_Service_API/service_apis/models/base_model_.py rename to services/TS29222_CAPIF_Discover_Service_API/service_apis/models/base_model.py index c9cf2ae..7951efc 100644 --- a/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/base_model_.py +++ b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/base_model.py @@ -1,6 +1,5 @@ import pprint -import six import typing from service_apis import util @@ -8,14 +7,14 @@ from service_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_Discover_Service_API/service_apis/models/civic_address.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/civic_address.py new file mode 100644 index 0000000..67c1a70 --- /dev/null +++ b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/civic_address.py @@ -0,0 +1,919 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from service_apis.models.base_model import Model +from service_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_Discover_Service_API/service_apis/models/communication_type.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/communication_type.py index 793701c..04b99a7 100644 --- a/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/communication_type.py +++ b/services/TS29222_CAPIF_Discover_Service_API/service_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 service_apis.models.base_model_ import Model -from service_apis.models.communication_type_any_of import CommunicationTypeAnyOf +from service_apis.models.base_model import Model from service_apis import util -from service_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_Discover_Service_API/service_apis/models/communication_type_any_of.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/communication_type_any_of.py deleted file mode 100644 index 72b1a53..0000000 --- a/services/TS29222_CAPIF_Discover_Service_API/service_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 service_apis.models.base_model_ import Model -from service_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_Discover_Service_API/service_apis/models/custom_operation.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/custom_operation.py index fdbb2cb..b98c3dc 100644 --- a/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/custom_operation.py +++ b/services/TS29222_CAPIF_Discover_Service_API/service_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 service_apis.models.base_model_ import Model +from service_apis.models.base_model import Model from service_apis.models.communication_type import CommunicationType from service_apis.models.operation import Operation from service_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_Discover_Service_API/service_apis/models/data_format.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/data_format.py index 7fcf161..875a953 100644 --- a/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/data_format.py +++ b/services/TS29222_CAPIF_Discover_Service_API/service_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 service_apis.models.base_model_ import Model -from service_apis.models.data_format_any_of import DataFormatAnyOf +from service_apis.models.base_model import Model from service_apis import util -from service_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_Discover_Service_API/service_apis/models/discovered_apis.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/discovered_apis.py index 10eca49..e780b70 100644 --- a/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/discovered_apis.py +++ b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/discovered_apis.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 service_apis.models.base_model_ import Model +from service_apis.models.base_model import Model from service_apis.models.service_api_description import ServiceAPIDescription from service_apis import util @@ -45,10 +42,10 @@ class DiscoveredAPIs(Model): return util.deserialize_model(dikt, cls) @property - def service_api_descriptions(self): + def service_api_descriptions(self) -> List[ServiceAPIDescription]: """Gets the service_api_descriptions of this DiscoveredAPIs. - Description of the service API as published by the service. Each service API description shall include AEF profiles matching the filter criteria. # noqa: E501 + Description of the service API as published by the service. Each service API description shall include AEF profiles matching the filter criteria. # noqa: E501 :return: The service_api_descriptions of this DiscoveredAPIs. :rtype: List[ServiceAPIDescription] @@ -56,10 +53,10 @@ class DiscoveredAPIs(Model): return self._service_api_descriptions @service_api_descriptions.setter - def service_api_descriptions(self, service_api_descriptions): + def service_api_descriptions(self, service_api_descriptions: List[ServiceAPIDescription]): """Sets the service_api_descriptions of this DiscoveredAPIs. - Description of the service API as published by the service. Each service API description shall include AEF profiles matching the filter criteria. # noqa: E501 + Description of the service API as published by the service. Each service API description shall include AEF profiles matching the filter criteria. # noqa: E501 :param service_api_descriptions: The service_api_descriptions of this DiscoveredAPIs. :type service_api_descriptions: List[ServiceAPIDescription] diff --git a/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/ellipsoid_arc.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/ellipsoid_arc.py new file mode 100644 index 0000000..9f6206b --- /dev/null +++ b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/ellipsoid_arc.py @@ -0,0 +1,265 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from service_apis.models.base_model import Model +from service_apis.models.gad_shape import GADShape +from service_apis.models.geographical_coordinates import GeographicalCoordinates +from service_apis.models.supported_gad_shapes import SupportedGADShapes +from service_apis import util + +from service_apis.models.gad_shape import GADShape # noqa: E501 +from service_apis.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 +from service_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_Discover_Service_API/service_apis/models/gad_shape.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/gad_shape.py new file mode 100644 index 0000000..21e0ee1 --- /dev/null +++ b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/gad_shape.py @@ -0,0 +1,65 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from service_apis.models.base_model import Model +from service_apis.models.supported_gad_shapes import SupportedGADShapes +from service_apis import util + +from service_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_Discover_Service_API/service_apis/models/geographic_area.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/geographic_area.py new file mode 100644 index 0000000..dafc996 --- /dev/null +++ b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/geographic_area.py @@ -0,0 +1,471 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from service_apis.models.base_model import Model +from service_apis.models.ellipsoid_arc import EllipsoidArc +from service_apis.models.geographical_coordinates import GeographicalCoordinates +from service_apis.models.point import Point +from service_apis.models.point_altitude import PointAltitude +from service_apis.models.point_altitude_uncertainty import PointAltitudeUncertainty +from service_apis.models.point_uncertainty_circle import PointUncertaintyCircle +from service_apis.models.point_uncertainty_ellipse import PointUncertaintyEllipse +from service_apis.models.polygon import Polygon +from service_apis.models.supported_gad_shapes import SupportedGADShapes +from service_apis.models.uncertainty_ellipse import UncertaintyEllipse +from service_apis import util + +from service_apis.models.ellipsoid_arc import EllipsoidArc # noqa: E501 +from service_apis.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 +from service_apis.models.point import Point # noqa: E501 +from service_apis.models.point_altitude import PointAltitude # noqa: E501 +from service_apis.models.point_altitude_uncertainty import PointAltitudeUncertainty # noqa: E501 +from service_apis.models.point_uncertainty_circle import PointUncertaintyCircle # noqa: E501 +from service_apis.models.point_uncertainty_ellipse import PointUncertaintyEllipse # noqa: E501 +from service_apis.models.polygon import Polygon # noqa: E501 +from service_apis.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 +from service_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_Discover_Service_API/service_apis/models/geographical_coordinates.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/geographical_coordinates.py new file mode 100644 index 0000000..4eae80d --- /dev/null +++ b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/geographical_coordinates.py @@ -0,0 +1,99 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from service_apis.models.base_model import Model +from service_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_Discover_Service_API/service_apis/models/interface_description.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/interface_description.py index a51d990..69348ca 100644 --- a/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/interface_description.py +++ b/services/TS29222_CAPIF_Discover_Service_API/service_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 service_apis.models.base_model_ import Model +from service_apis.models.base_model import Model from service_apis.models.security_method import SecurityMethod +import re from service_apis import util from service_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_Discover_Service_API/service_apis/models/invalid_param.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/invalid_param.py index 7e3d8d7..67c79e3 100644 --- a/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/invalid_param.py +++ b/services/TS29222_CAPIF_Discover_Service_API/service_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 service_apis.models.base_model_ import Model +from service_apis.models.base_model import Model from service_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_Discover_Service_API/service_apis/models/ip_addr_info.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/ip_addr_info.py new file mode 100644 index 0000000..3cb739c --- /dev/null +++ b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/ip_addr_info.py @@ -0,0 +1,91 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from service_apis.models.base_model import Model +from service_apis import util + + +class IpAddrInfo(Model): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + """ + + def __init__(self, ipv4_addr=None, ipv6_addr=None): # noqa: E501 + """IpAddrInfo - a model defined in OpenAPI + + :param ipv4_addr: The ipv4_addr of this IpAddrInfo. # noqa: E501 + :type ipv4_addr: str + :param ipv6_addr: The ipv6_addr of this IpAddrInfo. # noqa: E501 + :type ipv6_addr: str + """ + self.openapi_types = { + 'ipv4_addr': str, + 'ipv6_addr': str + } + + self.attribute_map = { + 'ipv4_addr': 'ipv4Addr', + 'ipv6_addr': 'ipv6Addr' + } + + self._ipv4_addr = ipv4_addr + self._ipv6_addr = ipv6_addr + + @classmethod + def from_dict(cls, dikt) -> 'IpAddrInfo': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The IpAddrInfo of this IpAddrInfo. # noqa: E501 + :rtype: IpAddrInfo + """ + return util.deserialize_model(dikt, cls) + + @property + def ipv4_addr(self) -> str: + """Gets the ipv4_addr of this IpAddrInfo. + + 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 IpAddrInfo. + :rtype: str + """ + return self._ipv4_addr + + @ipv4_addr.setter + def ipv4_addr(self, ipv4_addr: str): + """Sets the ipv4_addr of this IpAddrInfo. + + 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 IpAddrInfo. + :type ipv4_addr: str + """ + + self._ipv4_addr = ipv4_addr + + @property + def ipv6_addr(self) -> str: + """Gets the ipv6_addr of this IpAddrInfo. + + 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 IpAddrInfo. + :rtype: str + """ + return self._ipv6_addr + + @ipv6_addr.setter + def ipv6_addr(self, ipv6_addr: str): + """Sets the ipv6_addr of this IpAddrInfo. + + 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 IpAddrInfo. + :type ipv6_addr: str + """ + + self._ipv6_addr = ipv6_addr diff --git a/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/ip_addr_range.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/ip_addr_range.py new file mode 100644 index 0000000..4b86f96 --- /dev/null +++ b/services/TS29222_CAPIF_Discover_Service_API/service_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 service_apis.models.base_model import Model +from service_apis.models.ipv4_address_range import Ipv4AddressRange +from service_apis.models.ipv6_address_range import Ipv6AddressRange +from service_apis import util + +from service_apis.models.ipv4_address_range import Ipv4AddressRange # noqa: E501 +from service_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_Discover_Service_API/service_apis/models/ipv4_address_range.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/ipv4_address_range.py new file mode 100644 index 0000000..17760c2 --- /dev/null +++ b/services/TS29222_CAPIF_Discover_Service_API/service_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 service_apis.models.base_model import Model +import re +from service_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_Discover_Service_API/service_apis/models/data_format_any_of.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/ipv6_addr1.py similarity index 58% rename from services/TS29222_CAPIF_Discover_Service_API/service_apis/models/data_format_any_of.py rename to services/TS29222_CAPIF_Discover_Service_API/service_apis/models/ipv6_addr1.py index 1c78b7c..d8164b5 100644 --- a/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/data_format_any_of.py +++ b/services/TS29222_CAPIF_Discover_Service_API/service_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 service_apis.models.base_model_ import Model +from service_apis.models.base_model import Model from service_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_Discover_Service_API/service_apis/models/ipv6_address_range.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/ipv6_address_range.py new file mode 100644 index 0000000..e9fc81e --- /dev/null +++ b/services/TS29222_CAPIF_Discover_Service_API/service_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 service_apis.models.base_model import Model +from service_apis.models.ipv6_addr1 import Ipv6Addr1 +from service_apis import util + +from service_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_Discover_Service_API/service_apis/models/local2d_point_uncertainty_ellipse.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/local2d_point_uncertainty_ellipse.py new file mode 100644 index 0000000..2346439 --- /dev/null +++ b/services/TS29222_CAPIF_Discover_Service_API/service_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 service_apis.models.base_model import Model +from service_apis.models.gad_shape import GADShape +from service_apis.models.local_origin import LocalOrigin +from service_apis.models.relative_cartesian_location import RelativeCartesianLocation +from service_apis.models.supported_gad_shapes import SupportedGADShapes +from service_apis.models.uncertainty_ellipse import UncertaintyEllipse +from service_apis import util + +from service_apis.models.gad_shape import GADShape # noqa: E501 +from service_apis.models.local_origin import LocalOrigin # noqa: E501 +from service_apis.models.relative_cartesian_location import RelativeCartesianLocation # noqa: E501 +from service_apis.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 +from service_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_Discover_Service_API/service_apis/models/local3d_point_uncertainty_ellipsoid.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/local3d_point_uncertainty_ellipsoid.py new file mode 100644 index 0000000..6055068 --- /dev/null +++ b/services/TS29222_CAPIF_Discover_Service_API/service_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 service_apis.models.base_model import Model +from service_apis.models.gad_shape import GADShape +from service_apis.models.local_origin import LocalOrigin +from service_apis.models.relative_cartesian_location import RelativeCartesianLocation +from service_apis.models.supported_gad_shapes import SupportedGADShapes +from service_apis.models.uncertainty_ellipsoid import UncertaintyEllipsoid +from service_apis import util + +from service_apis.models.gad_shape import GADShape # noqa: E501 +from service_apis.models.local_origin import LocalOrigin # noqa: E501 +from service_apis.models.relative_cartesian_location import RelativeCartesianLocation # noqa: E501 +from service_apis.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 +from service_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_Discover_Service_API/service_apis/models/local_origin.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/local_origin.py new file mode 100644 index 0000000..92fc9d5 --- /dev/null +++ b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/local_origin.py @@ -0,0 +1,89 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from service_apis.models.base_model import Model +from service_apis.models.geographical_coordinates import GeographicalCoordinates +from service_apis import util + +from service_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_Discover_Service_API/service_apis/models/operation.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/operation.py index 96d3ead..6e0b387 100644 --- a/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/operation.py +++ b/services/TS29222_CAPIF_Discover_Service_API/service_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 service_apis.models.base_model_ import Model -from service_apis.models.operation_any_of import OperationAnyOf +from service_apis.models.base_model import Model from service_apis import util -from service_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_Discover_Service_API/service_apis/models/operation_any_of.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/operation_any_of.py deleted file mode 100644 index d69836b..0000000 --- a/services/TS29222_CAPIF_Discover_Service_API/service_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 service_apis.models.base_model_ import Model -from service_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_Discover_Service_API/service_apis/models/point.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/point.py new file mode 100644 index 0000000..a258d33 --- /dev/null +++ b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/point.py @@ -0,0 +1,97 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from service_apis.models.base_model import Model +from service_apis.models.gad_shape import GADShape +from service_apis.models.geographical_coordinates import GeographicalCoordinates +from service_apis.models.supported_gad_shapes import SupportedGADShapes +from service_apis import util + +from service_apis.models.gad_shape import GADShape # noqa: E501 +from service_apis.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 +from service_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_Discover_Service_API/service_apis/models/point_altitude.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/point_altitude.py new file mode 100644 index 0000000..3245960 --- /dev/null +++ b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/point_altitude.py @@ -0,0 +1,131 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from service_apis.models.base_model import Model +from service_apis.models.gad_shape import GADShape +from service_apis.models.geographical_coordinates import GeographicalCoordinates +from service_apis.models.supported_gad_shapes import SupportedGADShapes +from service_apis import util + +from service_apis.models.gad_shape import GADShape # noqa: E501 +from service_apis.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 +from service_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_Discover_Service_API/service_apis/models/point_altitude_uncertainty.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/point_altitude_uncertainty.py new file mode 100644 index 0000000..aadbd51 --- /dev/null +++ b/services/TS29222_CAPIF_Discover_Service_API/service_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 service_apis.models.base_model import Model +from service_apis.models.gad_shape import GADShape +from service_apis.models.geographical_coordinates import GeographicalCoordinates +from service_apis.models.supported_gad_shapes import SupportedGADShapes +from service_apis.models.uncertainty_ellipse import UncertaintyEllipse +from service_apis import util + +from service_apis.models.gad_shape import GADShape # noqa: E501 +from service_apis.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 +from service_apis.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 +from service_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_Discover_Service_API/service_apis/models/point_uncertainty_circle.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/point_uncertainty_circle.py new file mode 100644 index 0000000..271b19b --- /dev/null +++ b/services/TS29222_CAPIF_Discover_Service_API/service_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 service_apis.models.base_model import Model +from service_apis.models.gad_shape import GADShape +from service_apis.models.geographical_coordinates import GeographicalCoordinates +from service_apis.models.supported_gad_shapes import SupportedGADShapes +from service_apis import util + +from service_apis.models.gad_shape import GADShape # noqa: E501 +from service_apis.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 +from service_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_Discover_Service_API/service_apis/models/point_uncertainty_ellipse.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/point_uncertainty_ellipse.py new file mode 100644 index 0000000..7e7499c --- /dev/null +++ b/services/TS29222_CAPIF_Discover_Service_API/service_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 service_apis.models.base_model import Model +from service_apis.models.gad_shape import GADShape +from service_apis.models.geographical_coordinates import GeographicalCoordinates +from service_apis.models.supported_gad_shapes import SupportedGADShapes +from service_apis.models.uncertainty_ellipse import UncertaintyEllipse +from service_apis import util + +from service_apis.models.gad_shape import GADShape # noqa: E501 +from service_apis.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 +from service_apis.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 +from service_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_Discover_Service_API/service_apis/models/polygon.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/polygon.py new file mode 100644 index 0000000..421b7c3 --- /dev/null +++ b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/polygon.py @@ -0,0 +1,103 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from service_apis.models.base_model import Model +from service_apis.models.gad_shape import GADShape +from service_apis.models.geographical_coordinates import GeographicalCoordinates +from service_apis.models.supported_gad_shapes import SupportedGADShapes +from service_apis import util + +from service_apis.models.gad_shape import GADShape # noqa: E501 +from service_apis.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 +from service_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_Discover_Service_API/service_apis/models/problem_details.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/problem_details.py index c9e028d..f4454d1 100644 --- a/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/problem_details.py +++ b/services/TS29222_CAPIF_Discover_Service_API/service_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 service_apis.models.base_model_ import Model +from service_apis.models.base_model import Model from service_apis.models.invalid_param import InvalidParam import re from service_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_Discover_Service_API/service_apis/models/protocol.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/protocol.py index 311b8e8..6cc058a 100644 --- a/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/protocol.py +++ b/services/TS29222_CAPIF_Discover_Service_API/service_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 service_apis.models.base_model_ import Model -from service_apis.models.protocol_any_of import ProtocolAnyOf +from service_apis.models.base_model import Model from service_apis import util -from service_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_Discover_Service_API/service_apis/models/published_api_path.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/published_api_path.py index 959ae6e..a821064 100644 --- a/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/published_api_path.py +++ b/services/TS29222_CAPIF_Discover_Service_API/service_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 service_apis.models.base_model_ import Model +from service_apis.models.base_model import Model from service_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_Discover_Service_API/service_apis/models/relative_cartesian_location.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/relative_cartesian_location.py new file mode 100644 index 0000000..ee5b860 --- /dev/null +++ b/services/TS29222_CAPIF_Discover_Service_API/service_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 service_apis.models.base_model import Model +from service_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_Discover_Service_API/service_apis/models/resource.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/resource.py index c78abb0..f530875 100644 --- a/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/resource.py +++ b/services/TS29222_CAPIF_Discover_Service_API/service_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 service_apis.models.base_model_ import Model +from service_apis.models.base_model import Model from service_apis.models.communication_type import CommunicationType +from service_apis.models.custom_operation import CustomOperation from service_apis.models.operation import Operation from service_apis import util from service_apis.models.communication_type import CommunicationType # noqa: E501 +from service_apis.models.custom_operation import CustomOperation # noqa: E501 from service_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_Discover_Service_API/service_apis/models/security_method.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/security_method.py index aa5a6a8..3215dda 100644 --- a/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/security_method.py +++ b/services/TS29222_CAPIF_Discover_Service_API/service_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 service_apis.models.base_model_ import Model -from service_apis.models.security_method_any_of import SecurityMethodAnyOf +from service_apis.models.base_model import Model from service_apis import util -from service_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_Discover_Service_API/service_apis/models/security_method_any_of.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/security_method_any_of.py deleted file mode 100644 index 15ad9ef..0000000 --- a/services/TS29222_CAPIF_Discover_Service_API/service_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 service_apis.models.base_model_ import Model -from service_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_Discover_Service_API/service_apis/models/service_api_description.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/service_api_description.py index 2941555..6e68ec4 100644 --- a/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/service_api_description.py +++ b/services/TS29222_CAPIF_Discover_Service_API/service_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 service_apis.models.base_model_ import Model +from service_apis.models.base_model import Model from service_apis.models.aef_profile import AefProfile +from service_apis.models.api_status import ApiStatus from service_apis.models.published_api_path import PublishedApiPath from service_apis.models.shareable_information import ShareableInformation import re from service_apis import util from service_apis.models.aef_profile import AefProfile # noqa: E501 +from service_apis.models.api_status import ApiStatus # noqa: E501 from service_apis.models.published_api_path import PublishedApiPath # noqa: E501 from service_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_Discover_Service_API/service_apis/models/service_kpis.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/service_kpis.py new file mode 100644 index 0000000..78b52ec --- /dev/null +++ b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/service_kpis.py @@ -0,0 +1,277 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from service_apis.models.base_model import Model +import re +from service_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_Discover_Service_API/service_apis/models/shareable_information.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/shareable_information.py index ed04a4b..8d21330 100644 --- a/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/shareable_information.py +++ b/services/TS29222_CAPIF_Discover_Service_API/service_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 service_apis.models.base_model_ import Model +from service_apis.models.base_model import Model from service_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_Discover_Service_API/service_apis/models/protocol_any_of.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/supported_gad_shapes.py similarity index 57% rename from services/TS29222_CAPIF_Discover_Service_API/service_apis/models/protocol_any_of.py rename to services/TS29222_CAPIF_Discover_Service_API/service_apis/models/supported_gad_shapes.py index a75ee92..0f03547 100644 --- a/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/protocol_any_of.py +++ b/services/TS29222_CAPIF_Discover_Service_API/service_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 service_apis.models.base_model_ import Model +from service_apis.models.base_model import Model from service_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_Discover_Service_API/service_apis/models/uncertainty_ellipse.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/uncertainty_ellipse.py new file mode 100644 index 0000000..0367269 --- /dev/null +++ b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/uncertainty_ellipse.py @@ -0,0 +1,133 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from service_apis.models.base_model import Model +from service_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_Discover_Service_API/service_apis/models/uncertainty_ellipsoid.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/uncertainty_ellipsoid.py new file mode 100644 index 0000000..6e598a1 --- /dev/null +++ b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/uncertainty_ellipsoid.py @@ -0,0 +1,165 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from service_apis.models.base_model import Model +from service_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_Discover_Service_API/service_apis/models/version.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/version.py index 8f395e7..e0a21cc 100644 --- a/services/TS29222_CAPIF_Discover_Service_API/service_apis/models/version.py +++ b/services/TS29222_CAPIF_Discover_Service_API/service_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 service_apis.models.base_model_ import Model +from service_apis.models.base_model import Model from service_apis.models.custom_operation import CustomOperation from service_apis.models.resource import Resource from service_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_Discover_Service_API/service_apis/openapi/openapi.yaml b/services/TS29222_CAPIF_Discover_Service_API/service_apis/openapi/openapi.yaml index 748f74a..f1304c2 100644 --- a/services/TS29222_CAPIF_Discover_Service_API/service_apis/openapi/openapi.yaml +++ b/services/TS29222_CAPIF_Discover_Service_API/service_apis/openapi/openapi.yaml @@ -1,29 +1,27 @@ openapi: 3.0.0 info: - description: | - API for discovering service APIs. - © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). - All rights reserved. + description: "API for discovering service APIs. \n© 2023, 3GPP Organizational Partners\ + \ (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). \nAll rights reserved.\n" title: CAPIF_Discover_Service_API - version: 1.2.0-alpha.1 + version: 1.3.0-alpha.2 externalDocs: - description: 3GPP TS 29.222 V17.1.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.4.0 Common API Framework for 3GPP Northbound APIs + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.222/ servers: -- url: '{apiRoot}/service-apis/v1' +- url: "{apiRoot}/service-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: /allServiceAPIs: get: - description: Discover published service APIs and retrieve a collection of APIs - according to certain filter criteria. + description: | + Discover published service APIs and retrieve a collection of APIs according to certain filter criteria. operationId: all_service_apis_get parameters: - - description: String identifying the API invoker assigned by the CAPIF core - function. It also represents the CCF identifier in the CAPIF-6/6e interface. + - description: | + String identifying the API invoker assigned by the CAPIF core function. It also represents the CCF identifier in the CAPIF-6/6e interface. explode: true in: query name: api-invoker-id @@ -31,8 +29,8 @@ paths: schema: type: string style: form - - 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. explode: true in: query name: api-name @@ -89,6 +87,22 @@ paths: schema: type: string style: form + - content: + application/json: + schema: + $ref: '#/components/schemas/AefLocation' + description: The preferred AEF location. + in: query + name: preferred-aef-loc + required: false + - description: Represents the required API provider name. + explode: true + in: query + name: req-api-prov-name + required: false + schema: + type: string + style: form - description: Features supported by the NF consumer for the CAPIF Discover Service API. explode: true @@ -98,9 +112,8 @@ paths: schema: $ref: '#/components/schemas/SupportedFeatures' style: form - - description: Features supported by the discovered service API indicated by - api-name parameter. This may only be present if api-name query parameter - is present. + - description: | + Features supported by the discovered service API indicated by api-name parameter. This may only be present if api-name query parameter is present. explode: true in: query name: api-supported-features @@ -108,14 +121,31 @@ paths: schema: $ref: '#/components/schemas/SupportedFeatures' style: form + - description: Represents the UE IP address information. + explode: true + in: query + name: ue-ip-addr + required: false + schema: + $ref: '#/components/schemas/IpAddrInfo' + style: form + - description: | + Contains iInformation about service characteristics provided by the targeted service API(s). + explode: true + in: query + name: service-kpis + required: false + schema: + $ref: '#/components/schemas/ServiceKpis' + style: form responses: "200": content: application/json: schema: $ref: '#/components/schemas/DiscoveredAPIs' - description: The response body contains the result of the search over the - list of registered APIs. + description: | + The response body contains the result of the search over the list of registered APIs. "307": description: Temporary Redirect headers: @@ -190,10 +220,83 @@ paths: description: Generic Error x-openapi-router-controller: service_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 + "414": + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + description: URI Too Long + "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 schemas: DiscoveredAPIs: - description: Represents a list of APIs currently registered in the CAPIF core - function and satisfying a number of filter criteria provided by the API consumer. + description: | + Represents a list of APIs currently registered in the CAPIF core function and satisfying a number of filter criteria provided by the API consumer. example: serviceAPIDescriptions: - serviceAPICategory: serviceAPICategory @@ -204,20 +307,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 @@ -225,19 +359,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 @@ -246,6 +396,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 @@ -253,46 +417,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 @@ -300,19 +562,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 @@ -321,6 +599,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 @@ -328,37 +620,109 @@ 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 @@ -371,20 +735,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 @@ -392,19 +787,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 @@ -413,6 +824,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 @@ -420,46 +845,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 @@ -467,19 +990,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 @@ -488,6 +1027,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 @@ -495,46 +1048,117 @@ 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: serviceAPIDescriptions: - description: Description of the service API as published by the service. - Each service API description shall include AEF profiles matching the filter - criteria. + description: | + Description of the service API as published by the service. Each service API description shall include AEF profiles matching the filter criteria. items: $ref: '#/components/schemas/ServiceAPIDescription' minItems: 1 @@ -542,49 +1166,193 @@ components: type: array title: DiscoveredAPIs type: object + IpAddrInfo: + description: Represents the UE IP address information. + nullable: true + oneOf: [] + properties: + ipv4Addr: + 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. + title: Ipv6Addr + type: string + type: object 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 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 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 + 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 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 + 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 ProblemDetails: description: Represents additional information and details on an error response. properties: @@ -593,8 +1361,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: @@ -611,33 +1379,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 @@ -647,15 +1404,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: @@ -674,20 +1432,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 @@ -695,19 +1484,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 @@ -716,6 +1521,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 @@ -723,46 +1542,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 @@ -770,19 +1687,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 @@ -791,6 +1724,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 @@ -798,59 +1745,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 @@ -861,40 +1878,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: @@ -903,22 +1901,71 @@ 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 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 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 @@ -926,19 +1973,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 @@ -947,6 +2010,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 @@ -954,42 +2031,111 @@ 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 - oneOf: - - required: - - domainName - - required: - - interfaceDescriptions + serviceKpis: + avalMem: avalMem + avalStor: avalStor + avalComp: avalComp + conBand: 0 + maxRestime: 0 + availability: 0 + maxReqRate: 0 + avalGraComp: avalGraComp + nullable: true + oneOf: [] properties: aefId: description: Identifier of the API exposing function @@ -1024,6 +2170,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 @@ -1037,6 +2189,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 @@ -1044,19 +2210,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 @@ -1094,6 +2276,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 @@ -1106,19 +2302,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 @@ -1134,35 +2337,26 @@ components: - uri title: Resource type: object - Operation: - anyOf: - - $ref: '#/components/schemas/Operation_anyOf' - - 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 - title: Operation CustomOperation: 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 @@ -1177,14 +2371,36 @@ components: - custOpName title: CustomOperation type: object + 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: "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 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 InterfaceDescription: description: Represents the description of an API's interface. @@ -1193,34 +2409,45 @@ components: securityMethods: - null - null + fqdn: fqdn port: 5248 + apiPrefix: apiPrefix ipv4Addr: ipv4Addr - oneOf: - - required: - - ipv4Addr - - required: - - ipv6Addr + nullable: true + oneOf: [] 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 @@ -1228,9 +2455,41 @@ components: type: array title: InterfaceDescription 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 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 @@ -1238,14 +2497,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 @@ -1273,58 +2531,615 @@ components: type: array title: PublishedApiPath type: object - DateTime: - description: string with format "date-time" as defined in OpenAPI. - format: date-time - title: DateTime - 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 + 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 + DateTime: + description: string with format "date-time" as defined in OpenAPI. + format: date-time + title: DateTime + 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 - CommunicationType_anyOf: - enum: - - REQUEST_RESPONSE - - SUBSCRIBE_NOTIFY - title: CommunicationType_anyOf - type: string - Protocol_anyOf: - enum: - - HTTP_1_1 - - HTTP_2 - title: Protocol_anyOf - type: string - DataFormat_anyOf: - enum: - - JSON - title: DataFormat_anyOf - type: string - Operation_anyOf: - enum: - - GET - - POST - - PUT - - PATCH - - DELETE - title: Operation_anyOf + 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 - SecurityMethod_anyOf: - enum: - - PSK - - PKI - - OAUTH - title: SecurityMethod_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_Discover_Service_API/service_apis/test/__init__.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/test/__init__.py new file mode 100644 index 0000000..b0510f7 --- /dev/null +++ b/services/TS29222_CAPIF_Discover_Service_API/service_apis/test/__init__.py @@ -0,0 +1,16 @@ +import logging + +import connexion +from flask_testing import TestCase + +from service_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_Discover_Service_API/service_apis/test/test_default_controller.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/test/test_default_controller.py new file mode 100644 index 0000000..5a97a4c --- /dev/null +++ b/services/TS29222_CAPIF_Discover_Service_API/service_apis/test/test_default_controller.py @@ -0,0 +1,51 @@ +import unittest + +from flask import json + +from service_apis.models.aef_location import AefLocation # noqa: E501 +from service_apis.models.communication_type import CommunicationType # noqa: E501 +from service_apis.models.data_format import DataFormat # noqa: E501 +from service_apis.models.discovered_apis import DiscoveredAPIs # noqa: E501 +from service_apis.models.ip_addr_info import IpAddrInfo # noqa: E501 +from service_apis.models.problem_details import ProblemDetails # noqa: E501 +from service_apis.models.protocol import Protocol # noqa: E501 +from service_apis.models.service_kpis import ServiceKpis # noqa: E501 +from service_apis.test import BaseTestCase + + +class TestDefaultController(BaseTestCase): + """DefaultController integration test stubs""" + + def test_all_service_apis_get(self): + """Test case for all_service_apis_get + + + """ + query_string = [('api-invoker-id', 'api_invoker_id_example'), + ('api-name', 'api_name_example'), + ('api-version', 'api_version_example'), + ('comm-type', openapi_server.CommunicationType()), + ('protocol', openapi_server.Protocol()), + ('aef-id', 'aef_id_example'), + ('data-format', openapi_server.DataFormat()), + ('api-cat', 'api_cat_example'), + ('preferred-aef-loc', openapi_server.AefLocation()), + ('req-api-prov-name', 'req_api_prov_name_example'), + ('supported-features', 'supported_features_example'), + ('api-supported-features', 'api_supported_features_example'), + ('ue-ip-addr', openapi_server.IpAddrInfo()), + ('service-kpis', openapi_server.ServiceKpis())] + headers = { + 'Accept': 'application/json', + } + response = self.client.open( + '/service-apis/v1/allServiceAPIs', + method='GET', + headers=headers, + query_string=query_string) + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + +if __name__ == '__main__': + unittest.main() diff --git a/services/TS29222_CAPIF_Discover_Service_API/service_apis/typing_utils.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/typing_utils.py index 0563f81..74e3c91 100644 --- a/services/TS29222_CAPIF_Discover_Service_API/service_apis/typing_utils.py +++ b/services/TS29222_CAPIF_Discover_Service_API/service_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_Discover_Service_API/service_apis/util.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/util.py index cfa4391..88a422c 100644 --- a/services/TS29222_CAPIF_Discover_Service_API/service_apis/util.py +++ b/services/TS29222_CAPIF_Discover_Service_API/service_apis/util.py @@ -1,7 +1,7 @@ import datetime -import six -import typing_utils +import typing +from service_apis import typing_utils def serialize_clean_camel_case(obj): @@ -57,7 +57,6 @@ def dict_to_camel_case(my_dict): return result - def _deserialize(data, klass): """Deserializes dict, list, str into an object. @@ -66,11 +65,10 @@ def _deserialize(data, klass): :return: object. """ - 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) @@ -99,7 +97,7 @@ def _deserialize_primitive(data, klass): try: value = klass(data) except UnicodeEncodeError: - value = six.u(data) + value = data except TypeError: value = data return value @@ -121,10 +119,9 @@ def deserialize_date(string): :return: date. :rtype: date """ - if string is None: return None - + try: from dateutil.parser import parse return parse(string).date() @@ -142,10 +139,9 @@ def deserialize_datetime(string): :return: datetime. :rtype: datetime """ - if string is None: return None - + try: from dateutil.parser import parse return parse(string) @@ -166,7 +162,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)): @@ -201,4 +197,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_Discover_Service_API/setup.py b/services/TS29222_CAPIF_Discover_Service_API/setup.py index 53dcb25..a2de7b1 100644 --- a/services/TS29222_CAPIF_Discover_Service_API/setup.py +++ b/services/TS29222_CAPIF_Discover_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': ['service_apis=service_apis.__main__:main']}, long_description="""\ - API for discovering service APIs. © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. + API for discovering service APIs. © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. """ ) diff --git a/services/TS29222_CAPIF_Discover_Service_API/test-requirements.txt b/services/TS29222_CAPIF_Discover_Service_API/test-requirements.txt index 202a684..6952c4e 100644 --- a/services/TS29222_CAPIF_Discover_Service_API/test-requirements.txt +++ b/services/TS29222_CAPIF_Discover_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_Discover_Service_API/tox.ini b/services/TS29222_CAPIF_Discover_Service_API/tox.ini index bfe39a4..70e1a90 100644 --- a/services/TS29222_CAPIF_Discover_Service_API/tox.ini +++ b/services/TS29222_CAPIF_Discover_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=service_apis -- GitLab From 70b60a5779658370dd88dd7a44f0095eea990331 Mon Sep 17 00:00:00 2001 From: Pelayo Torres Date: Fri, 19 Jul 2024 09:46:58 +0200 Subject: [PATCH 05/15] 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 From 54f59a84fe74fe0b773bcd12d6031eaa314a1e29 Mon Sep 17 00:00:00 2001 From: Pelayo Torres Date: Fri, 19 Jul 2024 12:19:08 +0200 Subject: [PATCH 06/15] REL18 events service --- .../.openapi-generator/FILES | 46 +- .../.openapi-generator/VERSION | 2 +- services/TS29222_CAPIF_Events_API/README.md | 2 +- .../controllers/default_controller.py | 52 +- ..._controller_.py => security_controller.py} | 0 .../capif_events/encoder.py | 5 +- .../capif_events/models/__init__.py | 43 +- .../models/access_control_policy_list.py | 9 +- .../models/access_control_policy_list_ext.py | 17 +- .../access_control_policy_list_ext_all_of.py | 64 - .../capif_events/models/aef_location.py | 119 + .../capif_events/models/aef_profile.py | 123 +- .../capif_events/models/api_invoker_policy.py | 25 +- .../capif_events/models/api_status.py | 65 + .../models/{base_model_.py => base_model.py} | 9 +- ...of.py => buffered_notifications_action.py} | 20 +- .../capif_events/models/capif_event.py | 7 +- .../capif_events/models/capif_event_any_of.py | 53 - .../capif_events/models/capif_event_detail.py | 29 +- .../capif_events/models/capif_event_filter.py | 17 +- .../capif_events/models/civic_address.py | 919 ++++ .../capif_events/models/communication_type.py | 7 +- .../models/communication_type_any_of.py | 42 - .../capif_events/models/custom_operation.py | 29 +- .../capif_events/models/data_format.py | 7 +- .../capif_events/models/ellipsoid_arc.py | 265 + .../capif_events/models/event_notification.py | 21 +- .../capif_events/models/event_subscription.py | 41 +- .../models/event_subscription_patch.py | 155 + .../capif_events/models/gad_shape.py | 65 + .../capif_events/models/geographic_area.py | 471 ++ .../models/geographical_coordinates.py | 99 + .../models/interface_description.py | 99 +- .../capif_events/models/invalid_param.py | 13 +- .../capif_events/models/invocation_log.py | 29 +- .../capif_events/models/ip_addr_range.py | 99 + .../capif_events/models/ipv4_address_range.py | 25 +- .../models/ipv4_address_range1.py | 97 + .../{data_format_any_of.py => ipv6_addr1.py} | 19 +- .../capif_events/models/ipv6_address_range.py | 21 +- .../models/ipv6_address_range1.py | 93 + .../local2d_point_uncertainty_ellipse.py | 191 + .../local3d_point_uncertainty_ellipsoid.py | 191 + .../capif_events/models/local_origin.py | 89 + .../capif_events/models/log.py | 85 +- .../models/muting_exception_instructions.py | 91 + .../models/muting_notifications_settings.py | 89 + .../capif_events/models/notification_flag.py | 7 +- .../models/notification_flag_any_of.py | 43 - .../models/notification_method.py | 7 +- .../models/notification_method_any_of.py | 43 - .../capif_events/models/operation.py | 7 +- .../models/partitioning_criteria.py | 7 +- .../models/partitioning_criteria_any_of.py | 45 - .../capif_events/models/point.py | 97 + .../capif_events/models/point_altitude.py | 131 + .../models/point_altitude_uncertainty.py | 259 + .../models/point_uncertainty_circle.py | 129 + .../models/point_uncertainty_ellipse.py | 161 + .../capif_events/models/polygon.py | 103 + .../capif_events/models/problem_details.py | 53 +- .../capif_events/models/protocol.py | 7 +- .../capif_events/models/published_api_path.py | 9 +- .../models/relative_cartesian_location.py | 123 + .../models/reporting_information.py | 111 +- .../capif_events/models/resource.py | 75 +- .../capif_events/models/routing_rule.py | 31 +- .../capif_events/models/security_method.py | 7 +- .../models/service_api_description.py | 129 +- .../capif_events/models/service_kpis.py | 277 + .../models/shareable_information.py | 21 +- ...ethod_any_of.py => subscription_action.py} | 21 +- ...tion_any_of.py => supported_gad_shapes.py} | 23 +- .../capif_events/models/time_range_list.py | 13 +- .../capif_events/models/topology_hiding.py | 13 +- .../models/uncertainty_ellipse.py | 133 + .../models/uncertainty_ellipsoid.py | 165 + .../capif_events/models/version.py | 21 +- .../models/websock_notif_config.py | 13 +- .../capif_events/openapi/openapi.yaml | 4659 +++++++++++++++-- .../capif_events/test/__init__.py | 16 + .../test/test_default_controller.py | 88 + .../capif_events/typing_utils.py | 2 - .../capif_events/util.py | 14 +- services/TS29222_CAPIF_Events_API/git_push.sh | 6 +- .../TS29222_CAPIF_Events_API/requirements.txt | 2 +- services/TS29222_CAPIF_Events_API/setup.py | 4 +- services/TS29222_CAPIF_Events_API/tox.ini | 2 +- .../capif_security/__main__.py | 19 + .../controllers/security_controller.py | 2 + .../capif_security/models/base_model.py | 68 + .../models/no_profile_match_info.py | 95 + .../models/no_profile_match_reason.py | 34 + .../models/o_auth_grant_type.py | 34 + .../models/query_param_combination.py | 67 + .../capif_security/models/query_parameter.py | 91 + .../capif_security/models/res_owner_id.py | 67 + .../capif_security/test/__init__.py | 16 + .../test/test_default_controller.py | 135 + 99 files changed, 10352 insertions(+), 1412 deletions(-) rename services/TS29222_CAPIF_Events_API/capif_events/controllers/{security_controller_.py => security_controller.py} (100%) delete mode 100644 services/TS29222_CAPIF_Events_API/capif_events/models/access_control_policy_list_ext_all_of.py create mode 100644 services/TS29222_CAPIF_Events_API/capif_events/models/aef_location.py create mode 100644 services/TS29222_CAPIF_Events_API/capif_events/models/api_status.py rename services/TS29222_CAPIF_Events_API/capif_events/models/{base_model_.py => base_model.py} (92%) rename services/TS29222_CAPIF_Events_API/capif_events/models/{protocol_any_of.py => buffered_notifications_action.py} (57%) delete mode 100644 services/TS29222_CAPIF_Events_API/capif_events/models/capif_event_any_of.py create mode 100644 services/TS29222_CAPIF_Events_API/capif_events/models/civic_address.py delete mode 100644 services/TS29222_CAPIF_Events_API/capif_events/models/communication_type_any_of.py create mode 100644 services/TS29222_CAPIF_Events_API/capif_events/models/ellipsoid_arc.py create mode 100644 services/TS29222_CAPIF_Events_API/capif_events/models/event_subscription_patch.py create mode 100644 services/TS29222_CAPIF_Events_API/capif_events/models/gad_shape.py create mode 100644 services/TS29222_CAPIF_Events_API/capif_events/models/geographic_area.py create mode 100644 services/TS29222_CAPIF_Events_API/capif_events/models/geographical_coordinates.py create mode 100644 services/TS29222_CAPIF_Events_API/capif_events/models/ip_addr_range.py create mode 100644 services/TS29222_CAPIF_Events_API/capif_events/models/ipv4_address_range1.py rename services/TS29222_CAPIF_Events_API/capif_events/models/{data_format_any_of.py => ipv6_addr1.py} (58%) create mode 100644 services/TS29222_CAPIF_Events_API/capif_events/models/ipv6_address_range1.py create mode 100644 services/TS29222_CAPIF_Events_API/capif_events/models/local2d_point_uncertainty_ellipse.py create mode 100644 services/TS29222_CAPIF_Events_API/capif_events/models/local3d_point_uncertainty_ellipsoid.py create mode 100644 services/TS29222_CAPIF_Events_API/capif_events/models/local_origin.py create mode 100644 services/TS29222_CAPIF_Events_API/capif_events/models/muting_exception_instructions.py create mode 100644 services/TS29222_CAPIF_Events_API/capif_events/models/muting_notifications_settings.py delete mode 100644 services/TS29222_CAPIF_Events_API/capif_events/models/notification_flag_any_of.py delete mode 100644 services/TS29222_CAPIF_Events_API/capif_events/models/notification_method_any_of.py delete mode 100644 services/TS29222_CAPIF_Events_API/capif_events/models/partitioning_criteria_any_of.py create mode 100644 services/TS29222_CAPIF_Events_API/capif_events/models/point.py create mode 100644 services/TS29222_CAPIF_Events_API/capif_events/models/point_altitude.py create mode 100644 services/TS29222_CAPIF_Events_API/capif_events/models/point_altitude_uncertainty.py create mode 100644 services/TS29222_CAPIF_Events_API/capif_events/models/point_uncertainty_circle.py create mode 100644 services/TS29222_CAPIF_Events_API/capif_events/models/point_uncertainty_ellipse.py create mode 100644 services/TS29222_CAPIF_Events_API/capif_events/models/polygon.py create mode 100644 services/TS29222_CAPIF_Events_API/capif_events/models/relative_cartesian_location.py create mode 100644 services/TS29222_CAPIF_Events_API/capif_events/models/service_kpis.py rename services/TS29222_CAPIF_Events_API/capif_events/models/{security_method_any_of.py => subscription_action.py} (55%) rename services/TS29222_CAPIF_Events_API/capif_events/models/{operation_any_of.py => supported_gad_shapes.py} (54%) create mode 100644 services/TS29222_CAPIF_Events_API/capif_events/models/uncertainty_ellipse.py create mode 100644 services/TS29222_CAPIF_Events_API/capif_events/models/uncertainty_ellipsoid.py create mode 100644 services/TS29222_CAPIF_Events_API/capif_events/test/__init__.py create mode 100644 services/TS29222_CAPIF_Events_API/capif_events/test/test_default_controller.py create mode 100644 services/TS29222_CAPIF_Security_API/capif_security/__main__.py create mode 100644 services/TS29222_CAPIF_Security_API/capif_security/controllers/security_controller.py create mode 100644 services/TS29222_CAPIF_Security_API/capif_security/models/base_model.py create mode 100644 services/TS29222_CAPIF_Security_API/capif_security/models/no_profile_match_info.py create mode 100644 services/TS29222_CAPIF_Security_API/capif_security/models/no_profile_match_reason.py create mode 100644 services/TS29222_CAPIF_Security_API/capif_security/models/o_auth_grant_type.py create mode 100644 services/TS29222_CAPIF_Security_API/capif_security/models/query_param_combination.py create mode 100644 services/TS29222_CAPIF_Security_API/capif_security/models/query_parameter.py create mode 100644 services/TS29222_CAPIF_Security_API/capif_security/models/res_owner_id.py create mode 100644 services/TS29222_CAPIF_Security_API/capif_security/test/__init__.py create mode 100644 services/TS29222_CAPIF_Security_API/capif_security/test/test_default_controller.py diff --git a/services/TS29222_CAPIF_Events_API/.openapi-generator/FILES b/services/TS29222_CAPIF_Events_API/.openapi-generator/FILES index edfb886..54c709f 100644 --- a/services/TS29222_CAPIF_Events_API/.openapi-generator/FILES +++ b/services/TS29222_CAPIF_Events_API/.openapi-generator/FILES @@ -3,64 +3,84 @@ .travis.yml Dockerfile README.md +git_push.sh capif_events/__init__.py capif_events/__main__.py capif_events/controllers/__init__.py capif_events/controllers/default_controller.py -capif_events/controllers/security_controller_.py +capif_events/controllers/security_controller.py capif_events/encoder.py capif_events/models/__init__.py capif_events/models/access_control_policy_list.py capif_events/models/access_control_policy_list_ext.py -capif_events/models/access_control_policy_list_ext_all_of.py +capif_events/models/aef_location.py capif_events/models/aef_profile.py capif_events/models/api_invoker_policy.py -capif_events/models/base_model_.py +capif_events/models/api_status.py +capif_events/models/base_model.py +capif_events/models/buffered_notifications_action.py capif_events/models/capif_event.py -capif_events/models/capif_event_any_of.py capif_events/models/capif_event_detail.py capif_events/models/capif_event_filter.py +capif_events/models/civic_address.py capif_events/models/communication_type.py -capif_events/models/communication_type_any_of.py capif_events/models/custom_operation.py capif_events/models/data_format.py -capif_events/models/data_format_any_of.py +capif_events/models/ellipsoid_arc.py capif_events/models/event_notification.py capif_events/models/event_subscription.py +capif_events/models/event_subscription_patch.py +capif_events/models/gad_shape.py +capif_events/models/geographic_area.py +capif_events/models/geographical_coordinates.py capif_events/models/interface_description.py capif_events/models/invalid_param.py capif_events/models/invocation_log.py +capif_events/models/ip_addr_range.py capif_events/models/ipv4_address_range.py +capif_events/models/ipv4_address_range1.py +capif_events/models/ipv6_addr1.py capif_events/models/ipv6_address_range.py +capif_events/models/ipv6_address_range1.py +capif_events/models/local2d_point_uncertainty_ellipse.py +capif_events/models/local3d_point_uncertainty_ellipsoid.py +capif_events/models/local_origin.py capif_events/models/log.py +capif_events/models/muting_exception_instructions.py +capif_events/models/muting_notifications_settings.py capif_events/models/notification_flag.py -capif_events/models/notification_flag_any_of.py capif_events/models/notification_method.py -capif_events/models/notification_method_any_of.py capif_events/models/operation.py -capif_events/models/operation_any_of.py capif_events/models/partitioning_criteria.py -capif_events/models/partitioning_criteria_any_of.py +capif_events/models/point.py +capif_events/models/point_altitude.py +capif_events/models/point_altitude_uncertainty.py +capif_events/models/point_uncertainty_circle.py +capif_events/models/point_uncertainty_ellipse.py +capif_events/models/polygon.py capif_events/models/problem_details.py capif_events/models/protocol.py -capif_events/models/protocol_any_of.py capif_events/models/published_api_path.py +capif_events/models/relative_cartesian_location.py capif_events/models/reporting_information.py capif_events/models/resource.py capif_events/models/routing_rule.py capif_events/models/security_method.py -capif_events/models/security_method_any_of.py capif_events/models/service_api_description.py +capif_events/models/service_kpis.py capif_events/models/shareable_information.py +capif_events/models/subscription_action.py +capif_events/models/supported_gad_shapes.py capif_events/models/time_range_list.py capif_events/models/topology_hiding.py +capif_events/models/uncertainty_ellipse.py +capif_events/models/uncertainty_ellipsoid.py capif_events/models/version.py capif_events/models/websock_notif_config.py capif_events/openapi/openapi.yaml capif_events/test/__init__.py capif_events/typing_utils.py capif_events/util.py -git_push.sh requirements.txt setup.py test-requirements.txt diff --git a/services/TS29222_CAPIF_Events_API/.openapi-generator/VERSION b/services/TS29222_CAPIF_Events_API/.openapi-generator/VERSION index 4b448de..18bb418 100644 --- a/services/TS29222_CAPIF_Events_API/.openapi-generator/VERSION +++ b/services/TS29222_CAPIF_Events_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_Events_API/README.md b/services/TS29222_CAPIF_Events_API/README.md index 9f89fec..e6189d5 100644 --- a/services/TS29222_CAPIF_Events_API/README.md +++ b/services/TS29222_CAPIF_Events_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 capif_events +python3 -m openapi_server ``` and open your browser to here: diff --git a/services/TS29222_CAPIF_Events_API/capif_events/controllers/default_controller.py b/services/TS29222_CAPIF_Events_API/capif_events/controllers/default_controller.py index 839f0b0..7cc1688 100644 --- a/services/TS29222_CAPIF_Events_API/capif_events/controllers/default_controller.py +++ b/services/TS29222_CAPIF_Events_API/capif_events/controllers/default_controller.py @@ -1,5 +1,13 @@ import connexion +from typing import Dict +from typing import Tuple +from typing import Union + from capif_events.models.event_subscription import EventSubscription # noqa: E501 +from capif_events.models.event_subscription_patch import EventSubscriptionPatch # noqa: E501 +from capif_events.models.problem_details import ProblemDetails # noqa: E501 +from capif_events import util + from ..core.events_apis import EventSubscriptionsOperations import json from flask import Response, request, current_app @@ -50,9 +58,8 @@ def subscriber_id_subscriptions_post(subscriber_id, body): # noqa: E501 :param event_subscription: :type event_subscription: dict | bytes - :rtype: EventSubscription + :rtype: Union[EventSubscription, Tuple[EventSubscription, int], Tuple[EventSubscription, int, Dict[str, str]] """ - current_app.logger.info("Creating event subscription") if connexion.request.is_json: body = EventSubscription.from_dict(connexion.request.get_json()) # noqa: E501 @@ -72,11 +79,48 @@ def subscriber_id_subscriptions_subscription_id_delete(subscriber_id, subscripti :param subscription_id: Identifier of an individual Events Subscription :type subscription_id: str - :rtype: None + :rtype: Union[None, Tuple[None, int], Tuple[None, int, Dict[str, str]] """ - current_app.logger.info("Removing event subscription") res = events_ops.delete_event(subscriber_id, subscription_id) return res + + +def subscriber_id_subscriptions_subscription_id_patch(subscriber_id, subscription_id, event_subscription_patch): # noqa: E501 + """subscriber_id_subscriptions_subscription_id_patch + + Modification of an existing individual CAPIF Event Subscription. # noqa: E501 + + :param subscriber_id: Identifier of the Subscriber + :type subscriber_id: str + :param subscription_id: Identifier of the individual Subscriber + :type subscription_id: str + :param event_subscription_patch: + :type event_subscription_patch: dict | bytes + + :rtype: Union[EventSubscription, Tuple[EventSubscription, int], Tuple[EventSubscription, int, Dict[str, str]] + """ + if connexion.request.is_json: + event_subscription_patch = EventSubscriptionPatch.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def subscriber_id_subscriptions_subscription_id_put(subscriber_id, subscription_id, event_subscription): # noqa: E501 + """subscriber_id_subscriptions_subscription_id_put + + Update of an existing individual CAPIF Event Subscription. # noqa: E501 + + :param subscriber_id: Identifier of the Subscriber + :type subscriber_id: str + :param subscription_id: Identifier of the individual Subscriber + :type subscription_id: str + :param event_subscription: + :type event_subscription: dict | bytes + + :rtype: Union[EventSubscription, Tuple[EventSubscription, int], Tuple[EventSubscription, int, Dict[str, str]] + """ + if connexion.request.is_json: + event_subscription = EventSubscription.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' diff --git a/services/TS29222_CAPIF_Events_API/capif_events/controllers/security_controller_.py b/services/TS29222_CAPIF_Events_API/capif_events/controllers/security_controller.py similarity index 100% rename from services/TS29222_CAPIF_Events_API/capif_events/controllers/security_controller_.py rename to services/TS29222_CAPIF_Events_API/capif_events/controllers/security_controller.py diff --git a/services/TS29222_CAPIF_Events_API/capif_events/encoder.py b/services/TS29222_CAPIF_Events_API/capif_events/encoder.py index 80bad8f..9435b17 100644 --- a/services/TS29222_CAPIF_Events_API/capif_events/encoder.py +++ b/services/TS29222_CAPIF_Events_API/capif_events/encoder.py @@ -1,7 +1,6 @@ from connexion.apps.flask_app import FlaskJSONEncoder -import six -from models.base_model_ import Model +from capif_events.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_Events_API/capif_events/models/__init__.py b/services/TS29222_CAPIF_Events_API/capif_events/models/__init__.py index 5628bb7..5085357 100644 --- a/services/TS29222_CAPIF_Events_API/capif_events/models/__init__.py +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/__init__.py @@ -1,50 +1,67 @@ -# coding: utf-8 - # flake8: noqa -from __future__ import absolute_import # import models into model package from capif_events.models.access_control_policy_list import AccessControlPolicyList from capif_events.models.access_control_policy_list_ext import AccessControlPolicyListExt -from capif_events.models.access_control_policy_list_ext_all_of import AccessControlPolicyListExtAllOf +from capif_events.models.aef_location import AefLocation from capif_events.models.aef_profile import AefProfile from capif_events.models.api_invoker_policy import ApiInvokerPolicy +from capif_events.models.api_status import ApiStatus +from capif_events.models.buffered_notifications_action import BufferedNotificationsAction from capif_events.models.capif_event import CAPIFEvent -from capif_events.models.capif_event_any_of import CAPIFEventAnyOf from capif_events.models.capif_event_detail import CAPIFEventDetail from capif_events.models.capif_event_filter import CAPIFEventFilter +from capif_events.models.civic_address import CivicAddress from capif_events.models.communication_type import CommunicationType -from capif_events.models.communication_type_any_of import CommunicationTypeAnyOf from capif_events.models.custom_operation import CustomOperation from capif_events.models.data_format import DataFormat -from capif_events.models.data_format_any_of import DataFormatAnyOf +from capif_events.models.ellipsoid_arc import EllipsoidArc from capif_events.models.event_notification import EventNotification from capif_events.models.event_subscription import EventSubscription +from capif_events.models.event_subscription_patch import EventSubscriptionPatch +from capif_events.models.gad_shape import GADShape +from capif_events.models.geographic_area import GeographicArea +from capif_events.models.geographical_coordinates import GeographicalCoordinates from capif_events.models.interface_description import InterfaceDescription from capif_events.models.invalid_param import InvalidParam from capif_events.models.invocation_log import InvocationLog +from capif_events.models.ip_addr_range import IpAddrRange from capif_events.models.ipv4_address_range import Ipv4AddressRange +from capif_events.models.ipv4_address_range1 import Ipv4AddressRange1 +from capif_events.models.ipv6_addr1 import Ipv6Addr1 from capif_events.models.ipv6_address_range import Ipv6AddressRange +from capif_events.models.ipv6_address_range1 import Ipv6AddressRange1 +from capif_events.models.local2d_point_uncertainty_ellipse import Local2dPointUncertaintyEllipse +from capif_events.models.local3d_point_uncertainty_ellipsoid import Local3dPointUncertaintyEllipsoid +from capif_events.models.local_origin import LocalOrigin from capif_events.models.log import Log +from capif_events.models.muting_exception_instructions import MutingExceptionInstructions +from capif_events.models.muting_notifications_settings import MutingNotificationsSettings from capif_events.models.notification_flag import NotificationFlag -from capif_events.models.notification_flag_any_of import NotificationFlagAnyOf from capif_events.models.notification_method import NotificationMethod -from capif_events.models.notification_method_any_of import NotificationMethodAnyOf from capif_events.models.operation import Operation -from capif_events.models.operation_any_of import OperationAnyOf from capif_events.models.partitioning_criteria import PartitioningCriteria -from capif_events.models.partitioning_criteria_any_of import PartitioningCriteriaAnyOf +from capif_events.models.point import Point +from capif_events.models.point_altitude import PointAltitude +from capif_events.models.point_altitude_uncertainty import PointAltitudeUncertainty +from capif_events.models.point_uncertainty_circle import PointUncertaintyCircle +from capif_events.models.point_uncertainty_ellipse import PointUncertaintyEllipse +from capif_events.models.polygon import Polygon from capif_events.models.problem_details import ProblemDetails from capif_events.models.protocol import Protocol -from capif_events.models.protocol_any_of import ProtocolAnyOf from capif_events.models.published_api_path import PublishedApiPath +from capif_events.models.relative_cartesian_location import RelativeCartesianLocation from capif_events.models.reporting_information import ReportingInformation from capif_events.models.resource import Resource from capif_events.models.routing_rule import RoutingRule from capif_events.models.security_method import SecurityMethod -from capif_events.models.security_method_any_of import SecurityMethodAnyOf from capif_events.models.service_api_description import ServiceAPIDescription +from capif_events.models.service_kpis import ServiceKpis from capif_events.models.shareable_information import ShareableInformation +from capif_events.models.subscription_action import SubscriptionAction +from capif_events.models.supported_gad_shapes import SupportedGADShapes from capif_events.models.time_range_list import TimeRangeList from capif_events.models.topology_hiding import TopologyHiding +from capif_events.models.uncertainty_ellipse import UncertaintyEllipse +from capif_events.models.uncertainty_ellipsoid import UncertaintyEllipsoid from capif_events.models.version import Version from capif_events.models.websock_notif_config import WebsockNotifConfig diff --git a/services/TS29222_CAPIF_Events_API/capif_events/models/access_control_policy_list.py b/services/TS29222_CAPIF_Events_API/capif_events/models/access_control_policy_list.py index 4cca41d..a64c384 100644 --- a/services/TS29222_CAPIF_Events_API/capif_events/models/access_control_policy_list.py +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/access_control_policy_list.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 capif_events.models.base_model_ import Model +from capif_events.models.base_model import Model from capif_events.models.api_invoker_policy import ApiInvokerPolicy from capif_events import util @@ -45,7 +42,7 @@ class AccessControlPolicyList(Model): return util.deserialize_model(dikt, cls) @property - def api_invoker_policies(self): + def api_invoker_policies(self) -> List[ApiInvokerPolicy]: """Gets the api_invoker_policies of this AccessControlPolicyList. Policy of each API invoker. # noqa: E501 @@ -56,7 +53,7 @@ class AccessControlPolicyList(Model): return self._api_invoker_policies @api_invoker_policies.setter - def api_invoker_policies(self, api_invoker_policies): + def api_invoker_policies(self, api_invoker_policies: List[ApiInvokerPolicy]): """Sets the api_invoker_policies of this AccessControlPolicyList. Policy of each API invoker. # noqa: E501 diff --git a/services/TS29222_CAPIF_Events_API/capif_events/models/access_control_policy_list_ext.py b/services/TS29222_CAPIF_Events_API/capif_events/models/access_control_policy_list_ext.py index 6f5709c..e99c495 100644 --- a/services/TS29222_CAPIF_Events_API/capif_events/models/access_control_policy_list_ext.py +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/access_control_policy_list_ext.py @@ -1,18 +1,11 @@ -# coding: utf-8 - -from __future__ import absolute_import from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from capif_events.models.base_model_ import Model -from capif_events.models.access_control_policy_list import AccessControlPolicyList -from capif_events.models.access_control_policy_list_ext_all_of import AccessControlPolicyListExtAllOf +from capif_events.models.base_model import Model from capif_events.models.api_invoker_policy import ApiInvokerPolicy from capif_events import util -from capif_events.models.access_control_policy_list import AccessControlPolicyList # noqa: E501 -from capif_events.models.access_control_policy_list_ext_all_of import AccessControlPolicyListExtAllOf # noqa: E501 from capif_events.models.api_invoker_policy import ApiInvokerPolicy # noqa: E501 class AccessControlPolicyListExt(Model): @@ -54,7 +47,7 @@ class AccessControlPolicyListExt(Model): return util.deserialize_model(dikt, cls) @property - def api_invoker_policies(self): + def api_invoker_policies(self) -> List[ApiInvokerPolicy]: """Gets the api_invoker_policies of this AccessControlPolicyListExt. Policy of each API invoker. # noqa: E501 @@ -65,7 +58,7 @@ class AccessControlPolicyListExt(Model): return self._api_invoker_policies @api_invoker_policies.setter - def api_invoker_policies(self, api_invoker_policies): + def api_invoker_policies(self, api_invoker_policies: List[ApiInvokerPolicy]): """Sets the api_invoker_policies of this AccessControlPolicyListExt. Policy of each API invoker. # noqa: E501 @@ -79,7 +72,7 @@ class AccessControlPolicyListExt(Model): self._api_invoker_policies = api_invoker_policies @property - def api_id(self): + def api_id(self) -> str: """Gets the api_id of this AccessControlPolicyListExt. @@ -89,7 +82,7 @@ class AccessControlPolicyListExt(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 AccessControlPolicyListExt. diff --git a/services/TS29222_CAPIF_Events_API/capif_events/models/access_control_policy_list_ext_all_of.py b/services/TS29222_CAPIF_Events_API/capif_events/models/access_control_policy_list_ext_all_of.py deleted file mode 100644 index cd1dda0..0000000 --- a/services/TS29222_CAPIF_Events_API/capif_events/models/access_control_policy_list_ext_all_of.py +++ /dev/null @@ -1,64 +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 capif_events.models.base_model_ import Model -from capif_events import util - - -class AccessControlPolicyListExtAllOf(Model): - """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - - Do not edit the class manually. - """ - - def __init__(self, api_id=None): # noqa: E501 - """AccessControlPolicyListExtAllOf - a model defined in OpenAPI - - :param api_id: The api_id of this AccessControlPolicyListExtAllOf. # noqa: E501 - :type api_id: str - """ - self.openapi_types = { - 'api_id': str - } - - self.attribute_map = { - 'api_id': 'apiId' - } - - self._api_id = api_id - - @classmethod - def from_dict(cls, dikt) -> 'AccessControlPolicyListExtAllOf': - """Returns the dict as a model - - :param dikt: A dict. - :type: dict - :return: The AccessControlPolicyListExt_allOf of this AccessControlPolicyListExtAllOf. # noqa: E501 - :rtype: AccessControlPolicyListExtAllOf - """ - return util.deserialize_model(dikt, cls) - - @property - def api_id(self): - """Gets the api_id of this AccessControlPolicyListExtAllOf. - - - :return: The api_id of this AccessControlPolicyListExtAllOf. - :rtype: str - """ - return self._api_id - - @api_id.setter - def api_id(self, api_id): - """Sets the api_id of this AccessControlPolicyListExtAllOf. - - - :param api_id: The api_id of this AccessControlPolicyListExtAllOf. - :type api_id: str - """ - - self._api_id = api_id diff --git a/services/TS29222_CAPIF_Events_API/capif_events/models/aef_location.py b/services/TS29222_CAPIF_Events_API/capif_events/models/aef_location.py new file mode 100644 index 0000000..1f85dba --- /dev/null +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/aef_location.py @@ -0,0 +1,119 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from capif_events.models.base_model import Model +from capif_events.models.civic_address import CivicAddress +from capif_events.models.geographic_area import GeographicArea +from capif_events import util + +from capif_events.models.civic_address import CivicAddress # noqa: E501 +from capif_events.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_Events_API/capif_events/models/aef_profile.py b/services/TS29222_CAPIF_Events_API/capif_events/models/aef_profile.py index ea2ce8b..331a711 100644 --- a/services/TS29222_CAPIF_Events_API/capif_events/models/aef_profile.py +++ b/services/TS29222_CAPIF_Events_API/capif_events/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 capif_events.models.base_model_ import Model +from capif_events.models.base_model import Model +from capif_events.models.aef_location import AefLocation from capif_events.models.data_format import DataFormat from capif_events.models.interface_description import InterfaceDescription +from capif_events.models.ip_addr_range import IpAddrRange from capif_events.models.protocol import Protocol from capif_events.models.security_method import SecurityMethod +from capif_events.models.service_kpis import ServiceKpis from capif_events.models.version import Version from capif_events import util +from capif_events.models.aef_location import AefLocation # noqa: E501 from capif_events.models.data_format import DataFormat # noqa: E501 from capif_events.models.interface_description import InterfaceDescription # noqa: E501 +from capif_events.models.ip_addr_range import IpAddrRange # noqa: E501 from capif_events.models.protocol import Protocol # noqa: E501 from capif_events.models.security_method import SecurityMethod # noqa: E501 +from capif_events.models.service_kpis import ServiceKpis # noqa: E501 from capif_events.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_Events_API/capif_events/models/api_invoker_policy.py b/services/TS29222_CAPIF_Events_API/capif_events/models/api_invoker_policy.py index dbc1d98..4d2075b 100644 --- a/services/TS29222_CAPIF_Events_API/capif_events/models/api_invoker_policy.py +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/api_invoker_policy.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 capif_events.models.base_model_ import Model +from capif_events.models.base_model import Model from capif_events.models.time_range_list import TimeRangeList from capif_events import util @@ -60,7 +57,7 @@ class ApiInvokerPolicy(Model): return util.deserialize_model(dikt, cls) @property - def api_invoker_id(self): + def api_invoker_id(self) -> str: """Gets the api_invoker_id of this ApiInvokerPolicy. API invoker ID assigned by the CAPIF core function # noqa: E501 @@ -71,7 +68,7 @@ class ApiInvokerPolicy(Model): return self._api_invoker_id @api_invoker_id.setter - def api_invoker_id(self, api_invoker_id): + def api_invoker_id(self, api_invoker_id: str): """Sets the api_invoker_id of this ApiInvokerPolicy. API invoker ID assigned by the CAPIF core function # noqa: E501 @@ -85,7 +82,7 @@ class ApiInvokerPolicy(Model): self._api_invoker_id = api_invoker_id @property - def allowed_total_invocations(self): + def allowed_total_invocations(self) -> int: """Gets the allowed_total_invocations of this ApiInvokerPolicy. Total number of invocations allowed on the service API by the API invoker. # noqa: E501 @@ -96,7 +93,7 @@ class ApiInvokerPolicy(Model): return self._allowed_total_invocations @allowed_total_invocations.setter - def allowed_total_invocations(self, allowed_total_invocations): + def allowed_total_invocations(self, allowed_total_invocations: int): """Sets the allowed_total_invocations of this ApiInvokerPolicy. Total number of invocations allowed on the service API by the API invoker. # noqa: E501 @@ -108,7 +105,7 @@ class ApiInvokerPolicy(Model): self._allowed_total_invocations = allowed_total_invocations @property - def allowed_invocations_per_second(self): + def allowed_invocations_per_second(self) -> int: """Gets the allowed_invocations_per_second of this ApiInvokerPolicy. Invocations per second allowed on the service API by the API invoker. # noqa: E501 @@ -119,7 +116,7 @@ class ApiInvokerPolicy(Model): return self._allowed_invocations_per_second @allowed_invocations_per_second.setter - def allowed_invocations_per_second(self, allowed_invocations_per_second): + def allowed_invocations_per_second(self, allowed_invocations_per_second: int): """Sets the allowed_invocations_per_second of this ApiInvokerPolicy. Invocations per second allowed on the service API by the API invoker. # noqa: E501 @@ -131,10 +128,10 @@ class ApiInvokerPolicy(Model): self._allowed_invocations_per_second = allowed_invocations_per_second @property - def allowed_invocation_time_range_list(self): + def allowed_invocation_time_range_list(self) -> List[TimeRangeList]: """Gets the allowed_invocation_time_range_list of this ApiInvokerPolicy. - The time ranges during which the invocations are allowed on the service API by the API invoker. # noqa: E501 + The time ranges during which the invocations are allowed on the service API by the API invoker. # noqa: E501 :return: The allowed_invocation_time_range_list of this ApiInvokerPolicy. :rtype: List[TimeRangeList] @@ -142,10 +139,10 @@ class ApiInvokerPolicy(Model): return self._allowed_invocation_time_range_list @allowed_invocation_time_range_list.setter - def allowed_invocation_time_range_list(self, allowed_invocation_time_range_list): + def allowed_invocation_time_range_list(self, allowed_invocation_time_range_list: List[TimeRangeList]): """Sets the allowed_invocation_time_range_list of this ApiInvokerPolicy. - The time ranges during which the invocations are allowed on the service API by the API invoker. # noqa: E501 + The time ranges during which the invocations are allowed on the service API by the API invoker. # noqa: E501 :param allowed_invocation_time_range_list: The allowed_invocation_time_range_list of this ApiInvokerPolicy. :type allowed_invocation_time_range_list: List[TimeRangeList] diff --git a/services/TS29222_CAPIF_Events_API/capif_events/models/api_status.py b/services/TS29222_CAPIF_Events_API/capif_events/models/api_status.py new file mode 100644 index 0000000..3ea72ce --- /dev/null +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/api_status.py @@ -0,0 +1,65 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from capif_events.models.base_model import Model +from capif_events 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_Events_API/capif_events/models/base_model_.py b/services/TS29222_CAPIF_Events_API/capif_events/models/base_model.py similarity index 92% rename from services/TS29222_CAPIF_Events_API/capif_events/models/base_model_.py rename to services/TS29222_CAPIF_Events_API/capif_events/models/base_model.py index c71e9d0..4179726 100644 --- a/services/TS29222_CAPIF_Events_API/capif_events/models/base_model_.py +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/base_model.py @@ -1,6 +1,5 @@ import pprint -import six import typing from capif_events import util @@ -8,14 +7,14 @@ from capif_events 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_Events_API/capif_events/models/protocol_any_of.py b/services/TS29222_CAPIF_Events_API/capif_events/models/buffered_notifications_action.py similarity index 57% rename from services/TS29222_CAPIF_Events_API/capif_events/models/protocol_any_of.py rename to services/TS29222_CAPIF_Events_API/capif_events/models/buffered_notifications_action.py index fe2fe7c..eca6547 100644 --- a/services/TS29222_CAPIF_Events_API/capif_events/models/protocol_any_of.py +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/buffered_notifications_action.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 capif_events.models.base_model_ import Model +from capif_events.models.base_model import Model from capif_events import util -class ProtocolAnyOf(Model): +class BufferedNotificationsAction(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 + """BufferedNotificationsAction - 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) -> 'BufferedNotificationsAction': """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 BufferedNotificationsAction of this BufferedNotificationsAction. # noqa: E501 + :rtype: BufferedNotificationsAction """ return util.deserialize_model(dikt, cls) diff --git a/services/TS29222_CAPIF_Events_API/capif_events/models/capif_event.py b/services/TS29222_CAPIF_Events_API/capif_events/models/capif_event.py index 86648b4..fa3a982 100644 --- a/services/TS29222_CAPIF_Events_API/capif_events/models/capif_event.py +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/capif_event.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 capif_events.models.base_model_ import Model -from capif_events.models.capif_event_any_of import CAPIFEventAnyOf +from capif_events.models.base_model import Model from capif_events import util -from capif_events.models.capif_event_any_of import CAPIFEventAnyOf # noqa: E501 class CAPIFEvent(Model): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/services/TS29222_CAPIF_Events_API/capif_events/models/capif_event_any_of.py b/services/TS29222_CAPIF_Events_API/capif_events/models/capif_event_any_of.py deleted file mode 100644 index 3b2f4d7..0000000 --- a/services/TS29222_CAPIF_Events_API/capif_events/models/capif_event_any_of.py +++ /dev/null @@ -1,53 +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 capif_events.models.base_model_ import Model -from capif_events import util - - -class CAPIFEventAnyOf(Model): - """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - - Do not edit the class manually. - """ - - """ - allowed enum values - """ - SERVICE_API_AVAILABLE = "SERVICE_API_AVAILABLE" - SERVICE_API_UNAVAILABLE = "SERVICE_API_UNAVAILABLE" - SERVICE_API_UPDATE = "SERVICE_API_UPDATE" - API_INVOKER_ONBOARDED = "API_INVOKER_ONBOARDED" - API_INVOKER_OFFBOARDED = "API_INVOKER_OFFBOARDED" - SERVICE_API_INVOCATION_SUCCESS = "SERVICE_API_INVOCATION_SUCCESS" - SERVICE_API_INVOCATION_FAILURE = "SERVICE_API_INVOCATION_FAILURE" - ACCESS_CONTROL_POLICY_UPDATE = "ACCESS_CONTROL_POLICY_UPDATE" - ACCESS_CONTROL_POLICY_UNAVAILABLE = "ACCESS_CONTROL_POLICY_UNAVAILABLE" - API_INVOKER_AUTHORIZATION_REVOKED = "API_INVOKER_AUTHORIZATION_REVOKED" - API_INVOKER_UPDATED = "API_INVOKER_UPDATED" - API_TOPOLOGY_HIDING_CREATED = "API_TOPOLOGY_HIDING_CREATED" - API_TOPOLOGY_HIDING_REVOKED = "API_TOPOLOGY_HIDING_REVOKED" - def __init__(self): # noqa: E501 - """CAPIFEventAnyOf - a model defined in OpenAPI - - """ - self.openapi_types = { - } - - self.attribute_map = { - } - - @classmethod - def from_dict(cls, dikt) -> 'CAPIFEventAnyOf': - """Returns the dict as a model - - :param dikt: A dict. - :type: dict - :return: The CAPIFEvent_anyOf of this CAPIFEventAnyOf. # noqa: E501 - :rtype: CAPIFEventAnyOf - """ - return util.deserialize_model(dikt, cls) diff --git a/services/TS29222_CAPIF_Events_API/capif_events/models/capif_event_detail.py b/services/TS29222_CAPIF_Events_API/capif_events/models/capif_event_detail.py index f9c21eb..c15ad4c 100644 --- a/services/TS29222_CAPIF_Events_API/capif_events/models/capif_event_detail.py +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/capif_event_detail.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 capif_events.models.base_model_ import Model +from capif_events.models.base_model import Model from capif_events.models.access_control_policy_list_ext import AccessControlPolicyListExt from capif_events.models.invocation_log import InvocationLog from capif_events.models.service_api_description import ServiceAPIDescription @@ -76,7 +73,7 @@ class CAPIFEventDetail(Model): return util.deserialize_model(dikt, cls) @property - def service_api_descriptions(self): + def service_api_descriptions(self) -> List[ServiceAPIDescription]: """Gets the service_api_descriptions of this CAPIFEventDetail. Description of the service API as published by the APF. # noqa: E501 @@ -87,7 +84,7 @@ class CAPIFEventDetail(Model): return self._service_api_descriptions @service_api_descriptions.setter - def service_api_descriptions(self, service_api_descriptions): + def service_api_descriptions(self, service_api_descriptions: List[ServiceAPIDescription]): """Sets the service_api_descriptions of this CAPIFEventDetail. Description of the service API as published by the APF. # noqa: E501 @@ -101,7 +98,7 @@ class CAPIFEventDetail(Model): self._service_api_descriptions = service_api_descriptions @property - def api_ids(self): + def api_ids(self) -> List[str]: """Gets the api_ids of this CAPIFEventDetail. Identifier of the service API # noqa: E501 @@ -112,7 +109,7 @@ class CAPIFEventDetail(Model): return self._api_ids @api_ids.setter - def api_ids(self, api_ids): + def api_ids(self, api_ids: List[str]): """Sets the api_ids of this CAPIFEventDetail. Identifier of the service API # noqa: E501 @@ -126,7 +123,7 @@ class CAPIFEventDetail(Model): self._api_ids = api_ids @property - def api_invoker_ids(self): + def api_invoker_ids(self) -> List[str]: """Gets the api_invoker_ids of this CAPIFEventDetail. Identity of the API invoker # noqa: E501 @@ -137,7 +134,7 @@ class CAPIFEventDetail(Model): return self._api_invoker_ids @api_invoker_ids.setter - def api_invoker_ids(self, api_invoker_ids): + def api_invoker_ids(self, api_invoker_ids: List[str]): """Sets the api_invoker_ids of this CAPIFEventDetail. Identity of the API invoker # noqa: E501 @@ -151,7 +148,7 @@ class CAPIFEventDetail(Model): self._api_invoker_ids = api_invoker_ids @property - def acc_ctrl_pol_list(self): + def acc_ctrl_pol_list(self) -> AccessControlPolicyListExt: """Gets the acc_ctrl_pol_list of this CAPIFEventDetail. @@ -161,7 +158,7 @@ class CAPIFEventDetail(Model): return self._acc_ctrl_pol_list @acc_ctrl_pol_list.setter - def acc_ctrl_pol_list(self, acc_ctrl_pol_list): + def acc_ctrl_pol_list(self, acc_ctrl_pol_list: AccessControlPolicyListExt): """Sets the acc_ctrl_pol_list of this CAPIFEventDetail. @@ -172,7 +169,7 @@ class CAPIFEventDetail(Model): self._acc_ctrl_pol_list = acc_ctrl_pol_list @property - def invocation_logs(self): + def invocation_logs(self) -> List[InvocationLog]: """Gets the invocation_logs of this CAPIFEventDetail. Invocation logs. # noqa: E501 @@ -183,7 +180,7 @@ class CAPIFEventDetail(Model): return self._invocation_logs @invocation_logs.setter - def invocation_logs(self, invocation_logs): + def invocation_logs(self, invocation_logs: List[InvocationLog]): """Sets the invocation_logs of this CAPIFEventDetail. Invocation logs. # noqa: E501 @@ -197,7 +194,7 @@ class CAPIFEventDetail(Model): self._invocation_logs = invocation_logs @property - def api_topo_hide(self): + def api_topo_hide(self) -> TopologyHiding: """Gets the api_topo_hide of this CAPIFEventDetail. @@ -207,7 +204,7 @@ class CAPIFEventDetail(Model): return self._api_topo_hide @api_topo_hide.setter - def api_topo_hide(self, api_topo_hide): + def api_topo_hide(self, api_topo_hide: TopologyHiding): """Sets the api_topo_hide of this CAPIFEventDetail. diff --git a/services/TS29222_CAPIF_Events_API/capif_events/models/capif_event_filter.py b/services/TS29222_CAPIF_Events_API/capif_events/models/capif_event_filter.py index 19aa9e5..e9c1638 100644 --- a/services/TS29222_CAPIF_Events_API/capif_events/models/capif_event_filter.py +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/capif_event_filter.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 capif_events.models.base_model_ import Model +from capif_events.models.base_model import Model from capif_events import util @@ -53,7 +50,7 @@ class CAPIFEventFilter(Model): return util.deserialize_model(dikt, cls) @property - def api_ids(self): + def api_ids(self) -> List[str]: """Gets the api_ids of this CAPIFEventFilter. Identifier of the service API # noqa: E501 @@ -64,7 +61,7 @@ class CAPIFEventFilter(Model): return self._api_ids @api_ids.setter - def api_ids(self, api_ids): + def api_ids(self, api_ids: List[str]): """Sets the api_ids of this CAPIFEventFilter. Identifier of the service API # noqa: E501 @@ -78,7 +75,7 @@ class CAPIFEventFilter(Model): self._api_ids = api_ids @property - def api_invoker_ids(self): + def api_invoker_ids(self) -> List[str]: """Gets the api_invoker_ids of this CAPIFEventFilter. Identity of the API invoker # noqa: E501 @@ -89,7 +86,7 @@ class CAPIFEventFilter(Model): return self._api_invoker_ids @api_invoker_ids.setter - def api_invoker_ids(self, api_invoker_ids): + def api_invoker_ids(self, api_invoker_ids: List[str]): """Sets the api_invoker_ids of this CAPIFEventFilter. Identity of the API invoker # noqa: E501 @@ -103,7 +100,7 @@ class CAPIFEventFilter(Model): self._api_invoker_ids = api_invoker_ids @property - def aef_ids(self): + def aef_ids(self) -> List[str]: """Gets the aef_ids of this CAPIFEventFilter. Identifier of the API exposing function # noqa: E501 @@ -114,7 +111,7 @@ class CAPIFEventFilter(Model): return self._aef_ids @aef_ids.setter - def aef_ids(self, aef_ids): + def aef_ids(self, aef_ids: List[str]): """Sets the aef_ids of this CAPIFEventFilter. Identifier of the API exposing function # noqa: E501 diff --git a/services/TS29222_CAPIF_Events_API/capif_events/models/civic_address.py b/services/TS29222_CAPIF_Events_API/capif_events/models/civic_address.py new file mode 100644 index 0000000..5819d5f --- /dev/null +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/civic_address.py @@ -0,0 +1,919 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from capif_events.models.base_model import Model +from capif_events 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_Events_API/capif_events/models/communication_type.py b/services/TS29222_CAPIF_Events_API/capif_events/models/communication_type.py index 76054ff..e5203eb 100644 --- a/services/TS29222_CAPIF_Events_API/capif_events/models/communication_type.py +++ b/services/TS29222_CAPIF_Events_API/capif_events/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 capif_events.models.base_model_ import Model -from capif_events.models.communication_type_any_of import CommunicationTypeAnyOf +from capif_events.models.base_model import Model from capif_events import util -from capif_events.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_Events_API/capif_events/models/communication_type_any_of.py b/services/TS29222_CAPIF_Events_API/capif_events/models/communication_type_any_of.py deleted file mode 100644 index de71aea..0000000 --- a/services/TS29222_CAPIF_Events_API/capif_events/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 capif_events.models.base_model_ import Model -from capif_events 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_Events_API/capif_events/models/custom_operation.py b/services/TS29222_CAPIF_Events_API/capif_events/models/custom_operation.py index 190dae7..5676f21 100644 --- a/services/TS29222_CAPIF_Events_API/capif_events/models/custom_operation.py +++ b/services/TS29222_CAPIF_Events_API/capif_events/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 capif_events.models.base_model_ import Model +from capif_events.models.base_model import Model from capif_events.models.communication_type import CommunicationType from capif_events.models.operation import Operation from capif_events 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_Events_API/capif_events/models/data_format.py b/services/TS29222_CAPIF_Events_API/capif_events/models/data_format.py index 61f13fe..adec690 100644 --- a/services/TS29222_CAPIF_Events_API/capif_events/models/data_format.py +++ b/services/TS29222_CAPIF_Events_API/capif_events/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 capif_events.models.base_model_ import Model -from capif_events.models.data_format_any_of import DataFormatAnyOf +from capif_events.models.base_model import Model from capif_events import util -from capif_events.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_Events_API/capif_events/models/ellipsoid_arc.py b/services/TS29222_CAPIF_Events_API/capif_events/models/ellipsoid_arc.py new file mode 100644 index 0000000..b5be85b --- /dev/null +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/ellipsoid_arc.py @@ -0,0 +1,265 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from capif_events.models.base_model import Model +from capif_events.models.gad_shape import GADShape +from capif_events.models.geographical_coordinates import GeographicalCoordinates +from capif_events.models.supported_gad_shapes import SupportedGADShapes +from capif_events import util + +from capif_events.models.gad_shape import GADShape # noqa: E501 +from capif_events.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 +from capif_events.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_Events_API/capif_events/models/event_notification.py b/services/TS29222_CAPIF_Events_API/capif_events/models/event_notification.py index 633ddcf..9200e1b 100644 --- a/services/TS29222_CAPIF_Events_API/capif_events/models/event_notification.py +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/event_notification.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 capif_events.models.base_model_ import Model +from capif_events.models.base_model import Model from capif_events.models.capif_event import CAPIFEvent from capif_events.models.capif_event_detail import CAPIFEventDetail from capif_events import util @@ -57,10 +54,10 @@ class EventNotification(Model): return util.deserialize_model(dikt, cls) @property - def subscription_id(self): + def subscription_id(self) -> str: """Gets the subscription_id of this EventNotification. - Identifier of the subscription resource to which the notification is related – CAPIF resource identifier # noqa: E501 + Identifier of the subscription resource to which the notification is related – CAPIF resource identifier # noqa: E501 :return: The subscription_id of this EventNotification. :rtype: str @@ -68,10 +65,10 @@ class EventNotification(Model): return self._subscription_id @subscription_id.setter - def subscription_id(self, subscription_id): + def subscription_id(self, subscription_id: str): """Sets the subscription_id of this EventNotification. - Identifier of the subscription resource to which the notification is related – CAPIF resource identifier # noqa: E501 + Identifier of the subscription resource to which the notification is related – CAPIF resource identifier # noqa: E501 :param subscription_id: The subscription_id of this EventNotification. :type subscription_id: str @@ -82,7 +79,7 @@ class EventNotification(Model): self._subscription_id = subscription_id @property - def events(self): + def events(self) -> CAPIFEvent: """Gets the events of this EventNotification. @@ -92,7 +89,7 @@ class EventNotification(Model): return self._events @events.setter - def events(self, events): + def events(self, events: CAPIFEvent): """Sets the events of this EventNotification. @@ -105,7 +102,7 @@ class EventNotification(Model): self._events = events @property - def event_detail(self): + def event_detail(self) -> CAPIFEventDetail: """Gets the event_detail of this EventNotification. @@ -115,7 +112,7 @@ class EventNotification(Model): return self._event_detail @event_detail.setter - def event_detail(self, event_detail): + def event_detail(self, event_detail: CAPIFEventDetail): """Sets the event_detail of this EventNotification. diff --git a/services/TS29222_CAPIF_Events_API/capif_events/models/event_subscription.py b/services/TS29222_CAPIF_Events_API/capif_events/models/event_subscription.py index c7ae736..6660c33 100644 --- a/services/TS29222_CAPIF_Events_API/capif_events/models/event_subscription.py +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/event_subscription.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 capif_events.models.base_model_ import Model +from capif_events.models.base_model import Model from capif_events.models.capif_event import CAPIFEvent from capif_events.models.capif_event_filter import CAPIFEventFilter from capif_events.models.reporting_information import ReportingInformation @@ -83,7 +80,7 @@ class EventSubscription(Model): return util.deserialize_model(dikt, cls) @property - def events(self): + def events(self) -> List[CAPIFEvent]: """Gets the events of this EventSubscription. Subscribed events # noqa: E501 @@ -94,7 +91,7 @@ class EventSubscription(Model): return self._events @events.setter - def events(self, events): + def events(self, events: List[CAPIFEvent]): """Sets the events of this EventSubscription. Subscribed events # noqa: E501 @@ -110,7 +107,7 @@ class EventSubscription(Model): self._events = events @property - def event_filters(self): + def event_filters(self) -> List[CAPIFEventFilter]: """Gets the event_filters of this EventSubscription. Subscribed event filters # noqa: E501 @@ -121,7 +118,7 @@ class EventSubscription(Model): return self._event_filters @event_filters.setter - def event_filters(self, event_filters): + def event_filters(self, event_filters: List[CAPIFEventFilter]): """Sets the event_filters of this EventSubscription. Subscribed event filters # noqa: E501 @@ -135,7 +132,7 @@ class EventSubscription(Model): self._event_filters = event_filters @property - def event_req(self): + def event_req(self) -> ReportingInformation: """Gets the event_req of this EventSubscription. @@ -145,7 +142,7 @@ class EventSubscription(Model): return self._event_req @event_req.setter - def event_req(self, event_req): + def event_req(self, event_req: ReportingInformation): """Sets the event_req of this EventSubscription. @@ -156,7 +153,7 @@ class EventSubscription(Model): self._event_req = event_req @property - def notification_destination(self): + def notification_destination(self) -> str: """Gets the notification_destination of this EventSubscription. string providing an URI formatted according to IETF RFC 3986. # noqa: E501 @@ -167,7 +164,7 @@ class EventSubscription(Model): return self._notification_destination @notification_destination.setter - def notification_destination(self, notification_destination): + def notification_destination(self, notification_destination: str): """Sets the notification_destination of this EventSubscription. string providing an URI formatted according to IETF RFC 3986. # noqa: E501 @@ -181,10 +178,10 @@ class EventSubscription(Model): self._notification_destination = notification_destination @property - def request_test_notification(self): + def request_test_notification(self) -> bool: """Gets the request_test_notification of this EventSubscription. - Set to true by Subscriber to request the CAPIF core function to send a test notification as defined in in subclause 7.6. Set to false or omitted otherwise. # noqa: E501 + Set to true by Subscriber to request the CAPIF core function to send a test notification as defined in in clause 7.6. Set to false or omitted otherwise. # noqa: E501 :return: The request_test_notification of this EventSubscription. :rtype: bool @@ -192,10 +189,10 @@ class EventSubscription(Model): return self._request_test_notification @request_test_notification.setter - def request_test_notification(self, request_test_notification): + def request_test_notification(self, request_test_notification: bool): """Sets the request_test_notification of this EventSubscription. - Set to true by Subscriber to request the CAPIF core function to send a test notification as defined in in subclause 7.6. Set to false or omitted otherwise. # noqa: E501 + Set to true by Subscriber to request the CAPIF core function to send a test notification as defined in in clause 7.6. Set to false or omitted otherwise. # noqa: E501 :param request_test_notification: The request_test_notification of this EventSubscription. :type request_test_notification: bool @@ -204,7 +201,7 @@ class EventSubscription(Model): self._request_test_notification = request_test_notification @property - def websock_notif_config(self): + def websock_notif_config(self) -> WebsockNotifConfig: """Gets the websock_notif_config of this EventSubscription. @@ -214,7 +211,7 @@ class EventSubscription(Model): return self._websock_notif_config @websock_notif_config.setter - def websock_notif_config(self, websock_notif_config): + def websock_notif_config(self, websock_notif_config: WebsockNotifConfig): """Sets the websock_notif_config of this EventSubscription. @@ -225,10 +222,10 @@ class EventSubscription(Model): self._websock_notif_config = websock_notif_config @property - def supported_features(self): + def supported_features(self) -> str: """Gets the supported_features of this EventSubscription. - 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 EventSubscription. :rtype: str @@ -236,10 +233,10 @@ class EventSubscription(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 EventSubscription. - 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 EventSubscription. :type supported_features: str diff --git a/services/TS29222_CAPIF_Events_API/capif_events/models/event_subscription_patch.py b/services/TS29222_CAPIF_Events_API/capif_events/models/event_subscription_patch.py new file mode 100644 index 0000000..51be7cd --- /dev/null +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/event_subscription_patch.py @@ -0,0 +1,155 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from capif_events.models.base_model import Model +from capif_events.models.capif_event import CAPIFEvent +from capif_events.models.capif_event_filter import CAPIFEventFilter +from capif_events.models.reporting_information import ReportingInformation +from capif_events import util + +from capif_events.models.capif_event import CAPIFEvent # noqa: E501 +from capif_events.models.capif_event_filter import CAPIFEventFilter # noqa: E501 +from capif_events.models.reporting_information import ReportingInformation # noqa: E501 + +class EventSubscriptionPatch(Model): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + """ + + def __init__(self, events=None, event_filters=None, event_req=None, notification_destination=None): # noqa: E501 + """EventSubscriptionPatch - a model defined in OpenAPI + + :param events: The events of this EventSubscriptionPatch. # noqa: E501 + :type events: List[CAPIFEvent] + :param event_filters: The event_filters of this EventSubscriptionPatch. # noqa: E501 + :type event_filters: List[CAPIFEventFilter] + :param event_req: The event_req of this EventSubscriptionPatch. # noqa: E501 + :type event_req: ReportingInformation + :param notification_destination: The notification_destination of this EventSubscriptionPatch. # noqa: E501 + :type notification_destination: str + """ + self.openapi_types = { + 'events': List[CAPIFEvent], + 'event_filters': List[CAPIFEventFilter], + 'event_req': ReportingInformation, + 'notification_destination': str + } + + self.attribute_map = { + 'events': 'events', + 'event_filters': 'eventFilters', + 'event_req': 'eventReq', + 'notification_destination': 'notificationDestination' + } + + self._events = events + self._event_filters = event_filters + self._event_req = event_req + self._notification_destination = notification_destination + + @classmethod + def from_dict(cls, dikt) -> 'EventSubscriptionPatch': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The EventSubscriptionPatch of this EventSubscriptionPatch. # noqa: E501 + :rtype: EventSubscriptionPatch + """ + return util.deserialize_model(dikt, cls) + + @property + def events(self) -> List[CAPIFEvent]: + """Gets the events of this EventSubscriptionPatch. + + Subscribed events # noqa: E501 + + :return: The events of this EventSubscriptionPatch. + :rtype: List[CAPIFEvent] + """ + return self._events + + @events.setter + def events(self, events: List[CAPIFEvent]): + """Sets the events of this EventSubscriptionPatch. + + Subscribed events # noqa: E501 + + :param events: The events of this EventSubscriptionPatch. + :type events: List[CAPIFEvent] + """ + if events is not None and len(events) < 1: + raise ValueError("Invalid value for `events`, number of items must be greater than or equal to `1`") # noqa: E501 + + self._events = events + + @property + def event_filters(self) -> List[CAPIFEventFilter]: + """Gets the event_filters of this EventSubscriptionPatch. + + Subscribed event filters # noqa: E501 + + :return: The event_filters of this EventSubscriptionPatch. + :rtype: List[CAPIFEventFilter] + """ + return self._event_filters + + @event_filters.setter + def event_filters(self, event_filters: List[CAPIFEventFilter]): + """Sets the event_filters of this EventSubscriptionPatch. + + Subscribed event filters # noqa: E501 + + :param event_filters: The event_filters of this EventSubscriptionPatch. + :type event_filters: List[CAPIFEventFilter] + """ + if event_filters is not None and len(event_filters) < 1: + raise ValueError("Invalid value for `event_filters`, number of items must be greater than or equal to `1`") # noqa: E501 + + self._event_filters = event_filters + + @property + def event_req(self) -> ReportingInformation: + """Gets the event_req of this EventSubscriptionPatch. + + + :return: The event_req of this EventSubscriptionPatch. + :rtype: ReportingInformation + """ + return self._event_req + + @event_req.setter + def event_req(self, event_req: ReportingInformation): + """Sets the event_req of this EventSubscriptionPatch. + + + :param event_req: The event_req of this EventSubscriptionPatch. + :type event_req: ReportingInformation + """ + + self._event_req = event_req + + @property + def notification_destination(self) -> str: + """Gets the notification_destination of this EventSubscriptionPatch. + + string providing an URI formatted according to IETF RFC 3986. # noqa: E501 + + :return: The notification_destination of this EventSubscriptionPatch. + :rtype: str + """ + return self._notification_destination + + @notification_destination.setter + def notification_destination(self, notification_destination: str): + """Sets the notification_destination of this EventSubscriptionPatch. + + string providing an URI formatted according to IETF RFC 3986. # noqa: E501 + + :param notification_destination: The notification_destination of this EventSubscriptionPatch. + :type notification_destination: str + """ + + self._notification_destination = notification_destination diff --git a/services/TS29222_CAPIF_Events_API/capif_events/models/gad_shape.py b/services/TS29222_CAPIF_Events_API/capif_events/models/gad_shape.py new file mode 100644 index 0000000..f669a85 --- /dev/null +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/gad_shape.py @@ -0,0 +1,65 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from capif_events.models.base_model import Model +from capif_events.models.supported_gad_shapes import SupportedGADShapes +from capif_events import util + +from capif_events.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_Events_API/capif_events/models/geographic_area.py b/services/TS29222_CAPIF_Events_API/capif_events/models/geographic_area.py new file mode 100644 index 0000000..45c7018 --- /dev/null +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/geographic_area.py @@ -0,0 +1,471 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from capif_events.models.base_model import Model +from capif_events.models.ellipsoid_arc import EllipsoidArc +from capif_events.models.geographical_coordinates import GeographicalCoordinates +from capif_events.models.point import Point +from capif_events.models.point_altitude import PointAltitude +from capif_events.models.point_altitude_uncertainty import PointAltitudeUncertainty +from capif_events.models.point_uncertainty_circle import PointUncertaintyCircle +from capif_events.models.point_uncertainty_ellipse import PointUncertaintyEllipse +from capif_events.models.polygon import Polygon +from capif_events.models.supported_gad_shapes import SupportedGADShapes +from capif_events.models.uncertainty_ellipse import UncertaintyEllipse +from capif_events import util + +from capif_events.models.ellipsoid_arc import EllipsoidArc # noqa: E501 +from capif_events.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 +from capif_events.models.point import Point # noqa: E501 +from capif_events.models.point_altitude import PointAltitude # noqa: E501 +from capif_events.models.point_altitude_uncertainty import PointAltitudeUncertainty # noqa: E501 +from capif_events.models.point_uncertainty_circle import PointUncertaintyCircle # noqa: E501 +from capif_events.models.point_uncertainty_ellipse import PointUncertaintyEllipse # noqa: E501 +from capif_events.models.polygon import Polygon # noqa: E501 +from capif_events.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 +from capif_events.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_Events_API/capif_events/models/geographical_coordinates.py b/services/TS29222_CAPIF_Events_API/capif_events/models/geographical_coordinates.py new file mode 100644 index 0000000..3821050 --- /dev/null +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/geographical_coordinates.py @@ -0,0 +1,99 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from capif_events.models.base_model import Model +from capif_events 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_Events_API/capif_events/models/interface_description.py b/services/TS29222_CAPIF_Events_API/capif_events/models/interface_description.py index 14b2b5d..d8cf6b7 100644 --- a/services/TS29222_CAPIF_Events_API/capif_events/models/interface_description.py +++ b/services/TS29222_CAPIF_Events_API/capif_events/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 capif_events.models.base_model_ import Model +from capif_events.models.base_model import Model from capif_events.models.security_method import SecurityMethod +import re from capif_events import util from capif_events.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_Events_API/capif_events/models/invalid_param.py b/services/TS29222_CAPIF_Events_API/capif_events/models/invalid_param.py index e9bc8ca..9f3557f 100644 --- a/services/TS29222_CAPIF_Events_API/capif_events/models/invalid_param.py +++ b/services/TS29222_CAPIF_Events_API/capif_events/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 capif_events.models.base_model_ import Model +from capif_events.models.base_model import Model from capif_events 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_Events_API/capif_events/models/invocation_log.py b/services/TS29222_CAPIF_Events_API/capif_events/models/invocation_log.py index bbe4886..c34c73b 100644 --- a/services/TS29222_CAPIF_Events_API/capif_events/models/invocation_log.py +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/invocation_log.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 capif_events.models.base_model_ import Model +from capif_events.models.base_model import Model from capif_events.models.log import Log import re from capif_events import util @@ -62,10 +59,10 @@ class InvocationLog(Model): return util.deserialize_model(dikt, cls) @property - def aef_id(self): + def aef_id(self) -> str: """Gets the aef_id of this InvocationLog. - Identity information of the API exposing function requesting logging of service API invocations # noqa: E501 + Identity information of the API exposing function requesting logging of service API invocations # noqa: E501 :return: The aef_id of this InvocationLog. :rtype: str @@ -73,10 +70,10 @@ class InvocationLog(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 InvocationLog. - Identity information of the API exposing function requesting logging of service API invocations # noqa: E501 + Identity information of the API exposing function requesting logging of service API invocations # noqa: E501 :param aef_id: The aef_id of this InvocationLog. :type aef_id: str @@ -87,7 +84,7 @@ class InvocationLog(Model): self._aef_id = aef_id @property - def api_invoker_id(self): + def api_invoker_id(self) -> str: """Gets the api_invoker_id of this InvocationLog. Identity of the API invoker which invoked the service API # noqa: E501 @@ -98,7 +95,7 @@ class InvocationLog(Model): return self._api_invoker_id @api_invoker_id.setter - def api_invoker_id(self, api_invoker_id): + def api_invoker_id(self, api_invoker_id: str): """Sets the api_invoker_id of this InvocationLog. Identity of the API invoker which invoked the service API # noqa: E501 @@ -112,7 +109,7 @@ class InvocationLog(Model): self._api_invoker_id = api_invoker_id @property - def logs(self): + def logs(self) -> List[Log]: """Gets the logs of this InvocationLog. Service API invocation log # noqa: E501 @@ -123,7 +120,7 @@ class InvocationLog(Model): return self._logs @logs.setter - def logs(self, logs): + def logs(self, logs: List[Log]): """Sets the logs of this InvocationLog. Service API invocation log # noqa: E501 @@ -139,10 +136,10 @@ class InvocationLog(Model): self._logs = logs @property - def supported_features(self): + def supported_features(self) -> str: """Gets the supported_features of this InvocationLog. - 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 InvocationLog. :rtype: str @@ -150,10 +147,10 @@ class InvocationLog(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 InvocationLog. - 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 InvocationLog. :type supported_features: str diff --git a/services/TS29222_CAPIF_Events_API/capif_events/models/ip_addr_range.py b/services/TS29222_CAPIF_Events_API/capif_events/models/ip_addr_range.py new file mode 100644 index 0000000..f633723 --- /dev/null +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/ip_addr_range.py @@ -0,0 +1,99 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from capif_events.models.base_model import Model +from capif_events.models.ipv4_address_range import Ipv4AddressRange +from capif_events.models.ipv6_address_range1 import Ipv6AddressRange1 +from capif_events import util + +from capif_events.models.ipv4_address_range import Ipv4AddressRange # noqa: E501 +from capif_events.models.ipv6_address_range1 import Ipv6AddressRange1 # 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[Ipv6AddressRange1] + """ + self.openapi_types = { + 'ue_ipv4_addr_ranges': List[Ipv4AddressRange], + 'ue_ipv6_addr_ranges': List[Ipv6AddressRange1] + } + + 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[Ipv6AddressRange1]: + """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[Ipv6AddressRange1] + """ + return self._ue_ipv6_addr_ranges + + @ue_ipv6_addr_ranges.setter + def ue_ipv6_addr_ranges(self, ue_ipv6_addr_ranges: List[Ipv6AddressRange1]): + """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[Ipv6AddressRange1] + """ + 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_Events_API/capif_events/models/ipv4_address_range.py b/services/TS29222_CAPIF_Events_API/capif_events/models/ipv4_address_range.py index 2741ca3..1e5f5c3 100644 --- a/services/TS29222_CAPIF_Events_API/capif_events/models/ipv4_address_range.py +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/ipv4_address_range.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 capif_events.models.base_model_ import Model +from capif_events.models.base_model import Model import re from capif_events import util @@ -50,10 +47,10 @@ class Ipv4AddressRange(Model): return util.deserialize_model(dikt, cls) @property - def start(self): + 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 + 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 @@ -61,24 +58,26 @@ class Ipv4AddressRange(Model): return self._start @start.setter - def start(self, start): + 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 + 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): + 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 + 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 @@ -86,14 +85,16 @@ class Ipv4AddressRange(Model): return self._end @end.setter - def end(self, end): + 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 + 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 diff --git a/services/TS29222_CAPIF_Events_API/capif_events/models/ipv4_address_range1.py b/services/TS29222_CAPIF_Events_API/capif_events/models/ipv4_address_range1.py new file mode 100644 index 0000000..2f8b4a5 --- /dev/null +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/ipv4_address_range1.py @@ -0,0 +1,97 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from capif_events.models.base_model import Model +import re +from capif_events import util + +import re # noqa: E501 + +class Ipv4AddressRange1(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 + """Ipv4AddressRange1 - a model defined in OpenAPI + + :param start: The start of this Ipv4AddressRange1. # noqa: E501 + :type start: str + :param end: The end of this Ipv4AddressRange1. # 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) -> 'Ipv4AddressRange1': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The Ipv4AddressRange_1 of this Ipv4AddressRange1. # noqa: E501 + :rtype: Ipv4AddressRange1 + """ + return util.deserialize_model(dikt, cls) + + @property + def start(self) -> str: + """Gets the start of this Ipv4AddressRange1. + + String identifying a IPv4 address formatted in the 'dotted decimal' notation as defined in RFC 1166. # noqa: E501 + + :return: The start of this Ipv4AddressRange1. + :rtype: str + """ + return self._start + + @start.setter + def start(self, start: str): + """Sets the start of this Ipv4AddressRange1. + + String identifying a IPv4 address formatted in the 'dotted decimal' notation as defined in RFC 1166. # noqa: E501 + + :param start: The start of this Ipv4AddressRange1. + :type start: str + """ + 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 Ipv4AddressRange1. + + String identifying a IPv4 address formatted in the 'dotted decimal' notation as defined in RFC 1166. # noqa: E501 + + :return: The end of this Ipv4AddressRange1. + :rtype: str + """ + return self._end + + @end.setter + def end(self, end: str): + """Sets the end of this Ipv4AddressRange1. + + String identifying a IPv4 address formatted in the 'dotted decimal' notation as defined in RFC 1166. # noqa: E501 + + :param end: The end of this Ipv4AddressRange1. + :type end: str + """ + 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_Events_API/capif_events/models/data_format_any_of.py b/services/TS29222_CAPIF_Events_API/capif_events/models/ipv6_addr1.py similarity index 58% rename from services/TS29222_CAPIF_Events_API/capif_events/models/data_format_any_of.py rename to services/TS29222_CAPIF_Events_API/capif_events/models/ipv6_addr1.py index 6ccaf76..d07d487 100644 --- a/services/TS29222_CAPIF_Events_API/capif_events/models/data_format_any_of.py +++ b/services/TS29222_CAPIF_Events_API/capif_events/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 capif_events.models.base_model_ import Model +from capif_events.models.base_model import Model from capif_events 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_Events_API/capif_events/models/ipv6_address_range.py b/services/TS29222_CAPIF_Events_API/capif_events/models/ipv6_address_range.py index a979db9..17f20cd 100644 --- a/services/TS29222_CAPIF_Events_API/capif_events/models/ipv6_address_range.py +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/ipv6_address_range.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 capif_events.models.base_model_ import Model +from capif_events.models.base_model import Model from capif_events import util @@ -48,10 +45,10 @@ class Ipv6AddressRange(Model): return util.deserialize_model(dikt, cls) @property - def start(self): + def start(self) -> str: """Gets the start of this Ipv6AddressRange. - 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 start of this Ipv6AddressRange. :rtype: str @@ -59,10 +56,10 @@ class Ipv6AddressRange(Model): return self._start @start.setter - def start(self, start): + def start(self, start: str): """Sets the start of this Ipv6AddressRange. - 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 start: The start of this Ipv6AddressRange. :type start: str @@ -73,10 +70,10 @@ class Ipv6AddressRange(Model): self._start = start @property - def end(self): + def end(self) -> str: """Gets the end of this Ipv6AddressRange. - 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 end of this Ipv6AddressRange. :rtype: str @@ -84,10 +81,10 @@ class Ipv6AddressRange(Model): return self._end @end.setter - def end(self, end): + def end(self, end: str): """Sets the end of this Ipv6AddressRange. - 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 end: The end of this Ipv6AddressRange. :type end: str diff --git a/services/TS29222_CAPIF_Events_API/capif_events/models/ipv6_address_range1.py b/services/TS29222_CAPIF_Events_API/capif_events/models/ipv6_address_range1.py new file mode 100644 index 0000000..4d67805 --- /dev/null +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/ipv6_address_range1.py @@ -0,0 +1,93 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from capif_events.models.base_model import Model +from capif_events.models.ipv6_addr1 import Ipv6Addr1 +from capif_events import util + +from capif_events.models.ipv6_addr1 import Ipv6Addr1 # noqa: E501 + +class Ipv6AddressRange1(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 + """Ipv6AddressRange1 - a model defined in OpenAPI + + :param start: The start of this Ipv6AddressRange1. # noqa: E501 + :type start: Ipv6Addr1 + :param end: The end of this Ipv6AddressRange1. # 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) -> 'Ipv6AddressRange1': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The Ipv6AddressRange_1 of this Ipv6AddressRange1. # noqa: E501 + :rtype: Ipv6AddressRange1 + """ + return util.deserialize_model(dikt, cls) + + @property + def start(self) -> Ipv6Addr1: + """Gets the start of this Ipv6AddressRange1. + + + :return: The start of this Ipv6AddressRange1. + :rtype: Ipv6Addr1 + """ + return self._start + + @start.setter + def start(self, start: Ipv6Addr1): + """Sets the start of this Ipv6AddressRange1. + + + :param start: The start of this Ipv6AddressRange1. + :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 Ipv6AddressRange1. + + + :return: The end of this Ipv6AddressRange1. + :rtype: Ipv6Addr1 + """ + return self._end + + @end.setter + def end(self, end: Ipv6Addr1): + """Sets the end of this Ipv6AddressRange1. + + + :param end: The end of this Ipv6AddressRange1. + :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_Events_API/capif_events/models/local2d_point_uncertainty_ellipse.py b/services/TS29222_CAPIF_Events_API/capif_events/models/local2d_point_uncertainty_ellipse.py new file mode 100644 index 0000000..694b07d --- /dev/null +++ b/services/TS29222_CAPIF_Events_API/capif_events/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 capif_events.models.base_model import Model +from capif_events.models.gad_shape import GADShape +from capif_events.models.local_origin import LocalOrigin +from capif_events.models.relative_cartesian_location import RelativeCartesianLocation +from capif_events.models.supported_gad_shapes import SupportedGADShapes +from capif_events.models.uncertainty_ellipse import UncertaintyEllipse +from capif_events import util + +from capif_events.models.gad_shape import GADShape # noqa: E501 +from capif_events.models.local_origin import LocalOrigin # noqa: E501 +from capif_events.models.relative_cartesian_location import RelativeCartesianLocation # noqa: E501 +from capif_events.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 +from capif_events.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_Events_API/capif_events/models/local3d_point_uncertainty_ellipsoid.py b/services/TS29222_CAPIF_Events_API/capif_events/models/local3d_point_uncertainty_ellipsoid.py new file mode 100644 index 0000000..5ba9504 --- /dev/null +++ b/services/TS29222_CAPIF_Events_API/capif_events/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 capif_events.models.base_model import Model +from capif_events.models.gad_shape import GADShape +from capif_events.models.local_origin import LocalOrigin +from capif_events.models.relative_cartesian_location import RelativeCartesianLocation +from capif_events.models.supported_gad_shapes import SupportedGADShapes +from capif_events.models.uncertainty_ellipsoid import UncertaintyEllipsoid +from capif_events import util + +from capif_events.models.gad_shape import GADShape # noqa: E501 +from capif_events.models.local_origin import LocalOrigin # noqa: E501 +from capif_events.models.relative_cartesian_location import RelativeCartesianLocation # noqa: E501 +from capif_events.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 +from capif_events.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_Events_API/capif_events/models/local_origin.py b/services/TS29222_CAPIF_Events_API/capif_events/models/local_origin.py new file mode 100644 index 0000000..07ec559 --- /dev/null +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/local_origin.py @@ -0,0 +1,89 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from capif_events.models.base_model import Model +from capif_events.models.geographical_coordinates import GeographicalCoordinates +from capif_events import util + +from capif_events.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_Events_API/capif_events/models/log.py b/services/TS29222_CAPIF_Events_API/capif_events/models/log.py index 1ac69f9..bfb21f7 100644 --- a/services/TS29222_CAPIF_Events_API/capif_events/models/log.py +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/log.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 capif_events.models.base_model_ import Model +from capif_events.models.base_model import Model from capif_events.models.interface_description import InterfaceDescription from capif_events.models.operation import Operation from capif_events.models.protocol import Protocol @@ -119,7 +116,7 @@ class Log(Model): return util.deserialize_model(dikt, cls) @property - def api_id(self): + def api_id(self) -> str: """Gets the api_id of this Log. String identifying the API invoked. # noqa: E501 @@ -130,7 +127,7 @@ class Log(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 Log. String identifying the API invoked. # noqa: E501 @@ -144,10 +141,10 @@ class Log(Model): self._api_id = api_id @property - def api_name(self): + def api_name(self) -> str: """Gets the api_name of this Log. - Name of the API which was invoked, it is set as {apiName} part of the URI structure as defined in subclause 4.4 of 3GPP TS 29.501. # noqa: E501 + Name of the API which was invoked, it is set as {apiName} part of the URI structure as defined in clause 5.2.4 of 3GPP TS 29.122. # noqa: E501 :return: The api_name of this Log. :rtype: str @@ -155,10 +152,10 @@ class Log(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 Log. - Name of the API which was invoked, it is set as {apiName} part of the URI structure as defined in subclause 4.4 of 3GPP TS 29.501. # noqa: E501 + Name of the API which was invoked, it is set as {apiName} part of the URI structure as defined in clause 5.2.4 of 3GPP TS 29.122. # noqa: E501 :param api_name: The api_name of this Log. :type api_name: str @@ -169,7 +166,7 @@ class Log(Model): self._api_name = api_name @property - def api_version(self): + def api_version(self) -> str: """Gets the api_version of this Log. Version of the API which was invoked # noqa: E501 @@ -180,7 +177,7 @@ class Log(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 Log. Version of the API which was invoked # noqa: E501 @@ -194,7 +191,7 @@ class Log(Model): self._api_version = api_version @property - def resource_name(self): + def resource_name(self) -> str: """Gets the resource_name of this Log. Name of the specific resource invoked # noqa: E501 @@ -205,7 +202,7 @@ class Log(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 Log. Name of the specific resource invoked # noqa: E501 @@ -219,7 +216,7 @@ class Log(Model): self._resource_name = resource_name @property - def uri(self): + def uri(self) -> str: """Gets the uri of this Log. string providing an URI formatted according to IETF RFC 3986. # noqa: E501 @@ -230,7 +227,7 @@ class Log(Model): return self._uri @uri.setter - def uri(self, uri): + def uri(self, uri: str): """Sets the uri of this Log. string providing an URI formatted according to IETF RFC 3986. # noqa: E501 @@ -242,7 +239,7 @@ class Log(Model): self._uri = uri @property - def protocol(self): + def protocol(self) -> Protocol: """Gets the protocol of this Log. @@ -252,7 +249,7 @@ class Log(Model): return self._protocol @protocol.setter - def protocol(self, protocol): + def protocol(self, protocol: Protocol): """Sets the protocol of this Log. @@ -265,7 +262,7 @@ class Log(Model): self._protocol = protocol @property - def operation(self): + def operation(self) -> Operation: """Gets the operation of this Log. @@ -275,7 +272,7 @@ class Log(Model): return self._operation @operation.setter - def operation(self, operation): + def operation(self, operation: Operation): """Sets the operation of this Log. @@ -286,7 +283,7 @@ class Log(Model): self._operation = operation @property - def result(self): + def result(self) -> str: """Gets the result of this Log. For HTTP protocol, it contains HTTP status code of the invocation # noqa: E501 @@ -297,7 +294,7 @@ class Log(Model): return self._result @result.setter - def result(self, result): + def result(self, result: str): """Sets the result of this Log. For HTTP protocol, it contains HTTP status code of the invocation # noqa: E501 @@ -311,7 +308,7 @@ class Log(Model): self._result = result @property - def invocation_time(self): + def invocation_time(self) -> datetime: """Gets the invocation_time of this Log. string with format \"date-time\" as defined in OpenAPI. # noqa: E501 @@ -322,7 +319,7 @@ class Log(Model): return self._invocation_time @invocation_time.setter - def invocation_time(self, invocation_time): + def invocation_time(self, invocation_time: datetime): """Sets the invocation_time of this Log. string with format \"date-time\" as defined in OpenAPI. # noqa: E501 @@ -334,10 +331,10 @@ class Log(Model): self._invocation_time = invocation_time @property - def invocation_latency(self): + def invocation_latency(self) -> int: """Gets the invocation_latency of this Log. - Unsigned integer identifying a period of time in units of milliseconds. # noqa: E501 + Represents a period of time in units of milliseconds. # noqa: E501 :return: The invocation_latency of this Log. :rtype: int @@ -345,10 +342,10 @@ class Log(Model): return self._invocation_latency @invocation_latency.setter - def invocation_latency(self, invocation_latency): + def invocation_latency(self, invocation_latency: int): """Sets the invocation_latency of this Log. - Unsigned integer identifying a period of time in units of milliseconds. # noqa: E501 + Represents a period of time in units of milliseconds. # noqa: E501 :param invocation_latency: The invocation_latency of this Log. :type invocation_latency: int @@ -359,10 +356,10 @@ class Log(Model): self._invocation_latency = invocation_latency @property - def input_parameters(self): + def input_parameters(self) -> object: """Gets the input_parameters of this Log. - List of input parameters. Can be any value - string, number, boolean, array or object. # noqa: E501 + List of input parameters. Can be any value - string, number, boolean, array or object. # noqa: E501 :return: The input_parameters of this Log. :rtype: object @@ -370,10 +367,10 @@ class Log(Model): return self._input_parameters @input_parameters.setter - def input_parameters(self, input_parameters): + def input_parameters(self, input_parameters: object): """Sets the input_parameters of this Log. - List of input parameters. Can be any value - string, number, boolean, array or object. # noqa: E501 + List of input parameters. Can be any value - string, number, boolean, array or object. # noqa: E501 :param input_parameters: The input_parameters of this Log. :type input_parameters: object @@ -382,10 +379,10 @@ class Log(Model): self._input_parameters = input_parameters @property - def output_parameters(self): + def output_parameters(self) -> object: """Gets the output_parameters of this Log. - List of output parameters. Can be any value - string, number, boolean, array or object. # noqa: E501 + List of output parameters. Can be any value - string, number, boolean, array or object. # noqa: E501 :return: The output_parameters of this Log. :rtype: object @@ -393,10 +390,10 @@ class Log(Model): return self._output_parameters @output_parameters.setter - def output_parameters(self, output_parameters): + def output_parameters(self, output_parameters: object): """Sets the output_parameters of this Log. - List of output parameters. Can be any value - string, number, boolean, array or object. # noqa: E501 + List of output parameters. Can be any value - string, number, boolean, array or object. # noqa: E501 :param output_parameters: The output_parameters of this Log. :type output_parameters: object @@ -405,7 +402,7 @@ class Log(Model): self._output_parameters = output_parameters @property - def src_interface(self): + def src_interface(self) -> InterfaceDescription: """Gets the src_interface of this Log. @@ -415,7 +412,7 @@ class Log(Model): return self._src_interface @src_interface.setter - def src_interface(self, src_interface): + def src_interface(self, src_interface: InterfaceDescription): """Sets the src_interface of this Log. @@ -426,7 +423,7 @@ class Log(Model): self._src_interface = src_interface @property - def dest_interface(self): + def dest_interface(self) -> InterfaceDescription: """Gets the dest_interface of this Log. @@ -436,7 +433,7 @@ class Log(Model): return self._dest_interface @dest_interface.setter - def dest_interface(self, dest_interface): + def dest_interface(self, dest_interface: InterfaceDescription): """Sets the dest_interface of this Log. @@ -447,10 +444,10 @@ class Log(Model): self._dest_interface = dest_interface @property - def fwd_interface(self): + def fwd_interface(self) -> str: """Gets the fwd_interface of this Log. - It includes the node identifier (as defined in IETF RFC 7239 of all forwarding entities between the API invoker and the AEF, concatenated with comma and space, e.g. 192.0.2.43:80, unknown:_OBFport, 203.0.113.60 # noqa: E501 + It includes the node identifier (as defined in IETF RFC 7239 of all forwarding entities between the API invoker and the AEF, concatenated with comma and space, e.g. 192.0.2.43:80, unknown:_OBFport, 203.0.113.60 # noqa: E501 :return: The fwd_interface of this Log. :rtype: str @@ -458,10 +455,10 @@ class Log(Model): return self._fwd_interface @fwd_interface.setter - def fwd_interface(self, fwd_interface): + def fwd_interface(self, fwd_interface: str): """Sets the fwd_interface of this Log. - It includes the node identifier (as defined in IETF RFC 7239 of all forwarding entities between the API invoker and the AEF, concatenated with comma and space, e.g. 192.0.2.43:80, unknown:_OBFport, 203.0.113.60 # noqa: E501 + It includes the node identifier (as defined in IETF RFC 7239 of all forwarding entities between the API invoker and the AEF, concatenated with comma and space, e.g. 192.0.2.43:80, unknown:_OBFport, 203.0.113.60 # noqa: E501 :param fwd_interface: The fwd_interface of this Log. :type fwd_interface: str diff --git a/services/TS29222_CAPIF_Events_API/capif_events/models/muting_exception_instructions.py b/services/TS29222_CAPIF_Events_API/capif_events/models/muting_exception_instructions.py new file mode 100644 index 0000000..0083924 --- /dev/null +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/muting_exception_instructions.py @@ -0,0 +1,91 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from capif_events.models.base_model import Model +from capif_events.models.buffered_notifications_action import BufferedNotificationsAction +from capif_events.models.subscription_action import SubscriptionAction +from capif_events import util + +from capif_events.models.buffered_notifications_action import BufferedNotificationsAction # noqa: E501 +from capif_events.models.subscription_action import SubscriptionAction # noqa: E501 + +class MutingExceptionInstructions(Model): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + """ + + def __init__(self, buffered_notifs=None, subscription=None): # noqa: E501 + """MutingExceptionInstructions - a model defined in OpenAPI + + :param buffered_notifs: The buffered_notifs of this MutingExceptionInstructions. # noqa: E501 + :type buffered_notifs: BufferedNotificationsAction + :param subscription: The subscription of this MutingExceptionInstructions. # noqa: E501 + :type subscription: SubscriptionAction + """ + self.openapi_types = { + 'buffered_notifs': BufferedNotificationsAction, + 'subscription': SubscriptionAction + } + + self.attribute_map = { + 'buffered_notifs': 'bufferedNotifs', + 'subscription': 'subscription' + } + + self._buffered_notifs = buffered_notifs + self._subscription = subscription + + @classmethod + def from_dict(cls, dikt) -> 'MutingExceptionInstructions': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The MutingExceptionInstructions of this MutingExceptionInstructions. # noqa: E501 + :rtype: MutingExceptionInstructions + """ + return util.deserialize_model(dikt, cls) + + @property + def buffered_notifs(self) -> BufferedNotificationsAction: + """Gets the buffered_notifs of this MutingExceptionInstructions. + + + :return: The buffered_notifs of this MutingExceptionInstructions. + :rtype: BufferedNotificationsAction + """ + return self._buffered_notifs + + @buffered_notifs.setter + def buffered_notifs(self, buffered_notifs: BufferedNotificationsAction): + """Sets the buffered_notifs of this MutingExceptionInstructions. + + + :param buffered_notifs: The buffered_notifs of this MutingExceptionInstructions. + :type buffered_notifs: BufferedNotificationsAction + """ + + self._buffered_notifs = buffered_notifs + + @property + def subscription(self) -> SubscriptionAction: + """Gets the subscription of this MutingExceptionInstructions. + + + :return: The subscription of this MutingExceptionInstructions. + :rtype: SubscriptionAction + """ + return self._subscription + + @subscription.setter + def subscription(self, subscription: SubscriptionAction): + """Sets the subscription of this MutingExceptionInstructions. + + + :param subscription: The subscription of this MutingExceptionInstructions. + :type subscription: SubscriptionAction + """ + + self._subscription = subscription diff --git a/services/TS29222_CAPIF_Events_API/capif_events/models/muting_notifications_settings.py b/services/TS29222_CAPIF_Events_API/capif_events/models/muting_notifications_settings.py new file mode 100644 index 0000000..ac4ea3d --- /dev/null +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/muting_notifications_settings.py @@ -0,0 +1,89 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from capif_events.models.base_model import Model +from capif_events import util + + +class MutingNotificationsSettings(Model): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + """ + + def __init__(self, max_no_of_notif=None, duration_buffered_notif=None): # noqa: E501 + """MutingNotificationsSettings - a model defined in OpenAPI + + :param max_no_of_notif: The max_no_of_notif of this MutingNotificationsSettings. # noqa: E501 + :type max_no_of_notif: int + :param duration_buffered_notif: The duration_buffered_notif of this MutingNotificationsSettings. # noqa: E501 + :type duration_buffered_notif: int + """ + self.openapi_types = { + 'max_no_of_notif': int, + 'duration_buffered_notif': int + } + + self.attribute_map = { + 'max_no_of_notif': 'maxNoOfNotif', + 'duration_buffered_notif': 'durationBufferedNotif' + } + + self._max_no_of_notif = max_no_of_notif + self._duration_buffered_notif = duration_buffered_notif + + @classmethod + def from_dict(cls, dikt) -> 'MutingNotificationsSettings': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The MutingNotificationsSettings of this MutingNotificationsSettings. # noqa: E501 + :rtype: MutingNotificationsSettings + """ + return util.deserialize_model(dikt, cls) + + @property + def max_no_of_notif(self) -> int: + """Gets the max_no_of_notif of this MutingNotificationsSettings. + + + :return: The max_no_of_notif of this MutingNotificationsSettings. + :rtype: int + """ + return self._max_no_of_notif + + @max_no_of_notif.setter + def max_no_of_notif(self, max_no_of_notif: int): + """Sets the max_no_of_notif of this MutingNotificationsSettings. + + + :param max_no_of_notif: The max_no_of_notif of this MutingNotificationsSettings. + :type max_no_of_notif: int + """ + + self._max_no_of_notif = max_no_of_notif + + @property + def duration_buffered_notif(self) -> int: + """Gets the duration_buffered_notif of this MutingNotificationsSettings. + + indicating a time in seconds. # noqa: E501 + + :return: The duration_buffered_notif of this MutingNotificationsSettings. + :rtype: int + """ + return self._duration_buffered_notif + + @duration_buffered_notif.setter + def duration_buffered_notif(self, duration_buffered_notif: int): + """Sets the duration_buffered_notif of this MutingNotificationsSettings. + + indicating a time in seconds. # noqa: E501 + + :param duration_buffered_notif: The duration_buffered_notif of this MutingNotificationsSettings. + :type duration_buffered_notif: int + """ + + self._duration_buffered_notif = duration_buffered_notif diff --git a/services/TS29222_CAPIF_Events_API/capif_events/models/notification_flag.py b/services/TS29222_CAPIF_Events_API/capif_events/models/notification_flag.py index 6bc032c..fa4d525 100644 --- a/services/TS29222_CAPIF_Events_API/capif_events/models/notification_flag.py +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/notification_flag.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 capif_events.models.base_model_ import Model -from capif_events.models.notification_flag_any_of import NotificationFlagAnyOf +from capif_events.models.base_model import Model from capif_events import util -from capif_events.models.notification_flag_any_of import NotificationFlagAnyOf # noqa: E501 class NotificationFlag(Model): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/services/TS29222_CAPIF_Events_API/capif_events/models/notification_flag_any_of.py b/services/TS29222_CAPIF_Events_API/capif_events/models/notification_flag_any_of.py deleted file mode 100644 index f1133b1..0000000 --- a/services/TS29222_CAPIF_Events_API/capif_events/models/notification_flag_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 capif_events.models.base_model_ import Model -from capif_events import util - - -class NotificationFlagAnyOf(Model): - """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - - Do not edit the class manually. - """ - - """ - allowed enum values - """ - ACTIVATE = "ACTIVATE" - DEACTIVATE = "DEACTIVATE" - RETRIEVAL = "RETRIEVAL" - def __init__(self): # noqa: E501 - """NotificationFlagAnyOf - a model defined in OpenAPI - - """ - self.openapi_types = { - } - - self.attribute_map = { - } - - @classmethod - def from_dict(cls, dikt) -> 'NotificationFlagAnyOf': - """Returns the dict as a model - - :param dikt: A dict. - :type: dict - :return: The NotificationFlag_anyOf of this NotificationFlagAnyOf. # noqa: E501 - :rtype: NotificationFlagAnyOf - """ - return util.deserialize_model(dikt, cls) diff --git a/services/TS29222_CAPIF_Events_API/capif_events/models/notification_method.py b/services/TS29222_CAPIF_Events_API/capif_events/models/notification_method.py index b8600df..b87ce0b 100644 --- a/services/TS29222_CAPIF_Events_API/capif_events/models/notification_method.py +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/notification_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 capif_events.models.base_model_ import Model -from capif_events.models.notification_method_any_of import NotificationMethodAnyOf +from capif_events.models.base_model import Model from capif_events import util -from capif_events.models.notification_method_any_of import NotificationMethodAnyOf # noqa: E501 class NotificationMethod(Model): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/services/TS29222_CAPIF_Events_API/capif_events/models/notification_method_any_of.py b/services/TS29222_CAPIF_Events_API/capif_events/models/notification_method_any_of.py deleted file mode 100644 index 3bf0f83..0000000 --- a/services/TS29222_CAPIF_Events_API/capif_events/models/notification_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 capif_events.models.base_model_ import Model -from capif_events import util - - -class NotificationMethodAnyOf(Model): - """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - - Do not edit the class manually. - """ - - """ - allowed enum values - """ - PERIODIC = "PERIODIC" - ONE_TIME = "ONE_TIME" - ON_EVENT_DETECTION = "ON_EVENT_DETECTION" - def __init__(self): # noqa: E501 - """NotificationMethodAnyOf - a model defined in OpenAPI - - """ - self.openapi_types = { - } - - self.attribute_map = { - } - - @classmethod - def from_dict(cls, dikt) -> 'NotificationMethodAnyOf': - """Returns the dict as a model - - :param dikt: A dict. - :type: dict - :return: The NotificationMethod_anyOf of this NotificationMethodAnyOf. # noqa: E501 - :rtype: NotificationMethodAnyOf - """ - return util.deserialize_model(dikt, cls) diff --git a/services/TS29222_CAPIF_Events_API/capif_events/models/operation.py b/services/TS29222_CAPIF_Events_API/capif_events/models/operation.py index 3c85bfb..01c0842 100644 --- a/services/TS29222_CAPIF_Events_API/capif_events/models/operation.py +++ b/services/TS29222_CAPIF_Events_API/capif_events/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 capif_events.models.base_model_ import Model -from capif_events.models.operation_any_of import OperationAnyOf +from capif_events.models.base_model import Model from capif_events import util -from capif_events.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_Events_API/capif_events/models/partitioning_criteria.py b/services/TS29222_CAPIF_Events_API/capif_events/models/partitioning_criteria.py index 063782b..1fed743 100644 --- a/services/TS29222_CAPIF_Events_API/capif_events/models/partitioning_criteria.py +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/partitioning_criteria.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 capif_events.models.base_model_ import Model -from capif_events.models.partitioning_criteria_any_of import PartitioningCriteriaAnyOf +from capif_events.models.base_model import Model from capif_events import util -from capif_events.models.partitioning_criteria_any_of import PartitioningCriteriaAnyOf # noqa: E501 class PartitioningCriteria(Model): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/services/TS29222_CAPIF_Events_API/capif_events/models/partitioning_criteria_any_of.py b/services/TS29222_CAPIF_Events_API/capif_events/models/partitioning_criteria_any_of.py deleted file mode 100644 index 4c0faed..0000000 --- a/services/TS29222_CAPIF_Events_API/capif_events/models/partitioning_criteria_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 capif_events.models.base_model_ import Model -from capif_events import util - - -class PartitioningCriteriaAnyOf(Model): - """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - - Do not edit the class manually. - """ - - """ - allowed enum values - """ - TAC = "TAC" - SUBPLMN = "SUBPLMN" - GEOAREA = "GEOAREA" - SNSSAI = "SNSSAI" - DNN = "DNN" - def __init__(self): # noqa: E501 - """PartitioningCriteriaAnyOf - a model defined in OpenAPI - - """ - self.openapi_types = { - } - - self.attribute_map = { - } - - @classmethod - def from_dict(cls, dikt) -> 'PartitioningCriteriaAnyOf': - """Returns the dict as a model - - :param dikt: A dict. - :type: dict - :return: The PartitioningCriteria_anyOf of this PartitioningCriteriaAnyOf. # noqa: E501 - :rtype: PartitioningCriteriaAnyOf - """ - return util.deserialize_model(dikt, cls) diff --git a/services/TS29222_CAPIF_Events_API/capif_events/models/point.py b/services/TS29222_CAPIF_Events_API/capif_events/models/point.py new file mode 100644 index 0000000..25e5dce --- /dev/null +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/point.py @@ -0,0 +1,97 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from capif_events.models.base_model import Model +from capif_events.models.gad_shape import GADShape +from capif_events.models.geographical_coordinates import GeographicalCoordinates +from capif_events.models.supported_gad_shapes import SupportedGADShapes +from capif_events import util + +from capif_events.models.gad_shape import GADShape # noqa: E501 +from capif_events.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 +from capif_events.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_Events_API/capif_events/models/point_altitude.py b/services/TS29222_CAPIF_Events_API/capif_events/models/point_altitude.py new file mode 100644 index 0000000..e1fbee8 --- /dev/null +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/point_altitude.py @@ -0,0 +1,131 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from capif_events.models.base_model import Model +from capif_events.models.gad_shape import GADShape +from capif_events.models.geographical_coordinates import GeographicalCoordinates +from capif_events.models.supported_gad_shapes import SupportedGADShapes +from capif_events import util + +from capif_events.models.gad_shape import GADShape # noqa: E501 +from capif_events.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 +from capif_events.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_Events_API/capif_events/models/point_altitude_uncertainty.py b/services/TS29222_CAPIF_Events_API/capif_events/models/point_altitude_uncertainty.py new file mode 100644 index 0000000..965fd43 --- /dev/null +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/point_altitude_uncertainty.py @@ -0,0 +1,259 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from capif_events.models.base_model import Model +from capif_events.models.gad_shape import GADShape +from capif_events.models.geographical_coordinates import GeographicalCoordinates +from capif_events.models.supported_gad_shapes import SupportedGADShapes +from capif_events.models.uncertainty_ellipse import UncertaintyEllipse +from capif_events import util + +from capif_events.models.gad_shape import GADShape # noqa: E501 +from capif_events.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 +from capif_events.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 +from capif_events.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_Events_API/capif_events/models/point_uncertainty_circle.py b/services/TS29222_CAPIF_Events_API/capif_events/models/point_uncertainty_circle.py new file mode 100644 index 0000000..8ea7284 --- /dev/null +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/point_uncertainty_circle.py @@ -0,0 +1,129 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from capif_events.models.base_model import Model +from capif_events.models.gad_shape import GADShape +from capif_events.models.geographical_coordinates import GeographicalCoordinates +from capif_events.models.supported_gad_shapes import SupportedGADShapes +from capif_events import util + +from capif_events.models.gad_shape import GADShape # noqa: E501 +from capif_events.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 +from capif_events.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_Events_API/capif_events/models/point_uncertainty_ellipse.py b/services/TS29222_CAPIF_Events_API/capif_events/models/point_uncertainty_ellipse.py new file mode 100644 index 0000000..07f7727 --- /dev/null +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/point_uncertainty_ellipse.py @@ -0,0 +1,161 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from capif_events.models.base_model import Model +from capif_events.models.gad_shape import GADShape +from capif_events.models.geographical_coordinates import GeographicalCoordinates +from capif_events.models.supported_gad_shapes import SupportedGADShapes +from capif_events.models.uncertainty_ellipse import UncertaintyEllipse +from capif_events import util + +from capif_events.models.gad_shape import GADShape # noqa: E501 +from capif_events.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 +from capif_events.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 +from capif_events.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_Events_API/capif_events/models/polygon.py b/services/TS29222_CAPIF_Events_API/capif_events/models/polygon.py new file mode 100644 index 0000000..8804de2 --- /dev/null +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/polygon.py @@ -0,0 +1,103 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from capif_events.models.base_model import Model +from capif_events.models.gad_shape import GADShape +from capif_events.models.geographical_coordinates import GeographicalCoordinates +from capif_events.models.supported_gad_shapes import SupportedGADShapes +from capif_events import util + +from capif_events.models.gad_shape import GADShape # noqa: E501 +from capif_events.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 +from capif_events.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_Events_API/capif_events/models/problem_details.py b/services/TS29222_CAPIF_Events_API/capif_events/models/problem_details.py index 04f1577..10e9114 100644 --- a/services/TS29222_CAPIF_Events_API/capif_events/models/problem_details.py +++ b/services/TS29222_CAPIF_Events_API/capif_events/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 capif_events.models.base_model_ import Model +from capif_events.models.base_model import Model from capif_events.models.invalid_param import InvalidParam import re from capif_events 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_Events_API/capif_events/models/protocol.py b/services/TS29222_CAPIF_Events_API/capif_events/models/protocol.py index e62d3cd..437f5b2 100644 --- a/services/TS29222_CAPIF_Events_API/capif_events/models/protocol.py +++ b/services/TS29222_CAPIF_Events_API/capif_events/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 capif_events.models.base_model_ import Model -from capif_events.models.protocol_any_of import ProtocolAnyOf +from capif_events.models.base_model import Model from capif_events import util -from capif_events.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_Events_API/capif_events/models/published_api_path.py b/services/TS29222_CAPIF_Events_API/capif_events/models/published_api_path.py index 6554d77..f341f1c 100644 --- a/services/TS29222_CAPIF_Events_API/capif_events/models/published_api_path.py +++ b/services/TS29222_CAPIF_Events_API/capif_events/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 capif_events.models.base_model_ import Model +from capif_events.models.base_model import Model from capif_events 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_Events_API/capif_events/models/relative_cartesian_location.py b/services/TS29222_CAPIF_Events_API/capif_events/models/relative_cartesian_location.py new file mode 100644 index 0000000..5a99492 --- /dev/null +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/relative_cartesian_location.py @@ -0,0 +1,123 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from capif_events.models.base_model import Model +from capif_events 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_Events_API/capif_events/models/reporting_information.py b/services/TS29222_CAPIF_Events_API/capif_events/models/reporting_information.py index 8a1a517..08e387b 100644 --- a/services/TS29222_CAPIF_Events_API/capif_events/models/reporting_information.py +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/reporting_information.py @@ -1,16 +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 capif_events.models.base_model_ import Model +from capif_events.models.base_model import Model +from capif_events.models.muting_exception_instructions import MutingExceptionInstructions +from capif_events.models.muting_notifications_settings import MutingNotificationsSettings from capif_events.models.notification_flag import NotificationFlag from capif_events.models.notification_method import NotificationMethod from capif_events.models.partitioning_criteria import PartitioningCriteria from capif_events import util +from capif_events.models.muting_exception_instructions import MutingExceptionInstructions # noqa: E501 +from capif_events.models.muting_notifications_settings import MutingNotificationsSettings # noqa: E501 from capif_events.models.notification_flag import NotificationFlag # noqa: E501 from capif_events.models.notification_method import NotificationMethod # noqa: E501 from capif_events.models.partitioning_criteria import PartitioningCriteria # noqa: E501 @@ -21,7 +22,7 @@ class ReportingInformation(Model): Do not edit the class manually. """ - def __init__(self, imm_rep=None, notif_method=None, max_report_nbr=None, mon_dur=None, rep_period=None, samp_ratio=None, partition_criteria=None, grp_rep_time=None, notif_flag=None): # noqa: E501 + def __init__(self, imm_rep=None, notif_method=None, max_report_nbr=None, mon_dur=None, rep_period=None, samp_ratio=None, partition_criteria=None, grp_rep_time=None, notif_flag=None, notif_flag_instruct=None, muting_setting=None): # noqa: E501 """ReportingInformation - a model defined in OpenAPI :param imm_rep: The imm_rep of this ReportingInformation. # noqa: E501 @@ -42,6 +43,10 @@ class ReportingInformation(Model): :type grp_rep_time: int :param notif_flag: The notif_flag of this ReportingInformation. # noqa: E501 :type notif_flag: NotificationFlag + :param notif_flag_instruct: The notif_flag_instruct of this ReportingInformation. # noqa: E501 + :type notif_flag_instruct: MutingExceptionInstructions + :param muting_setting: The muting_setting of this ReportingInformation. # noqa: E501 + :type muting_setting: MutingNotificationsSettings """ self.openapi_types = { 'imm_rep': bool, @@ -52,7 +57,9 @@ class ReportingInformation(Model): 'samp_ratio': int, 'partition_criteria': List[PartitioningCriteria], 'grp_rep_time': int, - 'notif_flag': NotificationFlag + 'notif_flag': NotificationFlag, + 'notif_flag_instruct': MutingExceptionInstructions, + 'muting_setting': MutingNotificationsSettings } self.attribute_map = { @@ -64,7 +71,9 @@ class ReportingInformation(Model): 'samp_ratio': 'sampRatio', 'partition_criteria': 'partitionCriteria', 'grp_rep_time': 'grpRepTime', - 'notif_flag': 'notifFlag' + 'notif_flag': 'notifFlag', + 'notif_flag_instruct': 'notifFlagInstruct', + 'muting_setting': 'mutingSetting' } self._imm_rep = imm_rep @@ -76,6 +85,8 @@ class ReportingInformation(Model): self._partition_criteria = partition_criteria self._grp_rep_time = grp_rep_time self._notif_flag = notif_flag + self._notif_flag_instruct = notif_flag_instruct + self._muting_setting = muting_setting @classmethod def from_dict(cls, dikt) -> 'ReportingInformation': @@ -89,7 +100,7 @@ class ReportingInformation(Model): return util.deserialize_model(dikt, cls) @property - def imm_rep(self): + def imm_rep(self) -> bool: """Gets the imm_rep of this ReportingInformation. @@ -99,7 +110,7 @@ class ReportingInformation(Model): return self._imm_rep @imm_rep.setter - def imm_rep(self, imm_rep): + def imm_rep(self, imm_rep: bool): """Sets the imm_rep of this ReportingInformation. @@ -110,7 +121,7 @@ class ReportingInformation(Model): self._imm_rep = imm_rep @property - def notif_method(self): + def notif_method(self) -> NotificationMethod: """Gets the notif_method of this ReportingInformation. @@ -120,7 +131,7 @@ class ReportingInformation(Model): return self._notif_method @notif_method.setter - def notif_method(self, notif_method): + def notif_method(self, notif_method: NotificationMethod): """Sets the notif_method of this ReportingInformation. @@ -131,7 +142,7 @@ class ReportingInformation(Model): self._notif_method = notif_method @property - def max_report_nbr(self): + def max_report_nbr(self) -> int: """Gets the max_report_nbr of this ReportingInformation. Unsigned Integer, i.e. only value 0 and integers above 0 are permissible. # noqa: E501 @@ -142,7 +153,7 @@ class ReportingInformation(Model): return self._max_report_nbr @max_report_nbr.setter - def max_report_nbr(self, max_report_nbr): + def max_report_nbr(self, max_report_nbr: int): """Sets the max_report_nbr of this ReportingInformation. Unsigned Integer, i.e. only value 0 and integers above 0 are permissible. # noqa: E501 @@ -156,10 +167,10 @@ class ReportingInformation(Model): self._max_report_nbr = max_report_nbr @property - def mon_dur(self): + def mon_dur(self) -> datetime: """Gets the mon_dur of this ReportingInformation. - string with format \"date-time\" as defined in OpenAPI. # noqa: E501 + string with format 'date-time' as defined in OpenAPI. # noqa: E501 :return: The mon_dur of this ReportingInformation. :rtype: datetime @@ -167,10 +178,10 @@ class ReportingInformation(Model): return self._mon_dur @mon_dur.setter - def mon_dur(self, mon_dur): + def mon_dur(self, mon_dur: datetime): """Sets the mon_dur of this ReportingInformation. - string with format \"date-time\" as defined in OpenAPI. # noqa: E501 + string with format 'date-time' as defined in OpenAPI. # noqa: E501 :param mon_dur: The mon_dur of this ReportingInformation. :type mon_dur: datetime @@ -179,7 +190,7 @@ class ReportingInformation(Model): self._mon_dur = mon_dur @property - def rep_period(self): + def rep_period(self) -> int: """Gets the rep_period of this ReportingInformation. indicating a time in seconds. # noqa: E501 @@ -190,7 +201,7 @@ class ReportingInformation(Model): return self._rep_period @rep_period.setter - def rep_period(self, rep_period): + def rep_period(self, rep_period: int): """Sets the rep_period of this ReportingInformation. indicating a time in seconds. # noqa: E501 @@ -202,10 +213,10 @@ class ReportingInformation(Model): self._rep_period = rep_period @property - def samp_ratio(self): + def samp_ratio(self) -> int: """Gets the samp_ratio of this ReportingInformation. - Unsigned integer indicating Sampling Ratio (see clauses 4.15.1 of 3GPP TS 23.502), expressed in percent. # noqa: E501 + Unsigned integer indicating Sampling Ratio (see clauses 4.15.1 of 3GPP TS 23.502), expressed in percent. # noqa: E501 :return: The samp_ratio of this ReportingInformation. :rtype: int @@ -213,10 +224,10 @@ class ReportingInformation(Model): return self._samp_ratio @samp_ratio.setter - def samp_ratio(self, samp_ratio): + def samp_ratio(self, samp_ratio: int): """Sets the samp_ratio of this ReportingInformation. - Unsigned integer indicating Sampling Ratio (see clauses 4.15.1 of 3GPP TS 23.502), expressed in percent. # noqa: E501 + Unsigned integer indicating Sampling Ratio (see clauses 4.15.1 of 3GPP TS 23.502), expressed in percent. # noqa: E501 :param samp_ratio: The samp_ratio of this ReportingInformation. :type samp_ratio: int @@ -229,7 +240,7 @@ class ReportingInformation(Model): self._samp_ratio = samp_ratio @property - def partition_criteria(self): + def partition_criteria(self) -> List[PartitioningCriteria]: """Gets the partition_criteria of this ReportingInformation. Criteria for partitioning the UEs before applying the sampling ratio. # noqa: E501 @@ -240,7 +251,7 @@ class ReportingInformation(Model): return self._partition_criteria @partition_criteria.setter - def partition_criteria(self, partition_criteria): + def partition_criteria(self, partition_criteria: List[PartitioningCriteria]): """Sets the partition_criteria of this ReportingInformation. Criteria for partitioning the UEs before applying the sampling ratio. # noqa: E501 @@ -254,7 +265,7 @@ class ReportingInformation(Model): self._partition_criteria = partition_criteria @property - def grp_rep_time(self): + def grp_rep_time(self) -> int: """Gets the grp_rep_time of this ReportingInformation. indicating a time in seconds. # noqa: E501 @@ -265,7 +276,7 @@ class ReportingInformation(Model): return self._grp_rep_time @grp_rep_time.setter - def grp_rep_time(self, grp_rep_time): + def grp_rep_time(self, grp_rep_time: int): """Sets the grp_rep_time of this ReportingInformation. indicating a time in seconds. # noqa: E501 @@ -277,7 +288,7 @@ class ReportingInformation(Model): self._grp_rep_time = grp_rep_time @property - def notif_flag(self): + def notif_flag(self) -> NotificationFlag: """Gets the notif_flag of this ReportingInformation. @@ -287,7 +298,7 @@ class ReportingInformation(Model): return self._notif_flag @notif_flag.setter - def notif_flag(self, notif_flag): + def notif_flag(self, notif_flag: NotificationFlag): """Sets the notif_flag of this ReportingInformation. @@ -296,3 +307,45 @@ class ReportingInformation(Model): """ self._notif_flag = notif_flag + + @property + def notif_flag_instruct(self) -> MutingExceptionInstructions: + """Gets the notif_flag_instruct of this ReportingInformation. + + + :return: The notif_flag_instruct of this ReportingInformation. + :rtype: MutingExceptionInstructions + """ + return self._notif_flag_instruct + + @notif_flag_instruct.setter + def notif_flag_instruct(self, notif_flag_instruct: MutingExceptionInstructions): + """Sets the notif_flag_instruct of this ReportingInformation. + + + :param notif_flag_instruct: The notif_flag_instruct of this ReportingInformation. + :type notif_flag_instruct: MutingExceptionInstructions + """ + + self._notif_flag_instruct = notif_flag_instruct + + @property + def muting_setting(self) -> MutingNotificationsSettings: + """Gets the muting_setting of this ReportingInformation. + + + :return: The muting_setting of this ReportingInformation. + :rtype: MutingNotificationsSettings + """ + return self._muting_setting + + @muting_setting.setter + def muting_setting(self, muting_setting: MutingNotificationsSettings): + """Sets the muting_setting of this ReportingInformation. + + + :param muting_setting: The muting_setting of this ReportingInformation. + :type muting_setting: MutingNotificationsSettings + """ + + self._muting_setting = muting_setting diff --git a/services/TS29222_CAPIF_Events_API/capif_events/models/resource.py b/services/TS29222_CAPIF_Events_API/capif_events/models/resource.py index 36e1623..8493f59 100644 --- a/services/TS29222_CAPIF_Events_API/capif_events/models/resource.py +++ b/services/TS29222_CAPIF_Events_API/capif_events/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 capif_events.models.base_model_ import Model +from capif_events.models.base_model import Model from capif_events.models.communication_type import CommunicationType +from capif_events.models.custom_operation import CustomOperation from capif_events.models.operation import Operation from capif_events import util from capif_events.models.communication_type import CommunicationType # noqa: E501 +from capif_events.models.custom_operation import CustomOperation # noqa: E501 from capif_events.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_Events_API/capif_events/models/routing_rule.py b/services/TS29222_CAPIF_Events_API/capif_events/models/routing_rule.py index a4e4d07..b59d1dd 100644 --- a/services/TS29222_CAPIF_Events_API/capif_events/models/routing_rule.py +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/routing_rule.py @@ -1,16 +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 capif_events.models.base_model_ import Model +from capif_events.models.base_model import Model from capif_events.models.aef_profile import AefProfile -from capif_events.models.ipv4_address_range import Ipv4AddressRange +from capif_events.models.ipv4_address_range1 import Ipv4AddressRange1 from capif_events.models.ipv6_address_range import Ipv6AddressRange from capif_events import util +from capif_events.models.aef_profile import AefProfile # noqa: E501 +from capif_events.models.ipv4_address_range1 import Ipv4AddressRange1 # noqa: E501 +from capif_events.models.ipv6_address_range import Ipv6AddressRange # noqa: E501 + class RoutingRule(Model): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -21,14 +22,14 @@ class RoutingRule(Model): """RoutingRule - a model defined in OpenAPI :param ipv4_addr_ranges: The ipv4_addr_ranges of this RoutingRule. # noqa: E501 - :type ipv4_addr_ranges: List[Ipv4AddressRange] + :type ipv4_addr_ranges: List[Ipv4AddressRange1] :param ipv6_addr_ranges: The ipv6_addr_ranges of this RoutingRule. # noqa: E501 :type ipv6_addr_ranges: List[Ipv6AddressRange] :param aef_profile: The aef_profile of this RoutingRule. # noqa: E501 :type aef_profile: AefProfile """ self.openapi_types = { - 'ipv4_addr_ranges': List[Ipv4AddressRange], + 'ipv4_addr_ranges': List[Ipv4AddressRange1], 'ipv6_addr_ranges': List[Ipv6AddressRange], 'aef_profile': AefProfile } @@ -55,22 +56,22 @@ class RoutingRule(Model): return util.deserialize_model(dikt, cls) @property - def ipv4_addr_ranges(self): + def ipv4_addr_ranges(self) -> List[Ipv4AddressRange1]: """Gets the ipv4_addr_ranges of this RoutingRule. :return: The ipv4_addr_ranges of this RoutingRule. - :rtype: List[Ipv4AddressRange] + :rtype: List[Ipv4AddressRange1] """ return self._ipv4_addr_ranges @ipv4_addr_ranges.setter - def ipv4_addr_ranges(self, ipv4_addr_ranges): + def ipv4_addr_ranges(self, ipv4_addr_ranges: List[Ipv4AddressRange1]): """Sets the ipv4_addr_ranges of this RoutingRule. :param ipv4_addr_ranges: The ipv4_addr_ranges of this RoutingRule. - :type ipv4_addr_ranges: List[Ipv4AddressRange] + :type ipv4_addr_ranges: List[Ipv4AddressRange1] """ if ipv4_addr_ranges is not None and len(ipv4_addr_ranges) < 1: raise ValueError("Invalid value for `ipv4_addr_ranges`, number of items must be greater than or equal to `1`") # noqa: E501 @@ -78,7 +79,7 @@ class RoutingRule(Model): self._ipv4_addr_ranges = ipv4_addr_ranges @property - def ipv6_addr_ranges(self): + def ipv6_addr_ranges(self) -> List[Ipv6AddressRange]: """Gets the ipv6_addr_ranges of this RoutingRule. @@ -88,7 +89,7 @@ class RoutingRule(Model): return self._ipv6_addr_ranges @ipv6_addr_ranges.setter - def ipv6_addr_ranges(self, ipv6_addr_ranges): + def ipv6_addr_ranges(self, ipv6_addr_ranges: List[Ipv6AddressRange]): """Sets the ipv6_addr_ranges of this RoutingRule. @@ -101,7 +102,7 @@ class RoutingRule(Model): self._ipv6_addr_ranges = ipv6_addr_ranges @property - def aef_profile(self): + def aef_profile(self) -> AefProfile: """Gets the aef_profile of this RoutingRule. @@ -111,7 +112,7 @@ class RoutingRule(Model): return self._aef_profile @aef_profile.setter - def aef_profile(self, aef_profile): + def aef_profile(self, aef_profile: AefProfile): """Sets the aef_profile of this RoutingRule. diff --git a/services/TS29222_CAPIF_Events_API/capif_events/models/security_method.py b/services/TS29222_CAPIF_Events_API/capif_events/models/security_method.py index 4aec360..ff87e78 100644 --- a/services/TS29222_CAPIF_Events_API/capif_events/models/security_method.py +++ b/services/TS29222_CAPIF_Events_API/capif_events/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 capif_events.models.base_model_ import Model -from capif_events.models.security_method_any_of import SecurityMethodAnyOf +from capif_events.models.base_model import Model from capif_events import util -from capif_events.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_Events_API/capif_events/models/service_api_description.py b/services/TS29222_CAPIF_Events_API/capif_events/models/service_api_description.py index 5c902fe..3c56260 100644 --- a/services/TS29222_CAPIF_Events_API/capif_events/models/service_api_description.py +++ b/services/TS29222_CAPIF_Events_API/capif_events/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 capif_events.models.base_model_ import Model +from capif_events.models.base_model import Model from capif_events.models.aef_profile import AefProfile +from capif_events.models.api_status import ApiStatus from capif_events.models.published_api_path import PublishedApiPath from capif_events.models.shareable_information import ShareableInformation import re from capif_events import util from capif_events.models.aef_profile import AefProfile # noqa: E501 +from capif_events.models.api_status import ApiStatus # noqa: E501 from capif_events.models.published_api_path import PublishedApiPath # noqa: E501 from capif_events.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_Events_API/capif_events/models/service_kpis.py b/services/TS29222_CAPIF_Events_API/capif_events/models/service_kpis.py new file mode 100644 index 0000000..6c84f1a --- /dev/null +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/service_kpis.py @@ -0,0 +1,277 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from capif_events.models.base_model import Model +import re +from capif_events 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_Events_API/capif_events/models/shareable_information.py b/services/TS29222_CAPIF_Events_API/capif_events/models/shareable_information.py index 134674a..7b16c08 100644 --- a/services/TS29222_CAPIF_Events_API/capif_events/models/shareable_information.py +++ b/services/TS29222_CAPIF_Events_API/capif_events/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 capif_events.models.base_model_ import Model +from capif_events.models.base_model import Model from capif_events 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_Events_API/capif_events/models/security_method_any_of.py b/services/TS29222_CAPIF_Events_API/capif_events/models/subscription_action.py similarity index 55% rename from services/TS29222_CAPIF_Events_API/capif_events/models/security_method_any_of.py rename to services/TS29222_CAPIF_Events_API/capif_events/models/subscription_action.py index 2ceeb4d..99ae834 100644 --- a/services/TS29222_CAPIF_Events_API/capif_events/models/security_method_any_of.py +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/subscription_action.py @@ -1,28 +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 capif_events.models.base_model_ import Model +from capif_events.models.base_model import Model from capif_events import util -class SecurityMethodAnyOf(Model): +class SubscriptionAction(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 + """SubscriptionAction - a model defined in OpenAPI """ self.openapi_types = { @@ -32,12 +23,12 @@ class SecurityMethodAnyOf(Model): } @classmethod - def from_dict(cls, dikt) -> 'SecurityMethodAnyOf': + def from_dict(cls, dikt) -> 'SubscriptionAction': """Returns the dict as a model :param dikt: A dict. :type: dict - :return: The SecurityMethod_anyOf of this SecurityMethodAnyOf. # noqa: E501 - :rtype: SecurityMethodAnyOf + :return: The SubscriptionAction of this SubscriptionAction. # noqa: E501 + :rtype: SubscriptionAction """ return util.deserialize_model(dikt, cls) diff --git a/services/TS29222_CAPIF_Events_API/capif_events/models/operation_any_of.py b/services/TS29222_CAPIF_Events_API/capif_events/models/supported_gad_shapes.py similarity index 54% rename from services/TS29222_CAPIF_Events_API/capif_events/models/operation_any_of.py rename to services/TS29222_CAPIF_Events_API/capif_events/models/supported_gad_shapes.py index 4c6b909..38ff4d5 100644 --- a/services/TS29222_CAPIF_Events_API/capif_events/models/operation_any_of.py +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/supported_gad_shapes.py @@ -1,30 +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 capif_events.models.base_model_ import Model +from capif_events.models.base_model import Model from capif_events import util -class OperationAnyOf(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 - """ - GET = "GET" - POST = "POST" - PUT = "PUT" - PATCH = "PATCH" - DELETE = "DELETE" def __init__(self): # noqa: E501 - """OperationAnyOf - a model defined in OpenAPI + """SupportedGADShapes - a model defined in OpenAPI """ self.openapi_types = { @@ -34,12 +23,12 @@ class OperationAnyOf(Model): } @classmethod - def from_dict(cls, dikt) -> 'OperationAnyOf': + def from_dict(cls, dikt) -> 'SupportedGADShapes': """Returns the dict as a model :param dikt: A dict. :type: dict - :return: The Operation_anyOf of this OperationAnyOf. # noqa: E501 - :rtype: OperationAnyOf + :return: The SupportedGADShapes of this SupportedGADShapes. # noqa: E501 + :rtype: SupportedGADShapes """ return util.deserialize_model(dikt, cls) diff --git a/services/TS29222_CAPIF_Events_API/capif_events/models/time_range_list.py b/services/TS29222_CAPIF_Events_API/capif_events/models/time_range_list.py index 71c9987..9a6b626 100644 --- a/services/TS29222_CAPIF_Events_API/capif_events/models/time_range_list.py +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/time_range_list.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 capif_events.models.base_model_ import Model +from capif_events.models.base_model import Model from capif_events import util @@ -48,7 +45,7 @@ class TimeRangeList(Model): return util.deserialize_model(dikt, cls) @property - def start_time(self): + def start_time(self) -> datetime: """Gets the start_time of this TimeRangeList. string with format \"date-time\" as defined in OpenAPI. # noqa: E501 @@ -59,7 +56,7 @@ class TimeRangeList(Model): return self._start_time @start_time.setter - def start_time(self, start_time): + def start_time(self, start_time: datetime): """Sets the start_time of this TimeRangeList. string with format \"date-time\" as defined in OpenAPI. # noqa: E501 @@ -71,7 +68,7 @@ class TimeRangeList(Model): self._start_time = start_time @property - def stop_time(self): + def stop_time(self) -> datetime: """Gets the stop_time of this TimeRangeList. string with format \"date-time\" as defined in OpenAPI. # noqa: E501 @@ -82,7 +79,7 @@ class TimeRangeList(Model): return self._stop_time @stop_time.setter - def stop_time(self, stop_time): + def stop_time(self, stop_time: datetime): """Sets the stop_time of this TimeRangeList. string with format \"date-time\" as defined in OpenAPI. # noqa: E501 diff --git a/services/TS29222_CAPIF_Events_API/capif_events/models/topology_hiding.py b/services/TS29222_CAPIF_Events_API/capif_events/models/topology_hiding.py index 5d22b9c..0a02878 100644 --- a/services/TS29222_CAPIF_Events_API/capif_events/models/topology_hiding.py +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/topology_hiding.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 capif_events.models.base_model_ import Model +from capif_events.models.base_model import Model from capif_events.models.routing_rule import RoutingRule from capif_events import util @@ -50,7 +47,7 @@ class TopologyHiding(Model): return util.deserialize_model(dikt, cls) @property - def api_id(self): + def api_id(self) -> str: """Gets the api_id of this TopologyHiding. @@ -60,7 +57,7 @@ class TopologyHiding(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 TopologyHiding. @@ -73,7 +70,7 @@ class TopologyHiding(Model): self._api_id = api_id @property - def routing_rules(self): + def routing_rules(self) -> List[RoutingRule]: """Gets the routing_rules of this TopologyHiding. @@ -83,7 +80,7 @@ class TopologyHiding(Model): return self._routing_rules @routing_rules.setter - def routing_rules(self, routing_rules): + def routing_rules(self, routing_rules: List[RoutingRule]): """Sets the routing_rules of this TopologyHiding. diff --git a/services/TS29222_CAPIF_Events_API/capif_events/models/uncertainty_ellipse.py b/services/TS29222_CAPIF_Events_API/capif_events/models/uncertainty_ellipse.py new file mode 100644 index 0000000..627eb52 --- /dev/null +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/uncertainty_ellipse.py @@ -0,0 +1,133 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from capif_events.models.base_model import Model +from capif_events 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_Events_API/capif_events/models/uncertainty_ellipsoid.py b/services/TS29222_CAPIF_Events_API/capif_events/models/uncertainty_ellipsoid.py new file mode 100644 index 0000000..f10fac8 --- /dev/null +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/uncertainty_ellipsoid.py @@ -0,0 +1,165 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from capif_events.models.base_model import Model +from capif_events 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_Events_API/capif_events/models/version.py b/services/TS29222_CAPIF_Events_API/capif_events/models/version.py index 3b78d8f..709e34c 100644 --- a/services/TS29222_CAPIF_Events_API/capif_events/models/version.py +++ b/services/TS29222_CAPIF_Events_API/capif_events/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 capif_events.models.base_model_ import Model +from capif_events.models.base_model import Model from capif_events.models.custom_operation import CustomOperation from capif_events.models.resource import Resource from capif_events 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_Events_API/capif_events/models/websock_notif_config.py b/services/TS29222_CAPIF_Events_API/capif_events/models/websock_notif_config.py index 9a7c40b..0077354 100644 --- a/services/TS29222_CAPIF_Events_API/capif_events/models/websock_notif_config.py +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/websock_notif_config.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 capif_events.models.base_model_ import Model +from capif_events.models.base_model import Model from capif_events import util @@ -48,7 +45,7 @@ class WebsockNotifConfig(Model): return util.deserialize_model(dikt, cls) @property - def websocket_uri(self): + def websocket_uri(self) -> str: """Gets the websocket_uri of this WebsockNotifConfig. string formatted according to IETF RFC 3986 identifying a referenced resource. # noqa: E501 @@ -59,7 +56,7 @@ class WebsockNotifConfig(Model): return self._websocket_uri @websocket_uri.setter - def websocket_uri(self, websocket_uri): + def websocket_uri(self, websocket_uri: str): """Sets the websocket_uri of this WebsockNotifConfig. string formatted according to IETF RFC 3986 identifying a referenced resource. # noqa: E501 @@ -71,7 +68,7 @@ class WebsockNotifConfig(Model): self._websocket_uri = websocket_uri @property - def request_websocket_uri(self): + def request_websocket_uri(self) -> bool: """Gets the request_websocket_uri of this WebsockNotifConfig. Set by the SCS/AS to indicate that the Websocket delivery is requested. # noqa: E501 @@ -82,7 +79,7 @@ class WebsockNotifConfig(Model): return self._request_websocket_uri @request_websocket_uri.setter - def request_websocket_uri(self, request_websocket_uri): + def request_websocket_uri(self, request_websocket_uri: bool): """Sets the request_websocket_uri of this WebsockNotifConfig. Set by the SCS/AS to indicate that the Websocket delivery is requested. # noqa: E501 diff --git a/services/TS29222_CAPIF_Events_API/capif_events/openapi/openapi.yaml b/services/TS29222_CAPIF_Events_API/capif_events/openapi/openapi.yaml index d89f8dd..892a7a2 100644 --- a/services/TS29222_CAPIF_Events_API/capif_events/openapi/openapi.yaml +++ b/services/TS29222_CAPIF_Events_API/capif_events/openapi/openapi.yaml @@ -1,20 +1,18 @@ openapi: 3.0.0 info: - description: | - API for event subscription management. - © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). - All rights reserved. + description: "API for event subscription management. \n© 2023, 3GPP Organizational\ + \ Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). \nAll rights reserved.\n" title: CAPIF_Events_API - version: 1.2.0-alpha.1 + version: 1.3.0-alpha.4 externalDocs: - description: 3GPP TS 29.222 V17.1.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.4.0 Common API Framework for 3GPP Northbound APIs + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.222/ servers: -- url: '{apiRoot}/capif-events/v1' +- url: "{apiRoot}/capif-events/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: /{subscriberId}/subscriptions: post: @@ -83,7 +81,7 @@ paths: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' - description: Payload Too Large + description: Content Too Large "415": content: application/problem+json: @@ -137,8 +135,8 @@ paths: description: Created (Successful creation of subscription) headers: Location: - description: 'Contains the URI of the newly created resource, according - to the structure: {apiRoot}/capif-events/v1/{subscriberId}/subscriptions/{subscriptionId}' + description: | + Contains the URI of the newly created resource, according to the structure {apiRoot}/capif-events/v1/{subscriberId}/subscriptions/{subscriptionId} explode: false required: true schema: @@ -179,7 +177,7 @@ paths: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' - description: Payload Too Large + description: Content Too Large "415": content: application/problem+json: @@ -230,8 +228,8 @@ paths: style: simple responses: "204": - description: The individual CAPIF Events Subscription matching the subscriptionId - is deleted. + description: | + The individual CAPIF Events Subscription matching the subscriptionId is deleted. "307": description: Temporary Redirect headers: @@ -293,7 +291,282 @@ paths: default: description: Generic Error x-openapi-router-controller: capif_events.controllers.default_controller + patch: + description: Modification of an existing individual CAPIF Event Subscription. + operationId: subscriber_id_subscriptions_subscription_id_patch + parameters: + - description: Identifier of the Subscriber + explode: false + in: path + name: subscriberId + required: true + schema: + type: string + style: simple + - description: Identifier of the individual Subscriber + explode: false + in: path + name: subscriptionId + required: true + schema: + type: string + style: simple + requestBody: + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/EventSubscriptionPatch' + required: true + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/EventSubscription' + description: OK (Successful update of the subscription) + "204": + description: No Content + "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 + x-openapi-router-controller: capif_events.controllers.default_controller + put: + description: Update of an existing individual CAPIF Event Subscription. + operationId: subscriber_id_subscriptions_subscription_id_put + parameters: + - description: Identifier of the Subscriber + explode: false + in: path + name: subscriberId + required: true + schema: + type: string + style: simple + - description: Identifier of the individual Subscriber + explode: false + in: path + name: subscriptionId + required: true + schema: + type: string + style: simple + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EventSubscription' + required: true + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/EventSubscription' + description: OK (Successful update of the subscription). + "204": + description: No Content + "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 + x-openapi-router-controller: capif_events.controllers.default_controller components: + responses: + "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 + "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 schemas: EventSubscription: description: Represents an individual CAPIF Event Subscription resource. @@ -320,21 +593,29 @@ components: - apiIds supportedFeatures: supportedFeatures eventReq: + notifMethod: PERIODIC partitionCriteria: - - null - - null + - TAC + - TAC grpRepTime: 5 + notifFlag: ACTIVATE + mutingSetting: + maxNoOfNotif: 5 + durationBufferedNotif: 2 monDur: 2000-01-23T04:56:07.000+00:00 immRep: true maxReportNbr: 0 repPeriod: 6 sampRatio: 15 + notifFlagInstruct: + bufferedNotifs: SEND_ALL + subscription: CLOSE websockNotifConfig: requestWebsocketUri: true websocketUri: websocketUri events: - - null - - null + - SERVICE_API_AVAILABLE + - SERVICE_API_AVAILABLE requestTestNotification: true properties: events: @@ -358,27 +639,16 @@ components: title: Uri type: string requestTestNotification: - description: Set to true by Subscriber to request the CAPIF core function - to send a test notification as defined in in subclause 7.6. Set to false - or omitted otherwise. + description: | + Set to true by Subscriber to request the CAPIF core function to send a test notification as defined in in clause 7.6. Set to false or omitted otherwise. title: requestTestNotification type: boolean websockNotifConfig: $ref: '#/components/schemas/WebsockNotifConfig' 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 required: @@ -406,7 +676,9 @@ components: securityMethods: - null - null + fqdn: fqdn port: 5248 + apiPrefix: apiPrefix ipv4Addr: ipv4Addr fwdInterface: fwdInterface resourceName: resourceName @@ -414,14 +686,18 @@ components: inputParameters: "" invocationLatency: 0 result: result + protocol: null apiVersion: apiVersion destInterface: ipv6Addr: ipv6Addr securityMethods: - null - null + fqdn: fqdn port: 5248 + apiPrefix: apiPrefix ipv4Addr: ipv4Addr + operation: null apiId: apiId outputParameters: "" - apiName: apiName @@ -431,7 +707,9 @@ components: securityMethods: - null - null + fqdn: fqdn port: 5248 + apiPrefix: apiPrefix ipv4Addr: ipv4Addr fwdInterface: fwdInterface resourceName: resourceName @@ -439,14 +717,18 @@ components: inputParameters: "" invocationLatency: 0 result: result + protocol: null apiVersion: apiVersion destInterface: ipv6Addr: ipv6Addr securityMethods: - null - null + fqdn: fqdn port: 5248 + apiPrefix: apiPrefix ipv4Addr: ipv4Addr + operation: null apiId: apiId outputParameters: "" - supportedFeatures: supportedFeatures @@ -460,7 +742,9 @@ components: securityMethods: - null - null + fqdn: fqdn port: 5248 + apiPrefix: apiPrefix ipv4Addr: ipv4Addr fwdInterface: fwdInterface resourceName: resourceName @@ -468,14 +752,18 @@ components: inputParameters: "" invocationLatency: 0 result: result + protocol: null apiVersion: apiVersion destInterface: ipv6Addr: ipv6Addr securityMethods: - null - null + fqdn: fqdn port: 5248 + apiPrefix: apiPrefix ipv4Addr: ipv4Addr + operation: null apiId: apiId outputParameters: "" - apiName: apiName @@ -485,7 +773,9 @@ components: securityMethods: - null - null + fqdn: fqdn port: 5248 + apiPrefix: apiPrefix ipv4Addr: ipv4Addr fwdInterface: fwdInterface resourceName: resourceName @@ -493,14 +783,18 @@ components: inputParameters: "" invocationLatency: 0 result: result + protocol: null apiVersion: apiVersion destInterface: ipv6Addr: ipv6Addr securityMethods: - null - null + fqdn: fqdn port: 5248 + apiPrefix: apiPrefix ipv4Addr: ipv4Addr + operation: null apiId: apiId outputParameters: "" apiTopoHide: @@ -512,15 +806,41 @@ components: - start: start end: end aefProfile: + 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 @@ -528,19 +848,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 @@ -549,6 +885,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 @@ -556,37 +906,109 @@ 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 ipv4AddrRanges: - start: 198.51.100.1 end: 198.51.100.1 @@ -598,15 +1020,41 @@ components: - start: start end: end aefProfile: + 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 @@ -614,19 +1062,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 @@ -635,6 +1099,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 @@ -642,42 +1120,133 @@ 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 ipv4AddrRanges: - start: 198.51.100.1 end: 198.51.100.1 - start: 198.51.100.1 end: 198.51.100.1 + accCtrlPolList: + apiInvokerPolicies: + - apiInvokerId: apiInvokerId + allowedTotalInvocations: 9 + allowedInvocationTimeRangeList: + - startTime: 2000-01-23T04:56:07.000+00:00 + stopTime: 2000-01-23T04:56:07.000+00:00 + - startTime: 2000-01-23T04:56:07.000+00:00 + stopTime: 2000-01-23T04:56:07.000+00:00 + allowedInvocationsPerSecond: 3 + - apiInvokerId: apiInvokerId + allowedTotalInvocations: 9 + allowedInvocationTimeRangeList: + - startTime: 2000-01-23T04:56:07.000+00:00 + stopTime: 2000-01-23T04:56:07.000+00:00 + - startTime: 2000-01-23T04:56:07.000+00:00 + stopTime: 2000-01-23T04:56:07.000+00:00 + allowedInvocationsPerSecond: 3 + apiId: apiId serviceAPIDescriptions: - serviceAPICategory: serviceAPICategory ccfId: ccfId @@ -687,20 +1256,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 @@ -708,19 +1308,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 @@ -729,6 +1345,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 @@ -736,46 +1366,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 @@ -783,19 +1511,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 @@ -804,6 +1548,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 @@ -811,37 +1569,109 @@ 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 @@ -854,20 +1684,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 @@ -875,19 +1736,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 @@ -896,6 +1773,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 @@ -903,46 +1794,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 @@ -950,19 +1939,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 @@ -971,6 +1976,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 @@ -978,37 +1997,109 @@ 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 @@ -1016,10 +2107,12 @@ components: apiIds: - apiIds - apiIds + events: SERVICE_API_AVAILABLE properties: subscriptionId: - description: Identifier of the subscription resource to which the notification - is related – CAPIF resource identifier + description: | + Identifier of the subscription resource to which the notification is related – CAPIF resource identifier + title: subscriptionId type: string events: $ref: '#/components/schemas/CAPIFEvent' @@ -1028,6 +2121,7 @@ components: required: - events - subscriptionId + title: EventNotification type: object CAPIFEventFilter: description: Represents a CAPIF event filter. @@ -1083,7 +2177,9 @@ components: securityMethods: - null - null + fqdn: fqdn port: 5248 + apiPrefix: apiPrefix ipv4Addr: ipv4Addr fwdInterface: fwdInterface resourceName: resourceName @@ -1091,14 +2187,18 @@ components: inputParameters: "" invocationLatency: 0 result: result + protocol: null apiVersion: apiVersion destInterface: ipv6Addr: ipv6Addr securityMethods: - null - null + fqdn: fqdn port: 5248 + apiPrefix: apiPrefix ipv4Addr: ipv4Addr + operation: null apiId: apiId outputParameters: "" - apiName: apiName @@ -1108,7 +2208,9 @@ components: securityMethods: - null - null + fqdn: fqdn port: 5248 + apiPrefix: apiPrefix ipv4Addr: ipv4Addr fwdInterface: fwdInterface resourceName: resourceName @@ -1116,14 +2218,18 @@ components: inputParameters: "" invocationLatency: 0 result: result + protocol: null apiVersion: apiVersion destInterface: ipv6Addr: ipv6Addr securityMethods: - null - null + fqdn: fqdn port: 5248 + apiPrefix: apiPrefix ipv4Addr: ipv4Addr + operation: null apiId: apiId outputParameters: "" - supportedFeatures: supportedFeatures @@ -1137,7 +2243,9 @@ components: securityMethods: - null - null + fqdn: fqdn port: 5248 + apiPrefix: apiPrefix ipv4Addr: ipv4Addr fwdInterface: fwdInterface resourceName: resourceName @@ -1145,14 +2253,18 @@ components: inputParameters: "" invocationLatency: 0 result: result + protocol: null apiVersion: apiVersion destInterface: ipv6Addr: ipv6Addr securityMethods: - null - null + fqdn: fqdn port: 5248 + apiPrefix: apiPrefix ipv4Addr: ipv4Addr + operation: null apiId: apiId outputParameters: "" - apiName: apiName @@ -1162,7 +2274,9 @@ components: securityMethods: - null - null + fqdn: fqdn port: 5248 + apiPrefix: apiPrefix ipv4Addr: ipv4Addr fwdInterface: fwdInterface resourceName: resourceName @@ -1170,14 +2284,18 @@ components: inputParameters: "" invocationLatency: 0 result: result + protocol: null apiVersion: apiVersion destInterface: ipv6Addr: ipv6Addr securityMethods: - null - null + fqdn: fqdn port: 5248 + apiPrefix: apiPrefix ipv4Addr: ipv4Addr + operation: null apiId: apiId outputParameters: "" apiTopoHide: @@ -1189,15 +2307,41 @@ components: - start: start end: end aefProfile: + 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 @@ -1205,19 +2349,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 @@ -1226,6 +2386,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 @@ -1233,37 +2407,109 @@ 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 ipv4AddrRanges: - start: 198.51.100.1 end: 198.51.100.1 @@ -1275,15 +2521,41 @@ components: - start: start end: end aefProfile: + 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 @@ -1291,19 +2563,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 @@ -1312,6 +2600,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 @@ -1319,42 +2621,133 @@ 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 ipv4AddrRanges: - start: 198.51.100.1 end: 198.51.100.1 - start: 198.51.100.1 end: 198.51.100.1 + accCtrlPolList: + apiInvokerPolicies: + - apiInvokerId: apiInvokerId + allowedTotalInvocations: 9 + allowedInvocationTimeRangeList: + - startTime: 2000-01-23T04:56:07.000+00:00 + stopTime: 2000-01-23T04:56:07.000+00:00 + - startTime: 2000-01-23T04:56:07.000+00:00 + stopTime: 2000-01-23T04:56:07.000+00:00 + allowedInvocationsPerSecond: 3 + - apiInvokerId: apiInvokerId + allowedTotalInvocations: 9 + allowedInvocationTimeRangeList: + - startTime: 2000-01-23T04:56:07.000+00:00 + stopTime: 2000-01-23T04:56:07.000+00:00 + - startTime: 2000-01-23T04:56:07.000+00:00 + stopTime: 2000-01-23T04:56:07.000+00:00 + allowedInvocationsPerSecond: 3 + apiId: apiId serviceAPIDescriptions: - serviceAPICategory: serviceAPICategory ccfId: ccfId @@ -1364,20 +2757,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 @@ -1385,19 +2809,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 @@ -1406,6 +2846,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 @@ -1413,46 +2867,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 @@ -1460,19 +3012,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 @@ -1481,6 +3049,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 @@ -1488,37 +3070,109 @@ 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 @@ -1531,20 +3185,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 @@ -1552,19 +3237,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 @@ -1573,6 +3274,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 @@ -1580,46 +3295,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 @@ -1627,19 +3440,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 @@ -1648,6 +3477,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 @@ -1655,37 +3498,109 @@ 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 @@ -1731,14 +3646,32 @@ components: AccessControlPolicyListExt: allOf: - $ref: '#/components/schemas/AccessControlPolicyList' - - $ref: '#/components/schemas/AccessControlPolicyListExt_allOf' + - properties: + apiId: + type: string + type: object description: Represents the extension for access control policies. + example: + apiInvokerPolicies: + - apiInvokerId: apiInvokerId + allowedTotalInvocations: 9 + allowedInvocationTimeRangeList: + - startTime: 2000-01-23T04:56:07.000+00:00 + stopTime: 2000-01-23T04:56:07.000+00:00 + - startTime: 2000-01-23T04:56:07.000+00:00 + stopTime: 2000-01-23T04:56:07.000+00:00 + allowedInvocationsPerSecond: 3 + - apiInvokerId: apiInvokerId + allowedTotalInvocations: 9 + allowedInvocationTimeRangeList: + - startTime: 2000-01-23T04:56:07.000+00:00 + stopTime: 2000-01-23T04:56:07.000+00:00 + - startTime: 2000-01-23T04:56:07.000+00:00 + stopTime: 2000-01-23T04:56:07.000+00:00 + allowedInvocationsPerSecond: 3 + apiId: apiId required: - apiId - properties: - apiId: - title: apiId - type: string title: AccessControlPolicyListExt TopologyHiding: description: Represents the routing rules information of a service API. @@ -1751,15 +3684,41 @@ components: - start: start end: end aefProfile: + 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 @@ -1767,19 +3726,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 @@ -1788,6 +3763,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 @@ -1795,37 +3784,109 @@ 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 ipv4AddrRanges: - start: 198.51.100.1 end: 198.51.100.1 @@ -1837,15 +3898,41 @@ components: - start: start end: end aefProfile: + 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 @@ -1853,19 +3940,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 @@ -1874,6 +3977,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 @@ -1881,37 +3998,109 @@ 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 ipv4AddrRanges: - start: 198.51.100.1 end: 198.51.100.1 @@ -1932,14 +4121,72 @@ components: - routingRules title: TopologyHiding type: object + EventSubscriptionPatch: + description: | + Represents the parameters to request the updated of an individual CAPIF Event Subscription resource. + properties: + events: + description: Subscribed events + items: + $ref: '#/components/schemas/CAPIFEvent' + minItems: 1 + title: events + type: array + eventFilters: + description: Subscribed event filters + items: + $ref: '#/components/schemas/CAPIFEventFilter' + minItems: 1 + title: eventFilters + type: array + eventReq: + $ref: '#/components/schemas/ReportingInformation' + notificationDestination: + description: string providing an URI formatted according to IETF RFC 3986. + title: Uri + type: string + title: EventSubscriptionPatch + type: object CAPIFEvent: anyOf: - - $ref: '#/components/schemas/CAPIFEvent_anyOf' + - enum: + - SERVICE_API_AVAILABLE + - SERVICE_API_UNAVAILABLE + - SERVICE_API_UPDATE + - API_INVOKER_ONBOARDED + - API_INVOKER_OFFBOARDED + - SERVICE_API_INVOCATION_SUCCESS + - SERVICE_API_INVOCATION_FAILURE + - ACCESS_CONTROL_POLICY_UPDATE + - ACCESS_CONTROL_POLICY_UNAVAILABLE + - API_INVOKER_AUTHORIZATION_REVOKED + - API_INVOKER_UPDATED + - API_TOPOLOGY_HIDING_CREATED + - API_TOPOLOGY_HIDING_REVOKED + 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 - SERVICE_API_AVAILABLE: Events related to the availability of service APIs after the service APIs are published. - SERVICE_API_UNAVAILABLE: Events related to the unavailability of service APIs after the service APIs are unpublished. - SERVICE_API_UPDATE: Events related to change in service API information. - API_INVOKER_ONBOARDED: Events related to API invoker onboarded to CAPIF. - API_INVOKER_OFFBOARDED: Events related to API invoker offboarded from CAPIF. - SERVICE_API_INVOCATION_SUCCESS: Events related to the successful invocation of service APIs. - SERVICE_API_INVOCATION_FAILURE: Events related to the failed invocation of service APIs. - ACCESS_CONTROL_POLICY_UPDATE: Events related to the update for the access control policy related to the service APIs. - ACCESS_CONTROL_POLICY_UNAVAILABLE: Events related to the unavailability of the access control policy related to the service APIs. - API_INVOKER_AUTHORIZATION_REVOKED: Events related to the revocation of the authorization of API invokers to access the service APIs. - API_INVOKER_UPDATED: Events related to API invoker profile updated to CAPIF. - API_TOPOLOGY_HIDING_CREATED: Events related to the creation or update of the API topology hiding information of the service APIs after the service APIs are published. - API_TOPOLOGY_HIDING_REVOKED: Events related to the revocation of the API topology hiding information of the service APIs after the service APIs are unpublished. + description: "Describes the CAPIF event. \nPossible values are:\n- SERVICE_API_AVAILABLE:\n\ + \ Events related to the availability of service APIs after the service APIs\ + \ are\n published.\n- SERVICE_API_UNAVAILABLE:\n Events related to the unavailability\ + \ of service APIs after the service APIs are\n unpublished.\n- SERVICE_API_UPDATE:\ + \ Events related to change in service API information.\n- API_INVOKER_ONBOARDED:\ + \ Events related to API invoker onboarded to CAPIF.\n- API_INVOKER_OFFBOARDED:\ + \ Events related to API invoker offboarded from CAPIF.\n- SERVICE_API_INVOCATION_SUCCESS:\n\ + \ Events related to the successful invocation of service APIs.\n- SERVICE_API_INVOCATION_FAILURE:\ + \ Events related to the failed invocation of service APIs.\n- ACCESS_CONTROL_POLICY_UPDATE:\n\ + \ Events related to the update for the access control policy related to the\ + \ service APIs.\n- ACCESS_CONTROL_POLICY_UNAVAILABLE:\n Events related to\ + \ the unavailability of the access control policy related to\n the service\ + \ APIs.\n- API_INVOKER_AUTHORIZATION_REVOKED: Events related to the revocation\ + \ of the authorization\n of API invokers to access the service APIs.\n- API_INVOKER_UPDATED:\ + \ Events related to API invoker profile updated to CAPIF.\n- API_TOPOLOGY_HIDING_CREATED:\n\ + \ Events related to the creation or update of the API topology hiding\n \ + \ information of the service APIs after the service APIs are published.\n\ + - API_TOPOLOGY_HIDING_REVOKED:\n Events related to the revocation of the\ + \ API topology hiding information of\n the service APIs after the service\ + \ APIs are unpublished.\n" title: CAPIFEvent ProblemDetails: description: Represents additional information and details on an error response. @@ -1949,8 +4196,8 @@ components: title: Uri 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: @@ -1967,33 +4214,22 @@ components: title: Uri 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 @@ -2003,15 +4239,16 @@ components: title: Uri 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: @@ -2021,15 +4258,23 @@ components: ReportingInformation: description: Represents the type of reporting that the subscription requires. example: + notifMethod: PERIODIC partitionCriteria: - - null - - null + - TAC + - TAC grpRepTime: 5 + notifFlag: ACTIVATE + mutingSetting: + maxNoOfNotif: 5 + durationBufferedNotif: 2 monDur: 2000-01-23T04:56:07.000+00:00 immRep: true maxReportNbr: 0 repPeriod: 6 sampRatio: 15 + notifFlagInstruct: + bufferedNotifs: SEND_ALL + subscription: CLOSE properties: immRep: title: immRep @@ -2037,13 +4282,13 @@ components: notifMethod: $ref: '#/components/schemas/NotificationMethod' maxReportNbr: - description: Unsigned Integer, i.e. only value 0 and integers above 0 are - permissible. + description: "Unsigned Integer, i.e. only value 0 and integers above 0 are\ + \ permissible." minimum: 0 title: Uinteger type: integer monDur: - description: string with format "date-time" as defined in OpenAPI. + description: string with format 'date-time' as defined in OpenAPI. format: date-time title: DateTime type: string @@ -2052,8 +4297,8 @@ components: title: DurationSec type: integer sampRatio: - description: Unsigned integer indicating Sampling Ratio (see clauses 4.15.1 - of 3GPP TS 23.502), expressed in percent. + description: "Unsigned integer indicating Sampling Ratio (see clauses 4.15.1\ + \ of 3GPP TS 23.502), expressed in percent. \n" maximum: 100 minimum: 1 title: SamplingRatio @@ -2072,11 +4317,15 @@ components: type: integer notifFlag: $ref: '#/components/schemas/NotificationFlag' + notifFlagInstruct: + $ref: '#/components/schemas/MutingExceptionInstructions' + mutingSetting: + $ref: '#/components/schemas/MutingNotificationsSettings' title: ReportingInformation type: object WebsockNotifConfig: - description: Represents the configuration information for the delivery of notifications - over Websockets. + description: | + Represents the configuration information for the delivery of notifications over Websockets. example: requestWebsocketUri: true websocketUri: websocketUri @@ -2099,19 +4348,9 @@ components: title: Link 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 ServiceAPIDescription: @@ -2126,20 +4365,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 @@ -2147,19 +4417,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 @@ -2168,6 +4454,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 @@ -2175,46 +4475,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 @@ -2222,19 +4620,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 @@ -2243,6 +4657,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 @@ -2250,59 +4678,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 @@ -2313,40 +4811,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: @@ -2355,22 +4834,71 @@ 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 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 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 @@ -2378,19 +4906,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 @@ -2399,6 +4943,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 @@ -2406,42 +4964,117 @@ 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 - oneOf: + serviceKpis: + avalMem: avalMem + avalStor: avalStor + avalComp: avalComp + conBand: 0 + maxRestime: 0 + availability: 0 + maxReqRate: 0 + avalGraComp: avalGraComp + nullable: true + oneOf: - required: - - domainName + - ipv4Addr - required: - - interfaceDescriptions + - ipv6Addr + - required: + - fqdn properties: aefId: description: Identifier of the API exposing function @@ -2476,6 +5109,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 @@ -2489,6 +5128,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 @@ -2496,19 +5149,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 @@ -2520,7 +5189,7 @@ components: expiry: description: string with format "date-time" as defined in OpenAPI. format: date-time - title: DateTime + title: DateTime_1 type: string resources: description: Resources supported by the API. @@ -2546,6 +5215,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 @@ -2558,19 +5241,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 @@ -2588,42 +5278,38 @@ components: type: object CommunicationType: anyOf: - - $ref: '#/components/schemas/CommunicationType_anyOf' - - 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. + - enum: + - REQUEST_RESPONSE + - SUBSCRIBE_NOTIFY 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 - title: CommunicationType - Operation: - anyOf: - - $ref: '#/components/schemas/Operation_anyOf' - 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 - title: Operation + 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 CustomOperation: 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 @@ -2638,32 +5324,68 @@ components: - custOpName title: CustomOperation type: object + 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: "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 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 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 InterfaceDescription: description: Represents the description of an API's interface. @@ -2672,34 +5394,49 @@ components: securityMethods: - null - null + fqdn: fqdn port: 5248 + apiPrefix: apiPrefix ipv4Addr: ipv4Addr + nullable: true oneOf: - required: - - ipv4Addr + - domainName - required: - - ipv6Addr + - interfaceDescriptions 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 @@ -2707,9 +5444,160 @@ components: type: array title: InterfaceDescription 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 + 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_1 + 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_1' + minItems: 1 + title: ueIpv6AddrRanges + type: array + title: IpAddrRange + 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 @@ -2717,14 +5605,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 @@ -2753,8 +5640,8 @@ components: title: PublishedApiPath type: object InvocationLog: - description: Represents a set of Service API invocation logs to be stored in - a CAPIF core function. + description: | + Represents a set of Service API invocation logs to be stored in a CAPIF core function. example: supportedFeatures: supportedFeatures apiInvokerId: apiInvokerId @@ -2767,7 +5654,9 @@ components: securityMethods: - null - null + fqdn: fqdn port: 5248 + apiPrefix: apiPrefix ipv4Addr: ipv4Addr fwdInterface: fwdInterface resourceName: resourceName @@ -2775,14 +5664,18 @@ components: inputParameters: "" invocationLatency: 0 result: result + protocol: null apiVersion: apiVersion destInterface: ipv6Addr: ipv6Addr securityMethods: - null - null + fqdn: fqdn port: 5248 + apiPrefix: apiPrefix ipv4Addr: ipv4Addr + operation: null apiId: apiId outputParameters: "" - apiName: apiName @@ -2792,7 +5685,9 @@ components: securityMethods: - null - null + fqdn: fqdn port: 5248 + apiPrefix: apiPrefix ipv4Addr: ipv4Addr fwdInterface: fwdInterface resourceName: resourceName @@ -2800,20 +5695,24 @@ components: inputParameters: "" invocationLatency: 0 result: result + protocol: null apiVersion: apiVersion destInterface: ipv6Addr: ipv6Addr securityMethods: - null - null + fqdn: fqdn port: 5248 + apiPrefix: apiPrefix ipv4Addr: ipv4Addr + operation: null apiId: apiId outputParameters: "" properties: aefId: - description: Identity information of the API exposing function requesting - logging of service API invocations + description: | + Identity information of the API exposing function requesting logging of service API invocations title: aefId type: string apiInvokerId: @@ -2828,19 +5727,9 @@ components: title: logs 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 required: @@ -2859,7 +5748,9 @@ components: securityMethods: - null - null + fqdn: fqdn port: 5248 + apiPrefix: apiPrefix ipv4Addr: ipv4Addr fwdInterface: fwdInterface resourceName: resourceName @@ -2867,14 +5758,18 @@ components: inputParameters: "" invocationLatency: 0 result: result + protocol: null apiVersion: apiVersion destInterface: ipv6Addr: ipv6Addr securityMethods: - null - null + fqdn: fqdn port: 5248 + apiPrefix: apiPrefix ipv4Addr: ipv4Addr + operation: null apiId: apiId outputParameters: "" properties: @@ -2883,8 +5778,8 @@ components: title: apiId type: string apiName: - description: Name of the API which was invoked, it is set as {apiName} part - of the URI structure as defined in subclause 4.4 of 3GPP TS 29.501. + description: | + Name of the API which was invoked, it is set as {apiName} part of the URI structure as defined in clause 5.2.4 of 3GPP TS 29.122. title: apiName type: string apiVersion: @@ -2904,35 +5799,34 @@ components: operation: $ref: '#/components/schemas/Operation' result: - description: For HTTP protocol, it contains HTTP status code of the invocation + description: "For HTTP protocol, it contains HTTP status code of the invocation" title: result type: string invocationTime: description: string with format "date-time" as defined in OpenAPI. format: date-time - title: DateTime + title: DateTime_1 type: string invocationLatency: - description: Unsigned integer identifying a period of time in units of milliseconds. + description: Represents a period of time in units of milliseconds. minimum: 0 title: DurationMs type: integer inputParameters: - description: List of input parameters. Can be any value - string, number, - boolean, array or object. + description: | + List of input parameters. Can be any value - string, number, boolean, array or object. title: inputParameters outputParameters: - description: List of output parameters. Can be any value - string, number, - boolean, array or object. + description: | + List of output parameters. Can be any value - string, number, boolean, array or object. title: outputParameters srcInterface: $ref: '#/components/schemas/InterfaceDescription' destInterface: $ref: '#/components/schemas/InterfaceDescription' fwdInterface: - description: It includes the node identifier (as defined in IETF RFC 7239 - of all forwarding entities between the API invoker and the AEF, concatenated - with comma and space, e.g. 192.0.2.43:80, unknown:_OBFport, 203.0.113.60 + description: | + It includes the node identifier (as defined in IETF RFC 7239 of all forwarding entities between the API invoker and the AEF, concatenated with comma and space, e.g. 192.0.2.43:80, unknown:_OBFport, 203.0.113.60 title: fwdInterface type: string required: @@ -2945,7 +5839,7 @@ components: title: Log type: object DurationMs: - description: Unsigned integer identifying a period of time in units of milliseconds. + description: Represents a period of time in units of milliseconds. minimum: 0 title: DurationMs type: integer @@ -2964,6 +5858,15 @@ components: type: object ApiInvokerPolicy: description: Represents the policy of an API Invoker. + example: + apiInvokerId: apiInvokerId + allowedTotalInvocations: 9 + allowedInvocationTimeRangeList: + - startTime: 2000-01-23T04:56:07.000+00:00 + stopTime: 2000-01-23T04:56:07.000+00:00 + - startTime: 2000-01-23T04:56:07.000+00:00 + stopTime: 2000-01-23T04:56:07.000+00:00 + allowedInvocationsPerSecond: 3 properties: apiInvokerId: description: API invoker ID assigned by the CAPIF core function @@ -2980,8 +5883,8 @@ components: title: allowedInvocationsPerSecond type: integer allowedInvocationTimeRangeList: - description: The time ranges during which the invocations are allowed on - the service API by the API invoker. + description: | + The time ranges during which the invocations are allowed on the service API by the API invoker. items: $ref: '#/components/schemas/TimeRangeList' minItems: 0 @@ -2992,18 +5895,21 @@ components: title: ApiInvokerPolicy type: object TimeRangeList: - description: Represents the time range during which the invocation of a service - API is allowed by the API invoker. + description: | + Represents the time range during which the invocation of a service API is allowed by the API invoker. + example: + startTime: 2000-01-23T04:56:07.000+00:00 + stopTime: 2000-01-23T04:56:07.000+00:00 properties: startTime: description: string with format "date-time" as defined in OpenAPI. format: date-time - title: DateTime + title: DateTime_1 type: string stopTime: description: string with format "date-time" as defined in OpenAPI. format: date-time - title: DateTime + title: DateTime_1 type: string title: TimeRangeList type: object @@ -3016,15 +5922,41 @@ components: - start: start end: end aefProfile: + 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 @@ -3032,19 +5964,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 @@ -3053,6 +6001,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 @@ -3060,37 +6022,109 @@ 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 ipv4AddrRanges: - start: 198.51.100.1 end: 198.51.100.1 @@ -3099,7 +6133,7 @@ components: properties: ipv4AddrRanges: items: - $ref: '#/components/schemas/Ipv4AddressRange' + $ref: '#/components/schemas/Ipv4AddressRange_1' minItems: 1 title: ipv4AddrRanges type: array @@ -3122,15 +6156,13 @@ components: end: end properties: start: - 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 end: - 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 required: @@ -3140,20 +6172,24 @@ components: type: object NotificationMethod: anyOf: - - $ref: '#/components/schemas/NotificationMethod_anyOf' + - enum: + - PERIODIC + - ONE_TIME + - ON_EVENT_DETECTION + 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. + This string provides forward-compatibility with future extensions to the enumeration and is not used to encode content defined in the present version of this API. type: string - description: | - Possible values are - PERIODIC - ONE_TIME - ON_EVENT_DETECTION + description: "Represents the notification methods that can be subscribed. \n\ + Possible values are:\n- PERIODIC\n- ONE_TIME\n- ON_EVENT_DETECTION\n" title: NotificationMethod Uinteger: - description: Unsigned Integer, i.e. only value 0 and integers above 0 are permissible. + description: "Unsigned Integer, i.e. only value 0 and integers above 0 are permissible." minimum: 0 title: Uinteger type: integer DateTime: - description: string with format "date-time" as defined in OpenAPI. + description: string with format 'date-time' as defined in OpenAPI. format: date-time title: DateTime type: string @@ -3162,47 +6198,646 @@ components: title: DurationSec type: integer SamplingRatio: - description: Unsigned integer indicating Sampling Ratio (see clauses 4.15.1 - of 3GPP TS 23.502), expressed in percent. + description: "Unsigned integer indicating Sampling Ratio (see clauses 4.15.1\ + \ of 3GPP TS 23.502), expressed in percent. \n" maximum: 100 minimum: 1 title: SamplingRatio type: integer PartitioningCriteria: anyOf: - - $ref: '#/components/schemas/PartitioningCriteria_anyOf' + - enum: + - TAC + - SUBPLMN + - GEOAREA + - SNSSAI + - DNN + 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 - "TAC": Type Allocation Code - "SUBPLMN": Subscriber PLMN ID - "GEOAREA": Geographical area, i.e. list(s) of TAI(s) - "SNSSAI": S-NSSAI - "DNN": DNN + Possible values are: + - "TAC": Type Allocation Code + - "SUBPLMN": Subscriber PLMN ID + - "GEOAREA": Geographical area, i.e. list(s) of TAI(s) + - "SNSSAI": S-NSSAI + - "DNN": DNN title: PartitioningCriteria NotificationFlag: anyOf: - - $ref: '#/components/schemas/NotificationFlag_anyOf' - - 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. + - enum: + - ACTIVATE + - DEACTIVATE + - RETRIEVAL type: string - description: | - Possible values are - ACTIVATE: The event notification is activated. - DEACTIVATE: The event notification is deactivated and shall be muted. The available event(s) shall be stored. - RETRIEVAL: The event notification shall be sent to the NF service consumer(s), after that, is muted again. + - 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. \n" + type: string + description: "Possible values are:\n- ACTIVATE: The event notification is activated.\n\ + - DEACTIVATE: The event notification is deactivated and shall be muted. The\ + \ available\n event(s) shall be stored.\n- RETRIEVAL: The event notification\ + \ shall be sent to the NF service consumer(s),\n after that, is muted again.\ + \ \n" title: NotificationFlag + MutingExceptionInstructions: + description: | + Indicates to an Event producer NF instructions for the subscription and stored events when an exception (e.g. full buffer) occurs at the Event producer NF while the event is muted. + example: + bufferedNotifs: SEND_ALL + subscription: CLOSE + properties: + bufferedNotifs: + $ref: '#/components/schemas/BufferedNotificationsAction' + subscription: + $ref: '#/components/schemas/SubscriptionAction' + title: MutingExceptionInstructions + type: object + BufferedNotificationsAction: + anyOf: + - enum: + - SEND_ALL + - DISCARD_ALL + - DROP_OLD + type: string + - type: string + description: | + Indicates the required action by the event producer NF on the buffered Notifications. + title: BufferedNotificationsAction + SubscriptionAction: + anyOf: + - enum: + - CLOSE + - CONTINUE_WITH_MUTING + - CONTINUE_WITHOUT_MUTING + type: string + - type: string + description: | + Indicates the required action by the event producer NF on the event subscription if an exception occurs while the event is muted. + title: SubscriptionAction + MutingNotificationsSettings: + description: | + Indicates the Event producer NF settings to the Event consumer NF + example: + maxNoOfNotif: 5 + durationBufferedNotif: 2 + properties: + maxNoOfNotif: + title: maxNoOfNotif + type: integer + durationBufferedNotif: + description: indicating a time in seconds. + title: DurationSec + type: integer + title: MutingNotificationsSettings + type: object + DateTime_1: + description: string with format "date-time" as defined in OpenAPI. + format: date-time + title: DateTime_1 + 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 minimum: 0 title: Port type: integer + 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 + DurationSec_1: + description: Unsigned integer identifying a period of time in units of seconds. + minimum: 0 + title: DurationSec_1 + type: integer Ipv4AddressRange: description: Range of IPv4 addresses example: @@ -3210,105 +6845,79 @@ components: end: 198.51.100.1 properties: start: - description: String identifying a IPv4 address formatted in the "dotted - decimal" notation as defined in RFC 1166. + 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])$ + 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. + 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])$ + 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. + 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])$ + 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 - AccessControlPolicyListExt_allOf: + Ipv6AddressRange_1: + 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_1 + 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 + Ipv4AddressRange_1: + description: Range of IPv4 addresses + example: + start: 198.51.100.1 + end: 198.51.100.1 properties: - apiId: - title: apiId + 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 - title: AccessControlPolicyListExt_allOf + title: Ipv4AddressRange_1 type: object - CAPIFEvent_anyOf: - enum: - - SERVICE_API_AVAILABLE - - SERVICE_API_UNAVAILABLE - - SERVICE_API_UPDATE - - API_INVOKER_ONBOARDED - - API_INVOKER_OFFBOARDED - - SERVICE_API_INVOCATION_SUCCESS - - SERVICE_API_INVOCATION_FAILURE - - ACCESS_CONTROL_POLICY_UPDATE - - ACCESS_CONTROL_POLICY_UNAVAILABLE - - API_INVOKER_AUTHORIZATION_REVOKED - - API_INVOKER_UPDATED - - API_TOPOLOGY_HIDING_CREATED - - API_TOPOLOGY_HIDING_REVOKED - title: CAPIFEvent_anyOf - type: string - CommunicationType_anyOf: - enum: - - REQUEST_RESPONSE - - SUBSCRIBE_NOTIFY - title: CommunicationType_anyOf - type: string - Operation_anyOf: - enum: - - GET - - POST - - PUT - - PATCH - - DELETE - title: Operation_anyOf - type: string - Protocol_anyOf: - enum: - - HTTP_1_1 - - HTTP_2 - title: Protocol_anyOf - type: string - DataFormat_anyOf: - enum: - - JSON - title: DataFormat_anyOf - type: string - SecurityMethod_anyOf: - enum: - - PSK - - PKI - - OAUTH - title: SecurityMethod_anyOf - type: string - NotificationMethod_anyOf: - enum: - - PERIODIC - - ONE_TIME - - ON_EVENT_DETECTION - title: NotificationMethod_anyOf - type: string - PartitioningCriteria_anyOf: - enum: - - TAC - - SUBPLMN - - GEOAREA - - SNSSAI - - DNN - title: PartitioningCriteria_anyOf - type: string - NotificationFlag_anyOf: - enum: - - ACTIVATE - - DEACTIVATE - - RETRIEVAL - title: NotificationFlag_anyOf - type: string + Float: + description: string with format 'float' as defined in OpenAPI. + format: float + title: Float + type: number diff --git a/services/TS29222_CAPIF_Events_API/capif_events/test/__init__.py b/services/TS29222_CAPIF_Events_API/capif_events/test/__init__.py new file mode 100644 index 0000000..c55e721 --- /dev/null +++ b/services/TS29222_CAPIF_Events_API/capif_events/test/__init__.py @@ -0,0 +1,16 @@ +import logging + +import connexion +from flask_testing import TestCase + +from capif_events.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_Events_API/capif_events/test/test_default_controller.py b/services/TS29222_CAPIF_Events_API/capif_events/test/test_default_controller.py new file mode 100644 index 0000000..7e06036 --- /dev/null +++ b/services/TS29222_CAPIF_Events_API/capif_events/test/test_default_controller.py @@ -0,0 +1,88 @@ +import unittest + +from flask import json + +from capif_events.models.event_subscription import EventSubscription # noqa: E501 +from capif_events.models.event_subscription_patch import EventSubscriptionPatch # noqa: E501 +from capif_events.models.problem_details import ProblemDetails # noqa: E501 +from capif_events.test import BaseTestCase + + +class TestDefaultController(BaseTestCase): + """DefaultController integration test stubs""" + + def test_subscriber_id_subscriptions_post(self): + """Test case for subscriber_id_subscriptions_post + + + """ + event_subscription = {"notificationDestination":"notificationDestination","eventFilters":[{"aefIds":["aefIds","aefIds"],"apiInvokerIds":["apiInvokerIds","apiInvokerIds"],"apiIds":["apiIds","apiIds"]},{"aefIds":["aefIds","aefIds"],"apiInvokerIds":["apiInvokerIds","apiInvokerIds"],"apiIds":["apiIds","apiIds"]}],"supportedFeatures":"supportedFeatures","eventReq":{"notifMethod":"PERIODIC","partitionCriteria":["TAC","TAC"],"grpRepTime":5,"notifFlag":"ACTIVATE","mutingSetting":{"maxNoOfNotif":5,"durationBufferedNotif":2},"monDur":"2000-01-23T04:56:07.000+00:00","immRep":True,"maxReportNbr":0,"repPeriod":6,"sampRatio":15,"notifFlagInstruct":{"bufferedNotifs":"SEND_ALL","subscription":"CLOSE"}},"websockNotifConfig":{"requestWebsocketUri":True,"websocketUri":"websocketUri"},"events":["SERVICE_API_AVAILABLE","SERVICE_API_AVAILABLE"],"requestTestNotification":True} + headers = { + 'Accept': 'application/json', + 'Content-Type': 'application/json', + } + response = self.client.open( + '/capif-events/v1/{subscriber_id}/subscriptions'.format(subscriber_id='subscriber_id_example'), + method='POST', + headers=headers, + data=json.dumps(event_subscription), + content_type='application/json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_subscriber_id_subscriptions_subscription_id_delete(self): + """Test case for subscriber_id_subscriptions_subscription_id_delete + + + """ + headers = { + 'Accept': 'application/problem+json', + } + response = self.client.open( + '/capif-events/v1/{subscriber_id}/subscriptions/{subscription_id}'.format(subscriber_id='subscriber_id_example', subscription_id='subscription_id_example'), + method='DELETE', + headers=headers) + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_subscriber_id_subscriptions_subscription_id_patch(self): + """Test case for subscriber_id_subscriptions_subscription_id_patch + + + """ + event_subscription_patch = openapi_server.EventSubscriptionPatch() + headers = { + 'Accept': 'application/json', + 'Content-Type': 'application/merge-patch+json', + } + response = self.client.open( + '/capif-events/v1/{subscriber_id}/subscriptions/{subscription_id}'.format(subscriber_id='subscriber_id_example', subscription_id='subscription_id_example'), + method='PATCH', + headers=headers, + data=json.dumps(event_subscription_patch), + content_type='application/merge-patch+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_subscriber_id_subscriptions_subscription_id_put(self): + """Test case for subscriber_id_subscriptions_subscription_id_put + + + """ + event_subscription = {"notificationDestination":"notificationDestination","eventFilters":[{"aefIds":["aefIds","aefIds"],"apiInvokerIds":["apiInvokerIds","apiInvokerIds"],"apiIds":["apiIds","apiIds"]},{"aefIds":["aefIds","aefIds"],"apiInvokerIds":["apiInvokerIds","apiInvokerIds"],"apiIds":["apiIds","apiIds"]}],"supportedFeatures":"supportedFeatures","eventReq":{"notifMethod":"PERIODIC","partitionCriteria":["TAC","TAC"],"grpRepTime":5,"notifFlag":"ACTIVATE","mutingSetting":{"maxNoOfNotif":5,"durationBufferedNotif":2},"monDur":"2000-01-23T04:56:07.000+00:00","immRep":True,"maxReportNbr":0,"repPeriod":6,"sampRatio":15,"notifFlagInstruct":{"bufferedNotifs":"SEND_ALL","subscription":"CLOSE"}},"websockNotifConfig":{"requestWebsocketUri":True,"websocketUri":"websocketUri"},"events":["SERVICE_API_AVAILABLE","SERVICE_API_AVAILABLE"],"requestTestNotification":True} + headers = { + 'Accept': 'application/json', + 'Content-Type': 'application/json', + } + response = self.client.open( + '/capif-events/v1/{subscriber_id}/subscriptions/{subscription_id}'.format(subscriber_id='subscriber_id_example', subscription_id='subscription_id_example'), + method='PUT', + headers=headers, + data=json.dumps(event_subscription), + 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_Events_API/capif_events/typing_utils.py b/services/TS29222_CAPIF_Events_API/capif_events/typing_utils.py index 0563f81..74e3c91 100644 --- a/services/TS29222_CAPIF_Events_API/capif_events/typing_utils.py +++ b/services/TS29222_CAPIF_Events_API/capif_events/typing_utils.py @@ -1,5 +1,3 @@ -# coding: utf-8 - import sys if sys.version_info < (3, 7): diff --git a/services/TS29222_CAPIF_Events_API/capif_events/util.py b/services/TS29222_CAPIF_Events_API/capif_events/util.py index 28a9e46..2ce4382 100644 --- a/services/TS29222_CAPIF_Events_API/capif_events/util.py +++ b/services/TS29222_CAPIF_Events_API/capif_events/util.py @@ -1,8 +1,7 @@ import datetime -import six -import typing_utils - +import typing +from capif_events import typing_utils def serialize_clean_camel_case(obj): res = obj.to_dict() @@ -44,7 +43,6 @@ def dict_to_camel_case(my_dict): result[my_key] = value return result - def _deserialize(data, klass): """Deserializes dict, list, str into an object. @@ -56,7 +54,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) @@ -85,7 +83,7 @@ def _deserialize_primitive(data, klass): try: value = klass(data) except UnicodeEncodeError: - value = six.u(data) + value = data except TypeError: value = data return value @@ -150,7 +148,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)): @@ -185,4 +183,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_Events_API/git_push.sh b/services/TS29222_CAPIF_Events_API/git_push.sh index 9405f72..f53a75d 100644 --- a/services/TS29222_CAPIF_Events_API/git_push.sh +++ b/services/TS29222_CAPIF_Events_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_Events_API/requirements.txt b/services/TS29222_CAPIF_Events_API/requirements.txt index 22b0d35..494e0e8 100644 --- a/services/TS29222_CAPIF_Events_API/requirements.txt +++ b/services/TS29222_CAPIF_Events_API/requirements.txt @@ -25,4 +25,4 @@ async-timeout == 4.0.3 Werkzeug == 2.2.3 pyopenssl == 24.1.0 gunicorn == 22.0.0 -packaging == 24.0 +packaging == 24.0 \ No newline at end of file diff --git a/services/TS29222_CAPIF_Events_API/setup.py b/services/TS29222_CAPIF_Events_API/setup.py index 6ac5631..22fbd80 100644 --- a/services/TS29222_CAPIF_Events_API/setup.py +++ b/services/TS29222_CAPIF_Events_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': ['capif_events=capif_events.__main__:main']}, long_description="""\ - API for event subscription management. © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. + API for event subscription management. © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. """ ) diff --git a/services/TS29222_CAPIF_Events_API/tox.ini b/services/TS29222_CAPIF_Events_API/tox.ini index 8ef20cd..157b48f 100644 --- a/services/TS29222_CAPIF_Events_API/tox.ini +++ b/services/TS29222_CAPIF_Events_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=capif_events diff --git a/services/TS29222_CAPIF_Security_API/capif_security/__main__.py b/services/TS29222_CAPIF_Security_API/capif_security/__main__.py new file mode 100644 index 0000000..fe1e26f --- /dev/null +++ b/services/TS29222_CAPIF_Security_API/capif_security/__main__.py @@ -0,0 +1,19 @@ +#!/usr/bin/env python3 + +import connexion + +from capif_security import encoder + + +def main(): + app = connexion.App(__name__, specification_dir='./openapi/') + app.app.json_encoder = encoder.JSONEncoder + app.add_api('openapi.yaml', + arguments={'title': 'CAPIF_Security_API'}, + pythonic_params=True) + + app.run(port=8080) + + +if __name__ == '__main__': + main() diff --git a/services/TS29222_CAPIF_Security_API/capif_security/controllers/security_controller.py b/services/TS29222_CAPIF_Security_API/capif_security/controllers/security_controller.py new file mode 100644 index 0000000..6d294ff --- /dev/null +++ b/services/TS29222_CAPIF_Security_API/capif_security/controllers/security_controller.py @@ -0,0 +1,2 @@ +from typing import List + diff --git a/services/TS29222_CAPIF_Security_API/capif_security/models/base_model.py b/services/TS29222_CAPIF_Security_API/capif_security/models/base_model.py new file mode 100644 index 0000000..4bf9315 --- /dev/null +++ b/services/TS29222_CAPIF_Security_API/capif_security/models/base_model.py @@ -0,0 +1,68 @@ +import pprint + +import typing + +from capif_security import util + +T = typing.TypeVar('T') + + +class Model: + # openapiTypes: The key is attribute name and the + # value is attribute type. + openapi_types: typing.Dict[str, type] = {} + + # attributeMap: The key is attribute name and the + # value is json key in definition. + attribute_map: typing.Dict[str, str] = {} + + @classmethod + def from_dict(cls: typing.Type[T], dikt) -> T: + """Returns the dict as a model""" + return util.deserialize_model(dikt, cls) + + def to_dict(self): + """Returns the model properties as a dict + + :rtype: dict + """ + result = {} + + for attr in self.openapi_types: + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + + return result + + def to_str(self): + """Returns the string representation of the model + + :rtype: str + """ + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/services/TS29222_CAPIF_Security_API/capif_security/models/no_profile_match_info.py b/services/TS29222_CAPIF_Security_API/capif_security/models/no_profile_match_info.py new file mode 100644 index 0000000..4d8885b --- /dev/null +++ b/services/TS29222_CAPIF_Security_API/capif_security/models/no_profile_match_info.py @@ -0,0 +1,95 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from capif_security.models.base_model import Model +from capif_security.models.no_profile_match_reason import NoProfileMatchReason +from capif_security.models.query_param_combination import QueryParamCombination +from capif_security import util + +from capif_security.models.no_profile_match_reason import NoProfileMatchReason # noqa: E501 +from capif_security.models.query_param_combination import QueryParamCombination # noqa: E501 + +class NoProfileMatchInfo(Model): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + """ + + def __init__(self, reason=None, query_param_combination_list=None): # noqa: E501 + """NoProfileMatchInfo - a model defined in OpenAPI + + :param reason: The reason of this NoProfileMatchInfo. # noqa: E501 + :type reason: NoProfileMatchReason + :param query_param_combination_list: The query_param_combination_list of this NoProfileMatchInfo. # noqa: E501 + :type query_param_combination_list: List[QueryParamCombination] + """ + self.openapi_types = { + 'reason': NoProfileMatchReason, + 'query_param_combination_list': List[QueryParamCombination] + } + + self.attribute_map = { + 'reason': 'reason', + 'query_param_combination_list': 'queryParamCombinationList' + } + + self._reason = reason + self._query_param_combination_list = query_param_combination_list + + @classmethod + def from_dict(cls, dikt) -> 'NoProfileMatchInfo': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The NoProfileMatchInfo of this NoProfileMatchInfo. # noqa: E501 + :rtype: NoProfileMatchInfo + """ + return util.deserialize_model(dikt, cls) + + @property + def reason(self) -> NoProfileMatchReason: + """Gets the reason of this NoProfileMatchInfo. + + + :return: The reason of this NoProfileMatchInfo. + :rtype: NoProfileMatchReason + """ + return self._reason + + @reason.setter + def reason(self, reason: NoProfileMatchReason): + """Sets the reason of this NoProfileMatchInfo. + + + :param reason: The reason of this NoProfileMatchInfo. + :type reason: NoProfileMatchReason + """ + if reason is None: + raise ValueError("Invalid value for `reason`, must not be `None`") # noqa: E501 + + self._reason = reason + + @property + def query_param_combination_list(self) -> List[QueryParamCombination]: + """Gets the query_param_combination_list of this NoProfileMatchInfo. + + + :return: The query_param_combination_list of this NoProfileMatchInfo. + :rtype: List[QueryParamCombination] + """ + return self._query_param_combination_list + + @query_param_combination_list.setter + def query_param_combination_list(self, query_param_combination_list: List[QueryParamCombination]): + """Sets the query_param_combination_list of this NoProfileMatchInfo. + + + :param query_param_combination_list: The query_param_combination_list of this NoProfileMatchInfo. + :type query_param_combination_list: List[QueryParamCombination] + """ + if query_param_combination_list is not None and len(query_param_combination_list) < 1: + raise ValueError("Invalid value for `query_param_combination_list`, number of items must be greater than or equal to `1`") # noqa: E501 + + self._query_param_combination_list = query_param_combination_list diff --git a/services/TS29222_CAPIF_Security_API/capif_security/models/no_profile_match_reason.py b/services/TS29222_CAPIF_Security_API/capif_security/models/no_profile_match_reason.py new file mode 100644 index 0000000..ccec0b3 --- /dev/null +++ b/services/TS29222_CAPIF_Security_API/capif_security/models/no_profile_match_reason.py @@ -0,0 +1,34 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from capif_security.models.base_model import Model +from capif_security import util + + +class NoProfileMatchReason(Model): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + """ + + def __init__(self): # noqa: E501 + """NoProfileMatchReason - a model defined in OpenAPI + + """ + self.openapi_types = { + } + + self.attribute_map = { + } + + @classmethod + def from_dict(cls, dikt) -> 'NoProfileMatchReason': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The NoProfileMatchReason of this NoProfileMatchReason. # noqa: E501 + :rtype: NoProfileMatchReason + """ + return util.deserialize_model(dikt, cls) diff --git a/services/TS29222_CAPIF_Security_API/capif_security/models/o_auth_grant_type.py b/services/TS29222_CAPIF_Security_API/capif_security/models/o_auth_grant_type.py new file mode 100644 index 0000000..8bace2b --- /dev/null +++ b/services/TS29222_CAPIF_Security_API/capif_security/models/o_auth_grant_type.py @@ -0,0 +1,34 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from capif_security.models.base_model import Model +from capif_security import util + + +class OAuthGrantType(Model): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + """ + + def __init__(self): # noqa: E501 + """OAuthGrantType - a model defined in OpenAPI + + """ + self.openapi_types = { + } + + self.attribute_map = { + } + + @classmethod + def from_dict(cls, dikt) -> 'OAuthGrantType': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The OAuthGrantType of this OAuthGrantType. # noqa: E501 + :rtype: OAuthGrantType + """ + return util.deserialize_model(dikt, cls) diff --git a/services/TS29222_CAPIF_Security_API/capif_security/models/query_param_combination.py b/services/TS29222_CAPIF_Security_API/capif_security/models/query_param_combination.py new file mode 100644 index 0000000..a28fb4a --- /dev/null +++ b/services/TS29222_CAPIF_Security_API/capif_security/models/query_param_combination.py @@ -0,0 +1,67 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from capif_security.models.base_model import Model +from capif_security.models.query_parameter import QueryParameter +from capif_security import util + +from capif_security.models.query_parameter import QueryParameter # noqa: E501 + +class QueryParamCombination(Model): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + """ + + def __init__(self, _query_params=None): # noqa: E501 + """QueryParamCombination - a model defined in OpenAPI + + :param _query_params: The _query_params of this QueryParamCombination. # noqa: E501 + :type _query_params: List[QueryParameter] + """ + self.openapi_types = { + '_query_params': List[QueryParameter] + } + + self.attribute_map = { + '_query_params': 'queryParams' + } + + self.__query_params = _query_params + + @classmethod + def from_dict(cls, dikt) -> 'QueryParamCombination': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The QueryParamCombination of this QueryParamCombination. # noqa: E501 + :rtype: QueryParamCombination + """ + return util.deserialize_model(dikt, cls) + + @property + def _query_params(self) -> List[QueryParameter]: + """Gets the _query_params of this QueryParamCombination. + + + :return: The _query_params of this QueryParamCombination. + :rtype: List[QueryParameter] + """ + return self.__query_params + + @_query_params.setter + def _query_params(self, _query_params: List[QueryParameter]): + """Sets the _query_params of this QueryParamCombination. + + + :param _query_params: The _query_params of this QueryParamCombination. + :type _query_params: List[QueryParameter] + """ + if _query_params is None: + raise ValueError("Invalid value for `_query_params`, must not be `None`") # noqa: E501 + if _query_params is not None and len(_query_params) < 1: + raise ValueError("Invalid value for `_query_params`, number of items must be greater than or equal to `1`") # noqa: E501 + + self.__query_params = _query_params diff --git a/services/TS29222_CAPIF_Security_API/capif_security/models/query_parameter.py b/services/TS29222_CAPIF_Security_API/capif_security/models/query_parameter.py new file mode 100644 index 0000000..183bb32 --- /dev/null +++ b/services/TS29222_CAPIF_Security_API/capif_security/models/query_parameter.py @@ -0,0 +1,91 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from capif_security.models.base_model import Model +from capif_security import util + + +class QueryParameter(Model): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + """ + + def __init__(self, name=None, value=None): # noqa: E501 + """QueryParameter - a model defined in OpenAPI + + :param name: The name of this QueryParameter. # noqa: E501 + :type name: str + :param value: The value of this QueryParameter. # noqa: E501 + :type value: str + """ + self.openapi_types = { + 'name': str, + 'value': str + } + + self.attribute_map = { + 'name': 'name', + 'value': 'value' + } + + self._name = name + self._value = value + + @classmethod + def from_dict(cls, dikt) -> 'QueryParameter': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The QueryParameter of this QueryParameter. # noqa: E501 + :rtype: QueryParameter + """ + return util.deserialize_model(dikt, cls) + + @property + def name(self) -> str: + """Gets the name of this QueryParameter. + + + :return: The name of this QueryParameter. + :rtype: str + """ + return self._name + + @name.setter + def name(self, name: str): + """Sets the name of this QueryParameter. + + + :param name: The name of this QueryParameter. + :type name: str + """ + if name is None: + raise ValueError("Invalid value for `name`, must not be `None`") # noqa: E501 + + self._name = name + + @property + def value(self) -> str: + """Gets the value of this QueryParameter. + + + :return: The value of this QueryParameter. + :rtype: str + """ + return self._value + + @value.setter + def value(self, value: str): + """Sets the value of this QueryParameter. + + + :param value: The value of this QueryParameter. + :type value: str + """ + if value is None: + raise ValueError("Invalid value for `value`, must not be `None`") # noqa: E501 + + self._value = value diff --git a/services/TS29222_CAPIF_Security_API/capif_security/models/res_owner_id.py b/services/TS29222_CAPIF_Security_API/capif_security/models/res_owner_id.py new file mode 100644 index 0000000..d7b9c67 --- /dev/null +++ b/services/TS29222_CAPIF_Security_API/capif_security/models/res_owner_id.py @@ -0,0 +1,67 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from capif_security.models.base_model import Model +import re +from capif_security import util + +import re # noqa: E501 + +class ResOwnerId(Model): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + """ + + def __init__(self, gpsi=None): # noqa: E501 + """ResOwnerId - a model defined in OpenAPI + + :param gpsi: The gpsi of this ResOwnerId. # noqa: E501 + :type gpsi: str + """ + self.openapi_types = { + 'gpsi': str + } + + self.attribute_map = { + 'gpsi': 'gpsi' + } + + self._gpsi = gpsi + + @classmethod + def from_dict(cls, dikt) -> 'ResOwnerId': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The ResOwnerId of this ResOwnerId. # noqa: E501 + :rtype: ResOwnerId + """ + return util.deserialize_model(dikt, cls) + + @property + def gpsi(self) -> str: + """Gets the gpsi of this ResOwnerId. + + String identifying a Gpsi shall contain either an External Id or an MSISDN. It shall be formatted as follows -External Identifier= \"extid-'extid', where 'extid' shall be formatted according to clause 19.7.2 of 3GPP TS 23.003 that describes an External Identifier. # noqa: E501 + + :return: The gpsi of this ResOwnerId. + :rtype: str + """ + return self._gpsi + + @gpsi.setter + def gpsi(self, gpsi: str): + """Sets the gpsi of this ResOwnerId. + + String identifying a Gpsi shall contain either an External Id or an MSISDN. It shall be formatted as follows -External Identifier= \"extid-'extid', where 'extid' shall be formatted according to clause 19.7.2 of 3GPP TS 23.003 that describes an External Identifier. # noqa: E501 + + :param gpsi: The gpsi of this ResOwnerId. + :type gpsi: str + """ + if gpsi is not None and not re.search(r'^(msisdn-[0-9]{5,15}|extid-[^@]+@[^@]+|.+)$', gpsi): # noqa: E501 + raise ValueError("Invalid value for `gpsi`, must be a follow pattern or equal to `/^(msisdn-[0-9]{5,15}|extid-[^@]+@[^@]+|.+)$/`") # noqa: E501 + + self._gpsi = gpsi diff --git a/services/TS29222_CAPIF_Security_API/capif_security/test/__init__.py b/services/TS29222_CAPIF_Security_API/capif_security/test/__init__.py new file mode 100644 index 0000000..d3c5dca --- /dev/null +++ b/services/TS29222_CAPIF_Security_API/capif_security/test/__init__.py @@ -0,0 +1,16 @@ +import logging + +import connexion +from flask_testing import TestCase + +from capif_security.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_Security_API/capif_security/test/test_default_controller.py b/services/TS29222_CAPIF_Security_API/capif_security/test/test_default_controller.py new file mode 100644 index 0000000..edb68b3 --- /dev/null +++ b/services/TS29222_CAPIF_Security_API/capif_security/test/test_default_controller.py @@ -0,0 +1,135 @@ +import unittest + +from flask import json + +from capif_security.models.access_token_err import AccessTokenErr # noqa: E501 +from capif_security.models.access_token_rsp import AccessTokenRsp # noqa: E501 +from capif_security.models.problem_details import ProblemDetails # noqa: E501 +from capif_security.models.res_owner_id import ResOwnerId # noqa: E501 +from capif_security.models.security_notification import SecurityNotification # noqa: E501 +from capif_security.models.service_security import ServiceSecurity # noqa: E501 +from capif_security.test import BaseTestCase + + +class TestDefaultController(BaseTestCase): + """DefaultController integration test stubs""" + + @unittest.skip("application/x-www-form-urlencoded not supported by Connexion") + def test_securities_security_id_token_post(self): + """Test case for securities_security_id_token_post + + + """ + headers = { + 'Accept': 'application/json', + 'Content-Type': 'application/x-www-form-urlencoded', + } + data = dict(grant_type='grant_type_example', + client_id='client_id_example', + res_owner_id=openapi_server.ResOwnerId(), + client_secret='client_secret_example', + scope='scope_example', + auth_code='auth_code_example', + redirect_uri='redirect_uri_example') + response = self.client.open( + '/capif-security/v1/securities/{security_id}/token'.format(security_id='security_id_example'), + method='POST', + headers=headers, + data=data, + content_type='application/x-www-form-urlencoded') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_trusted_invokers_api_invoker_id_delete(self): + """Test case for trusted_invokers_api_invoker_id_delete + + + """ + headers = { + 'Accept': 'application/problem+json', + } + response = self.client.open( + '/capif-security/v1/trustedInvokers/{api_invoker_id}'.format(api_invoker_id='api_invoker_id_example'), + method='DELETE', + headers=headers) + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_trusted_invokers_api_invoker_id_delete_post(self): + """Test case for trusted_invokers_api_invoker_id_delete_post + + + """ + security_notification = {"apiInvokerId":"apiInvokerId","cause":"OVERLIMIT_USAGE","aefId":"aefId","apiIds":["apiIds","apiIds"]} + headers = { + 'Accept': 'application/problem+json', + 'Content-Type': 'application/json', + } + response = self.client.open( + '/capif-security/v1/trustedInvokers/{api_invoker_id}/delete'.format(api_invoker_id='api_invoker_id_example'), + method='POST', + headers=headers, + data=json.dumps(security_notification), + content_type='application/json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_trusted_invokers_api_invoker_id_get(self): + """Test case for trusted_invokers_api_invoker_id_get + + + """ + query_string = [('authenticationInfo', True), + ('authorizationInfo', True)] + headers = { + 'Accept': 'application/json', + } + response = self.client.open( + '/capif-security/v1/trustedInvokers/{api_invoker_id}'.format(api_invoker_id='api_invoker_id_example'), + method='GET', + headers=headers, + query_string=query_string) + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_trusted_invokers_api_invoker_id_put(self): + """Test case for trusted_invokers_api_invoker_id_put + + + """ + service_security = {"notificationDestination":"notificationDestination","supportedFeatures":"supportedFeatures","securityInfo":[{"authenticationInfo":"authenticationInfo","authorizationInfo":"authorizationInfo","interfaceDetails":{"ipv6Addr":"ipv6Addr","securityMethods":["PSK","PSK"],"fqdn":"fqdn","port":5248,"apiPrefix":"apiPrefix","ipv4Addr":"ipv4Addr"},"prefSecurityMethods":[null,null],"aefId":"aefId","grantType":["CLIENT_CREDENTIALS","CLIENT_CREDENTIALS"],"apiId":"apiId"},{"authenticationInfo":"authenticationInfo","authorizationInfo":"authorizationInfo","interfaceDetails":{"ipv6Addr":"ipv6Addr","securityMethods":["PSK","PSK"],"fqdn":"fqdn","port":5248,"apiPrefix":"apiPrefix","ipv4Addr":"ipv4Addr"},"prefSecurityMethods":[null,null],"aefId":"aefId","grantType":["CLIENT_CREDENTIALS","CLIENT_CREDENTIALS"],"apiId":"apiId"}],"websockNotifConfig":{"requestWebsocketUri":True,"websocketUri":"websocketUri"},"requestTestNotification":True} + headers = { + 'Accept': 'application/json', + 'Content-Type': 'application/json', + } + response = self.client.open( + '/capif-security/v1/trustedInvokers/{api_invoker_id}'.format(api_invoker_id='api_invoker_id_example'), + method='PUT', + headers=headers, + data=json.dumps(service_security), + content_type='application/json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_trusted_invokers_api_invoker_id_update_post(self): + """Test case for trusted_invokers_api_invoker_id_update_post + + + """ + service_security = {"notificationDestination":"notificationDestination","supportedFeatures":"supportedFeatures","securityInfo":[{"authenticationInfo":"authenticationInfo","authorizationInfo":"authorizationInfo","interfaceDetails":{"ipv6Addr":"ipv6Addr","securityMethods":["PSK","PSK"],"fqdn":"fqdn","port":5248,"apiPrefix":"apiPrefix","ipv4Addr":"ipv4Addr"},"prefSecurityMethods":[null,null],"aefId":"aefId","grantType":["CLIENT_CREDENTIALS","CLIENT_CREDENTIALS"],"apiId":"apiId"},{"authenticationInfo":"authenticationInfo","authorizationInfo":"authorizationInfo","interfaceDetails":{"ipv6Addr":"ipv6Addr","securityMethods":["PSK","PSK"],"fqdn":"fqdn","port":5248,"apiPrefix":"apiPrefix","ipv4Addr":"ipv4Addr"},"prefSecurityMethods":[null,null],"aefId":"aefId","grantType":["CLIENT_CREDENTIALS","CLIENT_CREDENTIALS"],"apiId":"apiId"}],"websockNotifConfig":{"requestWebsocketUri":True,"websocketUri":"websocketUri"},"requestTestNotification":True} + headers = { + 'Accept': 'application/json', + 'Content-Type': 'application/json', + } + response = self.client.open( + '/capif-security/v1/trustedInvokers/{api_invoker_id}/update'.format(api_invoker_id='api_invoker_id_example'), + method='POST', + headers=headers, + data=json.dumps(service_security), + content_type='application/json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + +if __name__ == '__main__': + unittest.main() -- GitLab From 83231d302692179681195614b8710d5bc144cdd4 Mon Sep 17 00:00:00 2001 From: Pelayo Torres Date: Mon, 22 Jul 2024 09:47:37 +0200 Subject: [PATCH 07/15] REL18 ACL service --- .../.openapi-generator/FILES | 37 +++++++------- .../.openapi-generator/VERSION | 2 +- .../README.md | 4 +- .../controllers/default_controller.py | 10 +++- ..._controller_.py => security_controller.py} | 0 .../capif_acl/encoder.py | 5 +- .../capif_acl/models/__init__.py | 3 -- .../models/access_control_policy_list.py | 9 ++-- .../capif_acl/models/api_invoker_policy.py | 21 ++++---- .../models/{base_model_.py => base_model.py} | 5 +- .../capif_acl/models/invalid_param.py | 13 ++--- .../capif_acl/models/problem_details.py | 49 +++++++++---------- .../capif_acl/models/time_range_list.py | 13 ++--- .../capif_acl/openapi/openapi.yaml | 15 +++--- .../capif_acl/test/test_default_controller.py | 9 ++-- .../capif_acl/typing_utils.py | 2 - .../capif_acl/util.py | 14 +++--- .../setup.py | 6 +-- .../test-requirements.txt | 2 +- .../tox.ini | 4 +- 20 files changed, 103 insertions(+), 120 deletions(-) rename services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/controllers/{security_controller_.py => security_controller.py} (100%) rename services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/models/{base_model_.py => base_model.py} (95%) diff --git a/services/TS29222_CAPIF_Access_Control_Policy_API/.openapi-generator/FILES b/services/TS29222_CAPIF_Access_Control_Policy_API/.openapi-generator/FILES index 9024036..eeda92f 100644 --- a/services/TS29222_CAPIF_Access_Control_Policy_API/.openapi-generator/FILES +++ b/services/TS29222_CAPIF_Access_Control_Policy_API/.openapi-generator/FILES @@ -1,27 +1,28 @@ .dockerignore .gitignore +.openapi-generator-ignore .travis.yml Dockerfile README.md git_push.sh -openapi_server/__init__.py -openapi_server/__main__.py -openapi_server/controllers/__init__.py -openapi_server/controllers/default_controller.py -openapi_server/controllers/security_controller_.py -openapi_server/encoder.py -openapi_server/models/__init__.py -openapi_server/models/access_control_policy_list.py -openapi_server/models/api_invoker_policy.py -openapi_server/models/base_model_.py -openapi_server/models/invalid_param.py -openapi_server/models/problem_details.py -openapi_server/models/time_range_list.py -openapi_server/openapi/openapi.yaml -openapi_server/test/__init__.py -openapi_server/test/test_default_controller.py -openapi_server/typing_utils.py -openapi_server/util.py +capif_acl/__init__.py +capif_acl/__main__.py +capif_acl/controllers/__init__.py +capif_acl/controllers/default_controller.py +capif_acl/controllers/security_controller.py +capif_acl/encoder.py +capif_acl/models/__init__.py +capif_acl/models/access_control_policy_list.py +capif_acl/models/api_invoker_policy.py +capif_acl/models/base_model.py +capif_acl/models/invalid_param.py +capif_acl/models/problem_details.py +capif_acl/models/time_range_list.py +capif_acl/openapi/openapi.yaml +capif_acl/test/__init__.py +capif_acl/test/test_default_controller.py +capif_acl/typing_utils.py +capif_acl/util.py requirements.txt setup.py test-requirements.txt diff --git a/services/TS29222_CAPIF_Access_Control_Policy_API/.openapi-generator/VERSION b/services/TS29222_CAPIF_Access_Control_Policy_API/.openapi-generator/VERSION index 4be2c72..18bb418 100644 --- a/services/TS29222_CAPIF_Access_Control_Policy_API/.openapi-generator/VERSION +++ b/services/TS29222_CAPIF_Access_Control_Policy_API/.openapi-generator/VERSION @@ -1 +1 @@ -6.5.0 \ No newline at end of file +7.5.0 diff --git a/services/TS29222_CAPIF_Access_Control_Policy_API/README.md b/services/TS29222_CAPIF_Access_Control_Policy_API/README.md index 40feae4..1222b0a 100644 --- a/services/TS29222_CAPIF_Access_Control_Policy_API/README.md +++ b/services/TS29222_CAPIF_Access_Control_Policy_API/README.md @@ -42,8 +42,8 @@ To run the server on a Docker container, please execute the following from the r ```bash # building the image -docker build -t openapi_server . +docker build -t capif_acl . # starting up a container -docker run -p 8080:8080 openapi_server +docker run -p 8080:8080 capif_acl ``` \ No newline at end of file diff --git a/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/controllers/default_controller.py b/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/controllers/default_controller.py index 52174b1..bb5a8ee 100644 --- a/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/controllers/default_controller.py +++ b/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/controllers/default_controller.py @@ -1,3 +1,11 @@ +import connexion +from typing import Dict +from typing import Tuple +from typing import Union + +from capif_acl.models.access_control_policy_list import AccessControlPolicyList # noqa: E501 +from capif_acl.models.problem_details import ProblemDetails # noqa: E501 +from capif_acl import util from functools import wraps from flask import request, current_app @@ -6,7 +14,6 @@ from cryptography.hazmat.backends import default_backend from ..core.accesscontrolpolicyapi import accessControlPolicyApi - def cert_validation(): def _cert_validation(f): @wraps(f) @@ -24,7 +31,6 @@ def cert_validation(): return __cert_validation return _cert_validation - @cert_validation() def access_control_policy_list_service_api_id_get(service_api_id, aef_id, api_invoker_id=None, supported_features=None): # noqa: E501 """access_control_policy_list_service_api_id_get diff --git a/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/controllers/security_controller_.py b/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/controllers/security_controller.py similarity index 100% rename from services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/controllers/security_controller_.py rename to services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/controllers/security_controller.py diff --git a/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/encoder.py b/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/encoder.py index 80bad8f..c0b0f8e 100644 --- a/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/encoder.py +++ b/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/encoder.py @@ -1,7 +1,6 @@ from connexion.apps.flask_app import FlaskJSONEncoder -import six -from models.base_model_ import Model +from capif_acl.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_Access_Control_Policy_API/capif_acl/models/__init__.py b/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/models/__init__.py index 4c4e60f..43aa015 100644 --- a/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/models/__init__.py +++ b/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/models/__init__.py @@ -1,7 +1,4 @@ -# coding: utf-8 - # flake8: noqa -from __future__ import absolute_import # import models into model package from capif_acl.models.access_control_policy_list import AccessControlPolicyList from capif_acl.models.api_invoker_policy import ApiInvokerPolicy diff --git a/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/models/access_control_policy_list.py b/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/models/access_control_policy_list.py index b3cacd4..a851ac3 100644 --- a/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/models/access_control_policy_list.py +++ b/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/models/access_control_policy_list.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 capif_acl.models.base_model_ import Model +from capif_acl.models.base_model import Model from capif_acl.models.api_invoker_policy import ApiInvokerPolicy from capif_acl import util @@ -45,7 +42,7 @@ class AccessControlPolicyList(Model): return util.deserialize_model(dikt, cls) @property - def api_invoker_policies(self): + def api_invoker_policies(self) -> List[ApiInvokerPolicy]: """Gets the api_invoker_policies of this AccessControlPolicyList. Policy of each API invoker. # noqa: E501 @@ -56,7 +53,7 @@ class AccessControlPolicyList(Model): return self._api_invoker_policies @api_invoker_policies.setter - def api_invoker_policies(self, api_invoker_policies): + def api_invoker_policies(self, api_invoker_policies: List[ApiInvokerPolicy]): """Sets the api_invoker_policies of this AccessControlPolicyList. Policy of each API invoker. # noqa: E501 diff --git a/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/models/api_invoker_policy.py b/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/models/api_invoker_policy.py index 86ffec0..a22e84c 100644 --- a/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/models/api_invoker_policy.py +++ b/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/models/api_invoker_policy.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 capif_acl.models.base_model_ import Model +from capif_acl.models.base_model import Model from capif_acl.models.time_range_list import TimeRangeList from capif_acl import util @@ -60,7 +57,7 @@ class ApiInvokerPolicy(Model): return util.deserialize_model(dikt, cls) @property - def api_invoker_id(self): + def api_invoker_id(self) -> str: """Gets the api_invoker_id of this ApiInvokerPolicy. API invoker ID assigned by the CAPIF core function # noqa: E501 @@ -71,7 +68,7 @@ class ApiInvokerPolicy(Model): return self._api_invoker_id @api_invoker_id.setter - def api_invoker_id(self, api_invoker_id): + def api_invoker_id(self, api_invoker_id: str): """Sets the api_invoker_id of this ApiInvokerPolicy. API invoker ID assigned by the CAPIF core function # noqa: E501 @@ -85,7 +82,7 @@ class ApiInvokerPolicy(Model): self._api_invoker_id = api_invoker_id @property - def allowed_total_invocations(self): + def allowed_total_invocations(self) -> int: """Gets the allowed_total_invocations of this ApiInvokerPolicy. Total number of invocations allowed on the service API by the API invoker. # noqa: E501 @@ -96,7 +93,7 @@ class ApiInvokerPolicy(Model): return self._allowed_total_invocations @allowed_total_invocations.setter - def allowed_total_invocations(self, allowed_total_invocations): + def allowed_total_invocations(self, allowed_total_invocations: int): """Sets the allowed_total_invocations of this ApiInvokerPolicy. Total number of invocations allowed on the service API by the API invoker. # noqa: E501 @@ -108,7 +105,7 @@ class ApiInvokerPolicy(Model): self._allowed_total_invocations = allowed_total_invocations @property - def allowed_invocations_per_second(self): + def allowed_invocations_per_second(self) -> int: """Gets the allowed_invocations_per_second of this ApiInvokerPolicy. Invocations per second allowed on the service API by the API invoker. # noqa: E501 @@ -119,7 +116,7 @@ class ApiInvokerPolicy(Model): return self._allowed_invocations_per_second @allowed_invocations_per_second.setter - def allowed_invocations_per_second(self, allowed_invocations_per_second): + def allowed_invocations_per_second(self, allowed_invocations_per_second: int): """Sets the allowed_invocations_per_second of this ApiInvokerPolicy. Invocations per second allowed on the service API by the API invoker. # noqa: E501 @@ -131,7 +128,7 @@ class ApiInvokerPolicy(Model): self._allowed_invocations_per_second = allowed_invocations_per_second @property - def allowed_invocation_time_range_list(self): + def allowed_invocation_time_range_list(self) -> List[TimeRangeList]: """Gets the allowed_invocation_time_range_list of this ApiInvokerPolicy. The time ranges during which the invocations are allowed on the service API by the API invoker. # noqa: E501 @@ -142,7 +139,7 @@ class ApiInvokerPolicy(Model): return self._allowed_invocation_time_range_list @allowed_invocation_time_range_list.setter - def allowed_invocation_time_range_list(self, allowed_invocation_time_range_list): + def allowed_invocation_time_range_list(self, allowed_invocation_time_range_list: List[TimeRangeList]): """Sets the allowed_invocation_time_range_list of this ApiInvokerPolicy. The time ranges during which the invocations are allowed on the service API by the API invoker. # noqa: E501 diff --git a/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/models/base_model_.py b/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/models/base_model.py similarity index 95% rename from services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/models/base_model_.py rename to services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/models/base_model.py index cce5379..fed13c9 100644 --- a/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/models/base_model_.py +++ b/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/models/base_model.py @@ -1,6 +1,5 @@ import pprint -import six import typing from capif_acl import util @@ -8,7 +7,7 @@ from capif_acl 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: typing.Dict[str, type] = {} @@ -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_Access_Control_Policy_API/capif_acl/models/invalid_param.py b/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/models/invalid_param.py index 88606c4..a6789dc 100644 --- a/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/models/invalid_param.py +++ b/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/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 capif_acl.models.base_model_ import Model +from capif_acl.models.base_model import Model from capif_acl 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_Access_Control_Policy_API/capif_acl/models/problem_details.py b/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/models/problem_details.py index 25caab4..ec494ca 100644 --- a/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/models/problem_details.py +++ b/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/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 capif_acl.models.base_model_ import Model +from capif_acl.models.base_model import Model from capif_acl.models.invalid_param import InvalidParam import re from capif_acl 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,7 +242,7 @@ 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 @@ -256,7 +253,7 @@ 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 diff --git a/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/models/time_range_list.py b/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/models/time_range_list.py index eaacad6..b9c4724 100644 --- a/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/models/time_range_list.py +++ b/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/models/time_range_list.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 capif_acl.models.base_model_ import Model +from capif_acl.models.base_model import Model from capif_acl import util @@ -48,7 +45,7 @@ class TimeRangeList(Model): return util.deserialize_model(dikt, cls) @property - def start_time(self): + def start_time(self) -> datetime: """Gets the start_time of this TimeRangeList. string with format \"date-time\" as defined in OpenAPI. # noqa: E501 @@ -59,7 +56,7 @@ class TimeRangeList(Model): return self._start_time @start_time.setter - def start_time(self, start_time): + def start_time(self, start_time: datetime): """Sets the start_time of this TimeRangeList. string with format \"date-time\" as defined in OpenAPI. # noqa: E501 @@ -71,7 +68,7 @@ class TimeRangeList(Model): self._start_time = start_time @property - def stop_time(self): + def stop_time(self) -> datetime: """Gets the stop_time of this TimeRangeList. string with format \"date-time\" as defined in OpenAPI. # noqa: E501 @@ -82,7 +79,7 @@ class TimeRangeList(Model): return self._stop_time @stop_time.setter - def stop_time(self, stop_time): + def stop_time(self, stop_time: datetime): """Sets the stop_time of this TimeRangeList. string with format \"date-time\" as defined in OpenAPI. # noqa: E501 diff --git a/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/openapi/openapi.yaml b/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/openapi/openapi.yaml index 1621baa..1646931 100644 --- a/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/openapi/openapi.yaml +++ b/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/openapi/openapi.yaml @@ -309,7 +309,7 @@ components: type: string title: description: "A short, human-readable summary of the problem type. It should\ - \ not change from occurrence to occurrence of the problem." + \ not change from occurrence to occurrence of the problem. \n" title: title type: string status: @@ -326,14 +326,13 @@ 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 @@ -352,8 +351,8 @@ 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." diff --git a/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/test/test_default_controller.py b/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/test/test_default_controller.py index 44ed0be..d2f9a54 100644 --- a/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/test/test_default_controller.py +++ b/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/test/test_default_controller.py @@ -1,9 +1,10 @@ -# coding: utf-8 - -from __future__ import absolute_import import unittest -from test import BaseTestCase +from flask import json + +from capif_acl.models.access_control_policy_list import AccessControlPolicyList # noqa: E501 +from capif_acl.models.problem_details import ProblemDetails # noqa: E501 +from capif_acl.test import BaseTestCase class TestDefaultController(BaseTestCase): diff --git a/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/typing_utils.py b/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/typing_utils.py index 0563f81..74e3c91 100644 --- a/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/typing_utils.py +++ b/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/typing_utils.py @@ -1,5 +1,3 @@ -# coding: utf-8 - import sys if sys.version_info < (3, 7): diff --git a/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/util.py b/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/util.py index 72d18d9..110348b 100644 --- a/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/util.py +++ b/services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/util.py @@ -1,8 +1,7 @@ import datetime -import six -import typing_utils - +import typing +from capif_acl import typing_utils def serialize_clean_camel_case(obj): res = obj.to_dict() @@ -53,6 +52,7 @@ def dict_to_camel_case(my_dict): return result + def _deserialize(data, klass): """Deserializes dict, list, str into an object. @@ -64,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) @@ -93,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 @@ -158,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)): @@ -193,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_Access_Control_Policy_API/setup.py b/services/TS29222_CAPIF_Access_Control_Policy_API/setup.py index 275b7b6..78262fd 100644 --- a/services/TS29222_CAPIF_Access_Control_Policy_API/setup.py +++ b/services/TS29222_CAPIF_Access_Control_Policy_API/setup.py @@ -1,9 +1,7 @@ -# coding: utf-8 - import sys from setuptools import setup, find_packages -NAME = "openapi_server" +NAME = "capif_acl" VERSION = "1.0.0" # To install the library, run the following @@ -31,7 +29,7 @@ setup( package_data={'': ['openapi/openapi.yaml']}, include_package_data=True, entry_points={ - 'console_scripts': ['openapi_server=openapi_server.__main__:main']}, + 'console_scripts': ['capif_acl=capif_acl.__main__:main']}, long_description="""\ API for access control policy. © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. """ diff --git a/services/TS29222_CAPIF_Access_Control_Policy_API/test-requirements.txt b/services/TS29222_CAPIF_Access_Control_Policy_API/test-requirements.txt index 422ece8..58f51d6 100644 --- a/services/TS29222_CAPIF_Access_Control_Policy_API/test-requirements.txt +++ b/services/TS29222_CAPIF_Access_Control_Policy_API/test-requirements.txt @@ -1,4 +1,4 @@ pytest~=7.1.0 pytest-cov>=2.8.1 pytest-randomly>=1.2.3 -Flask-Testing == 0.8.1 +Flask-Testing==0.8.1 diff --git a/services/TS29222_CAPIF_Access_Control_Policy_API/tox.ini b/services/TS29222_CAPIF_Access_Control_Policy_API/tox.ini index f66b2d8..539b51b 100644 --- a/services/TS29222_CAPIF_Access_Control_Policy_API/tox.ini +++ b/services/TS29222_CAPIF_Access_Control_Policy_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=openapi_server + pytest --cov=capif_acl -- GitLab From 70aca45e8a850f378870437576cb7ba79a34482a Mon Sep 17 00:00:00 2001 From: Pelayo Torres Date: Mon, 22 Jul 2024 10:31:28 +0200 Subject: [PATCH 08/15] REL18 Auditing Service --- .../.openapi-generator/FILES | 11 +- .../.openapi-generator/VERSION | 2 +- services/TS29222_CAPIF_Auditing_API/README.md | 2 +- .../TS29222_CAPIF_Auditing_API/git_push.sh | 6 +- .../logs/controllers/default_controller.py | 32 +- ..._controller_.py => security_controller.py} | 0 .../logs/encoder.py | 5 +- .../logs/models/__init__.py | 8 +- .../models/{base_model_.py => base_model.py} | 9 +- .../logs/models/interface_description.py | 99 ++++- .../logs/models/invalid_param.py | 13 +- .../logs/models/invocation_log.py | 29 +- .../logs/models/invocation_logs.py | 99 +++++ .../models/invocation_logs_retrieve_res.py | 195 +++++++++ .../logs/models/log.py | 85 ++-- .../logs/models/operation.py | 13 +- .../logs/models/operation_any_of.py | 45 -- .../logs/models/problem_details.py | 53 ++- .../logs/models/protocol.py | 10 +- .../logs/models/protocol_any_of.py | 42 -- .../logs/models/security_method.py | 12 +- .../logs/models/security_method_any_of.py | 43 -- .../logs/openapi/openapi.yaml | 388 ++++++++++-------- .../logs/test/__init__.py | 16 + .../logs/test/test_default_controller.py | 48 +++ .../logs/typing_utils.py | 2 - .../TS29222_CAPIF_Auditing_API/logs/util.py | 14 +- services/TS29222_CAPIF_Auditing_API/setup.py | 4 +- .../test-requirements.txt | 6 +- services/TS29222_CAPIF_Auditing_API/tox.ini | 2 +- 30 files changed, 807 insertions(+), 486 deletions(-) rename services/TS29222_CAPIF_Auditing_API/logs/controllers/{security_controller_.py => security_controller.py} (100%) rename services/TS29222_CAPIF_Auditing_API/logs/models/{base_model_.py => base_model.py} (92%) create mode 100644 services/TS29222_CAPIF_Auditing_API/logs/models/invocation_logs.py create mode 100644 services/TS29222_CAPIF_Auditing_API/logs/models/invocation_logs_retrieve_res.py delete mode 100644 services/TS29222_CAPIF_Auditing_API/logs/models/operation_any_of.py delete mode 100644 services/TS29222_CAPIF_Auditing_API/logs/models/protocol_any_of.py delete mode 100644 services/TS29222_CAPIF_Auditing_API/logs/models/security_method_any_of.py create mode 100644 services/TS29222_CAPIF_Auditing_API/logs/test/__init__.py create mode 100644 services/TS29222_CAPIF_Auditing_API/logs/test/test_default_controller.py diff --git a/services/TS29222_CAPIF_Auditing_API/.openapi-generator/FILES b/services/TS29222_CAPIF_Auditing_API/.openapi-generator/FILES index f5bc02f..684a73b 100644 --- a/services/TS29222_CAPIF_Auditing_API/.openapi-generator/FILES +++ b/services/TS29222_CAPIF_Auditing_API/.openapi-generator/FILES @@ -1,5 +1,6 @@ .dockerignore .gitignore +.openapi-generator-ignore .travis.yml Dockerfile README.md @@ -8,23 +9,23 @@ logs/__init__.py logs/__main__.py logs/controllers/__init__.py logs/controllers/default_controller.py -logs/controllers/security_controller_.py +logs/controllers/security_controller.py logs/encoder.py logs/models/__init__.py -logs/models/base_model_.py +logs/models/base_model.py logs/models/interface_description.py logs/models/invalid_param.py logs/models/invocation_log.py +logs/models/invocation_logs.py +logs/models/invocation_logs_retrieve_res.py logs/models/log.py logs/models/operation.py -logs/models/operation_any_of.py logs/models/problem_details.py logs/models/protocol.py -logs/models/protocol_any_of.py logs/models/security_method.py -logs/models/security_method_any_of.py logs/openapi/openapi.yaml logs/test/__init__.py +logs/test/test_default_controller.py logs/typing_utils.py logs/util.py requirements.txt diff --git a/services/TS29222_CAPIF_Auditing_API/.openapi-generator/VERSION b/services/TS29222_CAPIF_Auditing_API/.openapi-generator/VERSION index 4b448de..18bb418 100644 --- a/services/TS29222_CAPIF_Auditing_API/.openapi-generator/VERSION +++ b/services/TS29222_CAPIF_Auditing_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_Auditing_API/README.md b/services/TS29222_CAPIF_Auditing_API/README.md index 17eb857..7f120ad 100644 --- a/services/TS29222_CAPIF_Auditing_API/README.md +++ b/services/TS29222_CAPIF_Auditing_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 logs +python3 -m openapi_server ``` and open your browser to here: diff --git a/services/TS29222_CAPIF_Auditing_API/git_push.sh b/services/TS29222_CAPIF_Auditing_API/git_push.sh index 9405f72..f53a75d 100644 --- a/services/TS29222_CAPIF_Auditing_API/git_push.sh +++ b/services/TS29222_CAPIF_Auditing_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_Auditing_API/logs/controllers/default_controller.py b/services/TS29222_CAPIF_Auditing_API/logs/controllers/default_controller.py index ead9ec5..8a278a9 100644 --- a/services/TS29222_CAPIF_Auditing_API/logs/controllers/default_controller.py +++ b/services/TS29222_CAPIF_Auditing_API/logs/controllers/default_controller.py @@ -1,3 +1,14 @@ +import connexion +from typing import Dict +from typing import Tuple +from typing import Union + +from logs.models.interface_description import InterfaceDescription # noqa: E501 +from logs.models.invocation_logs_retrieve_res import InvocationLogsRetrieveRes # noqa: E501 +from logs.models.operation import Operation # noqa: E501 +from logs.models.problem_details import ProblemDetails # noqa: E501 +from logs.models.protocol import Protocol # noqa: E501 +from logs import util from ..util import deserialize_datetime from ..core.auditoperations import AuditOperations @@ -23,7 +34,7 @@ def api_invocation_logs_get(aef_id=None, api_invoker_id=None, time_range_start=N :type time_range_end: str :param api_id: String identifying the API invoked. :type api_id: str - :param api_name: API name, it is set as {apiName} part of the URI structure as defined in subclause 4.4 of 3GPP TS 29.501. + :param api_name: API name, it is set as {apiName} part of the URI structure as defined in clause 5.2.4 of 3GPP TS 29.122. :type api_name: str :param api_version: Version of the API which was invoked. :type api_version: str @@ -36,13 +47,13 @@ def api_invocation_logs_get(aef_id=None, api_invoker_id=None, time_range_start=N :param resource_name: Name of the specific resource invoked. :type resource_name: str :param src_interface: Interface description of the API invoker. - :type src_interface: str + :type src_interface: dict | bytes :param dest_interface: Interface description of the API invoked. - :type dest_interface: str + :type dest_interface: dict | bytes :param supported_features: To filter irrelevant responses related to unsupported features :type supported_features: str - :rtype: InvocationLog + :rtype: Union[InvocationLogsRetrieveRes, Tuple[InvocationLogsRetrieveRes, int], Tuple[InvocationLogsRetrieveRes, int, Dict[str, str]] """ current_app.logger.info("Audit logs") @@ -52,8 +63,17 @@ def api_invocation_logs_get(aef_id=None, api_invoker_id=None, time_range_start=N cause="Mandatory parameters missing", invalid_params=[ {"param": "aef_id or api_invoker_id", "reason": "missing"}]) - time_range_start = deserialize_datetime(time_range_start) - time_range_end = deserialize_datetime(time_range_end) + + time_range_start = util.deserialize_datetime(time_range_start) + time_range_end = util.deserialize_datetime(time_range_end) + if connexion.request.is_json: + protocol = Protocol.from_dict(connexion.request.get_json()) # noqa: E501 + if connexion.request.is_json: + operation = Operation.from_dict(connexion.request.get_json()) # noqa: E501 + if connexion.request.is_json: + src_interface = InterfaceDescription.from_dict(connexion.request.get_json()) # noqa: E501 + if connexion.request.is_json: + dest_interface = InterfaceDescription.from_dict(connexion.request.get_json()) # noqa: E501 query_params = {"aef_id": aef_id, "api_invoker_id": api_invoker_id, diff --git a/services/TS29222_CAPIF_Auditing_API/logs/controllers/security_controller_.py b/services/TS29222_CAPIF_Auditing_API/logs/controllers/security_controller.py similarity index 100% rename from services/TS29222_CAPIF_Auditing_API/logs/controllers/security_controller_.py rename to services/TS29222_CAPIF_Auditing_API/logs/controllers/security_controller.py diff --git a/services/TS29222_CAPIF_Auditing_API/logs/encoder.py b/services/TS29222_CAPIF_Auditing_API/logs/encoder.py index 80bad8f..9b3763c 100644 --- a/services/TS29222_CAPIF_Auditing_API/logs/encoder.py +++ b/services/TS29222_CAPIF_Auditing_API/logs/encoder.py @@ -1,7 +1,6 @@ from connexion.apps.flask_app import FlaskJSONEncoder -import six -from models.base_model_ import Model +from logs.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_Auditing_API/logs/models/__init__.py b/services/TS29222_CAPIF_Auditing_API/logs/models/__init__.py index d8b2550..7669fe9 100644 --- a/services/TS29222_CAPIF_Auditing_API/logs/models/__init__.py +++ b/services/TS29222_CAPIF_Auditing_API/logs/models/__init__.py @@ -1,16 +1,12 @@ -# coding: utf-8 - # flake8: noqa -from __future__ import absolute_import # import models into model package from logs.models.interface_description import InterfaceDescription from logs.models.invalid_param import InvalidParam from logs.models.invocation_log import InvocationLog +from logs.models.invocation_logs import InvocationLogs +from logs.models.invocation_logs_retrieve_res import InvocationLogsRetrieveRes from logs.models.log import Log from logs.models.operation import Operation -from logs.models.operation_any_of import OperationAnyOf from logs.models.problem_details import ProblemDetails from logs.models.protocol import Protocol -from logs.models.protocol_any_of import ProtocolAnyOf from logs.models.security_method import SecurityMethod -from logs.models.security_method_any_of import SecurityMethodAnyOf diff --git a/services/TS29222_CAPIF_Auditing_API/logs/models/base_model_.py b/services/TS29222_CAPIF_Auditing_API/logs/models/base_model.py similarity index 92% rename from services/TS29222_CAPIF_Auditing_API/logs/models/base_model_.py rename to services/TS29222_CAPIF_Auditing_API/logs/models/base_model.py index 160eaa0..56493bb 100644 --- a/services/TS29222_CAPIF_Auditing_API/logs/models/base_model_.py +++ b/services/TS29222_CAPIF_Auditing_API/logs/models/base_model.py @@ -1,6 +1,5 @@ import pprint -import six import typing from logs import util @@ -8,14 +7,14 @@ from logs 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_Auditing_API/logs/models/interface_description.py b/services/TS29222_CAPIF_Auditing_API/logs/models/interface_description.py index 7a8878e..952fa9d 100644 --- a/services/TS29222_CAPIF_Auditing_API/logs/models/interface_description.py +++ b/services/TS29222_CAPIF_Auditing_API/logs/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 logs.models.base_model_ import Model +from logs.models.base_model import Model from logs.models.security_method import SecurityMethod +import re from logs import util from logs.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_Auditing_API/logs/models/invalid_param.py b/services/TS29222_CAPIF_Auditing_API/logs/models/invalid_param.py index 17b30eb..7da75a5 100644 --- a/services/TS29222_CAPIF_Auditing_API/logs/models/invalid_param.py +++ b/services/TS29222_CAPIF_Auditing_API/logs/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 logs.models.base_model_ import Model +from logs.models.base_model import Model from logs 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_Auditing_API/logs/models/invocation_log.py b/services/TS29222_CAPIF_Auditing_API/logs/models/invocation_log.py index 4a0bc01..1140577 100644 --- a/services/TS29222_CAPIF_Auditing_API/logs/models/invocation_log.py +++ b/services/TS29222_CAPIF_Auditing_API/logs/models/invocation_log.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 logs.models.base_model_ import Model +from logs.models.base_model import Model from logs.models.log import Log import re from logs import util @@ -62,10 +59,10 @@ class InvocationLog(Model): return util.deserialize_model(dikt, cls) @property - def aef_id(self): + def aef_id(self) -> str: """Gets the aef_id of this InvocationLog. - Identity information of the API exposing function requesting logging of service API invocations # noqa: E501 + Identity information of the API exposing function requesting logging of service API invocations # noqa: E501 :return: The aef_id of this InvocationLog. :rtype: str @@ -73,10 +70,10 @@ class InvocationLog(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 InvocationLog. - Identity information of the API exposing function requesting logging of service API invocations # noqa: E501 + Identity information of the API exposing function requesting logging of service API invocations # noqa: E501 :param aef_id: The aef_id of this InvocationLog. :type aef_id: str @@ -87,7 +84,7 @@ class InvocationLog(Model): self._aef_id = aef_id @property - def api_invoker_id(self): + def api_invoker_id(self) -> str: """Gets the api_invoker_id of this InvocationLog. Identity of the API invoker which invoked the service API # noqa: E501 @@ -98,7 +95,7 @@ class InvocationLog(Model): return self._api_invoker_id @api_invoker_id.setter - def api_invoker_id(self, api_invoker_id): + def api_invoker_id(self, api_invoker_id: str): """Sets the api_invoker_id of this InvocationLog. Identity of the API invoker which invoked the service API # noqa: E501 @@ -112,7 +109,7 @@ class InvocationLog(Model): self._api_invoker_id = api_invoker_id @property - def logs(self): + def logs(self) -> List[Log]: """Gets the logs of this InvocationLog. Service API invocation log # noqa: E501 @@ -123,7 +120,7 @@ class InvocationLog(Model): return self._logs @logs.setter - def logs(self, logs): + def logs(self, logs: List[Log]): """Sets the logs of this InvocationLog. Service API invocation log # noqa: E501 @@ -139,10 +136,10 @@ class InvocationLog(Model): self._logs = logs @property - def supported_features(self): + def supported_features(self) -> str: """Gets the supported_features of this InvocationLog. - 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 InvocationLog. :rtype: str @@ -150,10 +147,10 @@ class InvocationLog(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 InvocationLog. - 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 InvocationLog. :type supported_features: str diff --git a/services/TS29222_CAPIF_Auditing_API/logs/models/invocation_logs.py b/services/TS29222_CAPIF_Auditing_API/logs/models/invocation_logs.py new file mode 100644 index 0000000..e56e9c1 --- /dev/null +++ b/services/TS29222_CAPIF_Auditing_API/logs/models/invocation_logs.py @@ -0,0 +1,99 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from logs.models.base_model import Model +from logs.models.invocation_log import InvocationLog +import re +from logs import util + +from logs.models.invocation_log import InvocationLog # noqa: E501 +import re # noqa: E501 + +class InvocationLogs(Model): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + """ + + def __init__(self, multiple_invocation_logs=None, supported_features=None): # noqa: E501 + """InvocationLogs - a model defined in OpenAPI + + :param multiple_invocation_logs: The multiple_invocation_logs of this InvocationLogs. # noqa: E501 + :type multiple_invocation_logs: List[InvocationLog] + :param supported_features: The supported_features of this InvocationLogs. # noqa: E501 + :type supported_features: str + """ + self.openapi_types = { + 'multiple_invocation_logs': List[InvocationLog], + 'supported_features': str + } + + self.attribute_map = { + 'multiple_invocation_logs': 'multipleInvocationLogs', + 'supported_features': 'supportedFeatures' + } + + self._multiple_invocation_logs = multiple_invocation_logs + self._supported_features = supported_features + + @classmethod + def from_dict(cls, dikt) -> 'InvocationLogs': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The InvocationLogs of this InvocationLogs. # noqa: E501 + :rtype: InvocationLogs + """ + return util.deserialize_model(dikt, cls) + + @property + def multiple_invocation_logs(self) -> List[InvocationLog]: + """Gets the multiple_invocation_logs of this InvocationLogs. + + + :return: The multiple_invocation_logs of this InvocationLogs. + :rtype: List[InvocationLog] + """ + return self._multiple_invocation_logs + + @multiple_invocation_logs.setter + def multiple_invocation_logs(self, multiple_invocation_logs: List[InvocationLog]): + """Sets the multiple_invocation_logs of this InvocationLogs. + + + :param multiple_invocation_logs: The multiple_invocation_logs of this InvocationLogs. + :type multiple_invocation_logs: List[InvocationLog] + """ + if multiple_invocation_logs is None: + raise ValueError("Invalid value for `multiple_invocation_logs`, must not be `None`") # noqa: E501 + if multiple_invocation_logs is not None and len(multiple_invocation_logs) < 1: + raise ValueError("Invalid value for `multiple_invocation_logs`, number of items must be greater than or equal to `1`") # noqa: E501 + + self._multiple_invocation_logs = multiple_invocation_logs + + @property + def supported_features(self) -> str: + """Gets the supported_features of this InvocationLogs. + + 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 InvocationLogs. + :rtype: str + """ + return self._supported_features + + @supported_features.setter + def supported_features(self, supported_features: str): + """Sets the supported_features of this InvocationLogs. + + 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 InvocationLogs. + :type supported_features: str + """ + if supported_features is not None and not re.search(r'^[A-Fa-f0-9]*$', supported_features): # noqa: E501 + raise ValueError("Invalid value for `supported_features`, must be a follow pattern or equal to `/^[A-Fa-f0-9]*$/`") # noqa: E501 + + self._supported_features = supported_features diff --git a/services/TS29222_CAPIF_Auditing_API/logs/models/invocation_logs_retrieve_res.py b/services/TS29222_CAPIF_Auditing_API/logs/models/invocation_logs_retrieve_res.py new file mode 100644 index 0000000..f25c77c --- /dev/null +++ b/services/TS29222_CAPIF_Auditing_API/logs/models/invocation_logs_retrieve_res.py @@ -0,0 +1,195 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from logs.models.base_model import Model +from logs.models.invocation_log import InvocationLog +from logs.models.invocation_logs import InvocationLogs +from logs.models.log import Log +import re +from logs import util + +from logs.models.invocation_log import InvocationLog # noqa: E501 +from logs.models.invocation_logs import InvocationLogs # noqa: E501 +from logs.models.log import Log # noqa: E501 +import re # noqa: E501 + +class InvocationLogsRetrieveRes(Model): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + """ + + def __init__(self, aef_id=None, api_invoker_id=None, logs=None, supported_features=None, multiple_invocation_logs=None): # noqa: E501 + """InvocationLogsRetrieveRes - a model defined in OpenAPI + + :param aef_id: The aef_id of this InvocationLogsRetrieveRes. # noqa: E501 + :type aef_id: str + :param api_invoker_id: The api_invoker_id of this InvocationLogsRetrieveRes. # noqa: E501 + :type api_invoker_id: str + :param logs: The logs of this InvocationLogsRetrieveRes. # noqa: E501 + :type logs: List[Log] + :param supported_features: The supported_features of this InvocationLogsRetrieveRes. # noqa: E501 + :type supported_features: str + :param multiple_invocation_logs: The multiple_invocation_logs of this InvocationLogsRetrieveRes. # noqa: E501 + :type multiple_invocation_logs: List[InvocationLog] + """ + self.openapi_types = { + 'aef_id': str, + 'api_invoker_id': str, + 'logs': List[Log], + 'supported_features': str, + 'multiple_invocation_logs': List[InvocationLog] + } + + self.attribute_map = { + 'aef_id': 'aefId', + 'api_invoker_id': 'apiInvokerId', + 'logs': 'logs', + 'supported_features': 'supportedFeatures', + 'multiple_invocation_logs': 'multipleInvocationLogs' + } + + self._aef_id = aef_id + self._api_invoker_id = api_invoker_id + self._logs = logs + self._supported_features = supported_features + self._multiple_invocation_logs = multiple_invocation_logs + + @classmethod + def from_dict(cls, dikt) -> 'InvocationLogsRetrieveRes': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The InvocationLogsRetrieveRes of this InvocationLogsRetrieveRes. # noqa: E501 + :rtype: InvocationLogsRetrieveRes + """ + return util.deserialize_model(dikt, cls) + + @property + def aef_id(self) -> str: + """Gets the aef_id of this InvocationLogsRetrieveRes. + + Identity information of the API exposing function requesting logging of service API invocations # noqa: E501 + + :return: The aef_id of this InvocationLogsRetrieveRes. + :rtype: str + """ + return self._aef_id + + @aef_id.setter + def aef_id(self, aef_id: str): + """Sets the aef_id of this InvocationLogsRetrieveRes. + + Identity information of the API exposing function requesting logging of service API invocations # noqa: E501 + + :param aef_id: The aef_id of this InvocationLogsRetrieveRes. + :type aef_id: str + """ + if aef_id is None: + raise ValueError("Invalid value for `aef_id`, must not be `None`") # noqa: E501 + + self._aef_id = aef_id + + @property + def api_invoker_id(self) -> str: + """Gets the api_invoker_id of this InvocationLogsRetrieveRes. + + Identity of the API invoker which invoked the service API # noqa: E501 + + :return: The api_invoker_id of this InvocationLogsRetrieveRes. + :rtype: str + """ + return self._api_invoker_id + + @api_invoker_id.setter + def api_invoker_id(self, api_invoker_id: str): + """Sets the api_invoker_id of this InvocationLogsRetrieveRes. + + Identity of the API invoker which invoked the service API # noqa: E501 + + :param api_invoker_id: The api_invoker_id of this InvocationLogsRetrieveRes. + :type api_invoker_id: str + """ + if api_invoker_id is None: + raise ValueError("Invalid value for `api_invoker_id`, must not be `None`") # noqa: E501 + + self._api_invoker_id = api_invoker_id + + @property + def logs(self) -> List[Log]: + """Gets the logs of this InvocationLogsRetrieveRes. + + Service API invocation log # noqa: E501 + + :return: The logs of this InvocationLogsRetrieveRes. + :rtype: List[Log] + """ + return self._logs + + @logs.setter + def logs(self, logs: List[Log]): + """Sets the logs of this InvocationLogsRetrieveRes. + + Service API invocation log # noqa: E501 + + :param logs: The logs of this InvocationLogsRetrieveRes. + :type logs: List[Log] + """ + if logs is None: + raise ValueError("Invalid value for `logs`, must not be `None`") # noqa: E501 + if logs is not None and len(logs) < 1: + raise ValueError("Invalid value for `logs`, number of items must be greater than or equal to `1`") # noqa: E501 + + self._logs = logs + + @property + def supported_features(self) -> str: + """Gets the supported_features of this InvocationLogsRetrieveRes. + + 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 InvocationLogsRetrieveRes. + :rtype: str + """ + return self._supported_features + + @supported_features.setter + def supported_features(self, supported_features: str): + """Sets the supported_features of this InvocationLogsRetrieveRes. + + 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 InvocationLogsRetrieveRes. + :type supported_features: str + """ + if supported_features is not None and not re.search(r'^[A-Fa-f0-9]*$', supported_features): # noqa: E501 + raise ValueError("Invalid value for `supported_features`, must be a follow pattern or equal to `/^[A-Fa-f0-9]*$/`") # noqa: E501 + + self._supported_features = supported_features + + @property + def multiple_invocation_logs(self) -> List[InvocationLog]: + """Gets the multiple_invocation_logs of this InvocationLogsRetrieveRes. + + + :return: The multiple_invocation_logs of this InvocationLogsRetrieveRes. + :rtype: List[InvocationLog] + """ + return self._multiple_invocation_logs + + @multiple_invocation_logs.setter + def multiple_invocation_logs(self, multiple_invocation_logs: List[InvocationLog]): + """Sets the multiple_invocation_logs of this InvocationLogsRetrieveRes. + + + :param multiple_invocation_logs: The multiple_invocation_logs of this InvocationLogsRetrieveRes. + :type multiple_invocation_logs: List[InvocationLog] + """ + if multiple_invocation_logs is None: + raise ValueError("Invalid value for `multiple_invocation_logs`, must not be `None`") # noqa: E501 + if multiple_invocation_logs is not None and len(multiple_invocation_logs) < 1: + raise ValueError("Invalid value for `multiple_invocation_logs`, number of items must be greater than or equal to `1`") # noqa: E501 + + self._multiple_invocation_logs = multiple_invocation_logs diff --git a/services/TS29222_CAPIF_Auditing_API/logs/models/log.py b/services/TS29222_CAPIF_Auditing_API/logs/models/log.py index 44c50ef..ef5604a 100644 --- a/services/TS29222_CAPIF_Auditing_API/logs/models/log.py +++ b/services/TS29222_CAPIF_Auditing_API/logs/models/log.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 logs.models.base_model_ import Model +from logs.models.base_model import Model from logs.models.interface_description import InterfaceDescription from logs.models.operation import Operation from logs.models.protocol import Protocol @@ -119,7 +116,7 @@ class Log(Model): return util.deserialize_model(dikt, cls) @property - def api_id(self): + def api_id(self) -> str: """Gets the api_id of this Log. String identifying the API invoked. # noqa: E501 @@ -130,7 +127,7 @@ class Log(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 Log. String identifying the API invoked. # noqa: E501 @@ -144,10 +141,10 @@ class Log(Model): self._api_id = api_id @property - def api_name(self): + def api_name(self) -> str: """Gets the api_name of this Log. - Name of the API which was invoked, it is set as {apiName} part of the URI structure as defined in subclause 4.4 of 3GPP TS 29.501. # noqa: E501 + Name of the API which was invoked, it is set as {apiName} part of the URI structure as defined in clause 5.2.4 of 3GPP TS 29.122. # noqa: E501 :return: The api_name of this Log. :rtype: str @@ -155,10 +152,10 @@ class Log(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 Log. - Name of the API which was invoked, it is set as {apiName} part of the URI structure as defined in subclause 4.4 of 3GPP TS 29.501. # noqa: E501 + Name of the API which was invoked, it is set as {apiName} part of the URI structure as defined in clause 5.2.4 of 3GPP TS 29.122. # noqa: E501 :param api_name: The api_name of this Log. :type api_name: str @@ -169,7 +166,7 @@ class Log(Model): self._api_name = api_name @property - def api_version(self): + def api_version(self) -> str: """Gets the api_version of this Log. Version of the API which was invoked # noqa: E501 @@ -180,7 +177,7 @@ class Log(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 Log. Version of the API which was invoked # noqa: E501 @@ -194,7 +191,7 @@ class Log(Model): self._api_version = api_version @property - def resource_name(self): + def resource_name(self) -> str: """Gets the resource_name of this Log. Name of the specific resource invoked # noqa: E501 @@ -205,7 +202,7 @@ class Log(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 Log. Name of the specific resource invoked # noqa: E501 @@ -219,7 +216,7 @@ class Log(Model): self._resource_name = resource_name @property - def uri(self): + def uri(self) -> str: """Gets the uri of this Log. string providing an URI formatted according to IETF RFC 3986. # noqa: E501 @@ -230,7 +227,7 @@ class Log(Model): return self._uri @uri.setter - def uri(self, uri): + def uri(self, uri: str): """Sets the uri of this Log. string providing an URI formatted according to IETF RFC 3986. # noqa: E501 @@ -242,7 +239,7 @@ class Log(Model): self._uri = uri @property - def protocol(self): + def protocol(self) -> Protocol: """Gets the protocol of this Log. @@ -252,7 +249,7 @@ class Log(Model): return self._protocol @protocol.setter - def protocol(self, protocol): + def protocol(self, protocol: Protocol): """Sets the protocol of this Log. @@ -265,7 +262,7 @@ class Log(Model): self._protocol = protocol @property - def operation(self): + def operation(self) -> Operation: """Gets the operation of this Log. @@ -275,7 +272,7 @@ class Log(Model): return self._operation @operation.setter - def operation(self, operation): + def operation(self, operation: Operation): """Sets the operation of this Log. @@ -286,7 +283,7 @@ class Log(Model): self._operation = operation @property - def result(self): + def result(self) -> str: """Gets the result of this Log. For HTTP protocol, it contains HTTP status code of the invocation # noqa: E501 @@ -297,7 +294,7 @@ class Log(Model): return self._result @result.setter - def result(self, result): + def result(self, result: str): """Sets the result of this Log. For HTTP protocol, it contains HTTP status code of the invocation # noqa: E501 @@ -311,7 +308,7 @@ class Log(Model): self._result = result @property - def invocation_time(self): + def invocation_time(self) -> datetime: """Gets the invocation_time of this Log. string with format \"date-time\" as defined in OpenAPI. # noqa: E501 @@ -322,7 +319,7 @@ class Log(Model): return self._invocation_time @invocation_time.setter - def invocation_time(self, invocation_time): + def invocation_time(self, invocation_time: datetime): """Sets the invocation_time of this Log. string with format \"date-time\" as defined in OpenAPI. # noqa: E501 @@ -334,10 +331,10 @@ class Log(Model): self._invocation_time = invocation_time @property - def invocation_latency(self): + def invocation_latency(self) -> int: """Gets the invocation_latency of this Log. - Unsigned integer identifying a period of time in units of milliseconds. # noqa: E501 + Represents a period of time in units of milliseconds. # noqa: E501 :return: The invocation_latency of this Log. :rtype: int @@ -345,10 +342,10 @@ class Log(Model): return self._invocation_latency @invocation_latency.setter - def invocation_latency(self, invocation_latency): + def invocation_latency(self, invocation_latency: int): """Sets the invocation_latency of this Log. - Unsigned integer identifying a period of time in units of milliseconds. # noqa: E501 + Represents a period of time in units of milliseconds. # noqa: E501 :param invocation_latency: The invocation_latency of this Log. :type invocation_latency: int @@ -359,10 +356,10 @@ class Log(Model): self._invocation_latency = invocation_latency @property - def input_parameters(self): + def input_parameters(self) -> object: """Gets the input_parameters of this Log. - List of input parameters. Can be any value - string, number, boolean, array or object. # noqa: E501 + List of input parameters. Can be any value - string, number, boolean, array or object. # noqa: E501 :return: The input_parameters of this Log. :rtype: object @@ -370,10 +367,10 @@ class Log(Model): return self._input_parameters @input_parameters.setter - def input_parameters(self, input_parameters): + def input_parameters(self, input_parameters: object): """Sets the input_parameters of this Log. - List of input parameters. Can be any value - string, number, boolean, array or object. # noqa: E501 + List of input parameters. Can be any value - string, number, boolean, array or object. # noqa: E501 :param input_parameters: The input_parameters of this Log. :type input_parameters: object @@ -382,10 +379,10 @@ class Log(Model): self._input_parameters = input_parameters @property - def output_parameters(self): + def output_parameters(self) -> object: """Gets the output_parameters of this Log. - List of output parameters. Can be any value - string, number, boolean, array or object. # noqa: E501 + List of output parameters. Can be any value - string, number, boolean, array or object. # noqa: E501 :return: The output_parameters of this Log. :rtype: object @@ -393,10 +390,10 @@ class Log(Model): return self._output_parameters @output_parameters.setter - def output_parameters(self, output_parameters): + def output_parameters(self, output_parameters: object): """Sets the output_parameters of this Log. - List of output parameters. Can be any value - string, number, boolean, array or object. # noqa: E501 + List of output parameters. Can be any value - string, number, boolean, array or object. # noqa: E501 :param output_parameters: The output_parameters of this Log. :type output_parameters: object @@ -405,7 +402,7 @@ class Log(Model): self._output_parameters = output_parameters @property - def src_interface(self): + def src_interface(self) -> InterfaceDescription: """Gets the src_interface of this Log. @@ -415,7 +412,7 @@ class Log(Model): return self._src_interface @src_interface.setter - def src_interface(self, src_interface): + def src_interface(self, src_interface: InterfaceDescription): """Sets the src_interface of this Log. @@ -426,7 +423,7 @@ class Log(Model): self._src_interface = src_interface @property - def dest_interface(self): + def dest_interface(self) -> InterfaceDescription: """Gets the dest_interface of this Log. @@ -436,7 +433,7 @@ class Log(Model): return self._dest_interface @dest_interface.setter - def dest_interface(self, dest_interface): + def dest_interface(self, dest_interface: InterfaceDescription): """Sets the dest_interface of this Log. @@ -447,10 +444,10 @@ class Log(Model): self._dest_interface = dest_interface @property - def fwd_interface(self): + def fwd_interface(self) -> str: """Gets the fwd_interface of this Log. - It includes the node identifier (as defined in IETF RFC 7239 of all forwarding entities between the API invoker and the AEF, concatenated with comma and space, e.g. 192.0.2.43:80, unknown:_OBFport, 203.0.113.60 # noqa: E501 + It includes the node identifier (as defined in IETF RFC 7239 of all forwarding entities between the API invoker and the AEF, concatenated with comma and space, e.g. 192.0.2.43:80, unknown:_OBFport, 203.0.113.60 # noqa: E501 :return: The fwd_interface of this Log. :rtype: str @@ -458,10 +455,10 @@ class Log(Model): return self._fwd_interface @fwd_interface.setter - def fwd_interface(self, fwd_interface): + def fwd_interface(self, fwd_interface: str): """Sets the fwd_interface of this Log. - It includes the node identifier (as defined in IETF RFC 7239 of all forwarding entities between the API invoker and the AEF, concatenated with comma and space, e.g. 192.0.2.43:80, unknown:_OBFport, 203.0.113.60 # noqa: E501 + It includes the node identifier (as defined in IETF RFC 7239 of all forwarding entities between the API invoker and the AEF, concatenated with comma and space, e.g. 192.0.2.43:80, unknown:_OBFport, 203.0.113.60 # noqa: E501 :param fwd_interface: The fwd_interface of this Log. :type fwd_interface: str diff --git a/services/TS29222_CAPIF_Auditing_API/logs/models/operation.py b/services/TS29222_CAPIF_Auditing_API/logs/models/operation.py index 6e9c939..a8efafd 100644 --- a/services/TS29222_CAPIF_Auditing_API/logs/models/operation.py +++ b/services/TS29222_CAPIF_Auditing_API/logs/models/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 logs.models.base_model_ import Model +from logs.models.base_model import Model from logs import util @@ -15,14 +12,6 @@ class Operation(Model): Do not edit the class manually. """ - """ - allowed enum values - """ - GET = "GET" - POST = "POST" - PUT = "PUT" - PATCH = "PATCH" - DELETE = "DELETE" def __init__(self): # noqa: E501 """Operation - a model defined in OpenAPI diff --git a/services/TS29222_CAPIF_Auditing_API/logs/models/operation_any_of.py b/services/TS29222_CAPIF_Auditing_API/logs/models/operation_any_of.py deleted file mode 100644 index 7d6eb40..0000000 --- a/services/TS29222_CAPIF_Auditing_API/logs/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 logs.models.base_model_ import Model -from logs 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_Auditing_API/logs/models/problem_details.py b/services/TS29222_CAPIF_Auditing_API/logs/models/problem_details.py index 28d4510..cae1546 100644 --- a/services/TS29222_CAPIF_Auditing_API/logs/models/problem_details.py +++ b/services/TS29222_CAPIF_Auditing_API/logs/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 logs.models.base_model_ import Model +from logs.models.base_model import Model from logs.models.invalid_param import InvalidParam import re from logs 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_Auditing_API/logs/models/protocol.py b/services/TS29222_CAPIF_Auditing_API/logs/models/protocol.py index 8016cba..989d9e4 100644 --- a/services/TS29222_CAPIF_Auditing_API/logs/models/protocol.py +++ b/services/TS29222_CAPIF_Auditing_API/logs/models/protocol.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 logs.models.base_model_ import Model +from logs.models.base_model import Model from logs import util @@ -15,11 +12,6 @@ class Protocol(Model): Do not edit the class manually. """ - """ - allowed enum values - """ - _1_1 = "HTTP_1_1" - _2 = "HTTP_2" def __init__(self): # noqa: E501 """Protocol - a model defined in OpenAPI diff --git a/services/TS29222_CAPIF_Auditing_API/logs/models/protocol_any_of.py b/services/TS29222_CAPIF_Auditing_API/logs/models/protocol_any_of.py deleted file mode 100644 index c6de47f..0000000 --- a/services/TS29222_CAPIF_Auditing_API/logs/models/protocol_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 logs.models.base_model_ import Model -from logs import util - - -class ProtocolAnyOf(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 - - """ - self.openapi_types = { - } - - self.attribute_map = { - } - - @classmethod - def from_dict(cls, dikt) -> 'ProtocolAnyOf': - """Returns the dict as a model - - :param dikt: A dict. - :type: dict - :return: The Protocol_anyOf of this ProtocolAnyOf. # noqa: E501 - :rtype: ProtocolAnyOf - """ - return util.deserialize_model(dikt, cls) diff --git a/services/TS29222_CAPIF_Auditing_API/logs/models/security_method.py b/services/TS29222_CAPIF_Auditing_API/logs/models/security_method.py index ef1ce82..b32bbf5 100644 --- a/services/TS29222_CAPIF_Auditing_API/logs/models/security_method.py +++ b/services/TS29222_CAPIF_Auditing_API/logs/models/security_method.py @@ -1,25 +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 logs.models.base_model_ import Model +from logs.models.base_model import Model from logs import util + class SecurityMethod(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 """SecurityMethod - a model defined in OpenAPI diff --git a/services/TS29222_CAPIF_Auditing_API/logs/models/security_method_any_of.py b/services/TS29222_CAPIF_Auditing_API/logs/models/security_method_any_of.py deleted file mode 100644 index cebc877..0000000 --- a/services/TS29222_CAPIF_Auditing_API/logs/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 logs.models.base_model_ import Model -from logs 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_Auditing_API/logs/openapi/openapi.yaml b/services/TS29222_CAPIF_Auditing_API/logs/openapi/openapi.yaml index e619908..7a2cfcd 100644 --- a/services/TS29222_CAPIF_Auditing_API/logs/openapi/openapi.yaml +++ b/services/TS29222_CAPIF_Auditing_API/logs/openapi/openapi.yaml @@ -1,11 +1,11 @@ openapi: 3.0.0 info: - description: "API for auditing. \n© 2022, 3GPP Organizational Partners (ARIB, ATIS,\ + description: "API for auditing. \n© 2023, 3GPP Organizational Partners (ARIB, ATIS,\ \ CCSA, ETSI, TSDSI, TTA, TTC). \nAll rights reserved.\n" title: CAPIF_Auditing_API - version: 1.2.1 + version: 1.3.0-alpha.2 externalDocs: - description: 3GPP TS 29.222 V17.6.0 Common API Framework for 3GPP Northbound APIs + description: 3GPP TS 29.222 V18.1.0 Common API Framework for 3GPP Northbound APIs url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.222/ servers: - url: "{apiRoot}/logs/v1" @@ -110,26 +110,22 @@ paths: schema: type: string style: form - - description: Interface description of the API invoker. - example: "{\"ipv4Addr\": \"192.168.1.7\",\"port\": 8888,\"securityMethods\"\ - : [\"OAuth\"]}" - explode: true + - content: + application/json: + schema: + $ref: '#/components/schemas/InterfaceDescription' + description: Interface description of the API invoker. in: query name: src-interface required: false - schema: - type: string - style: form - - description: Interface description of the API invoked. - example: "{\"ipv4Addr\": \"192.168.1.7\",\"port\": 8888,\"securityMethods\"\ - : [\"OAuth\"]}" - explode: true + - content: + application/json: + schema: + $ref: '#/components/schemas/InterfaceDescription' + description: Interface description of the API invoked. in: query name: dest-interface required: false - schema: - type: string - style: form - description: To filter irrelevant responses related to unsupported features explode: true in: query @@ -143,7 +139,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/InvocationLog' + $ref: '#/components/schemas/InvocationLogsRetrieveRes' description: | Result of the query operation along with fetched service API invocation log data. "307": @@ -294,69 +290,114 @@ components: default: description: Generic Error schemas: + InvocationLogs: + description: | + Represents several (more than one) invocation logs. + properties: + multipleInvocationLogs: + items: + $ref: '#/components/schemas/InvocationLog' + minItems: 1 + title: multipleInvocationLogs + 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]*$" + title: SupportedFeatures + type: string + required: + - multipleInvocationLogs + title: InvocationLogs + type: object + InvocationLogsRetrieveRes: + description: | + Represents the result of an invocation logs retrieval request. + oneOf: + - $ref: '#/components/schemas/InvocationLog' + - $ref: '#/components/schemas/InvocationLogs' + title: InvocationLogsRetrieveRes DateTime: description: string with format "date-time" as defined in OpenAPI. format: date-time title: DateTime type: string Protocol: - description: | - Possible values are: - - HTTP_1_1: HTTP version 1.1 - - HTTP_2: HTTP version 2 - enum: - - HTTP_1_1 - - HTTP_2 + 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: "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 - type: string Operation: - description: | - Possible values are: - - GET: HTTP GET method - - POST: HTTP POST method - - PUT: HTTP PUT method - - PATCH: HTTP PATCH method - - DELETE: HTTP DELETE method - enum: - - GET - - POST - - PUT - - PATCH - - DELETE + 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: "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 - type: string InterfaceDescription: description: Represents the description of an API's interface. example: ipv6Addr: ipv6Addr securityMethods: - - null - - null + - PSK + - PSK + fqdn: fqdn port: 39500 + apiPrefix: apiPrefix ipv4Addr: ipv4Addr - oneOf: - - required: - - ipv4Addr - - required: - - ipv6Addr + nullable: true + oneOf: [] properties: ipv4Addr: - description: string identifying a Ipv4 address formatted in the "dotted - decimal" notation as defined in IETF RFC 1166. - title: ipv4Addr + 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. - title: 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. + 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 + 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. @@ -368,23 +409,93 @@ components: title: InterfaceDescription type: object SecurityMethod: - 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 - enum: - - PSK - - PKI - - OAUTH + 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: "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 - 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]*$" - title: supportedFeatures + title: SupportedFeatures type: string + ProblemDetails: + description: Represents additional information and details on an error response. + properties: + type: + description: string providing an URI formatted according to IETF RFC 3986. + title: Uri + type: string + title: + 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: + description: The HTTP status code for this occurrence of the problem. + title: status + type: integer + detail: + description: A human-readable explanation specific to this occurrence of + the problem. + title: detail + type: string + instance: + description: string providing an URI formatted according to IETF RFC 3986. + title: Uri + 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. + title: cause + type: string + invalidParams: + 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]*$" + title: SupportedFeatures + type: string + title: ProblemDetails + type: object + Uri: + description: string providing an URI formatted according to IETF RFC 3986. + title: Uri + type: string + InvalidParam: + 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." + title: param + type: string + reason: + description: "A human-readable reason, e.g. \"must be a positive integer\"\ + ." + title: reason + type: string + required: + - param + title: InvalidParam + type: object InvocationLog: description: | Represents a set of Service API invocation logs to be stored in a CAPIF core function. @@ -398,9 +509,11 @@ components: srcInterface: ipv6Addr: ipv6Addr securityMethods: - - null - - null + - PSK + - PSK + fqdn: fqdn port: 39500 + apiPrefix: apiPrefix ipv4Addr: ipv4Addr fwdInterface: fwdInterface resourceName: resourceName @@ -408,16 +521,18 @@ components: inputParameters: "" invocationLatency: 0 result: result - protocol: null + protocol: HTTP_1_1 apiVersion: apiVersion destInterface: ipv6Addr: ipv6Addr securityMethods: - - null - - null + - PSK + - PSK + fqdn: fqdn port: 39500 + apiPrefix: apiPrefix ipv4Addr: ipv4Addr - operation: null + operation: GET apiId: apiId outputParameters: "" - apiName: apiName @@ -425,9 +540,11 @@ components: srcInterface: ipv6Addr: ipv6Addr securityMethods: - - null - - null + - PSK + - PSK + fqdn: fqdn port: 39500 + apiPrefix: apiPrefix ipv4Addr: ipv4Addr fwdInterface: fwdInterface resourceName: resourceName @@ -435,16 +552,18 @@ components: inputParameters: "" invocationLatency: 0 result: result - protocol: null + protocol: HTTP_1_1 apiVersion: apiVersion destInterface: ipv6Addr: ipv6Addr securityMethods: - - null - - null + - PSK + - PSK + fqdn: fqdn port: 39500 + apiPrefix: apiPrefix ipv4Addr: ipv4Addr - operation: null + operation: GET apiId: apiId outputParameters: "" properties: @@ -468,7 +587,7 @@ components: 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 + title: SupportedFeatures type: string required: - aefId @@ -484,9 +603,11 @@ components: srcInterface: ipv6Addr: ipv6Addr securityMethods: - - null - - null + - PSK + - PSK + fqdn: fqdn port: 39500 + apiPrefix: apiPrefix ipv4Addr: ipv4Addr fwdInterface: fwdInterface resourceName: resourceName @@ -494,16 +615,18 @@ components: inputParameters: "" invocationLatency: 0 result: result - protocol: null + protocol: HTTP_1_1 apiVersion: apiVersion destInterface: ipv6Addr: ipv6Addr securityMethods: - - null - - null + - PSK + - PSK + fqdn: fqdn port: 39500 + apiPrefix: apiPrefix ipv4Addr: ipv4Addr - operation: null + operation: GET apiId: apiId outputParameters: "" properties: @@ -542,7 +665,7 @@ components: title: DateTime type: string invocationLatency: - description: Unsigned integer identifying a period of time in units of milliseconds. + description: Represents a period of time in units of milliseconds. minimum: 0 title: DurationMs type: integer @@ -573,92 +696,31 @@ components: title: Log type: object DurationMs: - description: Unsigned integer identifying a period of time in units of milliseconds. + description: Represents a period of time in units of milliseconds. minimum: 0 title: DurationMs type: integer - ProblemDetails: - description: Represents additional information and details on an error response. - properties: - type: - description: string providing an URI formatted according to IETF RFC 3986. - title: Uri - type: string - title: - description: "A short, human-readable summary of the problem type. It should\ - \ not change from occurrence to occurrence of the problem." - title: title - type: string - status: - description: The HTTP status code for this occurrence of the problem. - title: status - type: integer - detail: - description: A human-readable explanation specific to this occurrence of - the problem. - title: detail - type: string - instance: - description: string providing an URI formatted according to IETF RFC 3986. - title: Uri - 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." - title: cause - type: string - invalidParams: - 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]*$" - title: supportedFeatures - type: string - title: ProblemDetails - type: object - Uri: - description: string providing an URI formatted according to IETF RFC 3986. - title: Uri - type: string - InvalidParam: - 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." - title: param - type: string - reason: - description: "A human-readable reason, e.g. \"must be a positive integer\"\ - ." - title: reason - type: string - required: - - param - title: InvalidParam - type: object Ipv4Addr: - description: string identifying a Ipv4 address formatted in the "dotted decimal" - notation as defined in IETF RFC 1166. - title: ipv4Addr + 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. - title: 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. + 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 + title: Port type: integer diff --git a/services/TS29222_CAPIF_Auditing_API/logs/test/__init__.py b/services/TS29222_CAPIF_Auditing_API/logs/test/__init__.py new file mode 100644 index 0000000..a3e8ced --- /dev/null +++ b/services/TS29222_CAPIF_Auditing_API/logs/test/__init__.py @@ -0,0 +1,16 @@ +import logging + +import connexion +from flask_testing import TestCase + +from logs.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_Auditing_API/logs/test/test_default_controller.py b/services/TS29222_CAPIF_Auditing_API/logs/test/test_default_controller.py new file mode 100644 index 0000000..edeb621 --- /dev/null +++ b/services/TS29222_CAPIF_Auditing_API/logs/test/test_default_controller.py @@ -0,0 +1,48 @@ +import unittest + +from flask import json + +from logs.models.interface_description import InterfaceDescription # noqa: E501 +from logs.models.invocation_logs_retrieve_res import InvocationLogsRetrieveRes # noqa: E501 +from logs.models.operation import Operation # noqa: E501 +from logs.models.problem_details import ProblemDetails # noqa: E501 +from logs.models.protocol import Protocol # noqa: E501 +from logs.test import BaseTestCase + + +class TestDefaultController(BaseTestCase): + """DefaultController integration test stubs""" + + def test_api_invocation_logs_get(self): + """Test case for api_invocation_logs_get + + + """ + query_string = [('aef-id', 'aef_id_example'), + ('api-invoker-id', 'api_invoker_id_example'), + ('time-range-start', '2013-10-20T19:20:30+01:00'), + ('time-range-end', '2013-10-20T19:20:30+01:00'), + ('api-id', 'api_id_example'), + ('api-name', 'api_name_example'), + ('api-version', 'api_version_example'), + ('protocol', openapi_server.Protocol()), + ('operation', openapi_server.Operation()), + ('result', 'result_example'), + ('resource-name', 'resource_name_example'), + ('src-interface', openapi_server.InterfaceDescription()), + ('dest-interface', openapi_server.InterfaceDescription()), + ('supported-features', 'supported_features_example')] + headers = { + 'Accept': 'application/json', + } + response = self.client.open( + '/logs/v1/apiInvocationLogs', + method='GET', + headers=headers, + query_string=query_string) + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + +if __name__ == '__main__': + unittest.main() diff --git a/services/TS29222_CAPIF_Auditing_API/logs/typing_utils.py b/services/TS29222_CAPIF_Auditing_API/logs/typing_utils.py index 0563f81..74e3c91 100644 --- a/services/TS29222_CAPIF_Auditing_API/logs/typing_utils.py +++ b/services/TS29222_CAPIF_Auditing_API/logs/typing_utils.py @@ -1,5 +1,3 @@ -# coding: utf-8 - import sys if sys.version_info < (3, 7): diff --git a/services/TS29222_CAPIF_Auditing_API/logs/util.py b/services/TS29222_CAPIF_Auditing_API/logs/util.py index d5deea1..16287a2 100644 --- a/services/TS29222_CAPIF_Auditing_API/logs/util.py +++ b/services/TS29222_CAPIF_Auditing_API/logs/util.py @@ -1,8 +1,7 @@ import datetime -import six -import typing_utils - +import typing +from logs 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 @@ -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_Auditing_API/setup.py b/services/TS29222_CAPIF_Auditing_API/setup.py index 6577878..fe867a5 100644 --- a/services/TS29222_CAPIF_Auditing_API/setup.py +++ b/services/TS29222_CAPIF_Auditing_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': ['logs=logs.__main__:main']}, long_description="""\ - API for auditing. © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. + API for auditing. © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. """ ) diff --git a/services/TS29222_CAPIF_Auditing_API/test-requirements.txt b/services/TS29222_CAPIF_Auditing_API/test-requirements.txt index 202a684..58f51d6 100644 --- a/services/TS29222_CAPIF_Auditing_API/test-requirements.txt +++ b/services/TS29222_CAPIF_Auditing_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_Auditing_API/tox.ini b/services/TS29222_CAPIF_Auditing_API/tox.ini index 865c849..1afa603 100644 --- a/services/TS29222_CAPIF_Auditing_API/tox.ini +++ b/services/TS29222_CAPIF_Auditing_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=logs -- GitLab From 9b6d5c664453fa1d5d0836a4d312ebc87047fe4e Mon Sep 17 00:00:00 2001 From: Pelayo Torres Date: Mon, 22 Jul 2024 11:36:50 +0200 Subject: [PATCH 09/15] REL18 Logging Service --- .../.openapi-generator/FILES | 11 +- .../.openapi-generator/VERSION | 2 +- .../README.md | 2 +- .../controllers/default_controller.py | 12 +- ..._controller_.py => security_controller.py} | 0 .../api_invocation_logs/encoder.py | 5 +- .../api_invocation_logs/models/__init__.py | 6 - .../models/{base_model_.py => base_model.py} | 9 +- .../models/interface_description.py | 99 ++++- .../models/invalid_param.py | 13 +- .../models/invocation_log.py | 29 +- .../api_invocation_logs/models/log.py | 85 +++-- .../api_invocation_logs/models/operation.py | 7 +- .../models/operation_any_of.py | 45 --- .../models/problem_details.py | 53 ++- .../api_invocation_logs/models/protocol.py | 7 +- .../models/protocol_any_of.py | 42 --- .../models/security_method.py | 7 +- .../models/security_method_any_of.py | 43 --- .../api_invocation_logs/openapi/openapi.yaml | 345 +++++++++++------- .../api_invocation_logs/test/__init__.py | 16 + .../test/test_default_controller.py | 34 ++ .../api_invocation_logs/typing_utils.py | 2 - .../api_invocation_logs/util.py | 13 +- .../git_push.sh | 6 +- .../setup.py | 4 +- .../test-requirements.txt | 6 +- .../tox.ini | 2 +- 28 files changed, 459 insertions(+), 446 deletions(-) rename services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/controllers/{security_controller_.py => security_controller.py} (100%) rename services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/models/{base_model_.py => base_model.py} (92%) delete mode 100644 services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/models/operation_any_of.py delete mode 100644 services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/models/protocol_any_of.py delete mode 100644 services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/models/security_method_any_of.py create mode 100644 services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/test/__init__.py create mode 100644 services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/test/test_default_controller.py diff --git a/services/TS29222_CAPIF_Logging_API_Invocation_API/.openapi-generator/FILES b/services/TS29222_CAPIF_Logging_API_Invocation_API/.openapi-generator/FILES index 42622dc..691fa78 100644 --- a/services/TS29222_CAPIF_Logging_API_Invocation_API/.openapi-generator/FILES +++ b/services/TS29222_CAPIF_Logging_API_Invocation_API/.openapi-generator/FILES @@ -1,32 +1,31 @@ .dockerignore .gitignore +.openapi-generator-ignore .travis.yml Dockerfile README.md +git_push.sh api_invocation_logs/__init__.py api_invocation_logs/__main__.py api_invocation_logs/controllers/__init__.py api_invocation_logs/controllers/default_controller.py -api_invocation_logs/controllers/security_controller_.py +api_invocation_logs/controllers/security_controller.py api_invocation_logs/encoder.py api_invocation_logs/models/__init__.py -api_invocation_logs/models/base_model_.py +api_invocation_logs/models/base_model.py api_invocation_logs/models/interface_description.py api_invocation_logs/models/invalid_param.py api_invocation_logs/models/invocation_log.py api_invocation_logs/models/log.py api_invocation_logs/models/operation.py -api_invocation_logs/models/operation_any_of.py api_invocation_logs/models/problem_details.py api_invocation_logs/models/protocol.py -api_invocation_logs/models/protocol_any_of.py api_invocation_logs/models/security_method.py -api_invocation_logs/models/security_method_any_of.py api_invocation_logs/openapi/openapi.yaml api_invocation_logs/test/__init__.py +api_invocation_logs/test/test_default_controller.py api_invocation_logs/typing_utils.py api_invocation_logs/util.py -git_push.sh requirements.txt setup.py test-requirements.txt diff --git a/services/TS29222_CAPIF_Logging_API_Invocation_API/.openapi-generator/VERSION b/services/TS29222_CAPIF_Logging_API_Invocation_API/.openapi-generator/VERSION index 4b448de..18bb418 100644 --- a/services/TS29222_CAPIF_Logging_API_Invocation_API/.openapi-generator/VERSION +++ b/services/TS29222_CAPIF_Logging_API_Invocation_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_Logging_API_Invocation_API/README.md b/services/TS29222_CAPIF_Logging_API_Invocation_API/README.md index 4c9ab92..9d33023 100644 --- a/services/TS29222_CAPIF_Logging_API_Invocation_API/README.md +++ b/services/TS29222_CAPIF_Logging_API_Invocation_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 api_invocation_logs +python3 -m openapi_server ``` and open your browser to here: diff --git a/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/controllers/default_controller.py b/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/controllers/default_controller.py index 7ce9972..dea9277 100644 --- a/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/controllers/default_controller.py +++ b/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/controllers/default_controller.py @@ -1,6 +1,11 @@ import connexion +from typing import Dict +from typing import Tuple +from typing import Union -from ..models.invocation_log import InvocationLog # noqa: E501 +from api_invocation_logs.models.invocation_log import InvocationLog # noqa: E501 +from api_invocation_logs.models.problem_details import ProblemDetails # noqa: E501 +from api_invocation_logs import util from ..core.invocationlogs import LoggingInvocationOperations @@ -14,7 +19,6 @@ logging_invocation_operations = LoggingInvocationOperations() valid_user = ControlAccess() - def cert_validation(): def _cert_validation(f): @wraps(f) @@ -51,17 +55,15 @@ def aef_id_logs_post(aef_id, body): # noqa: E501 :param invocation_log: :type invocation_log: dict | bytes - :rtype: InvocationLog + :rtype: Union[InvocationLog, Tuple[InvocationLog, int], Tuple[InvocationLog, int, Dict[str, str]] """ current_app.logger.info("API Invocation Logs") if connexion.request.is_json: body = InvocationLog.from_dict(connexion.request.get_json()) # noqa: E501 - res = logging_invocation_operations.add_invocationlog(aef_id, body) if res.status_code == 201: current_app.logger.info("Invocation Logs stored successfully") return res - diff --git a/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/controllers/security_controller_.py b/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/controllers/security_controller.py similarity index 100% rename from services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/controllers/security_controller_.py rename to services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/controllers/security_controller.py diff --git a/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/encoder.py b/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/encoder.py index 80bad8f..ab1ac22 100644 --- a/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/encoder.py +++ b/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/encoder.py @@ -1,7 +1,6 @@ from connexion.apps.flask_app import FlaskJSONEncoder -import six -from models.base_model_ import Model +from api_invocation_logs.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_Logging_API_Invocation_API/api_invocation_logs/models/__init__.py b/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/models/__init__.py index 6660505..fa9b0e5 100644 --- a/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/models/__init__.py +++ b/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/models/__init__.py @@ -1,16 +1,10 @@ -# coding: utf-8 - # flake8: noqa -from __future__ import absolute_import # import models into model package from api_invocation_logs.models.interface_description import InterfaceDescription from api_invocation_logs.models.invalid_param import InvalidParam from api_invocation_logs.models.invocation_log import InvocationLog from api_invocation_logs.models.log import Log from api_invocation_logs.models.operation import Operation -from api_invocation_logs.models.operation_any_of import OperationAnyOf from api_invocation_logs.models.problem_details import ProblemDetails from api_invocation_logs.models.protocol import Protocol -from api_invocation_logs.models.protocol_any_of import ProtocolAnyOf from api_invocation_logs.models.security_method import SecurityMethod -from api_invocation_logs.models.security_method_any_of import SecurityMethodAnyOf diff --git a/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/models/base_model_.py b/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/models/base_model.py similarity index 92% rename from services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/models/base_model_.py rename to services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/models/base_model.py index 31d9751..642d94a 100644 --- a/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/models/base_model_.py +++ b/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/models/base_model.py @@ -1,6 +1,5 @@ import pprint -import six import typing from api_invocation_logs import util @@ -8,14 +7,14 @@ from api_invocation_logs 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_Logging_API_Invocation_API/api_invocation_logs/models/interface_description.py b/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/models/interface_description.py index b484946..89a5d90 100644 --- a/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/models/interface_description.py +++ b/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/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 api_invocation_logs.models.base_model_ import Model +from api_invocation_logs.models.base_model import Model from api_invocation_logs.models.security_method import SecurityMethod +import re from api_invocation_logs import util from api_invocation_logs.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_Logging_API_Invocation_API/api_invocation_logs/models/invalid_param.py b/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/models/invalid_param.py index 58f04d6..d7ec573 100644 --- a/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/models/invalid_param.py +++ b/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/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 api_invocation_logs.models.base_model_ import Model +from api_invocation_logs.models.base_model import Model from api_invocation_logs 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_Logging_API_Invocation_API/api_invocation_logs/models/invocation_log.py b/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/models/invocation_log.py index 79a228c..ded1b79 100644 --- a/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/models/invocation_log.py +++ b/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/models/invocation_log.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 api_invocation_logs.models.base_model_ import Model +from api_invocation_logs.models.base_model import Model from api_invocation_logs.models.log import Log import re from api_invocation_logs import util @@ -62,10 +59,10 @@ class InvocationLog(Model): return util.deserialize_model(dikt, cls) @property - def aef_id(self): + def aef_id(self) -> str: """Gets the aef_id of this InvocationLog. - Identity information of the API exposing function requesting logging of service API invocations # noqa: E501 + Identity information of the API exposing function requesting logging of service API invocations # noqa: E501 :return: The aef_id of this InvocationLog. :rtype: str @@ -73,10 +70,10 @@ class InvocationLog(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 InvocationLog. - Identity information of the API exposing function requesting logging of service API invocations # noqa: E501 + Identity information of the API exposing function requesting logging of service API invocations # noqa: E501 :param aef_id: The aef_id of this InvocationLog. :type aef_id: str @@ -87,7 +84,7 @@ class InvocationLog(Model): self._aef_id = aef_id @property - def api_invoker_id(self): + def api_invoker_id(self) -> str: """Gets the api_invoker_id of this InvocationLog. Identity of the API invoker which invoked the service API # noqa: E501 @@ -98,7 +95,7 @@ class InvocationLog(Model): return self._api_invoker_id @api_invoker_id.setter - def api_invoker_id(self, api_invoker_id): + def api_invoker_id(self, api_invoker_id: str): """Sets the api_invoker_id of this InvocationLog. Identity of the API invoker which invoked the service API # noqa: E501 @@ -112,7 +109,7 @@ class InvocationLog(Model): self._api_invoker_id = api_invoker_id @property - def logs(self): + def logs(self) -> List[Log]: """Gets the logs of this InvocationLog. Service API invocation log # noqa: E501 @@ -123,7 +120,7 @@ class InvocationLog(Model): return self._logs @logs.setter - def logs(self, logs): + def logs(self, logs: List[Log]): """Sets the logs of this InvocationLog. Service API invocation log # noqa: E501 @@ -139,10 +136,10 @@ class InvocationLog(Model): self._logs = logs @property - def supported_features(self): + def supported_features(self) -> str: """Gets the supported_features of this InvocationLog. - 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 InvocationLog. :rtype: str @@ -150,10 +147,10 @@ class InvocationLog(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 InvocationLog. - 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 InvocationLog. :type supported_features: str diff --git a/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/models/log.py b/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/models/log.py index 8f45706..41076a0 100644 --- a/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/models/log.py +++ b/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/models/log.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 api_invocation_logs.models.base_model_ import Model +from api_invocation_logs.models.base_model import Model from api_invocation_logs.models.interface_description import InterfaceDescription from api_invocation_logs.models.operation import Operation from api_invocation_logs.models.protocol import Protocol @@ -119,7 +116,7 @@ class Log(Model): return util.deserialize_model(dikt, cls) @property - def api_id(self): + def api_id(self) -> str: """Gets the api_id of this Log. String identifying the API invoked. # noqa: E501 @@ -130,7 +127,7 @@ class Log(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 Log. String identifying the API invoked. # noqa: E501 @@ -144,10 +141,10 @@ class Log(Model): self._api_id = api_id @property - def api_name(self): + def api_name(self) -> str: """Gets the api_name of this Log. - Name of the API which was invoked, it is set as {apiName} part of the URI structure as defined in subclause 4.4 of 3GPP TS 29.501. # noqa: E501 + Name of the API which was invoked, it is set as {apiName} part of the URI structure as defined in clause 5.2.4 of 3GPP TS 29.122. # noqa: E501 :return: The api_name of this Log. :rtype: str @@ -155,10 +152,10 @@ class Log(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 Log. - Name of the API which was invoked, it is set as {apiName} part of the URI structure as defined in subclause 4.4 of 3GPP TS 29.501. # noqa: E501 + Name of the API which was invoked, it is set as {apiName} part of the URI structure as defined in clause 5.2.4 of 3GPP TS 29.122. # noqa: E501 :param api_name: The api_name of this Log. :type api_name: str @@ -169,7 +166,7 @@ class Log(Model): self._api_name = api_name @property - def api_version(self): + def api_version(self) -> str: """Gets the api_version of this Log. Version of the API which was invoked # noqa: E501 @@ -180,7 +177,7 @@ class Log(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 Log. Version of the API which was invoked # noqa: E501 @@ -194,7 +191,7 @@ class Log(Model): self._api_version = api_version @property - def resource_name(self): + def resource_name(self) -> str: """Gets the resource_name of this Log. Name of the specific resource invoked # noqa: E501 @@ -205,7 +202,7 @@ class Log(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 Log. Name of the specific resource invoked # noqa: E501 @@ -219,7 +216,7 @@ class Log(Model): self._resource_name = resource_name @property - def uri(self): + def uri(self) -> str: """Gets the uri of this Log. string providing an URI formatted according to IETF RFC 3986. # noqa: E501 @@ -230,7 +227,7 @@ class Log(Model): return self._uri @uri.setter - def uri(self, uri): + def uri(self, uri: str): """Sets the uri of this Log. string providing an URI formatted according to IETF RFC 3986. # noqa: E501 @@ -242,7 +239,7 @@ class Log(Model): self._uri = uri @property - def protocol(self): + def protocol(self) -> Protocol: """Gets the protocol of this Log. @@ -252,7 +249,7 @@ class Log(Model): return self._protocol @protocol.setter - def protocol(self, protocol): + def protocol(self, protocol: Protocol): """Sets the protocol of this Log. @@ -265,7 +262,7 @@ class Log(Model): self._protocol = protocol @property - def operation(self): + def operation(self) -> Operation: """Gets the operation of this Log. @@ -275,7 +272,7 @@ class Log(Model): return self._operation @operation.setter - def operation(self, operation): + def operation(self, operation: Operation): """Sets the operation of this Log. @@ -286,7 +283,7 @@ class Log(Model): self._operation = operation @property - def result(self): + def result(self) -> str: """Gets the result of this Log. For HTTP protocol, it contains HTTP status code of the invocation # noqa: E501 @@ -297,7 +294,7 @@ class Log(Model): return self._result @result.setter - def result(self, result): + def result(self, result: str): """Sets the result of this Log. For HTTP protocol, it contains HTTP status code of the invocation # noqa: E501 @@ -311,7 +308,7 @@ class Log(Model): self._result = result @property - def invocation_time(self): + def invocation_time(self) -> datetime: """Gets the invocation_time of this Log. string with format \"date-time\" as defined in OpenAPI. # noqa: E501 @@ -322,7 +319,7 @@ class Log(Model): return self._invocation_time @invocation_time.setter - def invocation_time(self, invocation_time): + def invocation_time(self, invocation_time: datetime): """Sets the invocation_time of this Log. string with format \"date-time\" as defined in OpenAPI. # noqa: E501 @@ -334,10 +331,10 @@ class Log(Model): self._invocation_time = invocation_time @property - def invocation_latency(self): + def invocation_latency(self) -> int: """Gets the invocation_latency of this Log. - Unsigned integer identifying a period of time in units of milliseconds. # noqa: E501 + Represents a period of time in units of milliseconds. # noqa: E501 :return: The invocation_latency of this Log. :rtype: int @@ -345,10 +342,10 @@ class Log(Model): return self._invocation_latency @invocation_latency.setter - def invocation_latency(self, invocation_latency): + def invocation_latency(self, invocation_latency: int): """Sets the invocation_latency of this Log. - Unsigned integer identifying a period of time in units of milliseconds. # noqa: E501 + Represents a period of time in units of milliseconds. # noqa: E501 :param invocation_latency: The invocation_latency of this Log. :type invocation_latency: int @@ -359,10 +356,10 @@ class Log(Model): self._invocation_latency = invocation_latency @property - def input_parameters(self): + def input_parameters(self) -> object: """Gets the input_parameters of this Log. - List of input parameters. Can be any value - string, number, boolean, array or object. # noqa: E501 + List of input parameters. Can be any value - string, number, boolean, array or object. # noqa: E501 :return: The input_parameters of this Log. :rtype: object @@ -370,10 +367,10 @@ class Log(Model): return self._input_parameters @input_parameters.setter - def input_parameters(self, input_parameters): + def input_parameters(self, input_parameters: object): """Sets the input_parameters of this Log. - List of input parameters. Can be any value - string, number, boolean, array or object. # noqa: E501 + List of input parameters. Can be any value - string, number, boolean, array or object. # noqa: E501 :param input_parameters: The input_parameters of this Log. :type input_parameters: object @@ -382,10 +379,10 @@ class Log(Model): self._input_parameters = input_parameters @property - def output_parameters(self): + def output_parameters(self) -> object: """Gets the output_parameters of this Log. - List of output parameters. Can be any value - string, number, boolean, array or object. # noqa: E501 + List of output parameters. Can be any value - string, number, boolean, array or object. # noqa: E501 :return: The output_parameters of this Log. :rtype: object @@ -393,10 +390,10 @@ class Log(Model): return self._output_parameters @output_parameters.setter - def output_parameters(self, output_parameters): + def output_parameters(self, output_parameters: object): """Sets the output_parameters of this Log. - List of output parameters. Can be any value - string, number, boolean, array or object. # noqa: E501 + List of output parameters. Can be any value - string, number, boolean, array or object. # noqa: E501 :param output_parameters: The output_parameters of this Log. :type output_parameters: object @@ -405,7 +402,7 @@ class Log(Model): self._output_parameters = output_parameters @property - def src_interface(self): + def src_interface(self) -> InterfaceDescription: """Gets the src_interface of this Log. @@ -415,7 +412,7 @@ class Log(Model): return self._src_interface @src_interface.setter - def src_interface(self, src_interface): + def src_interface(self, src_interface: InterfaceDescription): """Sets the src_interface of this Log. @@ -426,7 +423,7 @@ class Log(Model): self._src_interface = src_interface @property - def dest_interface(self): + def dest_interface(self) -> InterfaceDescription: """Gets the dest_interface of this Log. @@ -436,7 +433,7 @@ class Log(Model): return self._dest_interface @dest_interface.setter - def dest_interface(self, dest_interface): + def dest_interface(self, dest_interface: InterfaceDescription): """Sets the dest_interface of this Log. @@ -447,10 +444,10 @@ class Log(Model): self._dest_interface = dest_interface @property - def fwd_interface(self): + def fwd_interface(self) -> str: """Gets the fwd_interface of this Log. - It includes the node identifier (as defined in IETF RFC 7239 of all forwarding entities between the API invoker and the AEF, concatenated with comma and space, e.g. 192.0.2.43:80, unknown:_OBFport, 203.0.113.60 # noqa: E501 + It includes the node identifier (as defined in IETF RFC 7239 of all forwarding entities between the API invoker and the AEF, concatenated with comma and space, e.g. 192.0.2.43:80, unknown:_OBFport, 203.0.113.60 # noqa: E501 :return: The fwd_interface of this Log. :rtype: str @@ -458,10 +455,10 @@ class Log(Model): return self._fwd_interface @fwd_interface.setter - def fwd_interface(self, fwd_interface): + def fwd_interface(self, fwd_interface: str): """Sets the fwd_interface of this Log. - It includes the node identifier (as defined in IETF RFC 7239 of all forwarding entities between the API invoker and the AEF, concatenated with comma and space, e.g. 192.0.2.43:80, unknown:_OBFport, 203.0.113.60 # noqa: E501 + It includes the node identifier (as defined in IETF RFC 7239 of all forwarding entities between the API invoker and the AEF, concatenated with comma and space, e.g. 192.0.2.43:80, unknown:_OBFport, 203.0.113.60 # noqa: E501 :param fwd_interface: The fwd_interface of this Log. :type fwd_interface: str diff --git a/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/models/operation.py b/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/models/operation.py index e4cdbe4..513f6d0 100644 --- a/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/models/operation.py +++ b/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/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 api_invocation_logs.models.base_model_ import Model -from api_invocation_logs.models.operation_any_of import OperationAnyOf +from api_invocation_logs.models.base_model import Model from api_invocation_logs import util -from api_invocation_logs.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_Logging_API_Invocation_API/api_invocation_logs/models/operation_any_of.py b/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/models/operation_any_of.py deleted file mode 100644 index 46c1921..0000000 --- a/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/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 api_invocation_logs.models.base_model_ import Model -from api_invocation_logs 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_Logging_API_Invocation_API/api_invocation_logs/models/problem_details.py b/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/models/problem_details.py index e4cb2c9..5774417 100644 --- a/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/models/problem_details.py +++ b/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/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 api_invocation_logs.models.base_model_ import Model +from api_invocation_logs.models.base_model import Model from api_invocation_logs.models.invalid_param import InvalidParam import re from api_invocation_logs 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_Logging_API_Invocation_API/api_invocation_logs/models/protocol.py b/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/models/protocol.py index 023ba4d..ec4bf3b 100644 --- a/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/models/protocol.py +++ b/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/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 api_invocation_logs.models.base_model_ import Model -from api_invocation_logs.models.protocol_any_of import ProtocolAnyOf +from api_invocation_logs.models.base_model import Model from api_invocation_logs import util -from api_invocation_logs.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_Logging_API_Invocation_API/api_invocation_logs/models/protocol_any_of.py b/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/models/protocol_any_of.py deleted file mode 100644 index b7966df..0000000 --- a/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/models/protocol_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 api_invocation_logs.models.base_model_ import Model -from api_invocation_logs import util - - -class ProtocolAnyOf(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 - - """ - self.openapi_types = { - } - - self.attribute_map = { - } - - @classmethod - def from_dict(cls, dikt) -> 'ProtocolAnyOf': - """Returns the dict as a model - - :param dikt: A dict. - :type: dict - :return: The Protocol_anyOf of this ProtocolAnyOf. # noqa: E501 - :rtype: ProtocolAnyOf - """ - return util.deserialize_model(dikt, cls) diff --git a/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/models/security_method.py b/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/models/security_method.py index e059b81..b47fd3e 100644 --- a/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/models/security_method.py +++ b/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/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 api_invocation_logs.models.base_model_ import Model -from api_invocation_logs.models.security_method_any_of import SecurityMethodAnyOf +from api_invocation_logs.models.base_model import Model from api_invocation_logs import util -from api_invocation_logs.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_Logging_API_Invocation_API/api_invocation_logs/models/security_method_any_of.py b/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/models/security_method_any_of.py deleted file mode 100644 index 877c646..0000000 --- a/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/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 api_invocation_logs.models.base_model_ import Model -from api_invocation_logs 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_Logging_API_Invocation_API/api_invocation_logs/openapi/openapi.yaml b/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/openapi/openapi.yaml index 85b35aa..f1a9390 100644 --- a/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/openapi/openapi.yaml +++ b/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/openapi/openapi.yaml @@ -1,20 +1,18 @@ openapi: 3.0.0 info: - description: | - API for invocation logs. - © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). - All rights reserved. + description: "API for invocation logs. \n© 2022, 3GPP Organizational Partners (ARIB,\ + \ ATIS, CCSA, ETSI, TSDSI, TTA, TTC). \nAll rights reserved.\n" title: CAPIF_Logging_API_Invocation_API - version: 1.2.0-alpha.1 + version: 1.3.0-alpha.1 externalDocs: - description: 3GPP TS 29.222 V17.1.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.0.0 Common API Framework for 3GPP Northbound APIs + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.222/ servers: -- url: '{apiRoot}/api-invocation-logs/v1' +- url: "{apiRoot}/api-invocation-logs/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: /{aefId}/logs: post: @@ -41,12 +39,12 @@ paths: application/json: schema: $ref: '#/components/schemas/InvocationLog' - description: Log of service API invocations provided by API exposing function - successfully stored on the CAPIF core function. + description: | + Log of service API invocations provided by API exposing function successfully stored on the CAPIF core function. headers: Location: - description: 'Contains the URI of the newly created resource, according - to the structure: {apiRoot}/api-invocation-logs/v1/{aefId}/logs/{logId}' + description: | + Contains the URI of the newly created resource, according to the structure {apiRoot}/api-invocation-logs/v1/{aefId}/logs/{logId} explode: false required: true schema: @@ -87,7 +85,7 @@ paths: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' - description: Payload Too Large + description: Content Too Large "415": content: application/problem+json: @@ -118,10 +116,73 @@ paths: /{aefId}/logs/{logId}: description: Creates a new log entry for service API invocations. components: + responses: + "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 schemas: InvocationLog: - description: Represents a set of Service API invocation logs to be stored in - a CAPIF core function. + description: | + Represents a set of Service API invocation logs to be stored in a CAPIF core function. example: supportedFeatures: supportedFeatures apiInvokerId: apiInvokerId @@ -132,9 +193,11 @@ components: srcInterface: ipv6Addr: ipv6Addr securityMethods: - - null - - null + - PSK + - PSK + fqdn: fqdn port: 39500 + apiPrefix: apiPrefix ipv4Addr: ipv4Addr fwdInterface: fwdInterface resourceName: resourceName @@ -142,14 +205,18 @@ components: inputParameters: "" invocationLatency: 0 result: result + protocol: HTTP_1_1 apiVersion: apiVersion destInterface: ipv6Addr: ipv6Addr securityMethods: - - null - - null + - PSK + - PSK + fqdn: fqdn port: 39500 + apiPrefix: apiPrefix ipv4Addr: ipv4Addr + operation: GET apiId: apiId outputParameters: "" - apiName: apiName @@ -157,9 +224,11 @@ components: srcInterface: ipv6Addr: ipv6Addr securityMethods: - - null - - null + - PSK + - PSK + fqdn: fqdn port: 39500 + apiPrefix: apiPrefix ipv4Addr: ipv4Addr fwdInterface: fwdInterface resourceName: resourceName @@ -167,20 +236,24 @@ components: inputParameters: "" invocationLatency: 0 result: result + protocol: HTTP_1_1 apiVersion: apiVersion destInterface: ipv6Addr: ipv6Addr securityMethods: - - null - - null + - PSK + - PSK + fqdn: fqdn port: 39500 + apiPrefix: apiPrefix ipv4Addr: ipv4Addr + operation: GET apiId: apiId outputParameters: "" properties: aefId: - description: Identity information of the API exposing function requesting - logging of service API invocations + description: | + Identity information of the API exposing function requesting logging of service API invocations title: aefId type: string apiInvokerId: @@ -195,19 +268,9 @@ components: title: logs 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 required: @@ -224,9 +287,11 @@ components: srcInterface: ipv6Addr: ipv6Addr securityMethods: - - null - - null + - PSK + - PSK + fqdn: fqdn port: 39500 + apiPrefix: apiPrefix ipv4Addr: ipv4Addr fwdInterface: fwdInterface resourceName: resourceName @@ -234,14 +299,18 @@ components: inputParameters: "" invocationLatency: 0 result: result + protocol: HTTP_1_1 apiVersion: apiVersion destInterface: ipv6Addr: ipv6Addr securityMethods: - - null - - null + - PSK + - PSK + fqdn: fqdn port: 39500 + apiPrefix: apiPrefix ipv4Addr: ipv4Addr + operation: GET apiId: apiId outputParameters: "" properties: @@ -250,8 +319,8 @@ components: title: apiId type: string apiName: - description: Name of the API which was invoked, it is set as {apiName} part - of the URI structure as defined in subclause 4.4 of 3GPP TS 29.501. + description: | + Name of the API which was invoked, it is set as {apiName} part of the URI structure as defined in clause 5.2.4 of 3GPP TS 29.122. title: apiName type: string apiVersion: @@ -271,7 +340,7 @@ components: operation: $ref: '#/components/schemas/Operation' result: - description: For HTTP protocol, it contains HTTP status code of the invocation + description: "For HTTP protocol, it contains HTTP status code of the invocation" title: result type: string invocationTime: @@ -280,26 +349,25 @@ components: title: DateTime type: string invocationLatency: - description: Unsigned integer identifying a period of time in units of milliseconds. + description: Represents a period of time in units of milliseconds. minimum: 0 title: DurationMs type: integer inputParameters: - description: List of input parameters. Can be any value - string, number, - boolean, array or object. + description: | + List of input parameters. Can be any value - string, number, boolean, array or object. title: inputParameters outputParameters: - description: List of output parameters. Can be any value - string, number, - boolean, array or object. + description: | + List of output parameters. Can be any value - string, number, boolean, array or object. title: outputParameters srcInterface: $ref: '#/components/schemas/InterfaceDescription' destInterface: $ref: '#/components/schemas/InterfaceDescription' fwdInterface: - description: It includes the node identifier (as defined in IETF RFC 7239 - of all forwarding entities between the API invoker and the AEF, concatenated - with comma and space, e.g. 192.0.2.43:80, unknown:_OBFport, 203.0.113.60 + description: | + It includes the node identifier (as defined in IETF RFC 7239 of all forwarding entities between the API invoker and the AEF, concatenated with comma and space, e.g. 192.0.2.43:80, unknown:_OBFport, 203.0.113.60 title: fwdInterface type: string required: @@ -312,7 +380,7 @@ components: title: Log type: object DurationMs: - description: Unsigned integer identifying a period of time in units of milliseconds. + description: Represents a period of time in units of milliseconds. minimum: 0 title: DurationMs type: integer @@ -324,8 +392,8 @@ components: title: Uri 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: @@ -342,33 +410,22 @@ components: title: Uri 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 @@ -378,15 +435,16 @@ components: title: Uri 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: @@ -394,38 +452,43 @@ 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 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 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 DateTime: description: string with format "date-time" as defined in OpenAPI. @@ -437,36 +500,53 @@ components: example: ipv6Addr: ipv6Addr securityMethods: - - null - - null + - PSK + - PSK + fqdn: fqdn port: 39500 + 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 @@ -476,49 +556,40 @@ components: type: object 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 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 - Protocol_anyOf: - enum: - - HTTP_1_1 - - HTTP_2 - title: Protocol_anyOf - type: string - Operation_anyOf: - enum: - - GET - - POST - - PUT - - PATCH - - DELETE - title: Operation_anyOf - type: string - SecurityMethod_anyOf: - enum: - - PSK - - PKI - - OAUTH - title: SecurityMethod_anyOf - type: string diff --git a/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/test/__init__.py b/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/test/__init__.py new file mode 100644 index 0000000..52299ec --- /dev/null +++ b/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/test/__init__.py @@ -0,0 +1,16 @@ +import logging + +import connexion +from flask_testing import TestCase + +from api_invocation_logs.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_Logging_API_Invocation_API/api_invocation_logs/test/test_default_controller.py b/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/test/test_default_controller.py new file mode 100644 index 0000000..92ad8cf --- /dev/null +++ b/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/test/test_default_controller.py @@ -0,0 +1,34 @@ +import unittest + +from flask import json + +from api_invocation_logs.models.invocation_log import InvocationLog # noqa: E501 +from api_invocation_logs.models.problem_details import ProblemDetails # noqa: E501 +from api_invocation_logs.test import BaseTestCase + + +class TestDefaultController(BaseTestCase): + """DefaultController integration test stubs""" + + def test_aef_id_logs_post(self): + """Test case for aef_id_logs_post + + + """ + invocation_log = {"supportedFeatures":"supportedFeatures","apiInvokerId":"apiInvokerId","aefId":"aefId","logs":[{"apiName":"apiName","invocationTime":"2000-01-23T04:56:07.000+00:00","srcInterface":{"ipv6Addr":"ipv6Addr","securityMethods":["PSK","PSK"],"fqdn":"fqdn","port":39500,"apiPrefix":"apiPrefix","ipv4Addr":"ipv4Addr"},"fwdInterface":"fwdInterface","resourceName":"resourceName","uri":"uri","inputParameters":"","invocationLatency":0,"result":"result","protocol":"HTTP_1_1","apiVersion":"apiVersion","destInterface":{"ipv6Addr":"ipv6Addr","securityMethods":["PSK","PSK"],"fqdn":"fqdn","port":39500,"apiPrefix":"apiPrefix","ipv4Addr":"ipv4Addr"},"operation":"GET","apiId":"apiId","outputParameters":""},{"apiName":"apiName","invocationTime":"2000-01-23T04:56:07.000+00:00","srcInterface":{"ipv6Addr":"ipv6Addr","securityMethods":["PSK","PSK"],"fqdn":"fqdn","port":39500,"apiPrefix":"apiPrefix","ipv4Addr":"ipv4Addr"},"fwdInterface":"fwdInterface","resourceName":"resourceName","uri":"uri","inputParameters":"","invocationLatency":0,"result":"result","protocol":"HTTP_1_1","apiVersion":"apiVersion","destInterface":{"ipv6Addr":"ipv6Addr","securityMethods":["PSK","PSK"],"fqdn":"fqdn","port":39500,"apiPrefix":"apiPrefix","ipv4Addr":"ipv4Addr"},"operation":"GET","apiId":"apiId","outputParameters":""}]} + headers = { + 'Accept': 'application/json', + 'Content-Type': 'application/json', + } + response = self.client.open( + '/api-invocation-logs/v1/{aef_id}/logs'.format(aef_id='aef_id_example'), + method='POST', + headers=headers, + data=json.dumps(invocation_log), + 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_Logging_API_Invocation_API/api_invocation_logs/typing_utils.py b/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/typing_utils.py index 0563f81..74e3c91 100644 --- a/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/typing_utils.py +++ b/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/typing_utils.py @@ -1,5 +1,3 @@ -# coding: utf-8 - import sys if sys.version_info < (3, 7): diff --git a/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/util.py b/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/util.py index baaea56..f6fdbc5 100644 --- a/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/util.py +++ b/services/TS29222_CAPIF_Logging_API_Invocation_API/api_invocation_logs/util.py @@ -1,7 +1,7 @@ import datetime -import six -import typing_utils +import typing +from api_invocation_logs import typing_utils def serialize_clean_camel_case(obj): @@ -55,7 +55,6 @@ def dict_to_camel_case(my_dict): return result - def _deserialize(data, klass): """Deserializes dict, list, str into an object. @@ -67,7 +66,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) @@ -96,7 +95,7 @@ def _deserialize_primitive(data, klass): try: value = klass(data) except UnicodeEncodeError: - value = six.u(data) + value = data except TypeError: value = data return value @@ -161,7 +160,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)): @@ -196,4 +195,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_Logging_API_Invocation_API/git_push.sh b/services/TS29222_CAPIF_Logging_API_Invocation_API/git_push.sh index 9405f72..f53a75d 100644 --- a/services/TS29222_CAPIF_Logging_API_Invocation_API/git_push.sh +++ b/services/TS29222_CAPIF_Logging_API_Invocation_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_Logging_API_Invocation_API/setup.py b/services/TS29222_CAPIF_Logging_API_Invocation_API/setup.py index cf63e4a..9b7d55e 100644 --- a/services/TS29222_CAPIF_Logging_API_Invocation_API/setup.py +++ b/services/TS29222_CAPIF_Logging_API_Invocation_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': ['api_invocation_logs=api_invocation_logs.__main__:main']}, long_description="""\ - API for invocation logs. © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. + API for invocation logs. © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. """ ) diff --git a/services/TS29222_CAPIF_Logging_API_Invocation_API/test-requirements.txt b/services/TS29222_CAPIF_Logging_API_Invocation_API/test-requirements.txt index 202a684..58f51d6 100644 --- a/services/TS29222_CAPIF_Logging_API_Invocation_API/test-requirements.txt +++ b/services/TS29222_CAPIF_Logging_API_Invocation_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_Logging_API_Invocation_API/tox.ini b/services/TS29222_CAPIF_Logging_API_Invocation_API/tox.ini index 01a6d21..312ba2e 100644 --- a/services/TS29222_CAPIF_Logging_API_Invocation_API/tox.ini +++ b/services/TS29222_CAPIF_Logging_API_Invocation_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=api_invocation_logs -- GitLab From e0f89aff9c7a503887271ba3e818df46fb3225db Mon Sep 17 00:00:00 2001 From: Pelayo Torres Date: Mon, 22 Jul 2024 12:08:21 +0200 Subject: [PATCH 10/15] REL18 Routing Service --- .../.openapi-generator/FILES | 37 +- .../.openapi-generator/VERSION | 2 +- .../TS29222_CAPIF_Routing_Info_API/README.md | 2 +- .../controllers/default_controller.py | 11 +- ..._controller_.py => security_controller.py} | 0 .../capif_routing_info/encoder.py | 5 +- .../capif_routing_info/models/__init__.py | 64 +- .../capif_routing_info/models/aef_location.py | 119 ++ .../capif_routing_info/models/aef_profile.py | 147 +- .../models/{base_model_.py => base_model.py} | 11 +- .../models/civic_address.py | 919 +++++++++ .../models/communication_type.py | 9 +- .../models/communication_type_any_of.py | 42 - .../models/custom_operation.py | 39 +- .../capif_routing_info/models/data_format.py | 9 +- .../models/ellipsoid_arc.py | 265 +++ .../capif_routing_info/models/gad_shape.py | 65 + .../models/geographic_area.py | 471 +++++ .../models/geographical_coordinates.py | 99 + .../models/interface_description.py | 105 +- .../models/invalid_param.py | 15 +- .../models/ip_addr_range.py | 99 + .../models/ipv4_address_range.py | 27 +- .../models/ipv4_address_range1.py | 101 + .../{data_format_any_of.py => ipv6_addr1.py} | 21 +- .../models/ipv6_address_range.py | 23 +- .../models/ipv6_address_range1.py | 93 + .../local2d_point_uncertainty_ellipse.py | 191 ++ .../local3d_point_uncertainty_ellipsoid.py | 191 ++ .../capif_routing_info/models/local_origin.py | 89 + .../capif_routing_info/models/operation.py | 9 +- .../models/operation_any_of.py | 45 - .../capif_routing_info/models/point.py | 97 + .../models/point_altitude.py | 131 ++ .../models/point_altitude_uncertainty.py | 259 +++ .../models/point_uncertainty_circle.py | 129 ++ .../models/point_uncertainty_ellipse.py | 161 ++ .../capif_routing_info/models/polygon.py | 103 + .../models/problem_details.py | 59 +- .../capif_routing_info/models/protocol.py | 9 +- .../models/relative_cartesian_location.py | 123 ++ .../capif_routing_info/models/resource.py | 85 +- .../capif_routing_info/models/routing_info.py | 15 +- .../capif_routing_info/models/routing_rule.py | 29 +- .../models/security_method.py | 9 +- .../models/security_method_any_of.py | 43 - .../capif_routing_info/models/service_kpis.py | 277 +++ ...ocol_any_of.py => supported_gad_shapes.py} | 22 +- .../models/uncertainty_ellipse.py | 133 ++ .../models/uncertainty_ellipsoid.py | 165 ++ .../capif_routing_info/models/version.py | 31 +- .../capif_routing_info/openapi/openapi.yaml | 1737 +++++++++++++++-- .../capif_routing_info/test/__init__.py | 2 +- .../test/test_default_controller.py | 10 +- .../capif_routing_info/typing_utils.py | 2 - .../capif_routing_info/util.py | 12 +- .../git_push.sh | 6 +- .../TS29222_CAPIF_Routing_Info_API/setup.py | 4 +- .../test-requirements.txt | 6 +- .../TS29222_CAPIF_Routing_Info_API/tox.ini | 2 +- 60 files changed, 6325 insertions(+), 661 deletions(-) rename services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/controllers/{security_controller_.py => security_controller.py} (100%) create mode 100644 services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/aef_location.py rename services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/{base_model_.py => base_model.py} (90%) create mode 100644 services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/civic_address.py delete mode 100644 services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/communication_type_any_of.py create mode 100644 services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/ellipsoid_arc.py create mode 100644 services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/gad_shape.py create mode 100644 services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/geographic_area.py create mode 100644 services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/geographical_coordinates.py create mode 100644 services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/ip_addr_range.py create mode 100644 services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/ipv4_address_range1.py rename services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/{data_format_any_of.py => ipv6_addr1.py} (54%) create mode 100644 services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/ipv6_address_range1.py create mode 100644 services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/local2d_point_uncertainty_ellipse.py create mode 100644 services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/local3d_point_uncertainty_ellipsoid.py create mode 100644 services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/local_origin.py delete mode 100644 services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/operation_any_of.py create mode 100644 services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/point.py create mode 100644 services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/point_altitude.py create mode 100644 services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/point_altitude_uncertainty.py create mode 100644 services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/point_uncertainty_circle.py create mode 100644 services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/point_uncertainty_ellipse.py create mode 100644 services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/polygon.py create mode 100644 services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/relative_cartesian_location.py delete mode 100644 services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/security_method_any_of.py create mode 100644 services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/service_kpis.py rename services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/{protocol_any_of.py => supported_gad_shapes.py} (54%) create mode 100644 services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/uncertainty_ellipse.py create mode 100644 services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/uncertainty_ellipsoid.py diff --git a/services/TS29222_CAPIF_Routing_Info_API/.openapi-generator/FILES b/services/TS29222_CAPIF_Routing_Info_API/.openapi-generator/FILES index ddc37ec..be8f43b 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/.openapi-generator/FILES +++ b/services/TS29222_CAPIF_Routing_Info_API/.openapi-generator/FILES @@ -1,42 +1,63 @@ .dockerignore .gitignore +.openapi-generator-ignore .travis.yml Dockerfile README.md +git_push.sh capif_routing_info/__init__.py capif_routing_info/__main__.py capif_routing_info/controllers/__init__.py capif_routing_info/controllers/default_controller.py -capif_routing_info/controllers/security_controller_.py +capif_routing_info/controllers/security_controller.py capif_routing_info/encoder.py capif_routing_info/models/__init__.py +capif_routing_info/models/aef_location.py capif_routing_info/models/aef_profile.py -capif_routing_info/models/base_model_.py +capif_routing_info/models/base_model.py +capif_routing_info/models/civic_address.py capif_routing_info/models/communication_type.py -capif_routing_info/models/communication_type_any_of.py capif_routing_info/models/custom_operation.py capif_routing_info/models/data_format.py -capif_routing_info/models/data_format_any_of.py +capif_routing_info/models/ellipsoid_arc.py +capif_routing_info/models/gad_shape.py +capif_routing_info/models/geographic_area.py +capif_routing_info/models/geographical_coordinates.py capif_routing_info/models/interface_description.py capif_routing_info/models/invalid_param.py +capif_routing_info/models/ip_addr_range.py capif_routing_info/models/ipv4_address_range.py +capif_routing_info/models/ipv4_address_range1.py +capif_routing_info/models/ipv6_addr1.py capif_routing_info/models/ipv6_address_range.py +capif_routing_info/models/ipv6_address_range1.py +capif_routing_info/models/local2d_point_uncertainty_ellipse.py +capif_routing_info/models/local3d_point_uncertainty_ellipsoid.py +capif_routing_info/models/local_origin.py capif_routing_info/models/operation.py -capif_routing_info/models/operation_any_of.py +capif_routing_info/models/point.py +capif_routing_info/models/point_altitude.py +capif_routing_info/models/point_altitude_uncertainty.py +capif_routing_info/models/point_uncertainty_circle.py +capif_routing_info/models/point_uncertainty_ellipse.py +capif_routing_info/models/polygon.py capif_routing_info/models/problem_details.py capif_routing_info/models/protocol.py -capif_routing_info/models/protocol_any_of.py +capif_routing_info/models/relative_cartesian_location.py capif_routing_info/models/resource.py capif_routing_info/models/routing_info.py capif_routing_info/models/routing_rule.py capif_routing_info/models/security_method.py -capif_routing_info/models/security_method_any_of.py +capif_routing_info/models/service_kpis.py +capif_routing_info/models/supported_gad_shapes.py +capif_routing_info/models/uncertainty_ellipse.py +capif_routing_info/models/uncertainty_ellipsoid.py capif_routing_info/models/version.py capif_routing_info/openapi/openapi.yaml capif_routing_info/test/__init__.py +capif_routing_info/test/test_default_controller.py capif_routing_info/typing_utils.py capif_routing_info/util.py -git_push.sh requirements.txt setup.py test-requirements.txt diff --git a/services/TS29222_CAPIF_Routing_Info_API/.openapi-generator/VERSION b/services/TS29222_CAPIF_Routing_Info_API/.openapi-generator/VERSION index 4b448de..18bb418 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/.openapi-generator/VERSION +++ b/services/TS29222_CAPIF_Routing_Info_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_Routing_Info_API/README.md b/services/TS29222_CAPIF_Routing_Info_API/README.md index b239418..edacb4a 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/README.md +++ b/services/TS29222_CAPIF_Routing_Info_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 capif_routing_info +python3 -m openapi_server ``` and open your browser to here: diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/controllers/default_controller.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/controllers/default_controller.py index 13c24a3..801b390 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/controllers/default_controller.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/controllers/default_controller.py @@ -1,4 +1,11 @@ -from ..models.routing_info import RoutingInfo # noqa: E501 +import connexion +from typing import Dict +from typing import Tuple +from typing import Union + +from openapi_server.models.problem_details import ProblemDetails # noqa: E501 +from openapi_server.models.routing_info import RoutingInfo # noqa: E501 +from openapi_server import util def service_apis_service_api_id_get(service_api_id, aef_id, supp_feat=None): # noqa: E501 @@ -13,6 +20,6 @@ def service_apis_service_api_id_get(service_api_id, aef_id, supp_feat=None): # :param supp_feat: To filter irrelevant responses related to unsupported features :type supp_feat: str - :rtype: RoutingInfo + :rtype: Union[RoutingInfo, Tuple[RoutingInfo, int], Tuple[RoutingInfo, int, Dict[str, str]] """ return 'do some magic!' diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/controllers/security_controller_.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/controllers/security_controller.py similarity index 100% rename from services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/controllers/security_controller_.py rename to services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/controllers/security_controller.py diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/encoder.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/encoder.py index 80bad8f..60f4fa6 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/encoder.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/encoder.py @@ -1,7 +1,6 @@ from connexion.apps.flask_app import FlaskJSONEncoder -import six -from models.base_model_ import Model +from openapi_server.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_Routing_Info_API/capif_routing_info/models/__init__.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/__init__.py index 68aa16c..00a1933 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/__init__.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/__init__.py @@ -1,26 +1,42 @@ -# coding: utf-8 - # flake8: noqa -from __future__ import absolute_import # import models into model package -from capif_routing_info.models.aef_profile import AefProfile -from capif_routing_info.models.communication_type import CommunicationType -from capif_routing_info.models.communication_type_any_of import CommunicationTypeAnyOf -from capif_routing_info.models.custom_operation import CustomOperation -from capif_routing_info.models.data_format import DataFormat -from capif_routing_info.models.data_format_any_of import DataFormatAnyOf -from capif_routing_info.models.interface_description import InterfaceDescription -from capif_routing_info.models.invalid_param import InvalidParam -from capif_routing_info.models.ipv4_address_range import Ipv4AddressRange -from capif_routing_info.models.ipv6_address_range import Ipv6AddressRange -from capif_routing_info.models.operation import Operation -from capif_routing_info.models.operation_any_of import OperationAnyOf -from capif_routing_info.models.problem_details import ProblemDetails -from capif_routing_info.models.protocol import Protocol -from capif_routing_info.models.protocol_any_of import ProtocolAnyOf -from capif_routing_info.models.resource import Resource -from capif_routing_info.models.routing_info import RoutingInfo -from capif_routing_info.models.routing_rule import RoutingRule -from capif_routing_info.models.security_method import SecurityMethod -from capif_routing_info.models.security_method_any_of import SecurityMethodAnyOf -from capif_routing_info.models.version import Version +from openapi_server.models.aef_location import AefLocation +from openapi_server.models.aef_profile import AefProfile +from openapi_server.models.civic_address import CivicAddress +from openapi_server.models.communication_type import CommunicationType +from openapi_server.models.custom_operation import CustomOperation +from openapi_server.models.data_format import DataFormat +from openapi_server.models.ellipsoid_arc import EllipsoidArc +from openapi_server.models.gad_shape import GADShape +from openapi_server.models.geographic_area import GeographicArea +from openapi_server.models.geographical_coordinates import GeographicalCoordinates +from openapi_server.models.interface_description import InterfaceDescription +from openapi_server.models.invalid_param import InvalidParam +from openapi_server.models.ip_addr_range import IpAddrRange +from openapi_server.models.ipv4_address_range import Ipv4AddressRange +from openapi_server.models.ipv4_address_range1 import Ipv4AddressRange1 +from openapi_server.models.ipv6_addr1 import Ipv6Addr1 +from openapi_server.models.ipv6_address_range import Ipv6AddressRange +from openapi_server.models.ipv6_address_range1 import Ipv6AddressRange1 +from openapi_server.models.local2d_point_uncertainty_ellipse import Local2dPointUncertaintyEllipse +from openapi_server.models.local3d_point_uncertainty_ellipsoid import Local3dPointUncertaintyEllipsoid +from openapi_server.models.local_origin import LocalOrigin +from openapi_server.models.operation import Operation +from openapi_server.models.point import Point +from openapi_server.models.point_altitude import PointAltitude +from openapi_server.models.point_altitude_uncertainty import PointAltitudeUncertainty +from openapi_server.models.point_uncertainty_circle import PointUncertaintyCircle +from openapi_server.models.point_uncertainty_ellipse import PointUncertaintyEllipse +from openapi_server.models.polygon import Polygon +from openapi_server.models.problem_details import ProblemDetails +from openapi_server.models.protocol import Protocol +from openapi_server.models.relative_cartesian_location import RelativeCartesianLocation +from openapi_server.models.resource import Resource +from openapi_server.models.routing_info import RoutingInfo +from openapi_server.models.routing_rule import RoutingRule +from openapi_server.models.security_method import SecurityMethod +from openapi_server.models.service_kpis import ServiceKpis +from openapi_server.models.supported_gad_shapes import SupportedGADShapes +from openapi_server.models.uncertainty_ellipse import UncertaintyEllipse +from openapi_server.models.uncertainty_ellipsoid import UncertaintyEllipsoid +from openapi_server.models.version import Version diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/aef_location.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/aef_location.py new file mode 100644 index 0000000..7e4da31 --- /dev/null +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/aef_location.py @@ -0,0 +1,119 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from openapi_server.models.base_model import Model +from openapi_server.models.civic_address import CivicAddress +from openapi_server.models.geographic_area import GeographicArea +from openapi_server import util + +from openapi_server.models.civic_address import CivicAddress # noqa: E501 +from openapi_server.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_Routing_Info_API/capif_routing_info/models/aef_profile.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/aef_profile.py index 9a7e083..7b9982b 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/aef_profile.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/aef_profile.py @@ -1,23 +1,26 @@ -# coding: utf-8 - -from __future__ import absolute_import from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from capif_routing_info.models.base_model_ import Model -from capif_routing_info.models.data_format import DataFormat -from capif_routing_info.models.interface_description import InterfaceDescription -from capif_routing_info.models.protocol import Protocol -from capif_routing_info.models.security_method import SecurityMethod -from capif_routing_info.models.version import Version -from capif_routing_info import util - -from capif_routing_info.models.data_format import DataFormat # noqa: E501 -from capif_routing_info.models.interface_description import InterfaceDescription # noqa: E501 -from capif_routing_info.models.protocol import Protocol # noqa: E501 -from capif_routing_info.models.security_method import SecurityMethod # noqa: E501 -from capif_routing_info.models.version import Version # noqa: E501 +from openapi_server.models.base_model import Model +from openapi_server.models.aef_location import AefLocation +from openapi_server.models.data_format import DataFormat +from openapi_server.models.interface_description import InterfaceDescription +from openapi_server.models.ip_addr_range import IpAddrRange +from openapi_server.models.protocol import Protocol +from openapi_server.models.security_method import SecurityMethod +from openapi_server.models.service_kpis import ServiceKpis +from openapi_server.models.version import Version +from openapi_server import util + +from openapi_server.models.aef_location import AefLocation # noqa: E501 +from openapi_server.models.data_format import DataFormat # noqa: E501 +from openapi_server.models.interface_description import InterfaceDescription # noqa: E501 +from openapi_server.models.ip_addr_range import IpAddrRange # noqa: E501 +from openapi_server.models.protocol import Protocol # noqa: E501 +from openapi_server.models.security_method import SecurityMethod # noqa: E501 +from openapi_server.models.service_kpis import ServiceKpis # noqa: E501 +from openapi_server.models.version import Version # noqa: E501 class AefProfile(Model): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -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_Routing_Info_API/capif_routing_info/models/base_model_.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/base_model.py similarity index 90% rename from services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/base_model_.py rename to services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/base_model.py index 4f38e97..c01b423 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/base_model_.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/base_model.py @@ -1,21 +1,20 @@ import pprint -import six import typing -from capif_routing_info import util +from openapi_server 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_Routing_Info_API/capif_routing_info/models/civic_address.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/civic_address.py new file mode 100644 index 0000000..5f0f6f3 --- /dev/null +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/civic_address.py @@ -0,0 +1,919 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from openapi_server.models.base_model import Model +from openapi_server 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_Routing_Info_API/capif_routing_info/models/communication_type.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/communication_type.py index 090173b..001efa0 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/communication_type.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/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 capif_routing_info.models.base_model_ import Model -from capif_routing_info.models.communication_type_any_of import CommunicationTypeAnyOf -from capif_routing_info import util +from openapi_server.models.base_model import Model +from openapi_server import util -from capif_routing_info.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_Routing_Info_API/capif_routing_info/models/communication_type_any_of.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/communication_type_any_of.py deleted file mode 100644 index 4390894..0000000 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/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 capif_routing_info.models.base_model_ import Model -from capif_routing_info 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_Routing_Info_API/capif_routing_info/models/custom_operation.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/custom_operation.py index fe5a6e9..f258fc7 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/custom_operation.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/custom_operation.py @@ -1,17 +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 capif_routing_info.models.base_model_ import Model -from capif_routing_info.models.communication_type import CommunicationType -from capif_routing_info.models.operation import Operation -from capif_routing_info import util +from openapi_server.models.base_model import Model +from openapi_server.models.communication_type import CommunicationType +from openapi_server.models.operation import Operation +from openapi_server import util -from capif_routing_info.models.communication_type import CommunicationType # noqa: E501 -from capif_routing_info.models.operation import Operation # noqa: E501 +from openapi_server.models.communication_type import CommunicationType # noqa: E501 +from openapi_server.models.operation import Operation # noqa: E501 class CustomOperation(Model): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -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_Routing_Info_API/capif_routing_info/models/data_format.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/data_format.py index 61a086c..701260c 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/data_format.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/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 capif_routing_info.models.base_model_ import Model -from capif_routing_info.models.data_format_any_of import DataFormatAnyOf -from capif_routing_info import util +from openapi_server.models.base_model import Model +from openapi_server import util -from capif_routing_info.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_Routing_Info_API/capif_routing_info/models/ellipsoid_arc.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/ellipsoid_arc.py new file mode 100644 index 0000000..ec6f120 --- /dev/null +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/ellipsoid_arc.py @@ -0,0 +1,265 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from openapi_server.models.base_model import Model +from openapi_server.models.gad_shape import GADShape +from openapi_server.models.geographical_coordinates import GeographicalCoordinates +from openapi_server.models.supported_gad_shapes import SupportedGADShapes +from openapi_server import util + +from openapi_server.models.gad_shape import GADShape # noqa: E501 +from openapi_server.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 +from openapi_server.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_Routing_Info_API/capif_routing_info/models/gad_shape.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/gad_shape.py new file mode 100644 index 0000000..69ff529 --- /dev/null +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/gad_shape.py @@ -0,0 +1,65 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from openapi_server.models.base_model import Model +from openapi_server.models.supported_gad_shapes import SupportedGADShapes +from openapi_server import util + +from openapi_server.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_Routing_Info_API/capif_routing_info/models/geographic_area.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/geographic_area.py new file mode 100644 index 0000000..2215abe --- /dev/null +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/geographic_area.py @@ -0,0 +1,471 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from openapi_server.models.base_model import Model +from openapi_server.models.ellipsoid_arc import EllipsoidArc +from openapi_server.models.geographical_coordinates import GeographicalCoordinates +from openapi_server.models.point import Point +from openapi_server.models.point_altitude import PointAltitude +from openapi_server.models.point_altitude_uncertainty import PointAltitudeUncertainty +from openapi_server.models.point_uncertainty_circle import PointUncertaintyCircle +from openapi_server.models.point_uncertainty_ellipse import PointUncertaintyEllipse +from openapi_server.models.polygon import Polygon +from openapi_server.models.supported_gad_shapes import SupportedGADShapes +from openapi_server.models.uncertainty_ellipse import UncertaintyEllipse +from openapi_server import util + +from openapi_server.models.ellipsoid_arc import EllipsoidArc # noqa: E501 +from openapi_server.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 +from openapi_server.models.point import Point # noqa: E501 +from openapi_server.models.point_altitude import PointAltitude # noqa: E501 +from openapi_server.models.point_altitude_uncertainty import PointAltitudeUncertainty # noqa: E501 +from openapi_server.models.point_uncertainty_circle import PointUncertaintyCircle # noqa: E501 +from openapi_server.models.point_uncertainty_ellipse import PointUncertaintyEllipse # noqa: E501 +from openapi_server.models.polygon import Polygon # noqa: E501 +from openapi_server.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 +from openapi_server.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_Routing_Info_API/capif_routing_info/models/geographical_coordinates.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/geographical_coordinates.py new file mode 100644 index 0000000..a25d0f8 --- /dev/null +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/geographical_coordinates.py @@ -0,0 +1,99 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from openapi_server.models.base_model import Model +from openapi_server 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_Routing_Info_API/capif_routing_info/models/interface_description.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/interface_description.py index 1350c6f..332bdeb 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/interface_description.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/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 capif_routing_info.models.base_model_ import Model -from capif_routing_info.models.security_method import SecurityMethod -from capif_routing_info import util +from openapi_server.models.base_model import Model +from openapi_server.models.security_method import SecurityMethod +import re +from openapi_server import util -from capif_routing_info.models.security_method import SecurityMethod # noqa: E501 +from openapi_server.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_Routing_Info_API/capif_routing_info/models/invalid_param.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/invalid_param.py index 020db5d..e8cb5be 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/invalid_param.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/invalid_param.py @@ -1,12 +1,9 @@ -# coding: utf-8 - -from __future__ import absolute_import from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from capif_routing_info.models.base_model_ import Model -from capif_routing_info import util +from openapi_server.models.base_model import Model +from openapi_server import util class InvalidParam(Model): @@ -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_Routing_Info_API/capif_routing_info/models/ip_addr_range.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/ip_addr_range.py new file mode 100644 index 0000000..1987a1b --- /dev/null +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/ip_addr_range.py @@ -0,0 +1,99 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from openapi_server.models.base_model import Model +from openapi_server.models.ipv4_address_range1 import Ipv4AddressRange1 +from openapi_server.models.ipv6_address_range1 import Ipv6AddressRange1 +from openapi_server import util + +from openapi_server.models.ipv4_address_range1 import Ipv4AddressRange1 # noqa: E501 +from openapi_server.models.ipv6_address_range1 import Ipv6AddressRange1 # 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[Ipv4AddressRange1] + :param ue_ipv6_addr_ranges: The ue_ipv6_addr_ranges of this IpAddrRange. # noqa: E501 + :type ue_ipv6_addr_ranges: List[Ipv6AddressRange1] + """ + self.openapi_types = { + 'ue_ipv4_addr_ranges': List[Ipv4AddressRange1], + 'ue_ipv6_addr_ranges': List[Ipv6AddressRange1] + } + + 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[Ipv4AddressRange1]: + """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[Ipv4AddressRange1] + """ + return self._ue_ipv4_addr_ranges + + @ue_ipv4_addr_ranges.setter + def ue_ipv4_addr_ranges(self, ue_ipv4_addr_ranges: List[Ipv4AddressRange1]): + """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[Ipv4AddressRange1] + """ + 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[Ipv6AddressRange1]: + """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[Ipv6AddressRange1] + """ + return self._ue_ipv6_addr_ranges + + @ue_ipv6_addr_ranges.setter + def ue_ipv6_addr_ranges(self, ue_ipv6_addr_ranges: List[Ipv6AddressRange1]): + """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[Ipv6AddressRange1] + """ + 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_Routing_Info_API/capif_routing_info/models/ipv4_address_range.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/ipv4_address_range.py index 5f8e7c0..2dc2c8d 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/ipv4_address_range.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/ipv4_address_range.py @@ -1,13 +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 capif_routing_info.models.base_model_ import Model +from openapi_server.models.base_model import Model import re -from capif_routing_info import util +from openapi_server import util import re # noqa: E501 @@ -50,10 +47,10 @@ class Ipv4AddressRange(Model): return util.deserialize_model(dikt, cls) @property - def start(self): + 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 + 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 @@ -61,24 +58,24 @@ class Ipv4AddressRange(Model): return self._start @start.setter - def start(self, start): + 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 + 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 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 + 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): + 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 + 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 @@ -86,15 +83,15 @@ class Ipv4AddressRange(Model): return self._end @end.setter - def end(self, end): + 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 + 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 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 + 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_Routing_Info_API/capif_routing_info/models/ipv4_address_range1.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/ipv4_address_range1.py new file mode 100644 index 0000000..e72433d --- /dev/null +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/ipv4_address_range1.py @@ -0,0 +1,101 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from openapi_server.models.base_model import Model +import re +from openapi_server import util + +import re # noqa: E501 + +class Ipv4AddressRange1(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 + """Ipv4AddressRange1 - a model defined in OpenAPI + + :param start: The start of this Ipv4AddressRange1. # noqa: E501 + :type start: str + :param end: The end of this Ipv4AddressRange1. # 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) -> 'Ipv4AddressRange1': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The Ipv4AddressRange_1 of this Ipv4AddressRange1. # noqa: E501 + :rtype: Ipv4AddressRange1 + """ + return util.deserialize_model(dikt, cls) + + @property + def start(self) -> str: + """Gets the start of this Ipv4AddressRange1. + + String identifying a IPv4 address formatted in the 'dotted decimal' notation as defined in RFC 1166. # noqa: E501 + + :return: The start of this Ipv4AddressRange1. + :rtype: str + """ + return self._start + + @start.setter + def start(self, start: str): + """Sets the start of this Ipv4AddressRange1. + + String identifying a IPv4 address formatted in the 'dotted decimal' notation as defined in RFC 1166. # noqa: E501 + + :param start: The start of this Ipv4AddressRange1. + :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 Ipv4AddressRange1. + + String identifying a IPv4 address formatted in the 'dotted decimal' notation as defined in RFC 1166. # noqa: E501 + + :return: The end of this Ipv4AddressRange1. + :rtype: str + """ + return self._end + + @end.setter + def end(self, end: str): + """Sets the end of this Ipv4AddressRange1. + + String identifying a IPv4 address formatted in the 'dotted decimal' notation as defined in RFC 1166. # noqa: E501 + + :param end: The end of this Ipv4AddressRange1. + :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_Routing_Info_API/capif_routing_info/models/data_format_any_of.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/ipv6_addr1.py similarity index 54% rename from services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/data_format_any_of.py rename to services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/ipv6_addr1.py index 97da8ff..1845359 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/data_format_any_of.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/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 capif_routing_info.models.base_model_ import Model -from capif_routing_info import util +from openapi_server.models.base_model import Model +from openapi_server 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_Routing_Info_API/capif_routing_info/models/ipv6_address_range.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/ipv6_address_range.py index d2afb78..f928f7c 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/ipv6_address_range.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/ipv6_address_range.py @@ -1,12 +1,9 @@ -# coding: utf-8 - -from __future__ import absolute_import from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from capif_routing_info.models.base_model_ import Model -from capif_routing_info import util +from openapi_server.models.base_model import Model +from openapi_server import util class Ipv6AddressRange(Model): @@ -48,10 +45,10 @@ class Ipv6AddressRange(Model): return util.deserialize_model(dikt, cls) @property - def start(self): + def start(self) -> str: """Gets the start of this Ipv6AddressRange. - 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 start of this Ipv6AddressRange. :rtype: str @@ -59,10 +56,10 @@ class Ipv6AddressRange(Model): return self._start @start.setter - def start(self, start): + def start(self, start: str): """Sets the start of this Ipv6AddressRange. - 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 start: The start of this Ipv6AddressRange. :type start: str @@ -73,10 +70,10 @@ class Ipv6AddressRange(Model): self._start = start @property - def end(self): + def end(self) -> str: """Gets the end of this Ipv6AddressRange. - 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 end of this Ipv6AddressRange. :rtype: str @@ -84,10 +81,10 @@ class Ipv6AddressRange(Model): return self._end @end.setter - def end(self, end): + def end(self, end: str): """Sets the end of this Ipv6AddressRange. - 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 end: The end of this Ipv6AddressRange. :type end: str diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/ipv6_address_range1.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/ipv6_address_range1.py new file mode 100644 index 0000000..552dab1 --- /dev/null +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/ipv6_address_range1.py @@ -0,0 +1,93 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from openapi_server.models.base_model import Model +from openapi_server.models.ipv6_addr1 import Ipv6Addr1 +from openapi_server import util + +from openapi_server.models.ipv6_addr1 import Ipv6Addr1 # noqa: E501 + +class Ipv6AddressRange1(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 + """Ipv6AddressRange1 - a model defined in OpenAPI + + :param start: The start of this Ipv6AddressRange1. # noqa: E501 + :type start: Ipv6Addr1 + :param end: The end of this Ipv6AddressRange1. # 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) -> 'Ipv6AddressRange1': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The Ipv6AddressRange_1 of this Ipv6AddressRange1. # noqa: E501 + :rtype: Ipv6AddressRange1 + """ + return util.deserialize_model(dikt, cls) + + @property + def start(self) -> Ipv6Addr1: + """Gets the start of this Ipv6AddressRange1. + + + :return: The start of this Ipv6AddressRange1. + :rtype: Ipv6Addr1 + """ + return self._start + + @start.setter + def start(self, start: Ipv6Addr1): + """Sets the start of this Ipv6AddressRange1. + + + :param start: The start of this Ipv6AddressRange1. + :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 Ipv6AddressRange1. + + + :return: The end of this Ipv6AddressRange1. + :rtype: Ipv6Addr1 + """ + return self._end + + @end.setter + def end(self, end: Ipv6Addr1): + """Sets the end of this Ipv6AddressRange1. + + + :param end: The end of this Ipv6AddressRange1. + :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_Routing_Info_API/capif_routing_info/models/local2d_point_uncertainty_ellipse.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/local2d_point_uncertainty_ellipse.py new file mode 100644 index 0000000..5a50d8a --- /dev/null +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/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 openapi_server.models.base_model import Model +from openapi_server.models.gad_shape import GADShape +from openapi_server.models.local_origin import LocalOrigin +from openapi_server.models.relative_cartesian_location import RelativeCartesianLocation +from openapi_server.models.supported_gad_shapes import SupportedGADShapes +from openapi_server.models.uncertainty_ellipse import UncertaintyEllipse +from openapi_server import util + +from openapi_server.models.gad_shape import GADShape # noqa: E501 +from openapi_server.models.local_origin import LocalOrigin # noqa: E501 +from openapi_server.models.relative_cartesian_location import RelativeCartesianLocation # noqa: E501 +from openapi_server.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 +from openapi_server.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_Routing_Info_API/capif_routing_info/models/local3d_point_uncertainty_ellipsoid.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/local3d_point_uncertainty_ellipsoid.py new file mode 100644 index 0000000..36e2e67 --- /dev/null +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/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 openapi_server.models.base_model import Model +from openapi_server.models.gad_shape import GADShape +from openapi_server.models.local_origin import LocalOrigin +from openapi_server.models.relative_cartesian_location import RelativeCartesianLocation +from openapi_server.models.supported_gad_shapes import SupportedGADShapes +from openapi_server.models.uncertainty_ellipsoid import UncertaintyEllipsoid +from openapi_server import util + +from openapi_server.models.gad_shape import GADShape # noqa: E501 +from openapi_server.models.local_origin import LocalOrigin # noqa: E501 +from openapi_server.models.relative_cartesian_location import RelativeCartesianLocation # noqa: E501 +from openapi_server.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 +from openapi_server.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_Routing_Info_API/capif_routing_info/models/local_origin.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/local_origin.py new file mode 100644 index 0000000..ff016ef --- /dev/null +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/local_origin.py @@ -0,0 +1,89 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from openapi_server.models.base_model import Model +from openapi_server.models.geographical_coordinates import GeographicalCoordinates +from openapi_server import util + +from openapi_server.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_Routing_Info_API/capif_routing_info/models/operation.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/operation.py index d54629b..5f3a3b7 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/operation.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/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 capif_routing_info.models.base_model_ import Model -from capif_routing_info.models.operation_any_of import OperationAnyOf -from capif_routing_info import util +from openapi_server.models.base_model import Model +from openapi_server import util -from capif_routing_info.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_Routing_Info_API/capif_routing_info/models/operation_any_of.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/operation_any_of.py deleted file mode 100644 index d92e495..0000000 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/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 capif_routing_info.models.base_model_ import Model -from capif_routing_info 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_Routing_Info_API/capif_routing_info/models/point.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/point.py new file mode 100644 index 0000000..e9db65b --- /dev/null +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/point.py @@ -0,0 +1,97 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from openapi_server.models.base_model import Model +from openapi_server.models.gad_shape import GADShape +from openapi_server.models.geographical_coordinates import GeographicalCoordinates +from openapi_server.models.supported_gad_shapes import SupportedGADShapes +from openapi_server import util + +from openapi_server.models.gad_shape import GADShape # noqa: E501 +from openapi_server.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 +from openapi_server.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_Routing_Info_API/capif_routing_info/models/point_altitude.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/point_altitude.py new file mode 100644 index 0000000..9aa7cfc --- /dev/null +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/point_altitude.py @@ -0,0 +1,131 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from openapi_server.models.base_model import Model +from openapi_server.models.gad_shape import GADShape +from openapi_server.models.geographical_coordinates import GeographicalCoordinates +from openapi_server.models.supported_gad_shapes import SupportedGADShapes +from openapi_server import util + +from openapi_server.models.gad_shape import GADShape # noqa: E501 +from openapi_server.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 +from openapi_server.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_Routing_Info_API/capif_routing_info/models/point_altitude_uncertainty.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/point_altitude_uncertainty.py new file mode 100644 index 0000000..b1aee47 --- /dev/null +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/point_altitude_uncertainty.py @@ -0,0 +1,259 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from openapi_server.models.base_model import Model +from openapi_server.models.gad_shape import GADShape +from openapi_server.models.geographical_coordinates import GeographicalCoordinates +from openapi_server.models.supported_gad_shapes import SupportedGADShapes +from openapi_server.models.uncertainty_ellipse import UncertaintyEllipse +from openapi_server import util + +from openapi_server.models.gad_shape import GADShape # noqa: E501 +from openapi_server.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 +from openapi_server.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 +from openapi_server.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_Routing_Info_API/capif_routing_info/models/point_uncertainty_circle.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/point_uncertainty_circle.py new file mode 100644 index 0000000..ad1bb02 --- /dev/null +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/point_uncertainty_circle.py @@ -0,0 +1,129 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from openapi_server.models.base_model import Model +from openapi_server.models.gad_shape import GADShape +from openapi_server.models.geographical_coordinates import GeographicalCoordinates +from openapi_server.models.supported_gad_shapes import SupportedGADShapes +from openapi_server import util + +from openapi_server.models.gad_shape import GADShape # noqa: E501 +from openapi_server.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 +from openapi_server.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_Routing_Info_API/capif_routing_info/models/point_uncertainty_ellipse.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/point_uncertainty_ellipse.py new file mode 100644 index 0000000..ae5ce92 --- /dev/null +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/point_uncertainty_ellipse.py @@ -0,0 +1,161 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from openapi_server.models.base_model import Model +from openapi_server.models.gad_shape import GADShape +from openapi_server.models.geographical_coordinates import GeographicalCoordinates +from openapi_server.models.supported_gad_shapes import SupportedGADShapes +from openapi_server.models.uncertainty_ellipse import UncertaintyEllipse +from openapi_server import util + +from openapi_server.models.gad_shape import GADShape # noqa: E501 +from openapi_server.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 +from openapi_server.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 +from openapi_server.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_Routing_Info_API/capif_routing_info/models/polygon.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/polygon.py new file mode 100644 index 0000000..9dfe4c2 --- /dev/null +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/polygon.py @@ -0,0 +1,103 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from openapi_server.models.base_model import Model +from openapi_server.models.gad_shape import GADShape +from openapi_server.models.geographical_coordinates import GeographicalCoordinates +from openapi_server.models.supported_gad_shapes import SupportedGADShapes +from openapi_server import util + +from openapi_server.models.gad_shape import GADShape # noqa: E501 +from openapi_server.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 +from openapi_server.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_Routing_Info_API/capif_routing_info/models/problem_details.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/problem_details.py index b661b72..9c42429 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/problem_details.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/problem_details.py @@ -1,16 +1,13 @@ -# coding: utf-8 - -from __future__ import absolute_import from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from capif_routing_info.models.base_model_ import Model -from capif_routing_info.models.invalid_param import InvalidParam +from openapi_server.models.base_model import Model +from openapi_server.models.invalid_param import InvalidParam import re -from capif_routing_info import util +from openapi_server import util -from capif_routing_info.models.invalid_param import InvalidParam # noqa: E501 +from openapi_server.models.invalid_param import InvalidParam # noqa: E501 import re # noqa: E501 class ProblemDetails(Model): @@ -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_Routing_Info_API/capif_routing_info/models/protocol.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/protocol.py index da612ec..b705e01 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/protocol.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/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 capif_routing_info.models.base_model_ import Model -from capif_routing_info.models.protocol_any_of import ProtocolAnyOf -from capif_routing_info import util +from openapi_server.models.base_model import Model +from openapi_server import util -from capif_routing_info.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_Routing_Info_API/capif_routing_info/models/relative_cartesian_location.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/relative_cartesian_location.py new file mode 100644 index 0000000..aff0020 --- /dev/null +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/relative_cartesian_location.py @@ -0,0 +1,123 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from openapi_server.models.base_model import Model +from openapi_server 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_Routing_Info_API/capif_routing_info/models/resource.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/resource.py index e4eb5b8..696f10a 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/resource.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/resource.py @@ -1,17 +1,16 @@ -# coding: utf-8 - -from __future__ import absolute_import from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from capif_routing_info.models.base_model_ import Model -from capif_routing_info.models.communication_type import CommunicationType -from capif_routing_info.models.operation import Operation -from capif_routing_info import util +from openapi_server.models.base_model import Model +from openapi_server.models.communication_type import CommunicationType +from openapi_server.models.custom_operation import CustomOperation +from openapi_server.models.operation import Operation +from openapi_server import util -from capif_routing_info.models.communication_type import CommunicationType # noqa: E501 -from capif_routing_info.models.operation import Operation # noqa: E501 +from openapi_server.models.communication_type import CommunicationType # noqa: E501 +from openapi_server.models.custom_operation import CustomOperation # noqa: E501 +from openapi_server.models.operation import Operation # noqa: E501 class Resource(Model): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -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_Routing_Info_API/capif_routing_info/models/routing_info.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/routing_info.py index 34b5b73..839c876 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/routing_info.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/routing_info.py @@ -1,15 +1,12 @@ -# coding: utf-8 - -from __future__ import absolute_import from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from capif_routing_info.models.base_model_ import Model -from capif_routing_info.models.routing_rule import RoutingRule -from capif_routing_info import util +from openapi_server.models.base_model import Model +from openapi_server.models.routing_rule import RoutingRule +from openapi_server import util -from capif_routing_info.models.routing_rule import RoutingRule # noqa: E501 +from openapi_server.models.routing_rule import RoutingRule # noqa: E501 class RoutingInfo(Model): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -45,7 +42,7 @@ class RoutingInfo(Model): return util.deserialize_model(dikt, cls) @property - def routing_rules(self): + def routing_rules(self) -> List[RoutingRule]: """Gets the routing_rules of this RoutingInfo. @@ -55,7 +52,7 @@ class RoutingInfo(Model): return self._routing_rules @routing_rules.setter - def routing_rules(self, routing_rules): + def routing_rules(self, routing_rules: List[RoutingRule]): """Sets the routing_rules of this RoutingInfo. diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/routing_rule.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/routing_rule.py index 29c0930..96573ff 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/routing_rule.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/routing_rule.py @@ -1,15 +1,16 @@ -# coding: utf-8 - -from __future__ import absolute_import from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from capif_routing_info.models.base_model_ import Model -from capif_routing_info.models.aef_profile import AefProfile -from capif_routing_info.models.ipv4_address_range import Ipv4AddressRange -from capif_routing_info.models.ipv6_address_range import Ipv6AddressRange -from capif_routing_info import util +from openapi_server.models.base_model import Model +from openapi_server.models.aef_profile import AefProfile +from openapi_server.models.ipv4_address_range import Ipv4AddressRange +from openapi_server.models.ipv6_address_range import Ipv6AddressRange +from openapi_server import util + +from openapi_server.models.aef_profile import AefProfile # noqa: E501 +from openapi_server.models.ipv4_address_range import Ipv4AddressRange # noqa: E501 +from openapi_server.models.ipv6_address_range import Ipv6AddressRange # noqa: E501 class RoutingRule(Model): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -55,7 +56,7 @@ class RoutingRule(Model): return util.deserialize_model(dikt, cls) @property - def ipv4_addr_ranges(self): + def ipv4_addr_ranges(self) -> List[Ipv4AddressRange]: """Gets the ipv4_addr_ranges of this RoutingRule. @@ -65,7 +66,7 @@ class RoutingRule(Model): return self._ipv4_addr_ranges @ipv4_addr_ranges.setter - def ipv4_addr_ranges(self, ipv4_addr_ranges): + def ipv4_addr_ranges(self, ipv4_addr_ranges: List[Ipv4AddressRange]): """Sets the ipv4_addr_ranges of this RoutingRule. @@ -78,7 +79,7 @@ class RoutingRule(Model): self._ipv4_addr_ranges = ipv4_addr_ranges @property - def ipv6_addr_ranges(self): + def ipv6_addr_ranges(self) -> List[Ipv6AddressRange]: """Gets the ipv6_addr_ranges of this RoutingRule. @@ -88,7 +89,7 @@ class RoutingRule(Model): return self._ipv6_addr_ranges @ipv6_addr_ranges.setter - def ipv6_addr_ranges(self, ipv6_addr_ranges): + def ipv6_addr_ranges(self, ipv6_addr_ranges: List[Ipv6AddressRange]): """Sets the ipv6_addr_ranges of this RoutingRule. @@ -101,7 +102,7 @@ class RoutingRule(Model): self._ipv6_addr_ranges = ipv6_addr_ranges @property - def aef_profile(self): + def aef_profile(self) -> AefProfile: """Gets the aef_profile of this RoutingRule. @@ -111,7 +112,7 @@ class RoutingRule(Model): return self._aef_profile @aef_profile.setter - def aef_profile(self, aef_profile): + def aef_profile(self, aef_profile: AefProfile): """Sets the aef_profile of this RoutingRule. diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/security_method.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/security_method.py index 7de2582..2bf3a59 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/security_method.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/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 capif_routing_info.models.base_model_ import Model -from capif_routing_info.models.security_method_any_of import SecurityMethodAnyOf -from capif_routing_info import util +from openapi_server.models.base_model import Model +from openapi_server import util -from capif_routing_info.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_Routing_Info_API/capif_routing_info/models/security_method_any_of.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/security_method_any_of.py deleted file mode 100644 index 00fd8e2..0000000 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/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 capif_routing_info.models.base_model_ import Model -from capif_routing_info 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_Routing_Info_API/capif_routing_info/models/service_kpis.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/service_kpis.py new file mode 100644 index 0000000..3a55160 --- /dev/null +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/service_kpis.py @@ -0,0 +1,277 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from openapi_server.models.base_model import Model +import re +from openapi_server 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_Routing_Info_API/capif_routing_info/models/protocol_any_of.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/supported_gad_shapes.py similarity index 54% rename from services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/protocol_any_of.py rename to services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/supported_gad_shapes.py index add5527..971a04c 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/protocol_any_of.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/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 capif_routing_info.models.base_model_ import Model -from capif_routing_info import util +from openapi_server.models.base_model import Model +from openapi_server 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_Routing_Info_API/capif_routing_info/models/uncertainty_ellipse.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/uncertainty_ellipse.py new file mode 100644 index 0000000..ae5d031 --- /dev/null +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/uncertainty_ellipse.py @@ -0,0 +1,133 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from openapi_server.models.base_model import Model +from openapi_server 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_Routing_Info_API/capif_routing_info/models/uncertainty_ellipsoid.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/uncertainty_ellipsoid.py new file mode 100644 index 0000000..ac84487 --- /dev/null +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/uncertainty_ellipsoid.py @@ -0,0 +1,165 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from openapi_server.models.base_model import Model +from openapi_server 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_Routing_Info_API/capif_routing_info/models/version.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/version.py index fa60f02..eb18ce3 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/version.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/version.py @@ -1,17 +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 capif_routing_info.models.base_model_ import Model -from capif_routing_info.models.custom_operation import CustomOperation -from capif_routing_info.models.resource import Resource -from capif_routing_info import util +from openapi_server.models.base_model import Model +from openapi_server.models.custom_operation import CustomOperation +from openapi_server.models.resource import Resource +from openapi_server import util -from capif_routing_info.models.custom_operation import CustomOperation # noqa: E501 -from capif_routing_info.models.resource import Resource # noqa: E501 +from openapi_server.models.custom_operation import CustomOperation # noqa: E501 +from openapi_server.models.resource import Resource # noqa: E501 class Version(Model): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -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_Routing_Info_API/capif_routing_info/openapi/openapi.yaml b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/openapi/openapi.yaml index 53446f2..5e93c85 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/openapi/openapi.yaml +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/openapi/openapi.yaml @@ -1,20 +1,18 @@ openapi: 3.0.0 info: - description: | - API for Routing information. - © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). - All rights reserved. + description: "API for Routing information. \n© 2022, 3GPP Organizational Partners\ + \ (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). \nAll rights reserved.\n" title: CAPIF_Routing_Info_API - version: 1.1.0-alpha.1 + version: 1.2.0-alpha.1 externalDocs: - description: 3GPP TS 29.222 V17.1.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.0.0 Common API Framework for 3GPP Northbound APIs + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.222/ servers: -- url: '{apiRoot}/capif-routing-info/v1' +- url: "{apiRoot}/capif-routing-info/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: /service-apis/{serviceApiId}: get: @@ -126,6 +124,79 @@ paths: description: Generic Error x-openapi-router-controller: capif_routing_info.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 + "414": + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + description: URI Too Long + "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 schemas: RoutingInfo: description: Represents an API routing information. @@ -137,15 +208,41 @@ components: - start: start end: end aefProfile: + 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 @@ -153,19 +250,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 @@ -174,6 +287,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 @@ -181,37 +308,109 @@ 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 ipv4AddrRanges: - start: 198.51.100.1 end: 198.51.100.1 @@ -223,15 +422,41 @@ components: - start: start end: end aefProfile: + 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 @@ -239,19 +464,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 @@ -260,6 +501,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 @@ -267,37 +522,109 @@ 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 ipv4AddrRanges: - start: 198.51.100.1 end: 198.51.100.1 @@ -323,15 +650,41 @@ components: - start: start end: end aefProfile: + 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 @@ -339,19 +692,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 @@ -360,6 +729,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 @@ -367,37 +750,109 @@ 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 ipv4AddrRanges: - start: 198.51.100.1 end: 198.51.100.1 @@ -429,15 +884,13 @@ components: end: end properties: start: - 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 end: - 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 required: @@ -446,19 +899,9 @@ components: title: Ipv6AddressRange 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 ProblemDetails: @@ -469,8 +912,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: @@ -487,33 +930,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 @@ -523,15 +955,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: @@ -545,17 +978,17 @@ components: end: 198.51.100.1 properties: start: - description: String identifying a IPv4 address formatted in the "dotted - decimal" notation as defined in RFC 1166. + 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])$ + 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 type: string end: - description: String identifying a IPv4 address formatted in the "dotted - decimal" notation as defined in RFC 1166. + 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])$ + 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 type: string title: Ipv4AddressRange @@ -563,15 +996,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 @@ -579,19 +1038,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 @@ -600,6 +1075,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 @@ -607,37 +1096,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 @@ -677,6 +1239,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 @@ -690,6 +1258,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 @@ -697,19 +1279,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 @@ -747,6 +1345,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 @@ -759,19 +1371,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 @@ -789,42 +1408,38 @@ components: type: object CommunicationType: anyOf: - - $ref: '#/components/schemas/CommunicationType_anyOf' - - 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. + - enum: + - REQUEST_RESPONSE + - SUBSCRIBE_NOTIFY 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 - title: CommunicationType - Operation: - anyOf: - - $ref: '#/components/schemas/Operation_anyOf' - 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 - title: Operation + 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 CustomOperation: 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 @@ -839,32 +1454,68 @@ components: - custOpName title: CustomOperation type: object + 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: "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 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 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 InterfaceDescription: description: Represents the description of an API's interface. @@ -873,34 +1524,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_1 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 @@ -908,17 +1576,167 @@ components: type: array title: InterfaceDescription 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 + 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_1' + minItems: 1 + title: ueIpv4AddrRanges + type: array + ueIpv6AddrRanges: + description: Represents the Ipv6 Address ranges of the UE(s). + items: + $ref: '#/components/schemas/Ipv6AddressRange_1' + minItems: 1 + title: ueIpv6AddrRanges + type: array + title: IpAddrRange + type: object 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 Ipv4Addr: - description: String identifying a IPv4 address formatted in the "dotted decimal" - notation as defined in RFC 1166. + 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])$ + 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 type: string DateTime: @@ -927,46 +1745,597 @@ components: title: DateTime type: string Ipv4Addr_1: - 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_1 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 - CommunicationType_anyOf: - enum: - - REQUEST_RESPONSE - - SUBSCRIBE_NOTIFY - title: CommunicationType_anyOf - type: string - Operation_anyOf: - enum: - - GET - - POST - - PUT - - PATCH - - DELETE - title: Operation_anyOf - type: string - Protocol_anyOf: - enum: - - HTTP_1_1 - - HTTP_2 - title: Protocol_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_1: + 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 + 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 + type: string + required: + - end + - start + title: Ipv4AddressRange_1 + type: object + Ipv6AddressRange_1: + 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_1 + 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_Routing_Info_API/capif_routing_info/test/__init__.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/test/__init__.py index e95f59c..364aba9 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/test/__init__.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/test/__init__.py @@ -3,7 +3,7 @@ import logging import connexion from flask_testing import TestCase -from capif_routing_info.encoder import JSONEncoder +from openapi_server.encoder import JSONEncoder class BaseTestCase(TestCase): diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/test/test_default_controller.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/test/test_default_controller.py index e602d5d..74e2fbb 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/test/test_default_controller.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/test/test_default_controller.py @@ -1,14 +1,10 @@ -# coding: utf-8 - -from __future__ import absolute_import import unittest from flask import json -from six import BytesIO -from capif_routing_info.models.problem_details import ProblemDetails # noqa: E501 -from capif_routing_info.models.routing_info import RoutingInfo # noqa: E501 -from capif_routing_info.test import BaseTestCase +from openapi_server.models.problem_details import ProblemDetails # noqa: E501 +from openapi_server.models.routing_info import RoutingInfo # noqa: E501 +from openapi_server.test import BaseTestCase class TestDefaultController(BaseTestCase): diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/typing_utils.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/typing_utils.py index 0563f81..74e3c91 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/typing_utils.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/typing_utils.py @@ -1,5 +1,3 @@ -# coding: utf-8 - import sys if sys.version_info < (3, 7): diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/util.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/util.py index 54a1301..bd83c5b 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/util.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/util.py @@ -1,7 +1,7 @@ import datetime -import six -import typing_utils +import typing +from openapi_server import typing_utils def _deserialize(data, klass): @@ -15,7 +15,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) @@ -44,7 +44,7 @@ def _deserialize_primitive(data, klass): try: value = klass(data) except UnicodeEncodeError: - value = six.u(data) + value = data except TypeError: value = data return value @@ -109,7 +109,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)): @@ -144,4 +144,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_Routing_Info_API/git_push.sh b/services/TS29222_CAPIF_Routing_Info_API/git_push.sh index 9405f72..f53a75d 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/git_push.sh +++ b/services/TS29222_CAPIF_Routing_Info_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_Routing_Info_API/setup.py b/services/TS29222_CAPIF_Routing_Info_API/setup.py index 58c68e2..23f473e 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/setup.py +++ b/services/TS29222_CAPIF_Routing_Info_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': ['capif_routing_info=capif_routing_info.__main__:main']}, long_description="""\ - API for Routing information. © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. + API for Routing information. © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. """ ) diff --git a/services/TS29222_CAPIF_Routing_Info_API/test-requirements.txt b/services/TS29222_CAPIF_Routing_Info_API/test-requirements.txt index 202a684..58f51d6 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/test-requirements.txt +++ b/services/TS29222_CAPIF_Routing_Info_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_Routing_Info_API/tox.ini b/services/TS29222_CAPIF_Routing_Info_API/tox.ini index 6e0e6e7..cbb2523 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/tox.ini +++ b/services/TS29222_CAPIF_Routing_Info_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=capif_routing_info -- GitLab From d353e5610d75356f0d0040e521a43160095bc1e8 Mon Sep 17 00:00:00 2001 From: Pelayo Torres Date: Wed, 24 Jul 2024 09:06:56 +0200 Subject: [PATCH 11/15] REL18 Security Service --- .../controllers/default_controller.py | 6 +- .../capif_routing_info/encoder.py | 2 +- .../capif_routing_info/models/__init__.py | 80 +-- .../capif_routing_info/models/aef_location.py | 12 +- .../capif_routing_info/models/aef_profile.py | 38 +- .../capif_routing_info/models/base_model.py | 2 +- .../models/civic_address.py | 4 +- .../models/communication_type.py | 4 +- .../models/custom_operation.py | 12 +- .../capif_routing_info/models/data_format.py | 4 +- .../models/ellipsoid_arc.py | 18 +- .../capif_routing_info/models/gad_shape.py | 8 +- .../models/geographic_area.py | 46 +- .../models/geographical_coordinates.py | 4 +- .../models/interface_description.py | 8 +- .../models/invalid_param.py | 4 +- .../models/ip_addr_range.py | 12 +- .../models/ipv4_address_range.py | 4 +- .../models/ipv4_address_range1.py | 4 +- .../capif_routing_info/models/ipv6_addr1.py | 4 +- .../models/ipv6_address_range.py | 4 +- .../models/ipv6_address_range1.py | 8 +- .../local2d_point_uncertainty_ellipse.py | 26 +- .../local3d_point_uncertainty_ellipsoid.py | 26 +- .../capif_routing_info/models/local_origin.py | 8 +- .../capif_routing_info/models/operation.py | 4 +- .../capif_routing_info/models/point.py | 18 +- .../models/point_altitude.py | 18 +- .../models/point_altitude_uncertainty.py | 22 +- .../models/point_uncertainty_circle.py | 18 +- .../models/point_uncertainty_ellipse.py | 22 +- .../capif_routing_info/models/polygon.py | 18 +- .../models/problem_details.py | 8 +- .../capif_routing_info/models/protocol.py | 4 +- .../models/relative_cartesian_location.py | 4 +- .../capif_routing_info/models/resource.py | 18 +- .../capif_routing_info/models/routing_info.py | 8 +- .../capif_routing_info/models/routing_rule.py | 18 +- .../models/security_method.py | 4 +- .../capif_routing_info/models/service_kpis.py | 4 +- .../models/supported_gad_shapes.py | 4 +- .../models/uncertainty_ellipse.py | 4 +- .../models/uncertainty_ellipsoid.py | 4 +- .../capif_routing_info/models/version.py | 12 +- .../capif_routing_info/test/__init__.py | 2 +- .../test/test_default_controller.py | 6 +- .../capif_routing_info/util.py | 2 +- .../.openapi-generator/FILES | 24 +- .../.openapi-generator/VERSION | 2 +- services/TS29222_CAPIF_Security_API/README.md | 2 +- .../capif_security/__main__.py | 19 - .../controllers/default_controller.py | 72 ++- .../controllers/security_controller_.py | 2 - .../capif_security/encoder.py | 5 +- .../capif_security/models/__init__.py | 12 +- .../models/access_token_claims.py | 51 +- .../capif_security/models/access_token_err.py | 17 +- .../models/access_token_err1.py | 17 +- .../capif_security/models/access_token_req.py | 151 ----- .../models/access_token_req1.py | 106 ++-- .../capif_security/models/access_token_rsp.py | 21 +- .../capif_security/models/base_model_.py | 69 --- .../capif_security/models/cause.py | 7 +- .../capif_security/models/cause_any_of.py | 42 -- .../models/interface_description.py | 95 ++- .../capif_security/models/invalid_param.py | 13 +- .../capif_security/models/invalid_param1.py | 13 +- .../capif_security/models/nf_type.py | 7 +- .../capif_security/models/nf_type_any_of.py | 95 --- .../capif_security/models/plmn_id.py | 17 +- .../capif_security/models/plmn_id_nid.py | 21 +- .../capif_security/models/problem_details.py | 49 +- .../capif_security/models/problem_details1.py | 111 +++- .../models/security_information.py | 70 ++- .../capif_security/models/security_method.py | 9 +- .../models/security_method_any_of.py | 44 -- .../models/security_notification.py | 21 +- .../capif_security/models/service_security.py | 25 +- .../capif_security/models/snssai.py | 13 +- .../models/websock_notif_config.py | 13 +- .../capif_security/openapi/openapi.yaml | 584 ++++++++++-------- .../capif_security/typing_utils.py | 2 - .../capif_security/util.py | 13 +- .../TS29222_CAPIF_Security_API/git_push.sh | 6 +- services/TS29222_CAPIF_Security_API/main.py | 61 -- .../requirements.txt | 2 +- services/TS29222_CAPIF_Security_API/setup.py | 4 +- .../test-requirements.txt | 6 +- services/TS29222_CAPIF_Security_API/tox.ini | 2 +- tests/libraries/security_api/bodyRequests.py | 4 +- 90 files changed, 1125 insertions(+), 1364 deletions(-) delete mode 100644 services/TS29222_CAPIF_Security_API/capif_security/__main__.py delete mode 100644 services/TS29222_CAPIF_Security_API/capif_security/controllers/security_controller_.py delete mode 100644 services/TS29222_CAPIF_Security_API/capif_security/models/access_token_req.py delete mode 100644 services/TS29222_CAPIF_Security_API/capif_security/models/base_model_.py delete mode 100644 services/TS29222_CAPIF_Security_API/capif_security/models/cause_any_of.py delete mode 100644 services/TS29222_CAPIF_Security_API/capif_security/models/nf_type_any_of.py delete mode 100644 services/TS29222_CAPIF_Security_API/capif_security/models/security_method_any_of.py delete mode 100644 services/TS29222_CAPIF_Security_API/main.py diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/controllers/default_controller.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/controllers/default_controller.py index 801b390..9dafc05 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/controllers/default_controller.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/controllers/default_controller.py @@ -3,9 +3,9 @@ from typing import Dict from typing import Tuple from typing import Union -from openapi_server.models.problem_details import ProblemDetails # noqa: E501 -from openapi_server.models.routing_info import RoutingInfo # noqa: E501 -from openapi_server import util +from capif_routing_info.models.problem_details import ProblemDetails # noqa: E501 +from capif_routing_info.models.routing_info import RoutingInfo # noqa: E501 +from capif_routing_info import util def service_apis_service_api_id_get(service_api_id, aef_id, supp_feat=None): # noqa: E501 diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/encoder.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/encoder.py index 60f4fa6..c81a749 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/encoder.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/encoder.py @@ -1,6 +1,6 @@ from connexion.apps.flask_app import FlaskJSONEncoder -from openapi_server.models.base_model import Model +from capif_routing_info.models.base_model import Model class JSONEncoder(FlaskJSONEncoder): diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/__init__.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/__init__.py index 00a1933..58b9b0c 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/__init__.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/__init__.py @@ -1,42 +1,42 @@ # flake8: noqa # import models into model package -from openapi_server.models.aef_location import AefLocation -from openapi_server.models.aef_profile import AefProfile -from openapi_server.models.civic_address import CivicAddress -from openapi_server.models.communication_type import CommunicationType -from openapi_server.models.custom_operation import CustomOperation -from openapi_server.models.data_format import DataFormat -from openapi_server.models.ellipsoid_arc import EllipsoidArc -from openapi_server.models.gad_shape import GADShape -from openapi_server.models.geographic_area import GeographicArea -from openapi_server.models.geographical_coordinates import GeographicalCoordinates -from openapi_server.models.interface_description import InterfaceDescription -from openapi_server.models.invalid_param import InvalidParam -from openapi_server.models.ip_addr_range import IpAddrRange -from openapi_server.models.ipv4_address_range import Ipv4AddressRange -from openapi_server.models.ipv4_address_range1 import Ipv4AddressRange1 -from openapi_server.models.ipv6_addr1 import Ipv6Addr1 -from openapi_server.models.ipv6_address_range import Ipv6AddressRange -from openapi_server.models.ipv6_address_range1 import Ipv6AddressRange1 -from openapi_server.models.local2d_point_uncertainty_ellipse import Local2dPointUncertaintyEllipse -from openapi_server.models.local3d_point_uncertainty_ellipsoid import Local3dPointUncertaintyEllipsoid -from openapi_server.models.local_origin import LocalOrigin -from openapi_server.models.operation import Operation -from openapi_server.models.point import Point -from openapi_server.models.point_altitude import PointAltitude -from openapi_server.models.point_altitude_uncertainty import PointAltitudeUncertainty -from openapi_server.models.point_uncertainty_circle import PointUncertaintyCircle -from openapi_server.models.point_uncertainty_ellipse import PointUncertaintyEllipse -from openapi_server.models.polygon import Polygon -from openapi_server.models.problem_details import ProblemDetails -from openapi_server.models.protocol import Protocol -from openapi_server.models.relative_cartesian_location import RelativeCartesianLocation -from openapi_server.models.resource import Resource -from openapi_server.models.routing_info import RoutingInfo -from openapi_server.models.routing_rule import RoutingRule -from openapi_server.models.security_method import SecurityMethod -from openapi_server.models.service_kpis import ServiceKpis -from openapi_server.models.supported_gad_shapes import SupportedGADShapes -from openapi_server.models.uncertainty_ellipse import UncertaintyEllipse -from openapi_server.models.uncertainty_ellipsoid import UncertaintyEllipsoid -from openapi_server.models.version import Version +from capif_routing_info.models.aef_location import AefLocation +from capif_routing_info.models.aef_profile import AefProfile +from capif_routing_info.models.civic_address import CivicAddress +from capif_routing_info.models.communication_type import CommunicationType +from capif_routing_info.models.custom_operation import CustomOperation +from capif_routing_info.models.data_format import DataFormat +from capif_routing_info.models.ellipsoid_arc import EllipsoidArc +from capif_routing_info.models.gad_shape import GADShape +from capif_routing_info.models.geographic_area import GeographicArea +from capif_routing_info.models.geographical_coordinates import GeographicalCoordinates +from capif_routing_info.models.interface_description import InterfaceDescription +from capif_routing_info.models.invalid_param import InvalidParam +from capif_routing_info.models.ip_addr_range import IpAddrRange +from capif_routing_info.models.ipv4_address_range import Ipv4AddressRange +from capif_routing_info.models.ipv4_address_range1 import Ipv4AddressRange1 +from capif_routing_info.models.ipv6_addr1 import Ipv6Addr1 +from capif_routing_info.models.ipv6_address_range import Ipv6AddressRange +from capif_routing_info.models.ipv6_address_range1 import Ipv6AddressRange1 +from capif_routing_info.models.local2d_point_uncertainty_ellipse import Local2dPointUncertaintyEllipse +from capif_routing_info.models.local3d_point_uncertainty_ellipsoid import Local3dPointUncertaintyEllipsoid +from capif_routing_info.models.local_origin import LocalOrigin +from capif_routing_info.models.operation import Operation +from capif_routing_info.models.point import Point +from capif_routing_info.models.point_altitude import PointAltitude +from capif_routing_info.models.point_altitude_uncertainty import PointAltitudeUncertainty +from capif_routing_info.models.point_uncertainty_circle import PointUncertaintyCircle +from capif_routing_info.models.point_uncertainty_ellipse import PointUncertaintyEllipse +from capif_routing_info.models.polygon import Polygon +from capif_routing_info.models.problem_details import ProblemDetails +from capif_routing_info.models.protocol import Protocol +from capif_routing_info.models.relative_cartesian_location import RelativeCartesianLocation +from capif_routing_info.models.resource import Resource +from capif_routing_info.models.routing_info import RoutingInfo +from capif_routing_info.models.routing_rule import RoutingRule +from capif_routing_info.models.security_method import SecurityMethod +from capif_routing_info.models.service_kpis import ServiceKpis +from capif_routing_info.models.supported_gad_shapes import SupportedGADShapes +from capif_routing_info.models.uncertainty_ellipse import UncertaintyEllipse +from capif_routing_info.models.uncertainty_ellipsoid import UncertaintyEllipsoid +from capif_routing_info.models.version import Version diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/aef_location.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/aef_location.py index 7e4da31..e60b523 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/aef_location.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/aef_location.py @@ -2,13 +2,13 @@ from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from openapi_server.models.base_model import Model -from openapi_server.models.civic_address import CivicAddress -from openapi_server.models.geographic_area import GeographicArea -from openapi_server import util +from capif_routing_info.models.base_model import Model +from capif_routing_info.models.civic_address import CivicAddress +from capif_routing_info.models.geographic_area import GeographicArea +from capif_routing_info import util -from openapi_server.models.civic_address import CivicAddress # noqa: E501 -from openapi_server.models.geographic_area import GeographicArea # noqa: E501 +from capif_routing_info.models.civic_address import CivicAddress # noqa: E501 +from capif_routing_info.models.geographic_area import GeographicArea # noqa: E501 class AefLocation(Model): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/aef_profile.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/aef_profile.py index 7b9982b..b5dd194 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/aef_profile.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/aef_profile.py @@ -2,25 +2,25 @@ from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from openapi_server.models.base_model import Model -from openapi_server.models.aef_location import AefLocation -from openapi_server.models.data_format import DataFormat -from openapi_server.models.interface_description import InterfaceDescription -from openapi_server.models.ip_addr_range import IpAddrRange -from openapi_server.models.protocol import Protocol -from openapi_server.models.security_method import SecurityMethod -from openapi_server.models.service_kpis import ServiceKpis -from openapi_server.models.version import Version -from openapi_server import util - -from openapi_server.models.aef_location import AefLocation # noqa: E501 -from openapi_server.models.data_format import DataFormat # noqa: E501 -from openapi_server.models.interface_description import InterfaceDescription # noqa: E501 -from openapi_server.models.ip_addr_range import IpAddrRange # noqa: E501 -from openapi_server.models.protocol import Protocol # noqa: E501 -from openapi_server.models.security_method import SecurityMethod # noqa: E501 -from openapi_server.models.service_kpis import ServiceKpis # noqa: E501 -from openapi_server.models.version import Version # noqa: E501 +from capif_routing_info.models.base_model import Model +from capif_routing_info.models.aef_location import AefLocation +from capif_routing_info.models.data_format import DataFormat +from capif_routing_info.models.interface_description import InterfaceDescription +from capif_routing_info.models.ip_addr_range import IpAddrRange +from capif_routing_info.models.protocol import Protocol +from capif_routing_info.models.security_method import SecurityMethod +from capif_routing_info.models.service_kpis import ServiceKpis +from capif_routing_info.models.version import Version +from capif_routing_info import util + +from capif_routing_info.models.aef_location import AefLocation # noqa: E501 +from capif_routing_info.models.data_format import DataFormat # noqa: E501 +from capif_routing_info.models.interface_description import InterfaceDescription # noqa: E501 +from capif_routing_info.models.ip_addr_range import IpAddrRange # noqa: E501 +from capif_routing_info.models.protocol import Protocol # noqa: E501 +from capif_routing_info.models.security_method import SecurityMethod # noqa: E501 +from capif_routing_info.models.service_kpis import ServiceKpis # noqa: E501 +from capif_routing_info.models.version import Version # noqa: E501 class AefProfile(Model): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/base_model.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/base_model.py index c01b423..4849636 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/base_model.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/base_model.py @@ -2,7 +2,7 @@ import pprint import typing -from openapi_server import util +from capif_routing_info import util T = typing.TypeVar('T') diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/civic_address.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/civic_address.py index 5f0f6f3..fd306ef 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/civic_address.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/civic_address.py @@ -2,8 +2,8 @@ from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from openapi_server.models.base_model import Model -from openapi_server import util +from capif_routing_info.models.base_model import Model +from capif_routing_info import util class CivicAddress(Model): diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/communication_type.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/communication_type.py index 001efa0..c355c6d 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/communication_type.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/communication_type.py @@ -2,8 +2,8 @@ from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from openapi_server.models.base_model import Model -from openapi_server import util +from capif_routing_info.models.base_model import Model +from capif_routing_info import util class CommunicationType(Model): diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/custom_operation.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/custom_operation.py index f258fc7..0e0995b 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/custom_operation.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/custom_operation.py @@ -2,13 +2,13 @@ from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from openapi_server.models.base_model import Model -from openapi_server.models.communication_type import CommunicationType -from openapi_server.models.operation import Operation -from openapi_server import util +from capif_routing_info.models.base_model import Model +from capif_routing_info.models.communication_type import CommunicationType +from capif_routing_info.models.operation import Operation +from capif_routing_info import util -from openapi_server.models.communication_type import CommunicationType # noqa: E501 -from openapi_server.models.operation import Operation # noqa: E501 +from capif_routing_info.models.communication_type import CommunicationType # noqa: E501 +from capif_routing_info.models.operation import Operation # noqa: E501 class CustomOperation(Model): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/data_format.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/data_format.py index 701260c..83f31a2 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/data_format.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/data_format.py @@ -2,8 +2,8 @@ from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from openapi_server.models.base_model import Model -from openapi_server import util +from capif_routing_info.models.base_model import Model +from capif_routing_info import util class DataFormat(Model): diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/ellipsoid_arc.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/ellipsoid_arc.py index ec6f120..345698c 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/ellipsoid_arc.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/ellipsoid_arc.py @@ -2,15 +2,15 @@ from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from openapi_server.models.base_model import Model -from openapi_server.models.gad_shape import GADShape -from openapi_server.models.geographical_coordinates import GeographicalCoordinates -from openapi_server.models.supported_gad_shapes import SupportedGADShapes -from openapi_server import util - -from openapi_server.models.gad_shape import GADShape # noqa: E501 -from openapi_server.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 -from openapi_server.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 +from capif_routing_info.models.base_model import Model +from capif_routing_info.models.gad_shape import GADShape +from capif_routing_info.models.geographical_coordinates import GeographicalCoordinates +from capif_routing_info.models.supported_gad_shapes import SupportedGADShapes +from capif_routing_info import util + +from capif_routing_info.models.gad_shape import GADShape # noqa: E501 +from capif_routing_info.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 +from capif_routing_info.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 class EllipsoidArc(Model): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/gad_shape.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/gad_shape.py index 69ff529..d956d8d 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/gad_shape.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/gad_shape.py @@ -2,11 +2,11 @@ from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from openapi_server.models.base_model import Model -from openapi_server.models.supported_gad_shapes import SupportedGADShapes -from openapi_server import util +from capif_routing_info.models.base_model import Model +from capif_routing_info.models.supported_gad_shapes import SupportedGADShapes +from capif_routing_info import util -from openapi_server.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 +from capif_routing_info.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 class GADShape(Model): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/geographic_area.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/geographic_area.py index 2215abe..5c15982 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/geographic_area.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/geographic_area.py @@ -2,29 +2,29 @@ from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from openapi_server.models.base_model import Model -from openapi_server.models.ellipsoid_arc import EllipsoidArc -from openapi_server.models.geographical_coordinates import GeographicalCoordinates -from openapi_server.models.point import Point -from openapi_server.models.point_altitude import PointAltitude -from openapi_server.models.point_altitude_uncertainty import PointAltitudeUncertainty -from openapi_server.models.point_uncertainty_circle import PointUncertaintyCircle -from openapi_server.models.point_uncertainty_ellipse import PointUncertaintyEllipse -from openapi_server.models.polygon import Polygon -from openapi_server.models.supported_gad_shapes import SupportedGADShapes -from openapi_server.models.uncertainty_ellipse import UncertaintyEllipse -from openapi_server import util - -from openapi_server.models.ellipsoid_arc import EllipsoidArc # noqa: E501 -from openapi_server.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 -from openapi_server.models.point import Point # noqa: E501 -from openapi_server.models.point_altitude import PointAltitude # noqa: E501 -from openapi_server.models.point_altitude_uncertainty import PointAltitudeUncertainty # noqa: E501 -from openapi_server.models.point_uncertainty_circle import PointUncertaintyCircle # noqa: E501 -from openapi_server.models.point_uncertainty_ellipse import PointUncertaintyEllipse # noqa: E501 -from openapi_server.models.polygon import Polygon # noqa: E501 -from openapi_server.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 -from openapi_server.models.uncertainty_ellipse import UncertaintyEllipse # noqa: E501 +from capif_routing_info.models.base_model import Model +from capif_routing_info.models.ellipsoid_arc import EllipsoidArc +from capif_routing_info.models.geographical_coordinates import GeographicalCoordinates +from capif_routing_info.models.point import Point +from capif_routing_info.models.point_altitude import PointAltitude +from capif_routing_info.models.point_altitude_uncertainty import PointAltitudeUncertainty +from capif_routing_info.models.point_uncertainty_circle import PointUncertaintyCircle +from capif_routing_info.models.point_uncertainty_ellipse import PointUncertaintyEllipse +from capif_routing_info.models.polygon import Polygon +from capif_routing_info.models.supported_gad_shapes import SupportedGADShapes +from capif_routing_info.models.uncertainty_ellipse import UncertaintyEllipse +from capif_routing_info import util + +from capif_routing_info.models.ellipsoid_arc import EllipsoidArc # noqa: E501 +from capif_routing_info.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 +from capif_routing_info.models.point import Point # noqa: E501 +from capif_routing_info.models.point_altitude import PointAltitude # noqa: E501 +from capif_routing_info.models.point_altitude_uncertainty import PointAltitudeUncertainty # noqa: E501 +from capif_routing_info.models.point_uncertainty_circle import PointUncertaintyCircle # noqa: E501 +from capif_routing_info.models.point_uncertainty_ellipse import PointUncertaintyEllipse # noqa: E501 +from capif_routing_info.models.polygon import Polygon # noqa: E501 +from capif_routing_info.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 +from capif_routing_info.models.uncertainty_ellipse import UncertaintyEllipse # noqa: E501 class GeographicArea(Model): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/geographical_coordinates.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/geographical_coordinates.py index a25d0f8..8b0e51f 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/geographical_coordinates.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/geographical_coordinates.py @@ -2,8 +2,8 @@ from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from openapi_server.models.base_model import Model -from openapi_server import util +from capif_routing_info.models.base_model import Model +from capif_routing_info import util class GeographicalCoordinates(Model): diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/interface_description.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/interface_description.py index 332bdeb..00e9589 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/interface_description.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/interface_description.py @@ -2,12 +2,12 @@ from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from openapi_server.models.base_model import Model -from openapi_server.models.security_method import SecurityMethod +from capif_routing_info.models.base_model import Model +from capif_routing_info.models.security_method import SecurityMethod import re -from openapi_server import util +from capif_routing_info import util -from openapi_server.models.security_method import SecurityMethod # noqa: E501 +from capif_routing_info.models.security_method import SecurityMethod # noqa: E501 import re # noqa: E501 class InterfaceDescription(Model): diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/invalid_param.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/invalid_param.py index e8cb5be..e6d4ede 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/invalid_param.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/invalid_param.py @@ -2,8 +2,8 @@ from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from openapi_server.models.base_model import Model -from openapi_server import util +from capif_routing_info.models.base_model import Model +from capif_routing_info import util class InvalidParam(Model): diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/ip_addr_range.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/ip_addr_range.py index 1987a1b..d470760 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/ip_addr_range.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/ip_addr_range.py @@ -2,13 +2,13 @@ from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from openapi_server.models.base_model import Model -from openapi_server.models.ipv4_address_range1 import Ipv4AddressRange1 -from openapi_server.models.ipv6_address_range1 import Ipv6AddressRange1 -from openapi_server import util +from capif_routing_info.models.base_model import Model +from capif_routing_info.models.ipv4_address_range1 import Ipv4AddressRange1 +from capif_routing_info.models.ipv6_address_range1 import Ipv6AddressRange1 +from capif_routing_info import util -from openapi_server.models.ipv4_address_range1 import Ipv4AddressRange1 # noqa: E501 -from openapi_server.models.ipv6_address_range1 import Ipv6AddressRange1 # noqa: E501 +from capif_routing_info.models.ipv4_address_range1 import Ipv4AddressRange1 # noqa: E501 +from capif_routing_info.models.ipv6_address_range1 import Ipv6AddressRange1 # noqa: E501 class IpAddrRange(Model): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/ipv4_address_range.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/ipv4_address_range.py index 2dc2c8d..b50e0b2 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/ipv4_address_range.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/ipv4_address_range.py @@ -2,9 +2,9 @@ from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from openapi_server.models.base_model import Model +from capif_routing_info.models.base_model import Model import re -from openapi_server import util +from capif_routing_info import util import re # noqa: E501 diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/ipv4_address_range1.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/ipv4_address_range1.py index e72433d..39fa467 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/ipv4_address_range1.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/ipv4_address_range1.py @@ -2,9 +2,9 @@ from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from openapi_server.models.base_model import Model +from capif_routing_info.models.base_model import Model import re -from openapi_server import util +from capif_routing_info import util import re # noqa: E501 diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/ipv6_addr1.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/ipv6_addr1.py index 1845359..f4248ba 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/ipv6_addr1.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/ipv6_addr1.py @@ -2,8 +2,8 @@ from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from openapi_server.models.base_model import Model -from openapi_server import util +from capif_routing_info.models.base_model import Model +from capif_routing_info import util class Ipv6Addr1(Model): diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/ipv6_address_range.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/ipv6_address_range.py index f928f7c..aeaff9c 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/ipv6_address_range.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/ipv6_address_range.py @@ -2,8 +2,8 @@ from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from openapi_server.models.base_model import Model -from openapi_server import util +from capif_routing_info.models.base_model import Model +from capif_routing_info import util class Ipv6AddressRange(Model): diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/ipv6_address_range1.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/ipv6_address_range1.py index 552dab1..a1060d8 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/ipv6_address_range1.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/ipv6_address_range1.py @@ -2,11 +2,11 @@ from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from openapi_server.models.base_model import Model -from openapi_server.models.ipv6_addr1 import Ipv6Addr1 -from openapi_server import util +from capif_routing_info.models.base_model import Model +from capif_routing_info.models.ipv6_addr1 import Ipv6Addr1 +from capif_routing_info import util -from openapi_server.models.ipv6_addr1 import Ipv6Addr1 # noqa: E501 +from capif_routing_info.models.ipv6_addr1 import Ipv6Addr1 # noqa: E501 class Ipv6AddressRange1(Model): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/local2d_point_uncertainty_ellipse.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/local2d_point_uncertainty_ellipse.py index 5a50d8a..c9b258b 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/local2d_point_uncertainty_ellipse.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/local2d_point_uncertainty_ellipse.py @@ -2,19 +2,19 @@ from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from openapi_server.models.base_model import Model -from openapi_server.models.gad_shape import GADShape -from openapi_server.models.local_origin import LocalOrigin -from openapi_server.models.relative_cartesian_location import RelativeCartesianLocation -from openapi_server.models.supported_gad_shapes import SupportedGADShapes -from openapi_server.models.uncertainty_ellipse import UncertaintyEllipse -from openapi_server import util - -from openapi_server.models.gad_shape import GADShape # noqa: E501 -from openapi_server.models.local_origin import LocalOrigin # noqa: E501 -from openapi_server.models.relative_cartesian_location import RelativeCartesianLocation # noqa: E501 -from openapi_server.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 -from openapi_server.models.uncertainty_ellipse import UncertaintyEllipse # noqa: E501 +from capif_routing_info.models.base_model import Model +from capif_routing_info.models.gad_shape import GADShape +from capif_routing_info.models.local_origin import LocalOrigin +from capif_routing_info.models.relative_cartesian_location import RelativeCartesianLocation +from capif_routing_info.models.supported_gad_shapes import SupportedGADShapes +from capif_routing_info.models.uncertainty_ellipse import UncertaintyEllipse +from capif_routing_info import util + +from capif_routing_info.models.gad_shape import GADShape # noqa: E501 +from capif_routing_info.models.local_origin import LocalOrigin # noqa: E501 +from capif_routing_info.models.relative_cartesian_location import RelativeCartesianLocation # noqa: E501 +from capif_routing_info.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 +from capif_routing_info.models.uncertainty_ellipse import UncertaintyEllipse # noqa: E501 class Local2dPointUncertaintyEllipse(Model): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/local3d_point_uncertainty_ellipsoid.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/local3d_point_uncertainty_ellipsoid.py index 36e2e67..2539de2 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/local3d_point_uncertainty_ellipsoid.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/local3d_point_uncertainty_ellipsoid.py @@ -2,19 +2,19 @@ from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from openapi_server.models.base_model import Model -from openapi_server.models.gad_shape import GADShape -from openapi_server.models.local_origin import LocalOrigin -from openapi_server.models.relative_cartesian_location import RelativeCartesianLocation -from openapi_server.models.supported_gad_shapes import SupportedGADShapes -from openapi_server.models.uncertainty_ellipsoid import UncertaintyEllipsoid -from openapi_server import util - -from openapi_server.models.gad_shape import GADShape # noqa: E501 -from openapi_server.models.local_origin import LocalOrigin # noqa: E501 -from openapi_server.models.relative_cartesian_location import RelativeCartesianLocation # noqa: E501 -from openapi_server.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 -from openapi_server.models.uncertainty_ellipsoid import UncertaintyEllipsoid # noqa: E501 +from capif_routing_info.models.base_model import Model +from capif_routing_info.models.gad_shape import GADShape +from capif_routing_info.models.local_origin import LocalOrigin +from capif_routing_info.models.relative_cartesian_location import RelativeCartesianLocation +from capif_routing_info.models.supported_gad_shapes import SupportedGADShapes +from capif_routing_info.models.uncertainty_ellipsoid import UncertaintyEllipsoid +from capif_routing_info import util + +from capif_routing_info.models.gad_shape import GADShape # noqa: E501 +from capif_routing_info.models.local_origin import LocalOrigin # noqa: E501 +from capif_routing_info.models.relative_cartesian_location import RelativeCartesianLocation # noqa: E501 +from capif_routing_info.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 +from capif_routing_info.models.uncertainty_ellipsoid import UncertaintyEllipsoid # noqa: E501 class Local3dPointUncertaintyEllipsoid(Model): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/local_origin.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/local_origin.py index ff016ef..45fc982 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/local_origin.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/local_origin.py @@ -2,11 +2,11 @@ from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from openapi_server.models.base_model import Model -from openapi_server.models.geographical_coordinates import GeographicalCoordinates -from openapi_server import util +from capif_routing_info.models.base_model import Model +from capif_routing_info.models.geographical_coordinates import GeographicalCoordinates +from capif_routing_info import util -from openapi_server.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 +from capif_routing_info.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 class LocalOrigin(Model): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/operation.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/operation.py index 5f3a3b7..856dc77 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/operation.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/operation.py @@ -2,8 +2,8 @@ from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from openapi_server.models.base_model import Model -from openapi_server import util +from capif_routing_info.models.base_model import Model +from capif_routing_info import util class Operation(Model): diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/point.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/point.py index e9db65b..88b0a92 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/point.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/point.py @@ -2,15 +2,15 @@ from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from openapi_server.models.base_model import Model -from openapi_server.models.gad_shape import GADShape -from openapi_server.models.geographical_coordinates import GeographicalCoordinates -from openapi_server.models.supported_gad_shapes import SupportedGADShapes -from openapi_server import util - -from openapi_server.models.gad_shape import GADShape # noqa: E501 -from openapi_server.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 -from openapi_server.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 +from capif_routing_info.models.base_model import Model +from capif_routing_info.models.gad_shape import GADShape +from capif_routing_info.models.geographical_coordinates import GeographicalCoordinates +from capif_routing_info.models.supported_gad_shapes import SupportedGADShapes +from capif_routing_info import util + +from capif_routing_info.models.gad_shape import GADShape # noqa: E501 +from capif_routing_info.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 +from capif_routing_info.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 class Point(Model): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/point_altitude.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/point_altitude.py index 9aa7cfc..ff5cab9 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/point_altitude.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/point_altitude.py @@ -2,15 +2,15 @@ from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from openapi_server.models.base_model import Model -from openapi_server.models.gad_shape import GADShape -from openapi_server.models.geographical_coordinates import GeographicalCoordinates -from openapi_server.models.supported_gad_shapes import SupportedGADShapes -from openapi_server import util - -from openapi_server.models.gad_shape import GADShape # noqa: E501 -from openapi_server.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 -from openapi_server.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 +from capif_routing_info.models.base_model import Model +from capif_routing_info.models.gad_shape import GADShape +from capif_routing_info.models.geographical_coordinates import GeographicalCoordinates +from capif_routing_info.models.supported_gad_shapes import SupportedGADShapes +from capif_routing_info import util + +from capif_routing_info.models.gad_shape import GADShape # noqa: E501 +from capif_routing_info.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 +from capif_routing_info.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 class PointAltitude(Model): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/point_altitude_uncertainty.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/point_altitude_uncertainty.py index b1aee47..fdcea5e 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/point_altitude_uncertainty.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/point_altitude_uncertainty.py @@ -2,17 +2,17 @@ from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from openapi_server.models.base_model import Model -from openapi_server.models.gad_shape import GADShape -from openapi_server.models.geographical_coordinates import GeographicalCoordinates -from openapi_server.models.supported_gad_shapes import SupportedGADShapes -from openapi_server.models.uncertainty_ellipse import UncertaintyEllipse -from openapi_server import util - -from openapi_server.models.gad_shape import GADShape # noqa: E501 -from openapi_server.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 -from openapi_server.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 -from openapi_server.models.uncertainty_ellipse import UncertaintyEllipse # noqa: E501 +from capif_routing_info.models.base_model import Model +from capif_routing_info.models.gad_shape import GADShape +from capif_routing_info.models.geographical_coordinates import GeographicalCoordinates +from capif_routing_info.models.supported_gad_shapes import SupportedGADShapes +from capif_routing_info.models.uncertainty_ellipse import UncertaintyEllipse +from capif_routing_info import util + +from capif_routing_info.models.gad_shape import GADShape # noqa: E501 +from capif_routing_info.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 +from capif_routing_info.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 +from capif_routing_info.models.uncertainty_ellipse import UncertaintyEllipse # noqa: E501 class PointAltitudeUncertainty(Model): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/point_uncertainty_circle.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/point_uncertainty_circle.py index ad1bb02..80faac4 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/point_uncertainty_circle.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/point_uncertainty_circle.py @@ -2,15 +2,15 @@ from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from openapi_server.models.base_model import Model -from openapi_server.models.gad_shape import GADShape -from openapi_server.models.geographical_coordinates import GeographicalCoordinates -from openapi_server.models.supported_gad_shapes import SupportedGADShapes -from openapi_server import util - -from openapi_server.models.gad_shape import GADShape # noqa: E501 -from openapi_server.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 -from openapi_server.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 +from capif_routing_info.models.base_model import Model +from capif_routing_info.models.gad_shape import GADShape +from capif_routing_info.models.geographical_coordinates import GeographicalCoordinates +from capif_routing_info.models.supported_gad_shapes import SupportedGADShapes +from capif_routing_info import util + +from capif_routing_info.models.gad_shape import GADShape # noqa: E501 +from capif_routing_info.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 +from capif_routing_info.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 class PointUncertaintyCircle(Model): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/point_uncertainty_ellipse.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/point_uncertainty_ellipse.py index ae5ce92..03c55bf 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/point_uncertainty_ellipse.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/point_uncertainty_ellipse.py @@ -2,17 +2,17 @@ from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from openapi_server.models.base_model import Model -from openapi_server.models.gad_shape import GADShape -from openapi_server.models.geographical_coordinates import GeographicalCoordinates -from openapi_server.models.supported_gad_shapes import SupportedGADShapes -from openapi_server.models.uncertainty_ellipse import UncertaintyEllipse -from openapi_server import util - -from openapi_server.models.gad_shape import GADShape # noqa: E501 -from openapi_server.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 -from openapi_server.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 -from openapi_server.models.uncertainty_ellipse import UncertaintyEllipse # noqa: E501 +from capif_routing_info.models.base_model import Model +from capif_routing_info.models.gad_shape import GADShape +from capif_routing_info.models.geographical_coordinates import GeographicalCoordinates +from capif_routing_info.models.supported_gad_shapes import SupportedGADShapes +from capif_routing_info.models.uncertainty_ellipse import UncertaintyEllipse +from capif_routing_info import util + +from capif_routing_info.models.gad_shape import GADShape # noqa: E501 +from capif_routing_info.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 +from capif_routing_info.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 +from capif_routing_info.models.uncertainty_ellipse import UncertaintyEllipse # noqa: E501 class PointUncertaintyEllipse(Model): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/polygon.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/polygon.py index 9dfe4c2..3af36a1 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/polygon.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/polygon.py @@ -2,15 +2,15 @@ from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from openapi_server.models.base_model import Model -from openapi_server.models.gad_shape import GADShape -from openapi_server.models.geographical_coordinates import GeographicalCoordinates -from openapi_server.models.supported_gad_shapes import SupportedGADShapes -from openapi_server import util - -from openapi_server.models.gad_shape import GADShape # noqa: E501 -from openapi_server.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 -from openapi_server.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 +from capif_routing_info.models.base_model import Model +from capif_routing_info.models.gad_shape import GADShape +from capif_routing_info.models.geographical_coordinates import GeographicalCoordinates +from capif_routing_info.models.supported_gad_shapes import SupportedGADShapes +from capif_routing_info import util + +from capif_routing_info.models.gad_shape import GADShape # noqa: E501 +from capif_routing_info.models.geographical_coordinates import GeographicalCoordinates # noqa: E501 +from capif_routing_info.models.supported_gad_shapes import SupportedGADShapes # noqa: E501 class Polygon(Model): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/problem_details.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/problem_details.py index 9c42429..3fc488d 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/problem_details.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/problem_details.py @@ -2,12 +2,12 @@ from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from openapi_server.models.base_model import Model -from openapi_server.models.invalid_param import InvalidParam +from capif_routing_info.models.base_model import Model +from capif_routing_info.models.invalid_param import InvalidParam import re -from openapi_server import util +from capif_routing_info import util -from openapi_server.models.invalid_param import InvalidParam # noqa: E501 +from capif_routing_info.models.invalid_param import InvalidParam # noqa: E501 import re # noqa: E501 class ProblemDetails(Model): diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/protocol.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/protocol.py index b705e01..fe4b2bf 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/protocol.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/protocol.py @@ -2,8 +2,8 @@ from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from openapi_server.models.base_model import Model -from openapi_server import util +from capif_routing_info.models.base_model import Model +from capif_routing_info import util class Protocol(Model): diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/relative_cartesian_location.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/relative_cartesian_location.py index aff0020..592f4bc 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/relative_cartesian_location.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/relative_cartesian_location.py @@ -2,8 +2,8 @@ from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from openapi_server.models.base_model import Model -from openapi_server import util +from capif_routing_info.models.base_model import Model +from capif_routing_info import util class RelativeCartesianLocation(Model): diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/resource.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/resource.py index 696f10a..c654087 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/resource.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/resource.py @@ -2,15 +2,15 @@ from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from openapi_server.models.base_model import Model -from openapi_server.models.communication_type import CommunicationType -from openapi_server.models.custom_operation import CustomOperation -from openapi_server.models.operation import Operation -from openapi_server import util - -from openapi_server.models.communication_type import CommunicationType # noqa: E501 -from openapi_server.models.custom_operation import CustomOperation # noqa: E501 -from openapi_server.models.operation import Operation # noqa: E501 +from capif_routing_info.models.base_model import Model +from capif_routing_info.models.communication_type import CommunicationType +from capif_routing_info.models.custom_operation import CustomOperation +from capif_routing_info.models.operation import Operation +from capif_routing_info import util + +from capif_routing_info.models.communication_type import CommunicationType # noqa: E501 +from capif_routing_info.models.custom_operation import CustomOperation # noqa: E501 +from capif_routing_info.models.operation import Operation # noqa: E501 class Resource(Model): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/routing_info.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/routing_info.py index 839c876..8d08604 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/routing_info.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/routing_info.py @@ -2,11 +2,11 @@ from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from openapi_server.models.base_model import Model -from openapi_server.models.routing_rule import RoutingRule -from openapi_server import util +from capif_routing_info.models.base_model import Model +from capif_routing_info.models.routing_rule import RoutingRule +from capif_routing_info import util -from openapi_server.models.routing_rule import RoutingRule # noqa: E501 +from capif_routing_info.models.routing_rule import RoutingRule # noqa: E501 class RoutingInfo(Model): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/routing_rule.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/routing_rule.py index 96573ff..88cb2c7 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/routing_rule.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/routing_rule.py @@ -2,15 +2,15 @@ from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from openapi_server.models.base_model import Model -from openapi_server.models.aef_profile import AefProfile -from openapi_server.models.ipv4_address_range import Ipv4AddressRange -from openapi_server.models.ipv6_address_range import Ipv6AddressRange -from openapi_server import util - -from openapi_server.models.aef_profile import AefProfile # noqa: E501 -from openapi_server.models.ipv4_address_range import Ipv4AddressRange # noqa: E501 -from openapi_server.models.ipv6_address_range import Ipv6AddressRange # noqa: E501 +from capif_routing_info.models.base_model import Model +from capif_routing_info.models.aef_profile import AefProfile +from capif_routing_info.models.ipv4_address_range import Ipv4AddressRange +from capif_routing_info.models.ipv6_address_range import Ipv6AddressRange +from capif_routing_info import util + +from capif_routing_info.models.aef_profile import AefProfile # noqa: E501 +from capif_routing_info.models.ipv4_address_range import Ipv4AddressRange # noqa: E501 +from capif_routing_info.models.ipv6_address_range import Ipv6AddressRange # noqa: E501 class RoutingRule(Model): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/security_method.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/security_method.py index 2bf3a59..0ef293d 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/security_method.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/security_method.py @@ -2,8 +2,8 @@ from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from openapi_server.models.base_model import Model -from openapi_server import util +from capif_routing_info.models.base_model import Model +from capif_routing_info import util class SecurityMethod(Model): diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/service_kpis.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/service_kpis.py index 3a55160..4c07b02 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/service_kpis.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/service_kpis.py @@ -2,9 +2,9 @@ from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from openapi_server.models.base_model import Model +from capif_routing_info.models.base_model import Model import re -from openapi_server import util +from capif_routing_info import util import re # noqa: E501 diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/supported_gad_shapes.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/supported_gad_shapes.py index 971a04c..e238c97 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/supported_gad_shapes.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/supported_gad_shapes.py @@ -2,8 +2,8 @@ from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from openapi_server.models.base_model import Model -from openapi_server import util +from capif_routing_info.models.base_model import Model +from capif_routing_info import util class SupportedGADShapes(Model): diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/uncertainty_ellipse.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/uncertainty_ellipse.py index ae5d031..27a6acd 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/uncertainty_ellipse.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/uncertainty_ellipse.py @@ -2,8 +2,8 @@ from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from openapi_server.models.base_model import Model -from openapi_server import util +from capif_routing_info.models.base_model import Model +from capif_routing_info import util class UncertaintyEllipse(Model): diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/uncertainty_ellipsoid.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/uncertainty_ellipsoid.py index ac84487..45538ba 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/uncertainty_ellipsoid.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/uncertainty_ellipsoid.py @@ -2,8 +2,8 @@ from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from openapi_server.models.base_model import Model -from openapi_server import util +from capif_routing_info.models.base_model import Model +from capif_routing_info import util class UncertaintyEllipsoid(Model): diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/version.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/version.py index eb18ce3..1be123d 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/version.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/version.py @@ -2,13 +2,13 @@ from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from openapi_server.models.base_model import Model -from openapi_server.models.custom_operation import CustomOperation -from openapi_server.models.resource import Resource -from openapi_server import util +from capif_routing_info.models.base_model import Model +from capif_routing_info.models.custom_operation import CustomOperation +from capif_routing_info.models.resource import Resource +from capif_routing_info import util -from openapi_server.models.custom_operation import CustomOperation # noqa: E501 -from openapi_server.models.resource import Resource # noqa: E501 +from capif_routing_info.models.custom_operation import CustomOperation # noqa: E501 +from capif_routing_info.models.resource import Resource # noqa: E501 class Version(Model): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/test/__init__.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/test/__init__.py index 364aba9..e95f59c 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/test/__init__.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/test/__init__.py @@ -3,7 +3,7 @@ import logging import connexion from flask_testing import TestCase -from openapi_server.encoder import JSONEncoder +from capif_routing_info.encoder import JSONEncoder class BaseTestCase(TestCase): diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/test/test_default_controller.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/test/test_default_controller.py index 74e2fbb..7241b49 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/test/test_default_controller.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/test/test_default_controller.py @@ -2,9 +2,9 @@ import unittest from flask import json -from openapi_server.models.problem_details import ProblemDetails # noqa: E501 -from openapi_server.models.routing_info import RoutingInfo # noqa: E501 -from openapi_server.test import BaseTestCase +from capif_routing_info.models.problem_details import ProblemDetails # noqa: E501 +from capif_routing_info.models.routing_info import RoutingInfo # noqa: E501 +from capif_routing_info.test import BaseTestCase class TestDefaultController(BaseTestCase): diff --git a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/util.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/util.py index bd83c5b..6f369d5 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/util.py +++ b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/util.py @@ -1,7 +1,7 @@ import datetime import typing -from openapi_server import typing_utils +from capif_routing_info import typing_utils def _deserialize(data, klass): diff --git a/services/TS29222_CAPIF_Security_API/.openapi-generator/FILES b/services/TS29222_CAPIF_Security_API/.openapi-generator/FILES index 80c09cf..1fd34c2 100644 --- a/services/TS29222_CAPIF_Security_API/.openapi-generator/FILES +++ b/services/TS29222_CAPIF_Security_API/.openapi-generator/FILES @@ -1,35 +1,49 @@ .dockerignore .gitignore +.openapi-generator-ignore .travis.yml Dockerfile README.md +git_push.sh capif_security/__init__.py capif_security/__main__.py capif_security/controllers/__init__.py capif_security/controllers/default_controller.py -capif_security/controllers/security_controller_.py +capif_security/controllers/security_controller.py capif_security/encoder.py capif_security/models/__init__.py capif_security/models/access_token_claims.py capif_security/models/access_token_err.py +capif_security/models/access_token_err1.py +capif_security/models/access_token_req1.py capif_security/models/access_token_rsp.py -capif_security/models/base_model_.py +capif_security/models/base_model.py capif_security/models/cause.py -capif_security/models/cause_any_of.py capif_security/models/interface_description.py capif_security/models/invalid_param.py +capif_security/models/invalid_param1.py +capif_security/models/nf_type.py +capif_security/models/no_profile_match_info.py +capif_security/models/no_profile_match_reason.py +capif_security/models/o_auth_grant_type.py +capif_security/models/plmn_id.py +capif_security/models/plmn_id_nid.py capif_security/models/problem_details.py +capif_security/models/problem_details1.py +capif_security/models/query_param_combination.py +capif_security/models/query_parameter.py +capif_security/models/res_owner_id.py capif_security/models/security_information.py capif_security/models/security_method.py -capif_security/models/security_method_any_of.py capif_security/models/security_notification.py capif_security/models/service_security.py +capif_security/models/snssai.py capif_security/models/websock_notif_config.py capif_security/openapi/openapi.yaml capif_security/test/__init__.py +capif_security/test/test_default_controller.py capif_security/typing_utils.py capif_security/util.py -git_push.sh requirements.txt setup.py test-requirements.txt diff --git a/services/TS29222_CAPIF_Security_API/.openapi-generator/VERSION b/services/TS29222_CAPIF_Security_API/.openapi-generator/VERSION index 4b448de..18bb418 100644 --- a/services/TS29222_CAPIF_Security_API/.openapi-generator/VERSION +++ b/services/TS29222_CAPIF_Security_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_Security_API/README.md b/services/TS29222_CAPIF_Security_API/README.md index 66df109..6534bce 100644 --- a/services/TS29222_CAPIF_Security_API/README.md +++ b/services/TS29222_CAPIF_Security_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 capif_security +python3 -m openapi_server ``` and open your browser to here: diff --git a/services/TS29222_CAPIF_Security_API/capif_security/__main__.py b/services/TS29222_CAPIF_Security_API/capif_security/__main__.py deleted file mode 100644 index fe1e26f..0000000 --- a/services/TS29222_CAPIF_Security_API/capif_security/__main__.py +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/env python3 - -import connexion - -from capif_security import encoder - - -def main(): - app = connexion.App(__name__, specification_dir='./openapi/') - app.app.json_encoder = encoder.JSONEncoder - app.add_api('openapi.yaml', - arguments={'title': 'CAPIF_Security_API'}, - pythonic_params=True) - - app.run(port=8080) - - -if __name__ == '__main__': - main() diff --git a/services/TS29222_CAPIF_Security_API/capif_security/controllers/default_controller.py b/services/TS29222_CAPIF_Security_API/capif_security/controllers/default_controller.py index 7e04d4d..ee8182d 100644 --- a/services/TS29222_CAPIF_Security_API/capif_security/controllers/default_controller.py +++ b/services/TS29222_CAPIF_Security_API/capif_security/controllers/default_controller.py @@ -1,20 +1,26 @@ import connexion - -from ..models.access_token_req import AccessTokenReq # noqa: E501 -from ..models.security_notification import SecurityNotification # noqa: E501 -from ..models.service_security import ServiceSecurity # noqa: E501 - -from ..core.servicesecurity import SecurityOperations - -from ..core.publisher import Publisher - -from flask import Response, request, current_app +from typing import Dict +from typing import Tuple +from typing import Union + +from capif_security.models.access_token_err import AccessTokenErr # noqa: E501 +from capif_security.models.access_token_rsp import AccessTokenRsp # noqa: E501 +from capif_security.models.problem_details import ProblemDetails # noqa: E501 +from capif_security.models.res_owner_id import ResOwnerId # noqa: E501 +from capif_security.models.security_notification import SecurityNotification # noqa: E501 +from capif_security.models.service_security import ServiceSecurity # noqa: E501 +from capif_security import util from cryptography import x509 from cryptography.hazmat.backends import default_backend from ..core.validate_user import ControlAccess from functools import wraps +from ..core.publisher import Publisher + +from ..core.servicesecurity import SecurityOperations + +from flask import Response, request, current_app service_security_ops = SecurityOperations() publish_ops = Publisher() @@ -58,21 +64,37 @@ def securities_security_id_token_post(security_id, body): # noqa: E501 :param security_id: Identifier of an individual API invoker :type security_id: str - :param grant_type: + :param grant_type: :type grant_type: str - :param client_id: + :param client_id: :type client_id: str - :param client_secret: + :param res_owner_id: + :type res_owner_id: dict | bytes + :param client_secret: :type client_secret: str - :param scope: + :param scope: :type scope: str + :param auth_code: + :type auth_code: str + :param redirect_uri: + :type redirect_uri: str - :rtype: AccessTokenRsp + :rtype: Union[AccessTokenRsp, Tuple[AccessTokenRsp, int], Tuple[AccessTokenRsp, int, Dict[str, str]] """ - - current_app.logger.info("Creating security token") if connexion.request.is_json: - body = AccessTokenReq.from_dict(connexion.request.get_json()) # noqa: E501 + res_owner_id = ResOwnerId.from_dict(connexion.request.get_json()) # noqa: E501 + + # body={"security_id": security_id, + # "grant_type": grant_type, + # "client_id": client_id, + # "res_owner_id": res_owner_id, + # "client_secret": client_secret, + # "scope": scope, + # "auth_code": auth_code, + # "redirect_uri": redirect_uri + # } + current_app.logger.debug(body) + res = service_security_ops.return_token(security_id, body) @@ -87,7 +109,7 @@ def trusted_invokers_api_invoker_id_delete(api_invoker_id): # noqa: E501 :param api_invoker_id: Identifier of an individual API invoker :type api_invoker_id: str - :rtype: None + :rtype: Union[None, Tuple[None, int], Tuple[None, int, Dict[str, str]] """ current_app.logger.info("Removing security context") return service_security_ops.delete_servicesecurity(api_invoker_id) @@ -103,9 +125,8 @@ def trusted_invokers_api_invoker_id_delete_post(api_invoker_id, body): # noqa: :param security_notification: Revoke the authorization of the API invoker for APIs. :type security_notification: dict | bytes - :rtype: None + :rtype: Union[None, Tuple[None, int], Tuple[None, int, Dict[str, str]] """ - if connexion.request.is_json: body = SecurityNotification.from_dict(connexion.request.get_json()) # noqa: E501 @@ -115,21 +136,20 @@ def trusted_invokers_api_invoker_id_delete_post(api_invoker_id, body): # noqa: return res @cert_validation() -def trusted_invokers_api_invoker_id_get(api_invoker_id, authentication_info=False, authorization_info=False): # noqa: E501 +def trusted_invokers_api_invoker_id_get(api_invoker_id, authentication_info=None, authorization_info=None): # noqa: E501 """trusted_invokers_api_invoker_id_get # noqa: E501 :param api_invoker_id: Identifier of an individual API invoker :type api_invoker_id: str - :param authentication_info: When set to 'true', it indicates the CAPIF core function to send the authentication information of the API invoker. Set to false or omitted otherwise. + :param authentication_info: When set to 'true', it indicates the CAPIF core function to send the authentication information of the API invoker. Set to false or omitted otherwise. :type authentication_info: bool - :param authorization_info: When set to 'true', it indicates the CAPIF core function to send the authorization information of the API invoker. Set to false or omitted otherwise. + :param authorization_info: When set to 'true', it indicates the CAPIF core function to send the authorization information of the API invoker. Set to false or omitted otherwise. :type authorization_info: bool :rtype: Union[ServiceSecurity, Tuple[ServiceSecurity, int], Tuple[ServiceSecurity, int, Dict[str, str]] """ - current_app.logger.info("Obtaining security context") res = service_security_ops.get_servicesecurity(api_invoker_id, authentication_info, authorization_info) @@ -172,7 +192,7 @@ def trusted_invokers_api_invoker_id_update_post(api_invoker_id, body): # noqa: :param service_security: Update the security context (e.g. re-negotiate the security methods). :type service_security: dict | bytes - :rtype: ServiceSecurity + :rtype: Union[ServiceSecurity, Tuple[ServiceSecurity, int], Tuple[ServiceSecurity, int, Dict[str, str]] """ current_app.logger.info("Updating security context") diff --git a/services/TS29222_CAPIF_Security_API/capif_security/controllers/security_controller_.py b/services/TS29222_CAPIF_Security_API/capif_security/controllers/security_controller_.py deleted file mode 100644 index 6d294ff..0000000 --- a/services/TS29222_CAPIF_Security_API/capif_security/controllers/security_controller_.py +++ /dev/null @@ -1,2 +0,0 @@ -from typing import List - diff --git a/services/TS29222_CAPIF_Security_API/capif_security/encoder.py b/services/TS29222_CAPIF_Security_API/capif_security/encoder.py index 80bad8f..b121630 100644 --- a/services/TS29222_CAPIF_Security_API/capif_security/encoder.py +++ b/services/TS29222_CAPIF_Security_API/capif_security/encoder.py @@ -1,7 +1,6 @@ from connexion.apps.flask_app import FlaskJSONEncoder -import six -from models.base_model_ import Model +from capif_security.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_Security_API/capif_security/models/__init__.py b/services/TS29222_CAPIF_Security_API/capif_security/models/__init__.py index b6f04f8..475e67a 100644 --- a/services/TS29222_CAPIF_Security_API/capif_security/models/__init__.py +++ b/services/TS29222_CAPIF_Security_API/capif_security/models/__init__.py @@ -1,7 +1,4 @@ -# coding: utf-8 - # flake8: noqa -from __future__ import absolute_import # import models into model package from capif_security.models.access_token_claims import AccessTokenClaims from capif_security.models.access_token_err import AccessTokenErr @@ -9,19 +6,22 @@ from capif_security.models.access_token_err1 import AccessTokenErr1 from capif_security.models.access_token_req1 import AccessTokenReq1 from capif_security.models.access_token_rsp import AccessTokenRsp from capif_security.models.cause import Cause -from capif_security.models.cause_any_of import CauseAnyOf from capif_security.models.interface_description import InterfaceDescription from capif_security.models.invalid_param import InvalidParam from capif_security.models.invalid_param1 import InvalidParam1 from capif_security.models.nf_type import NFType -from capif_security.models.nf_type_any_of import NFTypeAnyOf +from capif_security.models.no_profile_match_info import NoProfileMatchInfo +from capif_security.models.no_profile_match_reason import NoProfileMatchReason +from capif_security.models.o_auth_grant_type import OAuthGrantType from capif_security.models.plmn_id import PlmnId from capif_security.models.plmn_id_nid import PlmnIdNid from capif_security.models.problem_details import ProblemDetails from capif_security.models.problem_details1 import ProblemDetails1 +from capif_security.models.query_param_combination import QueryParamCombination +from capif_security.models.query_parameter import QueryParameter +from capif_security.models.res_owner_id import ResOwnerId from capif_security.models.security_information import SecurityInformation from capif_security.models.security_method import SecurityMethod -from capif_security.models.security_method_any_of import SecurityMethodAnyOf from capif_security.models.security_notification import SecurityNotification from capif_security.models.service_security import ServiceSecurity from capif_security.models.snssai import Snssai diff --git a/services/TS29222_CAPIF_Security_API/capif_security/models/access_token_claims.py b/services/TS29222_CAPIF_Security_API/capif_security/models/access_token_claims.py index fc19f93..46593ae 100644 --- a/services/TS29222_CAPIF_Security_API/capif_security/models/access_token_claims.py +++ b/services/TS29222_CAPIF_Security_API/capif_security/models/access_token_claims.py @@ -1,13 +1,12 @@ -# coding: utf-8 - -from __future__ import absolute_import from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 -from capif_security.models.base_model_ import Model +from capif_security.models.base_model import Model +from capif_security.models.res_owner_id import ResOwnerId from capif_security import util +from capif_security.models.res_owner_id import ResOwnerId # noqa: E501 class AccessTokenClaims(Model): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -15,7 +14,7 @@ class AccessTokenClaims(Model): Do not edit the class manually. """ - def __init__(self, iss=None, scope=None, exp=None): # noqa: E501 + def __init__(self, iss=None, scope=None, exp=None, res_owner_id=None): # noqa: E501 """AccessTokenClaims - a model defined in OpenAPI :param iss: The iss of this AccessTokenClaims. # noqa: E501 @@ -24,22 +23,27 @@ class AccessTokenClaims(Model): :type scope: str :param exp: The exp of this AccessTokenClaims. # noqa: E501 :type exp: int + :param res_owner_id: The res_owner_id of this AccessTokenClaims. # noqa: E501 + :type res_owner_id: ResOwnerId """ self.openapi_types = { 'iss': str, 'scope': str, - 'exp': int + 'exp': int, + 'res_owner_id': ResOwnerId } self.attribute_map = { 'iss': 'iss', 'scope': 'scope', - 'exp': 'exp' + 'exp': 'exp', + 'res_owner_id': 'resOwnerId' } self._iss = iss self._scope = scope self._exp = exp + self._res_owner_id = res_owner_id @classmethod def from_dict(cls, dikt) -> 'AccessTokenClaims': @@ -53,7 +57,7 @@ class AccessTokenClaims(Model): return util.deserialize_model(dikt, cls) @property - def iss(self): + def iss(self) -> str: """Gets the iss of this AccessTokenClaims. @@ -63,7 +67,7 @@ class AccessTokenClaims(Model): return self._iss @iss.setter - def iss(self, iss): + def iss(self, iss: str): """Sets the iss of this AccessTokenClaims. @@ -76,7 +80,7 @@ class AccessTokenClaims(Model): self._iss = iss @property - def scope(self): + def scope(self) -> str: """Gets the scope of this AccessTokenClaims. @@ -86,7 +90,7 @@ class AccessTokenClaims(Model): return self._scope @scope.setter - def scope(self, scope): + def scope(self, scope: str): """Sets the scope of this AccessTokenClaims. @@ -99,7 +103,7 @@ class AccessTokenClaims(Model): self._scope = scope @property - def exp(self): + def exp(self) -> int: """Gets the exp of this AccessTokenClaims. Unsigned integer identifying a period of time in units of seconds. # noqa: E501 @@ -110,7 +114,7 @@ class AccessTokenClaims(Model): return self._exp @exp.setter - def exp(self, exp): + def exp(self, exp: int): """Sets the exp of this AccessTokenClaims. Unsigned integer identifying a period of time in units of seconds. # noqa: E501 @@ -124,3 +128,24 @@ class AccessTokenClaims(Model): raise ValueError("Invalid value for `exp`, must be a value greater than or equal to `0`") # noqa: E501 self._exp = exp + + @property + def res_owner_id(self) -> ResOwnerId: + """Gets the res_owner_id of this AccessTokenClaims. + + + :return: The res_owner_id of this AccessTokenClaims. + :rtype: ResOwnerId + """ + return self._res_owner_id + + @res_owner_id.setter + def res_owner_id(self, res_owner_id: ResOwnerId): + """Sets the res_owner_id of this AccessTokenClaims. + + + :param res_owner_id: The res_owner_id of this AccessTokenClaims. + :type res_owner_id: ResOwnerId + """ + + self._res_owner_id = res_owner_id diff --git a/services/TS29222_CAPIF_Security_API/capif_security/models/access_token_err.py b/services/TS29222_CAPIF_Security_API/capif_security/models/access_token_err.py index 4423dcc..c600230 100644 --- a/services/TS29222_CAPIF_Security_API/capif_security/models/access_token_err.py +++ b/services/TS29222_CAPIF_Security_API/capif_security/models/access_token_err.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 capif_security.models.base_model_ import Model +from capif_security.models.base_model import Model from capif_security import util @@ -53,7 +50,7 @@ class AccessTokenErr(Model): return util.deserialize_model(dikt, cls) @property - def error(self): + def error(self) -> str: """Gets the error of this AccessTokenErr. @@ -63,7 +60,7 @@ class AccessTokenErr(Model): return self._error @error.setter - def error(self, error): + def error(self, error: str): """Sets the error of this AccessTokenErr. @@ -80,7 +77,7 @@ class AccessTokenErr(Model): self._error = error @property - def error_description(self): + def error_description(self) -> str: """Gets the error_description of this AccessTokenErr. @@ -90,7 +87,7 @@ class AccessTokenErr(Model): return self._error_description @error_description.setter - def error_description(self, error_description): + def error_description(self, error_description: str): """Sets the error_description of this AccessTokenErr. @@ -101,7 +98,7 @@ class AccessTokenErr(Model): self._error_description = error_description @property - def error_uri(self): + def error_uri(self) -> str: """Gets the error_uri of this AccessTokenErr. @@ -111,7 +108,7 @@ class AccessTokenErr(Model): return self._error_uri @error_uri.setter - def error_uri(self, error_uri): + def error_uri(self, error_uri: str): """Sets the error_uri of this AccessTokenErr. diff --git a/services/TS29222_CAPIF_Security_API/capif_security/models/access_token_err1.py b/services/TS29222_CAPIF_Security_API/capif_security/models/access_token_err1.py index 8d2253f..2300779 100644 --- a/services/TS29222_CAPIF_Security_API/capif_security/models/access_token_err1.py +++ b/services/TS29222_CAPIF_Security_API/capif_security/models/access_token_err1.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 capif_security.models.base_model_ import Model +from capif_security.models.base_model import Model from capif_security import util @@ -53,7 +50,7 @@ class AccessTokenErr1(Model): return util.deserialize_model(dikt, cls) @property - def error(self): + def error(self) -> str: """Gets the error of this AccessTokenErr1. @@ -63,7 +60,7 @@ class AccessTokenErr1(Model): return self._error @error.setter - def error(self, error): + def error(self, error: str): """Sets the error of this AccessTokenErr1. @@ -80,7 +77,7 @@ class AccessTokenErr1(Model): self._error = error @property - def error_description(self): + def error_description(self) -> str: """Gets the error_description of this AccessTokenErr1. @@ -90,7 +87,7 @@ class AccessTokenErr1(Model): return self._error_description @error_description.setter - def error_description(self, error_description): + def error_description(self, error_description: str): """Sets the error_description of this AccessTokenErr1. @@ -101,7 +98,7 @@ class AccessTokenErr1(Model): self._error_description = error_description @property - def error_uri(self): + def error_uri(self) -> str: """Gets the error_uri of this AccessTokenErr1. @@ -111,7 +108,7 @@ class AccessTokenErr1(Model): return self._error_uri @error_uri.setter - def error_uri(self, error_uri): + def error_uri(self, error_uri: str): """Sets the error_uri of this AccessTokenErr1. diff --git a/services/TS29222_CAPIF_Security_API/capif_security/models/access_token_req.py b/services/TS29222_CAPIF_Security_API/capif_security/models/access_token_req.py deleted file mode 100644 index 5a8ec22..0000000 --- a/services/TS29222_CAPIF_Security_API/capif_security/models/access_token_req.py +++ /dev/null @@ -1,151 +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 capif_security.models.base_model_ import Model -from capif_security.models.access_token_err import AccessTokenErr -from capif_security import util - - -class AccessTokenReq(Model): - """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - - Do not edit the class manually. - """ - - def __init__(self, grant_type=None, client_id=None, client_secret=None, scope=None): # noqa: E501 - """AccessTokenReq - a model defined in OpenAPI - - :param grant_type: The grant_type of this AccessTokenReq. # noqa: E501 - :type grant_type: str - :param client_id: The client_id of this AccessTokenReq. # noqa: E501 - :type client_id: str - :param client_secret: The client_secret of this AccessTokenReq. # noqa: E501 - :type client_secret: str - :param scope: The scope of this AccessTokenReq. # noqa: E501 - :type scope: str - """ - self.openapi_types = { - 'grant_type': str, - 'client_id': str, - 'client_secret': str, - 'scope': str - } - - self.attribute_map = { - 'grant_type': 'grant_type', - 'client_id': 'client_id', - 'client_secret': 'client_secret', - 'scope': 'scope' - } - - self._grant_type = grant_type - self._client_id = client_id - self._client_secret = client_secret - self._scope = scope - - @classmethod - def from_dict(cls, dikt) -> 'AccessTokenReq': - """Returns the dict as a model - - :param dikt: A dict. - :type: dict - :return: The AccessTokenReq of this AccessTokenReq. # noqa: E501 - :rtype: AccessTokenReq - """ - return util.deserialize_model(dikt, cls) - - @property - def grant_type(self): - """Gets the grant_type of this AccessTokenReq. - - - :return: The grant_type of this AccessTokenReq. - :rtype: str - """ - return self._grant_type - - @grant_type.setter - def grant_type(self, grant_type): - """Sets the grant_type of this AccessTokenReq. - - - :param grant_type: The grant_type of this AccessTokenReq. - :type grant_type: str - """ - allowed_values = ["client_credentials"] # noqa: E501 - if grant_type not in allowed_values: - raise ValueError( - "Invalid value for `grant_type` ({0}), must be one of {1}" - .format(grant_type, allowed_values) - ) - - self._grant_type = grant_type - - @property - def client_id(self): - """Gets the client_id of this AccessTokenReq. - - - :return: The client_id of this AccessTokenReq. - :rtype: str - """ - return self._client_id - - @client_id.setter - def client_id(self, client_id): - """Sets the client_id of this AccessTokenReq. - - - :param client_id: The client_id of this AccessTokenReq. - :type client_id: str - """ - if client_id is None: - raise ValueError("Invalid value for `client_id`, must not be `None`") # noqa: E501 - - self._client_id = client_id - - @property - def client_secret(self): - """Gets the client_secret of this AccessTokenReq. - - - :return: The client_secret of this AccessTokenReq. - :rtype: str - """ - return self._client_secret - - @client_secret.setter - def client_secret(self, client_secret): - """Sets the client_secret of this AccessTokenReq. - - - :param client_secret: The client_secret of this AccessTokenReq. - :type client_secret: str - """ - - self._client_secret = client_secret - - @property - def scope(self): - """Gets the scope of this AccessTokenReq. - - - :return: The scope of this AccessTokenReq. - :rtype: str - """ - return self._scope - - @scope.setter - def scope(self, scope): - """Sets the scope of this AccessTokenReq. - - - :param scope: The scope of this AccessTokenReq. - :type scope: str - """ - - self._scope = scope diff --git a/services/TS29222_CAPIF_Security_API/capif_security/models/access_token_req1.py b/services/TS29222_CAPIF_Security_API/capif_security/models/access_token_req1.py index b119e9c..47e4a30 100644 --- a/services/TS29222_CAPIF_Security_API/capif_security/models/access_token_req1.py +++ b/services/TS29222_CAPIF_Security_API/capif_security/models/access_token_req1.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 capif_security.models.base_model_ import Model +from capif_security.models.base_model import Model from capif_security.models.nf_type import NFType from capif_security.models.plmn_id import PlmnId from capif_security.models.plmn_id_nid import PlmnIdNid @@ -14,7 +11,6 @@ import re from capif_security import util from capif_security.models.nf_type import NFType # noqa: E501 -from capif_security.models.access_token_err import AccessTokenErr from capif_security.models.plmn_id import PlmnId # noqa: E501 from capif_security.models.plmn_id_nid import PlmnIdNid # noqa: E501 from capif_security.models.snssai import Snssai # noqa: E501 @@ -26,7 +22,7 @@ class AccessTokenReq1(Model): Do not edit the class manually. """ - def __init__(self, grant_type=None, nf_instance_id=None, nf_type=None, target_nf_type=None, scope=None, target_nf_instance_id=None, requester_plmn=None, requester_plmn_list=None, requester_snssai_list=None, requester_fqdn=None, requester_snpn_list=None, target_plmn=None, target_snssai_list=None, target_nsi_list=None, target_nf_set_id=None, target_nf_service_set_id=None, hnrf_access_token_uri=None, source_nf_instance_id=None): # noqa: E501 + def __init__(self, grant_type=None, nf_instance_id=None, nf_type=None, target_nf_type=None, scope=None, target_nf_instance_id=None, requester_plmn=None, requester_plmn_list=None, requester_snssai_list=None, requester_fqdn=None, requester_snpn_list=None, target_plmn=None, target_snpn=None, target_snssai_list=None, target_nsi_list=None, target_nf_set_id=None, target_nf_service_set_id=None, hnrf_access_token_uri=None, source_nf_instance_id=None): # noqa: E501 """AccessTokenReq1 - a model defined in OpenAPI :param grant_type: The grant_type of this AccessTokenReq1. # noqa: E501 @@ -53,6 +49,8 @@ class AccessTokenReq1(Model): :type requester_snpn_list: List[PlmnIdNid] :param target_plmn: The target_plmn of this AccessTokenReq1. # noqa: E501 :type target_plmn: PlmnId + :param target_snpn: The target_snpn of this AccessTokenReq1. # noqa: E501 + :type target_snpn: PlmnIdNid :param target_snssai_list: The target_snssai_list of this AccessTokenReq1. # noqa: E501 :type target_snssai_list: List[Snssai] :param target_nsi_list: The target_nsi_list of this AccessTokenReq1. # noqa: E501 @@ -79,6 +77,7 @@ class AccessTokenReq1(Model): 'requester_fqdn': str, 'requester_snpn_list': List[PlmnIdNid], 'target_plmn': PlmnId, + 'target_snpn': PlmnIdNid, 'target_snssai_list': List[Snssai], 'target_nsi_list': List[str], 'target_nf_set_id': str, @@ -100,6 +99,7 @@ class AccessTokenReq1(Model): 'requester_fqdn': 'requesterFqdn', 'requester_snpn_list': 'requesterSnpnList', 'target_plmn': 'targetPlmn', + 'target_snpn': 'targetSnpn', 'target_snssai_list': 'targetSnssaiList', 'target_nsi_list': 'targetNsiList', 'target_nf_set_id': 'targetNfSetId', @@ -120,6 +120,7 @@ class AccessTokenReq1(Model): self._requester_fqdn = requester_fqdn self._requester_snpn_list = requester_snpn_list self._target_plmn = target_plmn + self._target_snpn = target_snpn self._target_snssai_list = target_snssai_list self._target_nsi_list = target_nsi_list self._target_nf_set_id = target_nf_set_id @@ -139,7 +140,7 @@ class AccessTokenReq1(Model): return util.deserialize_model(dikt, cls) @property - def grant_type(self): + def grant_type(self) -> str: """Gets the grant_type of this AccessTokenReq1. @@ -149,7 +150,7 @@ class AccessTokenReq1(Model): return self._grant_type @grant_type.setter - def grant_type(self, grant_type): + def grant_type(self, grant_type: str): """Sets the grant_type of this AccessTokenReq1. @@ -166,7 +167,7 @@ class AccessTokenReq1(Model): self._grant_type = grant_type @property - def nf_instance_id(self): + def nf_instance_id(self) -> str: """Gets the nf_instance_id of this AccessTokenReq1. String uniquely identifying a NF instance. The format of the NF Instance ID shall be a Universally Unique Identifier (UUID) version 4, as described in IETF RFC 4122. # noqa: E501 @@ -177,7 +178,7 @@ class AccessTokenReq1(Model): return self._nf_instance_id @nf_instance_id.setter - def nf_instance_id(self, nf_instance_id): + def nf_instance_id(self, nf_instance_id: str): """Sets the nf_instance_id of this AccessTokenReq1. String uniquely identifying a NF instance. The format of the NF Instance ID shall be a Universally Unique Identifier (UUID) version 4, as described in IETF RFC 4122. # noqa: E501 @@ -191,7 +192,7 @@ class AccessTokenReq1(Model): self._nf_instance_id = nf_instance_id @property - def nf_type(self): + def nf_type(self) -> NFType: """Gets the nf_type of this AccessTokenReq1. @@ -201,7 +202,7 @@ class AccessTokenReq1(Model): return self._nf_type @nf_type.setter - def nf_type(self, nf_type): + def nf_type(self, nf_type: NFType): """Sets the nf_type of this AccessTokenReq1. @@ -212,7 +213,7 @@ class AccessTokenReq1(Model): self._nf_type = nf_type @property - def target_nf_type(self): + def target_nf_type(self) -> NFType: """Gets the target_nf_type of this AccessTokenReq1. @@ -222,7 +223,7 @@ class AccessTokenReq1(Model): return self._target_nf_type @target_nf_type.setter - def target_nf_type(self, target_nf_type): + def target_nf_type(self, target_nf_type: NFType): """Sets the target_nf_type of this AccessTokenReq1. @@ -233,7 +234,7 @@ class AccessTokenReq1(Model): self._target_nf_type = target_nf_type @property - def scope(self): + def scope(self) -> str: """Gets the scope of this AccessTokenReq1. @@ -243,7 +244,7 @@ class AccessTokenReq1(Model): return self._scope @scope.setter - def scope(self, scope): + def scope(self, scope: str): """Sets the scope of this AccessTokenReq1. @@ -258,7 +259,7 @@ class AccessTokenReq1(Model): self._scope = scope @property - def target_nf_instance_id(self): + def target_nf_instance_id(self) -> str: """Gets the target_nf_instance_id of this AccessTokenReq1. String uniquely identifying a NF instance. The format of the NF Instance ID shall be a Universally Unique Identifier (UUID) version 4, as described in IETF RFC 4122. # noqa: E501 @@ -269,7 +270,7 @@ class AccessTokenReq1(Model): return self._target_nf_instance_id @target_nf_instance_id.setter - def target_nf_instance_id(self, target_nf_instance_id): + def target_nf_instance_id(self, target_nf_instance_id: str): """Sets the target_nf_instance_id of this AccessTokenReq1. String uniquely identifying a NF instance. The format of the NF Instance ID shall be a Universally Unique Identifier (UUID) version 4, as described in IETF RFC 4122. # noqa: E501 @@ -281,7 +282,7 @@ class AccessTokenReq1(Model): self._target_nf_instance_id = target_nf_instance_id @property - def requester_plmn(self): + def requester_plmn(self) -> PlmnId: """Gets the requester_plmn of this AccessTokenReq1. @@ -291,7 +292,7 @@ class AccessTokenReq1(Model): return self._requester_plmn @requester_plmn.setter - def requester_plmn(self, requester_plmn): + def requester_plmn(self, requester_plmn: PlmnId): """Sets the requester_plmn of this AccessTokenReq1. @@ -302,7 +303,7 @@ class AccessTokenReq1(Model): self._requester_plmn = requester_plmn @property - def requester_plmn_list(self): + def requester_plmn_list(self) -> List[PlmnId]: """Gets the requester_plmn_list of this AccessTokenReq1. @@ -312,7 +313,7 @@ class AccessTokenReq1(Model): return self._requester_plmn_list @requester_plmn_list.setter - def requester_plmn_list(self, requester_plmn_list): + def requester_plmn_list(self, requester_plmn_list: List[PlmnId]): """Sets the requester_plmn_list of this AccessTokenReq1. @@ -325,7 +326,7 @@ class AccessTokenReq1(Model): self._requester_plmn_list = requester_plmn_list @property - def requester_snssai_list(self): + def requester_snssai_list(self) -> List[Snssai]: """Gets the requester_snssai_list of this AccessTokenReq1. @@ -335,7 +336,7 @@ class AccessTokenReq1(Model): return self._requester_snssai_list @requester_snssai_list.setter - def requester_snssai_list(self, requester_snssai_list): + def requester_snssai_list(self, requester_snssai_list: List[Snssai]): """Sets the requester_snssai_list of this AccessTokenReq1. @@ -348,7 +349,7 @@ class AccessTokenReq1(Model): self._requester_snssai_list = requester_snssai_list @property - def requester_fqdn(self): + def requester_fqdn(self) -> str: """Gets the requester_fqdn of this AccessTokenReq1. Fully Qualified Domain Name # noqa: E501 @@ -359,7 +360,7 @@ class AccessTokenReq1(Model): return self._requester_fqdn @requester_fqdn.setter - def requester_fqdn(self, requester_fqdn): + def requester_fqdn(self, requester_fqdn: str): """Sets the requester_fqdn of this AccessTokenReq1. Fully Qualified Domain Name # noqa: E501 @@ -377,7 +378,7 @@ class AccessTokenReq1(Model): self._requester_fqdn = requester_fqdn @property - def requester_snpn_list(self): + def requester_snpn_list(self) -> List[PlmnIdNid]: """Gets the requester_snpn_list of this AccessTokenReq1. @@ -387,7 +388,7 @@ class AccessTokenReq1(Model): return self._requester_snpn_list @requester_snpn_list.setter - def requester_snpn_list(self, requester_snpn_list): + def requester_snpn_list(self, requester_snpn_list: List[PlmnIdNid]): """Sets the requester_snpn_list of this AccessTokenReq1. @@ -400,7 +401,7 @@ class AccessTokenReq1(Model): self._requester_snpn_list = requester_snpn_list @property - def target_plmn(self): + def target_plmn(self) -> PlmnId: """Gets the target_plmn of this AccessTokenReq1. @@ -410,7 +411,7 @@ class AccessTokenReq1(Model): return self._target_plmn @target_plmn.setter - def target_plmn(self, target_plmn): + def target_plmn(self, target_plmn: PlmnId): """Sets the target_plmn of this AccessTokenReq1. @@ -421,7 +422,28 @@ class AccessTokenReq1(Model): self._target_plmn = target_plmn @property - def target_snssai_list(self): + def target_snpn(self) -> PlmnIdNid: + """Gets the target_snpn of this AccessTokenReq1. + + + :return: The target_snpn of this AccessTokenReq1. + :rtype: PlmnIdNid + """ + return self._target_snpn + + @target_snpn.setter + def target_snpn(self, target_snpn: PlmnIdNid): + """Sets the target_snpn of this AccessTokenReq1. + + + :param target_snpn: The target_snpn of this AccessTokenReq1. + :type target_snpn: PlmnIdNid + """ + + self._target_snpn = target_snpn + + @property + def target_snssai_list(self) -> List[Snssai]: """Gets the target_snssai_list of this AccessTokenReq1. @@ -431,7 +453,7 @@ class AccessTokenReq1(Model): return self._target_snssai_list @target_snssai_list.setter - def target_snssai_list(self, target_snssai_list): + def target_snssai_list(self, target_snssai_list: List[Snssai]): """Sets the target_snssai_list of this AccessTokenReq1. @@ -444,7 +466,7 @@ class AccessTokenReq1(Model): self._target_snssai_list = target_snssai_list @property - def target_nsi_list(self): + def target_nsi_list(self) -> List[str]: """Gets the target_nsi_list of this AccessTokenReq1. @@ -454,7 +476,7 @@ class AccessTokenReq1(Model): return self._target_nsi_list @target_nsi_list.setter - def target_nsi_list(self, target_nsi_list): + def target_nsi_list(self, target_nsi_list: List[str]): """Sets the target_nsi_list of this AccessTokenReq1. @@ -467,7 +489,7 @@ class AccessTokenReq1(Model): self._target_nsi_list = target_nsi_list @property - def target_nf_set_id(self): + def target_nf_set_id(self) -> str: """Gets the target_nf_set_id of this AccessTokenReq1. NF Set Identifier (see clause 28.12 of 3GPP TS 23.003), formatted as the following string \"set.set.5gc.mnc.mcc\", or \"set.set.5gc.nid.mnc.mcc\" with encoded as defined in clause 5.4.2 (\"Mcc\" data type definition) encoding the Mobile Network Code part of the PLMN, comprising 3 digits. If there are only 2 significant digits in the MNC, one \"0\" digit shall be inserted at the left side to fill the 3 digits coding of MNC. Pattern: '^[0-9]{3}$' encoded as a value defined in Table 6.1.6.3.3-1 of 3GPP TS 29.510 but with lower case characters encoded as a string of characters consisting of alphabetic characters (A-Z and a-z), digits (0-9) and/or the hyphen (-) and that shall end with either an alphabetic character or a digit. # noqa: E501 @@ -478,7 +500,7 @@ class AccessTokenReq1(Model): return self._target_nf_set_id @target_nf_set_id.setter - def target_nf_set_id(self, target_nf_set_id): + def target_nf_set_id(self, target_nf_set_id: str): """Sets the target_nf_set_id of this AccessTokenReq1. NF Set Identifier (see clause 28.12 of 3GPP TS 23.003), formatted as the following string \"set.set.5gc.mnc.mcc\", or \"set.set.5gc.nid.mnc.mcc\" with encoded as defined in clause 5.4.2 (\"Mcc\" data type definition) encoding the Mobile Network Code part of the PLMN, comprising 3 digits. If there are only 2 significant digits in the MNC, one \"0\" digit shall be inserted at the left side to fill the 3 digits coding of MNC. Pattern: '^[0-9]{3}$' encoded as a value defined in Table 6.1.6.3.3-1 of 3GPP TS 29.510 but with lower case characters encoded as a string of characters consisting of alphabetic characters (A-Z and a-z), digits (0-9) and/or the hyphen (-) and that shall end with either an alphabetic character or a digit. # noqa: E501 @@ -490,7 +512,7 @@ class AccessTokenReq1(Model): self._target_nf_set_id = target_nf_set_id @property - def target_nf_service_set_id(self): + def target_nf_service_set_id(self) -> str: """Gets the target_nf_service_set_id of this AccessTokenReq1. NF Service Set Identifier (see clause 28.12 of 3GPP TS 23.003) formatted as the following string \"set.sn.nfi.5gc.mnc.mcc\", or \"set.sn.nfi.5gc.nid.mnc.mcc\" with encoded as defined in clause 5.4.2 (\"Mcc\" data type definition) encoding the Mobile Network Code part of the PLMN, comprising 3 digits. If there are only 2 significant digits in the MNC, one \"0\" digit shall be inserted at the left side to fill the 3 digits coding of MNC. Pattern: '^[0-9]{3}$' encoded as defined in clause 5.4.2 (\"Nid\" data type definition) encoded as defined in clause 5.3.2 encoded as defined in 3GPP TS 29.510 encoded as a string of characters consisting of alphabetic characters (A-Z and a-z), digits (0-9) and/or the hyphen (-) and that shall end with either an alphabetic character or a digit. # noqa: E501 @@ -501,7 +523,7 @@ class AccessTokenReq1(Model): return self._target_nf_service_set_id @target_nf_service_set_id.setter - def target_nf_service_set_id(self, target_nf_service_set_id): + def target_nf_service_set_id(self, target_nf_service_set_id: str): """Sets the target_nf_service_set_id of this AccessTokenReq1. NF Service Set Identifier (see clause 28.12 of 3GPP TS 23.003) formatted as the following string \"set.sn.nfi.5gc.mnc.mcc\", or \"set.sn.nfi.5gc.nid.mnc.mcc\" with encoded as defined in clause 5.4.2 (\"Mcc\" data type definition) encoding the Mobile Network Code part of the PLMN, comprising 3 digits. If there are only 2 significant digits in the MNC, one \"0\" digit shall be inserted at the left side to fill the 3 digits coding of MNC. Pattern: '^[0-9]{3}$' encoded as defined in clause 5.4.2 (\"Nid\" data type definition) encoded as defined in clause 5.3.2 encoded as defined in 3GPP TS 29.510 encoded as a string of characters consisting of alphabetic characters (A-Z and a-z), digits (0-9) and/or the hyphen (-) and that shall end with either an alphabetic character or a digit. # noqa: E501 @@ -513,7 +535,7 @@ class AccessTokenReq1(Model): self._target_nf_service_set_id = target_nf_service_set_id @property - def hnrf_access_token_uri(self): + def hnrf_access_token_uri(self) -> str: """Gets the hnrf_access_token_uri of this AccessTokenReq1. String providing an URI formatted according to RFC 3986. # noqa: E501 @@ -524,7 +546,7 @@ class AccessTokenReq1(Model): return self._hnrf_access_token_uri @hnrf_access_token_uri.setter - def hnrf_access_token_uri(self, hnrf_access_token_uri): + def hnrf_access_token_uri(self, hnrf_access_token_uri: str): """Sets the hnrf_access_token_uri of this AccessTokenReq1. String providing an URI formatted according to RFC 3986. # noqa: E501 @@ -536,7 +558,7 @@ class AccessTokenReq1(Model): self._hnrf_access_token_uri = hnrf_access_token_uri @property - def source_nf_instance_id(self): + def source_nf_instance_id(self) -> str: """Gets the source_nf_instance_id of this AccessTokenReq1. String uniquely identifying a NF instance. The format of the NF Instance ID shall be a Universally Unique Identifier (UUID) version 4, as described in IETF RFC 4122. # noqa: E501 @@ -547,7 +569,7 @@ class AccessTokenReq1(Model): return self._source_nf_instance_id @source_nf_instance_id.setter - def source_nf_instance_id(self, source_nf_instance_id): + def source_nf_instance_id(self, source_nf_instance_id: str): """Sets the source_nf_instance_id of this AccessTokenReq1. String uniquely identifying a NF instance. The format of the NF Instance ID shall be a Universally Unique Identifier (UUID) version 4, as described in IETF RFC 4122. # noqa: E501 diff --git a/services/TS29222_CAPIF_Security_API/capif_security/models/access_token_rsp.py b/services/TS29222_CAPIF_Security_API/capif_security/models/access_token_rsp.py index 57f6720..f8e524d 100644 --- a/services/TS29222_CAPIF_Security_API/capif_security/models/access_token_rsp.py +++ b/services/TS29222_CAPIF_Security_API/capif_security/models/access_token_rsp.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 capif_security.models.base_model_ import Model +from capif_security.models.base_model import Model from capif_security import util @@ -58,7 +55,7 @@ class AccessTokenRsp(Model): return util.deserialize_model(dikt, cls) @property - def access_token(self): + def access_token(self) -> str: """Gets the access_token of this AccessTokenRsp. JWS Compact Serialized representation of JWS signed JSON object (AccessTokenClaims) # noqa: E501 @@ -69,7 +66,7 @@ class AccessTokenRsp(Model): return self._access_token @access_token.setter - def access_token(self, access_token): + def access_token(self, access_token: str): """Sets the access_token of this AccessTokenRsp. JWS Compact Serialized representation of JWS signed JSON object (AccessTokenClaims) # noqa: E501 @@ -83,7 +80,7 @@ class AccessTokenRsp(Model): self._access_token = access_token @property - def token_type(self): + def token_type(self) -> str: """Gets the token_type of this AccessTokenRsp. @@ -93,7 +90,7 @@ class AccessTokenRsp(Model): return self._token_type @token_type.setter - def token_type(self, token_type): + def token_type(self, token_type: str): """Sets the token_type of this AccessTokenRsp. @@ -110,7 +107,7 @@ class AccessTokenRsp(Model): self._token_type = token_type @property - def expires_in(self): + def expires_in(self) -> int: """Gets the expires_in of this AccessTokenRsp. Unsigned integer identifying a period of time in units of seconds. # noqa: E501 @@ -121,7 +118,7 @@ class AccessTokenRsp(Model): return self._expires_in @expires_in.setter - def expires_in(self, expires_in): + def expires_in(self, expires_in: int): """Sets the expires_in of this AccessTokenRsp. Unsigned integer identifying a period of time in units of seconds. # noqa: E501 @@ -137,7 +134,7 @@ class AccessTokenRsp(Model): self._expires_in = expires_in @property - def scope(self): + def scope(self) -> str: """Gets the scope of this AccessTokenRsp. @@ -147,7 +144,7 @@ class AccessTokenRsp(Model): return self._scope @scope.setter - def scope(self, scope): + def scope(self, scope: str): """Sets the scope of this AccessTokenRsp. diff --git a/services/TS29222_CAPIF_Security_API/capif_security/models/base_model_.py b/services/TS29222_CAPIF_Security_API/capif_security/models/base_model_.py deleted file mode 100644 index e8f6832..0000000 --- a/services/TS29222_CAPIF_Security_API/capif_security/models/base_model_.py +++ /dev/null @@ -1,69 +0,0 @@ -import pprint - -import six -import typing - -from capif_security import util - -T = typing.TypeVar('T') - - -class Model(): - # openapiTypes: The key is attribute name and the - # value is attribute type. - openapi_types: typing.Dict[str, type] = {} - - # attributeMap: The key is attribute name and the - # value is json key in definition. - attribute_map: typing.Dict[str, str] = {} - - @classmethod - def from_dict(cls: typing.Type[T], dikt) -> T: - """Returns the dict as a model""" - return util.deserialize_model(dikt, cls) - - def to_dict(self): - """Returns the model properties as a dict - - :rtype: dict - """ - result = {} - - for attr, _ in six.iteritems(self.openapi_types): - value = getattr(self, attr) - if isinstance(value, list): - result[attr] = list(map( - lambda x: x.to_dict() if hasattr(x, "to_dict") else x, - value - )) - elif hasattr(value, "to_dict"): - result[attr] = value.to_dict() - elif isinstance(value, dict): - result[attr] = dict(map( - lambda item: (item[0], item[1].to_dict()) - if hasattr(item[1], "to_dict") else item, - value.items() - )) - else: - result[attr] = value - - return result - - def to_str(self): - """Returns the string representation of the model - - :rtype: str - """ - return pprint.pformat(self.to_dict()) - - def __repr__(self): - """For `print` and `pprint`""" - return self.to_str() - - def __eq__(self, other): - """Returns true if both objects are equal""" - return self.__dict__ == other.__dict__ - - def __ne__(self, other): - """Returns true if both objects are not equal""" - return not self == other diff --git a/services/TS29222_CAPIF_Security_API/capif_security/models/cause.py b/services/TS29222_CAPIF_Security_API/capif_security/models/cause.py index a93f5a8..227ba10 100644 --- a/services/TS29222_CAPIF_Security_API/capif_security/models/cause.py +++ b/services/TS29222_CAPIF_Security_API/capif_security/models/cause.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 capif_security.models.base_model_ import Model -from capif_security.models.cause_any_of import CauseAnyOf +from capif_security.models.base_model import Model from capif_security import util -from capif_security.models.cause_any_of import CauseAnyOf # noqa: E501 class Cause(Model): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/services/TS29222_CAPIF_Security_API/capif_security/models/cause_any_of.py b/services/TS29222_CAPIF_Security_API/capif_security/models/cause_any_of.py deleted file mode 100644 index 64b601c..0000000 --- a/services/TS29222_CAPIF_Security_API/capif_security/models/cause_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 capif_security.models.base_model_ import Model -from capif_security import util - - -class CauseAnyOf(Model): - """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - - Do not edit the class manually. - """ - - """ - allowed enum values - """ - OVERLIMIT_USAGE = "OVERLIMIT_USAGE" - UNEXPECTED_REASON = "UNEXPECTED_REASON" - def __init__(self): # noqa: E501 - """CauseAnyOf - a model defined in OpenAPI - - """ - self.openapi_types = { - } - - self.attribute_map = { - } - - @classmethod - def from_dict(cls, dikt) -> 'CauseAnyOf': - """Returns the dict as a model - - :param dikt: A dict. - :type: dict - :return: The Cause_anyOf of this CauseAnyOf. # noqa: E501 - :rtype: CauseAnyOf - """ - return util.deserialize_model(dikt, cls) diff --git a/services/TS29222_CAPIF_Security_API/capif_security/models/interface_description.py b/services/TS29222_CAPIF_Security_API/capif_security/models/interface_description.py index 546ef7f..0031775 100644 --- a/services/TS29222_CAPIF_Security_API/capif_security/models/interface_description.py +++ b/services/TS29222_CAPIF_Security_API/capif_security/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 capif_security.models.base_model_ import Model +from capif_security.models.base_model import Model from capif_security.models.security_method import SecurityMethod +import re from capif_security import util from capif_security.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,7 +171,30 @@ 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 @@ -144,7 +205,7 @@ 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 diff --git a/services/TS29222_CAPIF_Security_API/capif_security/models/invalid_param.py b/services/TS29222_CAPIF_Security_API/capif_security/models/invalid_param.py index 3cf97a3..f86b208 100644 --- a/services/TS29222_CAPIF_Security_API/capif_security/models/invalid_param.py +++ b/services/TS29222_CAPIF_Security_API/capif_security/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 capif_security.models.base_model_ import Model +from capif_security.models.base_model import Model from capif_security 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_Security_API/capif_security/models/invalid_param1.py b/services/TS29222_CAPIF_Security_API/capif_security/models/invalid_param1.py index 93fbd3a..7791900 100644 --- a/services/TS29222_CAPIF_Security_API/capif_security/models/invalid_param1.py +++ b/services/TS29222_CAPIF_Security_API/capif_security/models/invalid_param1.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 capif_security.models.base_model_ import Model +from capif_security.models.base_model import Model from capif_security import util @@ -48,7 +45,7 @@ class InvalidParam1(Model): return util.deserialize_model(dikt, cls) @property - def param(self): + def param(self) -> str: """Gets the param of this InvalidParam1. If the invalid parameter is an attribute in a JSON body, this IE shall contain the attribute's name and shall be encoded as a JSON Pointer. If the invalid parameter is an HTTP header, this IE shall be formatted as the concatenation of the string \"header \" plus the name of such header. If the invalid parameter is a query parameter, this IE shall be formatted as the concatenation of the string \"query \" plus the name of such query parameter. If the invalid parameter is a variable part in the path of a resource URI, this IE shall contain the name of the variable, including the symbols \"{\" and \"}\" used in OpenAPI specification as the notation to represent variable path segments. # noqa: E501 @@ -59,7 +56,7 @@ class InvalidParam1(Model): return self._param @param.setter - def param(self, param): + def param(self, param: str): """Sets the param of this InvalidParam1. If the invalid parameter is an attribute in a JSON body, this IE shall contain the attribute's name and shall be encoded as a JSON Pointer. If the invalid parameter is an HTTP header, this IE shall be formatted as the concatenation of the string \"header \" plus the name of such header. If the invalid parameter is a query parameter, this IE shall be formatted as the concatenation of the string \"query \" plus the name of such query parameter. If the invalid parameter is a variable part in the path of a resource URI, this IE shall contain the name of the variable, including the symbols \"{\" and \"}\" used in OpenAPI specification as the notation to represent variable path segments. # noqa: E501 @@ -73,7 +70,7 @@ class InvalidParam1(Model): self._param = param @property - def reason(self): + def reason(self) -> str: """Gets the reason of this InvalidParam1. A human-readable reason, e.g. \"must be a positive integer\". In cases involving failed operations in a PATCH request, the reason string should identify the operation that failed using the operation's array index to assist in correlation of the invalid parameter with the failed operation, e.g.\" Replacement value invalid for attribute (failed operation index= 4)\" # noqa: E501 @@ -84,7 +81,7 @@ class InvalidParam1(Model): return self._reason @reason.setter - def reason(self, reason): + def reason(self, reason: str): """Sets the reason of this InvalidParam1. A human-readable reason, e.g. \"must be a positive integer\". In cases involving failed operations in a PATCH request, the reason string should identify the operation that failed using the operation's array index to assist in correlation of the invalid parameter with the failed operation, e.g.\" Replacement value invalid for attribute (failed operation index= 4)\" # noqa: E501 diff --git a/services/TS29222_CAPIF_Security_API/capif_security/models/nf_type.py b/services/TS29222_CAPIF_Security_API/capif_security/models/nf_type.py index 78c0598..184a7c0 100644 --- a/services/TS29222_CAPIF_Security_API/capif_security/models/nf_type.py +++ b/services/TS29222_CAPIF_Security_API/capif_security/models/nf_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 capif_security.models.base_model_ import Model -from capif_security.models.nf_type_any_of import NFTypeAnyOf +from capif_security.models.base_model import Model from capif_security import util -from capif_security.models.nf_type_any_of import NFTypeAnyOf # noqa: E501 class NFType(Model): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/services/TS29222_CAPIF_Security_API/capif_security/models/nf_type_any_of.py b/services/TS29222_CAPIF_Security_API/capif_security/models/nf_type_any_of.py deleted file mode 100644 index 5638ef9..0000000 --- a/services/TS29222_CAPIF_Security_API/capif_security/models/nf_type_any_of.py +++ /dev/null @@ -1,95 +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 capif_security.models.base_model_ import Model -from capif_security import util - - -class NFTypeAnyOf(Model): - """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - - Do not edit the class manually. - """ - - """ - allowed enum values - """ - NRF = "NRF" - UDM = "UDM" - AMF = "AMF" - SMF = "SMF" - AUSF = "AUSF" - NEF = "NEF" - PCF = "PCF" - SMSF = "SMSF" - NSSF = "NSSF" - UDR = "UDR" - LMF = "LMF" - GMLC = "GMLC" - _5G_EIR = "5G_EIR" - SEPP = "SEPP" - UPF = "UPF" - N3IWF = "N3IWF" - AF = "AF" - UDSF = "UDSF" - BSF = "BSF" - CHF = "CHF" - NWDAF = "NWDAF" - PCSCF = "PCSCF" - CBCF = "CBCF" - HSS = "HSS" - UCMF = "UCMF" - SOR_AF = "SOR_AF" - SPAF = "SPAF" - MME = "MME" - SCSAS = "SCSAS" - SCEF = "SCEF" - SCP = "SCP" - NSSAAF = "NSSAAF" - ICSCF = "ICSCF" - SCSCF = "SCSCF" - DRA = "DRA" - IMS_AS = "IMS_AS" - AANF = "AANF" - _5G_DDNMF = "5G_DDNMF" - NSACF = "NSACF" - MFAF = "MFAF" - EASDF = "EASDF" - DCCF = "DCCF" - MB_SMF = "MB_SMF" - TSCTSF = "TSCTSF" - ADRF = "ADRF" - GBA_BSF = "GBA_BSF" - CEF = "CEF" - MB_UPF = "MB_UPF" - NSWOF = "NSWOF" - PKMF = "PKMF" - MNPF = "MNPF" - SMS_GMSC = "SMS_GMSC" - SMS_IWMSC = "SMS_IWMSC" - MBSF = "MBSF" - MBSTF = "MBSTF" - def __init__(self): # noqa: E501 - """NFTypeAnyOf - a model defined in OpenAPI - - """ - self.openapi_types = { - } - - self.attribute_map = { - } - - @classmethod - def from_dict(cls, dikt) -> 'NFTypeAnyOf': - """Returns the dict as a model - - :param dikt: A dict. - :type: dict - :return: The NFType_anyOf of this NFTypeAnyOf. # noqa: E501 - :rtype: NFTypeAnyOf - """ - return util.deserialize_model(dikt, cls) diff --git a/services/TS29222_CAPIF_Security_API/capif_security/models/plmn_id.py b/services/TS29222_CAPIF_Security_API/capif_security/models/plmn_id.py index 1a0dfce..b7b42ec 100644 --- a/services/TS29222_CAPIF_Security_API/capif_security/models/plmn_id.py +++ b/services/TS29222_CAPIF_Security_API/capif_security/models/plmn_id.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 capif_security.models.base_model_ import Model +from capif_security.models.base_model import Model import re from capif_security import util @@ -50,7 +47,7 @@ class PlmnId(Model): return util.deserialize_model(dikt, cls) @property - def mcc(self): + def mcc(self) -> str: """Gets the mcc of this PlmnId. Mobile Country Code part of the PLMN, comprising 3 digits, as defined in clause 9.3.3.5 of 3GPP TS 38.413. # noqa: E501 @@ -61,7 +58,7 @@ class PlmnId(Model): return self._mcc @mcc.setter - def mcc(self, mcc): + def mcc(self, mcc: str): """Sets the mcc of this PlmnId. Mobile Country Code part of the PLMN, comprising 3 digits, as defined in clause 9.3.3.5 of 3GPP TS 38.413. # noqa: E501 @@ -77,10 +74,10 @@ class PlmnId(Model): self._mcc = mcc @property - def mnc(self): + def mnc(self) -> str: """Gets the mnc of this PlmnId. - Mobile Network Code part of the PLMN, comprising 2 or 3 digits, as defined in clause 9.3.3.5 of 3GPP TS 38.413. # noqa: E501 + Mobile Network Code part of the PLMN, comprising 2 or 3 digits, as defined in clause 9.3.3.5 of 3GPP TS 38.413. # noqa: E501 :return: The mnc of this PlmnId. :rtype: str @@ -88,10 +85,10 @@ class PlmnId(Model): return self._mnc @mnc.setter - def mnc(self, mnc): + def mnc(self, mnc: str): """Sets the mnc of this PlmnId. - Mobile Network Code part of the PLMN, comprising 2 or 3 digits, as defined in clause 9.3.3.5 of 3GPP TS 38.413. # noqa: E501 + Mobile Network Code part of the PLMN, comprising 2 or 3 digits, as defined in clause 9.3.3.5 of 3GPP TS 38.413. # noqa: E501 :param mnc: The mnc of this PlmnId. :type mnc: str diff --git a/services/TS29222_CAPIF_Security_API/capif_security/models/plmn_id_nid.py b/services/TS29222_CAPIF_Security_API/capif_security/models/plmn_id_nid.py index bf2a0a4..16fd95e 100644 --- a/services/TS29222_CAPIF_Security_API/capif_security/models/plmn_id_nid.py +++ b/services/TS29222_CAPIF_Security_API/capif_security/models/plmn_id_nid.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 capif_security.models.base_model_ import Model +from capif_security.models.base_model import Model import re from capif_security import util @@ -55,7 +52,7 @@ class PlmnIdNid(Model): return util.deserialize_model(dikt, cls) @property - def mcc(self): + def mcc(self) -> str: """Gets the mcc of this PlmnIdNid. Mobile Country Code part of the PLMN, comprising 3 digits, as defined in clause 9.3.3.5 of 3GPP TS 38.413. # noqa: E501 @@ -66,7 +63,7 @@ class PlmnIdNid(Model): return self._mcc @mcc.setter - def mcc(self, mcc): + def mcc(self, mcc: str): """Sets the mcc of this PlmnIdNid. Mobile Country Code part of the PLMN, comprising 3 digits, as defined in clause 9.3.3.5 of 3GPP TS 38.413. # noqa: E501 @@ -82,10 +79,10 @@ class PlmnIdNid(Model): self._mcc = mcc @property - def mnc(self): + def mnc(self) -> str: """Gets the mnc of this PlmnIdNid. - Mobile Network Code part of the PLMN, comprising 2 or 3 digits, as defined in clause 9.3.3.5 of 3GPP TS 38.413. # noqa: E501 + Mobile Network Code part of the PLMN, comprising 2 or 3 digits, as defined in clause 9.3.3.5 of 3GPP TS 38.413. # noqa: E501 :return: The mnc of this PlmnIdNid. :rtype: str @@ -93,10 +90,10 @@ class PlmnIdNid(Model): return self._mnc @mnc.setter - def mnc(self, mnc): + def mnc(self, mnc: str): """Sets the mnc of this PlmnIdNid. - Mobile Network Code part of the PLMN, comprising 2 or 3 digits, as defined in clause 9.3.3.5 of 3GPP TS 38.413. # noqa: E501 + Mobile Network Code part of the PLMN, comprising 2 or 3 digits, as defined in clause 9.3.3.5 of 3GPP TS 38.413. # noqa: E501 :param mnc: The mnc of this PlmnIdNid. :type mnc: str @@ -109,7 +106,7 @@ class PlmnIdNid(Model): self._mnc = mnc @property - def nid(self): + def nid(self) -> str: """Gets the nid of this PlmnIdNid. This represents the Network Identifier, which together with a PLMN ID is used to identify an SNPN (see 3GPP TS 23.003 and 3GPP TS 23.501 clause 5.30.2.1). # noqa: E501 @@ -120,7 +117,7 @@ class PlmnIdNid(Model): return self._nid @nid.setter - def nid(self, nid): + def nid(self, nid: str): """Sets the nid of this PlmnIdNid. This represents the Network Identifier, which together with a PLMN ID is used to identify an SNPN (see 3GPP TS 23.003 and 3GPP TS 23.501 clause 5.30.2.1). # noqa: E501 diff --git a/services/TS29222_CAPIF_Security_API/capif_security/models/problem_details.py b/services/TS29222_CAPIF_Security_API/capif_security/models/problem_details.py index e0708a2..27a5777 100644 --- a/services/TS29222_CAPIF_Security_API/capif_security/models/problem_details.py +++ b/services/TS29222_CAPIF_Security_API/capif_security/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 capif_security.models.base_model_ import Model +from capif_security.models.base_model import Model from capif_security.models.invalid_param import InvalidParam import re from capif_security 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,7 +242,7 @@ 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 @@ -256,7 +253,7 @@ 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 diff --git a/services/TS29222_CAPIF_Security_API/capif_security/models/problem_details1.py b/services/TS29222_CAPIF_Security_API/capif_security/models/problem_details1.py index 584e1a8..8de2911 100644 --- a/services/TS29222_CAPIF_Security_API/capif_security/models/problem_details1.py +++ b/services/TS29222_CAPIF_Security_API/capif_security/models/problem_details1.py @@ -1,20 +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 capif_security.models.base_model_ import Model +from capif_security.models.base_model import Model from capif_security.models.access_token_err1 import AccessTokenErr1 from capif_security.models.access_token_req1 import AccessTokenReq1 from capif_security.models.invalid_param1 import InvalidParam1 +from capif_security.models.no_profile_match_info import NoProfileMatchInfo import re from capif_security import util from capif_security.models.access_token_err1 import AccessTokenErr1 # noqa: E501 from capif_security.models.access_token_req1 import AccessTokenReq1 # noqa: E501 from capif_security.models.invalid_param1 import InvalidParam1 # noqa: E501 +from capif_security.models.no_profile_match_info import NoProfileMatchInfo # noqa: E501 import re # noqa: E501 class ProblemDetails1(Model): @@ -23,7 +22,7 @@ class ProblemDetails1(Model): Do not edit the class manually. """ - def __init__(self, type=None, title=None, status=None, detail=None, instance=None, cause=None, invalid_params=None, supported_features=None, access_token_error=None, access_token_request=None, nrf_id=None): # noqa: E501 + def __init__(self, type=None, title=None, status=None, detail=None, instance=None, cause=None, invalid_params=None, supported_features=None, access_token_error=None, access_token_request=None, nrf_id=None, supported_api_versions=None, no_profile_match_info=None): # noqa: E501 """ProblemDetails1 - a model defined in OpenAPI :param type: The type of this ProblemDetails1. # noqa: E501 @@ -48,6 +47,10 @@ class ProblemDetails1(Model): :type access_token_request: AccessTokenReq1 :param nrf_id: The nrf_id of this ProblemDetails1. # noqa: E501 :type nrf_id: str + :param supported_api_versions: The supported_api_versions of this ProblemDetails1. # noqa: E501 + :type supported_api_versions: List[str] + :param no_profile_match_info: The no_profile_match_info of this ProblemDetails1. # noqa: E501 + :type no_profile_match_info: NoProfileMatchInfo """ self.openapi_types = { 'type': str, @@ -60,7 +63,9 @@ class ProblemDetails1(Model): 'supported_features': str, 'access_token_error': AccessTokenErr1, 'access_token_request': AccessTokenReq1, - 'nrf_id': str + 'nrf_id': str, + 'supported_api_versions': List[str], + 'no_profile_match_info': NoProfileMatchInfo } self.attribute_map = { @@ -74,7 +79,9 @@ class ProblemDetails1(Model): 'supported_features': 'supportedFeatures', 'access_token_error': 'accessTokenError', 'access_token_request': 'accessTokenRequest', - 'nrf_id': 'nrfId' + 'nrf_id': 'nrfId', + 'supported_api_versions': 'supportedApiVersions', + 'no_profile_match_info': 'noProfileMatchInfo' } self._type = type @@ -88,6 +95,8 @@ class ProblemDetails1(Model): self._access_token_error = access_token_error self._access_token_request = access_token_request self._nrf_id = nrf_id + self._supported_api_versions = supported_api_versions + self._no_profile_match_info = no_profile_match_info @classmethod def from_dict(cls, dikt) -> 'ProblemDetails1': @@ -101,7 +110,7 @@ class ProblemDetails1(Model): return util.deserialize_model(dikt, cls) @property - def type(self): + def type(self) -> str: """Gets the type of this ProblemDetails1. String providing an URI formatted according to RFC 3986. # noqa: E501 @@ -112,7 +121,7 @@ class ProblemDetails1(Model): return self._type @type.setter - def type(self, type): + def type(self, type: str): """Sets the type of this ProblemDetails1. String providing an URI formatted according to RFC 3986. # noqa: E501 @@ -124,7 +133,7 @@ class ProblemDetails1(Model): self._type = type @property - def title(self): + def title(self) -> str: """Gets the title of this ProblemDetails1. @@ -134,7 +143,7 @@ class ProblemDetails1(Model): return self._title @title.setter - def title(self, title): + def title(self, title: str): """Sets the title of this ProblemDetails1. @@ -145,7 +154,7 @@ class ProblemDetails1(Model): self._title = title @property - def status(self): + def status(self) -> int: """Gets the status of this ProblemDetails1. @@ -155,7 +164,7 @@ class ProblemDetails1(Model): return self._status @status.setter - def status(self, status): + def status(self, status: int): """Sets the status of this ProblemDetails1. @@ -166,7 +175,7 @@ class ProblemDetails1(Model): self._status = status @property - def detail(self): + def detail(self) -> str: """Gets the detail of this ProblemDetails1. A human-readable explanation specific to this occurrence of the problem. # noqa: E501 @@ -177,7 +186,7 @@ class ProblemDetails1(Model): return self._detail @detail.setter - def detail(self, detail): + def detail(self, detail: str): """Sets the detail of this ProblemDetails1. A human-readable explanation specific to this occurrence of the problem. # noqa: E501 @@ -189,7 +198,7 @@ class ProblemDetails1(Model): self._detail = detail @property - def instance(self): + def instance(self) -> str: """Gets the instance of this ProblemDetails1. String providing an URI formatted according to RFC 3986. # noqa: E501 @@ -200,7 +209,7 @@ class ProblemDetails1(Model): return self._instance @instance.setter - def instance(self, instance): + def instance(self, instance: str): """Sets the instance of this ProblemDetails1. String providing an URI formatted according to RFC 3986. # noqa: E501 @@ -212,7 +221,7 @@ class ProblemDetails1(Model): self._instance = instance @property - def cause(self): + def cause(self) -> str: """Gets the cause of this ProblemDetails1. 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 @@ -223,7 +232,7 @@ class ProblemDetails1(Model): return self._cause @cause.setter - def cause(self, cause): + def cause(self, cause: str): """Sets the cause of this ProblemDetails1. 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 @@ -235,7 +244,7 @@ class ProblemDetails1(Model): self._cause = cause @property - def invalid_params(self): + def invalid_params(self) -> List[InvalidParam1]: """Gets the invalid_params of this ProblemDetails1. @@ -245,7 +254,7 @@ class ProblemDetails1(Model): return self._invalid_params @invalid_params.setter - def invalid_params(self, invalid_params): + def invalid_params(self, invalid_params: List[InvalidParam1]): """Sets the invalid_params of this ProblemDetails1. @@ -258,7 +267,7 @@ class ProblemDetails1(Model): self._invalid_params = invalid_params @property - def supported_features(self): + def supported_features(self) -> str: """Gets the supported_features of this ProblemDetails1. 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 @@ -269,7 +278,7 @@ class ProblemDetails1(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 ProblemDetails1. 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 @@ -283,7 +292,7 @@ class ProblemDetails1(Model): self._supported_features = supported_features @property - def access_token_error(self): + def access_token_error(self) -> AccessTokenErr1: """Gets the access_token_error of this ProblemDetails1. @@ -293,7 +302,7 @@ class ProblemDetails1(Model): return self._access_token_error @access_token_error.setter - def access_token_error(self, access_token_error): + def access_token_error(self, access_token_error: AccessTokenErr1): """Sets the access_token_error of this ProblemDetails1. @@ -304,7 +313,7 @@ class ProblemDetails1(Model): self._access_token_error = access_token_error @property - def access_token_request(self): + def access_token_request(self) -> AccessTokenReq1: """Gets the access_token_request of this ProblemDetails1. @@ -314,7 +323,7 @@ class ProblemDetails1(Model): return self._access_token_request @access_token_request.setter - def access_token_request(self, access_token_request): + def access_token_request(self, access_token_request: AccessTokenReq1): """Sets the access_token_request of this ProblemDetails1. @@ -325,7 +334,7 @@ class ProblemDetails1(Model): self._access_token_request = access_token_request @property - def nrf_id(self): + def nrf_id(self) -> str: """Gets the nrf_id of this ProblemDetails1. Fully Qualified Domain Name # noqa: E501 @@ -336,7 +345,7 @@ class ProblemDetails1(Model): return self._nrf_id @nrf_id.setter - def nrf_id(self, nrf_id): + def nrf_id(self, nrf_id: str): """Sets the nrf_id of this ProblemDetails1. Fully Qualified Domain Name # noqa: E501 @@ -352,3 +361,47 @@ class ProblemDetails1(Model): raise ValueError("Invalid value for `nrf_id`, 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._nrf_id = nrf_id + + @property + def supported_api_versions(self) -> List[str]: + """Gets the supported_api_versions of this ProblemDetails1. + + + :return: The supported_api_versions of this ProblemDetails1. + :rtype: List[str] + """ + return self._supported_api_versions + + @supported_api_versions.setter + def supported_api_versions(self, supported_api_versions: List[str]): + """Sets the supported_api_versions of this ProblemDetails1. + + + :param supported_api_versions: The supported_api_versions of this ProblemDetails1. + :type supported_api_versions: List[str] + """ + if supported_api_versions is not None and len(supported_api_versions) < 1: + raise ValueError("Invalid value for `supported_api_versions`, number of items must be greater than or equal to `1`") # noqa: E501 + + self._supported_api_versions = supported_api_versions + + @property + def no_profile_match_info(self) -> NoProfileMatchInfo: + """Gets the no_profile_match_info of this ProblemDetails1. + + + :return: The no_profile_match_info of this ProblemDetails1. + :rtype: NoProfileMatchInfo + """ + return self._no_profile_match_info + + @no_profile_match_info.setter + def no_profile_match_info(self, no_profile_match_info: NoProfileMatchInfo): + """Sets the no_profile_match_info of this ProblemDetails1. + + + :param no_profile_match_info: The no_profile_match_info of this ProblemDetails1. + :type no_profile_match_info: NoProfileMatchInfo + """ + + self._no_profile_match_info = no_profile_match_info diff --git a/services/TS29222_CAPIF_Security_API/capif_security/models/security_information.py b/services/TS29222_CAPIF_Security_API/capif_security/models/security_information.py index 07368ef..10e8519 100644 --- a/services/TS29222_CAPIF_Security_API/capif_security/models/security_information.py +++ b/services/TS29222_CAPIF_Security_API/capif_security/models/security_information.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 capif_security.models.base_model_ import Model +from capif_security.models.base_model import Model from capif_security.models.interface_description import InterfaceDescription +from capif_security.models.o_auth_grant_type import OAuthGrantType from capif_security.models.security_method import SecurityMethod from capif_security import util from capif_security.models.interface_description import InterfaceDescription # noqa: E501 +from capif_security.models.o_auth_grant_type import OAuthGrantType # noqa: E501 from capif_security.models.security_method import SecurityMethod # noqa: E501 class SecurityInformation(Model): @@ -19,7 +18,7 @@ class SecurityInformation(Model): Do not edit the class manually. """ - def __init__(self, interface_details=None, aef_id=None, api_id=None, pref_security_methods=None, sel_security_method=None, authentication_info=None, authorization_info=None): # noqa: E501 + def __init__(self, interface_details=None, aef_id=None, api_id=None, pref_security_methods=None, sel_security_method=None, authentication_info=None, authorization_info=None, grant_type=None): # noqa: E501 """SecurityInformation - a model defined in OpenAPI :param interface_details: The interface_details of this SecurityInformation. # noqa: E501 @@ -36,6 +35,8 @@ class SecurityInformation(Model): :type authentication_info: str :param authorization_info: The authorization_info of this SecurityInformation. # noqa: E501 :type authorization_info: str + :param grant_type: The grant_type of this SecurityInformation. # noqa: E501 + :type grant_type: List[OAuthGrantType] """ self.openapi_types = { 'interface_details': InterfaceDescription, @@ -44,7 +45,8 @@ class SecurityInformation(Model): 'pref_security_methods': List[SecurityMethod], 'sel_security_method': SecurityMethod, 'authentication_info': str, - 'authorization_info': str + 'authorization_info': str, + 'grant_type': List[OAuthGrantType] } self.attribute_map = { @@ -54,7 +56,8 @@ class SecurityInformation(Model): 'pref_security_methods': 'prefSecurityMethods', 'sel_security_method': 'selSecurityMethod', 'authentication_info': 'authenticationInfo', - 'authorization_info': 'authorizationInfo' + 'authorization_info': 'authorizationInfo', + 'grant_type': 'grantType' } self._interface_details = interface_details @@ -64,6 +67,7 @@ class SecurityInformation(Model): self._sel_security_method = sel_security_method self._authentication_info = authentication_info self._authorization_info = authorization_info + self._grant_type = grant_type @classmethod def from_dict(cls, dikt) -> 'SecurityInformation': @@ -74,11 +78,10 @@ class SecurityInformation(Model): :return: The SecurityInformation of this SecurityInformation. # noqa: E501 :rtype: SecurityInformation """ - print(dikt) return util.deserialize_model(dikt, cls) @property - def interface_details(self): + def interface_details(self) -> InterfaceDescription: """Gets the interface_details of this SecurityInformation. @@ -88,7 +91,7 @@ class SecurityInformation(Model): return self._interface_details @interface_details.setter - def interface_details(self, interface_details): + def interface_details(self, interface_details: InterfaceDescription): """Sets the interface_details of this SecurityInformation. @@ -99,7 +102,7 @@ class SecurityInformation(Model): self._interface_details = interface_details @property - def aef_id(self): + def aef_id(self) -> str: """Gets the aef_id of this SecurityInformation. Identifier of the API exposing function # noqa: E501 @@ -110,7 +113,7 @@ class SecurityInformation(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 SecurityInformation. Identifier of the API exposing function # noqa: E501 @@ -122,7 +125,7 @@ class SecurityInformation(Model): self._aef_id = aef_id @property - def api_id(self): + def api_id(self) -> str: """Gets the api_id of this SecurityInformation. API identifier # noqa: E501 @@ -133,7 +136,7 @@ class SecurityInformation(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 SecurityInformation. API identifier # noqa: E501 @@ -145,7 +148,7 @@ class SecurityInformation(Model): self._api_id = api_id @property - def pref_security_methods(self): + def pref_security_methods(self) -> List[SecurityMethod]: """Gets the pref_security_methods of this SecurityInformation. Security methods preferred by the API invoker for the API interface. # noqa: E501 @@ -156,7 +159,7 @@ class SecurityInformation(Model): return self._pref_security_methods @pref_security_methods.setter - def pref_security_methods(self, pref_security_methods): + def pref_security_methods(self, pref_security_methods: List[SecurityMethod]): """Sets the pref_security_methods of this SecurityInformation. Security methods preferred by the API invoker for the API interface. # noqa: E501 @@ -172,7 +175,7 @@ class SecurityInformation(Model): self._pref_security_methods = pref_security_methods @property - def sel_security_method(self): + def sel_security_method(self) -> SecurityMethod: """Gets the sel_security_method of this SecurityInformation. @@ -182,7 +185,7 @@ class SecurityInformation(Model): return self._sel_security_method @sel_security_method.setter - def sel_security_method(self, sel_security_method): + def sel_security_method(self, sel_security_method: SecurityMethod): """Sets the sel_security_method of this SecurityInformation. @@ -193,7 +196,7 @@ class SecurityInformation(Model): self._sel_security_method = sel_security_method @property - def authentication_info(self): + def authentication_info(self) -> str: """Gets the authentication_info of this SecurityInformation. Authentication related information # noqa: E501 @@ -204,7 +207,7 @@ class SecurityInformation(Model): return self._authentication_info @authentication_info.setter - def authentication_info(self, authentication_info): + def authentication_info(self, authentication_info: str): """Sets the authentication_info of this SecurityInformation. Authentication related information # noqa: E501 @@ -216,7 +219,7 @@ class SecurityInformation(Model): self._authentication_info = authentication_info @property - def authorization_info(self): + def authorization_info(self) -> str: """Gets the authorization_info of this SecurityInformation. Authorization related information # noqa: E501 @@ -227,7 +230,7 @@ class SecurityInformation(Model): return self._authorization_info @authorization_info.setter - def authorization_info(self, authorization_info): + def authorization_info(self, authorization_info: str): """Sets the authorization_info of this SecurityInformation. Authorization related information # noqa: E501 @@ -237,3 +240,26 @@ class SecurityInformation(Model): """ self._authorization_info = authorization_info + + @property + def grant_type(self) -> List[OAuthGrantType]: + """Gets the grant_type of this SecurityInformation. + + + :return: The grant_type of this SecurityInformation. + :rtype: List[OAuthGrantType] + """ + return self._grant_type + + @grant_type.setter + def grant_type(self, grant_type: List[OAuthGrantType]): + """Sets the grant_type of this SecurityInformation. + + + :param grant_type: The grant_type of this SecurityInformation. + :type grant_type: List[OAuthGrantType] + """ + if grant_type is not None and len(grant_type) < 1: + raise ValueError("Invalid value for `grant_type`, number of items must be greater than or equal to `1`") # noqa: E501 + + self._grant_type = grant_type diff --git a/services/TS29222_CAPIF_Security_API/capif_security/models/security_method.py b/services/TS29222_CAPIF_Security_API/capif_security/models/security_method.py index 966fcb4..c319a38 100644 --- a/services/TS29222_CAPIF_Security_API/capif_security/models/security_method.py +++ b/services/TS29222_CAPIF_Security_API/capif_security/models/security_method.py @@ -1,16 +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 capif_security.models.base_model_ import Model -from capif_security.models.security_method_any_of import SecurityMethodAnyOf +from capif_security.models.base_model import Model from capif_security import util -from capif_security.models.security_method_any_of import SecurityMethodAnyOf # noqa: E501 -import sys class SecurityMethod(Model): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -37,5 +31,4 @@ class SecurityMethod(Model): :return: The SecurityMethod of this SecurityMethod. # noqa: E501 :rtype: SecurityMethod """ - print(dikt, file=sys.stderr) return util.deserialize_model(dikt, cls) diff --git a/services/TS29222_CAPIF_Security_API/capif_security/models/security_method_any_of.py b/services/TS29222_CAPIF_Security_API/capif_security/models/security_method_any_of.py deleted file mode 100644 index 0b5c3bf..0000000 --- a/services/TS29222_CAPIF_Security_API/capif_security/models/security_method_any_of.py +++ /dev/null @@ -1,44 +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 capif_security.models.base_model_ import Model -from capif_security 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 - """ - print(dikt) - return util.deserialize_model(dikt, cls) diff --git a/services/TS29222_CAPIF_Security_API/capif_security/models/security_notification.py b/services/TS29222_CAPIF_Security_API/capif_security/models/security_notification.py index 4437f65..538c655 100644 --- a/services/TS29222_CAPIF_Security_API/capif_security/models/security_notification.py +++ b/services/TS29222_CAPIF_Security_API/capif_security/models/security_notification.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 capif_security.models.base_model_ import Model +from capif_security.models.base_model import Model from capif_security.models.cause import Cause from capif_security import util @@ -60,7 +57,7 @@ class SecurityNotification(Model): return util.deserialize_model(dikt, cls) @property - def api_invoker_id(self): + def api_invoker_id(self) -> str: """Gets the api_invoker_id of this SecurityNotification. String identifying the API invoker assigned by the CAPIF core function. # noqa: E501 @@ -71,7 +68,7 @@ class SecurityNotification(Model): return self._api_invoker_id @api_invoker_id.setter - def api_invoker_id(self, api_invoker_id): + def api_invoker_id(self, api_invoker_id: str): """Sets the api_invoker_id of this SecurityNotification. String identifying the API invoker assigned by the CAPIF core function. # noqa: E501 @@ -85,7 +82,7 @@ class SecurityNotification(Model): self._api_invoker_id = api_invoker_id @property - def aef_id(self): + def aef_id(self) -> str: """Gets the aef_id of this SecurityNotification. String identifying the AEF. # noqa: E501 @@ -96,7 +93,7 @@ class SecurityNotification(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 SecurityNotification. String identifying the AEF. # noqa: E501 @@ -108,7 +105,7 @@ class SecurityNotification(Model): self._aef_id = aef_id @property - def api_ids(self): + def api_ids(self) -> List[str]: """Gets the api_ids of this SecurityNotification. Identifier of the service API # noqa: E501 @@ -119,7 +116,7 @@ class SecurityNotification(Model): return self._api_ids @api_ids.setter - def api_ids(self, api_ids): + def api_ids(self, api_ids: List[str]): """Sets the api_ids of this SecurityNotification. Identifier of the service API # noqa: E501 @@ -135,7 +132,7 @@ class SecurityNotification(Model): self._api_ids = api_ids @property - def cause(self): + def cause(self) -> Cause: """Gets the cause of this SecurityNotification. @@ -145,7 +142,7 @@ class SecurityNotification(Model): return self._cause @cause.setter - def cause(self, cause): + def cause(self, cause: Cause): """Sets the cause of this SecurityNotification. diff --git a/services/TS29222_CAPIF_Security_API/capif_security/models/service_security.py b/services/TS29222_CAPIF_Security_API/capif_security/models/service_security.py index 47014d3..060c45a 100644 --- a/services/TS29222_CAPIF_Security_API/capif_security/models/service_security.py +++ b/services/TS29222_CAPIF_Security_API/capif_security/models/service_security.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 capif_security.models.base_model_ import Model +from capif_security.models.base_model import Model from capif_security.models.security_information import SecurityInformation from capif_security.models.websock_notif_config import WebsockNotifConfig import re @@ -69,7 +66,7 @@ class ServiceSecurity(Model): return util.deserialize_model(dikt, cls) @property - def security_info(self): + def security_info(self) -> List[SecurityInformation]: """Gets the security_info of this ServiceSecurity. @@ -79,7 +76,7 @@ class ServiceSecurity(Model): return self._security_info @security_info.setter - def security_info(self, security_info): + def security_info(self, security_info: List[SecurityInformation]): """Sets the security_info of this ServiceSecurity. @@ -92,7 +89,7 @@ class ServiceSecurity(Model): self._security_info = security_info @property - def notification_destination(self): + def notification_destination(self) -> str: """Gets the notification_destination of this ServiceSecurity. string providing an URI formatted according to IETF RFC 3986. # noqa: E501 @@ -103,7 +100,7 @@ class ServiceSecurity(Model): return self._notification_destination @notification_destination.setter - def notification_destination(self, notification_destination): + def notification_destination(self, notification_destination: str): """Sets the notification_destination of this ServiceSecurity. string providing an URI formatted according to IETF RFC 3986. # noqa: E501 @@ -117,7 +114,7 @@ class ServiceSecurity(Model): self._notification_destination = notification_destination @property - def request_test_notification(self): + def request_test_notification(self) -> bool: """Gets the request_test_notification of this ServiceSecurity. Set to true by API invoker to request the CAPIF core function to send a test notification as defined in in clause 7.6. Set to false or omitted otherwise. # noqa: E501 @@ -128,7 +125,7 @@ class ServiceSecurity(Model): return self._request_test_notification @request_test_notification.setter - def request_test_notification(self, request_test_notification): + def request_test_notification(self, request_test_notification: bool): """Sets the request_test_notification of this ServiceSecurity. Set to true by API invoker to request the CAPIF core function to send a test notification as defined in in clause 7.6. Set to false or omitted otherwise. # noqa: E501 @@ -140,7 +137,7 @@ class ServiceSecurity(Model): self._request_test_notification = request_test_notification @property - def websock_notif_config(self): + def websock_notif_config(self) -> WebsockNotifConfig: """Gets the websock_notif_config of this ServiceSecurity. @@ -150,7 +147,7 @@ class ServiceSecurity(Model): return self._websock_notif_config @websock_notif_config.setter - def websock_notif_config(self, websock_notif_config): + def websock_notif_config(self, websock_notif_config: WebsockNotifConfig): """Sets the websock_notif_config of this ServiceSecurity. @@ -161,7 +158,7 @@ class ServiceSecurity(Model): self._websock_notif_config = websock_notif_config @property - def supported_features(self): + def supported_features(self) -> str: """Gets the supported_features of this ServiceSecurity. 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 @@ -172,7 +169,7 @@ class ServiceSecurity(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 ServiceSecurity. 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 diff --git a/services/TS29222_CAPIF_Security_API/capif_security/models/snssai.py b/services/TS29222_CAPIF_Security_API/capif_security/models/snssai.py index 89e4257..72ae4c4 100644 --- a/services/TS29222_CAPIF_Security_API/capif_security/models/snssai.py +++ b/services/TS29222_CAPIF_Security_API/capif_security/models/snssai.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 capif_security.models.base_model_ import Model +from capif_security.models.base_model import Model import re from capif_security import util @@ -50,7 +47,7 @@ class Snssai(Model): return util.deserialize_model(dikt, cls) @property - def sst(self): + def sst(self) -> int: """Gets the sst of this Snssai. Unsigned integer, within the range 0 to 255, representing the Slice/Service Type. It indicates the expected Network Slice behaviour in terms of features and services. Values 0 to 127 correspond to the standardized SST range. Values 128 to 255 correspond to the Operator-specific range. See clause 28.4.2 of 3GPP TS 23.003. Standardized values are defined in clause 5.15.2.2 of 3GPP TS 23.501. # noqa: E501 @@ -61,7 +58,7 @@ class Snssai(Model): return self._sst @sst.setter - def sst(self, sst): + def sst(self, sst: int): """Sets the sst of this Snssai. Unsigned integer, within the range 0 to 255, representing the Slice/Service Type. It indicates the expected Network Slice behaviour in terms of features and services. Values 0 to 127 correspond to the standardized SST range. Values 128 to 255 correspond to the Operator-specific range. See clause 28.4.2 of 3GPP TS 23.003. Standardized values are defined in clause 5.15.2.2 of 3GPP TS 23.501. # noqa: E501 @@ -79,7 +76,7 @@ class Snssai(Model): self._sst = sst @property - def sd(self): + def sd(self) -> str: """Gets the sd of this Snssai. 3-octet string, representing the Slice Differentiator, in hexadecimal representation. Each character in the string shall take a value of \"0\" to \"9\", \"a\" to \"f\" or \"A\" to \"F\" and shall represent 4 bits. The most significant character representing the 4 most significant bits of the SD shall appear first in the string, and the character representing the 4 least significant bit of the SD shall appear last in the string. This is an optional parameter that complements the Slice/Service type(s) to allow to differentiate amongst multiple Network Slices of the same Slice/Service type. This IE shall be absent if no SD value is associated with the SST. # noqa: E501 @@ -90,7 +87,7 @@ class Snssai(Model): return self._sd @sd.setter - def sd(self, sd): + def sd(self, sd: str): """Sets the sd of this Snssai. 3-octet string, representing the Slice Differentiator, in hexadecimal representation. Each character in the string shall take a value of \"0\" to \"9\", \"a\" to \"f\" or \"A\" to \"F\" and shall represent 4 bits. The most significant character representing the 4 most significant bits of the SD shall appear first in the string, and the character representing the 4 least significant bit of the SD shall appear last in the string. This is an optional parameter that complements the Slice/Service type(s) to allow to differentiate amongst multiple Network Slices of the same Slice/Service type. This IE shall be absent if no SD value is associated with the SST. # noqa: E501 diff --git a/services/TS29222_CAPIF_Security_API/capif_security/models/websock_notif_config.py b/services/TS29222_CAPIF_Security_API/capif_security/models/websock_notif_config.py index 434d371..1482ee7 100644 --- a/services/TS29222_CAPIF_Security_API/capif_security/models/websock_notif_config.py +++ b/services/TS29222_CAPIF_Security_API/capif_security/models/websock_notif_config.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 capif_security.models.base_model_ import Model +from capif_security.models.base_model import Model from capif_security import util @@ -48,7 +45,7 @@ class WebsockNotifConfig(Model): return util.deserialize_model(dikt, cls) @property - def websocket_uri(self): + def websocket_uri(self) -> str: """Gets the websocket_uri of this WebsockNotifConfig. string formatted according to IETF RFC 3986 identifying a referenced resource. # noqa: E501 @@ -59,7 +56,7 @@ class WebsockNotifConfig(Model): return self._websocket_uri @websocket_uri.setter - def websocket_uri(self, websocket_uri): + def websocket_uri(self, websocket_uri: str): """Sets the websocket_uri of this WebsockNotifConfig. string formatted according to IETF RFC 3986 identifying a referenced resource. # noqa: E501 @@ -71,7 +68,7 @@ class WebsockNotifConfig(Model): self._websocket_uri = websocket_uri @property - def request_websocket_uri(self): + def request_websocket_uri(self) -> bool: """Gets the request_websocket_uri of this WebsockNotifConfig. Set by the SCS/AS to indicate that the Websocket delivery is requested. # noqa: E501 @@ -82,7 +79,7 @@ class WebsockNotifConfig(Model): return self._request_websocket_uri @request_websocket_uri.setter - def request_websocket_uri(self, request_websocket_uri): + def request_websocket_uri(self, request_websocket_uri: bool): """Sets the request_websocket_uri of this WebsockNotifConfig. Set by the SCS/AS to indicate that the Websocket delivery is requested. # noqa: E501 diff --git a/services/TS29222_CAPIF_Security_API/capif_security/openapi/openapi.yaml b/services/TS29222_CAPIF_Security_API/capif_security/openapi/openapi.yaml index 321eb2f..fe88c19 100644 --- a/services/TS29222_CAPIF_Security_API/capif_security/openapi/openapi.yaml +++ b/services/TS29222_CAPIF_Security_API/capif_security/openapi/openapi.yaml @@ -1,11 +1,11 @@ openapi: 3.0.0 info: - description: "API for CAPIF security management. \n© 2022, 3GPP Organizational\ + description: "API for CAPIF security management. \n© 2024, 3GPP Organizational\ \ Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). \nAll rights reserved.\n" title: CAPIF_Security_API - version: 1.2.0 + version: 1.3.0-alpha.4 externalDocs: - description: 3GPP TS 29.222 V17.5.0 Common API Framework for 3GPP Northbound APIs + 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}/capif-security/v1" @@ -90,7 +90,7 @@ paths: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' - description: Payload Too Large + description: Content Too Large "415": content: application/problem+json: @@ -117,7 +117,7 @@ paths: description: Service Unavailable default: description: Generic Error - x-openapi-router-controller: capif_security.controllers.default_controller + x-openapi-router-controller: capif_security.controllers.default_controller /trustedInvokers/{apiInvokerId}: delete: operationId: trusted_invokers_api_invoker_id_delete @@ -193,7 +193,7 @@ paths: description: Service Unavailable default: description: Generic Error - x-openapi-router-controller: capif_security.controllers.default_controller + x-openapi-router-controller: capif_security.controllers.default_controller get: operationId: trusted_invokers_api_invoker_id_get parameters: @@ -205,9 +205,8 @@ paths: schema: type: string style: simple - - description: "When set to 'true', it indicates the CAPIF core function to\ - \ send the authentication information of the API invoker. Set to false or\ - \ omitted otherwise.\n" + - description: | + When set to 'true', it indicates the CAPIF core function to send the authentication information of the API invoker. Set to false or omitted otherwise. explode: true in: query name: authenticationInfo @@ -215,9 +214,8 @@ paths: schema: type: boolean style: form - - description: "When set to 'true', it indicates the CAPIF core function to\ - \ send the authorization information of the API invoker. Set to false or\ - \ omitted otherwise.\n" + - description: | + When set to 'true', it indicates the CAPIF core function to send the authorization information of the API invoker. Set to false or omitted otherwise. explode: true in: query name: authorizationInfo @@ -305,7 +303,7 @@ paths: description: Service Unavailable default: description: Generic Error - x-openapi-router-controller: capif_security.controllers.default_controller + x-openapi-router-controller: capif_security.controllers.default_controller put: callbacks: notificationDestination: @@ -372,7 +370,7 @@ paths: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' - description: Payload Too Large + description: Content Too Large "415": content: application/problem+json: @@ -426,8 +424,8 @@ paths: description: Successful created. headers: Location: - description: "Contains the URI of the newly created resource, according\ - \ to the structure {apiRoot}/capif-security/v1/trustedInvokers/{apiInvokerId}\n" + description: | + Contains the URI of the newly created resource, according to the structure {apiRoot}/capif-security/v1/trustedInvokers/{apiInvokerId} explode: false required: true schema: @@ -462,7 +460,7 @@ paths: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' - description: Payload Too Large + description: Content Too Large "414": content: application/problem+json: @@ -495,7 +493,7 @@ paths: description: Service Unavailable default: description: Generic Error - x-openapi-router-controller: capif_security.controllers.default_controller + x-openapi-router-controller: capif_security.controllers.default_controller /trustedInvokers/{apiInvokerId}/delete: post: operationId: trusted_invokers_api_invoker_id_delete_post @@ -569,7 +567,7 @@ paths: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' - description: Payload Too Large + description: Content Too Large "415": content: application/problem+json: @@ -596,7 +594,7 @@ paths: description: Service Unavailable default: description: Generic Error - x-openapi-router-controller: capif_security.controllers.default_controller + x-openapi-router-controller: capif_security.controllers.default_controller /trustedInvokers/{apiInvokerId}/update: post: operationId: trusted_invokers_api_invoker_id_update_post @@ -674,7 +672,7 @@ paths: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' - description: Payload Too Large + description: Content Too Large "415": content: application/problem+json: @@ -701,7 +699,7 @@ paths: description: Service Unavailable default: description: Generic Error - x-openapi-router-controller: capif_security.controllers.default_controller + x-openapi-router-controller: capif_security.controllers.default_controller components: responses: "307": @@ -787,7 +785,7 @@ components: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' - description: Payload Too Large + description: Content Too Large "415": content: application/problem+json: @@ -796,10 +794,8 @@ components: description: Unsupported Media Type schemas: ServiceSecurity: - description: "Represents the details of the security method for each service\ - \ API interface. When included by the API invoker, it indicates the preferred\ - \ method of security. When included by the CAPIF core function, it indicates\ - \ the security method to be used for the service API interface.\n" + description: | + Represents the details of the security method for each service API interface. When included by the API invoker, it indicates the preferred method of security. When included by the CAPIF core function, it indicates the security method to be used for the service API interface. example: notificationDestination: notificationDestination supportedFeatures: supportedFeatures @@ -810,14 +806,19 @@ components: interfaceDetails: ipv6Addr: ipv6Addr securityMethods: - - null - - null + - PSK + - PSK + fqdn: fqdn port: 5248 + apiPrefix: apiPrefix ipv4Addr: ipv4Addr prefSecurityMethods: - null - null aefId: aefId + grantType: + - CLIENT_CREDENTIALS + - CLIENT_CREDENTIALS apiId: apiId - selSecurityMethod: null authenticationInfo: authenticationInfo @@ -825,14 +826,19 @@ components: interfaceDetails: ipv6Addr: ipv6Addr securityMethods: - - null - - null + - PSK + - PSK + fqdn: fqdn port: 5248 + apiPrefix: apiPrefix ipv4Addr: ipv4Addr prefSecurityMethods: - null - null aefId: aefId + grantType: + - CLIENT_CREDENTIALS + - CLIENT_CREDENTIALS apiId: apiId websockNotifConfig: requestWebsocketUri: true @@ -857,19 +863,8 @@ components: websockNotifConfig: $ref: '#/components/schemas/WebsockNotifConfig' 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.\n" + 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 @@ -887,20 +882,26 @@ components: interfaceDetails: ipv6Addr: ipv6Addr securityMethods: - - null - - null + - PSK + - PSK + fqdn: fqdn port: 5248 + apiPrefix: apiPrefix ipv4Addr: ipv4Addr prefSecurityMethods: - null - null aefId: aefId + grantType: + - CLIENT_CREDENTIALS + - CLIENT_CREDENTIALS apiId: apiId + nullable: true oneOf: - - required: - - interfaceDetails - - required: - - aefId + - required: + - aefId + - required: + - interfaceDetails properties: interfaceDetails: $ref: '#/components/schemas/InterfaceDescription' @@ -929,15 +930,21 @@ components: description: Authorization related information title: authorizationInfo type: string + grantType: + items: + $ref: '#/components/schemas/OAuthGrantType' + minItems: 1 + title: grantType + type: array required: - prefSecurityMethods title: SecurityInformation type: object SecurityNotification: - description: Represents revoked authorization notification details. + description: Represents the revoked authorization notification details. example: apiInvokerId: apiInvokerId - cause: null + cause: OVERLIMIT_USAGE aefId: aefId apiIds: - apiIds @@ -968,24 +975,29 @@ components: title: SecurityNotification type: object AccessTokenReq: - type: object description: Represents the access token request information. - format: x-www-form-urlencoded properties: grant_type: - # enum: - # - client_credentials + enum: + - client_credentials + - authorization_code type: string client_id: type: string + resOwnerId: + $ref: '#/components/schemas/ResOwnerId' client_secret: type: string scope: type: string + authCode: + type: string + redirect_uri: + type: string required: - client_id - grant_type - - scope + type: object AccessTokenRsp: description: Represents the access token response information. example: @@ -1030,13 +1042,35 @@ components: minimum: 0 title: expires_in type: integer + resOwnerId: + $ref: '#/components/schemas/ResOwnerId' required: - exp - iss - scope type: object + ResOwnerId: + anyOf: [] + description: | + Represents the identifier of the resource owner. + nullable: true + properties: + gpsi: + description: "String identifying a Gpsi shall contain either an External\ + \ Id or an MSISDN. It shall be formatted as follows -External Identifier=\ + \ \"extid-'extid', where 'extid' shall be formatted according to clause\ + \ 19.7.2 of 3GPP TS 23.003 that describes an External Identifier. \n" + pattern: "^(msisdn-[0-9]{5,15}|extid-[^@]+@[^@]+|.+)$" + title: Gpsi + type: string + title: ResOwnerId + type: object AccessTokenErr: description: Represents an error in the access token request. + example: + error_description: error_description + error: invalid_request + error_uri: error_uri properties: error: enum: @@ -1060,15 +1094,36 @@ components: type: object Cause: anyOf: - - $ref: '#/components/schemas/Cause_anyOf' + - enum: + - OVERLIMIT_USAGE + - UNEXPECTED_REASON + 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:\n- OVERLIMIT_USAGE: The revocation of the\ - \ authorization of the API invoker is due to the overlimit usage of the service\ - \ API\n- UNEXPECTED_REASON: The revocation of the authorization of the API\ - \ invoker is due to unexpected reason.\n" + description: "Indicates the cause for revoking the API invoker's authorization\ + \ to the service API. \nPossible values are:\n- OVERLIMIT_USAGE:\n The\ + \ revocation of the authorization of the API invoker is due to the overlimit\n\ + \ usage of the service API\n- UNEXPECTED_REASON:\n The revocation\ + \ of the authorization of the API invoker is due to unexpected reason.\n" title: Cause + OAuthGrantType: + anyOf: + - enum: + - CLIENT_CREDENTIALS + - AUTHORIZATION_CODE + - AUTHORIZATION_CODE_WITH_PKCE + type: string + - description: | + This string provides forward-compatibility with future extensions to the enumeration and is not used to encode content defined in the present version of this API. + type: string + description: "Indicates the supported authorization flow (e.g. client credentials\ + \ flow, authorization code flow, etc.) to the API invoker. \nPossible\ + \ values are:\n- CLIENT_CREDENTIALS: Indicate that the grant type is is client\ + \ credentials flow.\n- AUTHORIZATION_CODE: Indicate that the grant type is\ + \ authorization code.\n- AUTHORIZATION_CODE_WITH_PKCE: Indicate that the grant\ + \ type is authorization code with PKCE.\n" + title: OAuthGrantType ProblemDetails: description: Represents additional information and details on an error response. properties: @@ -1078,7 +1133,7 @@ components: type: string title: description: "A short, human-readable summary of the problem type. It should\ - \ not change from occurrence to occurrence of the problem." + \ not change from occurrence to occurrence of the problem. \n" title: title type: string status: @@ -1095,33 +1150,21 @@ 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.\n" + 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 @@ -1132,8 +1175,8 @@ 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." @@ -1168,9 +1211,8 @@ components: title: Uri_1 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.\n" + 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. type: string invalidParams: items: @@ -1178,19 +1220,8 @@ components: minItems: 1 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.\n" + 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 @@ -1206,6 +1237,13 @@ components: .?$" title: Fqdn type: string + supportedApiVersions: + items: + type: string + minItems: 1 + type: array + noProfileMatchInfo: + $ref: '#/components/schemas/NoProfileMatchInfo' type: object Uri_1: description: String providing an URI formatted according to RFC 3986. @@ -1215,26 +1253,13 @@ components: description: It contains an invalid parameter and a related description. properties: param: - description: "If the invalid parameter is an attribute in a JSON body, this\ - \ IE shall contain the attribute's name and shall be encoded as a JSON\ - \ Pointer. If the invalid parameter is an HTTP header, this IE shall\ - \ be formatted as the concatenation of the string \"header \" plus the\ - \ name of such header. If the invalid parameter is a query parameter,\ - \ this IE shall be formatted as the concatenation of the string \"query\ - \ \" plus the name of such query parameter. If the invalid parameter\ - \ is a variable part in the path of a resource URI, this IE shall contain\ - \ the name of the variable, including the symbols \"{\" and \"}\" used\ - \ in OpenAPI specification as the notation to represent variable path\ - \ segments.\n" + description: | + If the invalid parameter is an attribute in a JSON body, this IE shall contain the attribute's name and shall be encoded as a JSON Pointer. If the invalid parameter is an HTTP header, this IE shall be formatted as the concatenation of the string "header " plus the name of such header. If the invalid parameter is a query parameter, this IE shall be formatted as the concatenation of the string "query " plus the name of such query parameter. If the invalid parameter is a variable part in the path of a resource URI, this IE shall contain the name of the variable, including the symbols "{" and "}" used in OpenAPI specification as the notation to represent variable path segments. title: param type: string reason: - description: "A human-readable reason, e.g. \"must be a positive integer\"\ - . In cases involving failed operations in a PATCH request, the reason\ - \ string should identify the operation that failed using the operation's\ - \ array index to assist in correlation of the invalid parameter with\ - \ the failed operation, e.g.\" Replacement value invalid for attribute\ - \ (failed operation index= 4)\"\n" + description: | + A human-readable reason, e.g. "must be a positive integer". In cases involving failed operations in a PATCH request, the reason string should identify the operation that failed using the operation's array index to assist in correlation of the invalid parameter with the failed operation, e.g." Replacement value invalid for attribute (failed operation index= 4)" title: reason type: string required: @@ -1242,18 +1267,8 @@ components: title: InvalidParam_1 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.\n" + 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 @@ -1266,8 +1281,8 @@ components: title: Fqdn type: string WebsockNotifConfig: - description: Represents the configuration information for the delivery of notifications - over Websockets. + description: | + Represents the configuration information for the delivery of notifications over Websockets. example: requestWebsocketUri: true websocketUri: websocketUri @@ -1294,37 +1309,53 @@ components: example: ipv6Addr: ipv6Addr securityMethods: - - null - - null + - PSK + - PSK + fqdn: fqdn port: 5248 + apiPrefix: apiPrefix ipv4Addr: ipv4Addr - # oneOf: - # - required: - # - ipv4Addr - # - required: - # - ipv6Addr + 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.\n" + 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 @@ -1334,20 +1365,32 @@ components: type: object 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:\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" + 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 DurationSec: description: Unsigned integer identifying a period of time in units of seconds. minimum: 0 title: expires_in type: integer + Gpsi: + description: "String identifying a Gpsi shall contain either an External Id\ + \ or an MSISDN. It shall be formatted as follows -External Identifier= \"\ + extid-'extid', where 'extid' shall be formatted according to clause 19.7.2\ + \ of 3GPP TS 23.003 that describes an External Identifier. \n" + pattern: "^(msisdn-[0-9]{5,15}|extid-[^@]+@[^@]+|.+)$" + title: Gpsi + type: string AccessTokenErr_1: description: Error returned in the access token response message properties: @@ -1375,8 +1418,8 @@ components: description: Contains information related to the access token request properties: grant_type: - # enum: - # - client_credentials + enum: + - client_credentials title: grant_type type: string nfInstanceId: @@ -1431,6 +1474,8 @@ components: type: array targetPlmn: $ref: '#/components/schemas/PlmnId' + targetSnpn: + $ref: '#/components/schemas/PlmnIdNid' targetSnssaiList: items: $ref: '#/components/schemas/Snssai' @@ -1491,15 +1536,69 @@ components: - scope title: AccessTokenReq_1 type: object + NoProfileMatchInfo: + description: Provides the reason for not finding NF matching the search criteria + properties: + reason: + $ref: '#/components/schemas/NoProfileMatchReason' + queryParamCombinationList: + items: + $ref: '#/components/schemas/QueryParamCombination' + minItems: 1 + title: queryParamCombinationList + type: array + required: + - reason + title: NoProfileMatchInfo + type: object + NoProfileMatchReason: + anyOf: + - enum: + - REQUESTER_PLMN_NOT_ALLOWED + - TARGET_NF_SUSPENDED + - TARGET_NF_UNDISCOVERABLE + - QUERY_PARAMS_COMBINATION_NO_MATCH + - TARGET_NF_TYPE_NOT_SUPPORTED + - UNSPECIFIED + type: string + - type: string + description: No Profile Match Reason + title: NoProfileMatchReason + QueryParamCombination: + description: Contains a list of Query Parameters + properties: + queryParams: + items: + $ref: '#/components/schemas/QueryParameter' + minItems: 1 + title: queryParams + type: array + required: + - queryParams + title: QueryParamCombination + type: object + QueryParameter: + description: Contains the name and value of a query parameter + properties: + name: + title: name + type: string + value: + title: value + type: string + required: + - name + - value + title: QueryParameter + type: object 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 Port: @@ -1517,14 +1616,78 @@ components: type: string NFType: anyOf: - - $ref: '#/components/schemas/NFType_anyOf' + - enum: + - NRF + - UDM + - AMF + - SMF + - AUSF + - NEF + - PCF + - SMSF + - NSSF + - UDR + - LMF + - GMLC + - 5G_EIR + - SEPP + - UPF + - N3IWF + - AF + - UDSF + - BSF + - CHF + - NWDAF + - PCSCF + - CBCF + - HSS + - UCMF + - SOR_AF + - SPAF + - MME + - SCSAS + - SCEF + - SCP + - NSSAAF + - ICSCF + - SCSCF + - DRA + - IMS_AS + - AANF + - 5G_DDNMF + - NSACF + - MFAF + - EASDF + - DCCF + - MB_SMF + - TSCTSF + - ADRF + - GBA_BSF + - CEF + - MB_UPF + - NSWOF + - PKMF + - MNPF + - SMS_GMSC + - SMS_IWMSC + - MBSF + - MBSTF + - PANF + - IP_SM_GW + - SMS_ROUTER + - DCSF + - MRF + - MRFP + - MF + - SLPKMF + - RH + type: string - type: string description: NF types known to NRF title: NFType PlmnId: - description: "When PlmnId needs to be converted to string (e.g. when used in\ - \ maps as key), the string shall be composed of three digits \"mcc\" followed\ - \ by \"-\" and two or three digits \"mnc\".\n" + description: | + When PlmnId needs to be converted to string (e.g. when used in maps as key), the string shall be composed of three digits "mcc" followed by "-" and two or three digits "mnc". properties: mcc: description: "Mobile Country Code part of the PLMN, comprising 3 digits,\ @@ -1534,7 +1697,7 @@ components: type: string mnc: description: "Mobile Network Code part of the PLMN, comprising 2 or 3 digits,\ - \ as defined in clause 9.3.3.5 of 3GPP TS 38.413." + \ as defined in clause 9.3.3.5 of 3GPP TS 38.413. \n" pattern: "^\\d{2,3}$" title: Mnc type: string @@ -1551,14 +1714,13 @@ components: type: string Mnc: description: "Mobile Network Code part of the PLMN, comprising 2 or 3 digits,\ - \ as defined in clause 9.3.3.5 of 3GPP TS 38.413." + \ as defined in clause 9.3.3.5 of 3GPP TS 38.413. \n" pattern: "^\\d{2,3}$" title: Mnc type: string Snssai: - description: "When Snssai needs to be converted to string (e.g. when used in\ - \ maps as key), the string shall be composed of one to three digits \"sst\"\ - \ optionally followed by \"-\" and 6 hexadecimal digits \"sd\".\n" + description: | + When Snssai needs to be converted to string (e.g. when used in maps as key), the string shall be composed of one to three digits "sst" optionally followed by "-" and 6 hexadecimal digits "sd". properties: sst: description: "Unsigned integer, within the range 0 to 255, representing\ @@ -1572,16 +1734,8 @@ components: title: sst type: integer sd: - description: "3-octet string, representing the Slice Differentiator, in\ - \ hexadecimal representation. Each character in the string shall take\ - \ a value of \"0\" to \"9\", \"a\" to \"f\" or \"A\" to \"F\" and shall\ - \ represent 4 bits. The most significant character representing the 4\ - \ most significant bits of the SD shall appear first in the string, and\ - \ the character representing the 4 least significant bit of the SD shall\ - \ appear last in the string. This is an optional parameter that complements\ - \ the Slice/Service type(s) to allow to differentiate amongst multiple\ - \ Network Slices of the same Slice/Service type. This IE shall be absent\ - \ if no SD value is associated with the SST.\n" + description: | + 3-octet string, representing the Slice Differentiator, in hexadecimal representation. Each character in the string shall take a value of "0" to "9", "a" to "f" or "A" to "F" and shall represent 4 bits. The most significant character representing the 4 most significant bits of the SD shall appear first in the string, and the character representing the 4 least significant bit of the SD shall appear last in the string. This is an optional parameter that complements the Slice/Service type(s) to allow to differentiate amongst multiple Network Slices of the same Slice/Service type. This IE shall be absent if no SD value is associated with the SST. pattern: "^[A-Fa-f0-9]{6}$" title: sd type: string @@ -1590,8 +1744,8 @@ components: title: Snssai type: object PlmnIdNid: - description: "Contains the serving core network operator PLMN ID and, for an\ - \ SNPN, the NID that together with the PLMN ID identifies the SNPN.\n" + description: | + Contains the serving core network operator PLMN ID and, for an SNPN, the NID that together with the PLMN ID identifies the SNPN. properties: mcc: description: "Mobile Country Code part of the PLMN, comprising 3 digits,\ @@ -1601,7 +1755,7 @@ components: type: string mnc: description: "Mobile Network Code part of the PLMN, comprising 2 or 3 digits,\ - \ as defined in clause 9.3.3.5 of 3GPP TS 38.413." + \ as defined in clause 9.3.3.5 of 3GPP TS 38.413. \n" pattern: "^\\d{2,3}$" title: Mnc type: string @@ -1655,75 +1809,3 @@ components: \ an alphabetic character or a digit.\n" title: NfServiceSetId type: string - Cause_anyOf: - enum: - - OVERLIMIT_USAGE - - UNEXPECTED_REASON - title: Cause_anyOf - type: string - SecurityMethod_anyOf: - enum: - - PSK - - PKI - - OAUTH - title: SecurityMethod_anyOf - type: string - NFType_anyOf: - enum: - - NRF - - UDM - - AMF - - SMF - - AUSF - - NEF - - PCF - - SMSF - - NSSF - - UDR - - LMF - - GMLC - - 5G_EIR - - SEPP - - UPF - - N3IWF - - AF - - UDSF - - BSF - - CHF - - NWDAF - - PCSCF - - CBCF - - HSS - - UCMF - - SOR_AF - - SPAF - - MME - - SCSAS - - SCEF - - SCP - - NSSAAF - - ICSCF - - SCSCF - - DRA - - IMS_AS - - AANF - - 5G_DDNMF - - NSACF - - MFAF - - EASDF - - DCCF - - MB_SMF - - TSCTSF - - ADRF - - GBA_BSF - - CEF - - MB_UPF - - NSWOF - - PKMF - - MNPF - - SMS_GMSC - - SMS_IWMSC - - MBSF - - MBSTF - title: NFType_anyOf - type: string diff --git a/services/TS29222_CAPIF_Security_API/capif_security/typing_utils.py b/services/TS29222_CAPIF_Security_API/capif_security/typing_utils.py index 0563f81..74e3c91 100644 --- a/services/TS29222_CAPIF_Security_API/capif_security/typing_utils.py +++ b/services/TS29222_CAPIF_Security_API/capif_security/typing_utils.py @@ -1,5 +1,3 @@ -# coding: utf-8 - import sys if sys.version_info < (3, 7): diff --git a/services/TS29222_CAPIF_Security_API/capif_security/util.py b/services/TS29222_CAPIF_Security_API/capif_security/util.py index 72d18d9..97d93c9 100644 --- a/services/TS29222_CAPIF_Security_API/capif_security/util.py +++ b/services/TS29222_CAPIF_Security_API/capif_security/util.py @@ -1,8 +1,7 @@ import datetime -import six -import typing_utils - +import typing +from capif_security import typing_utils def serialize_clean_camel_case(obj): res = obj.to_dict() @@ -64,7 +63,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) @@ -93,7 +92,7 @@ def _deserialize_primitive(data, klass): try: value = klass(data) except UnicodeEncodeError: - value = six.u(data) + value = data except TypeError: value = data return value @@ -158,7 +157,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)): @@ -193,4 +192,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_Security_API/git_push.sh b/services/TS29222_CAPIF_Security_API/git_push.sh index 9405f72..f53a75d 100644 --- a/services/TS29222_CAPIF_Security_API/git_push.sh +++ b/services/TS29222_CAPIF_Security_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_Security_API/main.py b/services/TS29222_CAPIF_Security_API/main.py deleted file mode 100644 index d770937..0000000 --- a/services/TS29222_CAPIF_Security_API/main.py +++ /dev/null @@ -1,61 +0,0 @@ - -from capif_security.models import ServiceSecurity - - -json_data = { - "securityInfo": [ - { - "interfaceDetails": { - "ipv4Addr": "string", - "ipv6Addr": "string", - "port": 65535, - "securityMethods": [ - "PSK", - "PKI" - ] - }, - "aefId": "string", - "apiId": "string", - "prefSecurityMethods": [ - "PSK", - "PKI" - ], - "selSecurityMethod": "PSK", - "authenticationInfo": "string", - "authorizationInfo": "string" - }, - { - "interfaceDetails": { - "ipv4Addr": "string", - "ipv6Addr": "string", - "port": 65535, - "securityMethods": [ - "PSK", - "string" - ] - }, - "aefId": "string", - "apiId": "string", - "prefSecurityMethods": [ - "PSK", - "string" - ], - "selSecurityMethod": "PSK", - "authenticationInfo": "string", - "authorizationInfo": "string" - } - ], - "notificationDestination": "string", - "requestTestNotification": True, - "websockNotifConfig": { - "websocketUri": "string", - "requestWebsocketUri": True - }, - "supportedFeatures": "fff" - } - -#print(json_data) - -my_ser = ServiceSecurity.from_dict(json_data) - -print(my_ser) \ No newline at end of file diff --git a/services/TS29222_CAPIF_Security_API/requirements.txt b/services/TS29222_CAPIF_Security_API/requirements.txt index b92f321..a226bf8 100644 --- a/services/TS29222_CAPIF_Security_API/requirements.txt +++ b/services/TS29222_CAPIF_Security_API/requirements.txt @@ -22,4 +22,4 @@ opentelemetry-sdk == 1.17.0 flask_executor == 1.0.0 Werkzeug == 2.2.3 gunicorn == 22.0.0 -packaging == 24.0 +packaging == 24.0 \ No newline at end of file diff --git a/services/TS29222_CAPIF_Security_API/setup.py b/services/TS29222_CAPIF_Security_API/setup.py index d763e2e..9653f40 100644 --- a/services/TS29222_CAPIF_Security_API/setup.py +++ b/services/TS29222_CAPIF_Security_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': ['capif_security=capif_security.__main__:main']}, long_description="""\ - API for CAPIF security management. © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. + API for CAPIF security management. © 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. """ ) diff --git a/services/TS29222_CAPIF_Security_API/test-requirements.txt b/services/TS29222_CAPIF_Security_API/test-requirements.txt index 202a684..58f51d6 100644 --- a/services/TS29222_CAPIF_Security_API/test-requirements.txt +++ b/services/TS29222_CAPIF_Security_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_Security_API/tox.ini b/services/TS29222_CAPIF_Security_API/tox.ini index f9b3b3b..17b99b7 100644 --- a/services/TS29222_CAPIF_Security_API/tox.ini +++ b/services/TS29222_CAPIF_Security_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=capif_security diff --git a/tests/libraries/security_api/bodyRequests.py b/tests/libraries/security_api/bodyRequests.py index 6adcc4c..dabee87 100644 --- a/tests/libraries/security_api/bodyRequests.py +++ b/tests/libraries/security_api/bodyRequests.py @@ -76,10 +76,10 @@ def create_security_notification_body(api_invoker_id, api_ids, cause="OVERLIMIT_ return data -def create_access_token_req_body(client_id, scope, client_secret=None,grant_type="client_credentials"): +def create_access_token_req_body(client_id, scope, client_secret=None, grant_type="client_credentials"): data = { - "client_id": client_id, "grant_type": grant_type, + "client_id": client_id, "scope": scope } -- GitLab From f9e05a72f1073bf855d8880666466c6e6d23777f Mon Sep 17 00:00:00 2001 From: Pelayo Torres Date: Tue, 10 Sep 2024 14:51:01 +0200 Subject: [PATCH 12/15] Events service logic --- .../controllers/default_controller.py | 16 +++-- .../capif_events/core/events_apis.py | 71 ++++++++++++++++++- 2 files changed, 80 insertions(+), 7 deletions(-) diff --git a/services/TS29222_CAPIF_Events_API/capif_events/controllers/default_controller.py b/services/TS29222_CAPIF_Events_API/capif_events/controllers/default_controller.py index 7cc1688..fc926a7 100644 --- a/services/TS29222_CAPIF_Events_API/capif_events/controllers/default_controller.py +++ b/services/TS29222_CAPIF_Events_API/capif_events/controllers/default_controller.py @@ -88,7 +88,7 @@ def subscriber_id_subscriptions_subscription_id_delete(subscriber_id, subscripti return res -def subscriber_id_subscriptions_subscription_id_patch(subscriber_id, subscription_id, event_subscription_patch): # noqa: E501 +def subscriber_id_subscriptions_subscription_id_patch(subscriber_id, subscription_id, body): # noqa: E501 """subscriber_id_subscriptions_subscription_id_patch Modification of an existing individual CAPIF Event Subscription. # noqa: E501 @@ -103,11 +103,13 @@ def subscriber_id_subscriptions_subscription_id_patch(subscriber_id, subscriptio :rtype: Union[EventSubscription, Tuple[EventSubscription, int], Tuple[EventSubscription, int, Dict[str, str]] """ if connexion.request.is_json: - event_subscription_patch = EventSubscriptionPatch.from_dict(connexion.request.get_json()) # noqa: E501 - return 'do some magic!' + body = EventSubscriptionPatch.from_dict(connexion.request.get_json()) # noqa: E501 + + res = events_ops.patch_event(body, subscriber_id, subscription_id) + return res -def subscriber_id_subscriptions_subscription_id_put(subscriber_id, subscription_id, event_subscription): # noqa: E501 +def subscriber_id_subscriptions_subscription_id_put(subscriber_id, subscription_id, body): # noqa: E501 """subscriber_id_subscriptions_subscription_id_put Update of an existing individual CAPIF Event Subscription. # noqa: E501 @@ -122,5 +124,7 @@ def subscriber_id_subscriptions_subscription_id_put(subscriber_id, subscription_ :rtype: Union[EventSubscription, Tuple[EventSubscription, int], Tuple[EventSubscription, int, Dict[str, str]] """ if connexion.request.is_json: - event_subscription = EventSubscription.from_dict(connexion.request.get_json()) # noqa: E501 - return 'do some magic!' + body = EventSubscription.from_dict(connexion.request.get_json()) # noqa: E501 + + res = events_ops.put_event(body, subscriber_id, subscription_id) + return res diff --git a/services/TS29222_CAPIF_Events_API/capif_events/core/events_apis.py b/services/TS29222_CAPIF_Events_API/capif_events/core/events_apis.py index 14cddb0..51fcafd 100644 --- a/services/TS29222_CAPIF_Events_API/capif_events/core/events_apis.py +++ b/services/TS29222_CAPIF_Events_API/capif_events/core/events_apis.py @@ -8,11 +8,12 @@ from flask import current_app, Flask, Response import json from ..encoder import JSONEncoder from ..models.problem_details import ProblemDetails +from capif_events.models.event_subscription import EventSubscription # noqa: E501 from .resources import Resource from bson import json_util from .responses import internal_server_error, not_found_error, make_response, bad_request_error from ..db.db import MongoDatabse -from ..util import serialize_clean_camel_case +from ..util import serialize_clean_camel_case, clean_empty, dict_to_camel_case from .auth_manager import AuthManager @@ -118,5 +119,73 @@ class EventSubscriptionsOperations(Resource): exception= "An exception occurred in delete event" current_app.logger.error(exception + "::" + str(e)) return internal_server_error(detail=exception, cause=str(e)) + + def put_event(self, event_subscription, subscriber_id, subscription_id): + try: + mycol = self.db.get_col_by_name(self.db.event_collection) + + current_app.logger.debug("Updating event subscription") + + result = self.__check_subscriber_id(subscriber_id) + + if isinstance(result, Response): + return result + + my_query = {'subscriber_id': subscriber_id, + 'subscription_id': subscription_id} + eventdescription = mycol.find_one(my_query) + + if eventdescription is None: + current_app.logger.error("Event subscription not found") + return not_found_error(detail="Event subscription not exist", cause="Event API subscription id not found") + body = event_subscription.to_dict() + + body["subscriber_id"] = subscriber_id + body["subscription_id"] = subscription_id + + mycol.replace_one(my_query, body) + current_app.logger.debug("Event subscription updated from database") + + + res = make_response(object=serialize_clean_camel_case(event_subscription), status=200) + + return res + + except Exception as e: + exception= "An exception occurred in updating event" + current_app.logger.error(exception + "::" + str(e)) + return internal_server_error(detail=exception, cause=str(e)) + + + def patch_event(self, event_subscription, subscriber_id, subscription_id): + try: + mycol = self.db.get_col_by_name(self.db.event_collection) + + current_app.logger.debug("Patching event subscription") + result = self.__check_subscriber_id(subscriber_id) + + if isinstance(result, Response): + return result + my_query = {'subscriber_id': subscriber_id, + 'subscription_id': subscription_id} + eventdescription = mycol.find_one(my_query) + + if eventdescription is None: + current_app.logger.error("Event subscription not found") + return not_found_error(detail="Event subscription not exist", cause="Event API subscription id not found") + + body = clean_empty(event_subscription.to_dict()) + document = mycol.update_one(my_query, {"$set":body}) + document = mycol.find_one(my_query) + current_app.logger.debug("Event subscription patched from database") + + res = make_response(object=EventSubscription.from_dict(dict_to_camel_case(document)), status=200) + + return res + + except Exception as e: + exception= "An exception occurred in patching event" + current_app.logger.error(exception + "::" + str(e)) + return internal_server_error(detail=exception, cause=str(e)) -- GitLab From b844a57a78df9d059a4b0bfd3cbdf8bba44dc724 Mon Sep 17 00:00:00 2001 From: Pelayo Torres Date: Thu, 19 Sep 2024 16:37:34 +0200 Subject: [PATCH 13/15] Api status logic --- .../core/serviceapidescriptions.py | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/services/TS29222_CAPIF_Publish_Service_API/published_apis/core/serviceapidescriptions.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/core/serviceapidescriptions.py index f32b7b2..9d73d37 100644 --- a/services/TS29222_CAPIF_Publish_Service_API/published_apis/core/serviceapidescriptions.py +++ b/services/TS29222_CAPIF_Publish_Service_API/published_apis/core/serviceapidescriptions.py @@ -116,8 +116,14 @@ class PublishServiceOperations(Resource): if res.status_code == 201: current_app.logger.info("Service published") - RedisEvent("SERVICE_API_AVAILABLE", "apiIds", - [str(api_id)]).send_event() + if serviceapidescription.api_status is None or len(serviceapidescription.api_status.aef_ids) > 0: + current_app.logger.info("Service available") + RedisEvent("SERVICE_API_AVAILABLE", "apiIds", + [str(api_id)]).send_event() + else: + current_app.logger.info("Service unavailable") + RedisEvent("SERVICE_API_UNAVAILABLE", "apiIds", + [str(api_id)]).send_event() return res except Exception as e: @@ -226,13 +232,25 @@ class PublishServiceOperations(Resource): result = clean_empty(result) current_app.logger.debug("Updated service api") + service_api_description_updated = dict_to_camel_case(result) response = make_response( object=service_api_description_updated, status=200) + if response.status_code == 200: RedisEvent("SERVICE_API_UPDATE", "serviceAPIDescriptions", [ service_api_description_updated]).send_event() + if "apiStatus" not in service_api_description_updated or len(service_api_description_updated["apiStatus"]["aefIds"]) > 0: + current_app.logger.info("Service available") + RedisEvent("SERVICE_API_AVAILABLE", "apiIds", + [str(service_api_id)]).send_event() + else: + current_app.logger.info("Service unavailable") + RedisEvent("SERVICE_API_UNAVAILABLE", "apiIds", + [str(service_api_id)]).send_event() + + return response except Exception as e: -- GitLab From 79b8a1b2ad845e499d1e7e03d90d5b5847144c8d Mon Sep 17 00:00:00 2001 From: Pelayo Torres Date: Mon, 23 Sep 2024 10:43:39 +0200 Subject: [PATCH 14/15] Skip capif_security_api-24 --- tests/features/CAPIF Security Api/capif_security_api.robot | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/features/CAPIF Security Api/capif_security_api.robot b/tests/features/CAPIF Security Api/capif_security_api.robot index e50d16a..2f55078 100644 --- a/tests/features/CAPIF Security Api/capif_security_api.robot +++ b/tests/features/CAPIF Security Api/capif_security_api.robot @@ -835,6 +835,7 @@ Retrieve access token with invalid client_id Retrieve access token with unsupported grant_type [Tags] capif_security_api-24 + Skip Test ${TEST_NAME} is not currently supported by CAPIF # Default Invoker Registration and Onboarding # Register APF ${register_user_info_provider}= Provider Default Registration -- GitLab From 1634f43073fb0a06fc8998c8d0ec1399ea615f23 Mon Sep 17 00:00:00 2001 From: Pelayo Torres Date: Mon, 23 Sep 2024 11:28:24 +0200 Subject: [PATCH 15/15] Fix issues from staging merge --- ...pi_invoker_enrolment_details_controller.py | 4 +-- .../api_provider_management/encoder.py | 2 +- .../logs/controllers/default_controller.py | 16 ++++++------ .../controllers/default_controller.py | 25 +++++++++---------- .../controllers/default_controller.py | 8 +++--- .../controllers/default_controller.py | 2 +- ...individual_apf_published_api_controller.py | 4 +-- 7 files changed, 30 insertions(+), 31 deletions(-) diff --git a/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/controllers/individual_api_invoker_enrolment_details_controller.py b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/controllers/individual_api_invoker_enrolment_details_controller.py index c330b69..6f1a05f 100644 --- a/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/controllers/individual_api_invoker_enrolment_details_controller.py +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/controllers/individual_api_invoker_enrolment_details_controller.py @@ -21,6 +21,6 @@ def modify_ind_api_invoke_enrolment(onboarding_id, api_invoker_enrolment_details :rtype: Union[APIInvokerEnrolmentDetails, Tuple[APIInvokerEnrolmentDetails, int], Tuple[APIInvokerEnrolmentDetails, int, Dict[str, str]] """ - if connexion.request.is_json: - api_invoker_enrolment_details_patch = APIInvokerEnrolmentDetailsPatch.from_dict(connexion.request.get_json()) # noqa: E501 + if request.is_json: + api_invoker_enrolment_details_patch = APIInvokerEnrolmentDetailsPatch.from_dict(request.get_json()) # noqa: E501 return 'do some magic!' diff --git a/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/encoder.py b/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/encoder.py index 3747c4b..2f096e7 100644 --- a/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/encoder.py +++ b/services/TS29222_CAPIF_API_Provider_Management_API/api_provider_management/encoder.py @@ -1,7 +1,7 @@ from connexion.jsonifier import JSONEncoder import six -from .models.base_model_ import Model +from .models.base_model import Model class CustomJSONEncoder(JSONEncoder): diff --git a/services/TS29222_CAPIF_Auditing_API/logs/controllers/default_controller.py b/services/TS29222_CAPIF_Auditing_API/logs/controllers/default_controller.py index 8a278a9..6e0180e 100644 --- a/services/TS29222_CAPIF_Auditing_API/logs/controllers/default_controller.py +++ b/services/TS29222_CAPIF_Auditing_API/logs/controllers/default_controller.py @@ -66,14 +66,14 @@ def api_invocation_logs_get(aef_id=None, api_invoker_id=None, time_range_start=N time_range_start = util.deserialize_datetime(time_range_start) time_range_end = util.deserialize_datetime(time_range_end) - if connexion.request.is_json: - protocol = Protocol.from_dict(connexion.request.get_json()) # noqa: E501 - if connexion.request.is_json: - operation = Operation.from_dict(connexion.request.get_json()) # noqa: E501 - if connexion.request.is_json: - src_interface = InterfaceDescription.from_dict(connexion.request.get_json()) # noqa: E501 - if connexion.request.is_json: - dest_interface = InterfaceDescription.from_dict(connexion.request.get_json()) # noqa: E501 + if request.is_json: + protocol = Protocol.from_dict(request.get_json()) # noqa: E501 + if request.is_json: + operation = Operation.from_dict(request.get_json()) # noqa: E501 + if request.is_json: + src_interface = InterfaceDescription.from_dict(request.get_json()) # noqa: E501 + if request.is_json: + dest_interface = InterfaceDescription.from_dict(request.get_json()) # noqa: E501 query_params = {"aef_id": aef_id, "api_invoker_id": api_invoker_id, diff --git a/services/TS29222_CAPIF_Discover_Service_API/service_apis/controllers/default_controller.py b/services/TS29222_CAPIF_Discover_Service_API/service_apis/controllers/default_controller.py index 4e516f1..d8b6c64 100644 --- a/services/TS29222_CAPIF_Discover_Service_API/service_apis/controllers/default_controller.py +++ b/services/TS29222_CAPIF_Discover_Service_API/service_apis/controllers/default_controller.py @@ -1,4 +1,3 @@ -import connexion from typing import Dict from typing import Tuple from typing import Union @@ -55,18 +54,18 @@ def all_service_apis_get(api_invoker_id, api_name=None, api_version=None, comm_t :rtype: Union[DiscoveredAPIs, Tuple[DiscoveredAPIs, int], Tuple[DiscoveredAPIs, int, Dict[str, str]] """ - if connexion.request.is_json: - comm_type = CommunicationType.from_dict(connexion.request.get_json()) # noqa: E501 - if connexion.request.is_json: - protocol = Protocol.from_dict(connexion.request.get_json()) # noqa: E501 - if connexion.request.is_json: - data_format = DataFormat.from_dict(connexion.request.get_json()) # noqa: E501 - if connexion.request.is_json: - preferred_aef_loc = AefLocation.from_dict(connexion.request.get_json()) # noqa: E501 - if connexion.request.is_json: - ue_ip_addr = IpAddrInfo.from_dict(connexion.request.get_json()) # noqa: E501 - if connexion.request.is_json: - service_kpis = ServiceKpis.from_dict(connexion.request.get_json()) # noqa: E501 + if request.is_json: + comm_type = CommunicationType.from_dict(request.get_json()()) # noqa: E501 + if request.is_json: + protocol = Protocol.from_dict(request.get_json()()) # noqa: E501 + if request.is_json: + data_format = DataFormat.from_dict(request.get_json()()) # noqa: E501 + if request.is_json: + preferred_aef_loc = AefLocation.from_dict(request.get_json()()) # noqa: E501 + if request.is_json: + ue_ip_addr = IpAddrInfo.from_dict(request.get_json()()) # noqa: E501 + if request.is_json: + service_kpis = ServiceKpis.from_dict(request.get_json()()) # noqa: E501 current_app.logger.info("Discovering service apis") query_params = {"api_name":api_name, "api_version":api_version, "comm_type":comm_type, "protocol":protocol, "aef_id":aef_id, "data_format":data_format, diff --git a/services/TS29222_CAPIF_Events_API/capif_events/controllers/default_controller.py b/services/TS29222_CAPIF_Events_API/capif_events/controllers/default_controller.py index 9067d82..bdf9177 100644 --- a/services/TS29222_CAPIF_Events_API/capif_events/controllers/default_controller.py +++ b/services/TS29222_CAPIF_Events_API/capif_events/controllers/default_controller.py @@ -101,8 +101,8 @@ def subscriber_id_subscriptions_subscription_id_patch(subscriber_id, subscriptio :rtype: Union[EventSubscription, Tuple[EventSubscription, int], Tuple[EventSubscription, int, Dict[str, str]] """ - if connexion.request.is_json: - body = EventSubscriptionPatch.from_dict(connexion.request.get_json()) # noqa: E501 + if request.is_json: + body = EventSubscriptionPatch.from_dict(request.get_json()) # noqa: E501 res = events_ops.patch_event(body, subscriber_id, subscription_id) return res @@ -122,8 +122,8 @@ def subscriber_id_subscriptions_subscription_id_put(subscriber_id, subscription_ :rtype: Union[EventSubscription, Tuple[EventSubscription, int], Tuple[EventSubscription, int, Dict[str, str]] """ - if connexion.request.is_json: - body = EventSubscription.from_dict(connexion.request.get_json()) # noqa: E501 + if request.is_json: + body = EventSubscription.from_dict(request.get_json()) # noqa: E501 res = events_ops.put_event(body, subscriber_id, subscription_id) return res 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 d7df8bc..9cce0fa 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 @@ -76,7 +76,7 @@ def apf_id_service_apis_post(apf_id, body): # noqa: E501 :rtype: Union[ServiceAPIDescription, Tuple[ServiceAPIDescription, int], Tuple[ServiceAPIDescription, int, Dict[str, str]] """ current_app.logger.info("Publishing service") - current_app.logger.info(connexion.request.content_type) + current_app.logger.info(request.content_type) if request.is_json: body = ServiceAPIDescription.from_dict(request.get_json()) # noqa: E501 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 index 5b769b7..cf99ed5 100644 --- 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 @@ -23,6 +23,6 @@ def modify_ind_apf_pub_api(service_api_id, apf_id, service_api_description_patch :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 + if request.is_json: + service_api_description_patch = ServiceAPIDescriptionPatch.from_dict(request.get_json()) # noqa: E501 return 'do some magic!' -- GitLab