A few openstack projects also use them, to explicitly define the transitions there resources (and&#x2F;or other objects) will go through in a controlled manner.<p><a href="http:&#x2F;&#x2F;docs.openstack.org&#x2F;developer&#x2F;ironic&#x2F;dev&#x2F;states.html" rel="nofollow">http:&#x2F;&#x2F;docs.openstack.org&#x2F;developer&#x2F;ironic&#x2F;dev&#x2F;states.html</a><p><a href="https:&#x2F;&#x2F;github.com&#x2F;openstack&#x2F;automaton" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;openstack&#x2F;automaton</a><p><a href="http:&#x2F;&#x2F;docs.openstack.org&#x2F;developer&#x2F;taskflow&#x2F;states.html" rel="nofollow">http:&#x2F;&#x2F;docs.openstack.org&#x2F;developer&#x2F;taskflow&#x2F;states.html</a>