Skip to main content

A Sceptre resolver to serialize and deserialize json

Project description

sceptre-json-resolver

A Sceptre resolver to serialize and deserialize json.

Motivation

There are use cases where you may want to pass in either a string or a json object to a cloudformation or sceptre_user_data parameter. This simple resolver can take some json and serialize it or deserialize it before passing it into a cloudformation parameter or a scepter_user_data parameter.

Installation

To install directly from PyPI

pip install sceptre-json-resolver

To install from this git repo

pip install git+https://github.com/Sceptre/sceptre-json-resolver.git

Usage/Examples

parameters|sceptre_user_data:
  <name>: !from_json [ <string> ]

parameters|sceptre_user_data:
  <name>: !to_json [ <json object> ]

NOTE: This resolver expects a single-item list argument.

Basic Examples

Take some json object serialize it to a string then pass it to a parameter:

parameters:
   myparam: !to_json [{"key": "value"}]

Note: The string '{"key": "value"}' is passed to myparam

Take a string deserialize it to a json object then pass it to a parameter:

sceptre_user_data:
  myparam: !from_json ['{"key": "value"}']

Note: The object {"key": "value"} is passed to myparam

Nested resolver examples

These use case requires the nested resolver feature in Sceptre version 4.1 and greater.

Load a json object from a file using the sceptre file resolver, serialize the object to a string then pass it to a parameter:

parameters:
  hounds: !to_json [ !file 'hounds.json' ]

Make a request to a REST API using the sceptre-request-resolver, deserialize the response to a json object then pass it to a parameter:

sceptre_user_data:
  hounds: !from_json
    - !request 'https://dog.ceo/api/breed/hound/list'

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sceptre_json_resolver-0.1.0.tar.gz (2.7 kB view hashes)

Uploaded Source

Built Distribution

sceptre_json_resolver-0.1.0-py3-none-any.whl (3.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page