Terraform for Sakura-IoT Platform 🌸
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
builtin
docs
scripts
vendor
.gitignore
.travis.yml
Dockerfile
LICENSE
Makefile
README.md

README.md

Terraform for さくらのIoT Platform

Build Status

TerraformでさくらのIoT Platformを操作するためのプラグイン

クイックスタート

準備

  • Dockerをインストールしておく
  • さくらのIoT PlatformのAPIキーを取得しておく

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

さくらのIoT Platform APIキーの取得方法はこちらを参照してください。

#################################################
# APIキーを環境変数に設定しておく
#################################################
$ export SAKURAIOT_AUTH_TOKEN="APIキーのトークン"
$ export SAKURAIOT_AUTH_SECRET="APIキーのシークレット"

#################################################
# Terraform定義ファイル作成
#################################################
$ mkdir ~/work; cd ~/work
$ tee sakura.tf <<-'EOF'

# ------------------------------------------------------------
# プロジェクトの登録
# ------------------------------------------------------------
resource "sakuraiot_project" "project01" {
    name = "example project"
}

# ------------------------------------------------------------
# モジュールの登録
# ------------------------------------------------------------
resource "sakuraiot_module" "module01" {
    project_id = "${sakuraiot_project.project01.id}"
    name = "example module"
    register_id = "put-your-register-id"      # (要編集)通信モジュール本体に記載されているモジュール登録用ID
    register_pass = "pur-your-register-pass"  # (要編集)通信モジュール本体に記載されているモジュール登録用パスワード
}

# ------------------------------------------------------------
# 連携サービスとしてOutgoing WebhookとIncoming Webhookを登録
# ------------------------------------------------------------
# Outgoing Webhook
resource "sakuraiot_service_outgoing_webhook" "webhook01" {
    project_id = "${sakuraiot_project.project01.id}"
    name = "example outgoing webhook"
    secret = "secret"                         # HMAC-SHA1署名用のシークレット
    url = "https://your-webhook-server.com/"  # Outgoing Webhookの連携先URLを指定
}

# Incoming Webhook
resource "sakuraiot_service_incoming_webhook" "webhook01" {
    project_id = "${sakuraiot_project.project01.id}"
    name = "example incoming webhook"
    secret = "secret"                          # HMAC-SHA1署名用のシークレット
}
EOF

#TerraformコマンドをDocker上で実行するためにエイリアスを作成(Dockerを使わない場合は不要)
alias terraform="docker run -it --rm -w /work -v $PWD:/work -e SAKURAIOT_AUTH_TOKEN -e SAKURAIOT_AUTH_SECRET yamamotofebc/terraform-for-sakuraiot"

#################################################
# 構築プランの確認
#################################################
$ terraform plan

#################################################
# インフラ構築
#################################################
$ terraform apply

#################################################
# 作成された内容を確認
#################################################
$ terraform show

#################################################
# 削除
#################################################
$ terraform destroy 
# 確認入力を要求されるため、`yes`を入力

インストール

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

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

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

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

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

さくらのIoT Platformの以下のリソースをサポートしています。

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

それぞれのリソースはデータソースとしても利用可能です。

License

This project is published under Apache 2.0 License.

Author