<!-- Generated with Stardoc: http://skydoc.bazel.build -->

<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/concepts/labels#target-names">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/concepts/labels#target-names">Name</a>; required
        <p>
          A unique name for this target.
        </p>
      </td>
    </tr>
  </tbody>
</table>


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

## exercise_the_api

<pre>
exercise_the_api()
</pre>





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

## 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>


