community.general.rax_files_objects – Загрузка, скачивание и удаление объектов в Rackspace Cloud Files
Примечание
Этот плагин является частью коллекции community.general (версия 2.0.1).
Для его установки используйте: ansible-galaxy collection install community.general.
Для использования в книге задач укажите: community.general.rax_files_objects.
Обзор
- Загрузка, скачивание и удаление объектов в Rackspace Cloud Files
Требования
Ниже приведены требования к хосту, на котором выполняется этот модуль.
- pyrax
- python >= 2.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| api_key строка | Ключ API Rackspace, переопределяет credentials. Псевдонимы: password | |
| auth_endpoint строка | URI службы аутентификации. Если не указано, будет установлено значение https://identity.api.rackspacecloud.com/v2.0/ | |
| clear_meta логическое |
| Опционально очистить существующие метаданные при применении метаданных к существующим объектам. Выбор этого варианта уместен только при установке type=meta |
| container строка / обязательно | Контейнер, который будет использоваться для работы с файловыми объектами. | |
| credentials путь | Файл для поиска учетных данных Rackspace. Игнорируется, если указаны api_key и username. Псевдонимы: creds_file | |
| dest строка | Цель операции "get"; т.е. локальный каталог, "/home/user/myfolder". Используется для указания назначения операции над удалённым объектом; т.е. имя файла, "file1", или список удаленных объектов, разделенных запятыми, "file1,file2,file17" | |
| env строка | Среда, как настроено в ~/.pyrax.cfg, см. https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#pyrax-configuration. | |
| expires целое число | Используется для установки срока действия файла или папки, загруженной в Cloud Files. Требуется целое число, указывающее срок действия в секундах | |
| identity_type строка | Значение по умолчанию: "rackspace" | Механизм аутентификации, например, rackspace или keystone. |
| meta словарь | Хэш элементов для установки в качестве значений метаданных загружаемого файла или папки | |
| method строка |
| Способ выполнения операции. Например, загрузить, чтобы загрузить файлы в Cloud Files, получить, чтобы загрузить файлы из Cloud Files или удалить, чтобы удалить удаленные объекты в Cloud Files |
| region строка | Регион для создания экземпляра. | |
| src строка | Источник для загрузки файлов. Используется для указания удаленного объекта в качестве источника для операции, т.е. имя файла, "file1", или список удаленных объектов, разделенных запятыми, "file1,file2,file17". src и dest взаимоисключающие при работе только с удаленными объектами | |
| structure логическое |
| Используется для указания сохранения иерархии вложенных каталогов при скачивании объектов из Cloud Files. Установка значения false скачивает содержимое контейнера в один плоский каталог. |
| tenant_id строка | Идентификатор арендатора, используемый для аутентификации. | |
| tenant_name строка | Имя арендатора, используемое для аутентификации. | |
| type строка |
| Тип объекта для работы Объект метаданных или файл |
| username строка | Имя пользователя Rackspace, переопределяет credentials. | |
| validate_certs логическое |
| Требовать или нет проверки SSL API-точек входа. Псевдонимы: verify_ssl |
Примечания
Примечание
- Можно использовать следующие переменные окружения:
RAX_USERNAME,RAX_API_KEY,RAX_CREDS_FILE,RAX_CREDENTIALS,RAX_REGION. -
RAX_CREDENTIALSиRAX_CREDS_FILEуказывают на файл учетных данных, подходящий для pyrax. См. https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#authenticating -
RAX_USERNAMEиRAX_API_KEYисключают использование файла учетных данных -
RAX_REGIONопределяет регион Rackspace Public Cloud (DFW, ORD, LON, …) - Можно использовать следующие переменные окружения:
RAX_USERNAME,RAX_API_KEY,RAX_CREDS_FILE,RAX_CREDENTIALS,RAX_REGION. -
RAX_CREDENTIALSиRAX_CREDS_FILEуказывают на файл учетных данных, подходящий для pyrax. См. https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#authenticating -
RAX_USERNAMEиRAX_API_KEYисключают использование файла учетных данных -
RAX_REGIONопределяет регион Rackspace Public Cloud (DFW, ORD, LON, …)
Примеры
- name: "Test Cloud Files Objects"
hosts: local
gather_facts: False
tasks:
- name: "Get objects from test container"
community.general.rax_files_objects:
container: testcont
dest: ~/Downloads/testcont
- name: "Get single object from test container"
community.general.rax_files_objects:
container: testcont
src: file1
dest: ~/Downloads/testcont
- name: "Get several objects from test container"
community.general.rax_files_objects:
container: testcont
src: file1,file2,file3
dest: ~/Downloads/testcont
- name: "Delete one object in test container"
community.general.rax_files_objects:
container: testcont
method: delete
dest: file1
- name: "Delete several objects in test container"
community.general.rax_files_objects:
container: testcont
method: delete
dest: file2,file3,file4
- name: "Delete all objects in test container"
community.general.rax_files_objects:
container: testcont
method: delete
- name: "Upload all files to test container"
community.general.rax_files_objects:
container: testcont
method: put
src: ~/Downloads/onehundred
- name: "Upload one file to test container"
community.general.rax_files_objects:
container: testcont
method: put
src: ~/Downloads/testcont/file1
- name: "Upload one file to test container with metadata"
community.general.rax_files_objects:
container: testcont
src: ~/Downloads/testcont/file2
method: put
meta:
testkey: testdata
who_uploaded_this: someuser@example.com
- name: "Upload one file to test container with TTL of 60 seconds"
community.general.rax_files_objects:
container: testcont
method: put
src: ~/Downloads/testcont/file3
expires: 60
- name: "Attempt to get remote object that does not exist"
community.general.rax_files_objects:
container: testcont
method: get
src: FileThatDoesNotExist.jpg
dest: ~/Downloads/testcont
ignore_errors: yes
- name: "Attempt to delete remote object that does not exist"
community.general.rax_files_objects:
container: testcont
method: delete
dest: FileThatDoesNotExist.jpg
ignore_errors: yes
- name: "Test Cloud Files Objects Metadata"
hosts: local
gather_facts: false
tasks:
- name: "Get metadata on one object"
community.general.rax_files_objects:
container: testcont
type: meta
dest: file2
- name: "Get metadata on several objects"
community.general.rax_files_objects:
container: testcont
type: meta
src: file2,file1
- name: "Set metadata on an object"
community.general.rax_files_objects:
container: testcont
type: meta
dest: file17
method: put
meta:
key1: value1
key2: value2
clear_meta: true
- name: "Verify metadata is set"
community.general.rax_files_objects:
container: testcont
type: meta
src: file17
- name: "Delete metadata"
community.general.rax_files_objects:
container: testcont
type: meta
dest: file17
method: delete
meta:
key1: ''
key2: ''
- name: "Get metadata on all objects"
community.general.rax_files_objects:
container: testcont
type: meta
Авторы
- Paul Durivage (@angstwad)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/general/rax_files_objects_module.html