Модуль community.general.maven_artifact — Загрузка артефакта из репозитория Maven
Примечание
Этот модуль входит в коллекцию community.general (версия 9.5.0).
Эта коллекция, возможно, уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.general. Для использования этого модуля требуются дополнительные условия, см. Требования для получения подробностей.
Для использования в книге задач укажите: community.general.maven_artifact.
Описание
- Загружает артефакт из репозитория Maven, используя предоставленные координаты Maven.
- Может извлекать как финальные, так и промежуточные версии артефакта и разрешит последнюю доступную версию, если она не указана.
Требования
Ниже перечислены требования, которые должны быть выполнены на узле, выполняющем этот модуль.
- lxml
- boto, если используется репозиторий S3 (
s3://...)
Параметры
Параметр | Комментарии |
|---|---|
artifact_id строка / обязательный | Координата maven artifactId. |
attributes псевдонимы: attr строка | Атрибуты, которые должен иметь полученный объект файловой системы. Чтобы получить поддерживаемые флаги, см. страницу руководства для chattr на целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и при выводе lsattr. Оператор |
checksum_alg строка добавлен в community.general 3.2.0 | Если Если Варианты:
|
classifier строка | Координата maven classifier. По умолчанию: |
client_cert путь добавлен в community.general 1.3.0 | Файл цепочки сертификатов в формате PEM для использования в SSL-аутентификации клиента. Этот файл также может включать ключ, и если ключ включён, |
client_key путь добавлен в community.general 1.3.0 | Файл в формате PEM, содержащий ваш закрытый ключ для использования в SSL-аутентификации клиента. Если |
dest путь / обязательный | Путь, куда необходимо записать артефакт. Если указаны права доступа или владельцы, а путь назначения уже существует, они влияют на загруженный файл. |
directory_mode строка | Режим разрешений файловой системы, применяемый рекурсивно к |
extension строка | Координата maven type/extension. По умолчанию: |
force_basic_auth булево добавлен в community.general 0.2.0 | httplib2, библиотека, используемая модулем uri, отправляет информацию об аутентификации только тогда, когда веб-сервис отвечает на начальный запрос кодом 401. Поскольку некоторые сервисы аутентификации по принципу «basic auth» не отправляют код 401 должным образом, попытки входа могут завершиться неудачей. Этот параметр принудительно отправляет заголовок аутентификации Basic при первоначальном запросе. Варианты:
|
group строка | Имя группы, которая должна владеть объектом файловой системы, как если бы оно передавалось в chown. Если не указано, используется текущая группа текущего пользователя, если вы не являетесь root, в противном случае может сохраняться предыдущее владение. |
group_id строка / обязательный | Координата Maven groupId. |
headers словарь | Добавление пользовательских HTTP-заголовков к запросу в формате хэш/словарь. |
keep_name булево | Если Этот параметр действует только в том случае, когда Варианты:
|
mode любой | Разрешения, которые должен иметь полученный объект файловой системы. Для тех, кто привык к /usr/bin/chmod, помните, что режимы на самом деле являются восьмеричными числами. Вы должны предоставить Ansible достаточно информации для правильной обработки. Для согласованных результатов заключите восьмеричные числа в кавычки (например, Передача Ansible числа без соблюдения этих правил приведет к десятичному числу, что даст неожиданные результаты. Начиная с Ansible 1.8, режим может быть указан в символическом формате (например, Если Если Указание |
owner строка | Имя пользователя, который должен владеть объектом файловой системы, как если бы оно передавалось в chown. Если не указано, используется текущий пользователь, если вы не являетесь root, в противном случае может сохраняться предыдущее владение. Указание числового имени пользователя будет рассматриваться как идентификатор пользователя, а не как имя пользователя. Избегайте числовых имён пользователей, чтобы избежать путаницы. |
password aliases: aws_secret_access_key string | Пароль для аутентификации в репозитории Maven. Используйте ключ доступа к секрету AWS, если репозиторий размещен в S3. |
repository_url string | URL репозитория Maven для загрузки. Используйте Используйте По умолчанию: |
selevel string | Часть контекста объекта файловой системы SELinux, относящаяся к уровню. Это атрибут MLS/MCS, иногда известный как При установке в значение |
serole string | Часть контекста объекта файловой системы SELinux, относящаяся к роли. При установке в значение |
setype string | Часть контекста объекта файловой системы SELinux, относящаяся к типу. При установке в значение |
seuser string | Часть контекста объекта файловой системы SELinux, относящаяся к пользователю. По умолчанию используется политика При установке в значение |
state string | Желаемое состояние артефакта. Выбори:
|
timeout integer | Устанавливает таймаут в секундах для попытки подключения. По умолчанию: |
unredirected_headers list / elements=string added in community.general 5.2.0 | Список заголовков, которые не должны включаться в перенаправление. Эти заголовки отправляются в функцию В ansible-core версии 2.12 или более поздней значение по умолчанию для этого параметра равно Полезно, если перенаправляемый URL не должен содержать чувствительных заголовков в запросе. Требуется версия ansible-core 2.12 или выше. |
unsafe_writes boolean | Влияет на использование атомарных операций для предотвращения повреждения данных или несовместимых чтений из целевого объекта файловой системы. По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несовместимых чтений из целевых объектов файловой системы, но иногда системы настроены или просто работают таким образом, что это невозможно. Примером является смонтированная файловая система Docker, которую невозможно обновлять атомарно изнутри контейнера, и запись в нее возможна только в небезопасном режиме. Этот параметр позволяет Ansible перейти к небезопасным методам обновления объектов файловой системы, когда атомарные операции завершаются неудачно (однако он не заставляет Ansible выполнять небезопасные записи). ВАЖНО! Небезопасные записи подвержены гонкам и могут привести к повреждению данных. Выбори:
|
username aliases: aws_secret_key string | Имя пользователя для аутентификации в репозитории Maven. Используйте секретный ключ AWS, если репозиторий размещен в S3. |
validate_certs boolean | Если Выбори:
|
verify_checksum string | Если Если Если
Выбори:
|
version string | Координаты версии Maven. Взаимоисключающие с |
version_by_spec string added in community.general 0.2.0 | Диапазоны версий зависимостей Maven. См. поддерживаемые диапазоны версий по адресу https://cwiki.apache.org/confluence/display/MAVENOLD/Dependency+Mediation+and+Conflict+Resolution Тип диапазона Взаимоисключающие с |
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: отсутствует | Может работать в режиме |
diff_mode | Поддержка: отсутствует | Возвращает подробности о том, что изменилось (или, возможно, нуждается в изменении в |
Примеры
- name: Download the latest version of the JUnit framework artifact from Maven Central
community.general.maven_artifact:
group_id: junit
artifact_id: junit
dest: /tmp/junit-latest.jar
- name: Download JUnit 4.11 from Maven Central
community.general.maven_artifact:
group_id: junit
artifact_id: junit
version: 4.11
dest: /tmp/junit-4.11.jar
- name: Download an artifact from a private repository requiring authentication
community.general.maven_artifact:
group_id: com.company
artifact_id: library-name
repository_url: 'https://repo.company.com/maven'
username: user
password: pass
dest: /tmp/library-name-latest.jar
- name: Download an artifact from a private repository requiring certificate authentication
community.general.maven_artifact:
group_id: com.company
artifact_id: library-name
repository_url: 'https://repo.company.com/maven'
client_cert: /path/to/cert.pem
client_key: /path/to/key.pem
dest: /tmp/library-name-latest.jar
- name: Download a WAR File to the Tomcat webapps directory to be deployed
community.general.maven_artifact:
group_id: com.company
artifact_id: web-app
extension: war
repository_url: 'https://repo.company.com/maven'
dest: /var/lib/tomcat7/webapps/web-app.war
- name: Keep a downloaded artifact's name, i.e. retain the version
community.general.maven_artifact:
version: latest
artifact_id: spring-core
group_id: org.springframework
dest: /tmp/
keep_name: true
- name: Download the latest version of the JUnit framework artifact from Maven local
community.general.maven_artifact:
group_id: junit
artifact_id: junit
dest: /tmp/junit-latest.jar
repository_url: "file://{{ lookup('env','HOME') }}/.m2/repository"
- name: Download the latest version between 3.8 and 4.0 (exclusive) of the JUnit framework artifact from Maven Central
community.general.maven_artifact:
group_id: junit
artifact_id: junit
version_by_spec: "[3.8,4.0)"
dest: /tmp/
Ссылки на сборку
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/general/maven_artifact_module.html