Slide 1

Slide 1 text

Terraform Meetup Tokyo #3 Keke Twitter: @_k_e_k_e “Deep Dive HCL” Building Terraform file

Slide 2

Slide 2 text

“Terraform Meetup Tokyo #3 Keke (twitter: @_k_e_k_e)” “ϓϩάϥϜ͔ΒTerraformϑΝΠϧΛ࡞Δํ๏” ”಺༰” (௿ϨϕϧͳAPI͔Β)

Slide 3

Slide 3 text

Keke Twitter: @_k_e_k_e New Grad Merpay SRE Hobby: Reading Novels, Comics About me “Terraform Meetup Tokyo #3 Keke (twitter: @_k_e_k_e)”

Slide 4

Slide 4 text

“HCL” “Terraform Meetup Tokyo #3 Keke (twitter: @_k_e_k_e)”

Slide 5

Slide 5 text

“HCL != .tf” “Terraform Meetup Tokyo #3 Keke (twitter: @_k_e_k_e)”

Slide 6

Slide 6 text

“HCL” “Hashicorp Configuration Language” “Terraform Meetup Tokyo #3 Keke (twitter: @_k_e_k_e)”

Slide 7

Slide 7 text

“Terraform Meetup Tokyo #3 Keke (twitter: @_k_e_k_e)” “HCLͷ༻్” “Terraform” “Github Actions”

Slide 8

Slide 8 text

“HCLͰ.tfΛॻ͍͍ͯΔ” “Terraform Meetup Tokyo #3 Keke (twitter: @_k_e_k_e)”

Slide 9

Slide 9 text

“Terraform Meetup Tokyo #3 Keke (twitter: @_k_e_k_e)”

Slide 10

Slide 10 text

“Block Type” “Type(label)” “Name(label)” “Block” “Attribute” “Expression” “Terraform Meetup Tokyo #3 Keke (twitter: @_k_e_k_e)” “File”

Slide 11

Slide 11 text

“Terraform with Go” “Terraform Meetup Tokyo #3 Keke (twitter: @_k_e_k_e)”

Slide 12

Slide 12 text

“Block Type” “Type(label)” “Name(label)” “Block” “Attribute” “Expression” “Terraform Meetup Tokyo #3 Keke (twitter: @_k_e_k_e)” “File”

Slide 13

Slide 13 text

“hcl.File” “HCL file” “HCL file” ParseHCL ParseHCL *hcl.File *hcl.File *hcl.File Merge Body “Terraform Meetup Tokyo #3 Keke (twitter: @_k_e_k_e)”

Slide 14

Slide 14 text

“hcl.Body” “Terraform Meetup Tokyo #3 Keke (twitter: @_k_e_k_e)”

Slide 15

Slide 15 text

“hcl.Block” “Terraform Meetup Tokyo #3 Keke (twitter: @_k_e_k_e)”

Slide 16

Slide 16 text

“HCL Structure” hcl.Body … K hcl.File hcl.Body hcl.Bodk hcl.Block K hcl.Attrib ute hcl.Attrib ute “HCL file” “Terraform Meetup Tokyo #3 Keke (twitter: @_k_e_k_e)”

Slide 17

Slide 17 text

“HCL Structure” hcl.Body … K hcl.File hcl.Body hcl.Bodk hcl.Block K hcl.Attrib ute hcl.Attrib ute “HCL file” gohcl.EncodeIntoBody() -> io.WriteFile “Terraform Meetup Tokyo #3 Keke (twitter: @_k_e_k_e)”

Slide 18

Slide 18 text

“Terraform Meetup Tokyo #3 Keke (twitter: @_k_e_k_e)”

Slide 19

Slide 19 text

“Terraform Meetup Tokyo #3 Keke (twitter: @_k_e_k_e)”

Slide 20

Slide 20 text

“Terraform Meetup Tokyo #3 Keke (twitter: @_k_e_k_e)”

Slide 21

Slide 21 text

“Building Blocks (and Attributes)” “Terraform Meetup Tokyo #3 Keke (twitter: @_k_e_k_e)”

Slide 22

Slide 22 text

“HCL Structure” hcl.Body … K hcl.File hcl.Body hcl.Bodk hcl.Block K hcl.Attrib ute hcl.Attrib ute “HCL file” gohcl.EncodeIntoBody() -> io.WriteFile “Terraform Meetup Tokyo #3 Keke (twitter: @_k_e_k_e)”

Slide 23

Slide 23 text

“Terraform Meetup Tokyo #3 Keke (twitter: @_k_e_k_e)”

Slide 24

Slide 24 text

https://buildmedia.readthedocs.org/media/pdf/hcl/guide/hcl.pdf “Terraform Meetup Tokyo #3 Keke (twitter: @_k_e_k_e)”

Slide 25

Slide 25 text

“Datadog Monitor at Scale w/ Terraform” “Merpay Advent Calendar 2019 12/9” https://qiita.com/advent-calendar/2019/merpay “Terraform Meetup Tokyo #3 Keke (twitter: @_k_e_k_e)”

Slide 26

Slide 26 text

“Terraform Meetup Tokyo #3 Keke (twitter: @_k_e_k_e)” “Thank you”