NFVManoConfigurationAndInformationManagement.yaml 160 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_schemas.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_schemas.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_schemas.yaml#/components/schemas/UnsignedInt"
        defaultLogCompileByTimerValue:
          description: 
            Default value for the log compilation by timer to be used.
          $ref: "../components/SOL009_schemas.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_schemas.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_schemas.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_schemas.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_schemas.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_schemas.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_schemas.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_schemas.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_schemas.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_schemas.yaml#/components/schemas/KeyValuePairs"
        
    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_schemas.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_schemas.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:
        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:
    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

    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

  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: >
            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/SOL009_schemas.yaml#/components/schemas/ProblemDetails"
    mano_entity.patch.412:
      description: >
        412 PRECONDITION FAILED

        Shall be returned upon the following error: A precondition given in 
        an HTTP request header is not fulfilled.

        Typically, this is due to an ETag mismatch, indicating that the resource 
        was modified by another entity.

        The response body should contain a ProblemDetails structure, in which 
        the "detail" attribute should convey more information about the error
      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/SOL009_schemas.yaml#/components/schemas/ProblemDetails"

    mano_entity-change_state.post.202:
      description: >
        202 ACCEPTED

        Shall be returned when the request has been accepted for processing.

        The response body shall be empty.

        The HTTP response shall include a "Location" HTTP header that contains 
        the URI of the newly-created "Individual change state operation occurrence"
        resource corresponding to the operation.
      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
        Location:
          description: >