サーバ: sakuracloud_server
Example Usage
resource "sakuracloud_server" "foobar" {
name = "foobar"
disks = [sakuracloud_disk.foobar.id]
description = "description"
tags = ["tag1", "tag2"]
network_interface {
upstream = "shared"
packet_filter_id = data.sakuracloud_packet_filter.foobar.id
}
disk_edit_parameter {
hostname = "hostname"
password = "password"
disable_pw_auth = true
# ssh_key_ids = ["<ID>", "<ID>"]
# note {
# id = "<ID>"
# api_key_id = "<ID>"
# variables = {
# foo = "bar"
# }
# }
}
}
data "sakuracloud_packet_filter" "foobar" {
filter {
names = ["foobar"]
}
}
data "sakuracloud_archive" "ubuntu" {
os_type = "ubuntu"
}
resource "sakuracloud_disk" "foobar" {
name = "{{ .arg0 }}"
source_archive_id = data.sakuracloud_archive.ubuntu.id
}
Argument Reference
name- (Required) 名前 /1-64文字で指定cdrom_id- (Optional) サーバに挿入するCD-ROM(ISOイメージ)のIDforce_shutdown- (Optional)terraform apply時にAPI経由でシャットダウン、または再起動する際に強制終了するフラグ
ACPIが利用できないサーバの場合trueに設定する
スペック関連
commitment- (Optional) vCPUの割り当て方法 / 次のいずれかを指定standard(デフォルト): 通常dedicatedcpu: コア専有
core- (Optional) vCPUの割り当て数 / デフォルト:1memory- (Optional) メモリサイズ(GiB単位) / デフォルト:1cpu_model- (Optional) The model of CPU.gpu- (Optional) GPUの割り当て数network_interface- (Optional) NIC設定のリスト。詳細はnetwork_interfaceブロックを参照interface_driver- (Optional) NICのドライバー / 次のいずれかを指定[virtio/e1000]/ デフォルト:virtioprivate_host_id- (Optional) 専有ホストのID
Note
coreとmemory、gpuに指定できる値の組み合わせはさくらのクラウドドキュメントなどを参照ください。
usacloud server-plan lsコマンドでも確認できます(cpu_modelに指定できる値もこちらでご確認いただけます)。
Note
network_interfaceは省略可能ですが、省略した場合NICが接続されていない状態のサーバが作成されます。
通常は1つ以上指定してください。
network_interfaceブロック
upstream- (Required) 上流ネットワーク設定 / 次のいずれかを指定するshared: 共有セグメント(100Mbps)disconnect: 切断<switch id>: スイッチのID
packet_filter_id- (Optional) NICにアタッチするパケットフィルタのIDuser_ip_address- (Optional) 表示用IPアドレス /upstreamにスイッチIDが指定されている時のみ有効 / この項目は表示用で実際のサーバのNIC設定には影響しない
ディスク関連
disks- (Optional) サーバに接続するディスクのIDのリストdisk_edit_parameter- (Optional) ディスクの修正APIへのパラメータ。詳細はdisk_edit_parameterブロックを参照。user_dataと同時に指定できませんuser_data- (Optional) cloud-initでのUserData。disk_edit_parameterと同時に指定できません
disk_edit_parameterブロック
change_partition_uuid- (Optional) パーティションUUIDを変更するフラグdisable_pw_auth- (Optional) パスワード認証を無効にするフラグenable_dhcp- (Optional) DHCPクライアントを有効にするフラグgateway- (Optional) ゲートウェイIPアドレスhostname- (Optional) ホスト名 /1-64文字で指定ip_address- (Optional) IPアドレスnetmask- (Optional) サブネットマスク長note_ids- (Optional/Deprecated) スタートアップスクリプトIDのリストnote- (Optional) スタートアップスクリプト。詳細はnoteブロックを参照password- (Optional) 管理ユーザーのパスワード /12-128文字で指定ssh_key_ids- (Optional) SSH公開鍵IDのリストssh_keys- (Optional) SSH公開鍵IDのリスト
Note
ディスクの修正API(disk_edit_parameter)はサーバに接続された先頭のディスクに対してのみ有効です。
Note
note_idsは将来のバージョンで削除される予定です。代わりにnoteをご利用ください。
noteブロック
id- (Required) スタートアップスクリプトのIDapi_key_id- (Optional) スタートアップスクリプトに埋め込むAPIキーのIDvariables- (Optional) スタートアップスクリプトの埋め込み変数に指定する値 / map形式、mapの値は文字列で指定
Common Arguments
description- (Optional) 説明 /1-512文字で指定icon_id- (Optional) アイコンIDtags- (Optional) タグzone- (Optional) リソースを作成する対象ゾーンの名前(例:is1a,tk1a) / この値を変更するとリソースの再作成が行われる
Timeouts
timeoutsブロックでカスタムタイムアウトが設定可能です。
create- 作成 (デフォルト: 5分)update- 更新 (デフォルト: 5分)delete- 削除 (デフォルト: 20分)
Attribute Reference
id- IDdns_servers- DNSサーバのIPアドレスのリストgateway- ゲートウェイIPアドレスhostname- ホスト名ip_address- IPアドレスnetmask- サブネットマスク長network_address- ネットワークアドレスprivate_host_name- 専有ホストの名前
network_interfaceの各要素は以下の項目も参照可能です。
mac_address- MACアドレス
Import
IDを指定する事でインポート可能です。
$ terraform import sakuracloud_server.example 123456789012