A Sceptre resolver to get file contents. The returned value can be
passed into a parameter as a string, json, or yaml object. The
file extension determines the return type. By default, contents from
any files that do not end in .json
or .yaml
will be passed in as
a string.
Unlike the file_contents resolver which can only pass strings to parameters this resolver can also pass file content in as json and yaml object. This resolver can also resolve remote file contents from the web.
parameters|sceptre_user_data:
<name>: !file /path/to/local/file
parameters|sceptre_user_data:
<name>: !file URL/To/File
Get file content and pass it to the parameter as a text string:
tags/departments.txt
"HR, Governance, Engineering, Marketing"
parameters:
departments: !file tags/departments.txt
Get file contents and pass it to the parameter as a json object:
tags/departments.json
[
"HR",
"Governance",
"Engineering",
"Marketing"
]
parameters:
departments: !file tags/departments.json
Get file contents and pass it to the sceptre_user_data as a yaml object:
tags/departments.yaml
- "HR"
- "Governance"
- "Engineering"
- "Marketing"
sceptre_user_data:
departments: !file tags/departments.yaml
Note: will do the same for files with .yml
extension.
Works similarly to local file except this will get file contents from the web.
Get file contents from a URL reference:
sceptre_user_data:
departments: !file https://my-bucket.s3.us-east-1.amazonaws.com/tags/departments.json