Use zuul attributes in semaphore documentation

This changes the semaphore documentation section to use the zuul
attributes.

Change-Id: I3dde62804fdcae21cb3fba75472ece6769fe770a
Depends-On: I4892b579545dd459fa877feb3014c4c4f2ced2eb
diff --git a/doc/source/user/config.rst b/doc/source/user/config.rst
index 3eccbb5..9a7f480 100644
--- a/doc/source/user/config.rst
+++ b/doc/source/user/config.rst
@@ -1023,20 +1023,27 @@
 
 Semaphores are never subject to dynamic reconfiguration.  If the value
 of a semaphore is changed, it will take effect only when the change
-where it is updated is merged.  An example follows::
+where it is updated is merged.  An example follows:
 
-  - semaphore:
-      name: semaphore-foo
-      max: 5
-  - semaphore:
-      name: semaphore-bar
-      max: 3
+.. code-block:: yaml
 
-The following attributes are available:
+   - semaphore:
+       name: semaphore-foo
+       max: 5
+   - semaphore:
+       name: semaphore-bar
+       max: 3
 
-**name** (required)
-  The name of the semaphore, referenced by jobs.
+.. attr:: semaphore
 
-**max**
-  The maximum number of running jobs which can use this semaphore.
-  Defaults to 1.
+   The following attributes are available:
+
+   .. attr:: name
+      :required:
+
+      The name of the semaphore, referenced by jobs.
+
+   .. attr:: max
+      :default: 1
+
+      The maximum number of running jobs which can use this semaphore.