"description":"This type represents attribute modifications that were performed on an \"Individual peer entity\" resource. The attributes that can be included consist of those requested to be modified explicitly in the \"PeerEntityConfigModificationRequest\" data structure. If applicable, additional attributes of the \"PeerEntity\" data structure that were modified implicitly shall also be provided. * NOTE:\tDue to the security sensitive information contained within the attribute (refer to \"securityInfo\"\n within the \"ConsumedManoInterfaceInfo\"\" and \"accessInfo\" within the \"VimConnectionInfo\"), based \n on access control policies, the API consumer might have read only, write only, read/write, or no\n access at all to the attribute's value. In case the API consumer is not allowed to read the value \n of the security sensitive attribute, the attribute shall be omitted when the information is to be\n provided in a response message.\n",
"type":"object",
"properties":{
"name":{
"description":"If present, this attribute signals modifications of the \"name\" attribute in \"PeerEntity\", as defined in clause 5.6.2.15.\n",
"type":"string"
},
"description":{
"description":"If present, this attribute signals modifications of the \"description\" attribute in \"PeerEntity\", as defined in clause 5.6.2.15.\n",
"type":"string"
},
"consumedManoInterfaces":{
"description":"If present, this attribute signals modifications of the \"consumedManoInterfaces\" attribute in \"PeerEntity\", as defined in clause 5.6.2.15. See note.\n",
"type":"object"
},
"vimConnectionInfos":{
"description":"If present, this attribute signals modifications of the \"vimConnectionInfos\" attribute in \"PeerEntity\", as defined in clause 5.6.2.15. See note.\n",
"type":"array",
"items":{
"type":"object"
},
"additionalProperties":{
"description":"This type represents an interface consumed by the producer NFV MANO functional entity from another peer functional entity. * NOTE 1:\tThe information to be provided in this attribute shall relate to the specification and its version.\n For instance, \"ETSI GS NFV-SOL 003 (V2.4.1)\".\n* NOTE 2:\tDue to the security sensitive information associated to the attribute, based on access control\n policies, the API consumer might have read only, write only, read/write, or no access at all to\n the attribute's value. In case the API consumer is not allowed to read the value of the security\n sensitive attribute, the attribute shall be omitted when the information is to be provided in a\n response message, and shall be provided otherwise. In case the API consumer is not allowed to\n modify the value of the security sensitive attribute, and the modification request includes new\n attribute values, the whole modification request shall be rejected, and proper error information returned.\n",
"type":"object",
"required":[
"id",
"name",
"type",
"standardVersion",
"apiVersion",
"apiEndpoint"
],
"properties":{
"name":{
"description":"Human-readable name of the NFV-MANO interface.\n",
"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.\n",
"type":"string"
},
"standardVersion":{
"description":"A version.\n",
"type":"string"
},
"apiVersion":{
"description":"A version.\n",
"type":"string"
},
"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.\n",
"type":"object",
"properties":{
"apiRoot":{
"description":"String formatted according to IETF RFC 3986.\n",
"type":"string"
},
"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.\n",
"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.\n",
"type":"string"
},
"apiUri":{
"description":"String formatted according to IETF RFC 3986.\n",
"type":"string"
}
},
"required":[
"apiUri"
]
},
"securityInfo":{
"description":"This type represents security related information for accessing an NFV-MANO service interface produced by an NFV-MANO functional entity. * NOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration\n shall be supported, and dynamic configuration may be supported.\n",
"type":"object",
"required":[
"authType",
"oauthServerInfo"
],
"properties":{
"authType":{
"description":"Type of API request authorization to be used by the API consumer accessing the API.\nThe support of authorization methods for the API consumer is specified in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values: - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - TLS_TUNNEL_13: Using TLS tunnel, as defined by TLS 1.3 in IETF RFC 8446. - OAUTH2: Using access token, as defined by the OAuth 2.0 specification in IETF RFC 6749.\n",
"type":"array",
"items":{
"type":"string",
"enum":[
"TLS_TUNNEL",
"TLS_TUNNEL_13",
"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. See note.\n",
"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.\n",
"type":"string",
"format":"uri"
}
}
},
"providedConfiguration":{
"description":"Configuration data used to setup the authorization server identifier. See note.\n",
"type":"object",
"required":[
"authServerId"
],
"properties":{
"authServerId":{
"description":"Authorization server identifier as defined in ETSI GS NFV-SEC 022.\n",
"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.\n",
"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\".\n",
"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.\n",
"type":"array",
"items":{
"type":"string",
"minItems":1
}
}
}
}
}
}
}
}
},
"operationalState":{
"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:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n",
"type":"string",
"enum":[
"STARTED",
"STOPPED",
"STOPPING",
"STARTING",
"RESTARTING"
]
},
"administrativeState":{
"description":"The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n",