@startuml
!include skin.inc
participant "API consumer" as cons
participant "NFV-MANO\nfunctional entity" as prod
autonumber
	note over cons, prod: Precondition: <<Precondition>>
	cons -> prod: POST .../mano_entity/change_state (ChangeStateRequest)
	prod -->> prod: Processes the state\n change request and\n creates a change state\n operation occurrence
	prod -> cons: 202 Accepted ()
	opt
		cons -> prod: GET ../change_state_ops/{changeStateOpOccId}
		prod -> cons: 200 OK (ChangeStateOpOcc: operationState=PROCESSING)
	end
	loop
		prod -->> prod: Intermediate\n state change
		prod -->> cons: Send StateChangeNotification
	end
	prod -->> prod: Change state operation\n finished
	prod -->> cons: Send StateChangeNotification
	opt
		cons -> prod: GET ../change_state_ops/{changeStateOpOccId}
		prod -> cons: 200 OK (ChangeStateOpOcc: operationState=COMPLETED)
	end
	note over cons, prod: Postcondition: <<Postcondition>>
@enduml

