Метод create

Создает кластер MySQL в указанном каталоге.

HTTP-запрос

POST https://mdb.api.cloud.yandex.net/managed-mysql/v1/clusters

Параметры в теле запроса

{
  "folderId": "string",
  "name": "string",
  "description": "string",
  "labels": "object",
  "environment": "string",
  "configSpec": {
    "version": "string",
    "resources": {
      "resourcePresetId": "string",
      "diskSize": "string",
      "diskTypeId": "string"
    },
    "backupWindowStart": {
      "hours": "integer",
      "minutes": "integer",
      "seconds": "integer",
      "nanos": "integer"
    },
    "mysqlConfig_5_7": {
      "innodbBufferPoolSize": "integer",
      "maxConnections": "integer",
      "longQueryTime": "number",
      "generalLog": true,
      "auditLog": true,
      "sqlMode": [
        "string"
      ],
      "maxAllowedPacket": "integer",
      "defaultAuthenticationPlugin": "string"
    }
  },
  "databaseSpecs": [
    {
      "name": "string"
    }
  ],
  "userSpecs": [
    {
      "name": "string",
      "password": "string",
      "permissions": [
        {
          "databaseName": "string",
          "roles": [
            "string"
          ]
        }
      ]
    }
  ],
  "hostSpecs": [
    {
      "zoneId": "string",
      "subnetId": "string",
      "assignPublicIp": true
    }
  ],
  "networkId": "string"
}
Поле Описание
folderId string

Обязательное поле. Идентификатор каталога, в котором нужно создать кластер MySQL.

Максимальная длина строки в символах — 50.

name string

Обязательное поле. Имя кластера MySQL. Имя должно быть уникальным в каталоге.

Максимальная длина строки в символах — 63. Значение должно соответствовать регулярному выражению [a-zA-Z0-9_-]*.

description string

Описание кластера MySQL.

Максимальная длина строки в символах — 256.

labels object

Пользовательские метки для кластера MySQL в виде пар key:value. Максимум 64 на ресурс. Например, "project": "mvp" или "source": "dictionary".

Не более 64 на ресурс. Длина строки в символах для каждого ключа должна быть от 1 до 63. Каждый ключ должен соответствовать регулярному выражению [a-z][-_0-9a-z]. Максимальная длина строки в символах для каждого значения — 63. Каждое значение должно соответствовать регулярному выражению [-_0-9a-z].

environment string

Среда развертывания кластера MySQL.

  • PRODUCTION: Стабильная среда с осторожной политикой обновления: во время регулярного обслуживания применяются только срочные исправления.
  • PRESTABLE: Среда с более агрессивной политикой обновления: новые версии развертываются независимо от обратной совместимости.
configSpec object

Конфигурация и ресурсы для хостов, которые должны быть созданы для кластера MySQL.

configSpec.
version
string

Версия MySQL, используемая в кластере. Возможные значения:

  • 5.7
configSpec.
resources
object
Ресурсы, выделенные хостам MySQL.
configSpec.
resources.
resourcePresetId
string

Идентификатор набора вычислительных ресурсов, доступных хосту (процессор, память и т. д.). Все доступные наборы ресурсов перечислены в документации.

configSpec.
resources.
diskSize
string (int64)

Объем хранилища, доступного хосту.

configSpec.
resources.
diskTypeId
string

Тип хранилища для хоста. Возможные значения:

  • network-ssd — сетевой SSD-диск;
  • local-ssd — локальное SSD-хранилище.
configSpec.
backupWindowStart
object
Время запуска ежедневного резервного копирования, в часовом поясе UTC.

Описывает время суток. Дата и часовой пояс либо не имеют значения, либо указаны другим образом. API может разрешить високосные секунды. Связанные типы: [google.type.Date][google.type.Date] и google.protobuf.Timestamp.

configSpec.
backupWindowStart.
hours
integer (int32)

Час в 24-часовом формате. Допустимые значения — от 0 до 23. API может разрешить значение "24:00:00" для таких сценариев, как время закрытия заведения.

configSpec.
backupWindowStart.
minutes
integer (int32)

Минута часа. Допустимые значения — от 0 до 59.

configSpec.
backupWindowStart.
seconds
integer (int32)

Секунда минуты. Обычно допустимые значения — от 0 до 59. API может разрешить значение 60, если поддерживаются високосные секунды.

configSpec.
backupWindowStart.
nanos
integer (int32)

Доли секунды, в наносекундах. Допустимые значения — от 0 до 999 999 999.

configSpec.
mysqlConfig_5_7
object
Конфигурация для кластера MySQL 5.7.

Поля и структура MysqlConfig5_7 отражает параметры конфигурации MySQL 5.7.

configSpec.
mysqlConfig_5_7.
innodbBufferPoolSize
integer (int64)

Размер буфера InnoDB, который используется для кэширования данных таблиц и индексов.

Подробнее см. в описании параметра в документации MySQL.

Минимальное значение — 5242880.

configSpec.
mysqlConfig_5_7.
maxConnections
integer (int64)

Максимальное количество одновременных подключений, которые принимает MySQL.

Подробнее см. в описании переменной в документации MySQL.

Допустимые значения — от 10 до 10000 включительно.

configSpec.
mysqlConfig_5_7.
longQueryTime
number (double)

Время, в течение которого запрос должен обрабатываться, прежде чем он начинает считаться медленным.

Подробнее см. в описании переменной в документации MySQL.

configSpec.
mysqlConfig_5_7.
generalLog
boolean (boolean)

Включить запись общего лога запросов MySQL.

Подробнее см. в описании переменной в документации MySQL.

configSpec.
mysqlConfig_5_7.
auditLog
boolean (boolean)

Включить запись лога аудита MySQL.

Подробнее см. в описании переменной в документации MySQL.

configSpec.
mysqlConfig_5_7.
sqlMode[]
string

Режим SQL для сервера MySQL.

Подробнее см. в описании переменной в документации MySQL.

configSpec.
mysqlConfig_5_7.
maxAllowedPacket
integer (int64)

Максимальный размер одного пакета в байтах.

Подробнее см. в описании переменной в документации MySQL.

Допустимые значения — от 1024 до 134217728 включительно.

configSpec.
mysqlConfig_5_7.
defaultAuthenticationPlugin
string
databaseSpecs[] object

Описания баз данных, которые нужно создать в кластере MySQL.

databaseSpecs[].
name
string

Обязательное поле. Имя базы данных MySQL.

Максимальная длина строки в символах — 63. Значение должно соответствовать регулярному выражению [a-zA-Z0-9_-]*.

userSpecs[] object

Описания пользователей базы данных, которых нужно создать в кластере MySQL.

userSpecs[].
name
string

Обязательное поле. Имя пользователя MySQL.

Максимальная длина строки в символах — 32. Значение должно соответствовать регулярному выражению [a-zA-Z0-9_]*.

userSpecs[].
password
string

Обязательное поле. Пароль пользователя MySQL.

Длина строки в символах должна быть от 8 до 128.

userSpecs[].
permissions[]
object

Набор разрешений, которые следует предоставить пользователю.

userSpecs[].
permissions[].
databaseName
string

Имя базы данных, к которой предоставляет доступ разрешение.

userSpecs[].
permissions[].
roles[]
string
  • ALL_PRIVILEGES: Все привилегии, которые могут быть предоставлены пользователю.
  • ALTER: Изменение таблиц.
  • ALTER_ROUTINE: Изменение хранимых процедур и функций.
  • CREATE: Создание таблиц или индексов.
  • CREATE_ROUTINE: Создание хранимых процедур.
  • CREATE_TEMPORARY_TABLES: Создание временных таблиц.
  • CREATE_VIEW: Создание представлений.
  • DELETE: Удаление таблиц.
  • DROP: Удаление таблиц или представлений.
  • EVENT: Создание, изменение, удаление или отображение событий для планировщика событий.
  • EXECUTE: Выполнение хранимых процедур.
  • INDEX: Создание и удаление индексов.
  • INSERT: Вставка строк в базу данных.
  • LOCK_TABLES: Использование инструкции LOCK TABLES для таблиц, доступных с привилегией SELECT.
  • SELECT: Получение строк из таблиц.

Некоторые операторы SELECT могут быть разрешены без привилегии SELECT. Привилегия SELECT необходима для всех операторов, считывающих значения столбцов. Подробнее в документации MySQL.

  • SHOW_VIEW: Использование инструкции SHOW CREATE VIEW. Также необходимо для представлений, используемых с EXPLAIN.
  • TRIGGER: Создание, удаление, выполнение или отображение триггеров для таблицы.
  • UPDATE: Обновление строк в базе данных.
hostSpecs[] object

Конфигурации для отдельных хостов, которые должны быть созданы для кластера MySQL.

hostSpecs[].
zoneId
string

Идентификатор зоны доступности, в которой находится хост. Чтобы получить список доступных зон, используйте запрос list.

Максимальная длина строки в символах — 50.

hostSpecs[].
subnetId
string

Идентификатор подсети, к которой должен принадлежать хост. Эта подсеть должна быть частью сети, к которой принадлежит кластер. Идентификатор сети задан в поле Cluster.networkId.

Максимальная длина строки в символах — 50.

hostSpecs[].
assignPublicIp
boolean (boolean)

Должен ли хост получить публичный IP-адрес при создании.

После создания узла этот параметр изменить нельзя. Чтобы удалить назначенный публичный IP-адрес или назначить публичный IP уже созданному хосту, пересоздайте хост с нужным значением поля assignPublicIp.

Возможные значения:

  • false — не назначать хосту публичный IP-адрес.
  • true — у хоста должен быть публичный IP-адрес.
networkId string

Идентификатор сети, в которой нужно создать кластер.

Максимальная длина строки в символах — 50.

Ответ

HTTP Code: 200 - OK

{
  "id": "string",
  "description": "string",
  "createdAt": "string",
  "createdBy": "string",
  "modifiedAt": "string",
  "done": true,
  "metadata": "object",

  //  включает только одно из полей `error`, `response`
  "error": {
    "code": "integer",
    "message": "string",
    "details": [
      "object"
    ]
  },
  "response": "object",
  // конец списка возможных полей

}

Ресурс Operation. Дополнительные сведения см. в разделе Объект Operation.

Поле Описание
id string

Идентификатор операции.

description string

Описание операции. Длина описания должна быть от 0 до 256 символов.

createdAt string (date-time)

Время создания ресурса в формате в RFC3339.

Строка в формате RFC3339.

createdBy string

Идентификатор пользователя или сервисного аккаунта, инициировавшего операцию.

modifiedAt string (date-time)

Время, когда ресурс Operation последний раз обновлялся. Значение в формате RFC3339.

Строка в формате RFC3339.

done boolean (boolean)

Если значение равно false — операция еще выполняется. Если true — операция завершена, и задано значение одного из полей error или response.

metadata object

Метаданные операции. Обычно в поле содержится идентификатор ресурса, над которым выполняется операция. Если метод возвращает ресурс Operation, в описании метода приведена структура соответствующего ему поля metadata.

error object
Описание ошибки в случае сбоя или отмены операции.
включает только одно из полей error, response

Описание ошибки в случае сбоя или отмены операции.

error.
code
integer (int32)

Код ошибки. Значение из списка google.rpc.Code.

error.
message
string

Текст ошибки.

error.
details[]
object

Список сообщений с подробными сведениями об ошибке.

response object
включает только одно из полей error, response

Результат операции в случае успешного завершения. Если исходный метод не возвращает никаких данных при успешном завершении, например метод Delete, поле содержит объект google.protobuf.Empty. Если исходный метод — это стандартный метод Create / Update, поле содержит целевой ресурс операции. Если метод возвращает ресурс Operation, в описании метода приведена структура соответствующего ему поля response.