NFVManoConfigurationAndInformationManagement.yaml 158 KB
Newer Older
            - standardVersion
        supportedNsdFormats:
          description: >
            Supported NSD data formats.
          type: object
          properties:
            nsdFormat:
              description: >
                Name of the NSD format.

                Permitted values:
                  - TOSCA: The VNFD follows TOSCA definition, according to ETSI 
                  GS NFV-SOL 001 standard.
                  - YANG: The VNFD follows YANG definition according to ETSI 
                  GS NFV-SOL 006 standard.
              type: string
              enum:
                - TOSCA
                - YANG
            standardVersion:
              description: >
                Name and version of the standard the NSD is compliant to. 
                
                NOTE: The information to be provided in this attribute shall relate 
                to the specification and version of the specification. For instance, 
                "ETSI GS NFV-SOL 001 (V2.5.1)".
              $ref: "../components/SOL009_comps.yaml#/components/schemas/Version"
          required:
            - nsdFormat
            - standardVersion
      required:
        - supportedVnfdFormats
        - supportedNsdFormats
        
    VnfmSpecificInfo:
      description: >
        This type represents information attributes specific to a VNFM entity, 
        and that can be relevant to more than one NFV-MANO service offered by 
        a VNFM entity.
      type: object
      properties:
        resoruceMgmtModeSupport:
          description: >
            The supported resource management modes of the VNFM.
            Permitted values:
              - DIRECT: The VNFM supports direct mode only.
              - INDIRECT: The VNFM supports indirect mode only.
              - BOTH: The VNFM supports both direct and indirect mode.
          type: string
          enum:
            - DIRECT
            - INDIRECT
            - BOTH
        managedVnfInstanceInfos:
          description: >
            The kinds of VNF instances that can be managed, e.g. to determine the 
            compatibility of a VNF with certain VNFM according to the vnfmInfo 
            attribute in the VNFD (see table 7.1.2.2-1 in ETSI GS NFV-IFA 011).
          type: array
          items:
            type: string
          minItems: 1
        supportedVnfdFormats:
          description: >
            Supported VNFD data formats.
          type: array
          items:
            type: object
            properties:
              vnfdFormat:
                description: >
                  Name of the VNFD format.

                  Permitted values:
                    - TOSCA: The VNFD follows TOSCA definition, according to ETSI 
                    GS NFV-SOL 001 standard.
                    - YANG: The VNFD follows YANG definition according to ETSI 
                    GS NFV-SOL 006 standard.
                type: string
                enum:
                  - TOSCA
                  - YANG
              standardVersion:
                description: >
                  Name and version of the standard the VNFD is compliant to. 

                  NOTE: The information to be provided in this attribute shall relate 
                  to the specification and version of the specification. For instance, 
                  "ETSI GS NFV-SOL 001 (V2.5.1)".
                $ref: "../components/SOL009_comps.yaml#/components/schemas/Version"
            required:
              - vnfdFormat
              - standardVersion
          minItems: 1
      required:
        - resoruceMgmtModeSupport
        - managedVnfInstanceInfos
        - supportedVnfdFormats

    VimSpecificInfo:
      description: >
        This type represents information attributes specific to a VIM entity, 
        and that can be relevant to more than one NFV-MANO service offered by 
        a VIM entity.
      type: object
        
    ManoEntityConfigurableParams:
      description: >
        This type represents list of parameters that can be configured on the 
        NFV MANO functional entity. 
      type: object
      properties:
        clockSyncs:
          description: 
            Properties of the clock synchronization to be used by the NFV-MANO 
            functional entity.
          type: array
          items:
            $ref: "#/components/schemas/ClockSyncInfo"
          minItems: 1
        defaultLogCompileBySizeValue:
          description: 
            Default value for the log compilation by size to be used.
          $ref: "../components/SOL009_comps.yaml#/components/schemas/UnsignedInt"
        defaultLogCompileByTimerValue:
          description: 
            Default value for the log compilation by timer to be used.
          $ref: "../components/SOL009_comps.yaml#/components/schemas/UnsignedInt"
      required:
        - clockSyncs
        - defaultLogCompileBySizeValue
        - defaultLogCompileByTimerValue
        
    ConsumedManoInterfaceInfo:
      description: >
        This type represents an interface consumed by the producer NFV MANO 
        functional entity from another peer functional entity. 
      type: object
      properties:
        id:
          description: >
            Identifier of the consumed NFV-MANO interface. This identifier is
            managed by the API consumer.
          $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier"
        name:
          description: >
            Human-readable name of the NFV-MANO interface.
          type: string
        type:
          description: >
            Type of the NFV-MANO service interface consumed by the NFV-MANO 
            functional entity. Valid values are defined in clause 5.6.4.3.
          type: string
        standardVersion:
          description: >
            Version of the standard the interface is compliant to.
            
            NOTE: The information to be provided in this attribute shall relate 
            to the specification and its version. For instance, 
            "ETSI GS NFV-SOL 003 (V2.4.1)".
          $ref: "../components/SOL009_comps.yaml#/components/schemas/Version"
        apiVersion:
          description: >
            API version, in compliance with the version identifiers and parameters 
            format specified in clause 9.1 of ETSI GS NFV-SOL 013.
          $ref: "../components/SOL009_comps.yaml#/components/schemas/Version"
        apiEndpoint:
          description: >
            Consumable API endpoint of the interface.
            It provides the information relevant about the protocol, host and port, 
            and path where the interface API can be accessed.
          type: object
          properties:
            apiRoot:
              description: >
                Indicates the scheme ("http" or "https"), the host name and optional 
                port, and an optional sequence of path segments that together 
                represent a prefix path. Shall be present for ETSI NFV specified 
                RESTful NFV-MANO APIs (see also clause 4.1 of ETSI GS NFV-SOL 013). 
                May be present otherwise.
              $ref: "../components/SOL009_comps.yaml#/components/schemas/Uri" 
            apiName:
              description: >
                Indicates the interface name in an abbreviated form. Shall be present 
                for ETSI NFV specified RESTful NFV-MANO APIs. The {apiName} of each 
                interface is defined in the standard the interface is compliant to 
                (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.
              type: string
            apiMajorVersion:
              description: >
                Indicates the current major version of the API. Shall be present for 
                ETSI NFV specified RESTful NFV-MANO APIs. The major version is defined 
                in the standard the interface is compliant to (see also clause 4.1 
                of ETSI GS NFV-SOL 013). May be present otherwise.
              type: string 
            apiUri:
              description: >
                URL of the API endpoint. For ETSI NFV specified RESTful NFV-MANO APIs, 
                the following prefix structure is used (see also clause 4.1 of ETSI 
                GS NFV-SOL 013): {apiRoot}/{apiName}/{apiMajorVersion}
              $ref: "../components/SOL009_comps.yaml#/components/schemas/Uri" 
          required:
            - apiUri
        securityInfo:
          description: >
            Security related information including credentials information if needed 
            for consuming the API.

            NOTE: Due to the security sensitive information associated to the attribute, 
            based on access control policies, the API consumer might have read only, 
            write only, read/write, or no access at all to the attribute’s value. 
            In case the API consumer is not allowed to read the value of the security 
            sensitive attribute, the attribute shall be omitted when the information 
            is to be provided in a response message, and shall be provided otherwise. 
            In case the API consumer is not allowed to modify the value of the security 
            sensitive attribute, and the modification request includes new attribute values, 
            the whole modification request shall be rejected, and proper error information 
            returned.
          $ref: "#/components/schemas/ClientInterfaceSecurityInfo"
      required:
        - id
        - name
        - type
        - standardVersion
        - apiVersion
        - apiEndpoint
        
    CimNotificationsFilter:
      description: >
        This type represents a subscription filter related to notifications 
        about NFV-MANO configuration and information management. 
      type: object
      properties:
        manoEntitySubscriptionFilter:
          description: >
            Filter criteria to select the NFV-MANO functional entity and its 
            associated managed objects.
          $ref: "../components/SOL009_comps.yaml#/components/schemas/ManoEntitySubscriptionFilter"
        notificationTypes:
          description: >
            Match particular notification types. 
            Permitted values:
              - InformationChangedNotification
              - ChangeStateNotification

            NOTE:	The permitted values of the "notificationTypes" attribute are 
            spelled exactly as the names of the notification types to facilitate 
            automated code generation systems.
          type: array
          items:
            type: string
            enum:
              - InformationChangedNotification
              - ChangeStateNotification

    ClockSyncInfo:
      description: >
        This type represents parameters for connecting to an NTP server. 
      type: object
      properties:
        id:
          description: >
            The identifier of the clock synchronization information entry. 
            This identifier is managed by the API consumer.
          $ref: "../components/SOL009_comps.yaml#/components/schemas/Identifier"
        type:
          description: >
            Type of clock synchronization.
            Permitted values:
              - NTP: For Network Time Protocol (NTP) based clock synchronization.
              - OTHER: For other types of clock synchronization.
          type: string
          enum:
            - NTP
            - OTHER
        ntpServerInfo:
          description: >
            Information for the NTP based clock synchronization. 
            Shall be present if type = "NTP".
          type: object
          properties:
            ipAddress:
              description: >
                0..1	IP address of the NTP server. 
                
                NOTE:	Either ipAddress or hostname shall be set, but not both 
                at the same time.
              $ref: "../components/SOL009_comps.yaml#/components/schemas/IpAddress"
            hostname:
              description: >
                Indicates the hostname of the NTP server. 
                
                NOTE:	Either ipAddress or hostname shall be set, but not both 
                at the same time.
              type: string
        otherClockSyncParams:
          description: >
            Information for the other types of clock synchronization. 
            May be present if type = "OTHER".
          $ref: "../components/SOL009_comps.yaml#/components/schemas/KeyValuePairs"
      required:
        - id
        - type
        
    ServerInterfaceSecurityInfo:
      description: >
        This type represents security related information of an NFV-MANO 
        service interface produced by an NFV-MANO functional entity. 
      type: object
      properties:
        authType:
          description: >
            Type of API request authorization to be used by the API producer.
            The support of authorization methods for the API producer is specified 
            in clause 8.3.6 of ETSI GS NFV-SOL 013.
            Permitted values:
              - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246.
              - OAUTH2: Using access token, as defined by the OAuth 2.0 specification 
              in IETF RFC 6749. 
          type: array
          items:
            type: string
            enum:
              - TLS_TUNNEL
              - OAUTH2
          minItems: 1
        oauthServerInfo:
          description: >
            OAuth 2.0 authorization server information and configuration.
          type: object
          properties:
            dynamicDiscovery:
              description: >
                Configuration data used when performing dynamic discovery of 
                the authorization server identifier. 
                
                NOTE:	Provided configuration of the OAuth 2.0 authorization 
                server information and configuration shall be supported, and 
                dynamic configuration may be supported.
              type: object
              properties:
                webFingerHost:
                  description: >
                    Server where the WebFinger service is hosted. When used, 
                    the request to the WebFinger resource shall conform as specified 
                    in clause 5.1.3 of ETSI GS NFV-SEC 022.
                  $ref: "../components/SOL009_comps.yaml#/components/schemas/Uri"
              required:
                - webFingerHost
            providedConfiguration:
              description: >
                Configuration data used to setup the authorization server identifier. 
                
                NOTE:	Provided configuration of the OAuth 2.0 authorization 
                server information and configuration shall be supported, and 
                dynamic configuration may be supported.
              type: object
              properties:
                authServerId:
                  description: >
                    Authorization server identifier as defined in ETSI GS NFV-SEC 022.
                  $ref: "../components/SOL009_comps.yaml#/components/schemas/Uri"
              required:
                - authServerId
            tlsCipherSuites:
              description: >
                List of cipher suites that shall be declared as supported by the 
                API producer when performing the SSL or TLS negotiation with the 
                authorization server. Valid values of cipher suites are defined 
                in IETF RFC 8447.
              type: array
              items:
                type: string
              minItems: 1
          required:
            - providedConfiguration
            - tlsCipherSuites
        tlsTunnelInfo:
          description: >
            Information and configuration related to the use of TLS tunnel. 
            Shall be present if authType contains "TLS_TUNNEL".
          type: object
          properties:
            tlsTunnelCipherSuites:
              description: 
                List of cipher suites that shall be declared as supported by the API 
                producer when performing the SSL or TLS negotiation with the API client. 
                Valid values of cipher suites are defined in IETF RFC 8447.
              type: array
              items:
                type: string
              minItems: 1
          required:
            - tlsTunnelCipherSuites
      required:
        - authType
        - oauthServerInfo
        
    ClientInterfaceSecurityInfo:
      description: >
        This type represents security related information for accessing an NFV-MANO 
        service interface produced by an NFV-MANO functional entity.
      type: object
      required:
        - authType
        - oauthServerInfo
      properties:
        authType: 
          description: >
            Type of API request authorization to be used by the API consumer accessing 
            the API.

            The support of authorization methods for the API consumer is specified in 
            clause 8.3.6 of ETSI GS NFV-SOL 013.

            Permitted values:
            - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246.
            - OAUTH2: Using access token, as defined by the OAuth 2.0 specification 
            in IETF RFC 6749. 
          type: array
          items:
            type: string
            enum:
              - TLS_TUNNEL
              - OAUTH2
          minItems: 1
        oauthServerInfo:
          description: >
            OAuth 2.0 authorization server information and configuration.
          type: object
          properties:
            dynamicDiscovery:
              description: >
                Configuration data used when performing dynamic discovery of the authorization 
                server identifier. 

                NOTE:	Provided configuration of the OAuth 2.0 authorization server information 
                and configuration shall be supported, and dynamic configuration may be supported.
              type: object
              required:
                - webFingerHost
              properties:
                webFingerHost:
                  description: >
                    Server where the WebFinger service is hosted. When used, the request to 
                    the WebFinger resource shall conform as specified in clause 5.1.3 of 
                    ETSI GS NFV-SEC 022.
                  type: string
                  format: uri
            providedConfiguration:
              description: >
                Configuration data used to setup the authorization server identifier. 

                NOTE:	Provided configuration of the OAuth 2.0 authorization server information 
                and configuration shall be supported, and dynamic configuration may be supported.
              type: object
              required:
                - authServerId
              properties:
                authServerId:
                  description: >
                    Authorization server identifier as defined in ETSI GS NFV-SEC 022.
                  type: string
                  format: uri
            tlsCipherSuites:
              description: >
                List of cipher suites that shall be declared as supported by the API consumer when 
                performing the SSL or TLS negotiation with the authorization server. Valid values 
                of cipher suites are defined in IETF RFC 8447.
              type: array
              items:
                type: string
                minItems: 1
        tlsTunnelInfo:
          description: >
            Information and configuration related to the use of TLS tunnel. Shall be 
            present if authType contains "TLS_TUNNEL".
          type: object
          properties:
            tlsTunnelCipherSuites:
              description: >
                List of cipher suites that shall be declared as supported by the API 
                consumer when performing the SSL or TLS negotiation with the API producer. 
                Valid values of cipher suites are defined in IETF RFC 8447.
              type: array
              items:
                type: string
                minItems: 1

    #referenced simple data types
    ManoServiceInterfaceTypeShortName:
      description: >
        For the RESTful NFV-MANO APIs, valid values are all values for "apiName" as defined 
        in ETSI GS NFV-SOL 002, ETSI GS NFV-SOL 003, and ETSI GS NFV-SOL 005.
        
        For the NFV-MANO service interfaces for which no API is specified by ETSI NFV, valid 
        values are defined in table 5.6.4.3-1.

        NOTE:	The table is expected to be updated, by removing the corresponding listed entries, 
        once the interfaces are specified as a RESTful NFV-MANO API. 
      type: string

    OperationalStateEnumType:
      description: >
        The enumeration OperationalStateEnumType defines values representing the 
        operational state of an NFV-MANO functional application type of managed entity. 
        The OperationalStateEnumType shall comply with the provisions:
          - STARTED	The managed entity is operational.
          - STOPPED	The managed entity is not operational.
          - STOPPING	The managed entity is in the transition to stop.
          - STARTING	The managed entity is in the transition to start and become operational.
          - RESTARTING	The managed entity is in the transition to stop and start again.
      type: string
      enum:
        - STARTED
        - STOPPED
        - STOPPING
        - STARTING
        - RESTARTING

    AdministrativeStateEnumType:
      description: >
        The enumeration AdministrativeStateEnumType defines values representing 
        the administrative state of a managed entity. 
        The AdministrativeStateEnumType shall comply with the provisions: 
          - LOCKED	The managed entity is administratively prohibited to be used.
          - UNLOCKED	The managed entity is administratively allowed to be used.
          - LOCKING	The managed entity is in the transition to be locked.
      type: string
      enum:
        - LOCKED
        - UNLOCKED
        - LOCKING

    UsageStateEnumType:
      description: >
        The enumeration UsageStateEnumType defines values representing the usage 
        state of a managed entity. 
        The UsageStateEnumType shall comply with the provisions:
          - IN_USE	The managed entity is currently being used.
          - NOT_IN_USE	The managed entity is currently not being used.
      type: string
      enum:
        - IN_USE
        - NOT_IN_USE

    ChangeOperationalStateEnumType:
      description: >
        The enumeration ChangeOperationalStateEnumType defines permitted values 
        for the change state operation. 
        The ChangeOperationalStateEnumType shall comply with the provisions:
          - START	To start the managed entity.
          - STOP	To stop the managed entity.
          - RESTART	To stop and start again the managed entity.
      type: string
      enum:
        - START 
        - STOP
        - RESTART

    ChangeAdministrativeStateEnumType:
      description: >
        The enumeration ChangeAdministrativeStateEnumType defines permitted values 
        for the change of administrative state operation. 
        The ChangeAdministrativeStateEnumType shall comply with the provisions:
          - LOCK	To lock the managed entity.
          - UNLOCK	To unlock the managed entity.
      type: string
      enum:
        - LOCK
        - UNLOCK

    InterfaceOperationalStateEnumType:
      description: >
        The enumeration InterfaceOperationalStateEnumType defines values representing 
        the operational state of an NFV-MANO service interface type of managed entity. 
        The InterfaceOperationalStateEnumType shall comply with the provisions :
           - STARTED	The managed entity is operational.
           - STOPPED	The managed entity is not operational.
           - STOPPING	The managed entity is in the transition to stop.
           - STARTING	The managed entity is in the transition to start and become operational.
      type: string
      enum:
        - STARTED
        - STOPPED
        - STOPPING
        - STARTING

    StopEnumType:
      description: >
        The enumeration ChangeStateOpOccStateEnumType defines permitted values 
        for the change state operation. It shall comply with the provisions:
          - GRACEFUL	To stop the managed entity immediately after accepting the request.
          - FORCEFUL	To stop the managed entity attempting to gracefully discharge the entity from service.
      type: string
      enum:
        - GRACEFUL
        - FORCEFUL

    ChangeStateOpOccStateEnumType:
      description: >
        The enumeration ChangeStateOpOccStateEnumType defines permitted values 
        for the change state operation. It shall comply with the provisions :
          - PROCESSING	The change state operation is currently in execution.
          - COMPLETED	The change state operation has been completed successfully.
          - FAILED	The change state operation has failed.
      type: string
      enum:
        - PROCESSING
        - COMPLETED
        - FAILED

    ManoEntityEnumType:
2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000
        The enumeration ManoEntityEnumType defines the permitted values to 
        represent NFV-MANO functional entities. It shall comply with 
        the provisions :
          - NFVO	The NFV-MANO functional entity is an NFVO.
          - VNFM	The NFV-MANO functional entity is a VNFM.
          - VIM	The NFV-MANO functional entity is a VIM.
      type: string
      enum:
        - NFVO
        - VNFM
        - VIM

    PeerEntityEnumType:
      description: >
        The enumeration PeerEntityEnumType defines the permitted values 
        to represent peer functional entities. it shall complains with 
        the provisions : 
        - NFVO	The peer functional entity is an NFVO.
        - VNFM	The peer functional entity is a VNFM.
        - VIM	  The peer functional entity is a VIM.
        - WIM	  The peer functional entity is a WIM.
        - EM	  The peer functional entity is an EM.
        - OSS	  The peer functional entity is an OSS/BSS.
      type: string
      enum:
        - NFVO
        - VNFM
        - VIM
        - WIM
        - EM
        - OSS

  parameters:
    Version:
      name: Version
      description: >
        Version of the API requested to use when responding to this request.
      in: header
      required: true
      schema:
        type: string
    
    Accept:
      name: Accept
      description: >
        Content-Types that are acceptable for the response. Reference: IETF RFC 7231.
      in: header
      required: true
      schema:
        type: string
    
    Authorization:
      name: Authorization
      description: >
        The authorization token for the request. Reference: IETF RFC 7235.
      in: header
      required: false
      schema:
        type: string
    
    filter.ManoServiceInterface:
      name: filter
      description: >
        Attribute-based filtering expression according to clause 5.2 of 
        ETSI GS NFV-SOL 013. 

        The NFV-MANO functional entity shall support receiving this parameter 
        as part of the URI query string. The API consumer may supply this 
        parameter. 

        All attribute names that appear in the ManoServiceInterface and in data 
        types referenced from it shall be supported by the NFV-MANO functional 
        entity in the expression. 
      in: query
      required: false
      schema:
        type: string
    filter.CimSubscription:
      name: filter
      description: >
        Attribute-based filtering expression according to clause 5.2 of 
        ETSI GS NFV-SOL 013. 

        The NFV-MANO functional entity shall support receiving this parameter 
        as part of the URI query string. The API consumer may supply this 
        parameter. 

        All attribute names that appear in the CimSubscription and in data 
        types referenced from it shall be supported by the NFV-MANO functional 
        entity in the expression. 
      in: query
      required: false
      schema:
        type: string
    filter.ChangeStateOpOcc:
      name: filter
      description: >
        Attribute-based filtering expression according to clause 5.2 of 
        ETSI GS NFV-SOL 013. 

        The NFV-MANO functional entity shall support receiving this parameter 
        as part of the URI query string. The API consumer may supply this 
        parameter. 

        All attribute names that appear in the ChangeStateOpOcc and in data 
        types referenced from it shall be supported by the NFV-MANO functional 
        entity in the expression. 
      in: query
      required: false
      schema:
        type: string
    filter.PeerEntity:
      name: filter
      description: >
        Attribute-based filtering expression according to clause 5.2 of 
        ETSI GS NFV-SOL 013. 

        The NFV-MANO functional entity shall support receiving this parameter 
        as part of the URI query string. The API consumer may supply this 
        parameter. 

        All attribute names that appear in the PeerEntity and in data 
        types referenced from it shall be supported by the NFV-MANO functional 
        entity in the expression. 
      in: query
      required: false
      schema:
        type: string

    all_fields:
      name: all_fields
      description: >
        Include all complex attributes in the response. See clause 
        5.3 of ETSI GS NFV-SOL 013. The NFV-MANO functional entity 
        shall support this parameter.
      in: query
      required: false
      schema:
        type: string

    fields:
      name: fields
      description: >
        Complex attributes to be included into the response. See clause 
        5.3 of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional 
        entity should support this parameter.
      in: query
      required: false
      schema:
        type: string

    exclude_fields:
      name: exclude_fields
      description: >
        Complex attributes to be excluded from the response. See clause 
        5.3 of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional 
        entity should support this parameter.
      in: query
      required: false
      schema:
        type: string

    exclude_default.ManoServiceInterface:
      name: exclude_default
      description: >
        Indicates to exclude the following complex attributes from the 
        response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. 
        The NFV-MANO functional entity shall support this parameter.

        The following attributes shall be excluded from the ManoServiceInterface 
        structure in the response body if this parameter is provided, or none of 
        the parameters "all_fields," "fields", "exclude_fields", "exclude_default" 
        are provided:
        - none
      in: query
      required: false
      schema:
        type: string
    exclude_default.CimSubscription:
      name: exclude_default
      description: >
        Indicates to exclude the following complex attributes from the 
        response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. 
        The NFV-MANO functional entity shall support this parameter.

        The following attributes shall be excluded from the CimSubscription 
        structure in the response body if this parameter is provided, or none of 
        the parameters "all_fields," "fields", "exclude_fields", "exclude_default" 
        are provided:
        - none
      in: query
      required: false
      schema:
        type: string
    exclude_default.ChangeStateOpOcc:
      name: exclude_default
      description: >
        Indicates to exclude the following complex attributes from the 
        response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. 
        The NFV-MANO functional entity shall support this parameter.

        The following attributes shall be excluded from the ChangeStateOpOcc 
        structure in the response body if this parameter is provided, or none of 
        the parameters "all_fields," "fields", "exclude_fields", "exclude_default" 
        are provided:
        - none
      in: query
      required: false
      schema:
        type: string
    exclude_default.PeerEntity:
      name: exclude_default
      description: >
        Indicates to exclude the following complex attributes from the 
        response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. 
        The NFV-MANO functional entity shall support this parameter.

        The following attributes shall be excluded from the PeerEntity 
        structure in the response body if this parameter is provided, or none of 
        the parameters "all_fields," "fields", "exclude_fields", "exclude_default" 
        are provided:
        - none
      in: query
      required: false
      schema:
        type: string

    nextpage_opaque_marker:
      name: nextpage_opaque_marker
      description: >
        Marker to obtain the next page of a paged response. Shall be supported by 
        the NFV-MANO functional entity if the entity supports alternative 2 (paging) 
        according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource.
      in: query
      required: false
      schema:
        type: string
  
  requestBodies:
    ModifyManoEntityRequest:
      description: >
        Parameters for the NFV-MANO configuration and information 
        modification, as defined in clause 5.6.2.3.
        The Content-Type header shall be set to "application/merge-patch+json" 
        according to IETF RFC 7396.
      content:
        application/merge-patch+json:
          schema:
            $ref: "#/components/schemas/ManoConfigModificationRequest"
      required: true
    
    ChangeManoEntityStateRequest:
      description: >
        Parameters for the change state operation, as defined in clause 5.6.2.8.
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/ChangeStateRequest"
      required: true
    
    ModifyManoEnityInterfaceRequest:
      description: >
        Parameters for the modification of configuration parameters of 
        the NFV-MANO service interface, as defined in clause 5.6.2.12.

        The Content-Type header shall be set to "application/merge-patch+json"
        according to IETF RFC 7396.
      content:
        application/merge-patch+json:
          schema:
            $ref: "#/components/schemas/ManoServiceInterfaceModificationRequest" 
      required: true
    
    ChangeManoEntityInterfaceStateRequest:
      description: >
        Parameters for the change state operation, as defined in 
        clause 5.6.2.8.
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/ChangeStateRequest"
      required: true
    
    CreateSubscriptionRequest:
      description: >
        Details of the subscription to be created, as defined in 
        clause 5.6.2.5-1.
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/CimSubscriptionRequest"
      required: true
    
    CreatePeerEntityRequest:
      description: >
        The peer entity creation parameters, as defined in clause 5.6.2.14.
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/CreatePeerEntityRequest"
      required: true
    
    ModifyPeerEntityRequest:
      description: >
        Parameters for the modification of configuration parameters of 
        the peer functional entity, as defined in clause 5.6.2.16

        The Content-Type header shall be set to "application/merge-patch+json" 
        according to IETF RFC 7396.
      content:
        application/merge-patch+json:
          schema:
            $ref: "#/components/schemas/PeerEntityConfigModificationRequest"
      required: true

  responses:
    mano_entity.get.200:
      description: >
        200 OK

        Shall be returned when configuration and information about 
        the NFV-MANO functional entity has been read successfully.
        The response body shall contain a representation of the NFV-MANO
        functional entity, as defined in clause 5.6.2.2.
      headers:
        WWW-Authenticate:
          description: >
            Challenge if the corresponding HTTP request has not provided
            authorization, or error details if the corresponding HTTP
            request has provided an invalid authorization token.
          schema:
            type: string
        Version:
          description: >
            Version of the API used in the response.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/ManoEntity"

    mano_entity.patch.200:
      description: >
        200 OK

        Shall be returned when the modification of configuration on the 
        NFV-MANO functional entity has been accepted and completed.
      headers:
        WWW-Authenticate:
          description: >
            Challenge if the corresponding HTTP request has not provided
            authorization, or error details if the corresponding HTTP
            request has provided an invalid authorization token.
          schema:
            type: string
        Version:
          description: >
            Version of the API used in the response.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/ManoConfigModifications"
    mano_entity.patch.409:
      description: >
        409 CONFLICT

        Shall be returned upon the following error: The operation cannot 
        be executed currently, due to a conflict with the state of the 
        "NFV-MANO entity" resource.

        Typically, this is due to the fact that another configuration and 
        information modification is ongoing.

        The response body shall contain a ProblemDetails structure, in which 
        the "detail" attribute should convey more information about the error.
      headers:
        WWW-Authenticate:
          description: >