Метод create

Создает балансировщик в указанном каталоге, используя данные, указанные в запросе.

HTTP-запрос

POST https://load-balancer.api.cloud.yandex.net/load-balancer/v1/networkLoadBalancers

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

{
  "folderId": "string",
  "name": "string",
  "description": "string",
  "labels": "object",
  "regionId": "string",
  "type": "string",
  "listenerSpecs": [
    {
      "name": "string",
      "port": "string",
      "protocol": "string",
      "targetPort": "string",
      "externalAddressSpec": {
        "address": "string",
        "ipVersion": "string"
      }
    }
  ],
  "attachedTargetGroups": [
    {
      "targetGroupId": "string",
      "healthChecks": [
        {
          "name": "string",
          "interval": "string",
          "timeout": "string",
          "unhealthyThreshold": "string",
          "healthyThreshold": "string",

          // `attachedTargetGroups[].healthChecks[]` включает только одно из полей `tcpOptions`, `httpOptions`
          "tcpOptions": {
            "port": "string"
          },
          "httpOptions": {
            "port": "string",
            "path": "string"
          },
          // конец списка возможных полей`attachedTargetGroups[].healthChecks[]`

        }
      ]
    }
  ]
}
Поле Описание
folderId string

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

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

name string

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

Значение должно соответствовать регулярному выражению |[a-z][-a-z0-9]{1,61}[a-z0-9].

description string

Описание балансировщика.

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

labels object

Метки ресурса в формате ключ:значение.

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

regionId string

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

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

type string

Обязательное поле. Тип балансировщика. В настоящее время доступны только внешние балансировщики.

Тип балансировщика нагрузки. В настоящее время доступны только внешние балансировщики.

  • EXTERNAL: Внешний балансировщик.
listenerSpecs[] object

Спецификация обработчика, которая будет использоваться балансировщиком.

listenerSpecs[].
name
string

Обязательное поле. Имя обработчика. У обработчиков одного балансировщика должны быть уникальные имена. Длина 3-63 символов.

Значение должно соответствовать регулярному выражению |[a-z][-a-z0-9]{1,61}[a-z0-9].

listenerSpecs[].
port
string (int64)

Порт для входящего трафика.

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

listenerSpecs[].
protocol
string
Обязательное поле. Сетевой протокол для входящего трафика.

Сетевой протокол для использования при проверке.

  • TCP: Протокол TCP.
listenerSpecs[].
targetPort
string (int64)

Порты целевых ресурсов для входящего трафика. Допустимые значения — от 1 до 32767 включительно.

listenerSpecs[].
externalAddressSpec
object
Спецификация внешнего IP-адреса.

Спецификация внешнего адреса для ListenerSpec.

listenerSpecs[].
externalAddressSpec.
address
string

Публичный IP-адрес для обработчика. Если адрес передается в методе update, он заменит существующий адрес обработчика.

listenerSpecs[].
externalAddressSpec.
ipVersion
string

Версия IP-адреса.

Версия IP-адресов, с которыми работает балансировщик нагрузки. В настоящее время доступны только адреса IPv4.

  • IPV4: Протокол IPv4.
  • IPV6: Протокол IPv6.
attachedTargetGroups[] object

Ресурс AttachedTargetGroup. Дополнительные сведения см. в разделе Целевые группы и ресурсы

attachedTargetGroups[].
targetGroupId
string

Обязательное поле. Идентификатор целевой группы.

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

attachedTargetGroups[].
healthChecks[]
object

Ресурс HealthCheck. Подробнее см. в разделе Проверка состояния.

attachedTargetGroups[].
healthChecks[].
name
string

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

Значение должно соответствовать регулярному выражению |[a-z][-a-z0-9]{1,61}[a-z0-9].

attachedTargetGroups[].
healthChecks[].
interval
string

Интервал между проверками работоспособности. Формат значения: Ns, где N — количество секунд. Значение по умолчанию — 2 секунды.

attachedTargetGroups[].
healthChecks[].
timeout
string

Время, за которое целевой ресурс должен ответить на проверку. Формат значения: Ns, где N — количество секунд Значение по умолчанию — 1 секунда.

attachedTargetGroups[].
healthChecks[].
unhealthyThreshold
string (int64)

Количество неудачных проверок работоспособности перед изменением состояния целевого ресурса на UNHEALTHY. Значение по умолчанию — 2.

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

attachedTargetGroups[].
healthChecks[].
healthyThreshold
string (int64)

Количество успешных проверок состояния, необходимых для установки целевому ресурсу статуса HEALTHY. Значение по умолчанию — 2.

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

attachedTargetGroups[].
healthChecks[].
tcpOptions
object
Протокол TCP.
attachedTargetGroups[].healthChecks[] включает только одно из полей tcpOptions, httpOptions

Конфигурация проверки состояния по протоколу TCP.

attachedTargetGroups[].
healthChecks[].
tcpOptions.
port
string (int64)

Настройки для проверок состояния по протоколу TCP.

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

attachedTargetGroups[].
healthChecks[].
httpOptions
object
Протокол HTTP.
attachedTargetGroups[].healthChecks[] включает только одно из полей tcpOptions, httpOptions

Конфигурация проверки состояния по протоколу HTTP.

attachedTargetGroups[].
healthChecks[].
httpOptions.
port
string (int64)

Настройки для проверок состояния по протоколу HTTP.

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

attachedTargetGroups[].
healthChecks[].
httpOptions.
path
string

URL для отправки запросов проверки состояния, который будет установлен всем ресурсам целевой группы. Например /ping. Путь по умолчанию — /.

Ответ

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.