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単位で指定
新: plan
でhdd
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
}