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 e0046a76daea25433263092830c0b5e9395780c8..dd0e2a9e7892c7379f62964a2f181f7327bd1220 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 4b448de535c7dd619da0df6d8221995dbd5d118a..18bb4182dd01428f1d4c3c2145501ee5d40455a3 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/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 0000000000000000000000000000000000000000..6f1a05f4df21135200e97c2b0359ea58b7e06542 --- /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 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_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 526f8b29defbe0156c72ce238a91327c2759b46e..bbf091b0f0dd83f0526e54aa69ce1e54eeaf6042 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,7 @@ from connexion.jsonifier import JSONEncoder import six -from models.base_model_ import Model +from api_invoker_management.models.base_model import Model class CustomJSONEncoder(JSONEncoder): @@ -10,7 +10,7 @@ class CustomJSONEncoder(JSONEncoder): 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 1aa7151920f7bb18378ee65b526ed45649060d14..2c0f16e24ed2d1503c66bcca8c7f466872b68988 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 0000000000000000000000000000000000000000..226cef2ca76d67ae37074e3a5c0a7598499f151e --- /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 23a84c93cb8a37b17d92d6899d8f5d6a538ce1ee..ea2ec90ce46c2f8758392dc8fd19b81fc3e73fd0 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 b7667b5305f7992a9497fdb2f43ee54fa020391d..fdfef7e3168614217e8e99770c4597a7b377eb80 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 0000000000000000000000000000000000000000..0ac660c778cd1273933f57fa8550d3a6d5121a3e --- /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 0000000000000000000000000000000000000000..6054d75cff9eec3dc127705dbfe4de47ca586d0e --- /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 0000000000000000000000000000000000000000..c67e0f6c44a09027d076bf6c3f208ea21459976f --- /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 5b0ea2f02325d69c4c325b915147e0bacd818dc8..9975e6c9c4a3bfadb3f99b319a079ab3491458b8 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 0000000000000000000000000000000000000000..a70b83c34ba63bbbcda75acd4e15d148c1dd49d5 --- /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 48e559c2cf651aa97b44ec8fef76623a20c41705..a09339c5d31a10e5b8a6699f954ec70da81eb9f0 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 461a002acf4838d1a1f4b68c772cb0efd63c6e8a..0000000000000000000000000000000000000000 --- 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 5663c98c162751b3a9cf4f5bd8e91a783ed24bda..c39874deb9bfb859be2a02744d8a5afb41a1fe6e 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 c8ed3beefabcdb8b4193971d961d5053d37a49ba..3b5ef198dfed0730232ba741b211c2172a876ad0 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 0000000000000000000000000000000000000000..4857686559c4606f504530f3547e908aec56619a --- /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 0000000000000000000000000000000000000000..fdbb7ff543cfa481fd14a00e720809674d988ce1 --- /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 0000000000000000000000000000000000000000..11758707829f0cb959165419f262e5fd975f5d52 --- /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 0000000000000000000000000000000000000000..1e82fce5b9cfbd200e2c3f074c68640cb21b4e3b --- /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 1e0050bf2319d28e41d59cbbd8774d40e1068576..8f24ab283d3ada67cf089d5baa0d6eb1643a3117 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 1fa0f4c341232cf077cb42cd89748bd83ea856e7..9fd06e46e513480f61945a8037276677717819b4 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 0000000000000000000000000000000000000000..f831d5952e0705b835a9060ff74402ce190f1da2 --- /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 0000000000000000000000000000000000000000..fbe1a2456c2fb4de4bcab9fc4c7c9e4af7a6ea65 --- /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 a022aab149daaa87ac8d4bf442629f4464ed38c2..ac8e6e66de95acc2f35e8a52df2052756b8eb601 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 0000000000000000000000000000000000000000..0b4616707e66da6b85a951f51c545733f554eaac --- /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 0000000000000000000000000000000000000000..b68d59031e301f814096b35da4977f4b72e99fc8 --- /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 0000000000000000000000000000000000000000..80e6b6b9ede8a26d2fb9b83bea78d58e3e1467fb --- /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 0000000000000000000000000000000000000000..e53368321da9f2ff111f09e075fa5ddfd5517787 --- /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 17b8de0cc5cea56ab477174c067d79960f1d5e1f..8b5f6ea8f7a05391d1dcaefb5ff9601324fa52e9 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 09a99cf6876b23c6dcb89062d68e461bd377deb1..95d256ae0656e35c4e0a2b922cda2c88a81e4382 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 620d6a8c5bc4330af08abb3d8c2ffe19876c0359..846011b5665cf6866efeb3d0eb3ca7a349fe2850 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 f3fff37e480d4ec18323aeb476126c27ea8956ad..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..82fa8c781264fa874accf90003c2ea4d899376ee --- /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 0000000000000000000000000000000000000000..514bfe7817014a40b3742193bed2b5a4986020a0 --- /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 0000000000000000000000000000000000000000..71170148627ad7774dd2a94b14421adbf6d3e529 --- /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 0000000000000000000000000000000000000000..2b28dd8f0d8e35304d58ca8ca77d3ba20150bf67 --- /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 0000000000000000000000000000000000000000..09c55edb3805950ca3a58a5f9dd48a891e8437bf --- /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 0000000000000000000000000000000000000000..4b939caf73eaf95c9c3b22755166036b625d875e --- /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 c28a360726c8d1d8e95150683e71e258aeddf38e..006c0f9bf0d82e0273aba2b2e541e4a376cc605d 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 f68a15d847177cf1194f6cc877111b85324032e2..efdaa084135ea6f37c26bde1995d13e571bf273a 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 01b94e667f4db5639022fd337c236cd2ed63a2bf..64da80c77306ac23896a4b858afc0f43d55d5dc7 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 0000000000000000000000000000000000000000..5bdb56a9f7ac2b4be57699df98fc3c80803f5898 --- /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 e2cea42e3cb8af3beb0770028804f81b35b8d421..b9b047b0b2d38f2028bba1ef0220fc3904939cdd 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 e66fa6543f0aae1fd4d7c1139980d4366f746b41..0a9e7394c061a8f83f4fdf731e7b674b19cce3ed 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 e446cf32eef91e444c63b27e7c8d080d9f8bd951..0000000000000000000000000000000000000000 --- 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 e194fdb10782d7cc7f07f34aa2415578f5829861..c5c7515546282d74b25dd01723c17360b1ebd008 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 0000000000000000000000000000000000000000..f0f59bd140eace2af1cc507d8c5f9b9367f673f1 --- /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 4a369d9bdca15de00797e0cb095963f19d1ba0db..e4f8263e4b1e16a1af968802d32357e1f8e427f6 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 eafceb4d5ed7312cdc1d3a9b0c380de804a0f4f9..5a361e9093186664f9ada6f200c2f85a95b59474 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 0000000000000000000000000000000000000000..6db89075c71b3773cb6d04112d7bdc0d0ebc2216 --- /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 0000000000000000000000000000000000000000..613c6cc826446a42c9b64f05eee13f7994978042 --- /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 6f0521ba1067133e584e2865bba945679fd47785..463292997cf2287d51469b70fd22e53d418480d0 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 4bf3f9217a9670b20ad71b891e4c5e4e72ec020f..4d3f5d7d2d92b99d47c0f6337086efc2d7112d12 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 d574fb198f0177162587e43738559ffe9c8b8965..12715c6e2c68e290d5182c0d8a2e3123ef40013c 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 0000000000000000000000000000000000000000..6f062ad629cc32f04937e317316abef598410589 --- /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 0000000000000000000000000000000000000000..058637b03e629b4aefb1ab02081472a71d7d6e04 --- /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 0000000000000000000000000000000000000000..598c8812a2d9d4209f718d70a4ef4d9c075d75cc --- /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 0563f81fd5345282a33705038dfa77fdcaa15872..74e3c913a7db6246bc765f147ca872996112c6bb 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 31af7ab10eab38338398dd85eadcfa42e500519d..ec810cbc8af10eb69af64eccac418a7a6e61252c 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 9405f72e950cdb8ca24c3cf4d15cee7eac62fde7..f53a75d4fabe760cce49eddfd62fcc702938ea90 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 32a15be25ab0afc062f029940f58f84ccb466548..35990d041772dab3dc0c2968aebfed0ebf583977 100644 --- a/services/TS29222_CAPIF_API_Invoker_Management_API/requirements.txt +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/requirements.txt @@ -21,4 +21,4 @@ opentelemetry-sdk == 1.19.0 flask_executor == 1.0.0 werkzeug == 3.0.4 gunicorn == 22.0.0 -packaging == 24.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 8bd54a4473b3b6f1d29aca7e7bf80ada78ed124f..cbb93c780fd3b6b7e88b99f815c0863190014412 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 @@ -33,7 +31,7 @@ setup( entry_points={ 'console_scripts': ['api_invoker_management=api_invoker_management.__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 202a684feef71ff540d6aa528d348febf0b37d1e..58f51d6a00272d7515a20e3618f345b73c68afa0 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 80a64e2ad2a49bb6891bd06f0f2e74031b41c342..ec13971b7ab8b5ecfe45cff1192932b2826e8eb3 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 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 4baa18d102547e4af62eb3fcf54176b0ad20ad2e..3ffb37ba66517527d2b3be7f3de29fa88f4300df 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 4b448de535c7dd619da0df6d8221995dbd5d118a..18bb4182dd01428f1d4c3c2145501ee5d40455a3 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 c9acf914cff1769f2c2527ba1c6398f97c607d1c..3aa91ec68ea850ad7ece64da4412eb0da0423592 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 3885faf48ce2018d2cced30dcafece948fba0866..2fd6000eb32a51d8f3a8fe714d7725d209dae8fb 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 @@ -15,9 +16,6 @@ from functools import wraps import asyncio -import sys - - provider_management_ops = ProviderManagementOperations() valid_user = ControlAccess() @@ -55,9 +53,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") 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 9533e38346b29f76e2ec8961a7f45db758ddf1ad..c7e454b178a9e5f307c1adaf95e1fe3ee45bc73d 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 @@ -11,7 +11,6 @@ from cryptography import x509 provider_management_ops = ProviderManagementOperations() - def modify_ind_api_provider_enrolment(registration_id, body): # noqa: E501 """modify_ind_api_provider_enrolment @@ -22,9 +21,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 request.is_json: body = APIProviderEnrolmentDetailsPatch.from_dict(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 d40ce05a33f0ec2be29841b7153da636783796a1..2f096e70aa1ffc176dbb126b5990ae3176f7ccac 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): @@ -10,7 +10,7 @@ class CustomJSONEncoder(JSONEncoder): 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 785be4594c57a40d7cdc175382399c56cdfd471c..5ad7c47a4543a824e287222b79868098539a1c3b 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 b4d4f38ccbf4d55583af86cdf700339164da3668..3199537ff1a9938d3f7f4803f39b118a462f78fb 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 acd27280a669540b1aa61a46bb8769b2303dfa3e..e16230b9fcc41939819d7dc12bcd538d58e0be3f 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 9c2b1da61c34951fd9d5c9441e6e5ee580a993b4..7f3bb0f7d664e9af6d55a612a0e084217e1fb557 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 8d4b9b03cd933dd40e4d5efabb7781863e05b54e..0000000000000000000000000000000000000000 --- 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 eb21ba7e963f7062c81e444efd1a4ee9ab1d4f00..d6989b1a97a350d8708364e3d32b27c61fc150b9 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 bd3a034f6d93e20fafba7a238d4c89172ab4a603..4fd1d5c704da9d92ad275c890b9bb2fd9d8429f5 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 58aae71fa366b79b77982308d29a36a37de0738c..003aa181a9d0463a3f1d31ee83fc7ff6b21f5e81 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 44fe3443f43e2b09ef86fec1c55921eaa422bc51..6ce7d77bbdb0ba9c51ffeca432b4bc0472e3ff7d 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 7e1b08a5a690d25adfca1a4ad65b9d0a4ce5c642..3e4d440ccd438af954c02af936e20f10d9c8e36a 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 59ea36c94dd56e2d674f07c5c18368fd133e54c8..60fd3db1a7bedc3d233410272113cd3e81095ef3 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 0000000000000000000000000000000000000000..9853918d7cafeba3919e244ddc169d3e6d525449 --- /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 0000000000000000000000000000000000000000..2b12ff853a553615823367b5f557b5ea9e39f584 --- /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 0000000000000000000000000000000000000000..463aa435708c08be531b53dd8896fac13a92d266 --- /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 0563f81fd5345282a33705038dfa77fdcaa15872..74e3c913a7db6246bc765f147ca872996112c6bb 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 431a28c6f522dec54599eb6e30ac9f9e4a040d49..f533c8d8412a5d773f5974a5fe8de598d8683d53 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 0000000000000000000000000000000000000000..6026b0fa96078634d3455ab93d71dcdc78774276 --- /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 9405f72e950cdb8ca24c3cf4d15cee7eac62fde7..f53a75d4fabe760cce49eddfd62fcc702938ea90 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 ac408ac3938277e2847fe0056dcde52dd04290ef..9eba8bdd06c58a8f1c6e37ae56e4194f870d4c60 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 202a684feef71ff540d6aa528d348febf0b37d1e..58f51d6a00272d7515a20e3618f345b73c68afa0 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 5dbd9624ce969db078cb84dbd4a749a54258deba..371a15e8d747f18c6f0b33d5a0adadfa05c296d0 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 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 9024036c49dbed352a31b1de587254487b3cf568..eeda92fd5bcfe53d25713964b3ddc9a8a64b43b3 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 4be2c727ad97a7352120a34d6bd4afa3f77e2ff2..18bb4182dd01428f1d4c3c2145501ee5d40455a3 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 40feae4be1daaa8b8b1987f5fb318f79e56391b4..1222b0aaa2f6cd49ca656fe3a9c8ba7505ee9ccc 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 52174b1eee09160d184a65d3d412954f187240db..bb5a8ee66be1f856995f98b31fc2a1afc5158da7 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 526f8b29defbe0156c72ce238a91327c2759b46e..1a2eff60d43a3665de85db7d293747a609f160b3 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,7 @@ from connexion.jsonifier import JSONEncoder import six -from models.base_model_ import Model +from capif_acl.models.base_model import Model class CustomJSONEncoder(JSONEncoder): @@ -10,7 +10,7 @@ class CustomJSONEncoder(JSONEncoder): 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 4c4e60f91034863564e2c69f9c75a1d883d6990d..43aa01510ca1555d6ae03a34cc218ce97831fd23 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 b3cacd4164aab94158436597b462dc967f91a2f7..a851ac32261fd3721a82f77505c5cf69f79f3b30 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 86ffec0cf84c8c867ebbd8db1594eb2746140591..a22e84c5d0fea626662d8c7f11f0e3b0748c5a1d 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 cce5379c767ede112d5fdcdcffa34403bddb2884..fed13c9063cbe37ed84c0f21277fc66d7cd48868 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 88606c4107c7ac4b408a0548af2feb398233b555..a6789dc208edb61dbd24e16d0b40818638ae4467 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 25caab4e29a65d9df08d966a551618c69a2ffa45..ec494ca7d112f254c7460c45a08664488240971a 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 eaacad60592ff7acf1a9c2b7b71c21dfb6fd5083..b9c472403e124b08a48938396c05f8d0f91e9674 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 1621baa9a449be7d8bb2377e7b2b6fd590cbec5d..164693101b1be8d3fdaab38d81075cea20decf7c 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 44ed0bee14671018ffb842dfe7e98edf26875ec2..d2f9a54a6ba98b17f500e91dd30fcda0e4413771 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 0563f81fd5345282a33705038dfa77fdcaa15872..74e3c913a7db6246bc765f147ca872996112c6bb 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 72d18d9b7df0bfd24490b24c4b9d9bcd683ad9ef..110348b34b01994049d4781c0005e374ec71a8ad 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 275b7b6b91de3bcb6cb8228baf5ab704cee59c7e..78262fd2466073d6d8edb5721d96eeca932d458e 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 422ece88482f451c08b57e0109939c09bead2c20..58f51d6a00272d7515a20e3618f345b73c68afa0 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 f66b2d84cdaa91cec100c23e86388924a071a451..539b51bc024421711c1835fc20106a0e5a8963db 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 diff --git a/services/TS29222_CAPIF_Auditing_API/.openapi-generator/FILES b/services/TS29222_CAPIF_Auditing_API/.openapi-generator/FILES index f5bc02fc12670684750f50376d9d5d04a59ff38c..684a73b60645ff821764ab71687ecab433146cbe 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 4b448de535c7dd619da0df6d8221995dbd5d118a..18bb4182dd01428f1d4c3c2145501ee5d40455a3 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 17eb857e7f965899d1e251d68f3bf66c55d18bcd..7f120ad3805905f9098f0244cde751badfa9be84 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 9405f72e950cdb8ca24c3cf4d15cee7eac62fde7..f53a75d4fabe760cce49eddfd62fcc702938ea90 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 ead9ec5341d13bf3150ad460f174c3c91e714f3c..6e0180e02994df9e69052f3742d667e7dcb1c044 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 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_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 526f8b29defbe0156c72ce238a91327c2759b46e..b2bd64d4248a554e6a94b7909320aac8ac92af64 100644 --- a/services/TS29222_CAPIF_Auditing_API/logs/encoder.py +++ b/services/TS29222_CAPIF_Auditing_API/logs/encoder.py @@ -1,7 +1,7 @@ from connexion.jsonifier import JSONEncoder import six -from models.base_model_ import Model +from logs.models.base_model import Model class CustomJSONEncoder(JSONEncoder): @@ -10,7 +10,7 @@ class CustomJSONEncoder(JSONEncoder): 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 d8b2550fa7ec4c195af937a7e39decc6fbacec60..7669fe9aeafe6cbf5b9485fcaaef47cd897d6b2a 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 160eaa04eab544df66e788339368d145184d8fdc..56493bbf338d28e05b8220619df9f9c910957d40 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 7a8878e663fd02989c50e2aa4e485daaa4bec01e..952fa9da465881b2782b4b54e801b5fc186d44d0 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 17b30eb1400949497e5252839e7f64f71036499a..7da75a55e5b9aaa9fe037a084eabcc3a83d74762 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 4a0bc019d981720b6ea74ae97a2c8e92cfa67b8c..114057734a5b7f492caff2d07ea19f3bb0a239fb 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 0000000000000000000000000000000000000000..e56e9c1e4af413271a9d7dcca798a629f36df063 --- /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 0000000000000000000000000000000000000000..f25c77c3565d4e464e4fdd401efe977fa00666d9 --- /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 44c50ef1c67f97c4c4f7d65d046da5c11701fc0a..ef5604a6897f1eb98cb0b5163f48d8a121614801 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 6e9c9395bf61f32a0b1a23e2d32fc3cc61b8bc7a..a8efafdc6085191fa438d945f4fb3c3876a0672e 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 7d6eb401341f7a586f10cceecee1442eed136d07..0000000000000000000000000000000000000000 --- 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 28d45102e5cb5244a4062cf8199e0f8ae172a309..cae1546ad2822da02758053e9f6c4423da27ee14 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 8016cba0c427be10fbbdd3c5e239abdeb94a0960..989d9e4ced66ccbc86ae916f44e50504d292c5d2 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/security_method.py b/services/TS29222_CAPIF_Auditing_API/logs/models/security_method.py index ef1ce82fe6fb49d9a82f87e2a95699fe3d2b8931..b32bbf5b4f1927abc2e14debdc2756c368a7c4f8 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 cebc8770598e55b7b637025798e3ed0e3a722fb2..0000000000000000000000000000000000000000 --- 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 e619908ddac184867500ad9d38bccd2041fdf018..7a2cfcd004c5974c420a600f8427b48468a436c8 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 0000000000000000000000000000000000000000..a3e8ced6501ab3bb6f1e1da5399eb64f866eff04 --- /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 0000000000000000000000000000000000000000..edeb62131033dfee12a6a84dbabbd87bd6f24648 --- /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 0563f81fd5345282a33705038dfa77fdcaa15872..74e3c913a7db6246bc765f147ca872996112c6bb 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 d5deea1b7202ee5b603d373471d763f5953e6f2e..16287a2bbf448c361e237aea4f7bae9788cf87b9 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 65778780707cbf453302647c2c222081f01ab422..fe867a581d8d2126a3230c83ee015c78971e625b 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 202a684feef71ff540d6aa528d348febf0b37d1e..58f51d6a00272d7515a20e3618f345b73c68afa0 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 865c84958eb54cb4c30ea558c1d26f9bc10bd19f..1afa603e238fe893584dbde9e05a0a0a81c7841a 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 diff --git a/services/TS29222_CAPIF_Discover_Service_API/.openapi-generator/FILES b/services/TS29222_CAPIF_Discover_Service_API/.openapi-generator/FILES index e51407a84d6773ba25fcc8ecfcdd1043458ba25a..a2f706ddcae717fe58062908b3ab43a83c38e0e1 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 4b448de535c7dd619da0df6d8221995dbd5d118a..18bb4182dd01428f1d4c3c2145501ee5d40455a3 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 f522a7de8792c85b4b772ac934da91bc1be45fb1..d27fa9b368278b43c5782f7e38988d4c78927499 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 9405f72e950cdb8ca24c3cf4d15cee7eac62fde7..f53a75d4fabe760cce49eddfd62fcc702938ea90 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 2c81a78e019e640b140dbde5f6463f7784502ee2..d8b6c644f1f8f06da79d7362adac6fe9175ddef3 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,31 @@ +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 +39,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 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_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 526f8b29defbe0156c72ce238a91327c2759b46e..8f657c6c770a4960596c0dacdd0eeedfb4f8bab2 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,7 @@ from connexion.jsonifier import JSONEncoder import six -from models.base_model_ import Model +from service_apis.models.base_model import Model class CustomJSONEncoder(JSONEncoder): @@ -10,7 +10,7 @@ class CustomJSONEncoder(JSONEncoder): 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 f340ca4cbe53761655055bedcf5a80432fba729a..fcf63d51636b9e065f1ce91084bc35cfbc40fbfc 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 0000000000000000000000000000000000000000..25fe56a3fad4e8459d8804e21905e4b3bb9c18ad --- /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 03ed0fd9dd6d5071e907bb311d2f241a2bc8effe..f79d8eb3c355e63828844d3ccf69bcdec4a3794e 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 0000000000000000000000000000000000000000..81815062b82665fdb6beef607480538ae5cd9b61 --- /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 c9cf2aeb94fdc98e52cc5b2fc92580dcfbdb9a0f..7951efc4e59ab29f80728fa66996a0e24f5c8501 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 0000000000000000000000000000000000000000..67c1a70f5363b0456df711a94daac35e2a6b3e7d --- /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 793701c97c65291a6a2b5963d9ce036d72620e3f..04b99a7005e6482a49e0ecdff6ec079e1163c264 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 72b1a5399542f280e37398e67b0e521aaeaf8354..0000000000000000000000000000000000000000 --- 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 fdbb2cb3ff1727caa48cde4530c4297be28f3528..b98c3dc93e4592ce6548ff3cd132b1f97d9e0838 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 7fcf16131a48c558994eceeee671bd198a26280a..875a9539a991c3ec4d5f15bca03153c9a5aa89d3 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 10eca4993c19ef144c5dbea121ed312248a7ea20..e780b70e7d57108b72115a903180ea2d0b8da40f 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 0000000000000000000000000000000000000000..9f6206bcd5c7f4695174a8d64408f794bcb0836c --- /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 0000000000000000000000000000000000000000..21e0ee1924b54788f78d47968c49913060dc9b4d --- /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 0000000000000000000000000000000000000000..dafc996022a9fcef5272670b62c83308496e3250 --- /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 0000000000000000000000000000000000000000..4eae80d39265590e31ebc7b9adca753c1e1b9b70 --- /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 a51d99038c10e2ee7e69d760e1ed3edb87b81890..69348cab436d50e9842176551449990a7906eb62 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 7e3d8d7b3df0a628cc251ff89cc72c228c40bfef..67c79e30ad07e31258efcf5b0a08d97f7e9e7dda 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 0000000000000000000000000000000000000000..3cb739c62e704d23f91a66073abc042d25e18423 --- /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 0000000000000000000000000000000000000000..4b86f968cbfab20db046ca76e0141200c2ce635d --- /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 0000000000000000000000000000000000000000..17760c2e55a49bbb738f3272d4f51bcb9c871a57 --- /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 1c78b7cb57cad8fe2536540efe7db3c38edb22a1..d8164b5fac75c39477440978536712ce2def54cb 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 0000000000000000000000000000000000000000..e9fc81ec3ec241d3d5a2a6aec76c784565bac4e7 --- /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 0000000000000000000000000000000000000000..234643996e1681f5c234f492438d47dfb8b27b6f --- /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 0000000000000000000000000000000000000000..60550687102952f3a56fef710b9aa9fe005b5b5c --- /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 0000000000000000000000000000000000000000..92fc9d558f114156a022358b467ac7b0e99d8ff6 --- /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 96d3ead2bb94c623601aa05c482024dc3541b6a5..6e0b387e7e62b93fd21d96c5c9d1806e15efe8b7 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 d69836bd47b4a6ba49ef1eae04c792a36b05221e..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..a258d3397f6555f8c9e51e4b00294066b2f49c22 --- /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 0000000000000000000000000000000000000000..3245960ef4b756b5de186c44354661e080e65500 --- /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 0000000000000000000000000000000000000000..aadbd5106a6e375c101b473714f8031344d9aab5 --- /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 0000000000000000000000000000000000000000..271b19bfcf91d90b688e62e2e35cd0348344f189 --- /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 0000000000000000000000000000000000000000..7e7499cf5919f57f912865f5272d3785338b4a1f --- /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 0000000000000000000000000000000000000000..421b7c368899729ad2a81192cbb58dc5c9e17d4e --- /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 c9e028d410cd69cf4ca8e152c47f803e630b5f17..f4454d1e15f39f717679bd9524421ea34c3da25e 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 311b8e855bc31c12f57ad6c4e9b285fb092fc30c..6cc058a0f40893f6454827292bb68a8ed2ef3f9a 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 959ae6edc13e8815094174a13eea315c68dcbd0f..a82106480d2b41fc7d87d5bbd35379457b7e9c0d 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 0000000000000000000000000000000000000000..ee5b860a40b017dfde80888dca0ccddac8a0dbec --- /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 c78abb0e4bdba4f1fb50915e74d24c42f6e408e6..f530875d754e3032a2e791367b6a49f4f66b6abf 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 aa5a6a867110291e085122708f079f3f06b45a32..3215ddaaffaf47be94d63a3fcf2b88d7f70f191e 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 15ad9efd5cf4ee7283136d4d812fac45c45c3143..0000000000000000000000000000000000000000 --- 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 2941555999fae509abe236fe233ec6a16beb214f..6e68ec4f78cdd4cf8d06263fca35d3bc7c49d94a 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 0000000000000000000000000000000000000000..78b52ece3e376b3213c6bb5b653ed66788f99da6 --- /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 ed04a4b3ae9bf3bb10cd9e0ae8044af699cc5c86..8d21330b86797a9fc7f9e1ead176377866c9b121 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 a75ee92e976340df042d7f70cb2276acdb703c08..0f035470fc25ebe538f0f414d5f3f71ffaf7bf78 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 0000000000000000000000000000000000000000..03672693b604e7cbd316b1a6c1d4088c556ffde4 --- /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 0000000000000000000000000000000000000000..6e598a1a404779583c3a5f7281c41a92c760deaf --- /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 8f395e7fc7a5822da6c2caa6b6c8295c7b2129ae..e0a21cc06489ca05c3e55c16ac31a67fde4666da 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 748f74a56266bc7e67d278d125971b45d0d95f3b..f1304c275fc8ddd3acf066d1a503040d33deaee2 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 0000000000000000000000000000000000000000..b0510f7ca3fbc2782268db5a4e9f58765a7fa2ea --- /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 0000000000000000000000000000000000000000..5a97a4cde77f9c812876e4b494ae9e32a8d8cc5f --- /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 0563f81fd5345282a33705038dfa77fdcaa15872..74e3c913a7db6246bc765f147ca872996112c6bb 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 cfa4391ef80ec1d4177c26ba64e08795b28c8397..88a422c7aeceb4316024fd43c68b40b8ed2fca24 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 53dcb2501e8828c616f4d246378110a4d0cca99f..a2de7b19033b6077c84be5f29a78beb2e8beebc4 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 202a684feef71ff540d6aa528d348febf0b37d1e..6952c4e268f8f76a7769106b9101387565e144ba 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 bfe39a403a24c73d4db2bce74d66d25fa4b48f1f..70e1a9012d0038af2d41bd76f78debb007c1cec7 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 diff --git a/services/TS29222_CAPIF_Events_API/.openapi-generator/FILES b/services/TS29222_CAPIF_Events_API/.openapi-generator/FILES index edfb88675128a3f43b3e824f52f4e10b09cf0b5b..54c709f66c81094be746c23eac6df18d20638d18 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 4b448de535c7dd619da0df6d8221995dbd5d118a..18bb4182dd01428f1d4c3c2145501ee5d40455a3 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 9f89fecda371a76b63bfccae48159dc22eb216da..e6189d5346f7d95bbab11277ddcd18acbc6dfbbe 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 e982a77cc796aed206c2723378f45103dd6f2264..bdf9177a773a06c6542a32a3b48429b53092ecd1 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 @@ -49,9 +57,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 request.is_json: body = EventSubscription.from_dict(request.get_json()) # noqa: E501 @@ -71,11 +78,52 @@ 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, body): # 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 request.is_json: + body = EventSubscriptionPatch.from_dict(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, body): # 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 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_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/core/events_apis.py b/services/TS29222_CAPIF_Events_API/capif_events/core/events_apis.py index fa459da4d2c9dbf506371e1ebbf104fe9bc3ab40..62604e4e3bf4b3723ab0917332f0236ee7a4ace0 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 @@ -7,11 +7,12 @@ import re from flask import current_app, Flask, Response import json 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 @@ -117,5 +118,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)) diff --git a/services/TS29222_CAPIF_Events_API/capif_events/encoder.py b/services/TS29222_CAPIF_Events_API/capif_events/encoder.py index 526f8b29defbe0156c72ce238a91327c2759b46e..94e57f03c941d9c6f07fd91ae8888e8234f35dd3 100644 --- a/services/TS29222_CAPIF_Events_API/capif_events/encoder.py +++ b/services/TS29222_CAPIF_Events_API/capif_events/encoder.py @@ -1,7 +1,7 @@ from connexion.jsonifier import JSONEncoder import six -from models.base_model_ import Model +from capif_events.models.base_model import Model class CustomJSONEncoder(JSONEncoder): @@ -10,7 +10,7 @@ class CustomJSONEncoder(JSONEncoder): 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 5628bb7ee9399718f9a40e6847bd4d99a5c88162..5085357abce26cac3cf6e4d9789c6cdf0bf73d73 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 4cca41d86e375c9fd35f583d7d1b94194f34d0c2..a64c38411b05bf8ecd26bf3201930e35c82af363 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 6f5709c1b82bbeb2b7cce48ea99e5d45c1614aec..e99c495cc71913079048f1d133857017086920a2 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 cd1dda02bb64e5b79761e3e0dd8b9f5a6354cbcc..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..1f85dba5f386aa180f1b3a1655413f38c2487565 --- /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 ea2ce8bc10d54b812124173e592351edfbcbfef8..331a7113d63dad8887309403231a1dd8a43a6b8d 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 dbc1d9867c0703f64ee83a82c0fdd29566a2709c..4d2075bc3f61e5e17bdf9e20179d8d066362d42b 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 0000000000000000000000000000000000000000..3ea72ce90ed879bac58e4c6a969d3f335b6c6196 --- /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 c71e9d080b3a748e674725984adcc9d010740533..417972649e5961125c7dd8e694cb7e9aea0cd1fb 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 fe2fe7c2787db319b162d62d6957ed0d782d55cd..eca654779bb92504e3ca3a2003b67bd0ce752d38 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 86648b4cfe5e983cf50d582fa32375ea385b050c..fa3a98288ec4c499c3afe8dd5ca996c603d27e39 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 3b2f4d73d75cd97ca69f819e4342d46cbb0ff79e..0000000000000000000000000000000000000000 --- 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 f9c21eb993a9ed6631998a7bd69b38e6e06ba1a4..c15ad4c88b8826d16871a015138e267e85c27c27 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 19aa9e5b9e9469652084083c195eac0cb8eabc7d..e9c1638da56d444147de66da43635eae9dd0bb5f 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 0000000000000000000000000000000000000000..5819d5f219f368200c8ba7551c32d294abe816fb --- /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 76054ffcf55261286b24b66e7b6c4ce087005d37..e5203eb6c23c0dff53314bcf78276c438b5f4fcd 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 de71aeaad3e3a4029872cbcbc906e311f9fdf04d..0000000000000000000000000000000000000000 --- 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 190dae7102b29ac3d84be23a105a8578928b26ef..5676f21613b28ee2b1e4e8e90b118cec2d59439d 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 61f13fea01cb28c6afb98d680c70d2aa8687450a..adec690a5f595137abfa56f65beed511bff613c8 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 0000000000000000000000000000000000000000..b5be85b2b1f26ce22121c060013ad63d91364575 --- /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 633ddcfdc599d6525b3758b8957abf4f43c66627..9200e1bce298ba06b79f4b9dfa08e6e37452589d 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 c7ae736405e3a607f46350561884b8b9748528b7..6660c330ecad8435fcf196d2831abfc4583cfc9b 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 0000000000000000000000000000000000000000..51be7cd3ac4b4b761e61621e6d82c10a8d6e33df --- /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 0000000000000000000000000000000000000000..f669a853f74abe537016e04a1bb97fd3bdc866b8 --- /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 0000000000000000000000000000000000000000..45c7018d807a66888349b19265a702ff5d8b2d96 --- /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 0000000000000000000000000000000000000000..382105069791c075b5ba62413d274dea8b92b9fb --- /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 14b2b5d553d4b09562730ff867a5bc68f310c64c..d8cf6b724227cf16fb152908901ffc5b8ee06f04 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 e9bc8ca459c4bdef2d67b2aa583fbfc980e4369e..9f3557f5311fd85a47ceb2855cfeb427a1e18aab 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 bbe488649304eb1b44b751124a1f2dcb5d2ce177..c34c73bcca867bd43019270a306a27d3c3c71bdd 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 0000000000000000000000000000000000000000..f633723b71250ec6552a0bf739031f44e5b4f88f --- /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 2741ca33bef70b79ed5837573a84b5d692c20f4a..1e5f5c3e74bbe9b44f90d4da07961c5995017361 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 0000000000000000000000000000000000000000..2f8b4a5c67b2f57a9083170056ed7262c5408c0d --- /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 6ccaf763e6c32eb277ffeef2aef4f7072d7e1a84..d07d4876244521da48cb117e399a9c70c191cfa1 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 a979db9e1a925ba732d94f8c594255af5b6c65a4..17f20cdd4d2762f9ebf52395d838bb2e223d2346 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 0000000000000000000000000000000000000000..4d678058b87ca15f66af414fd0d96873d9e7310b --- /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 0000000000000000000000000000000000000000..694b07d0da22d92daed1c1cd4df576fb2ffaea57 --- /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 0000000000000000000000000000000000000000..5ba950425bd8155d65f2ef74ddc926935de39db8 --- /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 0000000000000000000000000000000000000000..07ec559435e0708abd09b2486e42ae5373ac82e2 --- /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 1ac69f9d486c68225eb615625cbada67eb9c0388..bfb21f7326dfea0ff8678d1113b84ee612b8fc0a 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 0000000000000000000000000000000000000000..008392447efd02ec24438c50a5df10ba4987bda1 --- /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 0000000000000000000000000000000000000000..ac4ea3d63a4ee1fb82865900faf48ce78ab427e8 --- /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 6bc032cef4dbbf28c450390e02cbd2433e47c48d..fa4d5259fe1422248afbfb8ebc70df2536542a33 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 f1133b14bf798d662ec0a9979c882d7ff4f2481f..0000000000000000000000000000000000000000 --- 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 b8600df3b54d753be33b90d7db30d72b7e5a1c39..b87ce0b50622fb9a1bbe66d4f2af88186b852b0d 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 3bf0f8349fc5cbde49d0aca4c77e278539caa3dd..0000000000000000000000000000000000000000 --- 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 3c85bfbaa73059b4355ba0336f308f6782eb6b07..01c0842820c030a96cfa4c933c447ae1b28d7d80 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/operation_any_of.py b/services/TS29222_CAPIF_Events_API/capif_events/models/operation_any_of.py deleted file mode 100644 index 4c6b9094314af69471111dceb0a591f3c4c33644..0000000000000000000000000000000000000000 --- a/services/TS29222_CAPIF_Events_API/capif_events/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_events.models.base_model_ import Model -from capif_events 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_Events_API/capif_events/models/partitioning_criteria.py b/services/TS29222_CAPIF_Events_API/capif_events/models/partitioning_criteria.py index 063782b5267ab5f519b692fcecf45b6ea31705bc..1fed743c56b1377499ec9a2d83951d5174673415 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 4c0faedcde0c1860034fd7d5366ff9e23b0fe9fc..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..25e5dcef3349266b5871655bb2f99e01bb2b4c89 --- /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 0000000000000000000000000000000000000000..e1fbee8dc9bf33a0d65e8ae19ae31c6b02dfa136 --- /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 0000000000000000000000000000000000000000..965fd43118b69e4d5cad0a270fb015c9397df35e --- /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 0000000000000000000000000000000000000000..8ea7284cfea2c647814c5355fa33050c25e4af83 --- /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 0000000000000000000000000000000000000000..07f77277ef47ad23c87e28249bd99cef308d3ade --- /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 0000000000000000000000000000000000000000..8804de2c1e416dd108ba8923c872733f37fdbd4b --- /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 04f1577f8316c536702a3bc52a2cbf96252f7990..10e9114d976dea8724da4d23761674694927cb6f 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 e62d3cdde7fd2eb83a33afbd26f1c0ef46a66c85..437f5b2a7680223f329b0b3112767e3c42e63aef 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 6554d778c32ff0c13b123bcb392ec501a3631d7a..f341f1c94b218c3a090a60c8065a404ac23ca02b 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 0000000000000000000000000000000000000000..5a99492891921845f05be5fd89c2f4c80f8d2480 --- /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 8a1a517b4bd52fa97bc13cad1da27126753cae4c..08e387b0eae711bb123320886e35e2859fd7229c 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 36e1623b9657a1ea69034a50dcd17303c2bf80c1..8493f59d1cfda104b44b7b89e23bcae40767f69f 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 a4e4d0719a767c8424312da786c0a14163c66276..b59d1dd7046c7bd6ad01e24f2112079e7c87959a 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 4aec36033eb09b96a97a9d89f92a0e4347d79e90..ff87e785326717c82237cccb4102c3b7ff861698 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/security_method_any_of.py b/services/TS29222_CAPIF_Events_API/capif_events/models/security_method_any_of.py deleted file mode 100644 index 2ceeb4d11ca5c54375c16fdac78cd63edef723a5..0000000000000000000000000000000000000000 --- a/services/TS29222_CAPIF_Events_API/capif_events/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_events.models.base_model_ import Model -from capif_events 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_Events_API/capif_events/models/service_api_description.py b/services/TS29222_CAPIF_Events_API/capif_events/models/service_api_description.py index 5c902fe24809564979aa5b5084a2fa09e213c307..3c562601e5a8bb2314ea9771de3cd987065db097 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 0000000000000000000000000000000000000000..6c84f1adb3418a54ecc42fe1ab08d7f14b787d48 --- /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 134674a984d2cb7daee3955a7588070cd8e97530..7b16c081ff3fb059d5cc540edd71c1c409203cb9 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_Auditing_API/logs/models/protocol_any_of.py b/services/TS29222_CAPIF_Events_API/capif_events/models/subscription_action.py similarity index 55% rename from services/TS29222_CAPIF_Auditing_API/logs/models/protocol_any_of.py rename to services/TS29222_CAPIF_Events_API/capif_events/models/subscription_action.py index c6de47fdece14e9ca95daad84067a1122b02aa4f..99ae834de457421324b10b0c2d9fb282e7c3695c 100644 --- a/services/TS29222_CAPIF_Auditing_API/logs/models/protocol_any_of.py +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/subscription_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 logs.models.base_model_ import Model -from logs import util +from capif_events.models.base_model import Model +from capif_events import util -class ProtocolAnyOf(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 - """ - _1_1 = "HTTP_1_1" - _2 = "HTTP_2" def __init__(self): # noqa: E501 - """ProtocolAnyOf - a model defined in OpenAPI + """SubscriptionAction - 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) -> 'SubscriptionAction': """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 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/supported_gad_shapes.py b/services/TS29222_CAPIF_Events_API/capif_events/models/supported_gad_shapes.py new file mode 100644 index 0000000000000000000000000000000000000000..38ff4d53caa82d396e66c7d07de48095fa4d3948 --- /dev/null +++ b/services/TS29222_CAPIF_Events_API/capif_events/models/supported_gad_shapes.py @@ -0,0 +1,34 @@ +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 SupportedGADShapes(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 + """SupportedGADShapes - a model defined in OpenAPI + + """ + self.openapi_types = { + } + + self.attribute_map = { + } + + @classmethod + def from_dict(cls, dikt) -> 'SupportedGADShapes': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :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 71c9987291be72767977bc59c1cad42b193b6548..9a6b62671d8e1990cd3346fc8c36b3e507849277 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 5d22b9ce2f67a0a468bfe65845529f816523a77e..0a028785000e975723936a0f42bc67869be808f6 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 0000000000000000000000000000000000000000..627eb52b271d3a0b32e7006b1b24707ccac4a473 --- /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 0000000000000000000000000000000000000000..f10fac8fcba65a1d742ad13a9fa4250eff924d84 --- /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 3b78d8f2b21eb6c450444c66c21f7e429abbad92..709e34cea199b306a00705e45987d618cdfec3ba 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 9a7c40bf246d840b7714b335f9db2d0d306dece8..0077354dec83d45767653535faa1c1d55cc5c6e7 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 d89f8dd381d9da7fbbec77fc3c57bfe53e7dff93..892a7a2b13e51a0105dd6e7edb43a2a22a0481af 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 0000000000000000000000000000000000000000..c55e721a5dd1d0ecd2ff0cba98a557ea4492b460 --- /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 0000000000000000000000000000000000000000..7e06036bbe989f82740969b149da6ca5a66c1988 --- /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 0563f81fd5345282a33705038dfa77fdcaa15872..74e3c913a7db6246bc765f147ca872996112c6bb 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 28a9e46b722f32c666f92850d09bf12d74b4d743..2ce43820e363c598c99585ab03a09a8d56cfa719 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 9405f72e950cdb8ca24c3cf4d15cee7eac62fde7..f53a75d4fabe760cce49eddfd62fcc702938ea90 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 fbeaae3e8deeed2a8de549bc3e02e9b03ba89897..bfe2e17c53647b77962f50b9885fef525393c33f 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 == 3.0.4 pyopenssl == 24.2.1 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 6ac5631dac95d9c1e7c12c25cfad23e2545309e5..22fbd8034aade66dca5da6e5c2abf342ac747aec 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 8ef20cd60fb4784affc6da7cb242fb29f10a3e3e..157b48f1afa0b9bc2bce24520d7e7ba8b261cbba 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_Logging_API_Invocation_API/.openapi-generator/FILES b/services/TS29222_CAPIF_Logging_API_Invocation_API/.openapi-generator/FILES index 42622dc2876ba25dcf5b2283ab3136c094690452..691fa78ca682780032ad7499166c9dbc98db38ed 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 4b448de535c7dd619da0df6d8221995dbd5d118a..18bb4182dd01428f1d4c3c2145501ee5d40455a3 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 4c9ab923afeaccca940210e6dab592af62487c1e..9d330236d45009a4712233fbfd4e9e3aa202de6c 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 7a902dcd06b486fc3d9328803530d22ef923313b..450c6bc14da6689ff9c70cf804afb767bd00dba4 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,7 +55,7 @@ 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") @@ -64,4 +68,3 @@ def aef_id_logs_post(aef_id, body): # noqa: E501 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 526f8b29defbe0156c72ce238a91327c2759b46e..0d4b20447e266c76353bcfda166467cdb3edc91a 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,7 @@ from connexion.jsonifier import JSONEncoder import six -from models.base_model_ import Model +from api_invocation_logs.models.base_model import Model class CustomJSONEncoder(JSONEncoder): @@ -10,7 +10,7 @@ class CustomJSONEncoder(JSONEncoder): 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 6660505319cd082392acacb0fed61c72d34b47b9..fa9b0e583862453056c698486190d71b95a8caea 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 31d975116c556b940f7308a81ca3c1804e3f599f..642d94a309dde9faea890dbfb8039c1f56bff9ea 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 b484946ec91f701c809493524a51ffb87006b0b8..89a5d905a934c167554286848c6109fe58915dd8 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 58f04d69ed3c64f3e218cc591c4afdb73edefcd3..d7ec5735fb2b0c420e4ef7adc981fe40614f212b 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 79a228cded1140db0c90229563babc16f8af0939..ded1b791013a27b531be77f4fa830e2eb7626e59 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 8f4570663c24619cdb9e754de6f8fc05d743a3f6..41076a096b703cf65e587c4d53ee35ad94640e95 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 e4cdbe45ceae0a9b19b18ae5efe5d0b6360c5d44..513f6d0046341ede6cd4e567191076fdf8279c17 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 46c192127c0075dbec133c6c11064527b23f2ad6..0000000000000000000000000000000000000000 --- 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 e4cb2c91e2f9bfb150b96f09212a0bc76d8182b1..57744179fb594eb7eb99a474acc63c9d388254d3 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 023ba4d925e237b05054d47cf5da1eb6d6f87253..ec4bf3b204bdb16d104083bea22cde607218cb65 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 b7966dfce8bfa44ee911ab3f55ecc527844a210d..0000000000000000000000000000000000000000 --- 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 e059b81cb7383828d2dd95c5f2ce06c9c5d6601c..b47fd3ef52fbec555f3be821ac7fa90156e69f25 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 877c646311c51f2668894a4e9bf43b4c6c0d0bd1..0000000000000000000000000000000000000000 --- 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 85b35aa9453bdf4cda8efbae46abc61ccbb85450..f1a93904b8f72512de593c92b8dad3cad206a2c7 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 0000000000000000000000000000000000000000..52299ec8fe980efe5b0f2c8a1399dadb756c2d68 --- /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 0000000000000000000000000000000000000000..92ad8cf0554637fbba35eaca853d8a36500989a7 --- /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 0563f81fd5345282a33705038dfa77fdcaa15872..74e3c913a7db6246bc765f147ca872996112c6bb 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 baaea564448deb45d356e5149aac29a9459e16f5..f6fdbc5ffba663dd54bd9bead81f0aa328171112 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 9405f72e950cdb8ca24c3cf4d15cee7eac62fde7..f53a75d4fabe760cce49eddfd62fcc702938ea90 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 cf63e4a1b868b72d4be486250e1919437743123c..9b7d55e228132133c12a33fc99effeedb6be9c73 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 202a684feef71ff540d6aa528d348febf0b37d1e..58f51d6a00272d7515a20e3618f345b73c68afa0 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 01a6d218dc3df53a27f797996c244658e113b2f0..312ba2e5a2425f7a66c9e5ba9aeae7691b6d1433 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 diff --git a/services/TS29222_CAPIF_Publish_Service_API/.openapi-generator/FILES b/services/TS29222_CAPIF_Publish_Service_API/.openapi-generator/FILES index fc1b00e9235a5c80a8bc15fc870b21f7ca99b024..a238cf9c4aa9ace65c39dfb652a057ca53ab8ec9 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 4b448de535c7dd619da0df6d8221995dbd5d118a..18bb4182dd01428f1d4c3c2145501ee5d40455a3 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 60ff8b067416f4815ed1c0b7b954e45a1a0e0189..a8ee25750f7e1979fac432c942c9975c6e9b778b 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 9405f72e950cdb8ca24c3cf4d15cee7eac62fde7..f53a75d4fabe760cce49eddfd62fcc702938ea90 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 8f1e5d0c22c1bdb00f51c74136a039c9d26aa36a..9cce0faea7e3445df5cac2171151eea65dc14568 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 @@ -15,7 +19,6 @@ service_operations = PublishServiceOperations() valid_user = ControlAccess() - def cert_validation(): def _cert_validation(f): @wraps(f) @@ -44,7 +47,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 @@ -53,7 +55,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) @@ -71,11 +73,10 @@ 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") - 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 @@ -84,7 +85,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 @@ -96,16 +96,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 @@ -117,15 +115,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 @@ -139,9 +135,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 0000000000000000000000000000000000000000..cf99ed5c1f9c4a293d1fafa2661fc1a8b0accf67 --- /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 request.is_json: + service_api_description_patch = ServiceAPIDescriptionPatch.from_dict(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/core/serviceapidescriptions.py b/services/TS29222_CAPIF_Publish_Service_API/published_apis/core/serviceapidescriptions.py index f32b7b2c1e652e08bdc98734bc9003d04e170c63..9d73d37bda6e5dd0f77db5bc4937da819b1b8870 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: 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 526f8b29defbe0156c72ce238a91327c2759b46e..b54e14b505fbf7aadcbfc6f6c4c665a9c25e31e0 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,7 @@ from connexion.jsonifier import JSONEncoder import six -from models.base_model_ import Model +from published_apis.models.base_model import Model class CustomJSONEncoder(JSONEncoder): @@ -10,7 +10,7 @@ class CustomJSONEncoder(JSONEncoder): 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 e80629d7c4c4a4a772946187c2f3710fe8574adc..df30219ae9dcfc6a132ae02996fd0071454a88f1 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 0000000000000000000000000000000000000000..ccc48596a26feb79bdbd871b3a4c7e8793247a7e --- /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 ff3c3c505d870d361046e849a169b671d8446113..787470d3dca13bf0ab5c4b193c7c8da7de646666 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 0000000000000000000000000000000000000000..0492b259ec217abc70a8edc84128d50d86634ca1 --- /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 2c63ab05edeb6eea0a182b86e45af166d2cbfaad..ae24c559a7c66fe5c1347118c1d7b04a91f838a1 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 0000000000000000000000000000000000000000..b4fa7c063c1254b87ff7f99311aa84f0d202a5ad --- /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 2c4d15f1c8ca87a9295fa3e573d4fa6801947caa..a91645f44f43bbc33b3e377ef8b998a10ec67772 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 831558346b6514656e91797323792be27e775cf0..0000000000000000000000000000000000000000 --- 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 bf1cd38bee2f83061040cd7a993c7d129d3b2446..1f4a66a6170d6244f192112194f9b1a686420432 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 72e3f151d4e4d02d8be20644ca33f4b9dc1e197b..5c6c9072ba0adaebc4159ab1cab4634fd596dfb2 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 0000000000000000000000000000000000000000..ca81b714099046680e2cad9028cbf1791a245065 --- /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 0000000000000000000000000000000000000000..f4754606966d1d27ee0da8a40eb20199c8544dcf --- /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 0000000000000000000000000000000000000000..0fa074cd8f170dcceb8e5da6544f6c8855955dd9 --- /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 0000000000000000000000000000000000000000..49c59769846a4ade20f6c52aaf14bb4f45beeaea --- /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 fd7e5b50fbec40fca391af92c96101f7763bf8c0..9707c01b0f6dade8064dfc78eb0eb5bd41ad33e4 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 8e794cf1f92f0771fedbf100d7ee7ce763349712..16472eccf79cf966ceec53f4e07fb293bdca4795 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 0000000000000000000000000000000000000000..7934c226363efd82ecf40b994d721fac182e7c3a --- /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 0000000000000000000000000000000000000000..11c7e160d686ebf834f4982dac37caf0590d0035 --- /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 726b386d7958ba4256cd9cc372258f2aa6708a0d..268ec6662c346df7d7e0d4af5a914aac0f202c68 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 0000000000000000000000000000000000000000..37f319c85b44885b5729400062f56e81c435c2e6 --- /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 0000000000000000000000000000000000000000..2c575408c88f0cece05c3ff00959596fe07417da --- /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 0000000000000000000000000000000000000000..2589c0e3d36b44b6a11528d006ff063f10c7c837 --- /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 0000000000000000000000000000000000000000..71ec7c07571e14b7c0670b207f6a8cd89e73009f --- /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 b985c08d9da5fdd1befa3e1ac6aed8bf289c6e22..0923ce76b63a5a33925780b7b7c9d56a2164939e 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 0e9b63fb8defa976274e92752a865a52f9e6caab..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..d16cbaaa4e715e6eaf3f8745acca75c61c6b1483 --- /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 0000000000000000000000000000000000000000..0fb374f741ca0a8cdce6cc64e9d50f575677ec13 --- /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 0000000000000000000000000000000000000000..cf96f55d0b98e7e28b3966c9c7f83b49d43c6b96 --- /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 0000000000000000000000000000000000000000..3b773f5106ed3a6842128c624b58280216dc363c --- /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 0000000000000000000000000000000000000000..ea57f68d20cee813da2e048c99546e89fe3eba5d --- /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 0000000000000000000000000000000000000000..8a3f6baaa04281e9bc98bd4cddaa548e1cff25af --- /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 2f5151f7712bc7103d53ef5a71d765b5c1b7b61d..252aaa7ab7255b78604a55405a853cd4005f6b3f 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 6bb623c0fbd36fe613e798b5c6dfb468c5928493..9eb3203eeb8c81225b7cd9c1be7b50c750d03532 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 0a347780223d0e76b8c682e203e726c89b2aadd8..4d3538df63d55171b62948b7511b91f697737d76 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 0000000000000000000000000000000000000000..2f17cb84bb6483097e037622aec5c1b41d503630 --- /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 ef8bebe821da645734ae22310392d8c482d0b270..fe7445dfb4764311b450577c3f4ea23b40d54082 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 643e41de0aa648d2121d8246731809baf74df552..59142370a751028a1d3ac63d73f707cf78f7ce63 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 061d64c6df3d70892d7b7603c161da26308d345e..0000000000000000000000000000000000000000 --- 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 e098f0bd2f4e1fe1b6ddcefb80163f3340e22739..396b9fa2a47b4c653ef502ab8c6dd5e3fb8972d0 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 0000000000000000000000000000000000000000..d03a51fe82c14d2fd4b72589ba5266be20be2781 --- /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 0000000000000000000000000000000000000000..99b85dac86c249a17917c569fe0a314f249329f6 --- /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 c8bdc259517b83d9b55377981252cb3b7b4aeac9..ff4aea1cb44ce283b31767862f5c3209134b1b35 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 cbbfd46e7b3ea88eb82e3b005bfe5bdf01a74c1b..50d7db722fbce2ecc82dc8bb214de23fb897b9a6 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 0000000000000000000000000000000000000000..2aef9633efc33a1693d6d19825544c48bb21e1cc --- /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 0000000000000000000000000000000000000000..88a428d469081c0d273a1997263692c40bc77c25 --- /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 6c7bc20efb9014c8fdccd6e66c9c270e3460bfd3..4126d65a176ac2538ca85993ce978050fe1bd0ee 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 6c2012ff5c284e0d3fdd9491bd6a86d879508a1e..041eed50493715bf874d53f509ae22769e7a3d11 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 0000000000000000000000000000000000000000..108a343af2bf38eab1be3306648e840ca9c05c36 --- /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 0000000000000000000000000000000000000000..c64cf2716bea61861d9c0556c7e7231ac090ae95 --- /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 0000000000000000000000000000000000000000..c9978525d679bc3bac99264aadc3cfd7c45bb188 --- /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 0563f81fd5345282a33705038dfa77fdcaa15872..74e3c913a7db6246bc765f147ca872996112c6bb 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 3d85256f947326515afce40014c53420ef7c4879..f18c8d6c6692e8eef8eeff56061d0cbbe39c75a9 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 f499677c32fb1988a71e20d0225e046d4c69d7f1..c8f56292ab28239f55de950bb27d1fe525907951 100644 --- a/services/TS29222_CAPIF_Publish_Service_API/requirements.txt +++ b/services/TS29222_CAPIF_Publish_Service_API/requirements.txt @@ -21,3 +21,4 @@ flask_executor == 1.0.0 werkzeug == 3.0.4 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 0b21a836f9c212c49a3e346e9c529bee53dd469f..5ae15b44aedd9aac26d9f1b19b76bc34ed9f97a1 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 202a684feef71ff540d6aa528d348febf0b37d1e..58f51d6a00272d7515a20e3618f345b73c68afa0 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 17663abb51c05a354a07eedf89a94700a0f9902b..44ee4e42e7015ff06f6c778493735a4b30fb5a75 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 diff --git a/services/TS29222_CAPIF_Routing_Info_API/.openapi-generator/FILES b/services/TS29222_CAPIF_Routing_Info_API/.openapi-generator/FILES index ddc37ec369377d3c3adc57a862078246ab953012..be8f43b72f15e9d43510b5fa60ebd25e0872a090 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 4b448de535c7dd619da0df6d8221995dbd5d118a..18bb4182dd01428f1d4c3c2145501ee5d40455a3 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 b239418e6ca48afcab32df49aeb265a57a253a3c..edacb4a6f8839ed6e00ca6b7250bd7aca3d9df43 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 13c24a3a52464679a765141f1963cc5bb21248ec..9dafc055a9b0e9e95accef08aaf07610d76331ac 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 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 @@ -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 526f8b29defbe0156c72ce238a91327c2759b46e..ba7c4d5e37a65102002ee1a785da9eb1e49da013 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,7 @@ from connexion.jsonifier import JSONEncoder import six -from models.base_model_ import Model +from capif_routing_info.models.base_model import Model class CustomJSONEncoder(JSONEncoder): @@ -10,7 +10,7 @@ class CustomJSONEncoder(JSONEncoder): 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 68aa16c325023522d4355c315d2f92f0508ff0d6..58b9b0c49119e609366f6585e63a00fc2a0b5f80 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_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.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.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.operation_any_of import OperationAnyOf +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.protocol_any_of import ProtocolAnyOf +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.security_method_any_of import SecurityMethodAnyOf +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 new file mode 100644 index 0000000000000000000000000000000000000000..e60b523e09791c335c1b8eb2280e9b02edb024e3 --- /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 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 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). + + 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 9a7e083dd4ee6f28bb42ac2cd94e3e778b72a011..b5dd194afa840a8dfa59270dc50c1db0eee0a9e2 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,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_routing_info.models.base_model_ import Model +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): @@ -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 92% 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 4f38e97ff28a52c226a0c4e6293e9f8dcab7786f..4849636261a29a950cfe1f65820ab2bce95f0922 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,6 +1,5 @@ import pprint -import six import typing from capif_routing_info import util @@ -8,14 +7,14 @@ from capif_routing_info 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 0000000000000000000000000000000000000000..fd306ef3914d94985cea135f41eeed9ad2d5014c --- /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 capif_routing_info.models.base_model import Model +from capif_routing_info 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 090173b4c55081395d1fc7b03149f3580fab073e..c355c6de27af7a8277f30fe17982fed29043b5d1 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.models.base_model import Model from capif_routing_info 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 439089433582ef08f02f32d911b6c1f09a4cf6ab..0000000000000000000000000000000000000000 --- 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 fe5a6e9c93f9e881b35ea14cb196dcbc1da6cc54..0e0995b243953f733235a2741ff86b952b33e82a 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,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_routing_info.models.base_model_ import Model +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 @@ -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 61a086c4b1ccb00e8fb3c2c71773297134ddeceb..83f31a21083b763e8971ea217f4c06772c3c75cd 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.models.base_model import Model from capif_routing_info 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 0000000000000000000000000000000000000000..345698c2efdd0f7c1bd39c8f71dcd8417ea5a2a2 --- /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 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). + + 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 0000000000000000000000000000000000000000..d956d8d23a90fa23a5cbad5e91234388b39d7dc2 --- /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 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 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). + + 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 0000000000000000000000000000000000000000..5c1598253924c2e6f32af2520a6b30ca19b89d33 --- /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 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). + + 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 0000000000000000000000000000000000000000..8b0e51f2785d65a76975f5d71d8d1dfa80570f15 --- /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 capif_routing_info.models.base_model import Model +from capif_routing_info 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 1350c6ff66e92fe1aa0ac80deb708154e5b13bbb..00e9589b00da9d53a36db6f7d926623f4acf6f25 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.base_model import Model from capif_routing_info.models.security_method import SecurityMethod +import re from capif_routing_info import util from capif_routing_info.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 020db5d8f74f916536b4b4c8d7e328ba619c4dfb..e6d4edec0a6d97fc50177b101776b3dd6a745926 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,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_routing_info.models.base_model_ import Model +from capif_routing_info.models.base_model import Model from capif_routing_info 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_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 0000000000000000000000000000000000000000..d470760f018aaaedc550c17ed9c7e64637dc329d --- /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 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 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). + + 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 5f8e7c0745d8183a852e265bedb4a42dbe445f4e..b50e0b2e3c58a5fa7e4d70ec2a84354a8db7326e 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,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_routing_info.models.base_model_ import Model +from capif_routing_info.models.base_model import Model import re from capif_routing_info 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,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 0000000000000000000000000000000000000000..39fa467adeba6274a234db88c2ed1761602ad76d --- /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 capif_routing_info.models.base_model import Model +import re +from capif_routing_info 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 58% 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 97da8ffcf6a7d1ef3556aac9487522eef841e812..f4248ba8cde7f3f4846934c46d5152099d1428ce 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.models.base_model import Model from capif_routing_info 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 d2afb78af33989d71782f6db814bd24cd1a61c35..aeaff9c170cf40efd06f6007fccbf9de8a81bf57 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,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_routing_info.models.base_model_ import Model +from capif_routing_info.models.base_model import Model from capif_routing_info 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_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 0000000000000000000000000000000000000000..a1060d8a6f20d7a7925a0a7c70c63d9e4718e05e --- /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 capif_routing_info.models.base_model import Model +from capif_routing_info.models.ipv6_addr1 import Ipv6Addr1 +from capif_routing_info import util + +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). + + 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 0000000000000000000000000000000000000000..c9b258b16c56b4118051ac79c9ddeb7d99cc4074 --- /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 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). + + 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 0000000000000000000000000000000000000000..2539de2ce701974bc68b9d0873ef30d0eb853fa0 --- /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 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). + + 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 0000000000000000000000000000000000000000..45fc9828aa80a0b3049795109080649fb46ae04e --- /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 capif_routing_info.models.base_model import Model +from capif_routing_info.models.geographical_coordinates import GeographicalCoordinates +from capif_routing_info import util + +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). + + 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 d54629b5b8bfc4728c5285d77fd169a8753fa7c7..856dc775600412378a64bb9ef2749bb417b45fe2 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.models.base_model import Model from capif_routing_info 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 d92e4952132d37ebf616b085e7b48d260078ec38..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..88b0a922e2d4b075966d95b45b4d1b9d968056f3 --- /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 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). + + 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 0000000000000000000000000000000000000000..ff5cab9ef5b6b8b426e07c4922613fbcc872a1a4 --- /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 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). + + 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 0000000000000000000000000000000000000000..fdcea5e2713a88881a422e4fc1a2172b9aef963d --- /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 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). + + 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 0000000000000000000000000000000000000000..80faac436162d573d9f9ace49bbeec0a11cc21ca --- /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 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). + + 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 0000000000000000000000000000000000000000..03c55bf712de32ce6a2f6ac845c783e0d353b1ed --- /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 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). + + 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 0000000000000000000000000000000000000000..3af36a1ed09e465095af4304009c5bd4eecdd744 --- /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 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). + + 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 b661b722e7f57dc11595b3df7fae6a0f0443f31a..3fc488d03383712c62196c9342270d81c97ca16c 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,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_routing_info.models.base_model_ import Model +from capif_routing_info.models.base_model import Model from capif_routing_info.models.invalid_param import InvalidParam import re from capif_routing_info 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_Routing_Info_API/capif_routing_info/models/protocol.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/models/protocol.py index da612eca37af79f881b70a092faab9b0c7d41315..fe4b2bf32cf9b7e7490ca402f592714da7b880df 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.models.base_model import Model from capif_routing_info 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 0000000000000000000000000000000000000000..592f4bc6f6168af43830e8f6f7c19403e3d11d3b --- /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 capif_routing_info.models.base_model import Model +from capif_routing_info 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 e4eb5b847d68b8997a8a0bc757c6d8bba46b2532..c6540878a4bbc9a91ed4c938a4bd0bf16c25cdd6 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,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_routing_info.models.base_model_ import Model +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): @@ -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 34b5b73153f23fb850c0ee97e8023526049759c8..8d086045c4a9f4ffa662b9ed437b228e2c25fb9c 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,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_routing_info.models.base_model_ import Model +from capif_routing_info.models.base_model import Model from capif_routing_info.models.routing_rule import RoutingRule from capif_routing_info import util @@ -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 29c0930b40676c276cdd8df190b8b5a31d410dd7..88cb2c7a08f4f10e818afc8b940909c42be196a4 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,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_routing_info.models.base_model_ import Model +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). @@ -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 7de25824778f068b8b9076b7b574b4dd830b1045..0ef293df07c56f8f0654aff42aa69481f5333326 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.models.base_model import Model from capif_routing_info 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 00fd8e292bde1877e4106afcbecf7ebfa71aa004..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..4c07b02c6718c2f662f7e82681b276d0491a4883 --- /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 capif_routing_info.models.base_model import Model +import re +from capif_routing_info 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 57% 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 add5527fdf33d42dc0b22c724eb6d8e57f1c0bdb..e238c97b70f1623e56d8017a310e3477487a7bb0 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.models.base_model import Model from capif_routing_info 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 0000000000000000000000000000000000000000..27a6acd188aa7563f467edda45d7e247fa18cf12 --- /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 capif_routing_info.models.base_model import Model +from capif_routing_info 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 0000000000000000000000000000000000000000..45538ba797abdfca3825c1dc1f69f3458ab74f75 --- /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 capif_routing_info.models.base_model import Model +from capif_routing_info 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 fa60f0295290c6e4a98492059a106acdafc01b2d..1be123dc7cb8818724f0d6d24501cdab4de01cd4 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,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_routing_info.models.base_model_ import Model +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 @@ -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 53446f2be3b9d165ff05cac7ec7dde41050c348f..5e93c85aac7ab73a113427949cca3bac11566a58 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/test_default_controller.py b/services/TS29222_CAPIF_Routing_Info_API/capif_routing_info/test/test_default_controller.py index e602d5dd04a7885146196c7a6b9872f0b7dc0a14..7241b494a85ddfab5cca2eb3347865fc723c6a8b 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,10 +1,6 @@ -# 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 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 0563f81fd5345282a33705038dfa77fdcaa15872..74e3c913a7db6246bc765f147ca872996112c6bb 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 54a13013df3b7fde574d61407acd23d0223f0be3..6f369d510e55cbab6fb999fe743b26757c2e91c1 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 capif_routing_info 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 9405f72e950cdb8ca24c3cf4d15cee7eac62fde7..f53a75d4fabe760cce49eddfd62fcc702938ea90 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 58c68e21a1455e377e7f10142105a3486e84f178..23f473e8fed8832f89ad6b90dc308ced7ba9703f 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 202a684feef71ff540d6aa528d348febf0b37d1e..58f51d6a00272d7515a20e3618f345b73c68afa0 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 6e0e6e7cc22b04f3c663a65687adfd06f801dcca..cbb25232c6e05223026c2c7a67218a9134119b3d 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 diff --git a/services/TS29222_CAPIF_Security_API/.openapi-generator/FILES b/services/TS29222_CAPIF_Security_API/.openapi-generator/FILES index 80c09cfea715e19922db62051c3460c62c22948a..1fd34c24a0763985d9f135288f82a424d7f4c66d 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 4b448de535c7dd619da0df6d8221995dbd5d118a..18bb4182dd01428f1d4c3c2145501ee5d40455a3 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 66df10994ad85cbdf33b6eda4b8bfcf0d0ca940b..6534bceb3d41c0580fba545343824b1629f05bd8 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/controllers/default_controller.py b/services/TS29222_CAPIF_Security_API/capif_security/controllers/default_controller.py index 22769f17d952b1fa35d8e99bd2639c891fbfe087..d56b02c71619bc920ad8acb1095699bbf518f3d3 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,38 @@ 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 request.is_json: - body = AccessTokenReq.from_dict(request.get_json()) # noqa: E501 + res_owner_id = ResOwnerId.from_dict(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 +110,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,7 +126,7 @@ 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 request.is_json: @@ -115,21 +138,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 +194,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 similarity index 100% rename from services/TS29222_CAPIF_Security_API/capif_security/controllers/security_controller_.py rename to services/TS29222_CAPIF_Security_API/capif_security/controllers/security_controller.py diff --git a/services/TS29222_CAPIF_Security_API/capif_security/encoder.py b/services/TS29222_CAPIF_Security_API/capif_security/encoder.py index 526f8b29defbe0156c72ce238a91327c2759b46e..bb8a0c78f31d163b182bce9d037991bb99b9f6ef 100644 --- a/services/TS29222_CAPIF_Security_API/capif_security/encoder.py +++ b/services/TS29222_CAPIF_Security_API/capif_security/encoder.py @@ -1,7 +1,7 @@ from connexion.jsonifier import JSONEncoder import six -from models.base_model_ import Model +from capif_security.models.base_model import Model class CustomJSONEncoder(JSONEncoder): @@ -10,7 +10,7 @@ class CustomJSONEncoder(JSONEncoder): 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 b6f04f81d8734f7d201c616cec329be0a4f775e5..475e67aa3e5f4d1159aa3b7acfb20bda93f059b1 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 fc19f939827f68ed25c3bab7430346c56595944f..46593ae68fcfbe9d6480dd172e0897af49742cdc 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 4423dcc7589123ad1064c573e97466ff5ab07103..c60023025e6a3f29890e846c535d7a242816ab7e 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 8d2253f8f01efc4ac4e01c25877b79ca40e6583d..23007798721d0fe9fce79a3e10900002a78ce5a6 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 5a8ec226809a1e5b63f8785413ed0966f78fe018..0000000000000000000000000000000000000000 --- 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 b119e9c138d87e776a3dd8210fda8751fb35c43c..47e4a30f26c711f19f407f5b8dc5d4fe7bb2a66f 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 57f672091915f03934c60f215bf8e1120c277f92..f8e524db70285676d4c45d1db6298187c375d420 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 similarity index 95% rename from services/TS29222_CAPIF_Security_API/capif_security/models/base_model_.py rename to services/TS29222_CAPIF_Security_API/capif_security/models/base_model.py index e8f6832a8fcd634cbce20f587f531f2abf9b9680..4bf9315514313624382fa63da3b41b9e8290c7c4 100644 --- a/services/TS29222_CAPIF_Security_API/capif_security/models/base_model_.py +++ b/services/TS29222_CAPIF_Security_API/capif_security/models/base_model.py @@ -1,6 +1,5 @@ import pprint -import six import typing from capif_security import util @@ -8,7 +7,7 @@ from capif_security import util T = typing.TypeVar('T') -class Model(): +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(): """ 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_Security_API/capif_security/models/cause.py b/services/TS29222_CAPIF_Security_API/capif_security/models/cause.py index a93f5a859ae9ddcb4416418b68404342336319a1..227ba1077096ad9251e7b08939612d762611b14f 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/interface_description.py b/services/TS29222_CAPIF_Security_API/capif_security/models/interface_description.py index 546ef7f13324cbc6a815a89b38ce0eac4b3fe728..0031775f7be35105665993a2d525454c9d43dc86 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 3cf97a3174d311760870065c071bce2fb8b4d373..f86b208627fc9dfce59c1e3184b8571350113cc0 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 93fbd3a8f68884c1927e63632224ea122166101d..77919000e05633287a6cf37c1d812e598b4090af 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 78c0598ebad4c74121a61b70b64882299f106777..184a7c0d6493cd38d83d653e85651df21df8f402 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 5638ef9e24b3775e51cac83331dbb00f471688c7..0000000000000000000000000000000000000000 --- 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/no_profile_match_info.py b/services/TS29222_CAPIF_Security_API/capif_security/models/no_profile_match_info.py new file mode 100644 index 0000000000000000000000000000000000000000..4d8885b5f87a503a9ef37c017830a6f2b2ec5079 --- /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/cause_any_of.py b/services/TS29222_CAPIF_Security_API/capif_security/models/no_profile_match_reason.py similarity index 56% rename from services/TS29222_CAPIF_Security_API/capif_security/models/cause_any_of.py rename to services/TS29222_CAPIF_Security_API/capif_security/models/no_profile_match_reason.py index 64b601ca5e26e34c65b36f65e9178be1965cd49c..ccec0b37c0900d5176750d37d423a7b50dbc9d08 100644 --- a/services/TS29222_CAPIF_Security_API/capif_security/models/cause_any_of.py +++ b/services/TS29222_CAPIF_Security_API/capif_security/models/no_profile_match_reason.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_security.models.base_model_ import Model +from capif_security.models.base_model import Model from capif_security import util -class CauseAnyOf(Model): +class NoProfileMatchReason(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 + """NoProfileMatchReason - a model defined in OpenAPI """ self.openapi_types = { @@ -31,12 +23,12 @@ class CauseAnyOf(Model): } @classmethod - def from_dict(cls, dikt) -> 'CauseAnyOf': + def from_dict(cls, dikt) -> 'NoProfileMatchReason': """Returns the dict as a model :param dikt: A dict. :type: dict - :return: The Cause_anyOf of this CauseAnyOf. # noqa: E501 - :rtype: CauseAnyOf + :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 0000000000000000000000000000000000000000..8bace2b9fde752c103469c590b5829d8510a3acc --- /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/plmn_id.py b/services/TS29222_CAPIF_Security_API/capif_security/models/plmn_id.py index 1a0dfce4c808720e2fbc1dc6f701294045876941..b7b42ecb60b806f338b718efed0bef662f774825 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 bf2a0a424a21c3d174d0381251c70d97f5fc7c65..16fd95e10b60acab70876dcd66e4ea6ceccf675c 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 e0708a28cc39caf494608faba1ef65bc507ead43..27a57776ed52092d0cec0e199045a0b945d1e1c0 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 584e1a80d8e848abcb37c4a677be2ed084031049..8de2911cb07d41a93c2af025e19a9050934ffb4c 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/query_param_combination.py b/services/TS29222_CAPIF_Security_API/capif_security/models/query_param_combination.py new file mode 100644 index 0000000000000000000000000000000000000000..a28fb4add0e28adfa4155fbe2749b6f8fc215439 --- /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 0000000000000000000000000000000000000000..183bb32533db25ef131c86ee2b827233453142c2 --- /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 0000000000000000000000000000000000000000..d7b9c67e1429656929672e2da221222d77d95655 --- /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/models/security_information.py b/services/TS29222_CAPIF_Security_API/capif_security/models/security_information.py index 07368ef2843564adba1a98cda7dd843fb6228b44..10e85193d594bb1ba15389855230dbcc93e290fd 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 966fcb4f78c95a0784c98f04b059cc00d0152708..c319a38a44ed09c7124257a56ab3a8e18091b3d5 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 0b5c3bf40a3ac447059212c34d7d84a82137750b..0000000000000000000000000000000000000000 --- 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 4437f655f14c6fa745447accdf6553a0642efbf2..538c655f0a9a3c70d87e32dacae8a4f2e3879b95 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 47014d37fb02244b9ee9e1dd432a1a908c1334e5..060c45aaaeb56b506e8196df8139213d50d76b31 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 89e4257f85efe103707b87d1cb4ef167e9a69835..72ae4c48a1c4ee10371350c3eaea984d4c61feea 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 434d37190c4dbeb105aaf65bc20bd01fd02239d1..1482ee7d7f07ad258b9a104ece1e851528925cbf 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 321eb2ffc1862911f6c29ed3a89e7add8538c29c..fe88c19931162b07c8de7a6f7a956eb55f96951b 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/test/__init__.py b/services/TS29222_CAPIF_Security_API/capif_security/test/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..d3c5dca11850558162e0feafd352cc70eeb0bfd5 --- /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 0000000000000000000000000000000000000000..edb68b3d163935168c908865a8d56aa3025ae9df --- /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() 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 0563f81fd5345282a33705038dfa77fdcaa15872..74e3c913a7db6246bc765f147ca872996112c6bb 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 72d18d9b7df0bfd24490b24c4b9d9bcd683ad9ef..97d93c99e6708909597500e9c1306fac28d60671 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 9405f72e950cdb8ca24c3cf4d15cee7eac62fde7..f53a75d4fabe760cce49eddfd62fcc702938ea90 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 d7709377257fb38fb098b63e18f5f19c0d0793e4..0000000000000000000000000000000000000000 --- 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 32a15be25ab0afc062f029940f58f84ccb466548..35990d041772dab3dc0c2968aebfed0ebf583977 100644 --- a/services/TS29222_CAPIF_Security_API/requirements.txt +++ b/services/TS29222_CAPIF_Security_API/requirements.txt @@ -21,4 +21,4 @@ opentelemetry-sdk == 1.19.0 flask_executor == 1.0.0 werkzeug == 3.0.4 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 d763e2edd452fb04c1a21f6fa2c721ad10fd6455..9653f405eb80c7ce18475c0d604f967eff1c3c57 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 202a684feef71ff540d6aa528d348febf0b37d1e..58f51d6a00272d7515a20e3618f345b73c68afa0 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 f9b3b3b91b81585dbad03fb76c1e36be0a3dfa20..17b99b723a8a4ade60a8231af7cca78c40338771 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/features/CAPIF Security Api/capif_security_api.robot b/tests/features/CAPIF Security Api/capif_security_api.robot index 6170e7538e337877afd5a9e567793128109f2a3d..eb2d725a3aaf9fc0f55095de2deeab6ada4f5164 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 diff --git a/tests/libraries/security_api/bodyRequests.py b/tests/libraries/security_api/bodyRequests.py index 6adcc4cfbc77c2ac614ab2cbcc67e40d1399eeb2..dabee876cd9aaf379f3438080399bbe84d8b6d2e 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 }