bigip_data_group - Управление группами данных на BIG-IP
Новая версия с 2.6.
Обзор
- Позволяет управлять группами данных на BIG-IP. Группы данных предоставляют способ хранения коллекций значений на BIG-IP для последующего использования в таких элементах, как правила LTM, iRules и политики ASM.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- f5-sdk >= 3.0.9
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| delete_data_group_file bool |
| При yes, будет гарантировано удаление файла группы данных на удалённом устройстве.Этот параметр актуален только когда state равен absent и internal равно no. | |
| external_file_name | При создании новой группы данных, это указывает имя файла внешней группы данных на BIG-IP. Этот параметр игнорируется, когда internal равно yes.Этот параметр может быть использован для выбора существующего файла группы данных для использования с существующей внешней группой данных. Если это значение не указано, оно будет установлено по значению из name, а следовательно, совпадет с именем группы данных.Это значение может содержать только буквы, цифры, подчёркивания, тире или точку. | ||
| internal bool |
| Тип этой группы данных. Вы должны устанавливать это значение только в тех случаях, когда вы точно знаете, что делаете, или, работаете с уже существующей внутренней группой данных. Помните, что если вы намеренно установите этот параметр в значение yes, и у вас большое количество записей или большой общий размер записей, это большое количество данных будет отражено в конфигурации BIG-IP. Это может привести к долгим временам загрузки конфигурации системы из-за необходимости парсить и проверять большую конфигурацию.Существует ограничение в 4 мегабайта или 65 000 записей (в зависимости от более жёсткого ограничения) для загрузки, когда этот параметр равен yes.Это значение нельзя изменить после создания группы данных. | |
| name обязательно | Указывает имя группы данных. | ||
| partition | Значение по умолчанию: "Общий" | Раздел устройства для управления ресурсами. | |
| password обязательно | Пароль для учетной записи пользователя, используемой для подключения к BIG-IP. Вы можете опустить этот параметр, если переменная окружения F5_PASSWORD установлена.Псевдонимы: pass, pwd | ||
| provider (добавлено в 2.5) | Объект dict, содержащий данные подключения. | ||
| password обязательно | Пароль для учетной записи пользователя, используемой для подключения к BIG-IP. Вы можете опустить этот параметр, если переменная окружения F5_PASSWORD установлена.Псевдонимы: pass, pwd | ||
| server обязательно | Хост BIG-IP. Вы можете опустить этот параметр, если переменная окружения F5_SERVER установлена. | ||
| server_port | Значение по умолчанию: 443 | Порт сервера BIG-IP. Вы можете опустить этот параметр, если переменная окружения F5_SERVER_PORT установлена. | |
| user обязательно | Имя пользователя для подключения к BIG-IP. Этот пользователь должен иметь административные привилегии на устройстве. Вы можете опустить этот параметр, если переменная окружения F5_USER установлена. | ||
| validate_certs bool |
| Если no, сертификаты SSL не будут проверены. Используйте это только на сайтах, контролируемых вами лично, с самозаверенными сертификатами. Вы можете опустить этот параметр, если переменная окружения F5_VALIDATE_CERTS установлена. | |
| timeout | Значение по умолчанию: 10 | Устанавливает таймаут в секундах для связи с сетевым устройством при подключении или отправке команд. Если таймаут истечёт до завершения операции, модуль выдаст ошибку. | |
| ssh_keyfile | Указывает SSH-ключевой файл для аутентификации подключения к удалённому устройству. Этот аргумент используется только для транспортов cli. Если значение не указано в задаче, будет использовано значение переменной окружения ANSIBLE_NET_SSH_KEYFILE. | ||
| transport обязательно |
| Настраивает транспортное соединение для подключения к удалённому устройству. | |
| records | Указывает записи, которые вы хотите добавить в группу данных. Если у вас большое количество записей, рекомендуется использовать records_content вместо ввода всех записей здесь.Техническое ограничение (либо 1. количество записей, либо 2. общий размер всех записей) зависит от размера общих ресурсов вашей системы, в частности, ОЗУ. Когда internal равно no, хотя бы одна запись должна быть указана либо в records, либо в records_content. | ||
| key обязательно | Ключ, описывающий запись в группе данных. Ваш ключ будет использован для проверки параметра type в этом модуле. | ||
| value | Значение ключа, описывающего запись в группе данных. | ||
| records_src | Путь к файлу с записями. Файл должен быть правильно сформирован. Это означает, что он содержит записи, по одной на строке, имеющие следующий формат "ключ разделитель значение". Например, foo := bar.BIG-IP строго соблюдает этот формат, но этот модуль немного более гибкий. Он позволит вам включить произвольное количество (включая нулевое) пробелов по обе стороны разделителя. Для иллюстрации см. раздел Примеры. Ключи записей ограничены по длине до 65 520 символов. Значения ключей записей ограничены по длине до 65 520 символов. Общее количество записей, которое вы можете иметь в BIG-IP, ограничено объёмом памяти BIG-IP. Формат этого содержимого немного отличается в зависимости от того, указали ли вы type типа address, integer, или string. См. раздел Примеры для примеров различных типов ожидаемых форматов данных в файле вашей группы данных.Когда internal равно no, хотя бы одна запись должна быть указана либо в records, либо в records_content. | ||
| separator | Значение по умолчанию: ":=" | При указании records_content, это строка символов, которая будет использоваться для разделения элементов в records_content на пары ключ/значение.По умолчанию значение этого параметра равно :=.Это значение нельзя изменить после его установки. Этот параметр актуален только когда internal равно no. В противном случае он будет проигнорирован. | |
| server обязательно | Хост BIG-IP. Вы можете опустить этот параметр, если переменная окружения F5_SERVER установлена. | ||
| server_port (добавлено в 2.2) | Значение по умолчанию: 443 | Порт сервера BIG-IP. Вы можете опустить этот параметр, если переменная окружения F5_SERVER_PORT установлена. | |
| state |
| Когда state равно present, гарантирует существование группы данных.Когда state равно absent, гарантирует удаление группы данных. | |
| type |
| Тип записей в этой группе данных. Этот параметр особенно важен, так как заставляет BIG-IP хранить ваши данные различными способами для оптимизации доступа к ним. Например, было бы неправильно указать список записей, содержащих IP-адреса, но обозначить их как тип string.Это значение нельзя изменить после создания группы данных. | |
| user обязательно | Имя пользователя для подключения к BIG-IP. Этот пользователь должен иметь административные привилегии на устройстве. Вы можете опустить этот параметр, если переменная окружения F5_USER установлена. | ||
| validate_certs bool (добавлено в 2.0) |
| Если no, сертификаты SSL не будут проверены. Используйте это только на сайтах, контролируемых вами лично, с самозаверенными сертификатами. Вы можете опустить этот параметр, если переменная окружения F5_VALIDATE_CERTS установлена. | |
Примечания
Примечание
- Дополнительную информацию об использовании Ansible для управления устройствами F5 Networks можно найти на странице https://www.ansible.com/integrations/networks/f5.
- Требуется пакет f5-sdk Python на хосте. Это так же просто, как
pip install f5-sdk.
Примеры
- name: Create a data group of addresses
bigip_data_group:
name: foo
password: secret
server: lb.mydomain.com
state: present
user: admin
records:
- key: 0.0.0.0/32
value: External_NAT
- key: 10.10.10.10
value: No_NAT
type: address
delegate_to: localhost
- name: Create a data group of strings
bigip_data_group:
name: foo
password: secret
server: lb.mydomain.com
state: present
user: admin
records:
- key: caddy
value: ""
- key: cafeteria
value: ""
- key: cactus
value: ""
type: string
delegate_to: localhost
- name: Create a data group of IP addresses from a file
bigip_data_group:
name: foo
password: secret
server: lb.mydomain.com
state: present
user: admin
records_src: /path/to/dg-file
type: address
delegate_to: localhost
- name: Update an existing internal data group of strings
bigip_data_group:
name: foo
password: secret
server: lb.mydomain.com
state: present
internal: yes
user: admin
records:
- key: caddy
value: ""
- key: cafeteria
value: ""
- key: cactus
value: ""
delegate_to: localhost
- name: Show the data format expected for records_content - address 1
copy:
dest: /path/to/addresses.txt
content: |
network 10.0.0.0 prefixlen 8 := "Network1",
network 172.16.0.0 prefixlen 12 := "Network2",
network 192.168.0.0 prefixlen 16 := "Network3",
network 2402:9400:1000:0:: prefixlen 64 := "Network4",
host 192.168.20.1 := "Host1",
host 172.16.1.1 := "Host2",
host 172.16.1.1/32 := "Host3",
host 2001:0db8:85a3:0000:0000:8a2e:0370:7334 := "Host4",
host 2001:0db8:85a3:0000:0000:8a2e:0370:7334/128 := "Host5"
- name: Show the data format expected for records_content - address 2
copy:
dest: /path/to/addresses.txt
content: |
10.0.0.0/8 := "Network1",
172.16.0.0/12 := "Network2",
192.168.0.0/16 := "Network3",
2402:9400:1000:0::/64 := "Network4",
192.168.20.1 := "Host1",
172.16.1.1 := "Host2",
172.16.1.1/32 := "Host3",
2001:0db8:85a3:0000:0000:8a2e:0370:7334 := "Host4",
2001:0db8:85a3:0000:0000:8a2e:0370:7334/128 := "Host5"
- name: Show the data format expected for records_content - string
copy:
dest: /path/to/strings.txt
content: |
a := alpha,
b := bravo,
c := charlie,
x := x-ray,
y := yankee,
z := zulu,
- name: Show the data format expected for records_content - integer
copy:
dest: /path/to/integers.txt
content: |
1 := bar,
2 := baz,
3,
4,
Статус
Этот модуль помечен как превью, что означает, что он не гарантирует обратной совместимости интерфейса.
Техническое обслуживание
Этот модуль помечен как общественный, что означает, что он поддерживается сообществом Ansible. Дополнительную информацию см. в разделе Техническое обслуживание и поддержка модулей.
Список других модулей, также поддерживаемых сообществом Ansible, см. в разделе здесь.
Автор
- Tim Rupp (@caphrim007)
Подсказка
Если вы обнаружите какие-либо проблемы в этом документе, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.6/modules/bigip_data_group_module.html