rax_files_objects - Загрузка, скачивание и удаление объектов в Rackspace Cloud Files
Новое в версии 1.5.
Обзор
- Загрузка, скачивание и удаление объектов в Rackspace Cloud Files
Требования
Ниже перечислены требования, которые должны быть выполнены на хосте, на котором будет выполняться этот модуль.
- pyrax
- python >= 2.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| api_key | Ключ API Rackspace, переопределяет credentials. псевдонимы: password | |
| auth_endpoint (добавлен в 1.5) | Значение по умолчанию: "https://identity.api.rackspacecloud.com/v2.0/" | URI службы аутентификации. |
| clear_meta bool |
| Дополнительно очистить существующие метаданные при применении метаданных к существующим объектам. Выбор этого варианта уместен только при установке type=meta |
| container обязательно | Контейнер для работы с файловыми объектами. | |
| credentials | Файл для поиска учетных данных Rackspace. Игнорируется, если заданы api_key и username. псевдонимы: creds_file | |
| dest | Назначение операции «get»; т.е. локальный каталог, "/home/user/myfolder". Используется для указания назначения операции над удаленным объектом; т.е. имя файла, "file1", или список удаленных объектов, разделенных запятыми, "file1,file2,file17" | |
| env (добавлен в 1.5) | Настройка среды в файле ~/.pyrax.cfg, см. https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#pyrax-configuration. | |
| expires | Используется для установки срока действия файла или папки, загруженной в Cloud Files. Требуется целое число, определяющее срок действия в секундах | |
| identity_type (добавлен в 1.5) | Значение по умолчанию: "rackspace" | Используемый механизм аутентификации, например, rackspace или keystone. |
| meta | Словарь значений метаданных, которые нужно задать для загружаемого файла или папки | |
| method |
| Метод операции. Например, put для загрузки файлов в Cloud Files, get для скачивания файлов из Cloud Files или delete для удаления удаленных объектов в Cloud Files |
| region | Значение по умолчанию: "DFW" | Регион для создания экземпляра. |
| src | Источник для загрузки файлов. Используется для указания удаленного объекта как источника для операции, т.е. имя файла, "file1", или список удаленных объектов, разделенных запятыми, "file1,file2,file17". src и dest взаимоисключают друг друга при работе только с удаленными объектами | |
| state |
| Указывает желаемое состояние ресурса |
| structure bool |
| Указывает, сохранять ли структуру вложенных каталогов при скачивании объектов из Cloud Files. Установка в значение false скачивает содержимое контейнера в один плоский каталог |
| tenant_id (добавлен в 1.5) | Идентификатор арендатора, используемый для аутентификации. | |
| tenant_name (добавлен в 1.5) | Имя арендатора, используемое для аутентификации. | |
| type |
| Тип объекта для обработки Объект метаданных или файл |
| username | Имя пользователя Rackspace, переопределяет credentials. | |
| verify_ssl (добавлен в 1.5) | Требовать ли проверку SSL конечных точек API. |
Примечания
Примечание
- Можно использовать следующие переменные среды:
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"
rax_files_objects:
container: testcont
dest: ~/Downloads/testcont
- name: "Get single object from test container"
rax_files_objects:
container: testcont
src: file1
dest: ~/Downloads/testcont
- name: "Get several objects from test container"
rax_files_objects:
container: testcont
src: file1,file2,file3
dest: ~/Downloads/testcont
- name: "Delete one object in test container"
rax_files_objects:
container: testcont
method: delete
dest: file1
- name: "Delete several objects in test container"
rax_files_objects:
container: testcont
method: delete
dest: file2,file3,file4
- name: "Delete all objects in test container"
rax_files_objects:
container: testcont
method: delete
- name: "Upload all files to test container"
rax_files_objects:
container: testcont
method: put
src: ~/Downloads/onehundred
- name: "Upload one file to test container"
rax_files_objects:
container: testcont
method: put
src: ~/Downloads/testcont/file1
- name: "Upload one file to test container with metadata"
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"
rax_files_objects:
container: testcont
method: put
src: ~/Downloads/testcont/file3
expires: 60
- name: "Attempt to get remote object that does not exist"
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"
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"
rax_files_objects:
container: testcont
type: meta
dest: file2
- name: "Get metadata on several objects"
rax_files_objects:
container: testcont
type: meta
src: file2,file1
- name: "Set metadata on an object"
rax_files_objects:
container: testcont
type: meta
dest: file17
method: put
meta:
key1: value1
key2: value2
clear_meta: true
- name: "Verify metadata is set"
rax_files_objects:
container: testcont
type: meta
src: file17
- name: "Delete metadata"
rax_files_objects:
container: testcont
type: meta
dest: file17
method: delete
meta:
key1: ''
key2: ''
- name: "Get metadata on all objects"
rax_files_objects:
container: testcont
type: meta
Статус
Этот модуль помечен как превью, что означает, что его интерфейс не гарантируется обратной совместимостью.
Техническое обслуживание
Этот модуль помечен как сообщество, что означает, что он поддерживается сообществом Ansible. См. Техническое обслуживание и поддержка модулей для получения дополнительной информации.
Список других модулей, поддерживаемых сообществом Ansible, см. здесь.
Автор
- Paul Durivage (@angstwad)
Подсказка
Если вы заметили какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 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/rax_files_objects_module.html