AppRun専有型 API (1.0.0)

Download OpenAPI specification:Download


「AppRun専有型」が提供するAPIの利用方法とサンプルを公開しております。

基本的な使い方

APIキーの発行

APIを利用するためには、認証のための「APIキー」が必要です。事前にキーを発行しておきます。
APIキーは「ユーザーID」「パスワード」に相当する「トークン」と呼ばれる認証情報で構成されています。

項目名 APIキー発行時の項目名 このドキュメント内での例
ユーザーID アクセストークン(UUID) 01234567-89ab-cdef-0123-456789abcdef
パスワード アクセストークンシークレット SAMPLETOKENSAMPLETOKENSAMPLETOKENSAM

application

新しいアプリケーションの作成

指定したクラスタに新しいアプリケーションを作成します。1アカウントにつき最大10個まで作成可能です。

Authorizations:
BasicAuth
Request Body schema: application/json
name
required
string [ 1 .. 20 ] characters ^[a-zA-Z0-9_-]+$

アプリケーションの名前。クラスタの中ではユニーク。英数字とハイフン、アンダースコアのみ使用可能

clusterID
required
string <uuid>

デプロイ先クラスタ

Responses

Request samples

Content type
application/json
{
  • "name": "bbs",
  • "clusterID": "13B9EA83-DDB0-4385-9533-3D693A6A310F"
}

Response samples

Content type
application/json
{
  • "application": {
    }
}

アカウント内のアプリケーション一覧の取得

指定したアカウントに紐づくアプリケーションの一覧を返します。

Authorizations:
BasicAuth
query Parameters
clusterID
string <uuid> (ClusterID)
Example: clusterID=13B9EA83-DDB0-4385-9533-3D693A6A310F
cursor
string

前ページの最後のID。これ以降のデータを取得するためのカーソル。ページネーションに利用します。

maxItems
required
integer <int64> [ 1 .. 30 ]
Default: 20

1ページあたりの最大取得件数。

Responses

Response samples

Content type
application/json
{
  • "applications": [
    ]
}

アプリケーションの詳細情報を取得する

指定したアプリケーションIDの詳細情報を返します。

Authorizations:
BasicAuth
path Parameters
applicationID
required
string <uuid> (ApplicationID)

Responses

Response samples

Content type
application/json
{
  • "application": {
    }
}

アプリケーション情報の更新

アプリケーションのactiveVersionなどを更新します。クラスタの変更はできません。activeVersionを変更すると指定したバージョンがデプロイされます。activeVersionをnullにするとアプリケーションは非アクティブ状態になり、デプロイされなくなります。アプリケーション削除前には activeVersion を null にする必要があります。

Authorizations:
BasicAuth
path Parameters
applicationID
required
string <uuid> (ApplicationID)
Request Body schema: application/json
activeVersion
required
integer or null <int32>

利用しているバージョン

Responses

Request samples

Content type
application/json
{
  • "activeVersion": 3
}

Response samples

Content type
application/json
{
  • "status": 0,
  • "title": "string"
}

アプリケーションの削除

指定したアプリケーションを削除します。

前提条件

  • 当該アプリケーションに アクティブなバージョンが存在しない こと
  • いずれのワーカーノードでも当該アプリケーションの コンテナが稼働していない こと
Authorizations:
BasicAuth
path Parameters
applicationID
required
string <uuid> (ApplicationID)

Responses

Response samples

Content type
application/json
{
  • "status": 0,
  • "title": "string"
}

アプリケーションのノードごとのコンテナ配置情報を取得

指定したアプリケーションの各ワーカーノード上でのコンテナ配置情報を返します。

Authorizations:
BasicAuth
path Parameters
applicationID
required
string <uuid> (ApplicationID)

Responses

Response samples

Content type
application/json
{
  • "nodes": [
    ]
}

application_version

アプリケーションバージョンの作成

アプリケーションバージョンを作成します。アプリケーションバージョンを作成するだけではノードにデプロイされません。アプリケーションのアクティブバージョンに指定するとノードにデプロイされます。

Authorizations:
BasicAuth
path Parameters
applicationID
required
string <uuid> (ApplicationID)
Request Body schema: application/json
cpu
required
integer <int64> [ 100 .. 64000 ]
memory
required
integer <int64> [ 128 .. 131072 ]
scalingMode
required
string (ScalingMode)
Enum: "manual" "cpu"
fixedScale
integer <int32> [ 1 .. 50 ]
minScale
integer <int32> [ 1 .. 50 ]
maxScale
integer <int32> [ 1 .. 50 ]
scaleInThreshold
integer <int32> [ 30 .. 70 ]
scaleOutThreshold
integer <int32> [ 50 .. 99 ]
image
required
string <= 512 characters
cmd
Array of strings <= 20 items

コンテナ起動時に実行するコマンドと引数

registryUsername
required
string or null <= 255 characters
registryPassword
required
string or null <= 255 characters
registryPasswordAction
required
string
Enum: "keep" "remove" "new"

レジストリパスワードの設定方法

required
Array of objects (ExposedPort) <= 5 items

アプリケーションが公開するポート番号。同一クラスタ内で、ポートの重複不可。

required
Array of objects (CreateEnvironmentVariable) <= 50 items

環境変数

Responses

Request samples

Content type
application/json
{
  • "cpu": 500,
  • "memory": 1000,
  • "scalingMode": "manual",
  • "fixedScale": 1,
  • "minScale": 1,
  • "maxScale": 3,
  • "scaleInThreshold": 30,
  • "scaleOutThreshold": 95,
  • "image": "nginx:latest",
  • "cmd": [
    ],
  • "registryUsername": "string",
  • "registryPassword": "string",
  • "registryPasswordAction": "keep",
  • "exposedPorts": [
    ],
  • "env": [
    ]
}

Response samples

Content type
application/json
{
  • "applicationVersion": {
    }
}

アプリケーションバージョン一覧の取得

指定されたアプリケーションのバージョン一覧取得

Authorizations:
BasicAuth
path Parameters
applicationID
required
string <uuid> (ApplicationID)
query Parameters
cursor
integer <int32> (ApplicationVersionNumber) >= 1
Example: cursor=3

前ページの最後のID。これ以降のデータを取得するためのカーソル。

maxItems
required
integer <int64> [ 1 .. 30 ]
Default: 30

Responses

Response samples

Content type
application/json
{
  • "versions": [
    ]
}

アプリケーションバージョンの削除

現在ノードにデプロイされているバージョンおよびアクティブなバージョンは削除出来ない。

Authorizations:
BasicAuth
path Parameters
applicationID
required
string <uuid> (ApplicationID)
version
required
integer <int32> (ApplicationVersionNumber) >= 1
Example: 3

Responses

Response samples

Content type
application/json
{
  • "status": 0,
  • "title": "string"
}

アプリケーションバージョンの詳細取得

指定されたバージョンの詳細取得

Authorizations:
BasicAuth
path Parameters
applicationID
required
string <uuid> (ApplicationID)
version
required
integer <int32> (ApplicationVersionNumber) >= 1
Example: 3

Responses

Response samples

Content type
application/json
{
  • "applicationVersion": {
    }
}

certificate

証明書の作成

新しい証明書を作成します。

Authorizations:
BasicAuth
path Parameters
clusterID
required
string <uuid> (ClusterID)
Example: 13B9EA83-DDB0-4385-9533-3D693A6A310F
Request Body schema: application/json
name
required
string [ 1 .. 20 ] characters ^[a-zA-Z0-9_.-]+$

証明書の名前。クラスタ内でユニーク。英数字、アンダースコア、ハイフン、ドットのみ使用可能

certificatePem
required
string <= 1000000 characters

証明書のPEM形式の文字列

privatekeyPem
required
string <= 1000000 characters

証明書の秘密鍵のPEM形式の文字列

intermediateCertificatePem
string <= 1000000 characters

証明書のチェーン証明書のPEM形式の文字列

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "certificatePem": "string",
  • "privatekeyPem": "string",
  • "intermediateCertificatePem": "string"
}

Response samples

Content type
application/json
{
  • "certificate": {
    }
}

証明書の一覧を取得

クラスタ内の証明書一覧を返します。ページネーションに対応します。

Authorizations:
BasicAuth
path Parameters
clusterID
required
string <uuid> (ClusterID)
Example: 13B9EA83-DDB0-4385-9533-3D693A6A310F
query Parameters
lastCertificateID
string <uuid> (CertificateID)
Example: lastCertificateID=13B9EA83-DDB0-4385-9533-3D693A6A310F
cursor
string <uuid> (CertificateID)
Example: cursor=13B9EA83-DDB0-4385-9533-3D693A6A310F

前ページの最後のID。これ以降のデータを取得するためのカーソル。

maxItems
required
integer <int64> [ 5 .. 30 ]
Default: 20

Responses

Response samples

Content type
application/json
{
  • "certificates": [
    ]
}

証明書の詳細を取得

指定した証明書の詳細情報を返します。

Authorizations:
BasicAuth
path Parameters
clusterID
required
string <uuid> (ClusterID)
Example: 13B9EA83-DDB0-4385-9533-3D693A6A310F
certificateID
required
string <uuid> (CertificateID)
Example: 13B9EA83-DDB0-4385-9533-3D693A6A310F

Responses

Response samples

Content type
application/json
{
  • "certificate": {
    }
}

証明書の削除

指定した証明書を削除します。

Authorizations:
BasicAuth
path Parameters
clusterID
required
string <uuid> (ClusterID)
Example: 13B9EA83-DDB0-4385-9533-3D693A6A310F
certificateID
required
string <uuid> (CertificateID)
Example: 13B9EA83-DDB0-4385-9533-3D693A6A310F

Responses

Response samples

Content type
application/json
{
  • "status": 0,
  • "title": "string"
}

証明書の更新

指定した証明書を更新します。

Authorizations:
BasicAuth
path Parameters
clusterID
required
string <uuid> (ClusterID)
Example: 13B9EA83-DDB0-4385-9533-3D693A6A310F
certificateID
required
string <uuid> (CertificateID)
Example: 13B9EA83-DDB0-4385-9533-3D693A6A310F
Request Body schema: application/json
name
required
string [ 1 .. 20 ] characters ^[a-zA-Z0-9_.-]+$

証明書の名前。クラスタ内でユニーク。英数字、アンダースコア、ハイフン、ドットのみ使用可能

certificatePem
required
string <= 1000000 characters

証明書のPEM形式の文字列

privatekeyPem
required
string <= 1000000 characters

証明書の秘密鍵のPEM形式の文字列

intermediateCertificatePem
string <= 1000000 characters

証明書のチェーン証明書のPEM形式の文字列

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "certificatePem": "string",
  • "privatekeyPem": "string",
  • "intermediateCertificatePem": "string"
}

Response samples

Content type
application/json
{
  • "status": 0,
  • "title": "string"
}

cluster

クラスタの作成

新しいクラスタを作成します。作成後にクラスタIDを返します。

Authorizations:
BasicAuth
Request Body schema: application/json
name
required
string [ 1 .. 20 ] characters ^[a-zA-Z0-9_-]+$

クラスターの名前。プロジェクト内でユニーク。英数字、アンダースコア、ハイフンのみ使用可能

letsEncryptEmail
string (let's encrypt のメールアドレス) ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2...

let's encrypt による証明書発行を有効にするにはここにメールアドレスを設定します。 let's encrypt による証明書発行は HTTP-01 Challenge になるため、80 番ポートを HTTP Protocol で外向きに解放する必要があります。

required
Array of objects (CreateLoadBalancerPort) <= 5 items

ロードバランサーのポート群

servicePrincipalID
required
string = 12 characters

サービスプリンシパルのID

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "letsEncryptEmail": "string",
  • "ports": [
    ],
  • "servicePrincipalID": "123456789012"
}

Response samples

Content type
application/json
{
  • "cluster": {
    }
}

クラスタの一覧の取得

アカウントに紐づくクラスタの一覧を返します。ページネーションに対応します。

Authorizations:
BasicAuth
query Parameters
lastClusterID
string <uuid> (ClusterID)
Example: lastClusterID=13B9EA83-DDB0-4385-9533-3D693A6A310F
cursor
string <uuid> (ClusterID)
Example: cursor=13B9EA83-DDB0-4385-9533-3D693A6A310F

前ページの最後のID。これ以降のデータを取得するためのカーソル。

maxItems
required
integer <int64> [ 5 .. 30 ]
Default: 20

Responses

Response samples

Content type
application/json
{
  • "clusters": [
    ]
}

クラスタの詳細の取得

指定したクラスタの詳細情報を返します。

Authorizations:
BasicAuth
path Parameters
clusterID
required
string <uuid> (ClusterID)
Example: 13B9EA83-DDB0-4385-9533-3D693A6A310F

Responses

Response samples

Content type
application/json
{
  • "cluster": {
    }
}

クラスタの削除

指定したクラスタを削除します。

Authorizations:
BasicAuth
path Parameters
clusterID
required
string <uuid> (ClusterID)
Example: 13B9EA83-DDB0-4385-9533-3D693A6A310F

Responses

Response samples

Content type
application/json
{
  • "status": 0,
  • "title": "string"
}

クラスタの更新

指定したクラスタの設定を更新します。

Authorizations:
BasicAuth
path Parameters
clusterID
required
string <uuid> (ClusterID)
Example: 13B9EA83-DDB0-4385-9533-3D693A6A310F
Request Body schema: application/json
letsEncryptEmail
string (let's encrypt のメールアドレス) ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2...

let's encrypt による証明書発行を有効にするにはここにメールアドレスを設定します。 let's encrypt による証明書発行は HTTP-01 Challenge になるため、80 番ポートを HTTP Protocol で外向きに解放する必要があります。

servicePrincipalID
required
string

サービスプリンシパルのID

Responses

Request samples

Content type
application/json
{
  • "letsEncryptEmail": "string",
  • "servicePrincipalID": "123456789012"
}

Response samples

Content type
application/json
{
  • "status": 0,
  • "title": "string"
}

Auto Scaling Groupの作成

新しい Auto Scaling Group を作成します。

Authorizations:
BasicAuth
path Parameters
clusterID
required
string <uuid> (ClusterID)
Example: 13B9EA83-DDB0-4385-9533-3D693A6A310F
Request Body schema: application/json
name
required
string [ 1 .. 20 ] characters ^[a-zA-Z0-9_-]+$

オートスケーリンググループの名前。クラスタ内でユニーク。英数字とアンダースコア、ハイフンのみ使用可能

zone
required
string

オートスケーリンググループのゾーン

nameServers
Array of strings (IPv4) [ 1 .. 3 ] items

ネームサーバー設定

workerServiceClassPath
required
string [ 1 .. 255 ] characters

ワーカーのサービスクラスパス

minNodes
required
integer <int32> [ 1 .. 10 ]

オートスケーリンググループの最小ノード数

maxNodes
required
integer <int32> [ 1 .. 10 ]

オートスケーリンググループの最大ノード数

required
Array of objects (ネットワークインターフェース定義) [ 1 .. 5 ] items

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "zone": "string",
  • "nameServers": [
    ],
  • "workerServiceClassPath": "string",
  • "minNodes": 1,
  • "maxNodes": 1,
  • "interfaces": [
    ]
}

Response samples

Content type
application/json
{
  • "autoScalingGroup": {
    }
}

Auto Scaling Groupの一覧を取得

クラスタに所属する Auto Scaling Group の一覧を返します。ページネーションに対応します。

Authorizations:
BasicAuth
path Parameters
clusterID
required
string <uuid> (ClusterID)
Example: 13B9EA83-DDB0-4385-9533-3D693A6A310F
query Parameters
lastAutoScalingGroupID
string <uuid> (AutoScalingGroupID)
cursor
string <uuid> (AutoScalingGroupID)

前ページの最後のID。これ以降のデータを取得するためのカーソル。

maxItems
required
integer <int64> [ 1 .. 30 ]
Default: 20

Responses

Response samples

Content type
application/json
{
  • "autoScalingGroups": [
    ]
}

Auto Scaling Groupの詳細を取得

指定した Auto Scaling Group の詳細情報を返します。

Authorizations:
BasicAuth
path Parameters
clusterID
required
string <uuid> (ClusterID)
Example: 13B9EA83-DDB0-4385-9533-3D693A6A310F
autoScalingGroupID
required
string <uuid> (AutoScalingGroupID)

Responses

Response samples

Content type
application/json
{
  • "autoScalingGroup": {
    }
}

Auto Scaling Groupの削除

指定した Auto Scaling Group を削除します。

Authorizations:
BasicAuth
path Parameters
clusterID
required
string <uuid> (ClusterID)
Example: 13B9EA83-DDB0-4385-9533-3D693A6A310F
autoScalingGroupID
required
string <uuid> (AutoScalingGroupID)

Responses

Response samples

Content type
application/json
{
  • "status": 0,
  • "title": "string"
}

ロードバランサーの作成

指定したAuto Scaling Groupにロードバランサーを作成します。

Authorizations:
BasicAuth
path Parameters
clusterID
required
string <uuid> (ClusterID)
Example: 13B9EA83-DDB0-4385-9533-3D693A6A310F
autoScalingGroupID
required
string <uuid> (AutoScalingGroupID)
Request Body schema: application/json
name
required
string [ 1 .. 20 ] characters ^[a-zA-Z0-9_-]+$

名称

serviceClassPath
required
string [ 1 .. 255 ] characters

ロードバランサーのサービスクラスパス

nameServers
Array of strings (IPv4) [ 1 .. 3 ] items

ネームサーバー設定

required
Array of objects (LoadBalancerInterface) [ 1 .. 5 ] items

ロードバランサーのインターフェース

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "serviceClassPath": "string",
  • "nameServers": [
    ],
  • "interfaces": [
    ]
}

Response samples

Content type
application/json
{
  • "loadBalancer": {
    }
}

ロードバランサーの一覧を取得

Auto Scaling Group に属するロードバランサーの一覧を返します。ページネーションに対応します。

Authorizations:
BasicAuth
path Parameters
clusterID
required
string <uuid> (ClusterID)
Example: 13B9EA83-DDB0-4385-9533-3D693A6A310F
autoScalingGroupID
required
string <uuid> (AutoScalingGroupID)
query Parameters
cursor
string <uuid> (LoadBalancerID)
maxItems
required
integer <int64> [ 2 .. 30 ]
Default: 20

Responses

Response samples

Content type
application/json
{
  • "loadBalancers": [
    ]
}

ロードバランサーの詳細を取得

指定したロードバランサーの詳細情報を返します。

Authorizations:
BasicAuth
path Parameters
clusterID
required
string <uuid> (ClusterID)
Example: 13B9EA83-DDB0-4385-9533-3D693A6A310F
autoScalingGroupID
required
string <uuid> (AutoScalingGroupID)
loadBalancerID
required
string <uuid> (LoadBalancerID)

Responses

Response samples

Content type
application/json
{
  • "loadBalancer": {
    }
}

ロードバランサーを削除する

指定したロードバランサーを削除します。

Authorizations:
BasicAuth
path Parameters
clusterID
required
string <uuid> (ClusterID)
Example: 13B9EA83-DDB0-4385-9533-3D693A6A310F
autoScalingGroupID
required
string <uuid> (AutoScalingGroupID)
loadBalancerID
required
string <uuid> (LoadBalancerID)

Responses

Response samples

Content type
application/json
{
  • "status": 0,
  • "title": "string"
}

ロードバランサーノードの一覧を取得

指定したロードバランサーに属するノードの一覧を返します。

Authorizations:
BasicAuth
path Parameters
clusterID
required
string <uuid> (ClusterID)
Example: 13B9EA83-DDB0-4385-9533-3D693A6A310F
autoScalingGroupID
required
string <uuid> (AutoScalingGroupID)
loadBalancerID
required
string <uuid> (LoadBalancerID)
query Parameters
cursor
string <uuid> (LoadBalancerID)
maxItems
required
integer <int64> [ 2 .. 30 ]
Default: 20

Responses

Response samples

Content type
application/json
{
  • "loadBalancerNodes": [
    ]
}

ロードバランサーノードの詳細情報を取得

指定したロードバランサーノードの詳細情報を返します。

Authorizations:
BasicAuth
path Parameters
clusterID
required
string <uuid> (ClusterID)
Example: 13B9EA83-DDB0-4385-9533-3D693A6A310F
autoScalingGroupID
required
string <uuid> (AutoScalingGroupID)
loadBalancerID
required
string <uuid> (LoadBalancerID)
loadBalancerNodeID
required
string <uuid> (LoadBalancerNodeID)

Responses

Response samples

Content type
application/json
{
  • "loadBalancerNode": {
    }
}

Auto Scaling Group に所属するワーカーノード一覧を取得

Auto Scaling Group に所属するワーカーノードの一覧を返します。ページネーションに対応します。

Authorizations:
BasicAuth
path Parameters
clusterID
required
string <uuid> (ClusterID)
Example: 13B9EA83-DDB0-4385-9533-3D693A6A310F
autoScalingGroupID
required
string <uuid> (AutoScalingGroupID)
query Parameters
cursor
string <uuid> (WorkerNodeID)
maxItems
required
integer <int64> [ 2 .. 100 ]
Default: 20

Responses

Response samples

Content type
application/json
{
  • "workerNodes": [
    ]
}

Auto Scaling Group に所属するワーカーノードの詳細を取得

指定したワーカーノードの詳細情報を返します。

Authorizations:
BasicAuth
path Parameters
clusterID
required
string <uuid> (ClusterID)
Example: 13B9EA83-DDB0-4385-9533-3D693A6A310F
autoScalingGroupID
required
string <uuid> (AutoScalingGroupID)
workerNodeID
required
string <uuid> (WorkerNodeID)

Responses

Response samples

Content type
application/json
{
  • "workerNode": {
    }
}

ワーカーノードのdraining状態を変更する

指定したワーカーノードのdraining状態を更新します(draining を有効/無効にします)。

Authorizations:
BasicAuth
path Parameters
clusterID
required
string <uuid> (ClusterID)
Example: 13B9EA83-DDB0-4385-9533-3D693A6A310F
autoScalingGroupID
required
string <uuid> (AutoScalingGroupID)
workerNodeID
required
string <uuid> (WorkerNodeID)
Request Body schema: application/json
draining
required
boolean

draining状態にするかどうか

Responses

Request samples

Content type
application/json
{
  • "draining": true
}

Response samples

Content type
application/json
{
  • "status": 0,
  • "title": "string"
}

service_class

ロードバランササービスクラス一覧

ロードバランサ用のサービスクラス一覧を返します。

Authorizations:
BasicAuth

Responses

Response samples

Content type
application/json
{
  • "lbServiceClasses": [
    ]
}

ワーカノードサービスクラス一覧

ワーカーノード用のサービスクラス一覧を返します。

Authorizations:
BasicAuth

Responses

Response samples

Content type
application/json
{
  • "workerServiceClasses": [
    ]
}