mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-04-30 14:21:26 -07:00
Add support for Scaleway object storage (#46353)
This commit is contained in:
parent
b047591dee
commit
f4fa3314c4
14 changed files with 535 additions and 0 deletions
4
test/legacy/roles/scaleway_s3/defaults/main.yml
Normal file
4
test/legacy/roles/scaleway_s3/defaults/main.yml
Normal file
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
scaleway_region: nl-ams
|
||||
endpoint: s3.nl-ams.scw.cloud
|
||||
s3_url: https://s3.nl-ams.scw.cloud
|
19
test/legacy/roles/scaleway_s3/tasks/aws_s3.yml
Normal file
19
test/legacy/roles/scaleway_s3/tasks/aws_s3.yml
Normal file
|
@ -0,0 +1,19 @@
|
|||
- name: Create a local file
|
||||
tempfile:
|
||||
state: file
|
||||
suffix: temp
|
||||
delegate_to: localhost
|
||||
register: tempfile
|
||||
|
||||
- import_tasks: aws_s3_create.yml
|
||||
|
||||
- import_tasks: aws_s3_put.yml
|
||||
- import_tasks: aws_s3_get.yml
|
||||
|
||||
- import_tasks: aws_s3_getstr.yml
|
||||
- import_tasks: aws_s3_geturl.yml
|
||||
- import_tasks: aws_s3_list.yml
|
||||
|
||||
- import_tasks: aws_s3_delobj.yml
|
||||
|
||||
- import_tasks: aws_s3_delete.yml
|
69
test/legacy/roles/scaleway_s3/tasks/aws_s3_create.yml
Normal file
69
test/legacy/roles/scaleway_s3/tasks/aws_s3_create.yml
Normal file
|
@ -0,0 +1,69 @@
|
|||
- name: Create s3 bucket (Check)
|
||||
check_mode: yes
|
||||
aws_s3:
|
||||
bucket: '{{ bucket_name }}'
|
||||
mode: create
|
||||
region: '{{ scaleway_region }}'
|
||||
s3_url: '{{ s3_url }}'
|
||||
encrypt: false
|
||||
register: bucket_creation_check
|
||||
|
||||
- name: Show bucket_creation_check
|
||||
debug:
|
||||
var: bucket_creation_check
|
||||
|
||||
- name: bucket_creation_check is success
|
||||
assert:
|
||||
that:
|
||||
- bucket_creation_check is success
|
||||
|
||||
- name: bucket_creation_check is changed
|
||||
assert:
|
||||
that:
|
||||
- bucket_creation_check is changed
|
||||
|
||||
- name: Create s3 bucket
|
||||
aws_s3:
|
||||
bucket: '{{ bucket_name }}'
|
||||
mode: create
|
||||
region: '{{ scaleway_region }}'
|
||||
s3_url: '{{ s3_url }}'
|
||||
encrypt: false
|
||||
register: bucket_creation
|
||||
|
||||
- name: Show bucket_creation
|
||||
debug:
|
||||
var: bucket_creation
|
||||
|
||||
- name: bucket_creation is success
|
||||
assert:
|
||||
that:
|
||||
- bucket_creation is success
|
||||
|
||||
- name: bucket_creation is changed
|
||||
assert:
|
||||
that:
|
||||
- bucket_creation is changed
|
||||
|
||||
- name: Create s3 bucket (Confirmation)
|
||||
aws_s3:
|
||||
bucket: '{{ bucket_name }}'
|
||||
mode: create
|
||||
region: '{{ scaleway_region }}'
|
||||
s3_url: '{{ s3_url }}'
|
||||
encrypt: false
|
||||
register: bucket_creation_confirmation
|
||||
|
||||
- name: Show bucket_creation_confirmation
|
||||
debug:
|
||||
var: bucket_creation_confirmation
|
||||
|
||||
- name: bucket_creation_confirmation is success
|
||||
assert:
|
||||
that:
|
||||
- bucket_creation_confirmation is success
|
||||
|
||||
- name: bucket_creation_confirmation is not changed
|
||||
assert:
|
||||
that:
|
||||
- bucket_creation_confirmation is not changed
|
69
test/legacy/roles/scaleway_s3/tasks/aws_s3_delete.yml
Normal file
69
test/legacy/roles/scaleway_s3/tasks/aws_s3_delete.yml
Normal file
|
@ -0,0 +1,69 @@
|
|||
- name: Delete s3 bucket (Check)
|
||||
check_mode: yes
|
||||
aws_s3:
|
||||
bucket: '{{ bucket_name }}'
|
||||
mode: delete
|
||||
region: '{{ scaleway_region }}'
|
||||
s3_url: '{{ s3_url }}'
|
||||
encrypt: false
|
||||
register: bucket_deletion_check
|
||||
|
||||
- name: Show bucket_deletion_check
|
||||
debug:
|
||||
var: bucket_deletion_check
|
||||
|
||||
- name: bucket_deletion_check is success
|
||||
assert:
|
||||
that:
|
||||
- bucket_deletion_check is success
|
||||
|
||||
- name: bucket_deletion_check is changed
|
||||
assert:
|
||||
that:
|
||||
- bucket_deletion_check is changed
|
||||
|
||||
- name: Delete s3 bucket
|
||||
aws_s3:
|
||||
bucket: '{{ bucket_name }}'
|
||||
mode: delete
|
||||
region: '{{ scaleway_region }}'
|
||||
s3_url: '{{ s3_url }}'
|
||||
encrypt: false
|
||||
register: bucket_creation
|
||||
|
||||
- name: Show bucket_creation
|
||||
debug:
|
||||
var: bucket_creation
|
||||
|
||||
- name: bucket_creation is success
|
||||
assert:
|
||||
that:
|
||||
- bucket_creation is success
|
||||
|
||||
- name: bucket_creation is changed
|
||||
assert:
|
||||
that:
|
||||
- bucket_creation is changed
|
||||
|
||||
- name: Delete s3 bucket (Confirmation)
|
||||
aws_s3:
|
||||
bucket: '{{ bucket_name }}'
|
||||
mode: delete
|
||||
region: '{{ scaleway_region }}'
|
||||
s3_url: '{{ s3_url }}'
|
||||
encrypt: false
|
||||
register: bucket_creation_confirmation
|
||||
|
||||
- name: Show bucket_creation_confirmation
|
||||
debug:
|
||||
var: bucket_creation_confirmation
|
||||
|
||||
- name: bucket_creation_confirmation is success
|
||||
assert:
|
||||
that:
|
||||
- bucket_creation_confirmation is success
|
||||
|
||||
- name: bucket_creation_confirmation is not changed
|
||||
assert:
|
||||
that:
|
||||
- bucket_creation_confirmation is not changed
|
73
test/legacy/roles/scaleway_s3/tasks/aws_s3_delobj.yml
Normal file
73
test/legacy/roles/scaleway_s3/tasks/aws_s3_delobj.yml
Normal file
|
@ -0,0 +1,73 @@
|
|||
- name: Delete an object (Check)
|
||||
check_mode: yes
|
||||
aws_s3:
|
||||
mode: delobj
|
||||
bucket: '{{ bucket_name }}'
|
||||
s3_url: '{{ s3_url }}'
|
||||
region: '{{ scaleway_region }}'
|
||||
object: test.txt
|
||||
encrypt: false
|
||||
register: delobj_check_task
|
||||
|
||||
- name: Show delobj_check_task
|
||||
debug:
|
||||
var: delobj_check_task
|
||||
|
||||
- name: delobj_check_task is success
|
||||
assert:
|
||||
that:
|
||||
- delobj_check_task is success
|
||||
|
||||
- name: delobj_check_task is changed
|
||||
assert:
|
||||
that:
|
||||
- delobj_check_task is changed
|
||||
|
||||
- name: Delete an object
|
||||
aws_s3:
|
||||
mode: delobj
|
||||
bucket: '{{ bucket_name }}'
|
||||
s3_url: '{{ s3_url }}'
|
||||
region: '{{ scaleway_region }}'
|
||||
object: test.txt
|
||||
encrypt: false
|
||||
register: delobj_task
|
||||
|
||||
- name: Show delobj_task
|
||||
debug:
|
||||
var: delobj_task
|
||||
|
||||
- name: delobj_task is success
|
||||
assert:
|
||||
that:
|
||||
- delobj_task is success
|
||||
|
||||
- name: delobj_task is changed
|
||||
assert:
|
||||
that:
|
||||
- delobj_task is changed
|
||||
|
||||
|
||||
- name: Delete an object (Confirmation)
|
||||
aws_s3:
|
||||
mode: delobj
|
||||
bucket: '{{ bucket_name }}'
|
||||
s3_url: '{{ s3_url }}'
|
||||
region: '{{ scaleway_region }}'
|
||||
object: test.txt
|
||||
encrypt: false
|
||||
register: delobj_confirmation_task
|
||||
|
||||
- name: Show delobj_confirmation_task
|
||||
debug:
|
||||
var: delobj_confirmation_task
|
||||
|
||||
- name: delobj_confirmation_task is success
|
||||
assert:
|
||||
that:
|
||||
- delobj_confirmation_task is success
|
||||
|
||||
- name: delobj_confirmation_task is changed
|
||||
assert:
|
||||
that:
|
||||
- delobj_confirmation_task is changed
|
31
test/legacy/roles/scaleway_s3/tasks/aws_s3_get.yml
Normal file
31
test/legacy/roles/scaleway_s3/tasks/aws_s3_get.yml
Normal file
|
@ -0,0 +1,31 @@
|
|||
- name: Create a destination local file
|
||||
tempfile:
|
||||
state: file
|
||||
suffix: temp
|
||||
delegate_to: localhost
|
||||
register: tempfile_dst
|
||||
|
||||
- name: Get from bucket
|
||||
aws_s3:
|
||||
mode: get
|
||||
bucket: '{{ bucket_name }}'
|
||||
s3_url: '{{ s3_url }}'
|
||||
region: '{{ scaleway_region }}'
|
||||
object: test.txt
|
||||
dest: '{{ tempfile_dst.path }}'
|
||||
encrypt: false
|
||||
register: get_task
|
||||
|
||||
- name: Show get_task
|
||||
debug:
|
||||
var: get_task
|
||||
|
||||
- name: get_task is success
|
||||
assert:
|
||||
that:
|
||||
- get_task is success
|
||||
|
||||
- name: get_task is changed
|
||||
assert:
|
||||
that:
|
||||
- get_task is changed
|
23
test/legacy/roles/scaleway_s3/tasks/aws_s3_getstr.yml
Normal file
23
test/legacy/roles/scaleway_s3/tasks/aws_s3_getstr.yml
Normal file
|
@ -0,0 +1,23 @@
|
|||
- name: Get str from bucket
|
||||
aws_s3:
|
||||
mode: getstr
|
||||
bucket: '{{ bucket_name }}'
|
||||
s3_url: '{{ s3_url }}'
|
||||
region: '{{ scaleway_region }}'
|
||||
encrypt: false
|
||||
object: test.txt
|
||||
register: getstr_task
|
||||
|
||||
- name: Show getstr_task
|
||||
debug:
|
||||
var: getstr_task
|
||||
|
||||
- name: getstr_task is success
|
||||
assert:
|
||||
that:
|
||||
- getstr_task is success
|
||||
|
||||
- name: getstr_task is changed
|
||||
assert:
|
||||
that:
|
||||
- getstr_task is changed
|
23
test/legacy/roles/scaleway_s3/tasks/aws_s3_geturl.yml
Normal file
23
test/legacy/roles/scaleway_s3/tasks/aws_s3_geturl.yml
Normal file
|
@ -0,0 +1,23 @@
|
|||
- name: Get url from bucket
|
||||
aws_s3:
|
||||
mode: geturl
|
||||
bucket: '{{ bucket_name }}'
|
||||
s3_url: '{{ s3_url }}'
|
||||
region: '{{ scaleway_region }}'
|
||||
object: test.txt
|
||||
encrypt: false
|
||||
register: geturl_task
|
||||
|
||||
- name: Show geturl_task
|
||||
debug:
|
||||
var: geturl_task
|
||||
|
||||
- name: geturl_task is success
|
||||
assert:
|
||||
that:
|
||||
- geturl_task is success
|
||||
|
||||
- name: geturl_task is changed
|
||||
assert:
|
||||
that:
|
||||
- geturl_task is changed
|
22
test/legacy/roles/scaleway_s3/tasks/aws_s3_list.yml
Normal file
22
test/legacy/roles/scaleway_s3/tasks/aws_s3_list.yml
Normal file
|
@ -0,0 +1,22 @@
|
|||
- name: List bucket
|
||||
aws_s3:
|
||||
mode: list
|
||||
bucket: '{{ bucket_name }}'
|
||||
s3_url: '{{ s3_url }}'
|
||||
region: '{{ scaleway_region }}'
|
||||
encrypt: false
|
||||
register: list_task
|
||||
|
||||
- name: Show list_task
|
||||
debug:
|
||||
var: list_task
|
||||
|
||||
- name: list_task is success
|
||||
assert:
|
||||
that:
|
||||
- list_task is success
|
||||
|
||||
- name: list_task is not changed
|
||||
assert:
|
||||
that:
|
||||
- list_task is not changed
|
50
test/legacy/roles/scaleway_s3/tasks/aws_s3_put.yml
Normal file
50
test/legacy/roles/scaleway_s3/tasks/aws_s3_put.yml
Normal file
|
@ -0,0 +1,50 @@
|
|||
- name: Put an object (Check)
|
||||
check_mode: yes
|
||||
aws_s3:
|
||||
mode: put
|
||||
bucket: '{{ bucket_name }}'
|
||||
s3_url: '{{ s3_url }}'
|
||||
region: '{{ scaleway_region }}'
|
||||
src: '{{ tempfile.path }}'
|
||||
object: test.txt
|
||||
encrypt: false
|
||||
register: put_check_task
|
||||
|
||||
- name: Show put_check_task
|
||||
debug:
|
||||
var: put_check_task
|
||||
|
||||
- name: put_check_task is success
|
||||
assert:
|
||||
that:
|
||||
- put_check_task is success
|
||||
|
||||
- name: put_check_task is changed
|
||||
assert:
|
||||
that:
|
||||
- put_check_task is changed
|
||||
|
||||
- name: Put an object
|
||||
aws_s3:
|
||||
mode: put
|
||||
bucket: '{{ bucket_name }}'
|
||||
s3_url: '{{ s3_url }}'
|
||||
region: '{{ scaleway_region }}'
|
||||
src: '{{ tempfile.path }}'
|
||||
object: test.txt
|
||||
encrypt: false
|
||||
register: put_task
|
||||
|
||||
- name: Show put_task
|
||||
debug:
|
||||
var: put_task
|
||||
|
||||
- name: put_task is success
|
||||
assert:
|
||||
that:
|
||||
- put_task is success
|
||||
|
||||
- name: put_task is changed
|
||||
assert:
|
||||
that:
|
||||
- put_task is changed
|
12
test/legacy/roles/scaleway_s3/tasks/main.yml
Normal file
12
test/legacy/roles/scaleway_s3/tasks/main.yml
Normal file
|
@ -0,0 +1,12 @@
|
|||
# AWS_ACCESS_KEY='XXX' AWS_SECRET_KEY='YYY' ansible-playbook ./test/legacy/scaleway.yml --tags test_scaleway_s3
|
||||
|
||||
# use a fact instead of a variable, otherwise template is evaluate each time variable is used
|
||||
- set_fact:
|
||||
bucket_name: "ansible-s3-test-{{ 99999999 | random | to_uuid }}"
|
||||
|
||||
- name: Show bucket name
|
||||
debug:
|
||||
var: bucket_name
|
||||
|
||||
- import_tasks: s3_bucket.yml
|
||||
- import_tasks: aws_s3.yml
|
90
test/legacy/roles/scaleway_s3/tasks/s3_bucket.yml
Normal file
90
test/legacy/roles/scaleway_s3/tasks/s3_bucket.yml
Normal file
|
@ -0,0 +1,90 @@
|
|||
- name: Bucket Creation
|
||||
s3_bucket:
|
||||
name: '{{ bucket_name }}'
|
||||
s3_url: '{{ s3_url }}'
|
||||
region: '{{ scaleway_region }}'
|
||||
|
||||
requester_pays:
|
||||
register: bucket_creation_task
|
||||
|
||||
- name: Show bucket_creation_task
|
||||
debug:
|
||||
var: bucket_creation_task
|
||||
|
||||
- name: bucket_creation_task is success
|
||||
assert:
|
||||
that:
|
||||
- bucket_creation_task is success
|
||||
|
||||
- name: bucket_creation_task is changed
|
||||
assert:
|
||||
that:
|
||||
- bucket_creation_task is changed
|
||||
|
||||
- name: Bucket Creation (Confirmation)
|
||||
s3_bucket:
|
||||
name: '{{ bucket_name }}'
|
||||
s3_url: '{{ s3_url }}'
|
||||
region: '{{ scaleway_region }}'
|
||||
requester_pays: null
|
||||
register: bucket_creation_confirmation_task
|
||||
|
||||
- name: Show bucket_creation_confirmation_task
|
||||
debug:
|
||||
var: bucket_creation_confirmation_task
|
||||
|
||||
- name: bucket_creation_confirmation_task is success
|
||||
assert:
|
||||
that:
|
||||
- bucket_creation_confirmation_task is success
|
||||
|
||||
- name: bucket_creation_confirmation_task is not changed
|
||||
assert:
|
||||
that:
|
||||
- bucket_creation_confirmation_task is not changed
|
||||
|
||||
- name: Bucket Deletion
|
||||
s3_bucket:
|
||||
name: '{{ bucket_name }}'
|
||||
s3_url: '{{ s3_url }}'
|
||||
region: '{{ scaleway_region }}'
|
||||
requester_pays: null
|
||||
state: absent
|
||||
register: bucket_deletion_task
|
||||
|
||||
- name: Show bucket_deletion_task
|
||||
debug:
|
||||
var: bucket_deletion_task
|
||||
|
||||
- name: bucket_deletion_task is success
|
||||
assert:
|
||||
that:
|
||||
- bucket_deletion_task is success
|
||||
|
||||
- name: bucket_deletion_task is changed
|
||||
assert:
|
||||
that:
|
||||
- bucket_deletion_task is changed
|
||||
|
||||
- name: Bucket Deletion (Confirmation)
|
||||
s3_bucket:
|
||||
name: '{{ bucket_name }}'
|
||||
s3_url: '{{ s3_url }}'
|
||||
region: '{{ scaleway_region }}'
|
||||
requester_pays: null
|
||||
state: absent
|
||||
register: bucket_deletion_confirmation_task
|
||||
|
||||
- name: Show bucket_deletion_confirmation_task
|
||||
debug:
|
||||
var: bucket_deletion_confirmation_task
|
||||
|
||||
- name: bucket_deletion_confirmation_task is success
|
||||
assert:
|
||||
that:
|
||||
- bucket_deletion_confirmation_task is success
|
||||
|
||||
- name: bucket_deletion_confirmation_task is not changed
|
||||
assert:
|
||||
that:
|
||||
- bucket_deletion_confirmation_task is not changed
|
|
@ -11,6 +11,7 @@
|
|||
- { role: scaleway_ip, tags: test_scaleway_ip }
|
||||
- { role: scaleway_ip_facts, tags: test_scaleway_ip_facts }
|
||||
- { role: scaleway_organization_facts, tags: test_scaleway_organization_facts }
|
||||
- { role: scaleway_s3, tags: test_scaleway_s3 }
|
||||
- { role: scaleway_security_group_facts, tags: test_scaleway_security_group_facts }
|
||||
- { role: scaleway_server_facts, tags: test_scaleway_server_facts }
|
||||
- { role: scaleway_snapshot_facts, tags: test_scaleway_snapshot_facts }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue