sakuracloud

package module
v0.3.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 29, 2016 License: Apache-2.0 Imports: 13 Imported by: 0

README

Terraform for さくらのクラウド

Build Status

Terraformでさくらのクラウドを操作するためのプラグイン

クイックスタート

準備
  • Dockerをインストールしておく
  • さくらのクラウドAPIキーを取得しておく

Dockerがない場合はInstallation / インストールを参考に TerraformとTerraform for さくらのクラウドを手元のマシンにインストールしてからご利用ください。

さくらのクラウドAPIキーの取得方法はこちらを参照してください。

#################################################
# Terraform定義ファイル作成
#################################################
$ mkdir ~/work; cd ~/work
$ ssh-keygen -C "" -P "" -f id_rsa   # サーバーへのSSH用キーペア生成
$ tee sakura.tf <<-'EOF'
resource "sakuracloud_ssh_key" "key"{
    name = "sshkey"
    public_key = "${file("id_rsa.pub")}"
}

data sakuracloud_archive "centos" {
    filter = {
        name   = "Tags"
        values = ["current-stable", "arch-64bit", "distro-centos"]
    }
}
resource "sakuracloud_disk" "disk01"{
    name = "disk01"
    source_archive_id = "${data.sakuracloud_archive.centos.id}"
    ssh_key_ids = ["${sakuracloud_ssh_key.key.id}"]
    disable_pw_auth = true
    zone = "is1b"
}

resource "sakuracloud_server" "server01" {
    name = "server01"
    disks = ["${sakuracloud_disk.disk01.id}"]
    tags = ["@virtio-net-pci"]
    zone = "is1b"
}
EOF

#################################################
# Terraformでインフラ作成
#################################################
$ docker run -it --rm \
         -e SAKURACLOUD_ACCESS_TOKEN=[さくらのクラウド APIトークン] \
         -e SAKURACLOUD_ACCESS_TOKEN_SECRET=[さくらのクラウド APIシークレット] \
         -v $PWD:/work \
         sacloud/terraform apply

インストール

リリースページから最新のバイナリを取得し、 Terraformバイナリと同じディレクトリに展開してください。

詳細はInstallation / インストールを参照してください。

使い方/各リソースの設定方法

Terraform定義ファイル(tfファイル)を作成してご利用ください。

設定ファイルの記載方法はリファレンスを参照ください。

さくらのクラウドの以下のリソースをサポートしています。

サポートしているリソース

Building/Developing

ビルド
make build
ビルド(クロスコンパイル)
make build-x
ビルド(Docker上でのビルド)
make docker-build
テスト
make test
受入テスト(実際のさくらのクラウドAPI呼び出しを伴うテスト)
make testacc
依存ライブラリ
# 一覧表示
govendor list

# vendor配下のライブラリを一括更新
govendor fetch +v

# vendor配下のライブラリをGOPATH上から更新
govendor update +v

License

This project is published under Apache 2.0 License.

Author

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Provider

func Provider() terraform.ResourceProvider

Provider returns a terraform.ResourceProvider.

Types

type Config

type Config struct {
	AccessToken       string
	AccessTokenSecret string
	Zone              string
	TraceMode         bool
}

func (*Config) NewClient

func (c *Config) NewClient() *API.Client

Source Files

Directories

Path Synopsis
builtin

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL