<a name="#int_setting"></a>
## int_setting

<pre>
int_setting(<a href="#int_setting-name">name</a>)
</pre>



### Attributes

<table class="params-table">
  <colgroup>
    <col class="col-param" />
    <col class="col-description" />
  </colgroup>
  <tbody>
    <tr id="int_setting-name">
      <td><code>name</code></td>
      <td>
        <a href="https://bazel.build/docs/build-ref.html#name">Name</a>; required
        <p>
          A unique name for this target.
        </p>
      </td>
    </tr>
  </tbody>
</table>


<a name="#string_flag"></a>
## string_flag

<pre>
string_flag(<a href="#string_flag-name">name</a>)
</pre>



### Attributes

<table class="params-table">
  <colgroup>
    <col class="col-param" />
    <col class="col-description" />
  </colgroup>
  <tbody>
    <tr id="string_flag-name">
      <td><code>name</code></td>
      <td>
        <a href="https://bazel.build/docs/build-ref.html#name">Name</a>; required
        <p>
          A unique name for this target.
        </p>
      </td>
    </tr>
  </tbody>
</table>


## _build_setting_impl

<pre>
_build_setting_impl(<a href="#_build_setting_impl-ctx">ctx</a>)
</pre>



### Parameters

<table class="params-table">
  <colgroup>
    <col class="col-param" />
    <col class="col-description" />
  </colgroup>
  <tbody>
    <tr id="_build_setting_impl-ctx">
      <td><code>ctx</code></td>
      <td>
        required.
      </td>
    </tr>
  </tbody>
</table>


## exercise_the_api

<pre>
exercise_the_api()
</pre>





## transition_func

<pre>
transition_func(<a href="#transition_func-settings">settings</a>)
</pre>

A no-op transition function.

### Parameters

<table class="params-table">
  <colgroup>
    <col class="col-param" />
    <col class="col-description" />
  </colgroup>
  <tbody>
    <tr id="transition_func-settings">
      <td><code>settings</code></td>
      <td>
        required.
      </td>
    </tr>
  </tbody>
</table>


