ModifyService#

Description#

Запрос на изменение сервиса PaaS.

При изменении любого параметра в списке пользователей и/или баз данных в запросе следует указать всех остальных пользователей и/или базы данных со всеми актуальными значениями параметров. Полные списки и актуальные значения параметров можно получить с помощью метода DescribeService.

Для добавления нового пользователя и/или базы данных помимо их имён и параметров в запросе следует также указать полный список всех существующих пользователей и/или баз данных со всеми актуальными значениями параметров.

Внимание

Если пользователь или база данных не указаны в запросе, то они будут удалены. Если в запросе не указан какой-либо параметр, который был ранее задан, то параметр будет исключён из списка актуальных параметров. Если в запросе указан какой-либо параметр, который ранее не был задан, то будет применён этот новый параметр. Если в запросе значение какого-либо параметра отличается от текущего, то оно будет изменено.

Внимание

Некоторые параметры нельзя менять после создания пользователя или базы данных, при попытке их изменить будет выведена ошибка. Для таких параметров необходимо указывать ранее заданные значения. Сведения о том, какие параметры нельзя изменять, можно найти в разделе Параметры PaaS.

Для некоторых СУБД новую базу данных можно создать из резервной копии. Для каких СУБД доступна эта возможность, можно узнать на странице Базы данных. Информацию об имеющихся резервных копиях можно получить с помощью метода ListBackups.

Внимание

На текущий момент в качестве аргументов для утилиты c2-paas нельзя указывать пустые списки. Как следствие, невозможно указать пустой список в databases или users. Это означает, что при использовании метода ModifyService с утилитой c2-paas нельзя полностью удалить все базы данных или всех пользователей. Чтобы обойти это ограничение, воспользуйтесь кастомизированной версией библиотеки boto3, которая позволяет передавать пустые списки в метод ModifyService. Вы можете также воспользоваться методами DeleteDatabase для удаления баз данных и DeleteUser для удаления пользователей.

Request Parameters#

Необходимые параметры#

  • serviceId — Идентификатор сервиса.

    • Тип: String

    • Необходимо: Да

Опциональные параметры#

  • backupSettings — Параметры резервного копирования.

    • Тип: Объект BackupSettingsRequest

    • Необходимо: Нет

    • Ограничения: Только для сервисов PaaS, для которых поддерживается резервное копирование (см. Базы данных)

  • databases — Список баз данных.

  • users — Список пользователей.

    • Тип: Список объектов UserCreateRequest

    • Необходимо: Нет

Response Elements#

  • service — Детальное описание сервиса.

Examples#

Для управления сервисами PaaS в К2 Облаке с помощью API необходима кастомизированная версия библиотеки boto3:

import boto3

session = boto3.Session(
   aws_access_key_id="<AWS_ACCESS_KEY_ID>",
   aws_secret_access_key="<AWS_SECRET_ACCESS_KEY>",
   region_name="",
)

paas_client = session.client(
   'paas',
   endpoint_url='https://paas.k2.cloud/',
)

paas_client.modify_service(
   serviceId='fm-cluster-7867D61F',
   users=[
      {
         "name": "user_name",
         "parameters": {"password": "passwd123#!"},
      },
   ],
   databases=[
      {
         "name": "database_name",
         "users": [{"name": "user_name"}],
         "backupEnabled": True,
      },
   ],
   backupSettings={
      "enabled": True,
      "userLogin": "backup_user@company",
      "bucketName": "backup_bucket",
      "startTime": "22:30",
   },
)

Или утилита c2-paas из пакета K2 Cloud API Client:

c2-paas ModifyService serviceId fm-cluster-7867D61F users.1.name user_name users.1.parameters.password passwd123#! databases.1.name database_name databases.1.users.1.name user_name databases.1.backupEnabled true backupSettings.enabled true backupSettings.userLogin backup_user@company backupSettings.bucketName backup_bucket backupSettings.startTime 22:30