{
    "description": "This type represents attribute modifications that were performed on an  Individual NFV-MANO service interface\" resource. The attributes that can  be included consist of those requested to be modified explicitly in the  \"ManoServiceInterfaceModificationRequest\" data structure. If applicable,  additional attributes of the \"ManoServiceInterface\" data structure that  were modified implicitly shall also be provided. \n",
    "type": "object",
    "properties": {
      "name": {
        "description": "If present, this attribute signals modifications of the \"name\" attribute in  \"ManoServiceInterface\", as defined in clause 5.6.2.11.\n",
        "type": "string"
      },
      "apiRoot": {
        "description": "String formatted according to IETF RFC 3986.\n",
        "type": "string"
      },
      "apiUri": {
        "description": "String formatted according to IETF RFC 3986.\n",
        "type": "string"
      },
      "securityInfo": {
        "description": "This type represents security related information of an NFV-MANO  service interface produced by an NFV-MANO functional entity. \n",
        "type": "object",
        "properties": {
          "authType": {
            "description": "Type of API request authorization to be used by the API producer.\nThe support of authorization methods for the API producer is specified  in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values:\n  - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246.\n  - OAUTH2: Using access token, as defined by the OAuth 2.0 specification \n  in IETF RFC 6749. \n",
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "TLS_TUNNEL",
                "OAUTH2"
              ]
            },
            "minItems": 1
          },
          "oauthServerInfo": {
            "description": "OAuth 2.0 authorization server information and configuration.\n",
            "type": "object",
            "properties": {
              "dynamicDiscovery": {
                "description": "Configuration data used when performing dynamic discovery of  the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization  server information and configuration shall be supported, and  dynamic configuration may be supported.\n",
                "type": "object",
                "properties": {
                  "webFingerHost": {
                    "description": "String formatted according to IETF RFC 3986.\n",
                    "type": "string"
                  }
                },
                "required": [
                  "webFingerHost"
                ]
              },
              "providedConfiguration": {
                "description": "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization  server information and configuration shall be supported, and  dynamic configuration may be supported.\n",
                "type": "object",
                "properties": {
                  "authServerId": {
                    "description": "String formatted according to IETF RFC 3986.\n",
                    "type": "string"
                  }
                },
                "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.\n",
                "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\".\n",
            "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"
        ]
      },
      "metadata": {
        "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n",
        "type": "object"
      }
    }
  }