rax_files_objects - Загрузка, загрузка и удаление объектов в Rackspace Cloud Files
Новая версия с 1.5.
Описание
- Загрузка, загрузка и удаление объектов в Rackspace Cloud Files
Требования (к хосту, на котором выполняется модуль)
- python >= 2.6
- pyrax
Параметры
| параметр | обязательно | по умолчанию | выбор | примечания |
|---|---|---|---|---|
| api_key | нет | Ключ API Rackspace, переопределяет credentials. псевдонимы: пароль | ||
| clear_meta | нет | нет |
| При необходимости очистить существующие метаданные при применении метаданных к существующим объектам. Выбор этого параметра подходит только при установке type=meta |
| container | да | Контейнер для работы с файловыми объектами. | ||
| credentials | нет | Файл для поиска учетных данных Rackspace. Игнорируется, если заданы api_key и username. псевдонимы: creds_file | ||
| dest | нет | Назначение операции «получить»; т.е. локальный каталог, "/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. Требуется целое число, обозначающее срок действия в секундах | ||
| meta | нет | Хэш элементов для задания значений метаданных загруженному файлу или папке | ||
| method | нет | get |
| Метод операции. Например, put для загрузки файлов в Cloud Files, get для загрузки файлов из Cloud Files или delete для удаления удалённых объектов в Cloud Files |
| region | нет | DFW | Регион для создания экземпляра. | |
| src | нет | Источник для загрузки файлов. Используется для указания удалённого объекта как источника операции, т.е. имя файла, "file1", или список удалённых объектов, разделённых запятыми, "file1,file2,file17". src и dest взаимоисключают друг друга при работе только с удалёнными объектами | ||
| state | нет | present |
| Указывает желаемое состояние ресурса |
| structure | нет | да |
| Используется для указания необходимости сохранения вложенной структуры каталогов при загрузке объектов из Cloud Files. Установка в значение false загружает содержимое контейнера в один плоский каталог |
| type | нет | file |
| Тип объекта для работы Объект метаданных или файл |
| username | нет | Имя пользователя Rackspace, переопределяет credentials. | ||
| verify_ssl (добавлено в 1.5)
| нет | Требовать проверку SSL API-точек доступа. |
Примеры
- 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
Примечания
Примечание
- Следующие переменные среды могут быть использованы,
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, ...)
Статус
Этот модуль помечен как предварительная версия, что означает, что интерфейс не гарантируется как обратная совместимость.
Для получения помощи в разработке модулей, если вы захотите, пожалуйста, прочитайте Информация сообщества и вклад, Тестирование Ansible и Разработка модулей.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/rax_files_objects_module.html