All Projects → b-b3rn4rd → json2ssm

b-b3rn4rd / json2ssm

Licence: Apache-2.0 license
AWS Parameter Store import & export functionality for JSON

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to json2ssm

Aws Virtual Bastion
A web based terminal for EC2 instances that does not require SSH or any other inbound connections to the instaces. Instead it uses the AWS Systems Manager (SSM) API to run commands (bash or powershell).
Stars: ✭ 166 (+253.19%)
Mutual labels:  ssm
Javaweb Project Source Share
🌱🚀分享基于Servlet、SSH、SSM、SpringBoot等流行技术实现的JavaWeb项目,难度分为5个等级,帮助小白入门JavaWeb开发,协助JavaWeb开发者熟悉最新技术
Stars: ✭ 229 (+387.23%)
Mutual labels:  ssm
exec-with-secrets
Handle secrets in Docker using AWS KMS, SSM parameter store, Secrets Manager, or Azure Key Vault
Stars: ✭ 54 (+14.89%)
Mutual labels:  ssm
Domt
这是一个J2EE学生宿舍管理系统, 能完成学生班级楼栋宿舍等的基本管理, 能够智能批量地分配和腾空宿舍, 能够统计打印学生和宿舍入住名单
Stars: ✭ 190 (+304.26%)
Mutual labels:  ssm
Shop
使用SSM实现的一个网上商城
Stars: ✭ 235 (+400%)
Mutual labels:  ssm
blog-ssm
一个简单漂亮的SSM博客系统。
Stars: ✭ 487 (+936.17%)
Mutual labels:  ssm
Ssm Sh
Experiment to use SSM RunCommand instead of SSH
Stars: ✭ 140 (+197.87%)
Mutual labels:  ssm
examonlinesystem
基于SSM框架开发的一款在线考试系统。An online examination system with ssm framework in Java Language
Stars: ✭ 27 (-42.55%)
Mutual labels:  ssm
Shop
SSM 框架搭建的网上游戏商城(仿Steam)
Stars: ✭ 238 (+406.38%)
Mutual labels:  ssm
EMAN
一个基于SSM框架与物品的协同过滤算法(ItemCF)的简单电子书推荐系统
Stars: ✭ 48 (+2.13%)
Mutual labels:  ssm
Awsssmchaosrunner
Amazon's light-weight library for chaos engineering on AWS. It can be used for EC2, ECS (with EC2 launch type) and Fargate.
Stars: ✭ 214 (+355.32%)
Mutual labels:  ssm
Bbs Ssm
南生论坛基于SSM框架,自适应手机端和电脑端,界面简洁美观,功能完善。演示地址:http://www.nanshengbbs.top
Stars: ✭ 221 (+370.21%)
Mutual labels:  ssm
cloud-note
无道云笔记,原生JSP的仿有道云笔记项目
Stars: ✭ 66 (+40.43%)
Mutual labels:  ssm
Ssm shiro blog
spring+springmvc+mybatis+shiro整合DEMO.后台管理,权限管理
Stars: ✭ 167 (+255.32%)
Mutual labels:  ssm
pinyougou
品优购项目实战
Stars: ✭ 19 (-59.57%)
Mutual labels:  ssm
Ssm
👅基于RESTful风格的前后端分离的SSM框架,集成了shiro和swagger等框架
Stars: ✭ 141 (+200%)
Mutual labels:  ssm
Thrskyshop
线上购物平台开发 - Java-SSM-电商
Stars: ✭ 251 (+434.04%)
Mutual labels:  ssm
IDEAPractice
Java练习 - Java基础知识,面试题,小demo,长期积累 | intellij idea + maven + tomcat
Stars: ✭ 45 (-4.26%)
Mutual labels:  ssm
terraform-aws-ssm-parameter-store
Terraform module to populate AWS Systems Manager (SSM) Parameter Store with values from Terraform. Works great with Chamber.
Stars: ✭ 87 (+85.11%)
Mutual labels:  ssm
bicycleSharingServer
🚲共享单车JavaWEB后台(ssm)
Stars: ✭ 86 (+82.98%)
Mutual labels:  ssm

Go Report Card Build Status JSON import/export functions with AWS SSM Parameter Store

json2ssm - provides JSON import, export and delete functionality when working with AWS SSM parameter store while keeping original data types.

Motivation

AWS SSM Parameter Store is a great service for centrally storing and managing application parameters and secrets. However, seeding parameters often becomes an adhoc process when parameters are added manually or provisioned from different scripts which makes it difficult to promote applications between environments.

Using json2ssm parameters can be imported from a single or multiple JSON source files, additionally, it also provides export function to recursively retrieve parameters in JSON format for scenarios when it's easier to work with JSON structure, for example with Jenkins pipelines or inside ansible playbooks.

Examples

Let's start with an example and import following file into SSM parameter store:

$ cat ../../pkg/storage/testdata/colors.json
{
  "colors": [
    {
      "color": "black",
      "category": "hue",
      "type": "primary",
      "code": {
        "rgba": [255,255,255,1],
        "hex": "#000"
      }
    },
    {
      "color": "white",
      "category": "value",
      "code": {
        "rgba": [0,0,0,1],
        "hex": "#FFF"
      }
    },
    {
      "color": "red",
      "category": "hue",
      "type": "primary",
      "code": {
        "rgba": [255,0,0,1],
        "hex": "#FF0"
      }
    },
    {
      "color": "blue",
      "category": "hue",
      "type": "primary",
      "code": {
        "rgba": [0,0,255,1],
        "hex": "#00F"
      }
    },
    {
      "color": "yellow",
      "category": "hue",
      "type": "primary",
      "code": {
        "rgba": [255,255,0,1],
        "hex": "#FF0"
      }
    },
    {
      "color": "green",
      "category": "hue",
      "type": "secondary",
      "code": {
        "rgba": [0,255,0,1],
        "hex": "#0F0"
      }
    }
  ]
}
$ json2ssm put-json --json-file ../../pkg/storage/testdata/colors.json
 47 / 47 [=============================================================================>]  100%
 Import has successfully finished, 47 parameters have been (over)written to SSM parameter store. 

Retrieve the first color:

$ json2ssm get-json --path "/colors/0"
 8 / 8 [==============================================================================] 8s
{
 "category": "hue",
 "code": {
  "hex": "#000",
  "rgba": [
   255,
   255,
   255,
   1
  ]
 },
 "color": "black",
 "type": "primary"
}

Retrieve the first color's rgba value and store it in a file:

$ json2ssm get-json --path "/colors/0/code/rgba" > rgba.son
 4 / 4 [==============================================================================] 2s
$ cat rgba.json 
  [
   255,
   255,
   255,
   1
  ]

Installation

brew tap b-b3rn4rd/homebrew-tap
brew install json2ssm

Using go get

go get github.com/b-b3rn4rd/json2ssm

Usage

$ json2ssm --help
  usage: json2ssm [<flags>] <command> [<args> ...]
  
  Flags:
        --help     Show context-sensitive help (also try --help-long and
                   --help-man).
    -d, --debug    Enable debug logging.
        --version  Show application version.
  
  Commands:
    help [<command>...]
      Show help.
  
    put-json --json-file=JSON-FILE --encrypt [<flags>]
      Creates SSM parameters from the specified JSON file.
  
    get-json --path=PATH --decrypt
      Retrieves JSON document from SSM parameter store using given path (prefix).
  
    del-json --json-file=JSON-FILE
      Deletes parameters from SSM parameter store based on the specified JSON
      file.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].