Terraform-provider-local: рдЧреИрд░-рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рд╕реНрдерд╛рдиреАрдп рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдХреНрд╖рдо рдХрд░реЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 17 рдЕрдЧре░ 2017  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: hashicorp/terraform-provider-local

рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдпрд╣ рдкреНрд░рджрд╛рддрд╛ рдХреЗрд╡рд▓ 0777 рдЕрдиреБрдорддрд┐рдпреЛрдВ рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓реЗрдВ рдмрдирд╛рддрд╛ рд╣реИред

рдХреНрдпрд╛ рдЗрд╕реЗ рд╢рд╛рдпрдж рдкреИрд░рд╛рдореАрдЯрд░ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ? рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдмрдирд╛рдирд╛ рдереЛрдбрд╝рд╛ рдЕрдЬреАрдм рд▓рдЧрддрд╛ рд╣реИред

https://github.com/terraform-providers/terraform-provider-local/blob/8a97bc491e1e8a28197e40d40226d6748eb07ac6/local/resource_local_file.go#L71

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

@ рдмреНрд░реЗрдЯ-рд░рд┐рдЪрд░реНрдбрд╕рди @apparentlymart рдиреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП #12 рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рди рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ред рдореИрдВрдиреЗ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдмреВрд▓рд┐рдпрди рдХреЗ рдмрдЬрд╛рдп рдлрд╝рд╛рдЗрд▓ рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рдЕрдиреБрдорддрд┐ рджреА рд╣реИред рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдЕрдХреНрд╖реБрдгреНрдг рдЫреЛрдбрд╝ рджрд┐рдпрд╛ред

рд╕рднреА 4 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рд╣рд╛рдп @ рдмреНрд░реЗрдЯ-рд░рд┐рдЪрд░реНрдбрд╕рди!

рдЗрд╕ рд╕рдВрд╕рд╛рдзрди рдХреЛ рд╕рд░рд▓ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрднреА рдЗрд╕ рд╕рдВрд╕рд╛рдзрди рдХреЗ рд╡рд┐рдХрд▓реНрдк рдмрд╣реБрдд рд╕реАрдорд┐рдд рд╣реИрдВред рдЕрдиреБрдорддрд┐рдпрд╛рдБ рд╕реЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЙрдЪрд┐рдд рд▓рдЧрддрд╛ рд╣реИ, рдФрд░ рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд╣рдордиреЗ рдРрд╕рд╛ рд╕рд┐рд░реНрдл рдЗрд╕рд▓рд┐рдП рдирд╣реАрдВ рдХрд┐рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХреБрдЫ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реИ - рдЯреЗрд░рд╛рдлрд╝реЙрд░реНрдо рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдЪрд▓рддрд╛ рд╣реИ, рдФрд░ рдЕрдиреБрдорддрд┐рдпрд╛рдБ рдЙрд╕реА рддрд░рд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреА рд╣реИрдВред

рд╢рд╛рдпрдж рд╣рдо рдЗрд╕реЗ рдЕрддрд┐-рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рди рдХрд░рдХреЗ рдФрд░ рдпрд╣рд╛рдВ рд╕реАрдзреЗ рдЖрдкрдХреА рдЪрд┐рдВрддрд╛ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдХреЗ рдПрдХ рдирдИ рд╡рд┐рд╢реЗрд╖рддрд╛ executable рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рд╕рд╛рдЗрдб-рд╕реНрдЯреЗрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ false рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╡рд╣ рдзреНрд╡рдЬ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдмрд┐рд▓реНрдХреБрд▓ рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░рдВрдкрд░рд╛рдЧрдд рд░реВрдк рд╕реЗ рдРрд╕рд╛ рднреЗрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ (рдпрд╛ рдмрд▓реНрдХрд┐, рдЗрд╕реЗ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рд╕рдореНрдореЗрд▓рдиреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд░рддрд╛ рд╣реИ), рд▓реЗрдХрд┐рди рдкреЙрдЬрд╝рд┐рдХреНрд╕-рдЬреИрд╕реА рд╕рд┐рд╕реНрдЯрдо рдкрдврд╝рдиреЗ/рд▓рд┐рдЦрдиреЗ рдХреЗ рдмрдЬрд╛рдП рдХреЗрд╡рд▓ рдкрдврд╝рдиреЗ/рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐рдпрд╛рдВ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреА рд╣реИрдВ /рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ред (рдЗрд╕реЗ рдЕрднреА рднреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╕рдХреНрд░рд┐рдп umask рдХрд╛ рд╕рдореНрдорд╛рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕рд▓рд┐рдП рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдбрд┐рд╕реНрдХ рдкрд░ рдлрд╝рд╛рдЗрд▓ рдЖрдорддреМрд░ рдкрд░ _not_ рд╡рд┐рд╢реНрд╡-рд▓реЗрдЦрди рдпреЛрдЧреНрдп рд╣реЛрдЧреА, рднрд▓реЗ рд╣реА рдпрд╣рд╛рдВ рдореЛрдб рдРрд╕рд╛ рд╕реБрдЭрд╛рд╡ рджреЗрдЧрд╛ред)

рдпрд╣ рдХрд╛рдлреА рдХрд╛рдо рдХреА рдмрд╛рдд рд╣реИред рдореИрдВ рджреЗрдЦреВрдВрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдореЗрд░реЗ рдкрд╛рд╕ рд╕рдордп рд╣реЛрдиреЗ рдкрд░ рдореИрдВ рдПрдХ рдкреАрдЖрд░ рдПрдХ рд╕рд╛рде рд░рдЦ рд╕рдХрддрд╛ рд╣реВрдВред

@ рдмреНрд░реЗрдЯ-рд░рд┐рдЪрд░реНрдбрд╕рди @apparentlymart рдиреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП #12 рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рди рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ред рдореИрдВрдиреЗ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдмреВрд▓рд┐рдпрди рдХреЗ рдмрдЬрд╛рдп рдлрд╝рд╛рдЗрд▓ рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рдЕрдиреБрдорддрд┐ рджреА рд╣реИред рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдЕрдХреНрд╖реБрдгреНрдг рдЫреЛрдбрд╝ рджрд┐рдпрд╛ред

рдпрд╣ #19 рдХреЗ рд╕рдорд╛рди рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рднреА рдпрд╣реА рд╕реБрдЭрд╛рд╡ рджреВрдВрдЧрд╛ред

рдЬрдмрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдорд▓реНрдЯреА-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╕реБрд╡рд┐рдзрд╛ рдирд╣реАрдВ рд╣реИ, рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ ...

resource "local_file" "foo" {
  content = "contents"
  filename = "foo.txt"
  provisioner "local-exec" {
    command = "chmod 644 foo.txt"
}

рдЖрд╢рд╛ рд╣реИ рдпреЗ рдорджрдж рдХрд░реЗрдЧрд╛!

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

ghost picture ghost  ┬╖  24рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ghost picture ghost  ┬╖  8рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

hashibot picture hashibot  ┬╖  8рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ghost picture ghost  ┬╖  14рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

hsdk123 picture hsdk123  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ