terraform 1.5からサポートされたimportでBigQueryのテーブルをインポートするとSchemaがつらい

terraform 1.5からサポートされたimportでBigQueryのテーブルをインポートするとSchemaがつらい

terraform 1.5以降ではimportリソースによって既存のリソースからtfを生成できるようになりました。

https://dev.classmethod.jp/articles/terraform-v1-5-0-import-and-check-sample/

importを利用してBigQueryのテーブルをimportすると、Schemaが整形されていないJSONで出力されて可読性が悪いので、一筆書いた。

# 下記のようなimportをを行うと、schemaが自動で作成されるが見ずらいので、
# 自動で整形したい。
# import {
#  id = "<project>/<dataset>/<table>"
#  to = google_bigquery_table.<imported_table>
# }
# 使用方法: cat generated.tf | ruby bigquery_schema_formater.rb | pbcopy
# read stdin and split by line
require 'json'
$stdin.read.split("\n").each do |line|
  unless line =~ /\sschema\s+=/
    puts line
    next
  end
  re = Regexp.new('=\s"(.+)"$')
  schema = re.match line
  puts 'schema = <<SCHEMA'
  puts JSON.pretty_generate(JSON.parse(schema[1].gsub(/\\"/, '"')))
  puts 'SCHEMA'
end

もちょい複雑になるようならtfをparseしたほうがいいと思うのだが、ピッっとやる分にはこれくらいで事足りるので、これでやった。

facebook
Twitter
コメントは受け付けていません。
Social Share Buttons and Icons powered by Ultimatelysocial