Работа c формулами

Добавление формулы в хранилище S3, на использование которого настроен сервер управления

Для того чтобы применить формулу, загрузите ее на файловый сервер SALT.FILESERVER.S3FS, используя путь s3://<bucket name>/base/<formula-name>.

Для более подробной информации см. официальную документацию:

Также формулу можно загрузить при помощи API-метода importFormulas.

Написание спецификации формулы

Формула, как и сущность спецификации, как правило, соответствуют определенной структуре.

Подробное описание структуры спецификации см. в разделе «Описание API».

Спецификация формулы описывается в файле формата JSON с учетом следующих правил:

  1. Необходимо заполнить обязательные поля: displayName, formulaName, description.

  2. В поле pillarProperties необходимо указать параметры для переопределения.

    В зависимости от назначения формулы можно переопределить некоторые параметры. Параметры, доступные для переопределения, описаны в файле формулы формата YAML pillar.example.

Пример файла pillar.example для формулы по управлению ярлыками на рабочем столе my-yb-settings-formula:

my-yb-settings:
  # Override map.jinja
  lookup:
    # Переопределите значение map.jinja
    policies:
      # Задайте параметры управляемых политик
      managed:
        # Задайте имя файла с управляемыми политиками (.json), который будет помещен в файловую систему агента
        name: "managed_policies"
        # Задайте имя файла с управляемыми политиками (.json) для загрузки на агент, этот файл может быть помещен как на
        # сервере управления, так и на сервере HTTP(S) или FTP server. Значение может быть пустой строкой
        source: "salt://my-yb-settings/files/managed_policies.json"
      # Задайте параметры рекомендуемых политик
      recommended:
        # SЗадайте имя файла с рекомендуемыми политиками (.json), который будет помещен в файловую систему агента
        name: "recommended_policies"
        # Задайте имя файла с рекомендуемыми политиками (.json) для загрузки на агент, этот файл может быть помещен как на
        # сервере управления, так и на сервере HTTP(S) или FTP server. Значение может быть пустой строкой
        source: "salt://my-yb-settings/files/recommended_policies.json"

Пример спецификации формулы по управлению ярлыками на рабочем столе my-yb-settings-formula:

{
  "displayName": "yb-settingss",
  "formulaName": "my-yb-settings",
  "description": "Formula for managing yandex-browser settings",
  "pillarProperties":
  [
    {
      "description": "Set the name of file with a managed policies(.json) which will be located on a minion file system",
      "key": "my-yb-settings.lookup.policies.managed.name",
      "value": "managed_policies"
    },
    {
      "description": "Set the managed policies file(.json) to download to the minion, this file can be hosted on either the salt master server, or on an HTTP(S) or FTP server. The value can be empty string",
      "key": "my-yb-settings.lookup.policies.managed.source",
      "value": "salt://tpl-yb-settings/files/managed_policies.json"
    },
    {
      "description": "Set the name of file with a recommended policies(.json) which will be located on a minion file system",
      "key": "my-yb-settings.lookup.policies.recommended.name",
      "value": "managed_policies"
    },
    {
      "description": "Set the recommended policies file(.json) to download to the minion, this file can be hosted on either the salt master server, or on an HTTP(S) or FTP server. The value can be empty string",
      "key": "my-yb-settings.lookup.policies.recommended.source",
      "value": "salt://tpl-yb-settings/files/recommended_policies.json"
    }
  ]
}

Импорт спецификации формулы в кабинет администратора

После того как вы подготовите JSON-файл со спецификацией формулы, импортируйте его методом /v1/specifications.