v1.11での変更点


Terraform v0.12対応

このバージョンからTerraform v0.12に対応しています。
Terraform v0.12ではtfファイル記法などに大幅な変更が行われました。
変更内容の詳細については公式ドキュメントを参照してください。

このドキュメントに記載しているtfファイルの例はTerraform v0.12対応となっています。

Terraform v0.12以前のバージョンをご利用中の場合、Terraform v0.12を用いて以下のコマンドを実行することでtfファイルのマイグレーションが行えます。

# terraform v0.12以前のバージョン向けのtfファイルをv0.12向けに書き換え
$ terraform 0.12upgrade

marker_tags機能の除去

v1.4でmarker_tags機能のソースが除去されました。

ディスクの修正関連パラメータの移動

v1.6でディスクの修正関連パラメータがディスクリソース(sakuracloud_disk)からサーバリソース(sakuracloud_server)へと移動されました。 v1.11まではディスクリソースでのパラメータ指定も可能でしたが、このバージョンではこれらのパラメータは指定できなくなりました。

対応方法

これまでディスクリソースで以下のパラメータを指定していた場合、tfファイルの書き換えが必要となります。

  • パスワード(password)
  • ホスト名(hostname)
  • SSH接続時パスワード/チャレンジレスポンス認証の無効化フラグ(disable_pw_auth)
  • スタートアップスクリプト(note_ids)
  • 公開鍵(ssh_key_ids)

これらのパラメータをディスクリソースからサーバリソースへ移動させてください。

対応前のtfファイルの例

data "sakuracloud_archive" "ubuntu" {
  os_type = "ubuntu"
}

# ディスクリソース
resource "sakuracloud_disk" "foobar" {
  name = "mydisk"
  source_archive_id = data.sakuracloud_archive.ubuntu.id

  # ディスクの修正関連のパラメータ 
  hostname = "myserver"
  password = "p@ssw0rd"
  ssh_key_ids = ["100000000000", "200000000000"]
  disable_pw_auth = true
  note_ids = ["100000000000", "200000000000"]

}

# サーバリソース
resource "sakuracloud_server" "foobar" {
  name = "myserver"
  disks = [sakuracloud_disk.foobar.id]
}

対応後のtfファイルの例

data "sakuracloud_archive" "ubuntu" {
  os_type = "ubuntu"
}

# ディスクリソース
resource "sakuracloud_disk" "foobar" {
  name = "mydisk"
  source_archive_id = data.sakuracloud_archive.ubuntu.id
}

# サーバリソース
resource "sakuracloud_server" "foobar" {
  name = "myserver"
  disks = [sakuracloud_disk.foobar.id]

  # ディスクの修正関連のパラメータ 
  hostname = "myserver"
  password = "p@ssw0rd"
  ssh_key_ids = ["100000000000", "200000000000"]
  disable_pw_auth = true
  note_ids = ["100000000000", "200000000000"]

}

NFS SSDプラン対応

NFSにSSDプランが導入された際にパラメータ名が変更となりました。 v1.11以前でNFSアプライアンスを利用していた場合はtfファイルの変更が必要となります。

旧: plan: NFSのサイズをGB単位で指定 新: planhdd or ssdを指定。サイズはsizeパラメータで指定

対応方法

  • tfファイルでplanを指定していた場合はsizeに置き換えてください。

対応前のtfファイルの例

resource "sakuracloud_nfs" "foobar" {
  switch_id   = "${sakuracloud_switch.foobar.id}"
  plan        = "100"

  # ...
}

対応後のtfファイルの例

resource "sakuracloud_nfs" "foobar" {
  switch_id   = "${sakuracloud_switch.foobar.id}"
  size        = "100" # planをsizeに置き換える

  # ...
}

スタートアップスクリプトのDescriptionフィールド

これまではスタートアップスクリプト(sakuracloud_note)のDescriptionフィールドを指定可能でした。
しかし、このフィールドはスタートアップスクリプト内の@sacloud-descの内容から算出されるため、v1.11からは読み取り専用項目へと修正されました。
これまでDescriptionフィールドを設定していた場合はtfファイルの修正が必要になります。

対応方法

  • tfファイルでdescriptionを指定していた場合はスタートアップスクリプト内の@sacloud-descに置き換えてください。

対応前のtfファイルの例

resource sakuracloud_note "foobar" {
  name        = "example"
  description = "example-description"
  content     = <<EOT
#!/bin/bash
# @sacloud-name ""
# ...
EOT
}

対応後のtfファイルの例

resource sakuracloud_note "foobar" {
  name        = "example"
  content     = <<EOT
#!/bin/bash
# @sacloud-name ""
# @sacloud-desc example-description
# ...
EOT
}