ラベル shipyard の投稿を表示しています。 すべての投稿を表示
ラベル shipyard の投稿を表示しています。 すべての投稿を表示

2015年2月21日土曜日

groovyとshipyardでcontainerを再起動する

groovyとshipyardでcontainerを再起動するには、以下のサンプルコードのようにX-Service-Keyにサービスキーを設定して/api/containers/<container-id>/restartにアクセスします。

サンプルコード
@Grab(group='org.apache.httpcomponents', module='httpclient', version='4.3.6')
import org.apache.http.client.methods.*
import org.apache.http.impl.client.*
import org.apache.http.message.*
import org.apache.http.auth.*
import org.apache.http.entity.*
import groovy.json.*

def host = "192.168.1.212" // replace this
def port = 8080
def serviceKey = "your-service-key"
def containerId = "your-container-id"

def httpclient = new DefaultHttpClient()
httpclient.withCloseable {

  def method = new HttpGet(
    "http://${host}:${port}/api/containers/${containerId}/restart"
  )
  method.setHeader("X-Service-Key", serviceKey)
  def response = httpclient.execute(method)
  println response.getStatusLine().getStatusCode()
}

関連情報

2015年2月14日土曜日

groovyとshipyardでcontainerのログを取得する

groovyとshipyardでcontainerのログを取得するには、以下のサンプルコードのようにX-Service-Keyにサービスキーを設定して/api/containers/<container-id>/logsにアクセスします。

サンプルコード
@Grab(group='org.apache.httpcomponents', module='httpclient', version='4.3.6')
import org.apache.http.client.methods.*
import org.apache.http.impl.client.*
import org.apache.http.message.*
import org.apache.http.auth.*
import org.apache.http.entity.*
import groovy.json.*

def host = "192.168.1.212" // replace this
def port = 8080
def serviceKey = "your-service-id"
def containerId = "your-container-id"

def httpclient = new DefaultHttpClient()
httpclient.withCloseable {

  def method = new HttpGet(
    "http://${host}:${port}/api/containers/${containerId}/logs"
  )
  method.setHeader("X-Service-Key", serviceKey)
  def response = httpclient.execute(method)
  println response.getStatusLine().getStatusCode()
  println response.getEntity().getContent().text
}

関連情報

2015年2月7日土曜日

groovyとshipyardでcontainerを停止する

groovyとshipyardでcontainerを停止するには、以下のサンプルコードのようにX-Service-Keyにサービスキーを設定して/api/containers/<container-id>/stopにアクセスします。

サンプルコード
@Grab(group='org.apache.httpcomponents', module='httpclient', version='4.3.6')
import org.apache.http.client.methods.*
import org.apache.http.impl.client.*
import org.apache.http.message.*
import org.apache.http.auth.*
import org.apache.http.entity.*
import groovy.json.*

def host = "192.168.1.212" // replace this
def port = 8080
def serviceKey = "your-service-key"
def containerId = "your-container-id"

def httpclient = new DefaultHttpClient()
httpclient.withCloseable {

  def method = new HttpGet(
    "http://${host}:${port}/api/containers/${containerId}/stop"
  )
  method.setHeader("X-Service-Key", serviceKey)
  def response = httpclient.execute(method)
  println response.getStatusLine().getStatusCode()
}

関連情報

2015年1月31日土曜日

groovyとshipyardでengineを作成する

groovyとshipyardでengineを作成する groovyとshipyardでengineを作成するには、以下のサンプルコードのようにX-Service-Keyにサービスキーを設定して/api/enginesにPOSTします。

サンプルコード
@Grab(group='org.apache.httpcomponents', module='httpclient', version='4.3.6')
import org.apache.http.client.methods.*
import org.apache.http.impl.client.*
import org.apache.http.message.*
import org.apache.http.auth.*
import org.apache.http.entity.*
import groovy.json.*

def host = "192.168.1.212" // replace this
def port = 8080
def serviceKey = "your-service-key"
def id = "test_engine"

def httpclient = new DefaultHttpClient()
httpclient.withCloseable {

  def method = new HttpPost(
    "http://${host}:${port}/api/engines"
  )
  method.setHeader("X-Service-Key", serviceKey)
  def json = new JsonBuilder()
  json (
    "ssl_cert": "",
    "ssl_key": "",
    "ca_cert": "",
    engine:[
      "id":id,
      "cpus": 1.0,
      "memory": 1024.0,
      "addr":"http://docker-host:4243",
      "labels":["default"]
    ]
  )
  method.setHeader("Content-Type", "application/json; charset=utf-8")
  method.setEntity(new StringEntity(json.toString(), "UTF-8"))
  def response = httpclient.execute(method)
  println response.getStatusLine().getStatusCode()
  println response.getEntity().getContent().text
}

関連情報

2015年1月24日土曜日

groovyとshipyardでengineを削除する

groovyとshipyardでengineを削除するには、以下のサンプルコードのようにX-Service-Keyにサービスキーを設定してDELETEします。

サンプルコード
@Grab(group='org.apache.httpcomponents', module='httpclient', version='4.3.6')
import org.apache.http.client.methods.*
import org.apache.http.impl.client.*
import org.apache.http.message.*
import org.apache.http.auth.*
import org.apache.http.entity.*
import groovy.json.*

def host = "192.168.1.212" // replace this
def port = 8080
def serviceKey = "your-service-key"
def engineId = "your-engine-id"

def httpclient = new DefaultHttpClient()
httpclient.withCloseable {

  def method = new HttpDelete(
    "http://${host}:${port}/api/engines/${engineId}"
  )
  method.setHeader("X-Service-Key", serviceKey)
  def response = httpclient.execute(method)
  println response.getStatusLine().getStatusCode()
}


関連情報

2015年1月17日土曜日

groovyとshipyardでengineを一覧表示する

groovyとshipyardでengineを一覧表示するには、以下のサンプルコードのようにX-Service-Keyにサービスキーを設定して/api/enginesにアクセスします。

サンプルコード
@Grab(group='org.apache.httpcomponents', module='httpclient', version='4.3.6')
import org.apache.http.client.methods.*
import org.apache.http.impl.client.*
import org.apache.http.message.*
import org.apache.http.auth.*
import org.apache.http.entity.*
import groovy.json.*

def host = "192.168.1.212" // replace this
def port = 8080
def serviceKey = "your-service-key"

def httpclient = new DefaultHttpClient()
httpclient.withCloseable {

  def method = new HttpGet(
    "http://${host}:${port}/api/engines"
  )
  method.setHeader("X-Service-Key", serviceKey)
  def response = httpclient.execute(method)
  println response.getStatusLine().getStatusCode()
  def rjson = new JsonSlurper().parseText(response.getEntity().getContent().text)
println rjson

  rjson.each {
    println "id:${it.engine.id}, addr:${it.engine.addr}, status:${it.health.status}"
  }

}

関連情報

2015年1月10日土曜日

groovyとshipyardでaccountを削除する

groovyとshipyardでaccountを削除するには、以下のサンプルコードのようにDELETEを実行します。

サンプルコード
@Grab(group='org.apache.httpcomponents', module='httpclient', version='4.3.6')
import org.apache.http.client.methods.*
import org.apache.http.impl.client.*
import org.apache.http.message.*
import org.apache.http.auth.*
import org.apache.http.entity.*
import groovy.json.*

def host = "192.168.1.212" // replace this
def port = 8080
def serviceKey = "your-service-key"

class HttpDeleteEx extends HttpPost
{
  public String getMethod()
  {
    return "DELETE"
  }

  public HttpDeleteEx(String uri)
  {
    super(uri)
  }
}

def httpclient = new DefaultHttpClient()
httpclient.withCloseable {

  def method = new HttpDeleteEx(
    "http://${host}:${port}/api/accounts"
  )
  method.setHeader("X-Service-Key", serviceKey)
  def json = new JsonBuilder()
  json (
    "username":"test1"
  )
  method.setHeader("Content-Type", "application/json; charset=utf-8")
  method.setEntity(new StringEntity(json.toString(), "UTF-8"))
  def response = httpclient.execute(method)
  println response.getStatusLine().getStatusCode()
}

関連情報

2015年1月3日土曜日

groovyとshipyardでaccountを一覧表示する

groovyとshipyardでaccountを一覧表示するには、以下のサンプルコードのようにX-Service-Keyヘッダにサービスキーを設定して/api/accountsにアクセスします。

サンプルコード
@Grab(group='org.apache.httpcomponents', module='httpclient', version='4.3.6')
import org.apache.http.client.methods.*
import org.apache.http.impl.client.*
import org.apache.http.message.*
import org.apache.http.auth.*
import org.apache.http.entity.*
import groovy.json.*

def host = "192.168.1.212" // replace this
def port = 8080
def serviceKey = "your-service-key"

def httpclient = new DefaultHttpClient()
httpclient.withCloseable {

  def method = new HttpGet(
    "http://${host}:${port}/api/accounts"
  )
  method.setHeader("X-Service-Key", serviceKey)
  def response = httpclient.execute(method)
  println response.getStatusLine().getStatusCode()
  def rjson = new JsonSlurper().parseText(response.getEntity().getContent().text)
println rjson

  rjson.each {
    println "username:${it.username}"
    it.role.each { role ->
      println "role:${role}"
    }
  }

}

関連情報

2014年12月27日土曜日

groovyとshipyardでaccountを作成する

groovyとshipyardでaccountを作成する groovyとshipyardでaccountを作成するには、以下のサンプルコードのようにX-Service-Keyにサービスキーを設定して/api/accountsにPOSTします。

サンプルコード
@Grab(group='org.apache.httpcomponents', module='httpclient', version='4.3.6')
import org.apache.http.client.methods.*
import org.apache.http.impl.client.*
import org.apache.http.message.*
import org.apache.http.auth.*
import org.apache.http.entity.*
import groovy.json.*

def host = "192.168.1.212" // replace this
def port = 8080
def serviceKey = "your-service-key"

def httpclient = new DefaultHttpClient()
httpclient.withCloseable {

  def method = new HttpPost(
    "http://${host}:${port}/api/accounts"
  )
  method.setHeader("X-Service-Key", serviceKey)
  def json = new JsonBuilder()
  json (
    "username":"test1",
    "password":"test1",
    "role": [
       "name":"admin"
    ]
  )
  method.setHeader("Content-Type", "application/json; charset=utf-8")
  method.setEntity(new StringEntity(json.toString(), "UTF-8"))
  def response = httpclient.execute(method)
  println response.getStatusLine().getStatusCode()
}

関連情報

2014年12月20日土曜日

groovyとshipyardでcontainerを一覧表示する

groovyとshipyardでcontainerを一覧表示するには、以下のサンプルコードのようにX-Service-Keyにサービスキーを設定して/api/containersにアクセスします。

サンプルコード
@Grab(group='org.apache.httpcomponents', module='httpclient', version='4.3.6')
import org.apache.http.client.methods.*
import org.apache.http.impl.client.*
import org.apache.http.message.*
import org.apache.http.auth.*
import org.apache.http.entity.*
import groovy.json.*

def host = "192.168.1.212" // replace this
def port = 8080
def serviceKey = "your-service-key"

def httpclient = new DefaultHttpClient()
httpclient.withCloseable {

  def method = new HttpGet(
    "http://${host}:${port}/api/containers"
  )
  method.setHeader("X-Service-Key", serviceKey)
  def response = httpclient.execute(method)
  println response.getStatusLine().getStatusCode()
  def rjson = new JsonSlurper().parseText(response.getEntity().getContent().text)
  rjson.each {
    print "id:${it.id}, container name:${it.name}, "
    println "image name:${it.image.name}, running:${it.state}"
  }
}

関連情報

2014年12月13日土曜日

groovyとshipyardでservice keyを取得する

groovyとshipyardでservice keyを取得するには、以下のサンプルコードのようにloginを実施してからservicekeysでservice keyを取得します。

サンプルコード
@Grab(group='org.apache.httpcomponents', module='httpclient', version='4.3.6')
import org.apache.http.client.methods.*
import org.apache.http.impl.client.*
import org.apache.http.message.*
import org.apache.http.auth.*
import org.apache.http.entity.*
import groovy.json.*

def host = "192.168.1.212" // replace this
def port = 8080
def authToken

def httpclient = new DefaultHttpClient()
httpclient.withCloseable {

  def method = new HttpPost(
    "http://${host}:${port}/auth/login"
  )
  def json = new JsonBuilder()
  json (
    "username":"admin", "password":"shipyard"
  )
  method.setHeader("Content-Type", "application/json; charset=utf-8")
  method.setEntity(new StringEntity(json.toString(), "UTF-8"))
  def response = httpclient.execute(method)
  println response.getStatusLine().getStatusCode()
  def rjson = new JsonSlurper().parseText(response.getEntity().getContent().text)
  authToken = rjson.auth_token
  println "auth token:${authToken}"

  def method2 = new HttpPost(
    "http://${host}:${port}/api/servicekeys"
  )
  def json2 = new JsonBuilder()
  json2 (
    description:"test key"
  )
  method2.setHeader("Content-Type", "application/json; charset=utf-8")
  method2.setHeader("X-Access-Token", "admin:" + authToken)
  method2.setEntity(new StringEntity(json2.toString(), "UTF-8"))

  def response2 = httpclient.execute(method2)
  println response2.getStatusLine().getStatusCode()
  def rjson2 = new JsonSlurper().parseText(response2.getEntity().getContent().text)
  println "service key:${rjson2.key}"

}