Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
ansible
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
OpenEdx
ansible
Commits
0edcbdca
Commit
0edcbdca
authored
Aug 06, 2013
by
Michael DeHaan
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #3709 from lwade/devel
S3folder
parents
44015574
f6cb9bce
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
21 additions
and
5 deletions
+21
-5
library/cloud/s3
+21
-5
No files found.
library/cloud/s3
View file @
0edcbdca
...
...
@@ -84,6 +84,8 @@ EXAMPLES = '''
- s3: bucket=mybucket object=/my/desired/key.txt src=/usr/local/myfile.txt mode=getstr
# Create an empty bucket
- s3: bucket=mybucket mode=create
# Create a bucket with key as directory
- s3: bucket=mybucket object=/my/directory/path mode=create
# Delete a bucket and all contents
- s3: bucket=mybucket mode=delete
'''
...
...
@@ -157,11 +159,12 @@ def delete_key(module, s3, bucket, obj):
except
s3
.
provider
.
storage_response_error
,
e
:
module
.
fail_json
(
msg
=
str
(
e
))
def
create_key
(
module
,
s3
,
bucket
,
obj
):
def
create_
dir
key
(
module
,
s3
,
bucket
,
obj
):
try
:
bucket
=
s3
.
lookup
(
bucket
)
bucket
.
new_key
(
obj
)
module
.
exit_json
(
msg
=
"Object
%
s created in bucket
%
s"
%
(
obj
,
bucket
),
changed
=
True
)
key
=
bucket
.
new_key
(
obj
)
key
.
set_contents_from_string
(
''
)
module
.
exit_json
(
msg
=
"Virtual directory
%
s created in bucket
%
s"
%
(
obj
,
bucket
.
name
),
changed
=
True
)
except
s3
.
provider
.
storage_response_error
,
e
:
module
.
fail_json
(
msg
=
str
(
e
))
...
...
@@ -383,14 +386,27 @@ def main():
# Need to research how to create directories without "populating" a key, so this should just do bucket creation for now.
# WE SHOULD ENABLE SOME WAY OF CREATING AN EMPTY KEY TO CREATE "DIRECTORY" STRUCTURE, AWS CONSOLE DOES THIS.
if
mode
==
'create'
:
if
bucket
:
if
bucket
and
not
obj
:
bucketrtn
=
bucket_check
(
module
,
s3
,
bucket
)
if
bucketrtn
is
True
:
module
.
exit_json
(
msg
=
"Bucket already exists."
,
changed
=
False
)
else
:
created
=
create_bucket
(
module
,
s3
,
bucket
)
if
bucket
and
obj
:
module
.
fail_json
(
msg
=
"mode=create can only be used for bucket creation."
,
failed
=
True
)
bucketrtn
=
bucket_check
(
module
,
s3
,
bucket
)
if
obj
.
endswith
(
'/'
):
dirobj
=
obj
else
:
dirobj
=
obj
+
"/"
if
bucketrtn
is
True
:
keyrtn
=
key_check
(
module
,
s3
,
bucket
,
dirobj
)
if
keyrtn
is
True
:
module
.
exit_json
(
msg
=
"Bucket
%
s and key
%
s already exists."
%
(
bucket
,
obj
),
changed
=
False
)
else
:
create_dirkey
(
module
,
s3
,
bucket
,
dirobj
)
if
bucketrtn
is
False
:
created
=
create_bucket
(
module
,
s3
,
bucket
)
create_dirkey
(
module
,
s3
,
bucket
,
dirobj
)
# Support for grabbing the time-expired URL for an object in S3/Walrus.
if
mode
==
'geturl'
:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment