YAMLチートシート


Cloudformationのテンプレートファイルを記述する際にYAMLの書き方に困ったのでメモ
特に配列の表記など

コメント

info:
  description: 普通の行
#  description: コメント行
  titie: タイトル   # ここはコメント 

配列とハッシュ

インデントでデータ構造を表現する

配列

- aaa
- bbb
- ccc

ハッシュ

abc: val1
def: val2
ghi: val3

配列のハッシュ

abc:
  - aaa
  - bbb
  - ccc
def:
  - eee
  - fff
  - ggg

ハッシュの配列

- abc: val1
  def: val2
- ghi: val3
  jkl: val4

ブロックスタイルとフロースタイル

  • ブロックスタイル(複数行表記)とフロースタイル(1行表記)
  • 通常はブロックスタイルが良いらしいい
  • 1行にまとめたい部分のみフロースタイルがおすすめとのこと
# ブロックスタイル
- abc
- def
- ghi
# ↓
#フロースタイル
[abc, def, ghi]

  • YAMLは次のデータ型を判断する
    • 整数/浮動小数点/真偽値(true,false)/日付/タイムスタンプ
  • 上記以外は文字列
  • 文字列を明示する場合はシングルクォート、ダブルクォート

複数行の文字列の扱い

  • 文字列にもブロックスタイルがある
    • 用途:UserDataを書く場合らしい
# パイプを書くと改行が保持される
text1: | 
  hogehoge
  fugafuga
  foobar