{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/google-cloud-sql/json-schema/google-cloud-sql-flags-list-response-schema.json",
  "title": "FlagsListResponse",
  "description": "Flags list response.",
  "x-generated": "2026-11-11",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/google-cloud-sql-flags-api-openapi.yml#/components/schemas/FlagsListResponse",
  "properties": {
    "kind": {
      "type": "string",
      "description": "This is always `sql#flagsList`."
    },
    "items": {
      "description": "List of flags.",
      "type": "array",
      "items": {
        "$ref": "#/$defs/Flag"
      }
    }
  },
  "type": "object",
  "$defs": {
    "Flag": {
      "properties": {
        "allowedStringValues": {
          "description": "For `STRING` flags, a list of strings that the value can be set to.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "recommendedIntValue": {
          "format": "int64",
          "type": "string",
          "description": "Recommended int value in integer format for UI display."
        },
        "inBeta": {
          "description": "Whether or not the flag is considered in beta.",
          "type": "boolean"
        },
        "name": {
          "description": "This is the name of the flag. Flag names always use underscores, not hyphens, for example: `max_allowed_packet`",
          "type": "string"
        },
        "appliesTo": {
          "description": "The database version this flag applies to. Can be MySQL instances: `MYSQL_8_0`, `MYSQL_8_0_18`, `MYSQL_8_0_26`, `MYSQL_5_7`, or `MYSQL_5_6`. PostgreSQL instances: `POSTGRES_9_6`, `POSTGRES_10`, `POSTGRES_11` or `POSTGRES_12`. SQL Server instances: `SQLSERVER_2017_STANDARD`, `SQLSERVER_2017_ENTERPRISE`, `SQLSERVER_2017_EXPRESS`, `SQLSERVER_2017_WEB`, `SQLSERVER_2019_STANDARD`, `SQLSERVER_2019_ENTERPRISE`, `SQLSERVER_2019_EXPRESS`, or `SQLSERVER_2019_WEB`. See [the complete list](/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion).",
          "type": "array",
          "items": {
            "enum": [
              "SQL_DATABASE_VERSION_UNSPECIFIED",
              "MYSQL_5_1",
              "MYSQL_5_5",
              "MYSQL_5_6",
              "MYSQL_5_7",
              "MYSQL_8_0",
              "MYSQL_8_0_18",
              "MYSQL_8_0_26",
              "MYSQL_8_0_27",
              "MYSQL_8_0_28",
              "MYSQL_8_0_29",
              "MYSQL_8_0_30",
              "MYSQL_8_0_31",
              "MYSQL_8_0_32",
              "MYSQL_8_0_33",
              "MYSQL_8_0_34",
              "MYSQL_8_0_35",
              "MYSQL_8_0_36",
              "MYSQL_8_0_37",
              "MYSQL_8_0_39",
              "MYSQL_8_0_40",
              "MYSQL_8_0_41",
              "MYSQL_8_0_42",
              "MYSQL_8_0_43",
              "MYSQL_8_0_44",
              "MYSQL_8_0_45",
              "MYSQL_8_0_46",
              "MYSQL_8_4",
              "MYSQL_9_7",
              "SQLSERVER_2017_STANDARD",
              "SQLSERVER_2017_ENTERPRISE",
              "SQLSERVER_2017_EXPRESS",
              "SQLSERVER_2017_WEB",
              "POSTGRES_9_6",
              "POSTGRES_10",
              "POSTGRES_11",
              "POSTGRES_12",
              "POSTGRES_13",
              "POSTGRES_14",
              "POSTGRES_15",
              "POSTGRES_16",
              "POSTGRES_17",
              "POSTGRES_18",
              "POSTGRES_19",
              "POSTGRES_20",
              "SQLSERVER_2019_STANDARD",
              "SQLSERVER_2019_ENTERPRISE",
              "SQLSERVER_2019_EXPRESS",
              "SQLSERVER_2019_WEB",
              "SQLSERVER_2022_STANDARD",
              "SQLSERVER_2022_ENTERPRISE",
              "SQLSERVER_2022_EXPRESS",
              "SQLSERVER_2022_WEB",
              "SQLSERVER_2025_STANDARD",
              "SQLSERVER_2025_ENTERPRISE",
              "SQLSERVER_2025_EXPRESS"
            ],
            "type": "string"
          }
        },
        "recommendedStringValue": {
          "type": "string",
          "description": "Recommended string value in string format for UI display."
        },
        "requiresRestart": {
          "type": "boolean",
          "description": "Indicates whether changing this flag will trigger a database restart. Only applicable to Second Generation instances."
        },
        "kind": {
          "description": "This is always `sql#flag`.",
          "type": "string"
        },
        "allowedIntValues": {
          "items": {
            "type": "string",
            "format": "int64"
          },
          "description": "Use this field if only certain integers are accepted. Can be combined with min_value and max_value to add additional values.",
          "type": "array"
        },
        "type": {
          "description": "The type of the flag. Flags are typed to being `BOOLEAN`, `STRING`, `INTEGER` or `NONE`. `NONE` is used for flags that do not take a value, such as `skip_grant_tables`.",
          "type": "string",
          "enum": [
            "SQL_FLAG_TYPE_UNSPECIFIED",
            "BOOLEAN",
            "STRING",
            "INTEGER",
            "NONE",
            "MYSQL_TIMEZONE_OFFSET",
            "FLOAT",
            "REPEATED_STRING"
          ]
        },
        "maxValue": {
          "description": "For `INTEGER` flags, the maximum allowed value.",
          "type": "string",
          "format": "int64"
        },
        "minValue": {
          "format": "int64",
          "description": "For `INTEGER` flags, the minimum allowed value.",
          "type": "string"
        },
        "flagScope": {
          "type": "string",
          "enum": [
            "SQL_FLAG_SCOPE_UNSPECIFIED",
            "SQL_FLAG_SCOPE_DATABASE",
            "SQL_FLAG_SCOPE_CONNECTION_POOL"
          ],
          "description": "Scope of flag."
        }
      },
      "type": "object",
      "description": "A flag resource."
    }
  }
}