<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="sqladmin_v1beta4.html">Cloud SQL Admin API</a> . <a href="sqladmin_v1beta4.flags.html">flags</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#list">list(databaseVersion=None, x__xgafv=None)</a></code></p>
<p class="firstline">List all available database flags for Cloud SQL instances.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="list">list(databaseVersion=None, x__xgafv=None)</code>
  <pre>List all available database flags for Cloud SQL instances.

Args:
  databaseVersion: string, Database type and version you want to retrieve flags for. By default, this
method returns flags for all database types and versions.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Flags list response.
    &quot;kind&quot;: &quot;A String&quot;, # This is always &lt;code&gt;sql#flagsList&lt;/code&gt;.
    &quot;items&quot;: [ # List of flags.
      { # A flag resource.
        &quot;maxValue&quot;: &quot;A String&quot;, # For &lt;code&gt;INTEGER&lt;/code&gt; flags, the maximum allowed value.
        &quot;inBeta&quot;: True or False, # Whether or not the flag is considered in beta.
        &quot;type&quot;: &quot;A String&quot;, # The type of the flag. Flags are typed to being &lt;code&gt;BOOLEAN&lt;/code&gt;,
            # &lt;code&gt;STRING&lt;/code&gt;, &lt;code&gt;INTEGER&lt;/code&gt; or &lt;code&gt;NONE&lt;/code&gt;.
            # &lt;code&gt;NONE&lt;/code&gt; is used for flags which do not take a value, such as
            # &lt;code&gt;skip_grant_tables&lt;/code&gt;.
        &quot;allowedStringValues&quot;: [ # For &lt;code&gt;STRING&lt;/code&gt; flags, a list of strings that the value can be set
            # to.
          &quot;A String&quot;,
        ],
        &quot;kind&quot;: &quot;A String&quot;, # This is always &lt;code&gt;sql#flag&lt;/code&gt;.
        &quot;appliesTo&quot;: [ # The database version this flag applies to. Can be &lt;code&gt;MYSQL_5_5&lt;/code&gt;,
            # &lt;code&gt;MYSQL_5_6&lt;/code&gt;, or &lt;code&gt;MYSQL_5_7&lt;/code&gt;. &lt;code&gt;MYSQL_5_7&lt;/code&gt;
            # is applicable only to Second Generation instances.
          &quot;A String&quot;,
        ],
        &quot;allowedIntValues&quot;: [ # Use this field if only certain integers are accepted. Can be combined
            # with min_value and max_value to add additional values.
          &quot;A String&quot;,
        ],
        &quot;requiresRestart&quot;: True or False, # Indicates whether changing this flag will trigger a database restart. Only
            # applicable to Second Generation instances.
        &quot;minValue&quot;: &quot;A String&quot;, # For &lt;code&gt;INTEGER&lt;/code&gt; flags, the minimum allowed value.
        &quot;name&quot;: &quot;A String&quot;, # This is the name of the flag. Flag names always use underscores, not
            # hyphens, e.g. &lt;code&gt;max_allowed_packet&lt;/code&gt;
      },
    ],
  }</pre>
</div>

</body></html>