Terraform for さくらのクラウド v0.12系以降、リソースの属性名に後方互換性のない変更が行われます。
対象バージョンをご利用いただいていた場合、tfファイルの修正などの対応が必要になる場合があります。
v0.12系以降にアップグレードする際は必要に応じて当ガイドを参照ください。
v0.12より前ののバージョン から v0.12以降へのアップグレード
| $ mkdir -p /var/lib/cattle/machine/machines |
| ## | |
| # select ssh host from usacloud server list | |
| # | |
| function peco-select-usacloud-ssh-host(){ | |
| local res | |
| row=$(usacloud server list | grep -v "^\+--" | peco) | |
| res=$(echo $row | awk '{print $2;}') | |
| if zle; then | |
| if [ -n "$res" ]; then | |
| BUFFER="usacloud server ssh $res" |
| sudo ros os upgrade -f |
| usacloud config | |
| Setting SakuraCloud API Token => | |
| Enter token: # APIトークンを入力 | |
| Setting SakuraCloud API Secret => | |
| Enter secret: # APIシークレットを入力 | |
| Setting SakuraCloud Zone => |
| # 公開鍵のIDをコマンド置換 => "$()"を利用することで公開鍵の名で指定する | |
| # note: コマンド置換部分では、複数ヒット時対策としてダブルクォートで囲んでいる(複数ヒット時は書式エラーにできる) | |
| # note: -qオプション: 該当リソースのIDのみ出力するオプション | |
| usacloud server build \ | |
| --name Example01 \ | |
| --os-type centos \ | |
| --password PUT_YOUR_PASSWORD_HERE \ | |
| --ssh-key-mode id \ | |
| --ssh-key-ids "$(usacloud ssh-key read -q your_ssh_key_name)" | |
| provider "sakuracloud"{ | |
| // APIアクセストークン | |
| token = "[your API token]" | |
| // APIシークレット | |
| secret = "[your API secret]" | |
| // ゾーン(is1b or tk1a) | |
| zone = "is1b" | |
| } |
| # あらかじめさくらのクラウド上に"TargetGSLBName"というGSLBを手動で作成 | |
| # 配下のサーバーのみをTerraformで管理する場合 | |
| data sakuracloud_gslb "gslb" { | |
| filter = { | |
| name = "Name" | |
| values = ["TargetGSLBName"] | |
| } | |
| } | |
| resource "sakuracloud_gslb_server" "gslb_server01" { |
| #!/bin/sh | |
| perl -i -pe 's/^type\s*([A-Z][\w]*)/\/\/ $1 \n$&/g' $1 | |
| perl -i -pe 's/^func\s*([A-Z][\w]*)/\/\/ $1 \n$&/g' $1 | |
| perl -i -pe 's/^func\s*\(\w*\s*\S*\s*([A-Z][\w]*)/\/\/ $1 \n$&/g' $1 | |
| perl -i -pe 's/^(\s*)([A-Z][\w]*)/$1\/\/ $2 \n$&/g' $1 |
| // Plugin defines custom behavior for what runs on instances. | |
| type Plugin interface { | |
| // バリデーション | |
| Validate(flavorProperties json.RawMessage) (AllocationMethod, error) | |
| // 各インスタンスへ固有の設定(フレーバー)を投入 | |
| Prepare(flavorProperties json.RawMessage, spec instance.Spec) (instance.Spec, error) | |
| // ヘルスチェック |