cookbook 's3_dir', '= 1.3.0'
s3_dir (10) Versions 1.3.0 Follow1
cookbook 's3_dir', '= 1.3.0', :supermarket
knife supermarket install s3_dir
knife supermarket download s3_dir
This cookbook leverages the
s3_file cookbook to recursively download all of the files in a specified S3 “directory.” It uses the
et_fog cookbook cookbook to retrieve a listing of said “directories”.
Firstly, you will need to include
et_fog in your recipe in order to install the Fog library in Chef, e.g.:
s3_dir '/local/path' do bucket 's3.bucket.name' dir 's3_directory' owner 'root' group 'root' mode '0755' recursive true region 'us-east-1' access_key_id 'ACCESS_KEY' secret_access_key 'SECRET_ACCESS_KEY' end
name- The local path where the files should be downloaded to
bucket- The S3 bucket name you want to download from
dir- The directory within the bucket where the files will come from
owner- What you want the local file/directory owner to be set to. Defaults to
group- What you want the local file/directory group to be set to. Defaults to
mode- File permissions. Created directories will inherit these permissions plus executability. Defaults to '0755'
recursive- Whether parent directories of
nameshould be created recursively
region- AWS Region. Defaults to
us-east-1. Currently broken because the s3_file library cookbook doesn't support non-US-standard regions.
access_key_id- AWS Access Key ID
secret_access_key- AWS Secret Key
The following minimum AWS permissions are required for
s3_dir to work:
"Action": [ "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::bucket-name", "arn:aws:s3:::bucket-name/*" ]
However it is recommended that you request a more permissive set of permissions so as to avoid unpredictable edge cases:
"Action": [ "s3:Get*",, "s3:List*" ], "Resource": [ "arn:aws:s3:::bucket-name", "arn:aws:s3:::bucket-name/*" ]
- Fork the repository on Github
- Create a named feature branch (i.e.
- Write your change
- Write tests for your change (if applicable)
- Run the tests, ensuring they all pass
- Submit a Pull Request
License and Authors
Author:: EverTrue, Inc. (email@example.com)
|s3_file >= 2.3.0|
|et_fog ~> 1.0|
There are no cookbooks that are contingent upon this one.
- Add non-us-east-1 region support
- Fix the way we parse directory listings so that arrays stop turning up empty
- Several changes to get Travis-CI working in full-convergence mode.
- Fix the unit tests to match the code
- Do all testing with mock instead of depending on a private external s3 bucket.
- README cleanup
- LICENSE and maintainer info clarified
- Clean up testing situation
- ChefSpec test
- Serverspec integration tests
- Fix FC016 by adding a default action to LWRP
- Fix dependency on et_fog to properly resolve
- Add default values for
- Fix issue with mode attribute and implicit conversion b/t strings/integers
- Real README
- File mode parsing to make directories
- Initial release of s3_dir