aws-sdk-go ssm Parameter Storeのラッパーを作った
みなさんがデスストランディングで遊んでる間、プライベートで実務で使うためのライブラリを作ってたんですよ。いや使うかわからんけど
なぜ作った?
aws-sdkあるあるだと思うんですけど、入力、出力がそれぞれXXXXInput, XXXXOutputとかになってて、取り回しがダルい
あとgithubに草生やしたかった
つーかkvsライクなapiになってると思ったよね。なのでredisにput, getするような感覚で使えるようにしたかった。
使い方
sess := session.New(aws.NewConfig()) client := pmstr.New(ssm.New(sess)) //Get StringType Paramter param, err := client.Get("parameter_name").AsString() //Get StringListType Parameter params, err := client.Get("string_list_parameter_name").AsStringList() //Get SecureStringType Parameter secureParam, err := client.Get("secure_parameter_name").AsSecureString() //Put StringType Parameter output, err := client.PutString("parameter_name", "parameter_value").Do() //Put StringListType Parameter output, err := client.PutStringList("parameter_name", []string{"value1", "value2"}).Do() //Put SecureStringType Parameter output, err := client.PutSecureString("parameter_name", "parameter_value").Do() //set parameter by method chain output, err := client.PutString("parameter_name", "parameter_value") .Description("description") .Overwrite(true) .Policies("policies") .Do()
サポートしてる機能
- ssm.PutParameter
- ssm.GetParameter
にしか対応してないっす。GetParametersByPathみたいな、高機能なやつは気が向いたら作る。
あとがき
実は実務がカツカツでこんなの作ってる場合じゃねえ