ワークロードとテンプレートを構成するためのAPIを記述します。 APIを使用するにはAPIエンドポイントとトークンが必要です。APIの呼び出しおよび認証を参照して、API使用のためのトークンを準備してください。
APIエンドポイントは次のとおりです。
リージョン | ドメイン |
---|---|
韓国(パンギョ)リージョン | https://kr1-ncs.api.nhncloudservice.com |
すべてのAPIリクエストに 200 OKでレスポンスします。詳細なレスポンス結果はレスポンス本文ヘッダを参照してください。
名前 | 種類 | 形式 | 説明 |
---|---|---|---|
header | Body | Object | APIレスポンス情報 |
header.isSuccessful | Body | Boolean | true:正常 false:エラー |
header.resultCode | Body | Integer | 200:正常 10000以上:エラー |
header.resultMessage | Body | String | "SUCCESS":正常 その他:エラー原因メッセージ |
{
"header": {
"isSuccessful": true,
"resultCode": 200,
"resultMessage": "SUCCESS"
}
}
[注意] APIレスポンスにガイドに記載されていないフィールドが表示される場合があります。このようなフィールドはNHN Cloud内部用途で使用され、予告なしに変更される可能性があるため、使用しないでください。
テンプレートリストを照会します。
GET /ncs/v1.0/appkeys/{appKey}/templates
x-nhn-authorization: {token}
このAPIはリクエスト本文を要求しません。
名前 | 種類 | 形式 | 必須 | 説明 |
---|---|---|---|---|
appKey | URL | String | O | サービスAppkey |
token | Header | String | O | NHN Cloud Token ({token_type} {access_token}) |
page | Query | Integer | X | 照会するページ番号 |
size | Query | Integer | X | 照会するページサイズ(default: 10) |
disable_containers | Query | Boolean | X | true:コンテナは除外して照会 false:コンテナも含めて照会(default) |
名前 | 種類 | 形式 | 必須 | 説明 |
---|---|---|---|---|
X-Total-Count | Header | Integer | O | Appkeyに作成されているテンプレートの全体数 |
templates | Body | Array | O | テンプレートリスト |
templates.id | Body | UUID | O | テンプレートID |
templates.version | Body | String | O | テンプレートのバージョン |
templates.name | Body | String | O | テンプレート名 |
templates.createdAt | Body | String | O | 作成時間(UTC) |
templates.description | Body | String | X | テンプレートの説明 |
templates.versionDescription | Body | String | O | テンプレートバージョンの説明 |
templates.networks | Body | Array | O | テンプレートのネットワーク情報 |
templates.networks.vpcId | Body | String | O | テンプレートのVPC ID |
templates.networks.subnetId | Body | String | O | テンプレートのSubnet ID |
templates.dnsConfig | Body | String List | X | コンテナに設定されたDNS Server情報 |
templates.hostAliases | Body | List | X | コンテナ/etc/hosts に設定された情報 |
templates.hostAliases.ip | Body | String | O | コンテナに設定されたhostnamesのIP |
templates.hostAliases.hostnames | Body | String List | O | コンテナに設定されたIPのhostnames |
templates.versionCount | Body | Integer | O | テンプレートのバージョン数 |
templates.workloadCount | Body | Integer | O | テンプレートを使用中のワークロード数 |
templates.containers | Body | Array | O | テンプレートのコンテナリスト |
templates.containers.name | Body | String | O | コンテナ名 |
templates.containers.type | Body | String | O | コンテナタイプ * normal:一般 * init:初期化 |
templates.containers.image | Body | String | O | コンテナイメージ |
templates.containers.cpus | Body | Float | O | コンテナに割り当てるCPUの数 |
templates.containers.memoryLimit | Body | Object | O | コンテナに割り当てるメモリ情報 |
templates.containers.memoryLimit.hard | Body | Integer | O | コンテナに割り当てるメモリ(MiB) |
templates.containers.gpuFlavor | Body | String | X | GPU Flavor情報 * ncs1.g1m5 * ncs1.g2m10 |
templates.containers.ports | Body | Array | X | コンテナで使用するポート情報 |
templates.containers.ports.containerPort | Body | Integer | O | コンテナポート |
templates.containers.ports.protocol | Body | String | O | コンテナプロトコル * TCP * UDP * HTTP * HTTPS * TERMINATED_HTTPS |
templates.containers.command | Body | String List | X | コンテナが起動する時に実行されるコマンド |
templates.containers.args | Body | String List | X | コンテナが実行される時に使用される引数 |
templates.containers.workDirectory | Body | String | X | コンテナの作業ディレクトリ |
templates.containers.env | Body | Array | X | コンテナ環境変数 |
templates.containers.env.name | Body | String | O | コンテナ環境変数名 |
templates.containers.env.value | Body | String | O | コンテナ環境変数の値 |
templates.containers.postStart | Body | String List | X | コンテナ作成直後に実行されるコマンド |
templates.containers.preStop | Body | String List | X | コンテナが終了する直前に実行されるコマンド |
templates.containers.configs | Body | List | X | コンテナで使用するConfigMap情報 |
templates.containers.configs.id | Body | Integer | O | ConfigMap ID |
templates.containers.configs.type | Body | String | O | ConfigMap情報を取得するservice type obs: Object Storage |
templates.containers.configs.value | Body | String | O | オブジェクトURL |
templates.containers.configs.mountPath | Body | String | O | コンテナマウントパス |
templates.containers.secrets | Body | List | X | コンテナで使用するSecret情報 |
templates.containers.secrets.type | Body | String | O | Secret情報を取得するservice type skm: Secure Key Manager |
templates.containers.secrets.value | Body | String | O | キーID |
templates.containers.secrets.mountPath | Body | String | O | コンテナマウントパス |
templates.containers.volumes | Body | Array | X | コンテナで使用するNASストレージ情報 |
templates.containers.volumes.name | Body | String | O | ストレージ名 |
templates.containers.volumes.path | Body | String | O | NASストレージ接続パス |
templates.containers.volumes.mountPath | body | String | X | コンテナの接続パス |
templates.containers.probe | Body | List | X | コンテナProbeの設定 |
templates.containers.probe.type | Body | String | O | コンテナProbeタイプ * startup * liveness |
templates.containers.probe.failureThreshold | Body | Integer | O | Probeの失敗基準 |
templates.containers.probe.initialDelaySeconds | Body | Integer | O | Probeの開始待機時間 |
templates.containers.probe.periodSeconds | Body | Integer | O | Probeの実行間隔 |
templates.containers.probe.timeoutSeconds | Body | Integer | O | Probeの実行制限時間 |
templates.containers.probe.exec | Body | String List | O | Probeの実行コマンド |
templates.containers.stopTimeout | Body | Integer | X | 初期化コンテナ実行制限時間(秒) |
{
"header": {
"resultCode": 200,
"resultMessage": "SUCCESS",
"isSuccessful": true
},
"templates": [
{
"createdAt": "2024-10-24T05:43:26.029Z",
"updatedAt": "2024-10-24T05:43:26.029Z",
"id": "bf095f99-1547-48f4-b57d-1124e853f6e2",
"name": "nginx-template",
"namespace": "abd7f92e-3353-4b45-944c-510a97ef89c9",
"containers": [
{
"id": "51be9a5d-4737-4323-ae57-0ade225f4f4d",
"name": "nginx",
"image": "nginx:latest",
"imageRegistry": "other",
"imageRegistryType": "public",
"cpus": 0.25,
"memoryLimit": {
"hard": 256
},
"ports": [
{
"hostPort": 80,
"containerPort": 80,
"protocol": "TCP"
}
],
"restartCount": 0,
"type": "normal"
}
],
"networks": [
{
"vpcId": "aeeafe4e-287d-4dd4-b91a-294b87688457",
"subnetId": "abd7f92e-3353-4b45-944c-510a97ef89c9"
}
],
"dnsConfig": [
"223.255.201.241",
"211.50.32.6"
],
"versionCount": 2,
"version": "second",
"sourceVersion": "first"
},
{
"createdAt": "2024-10-24T05:44:25.292Z",
"updatedAt": "2024-10-24T05:44:25.292Z",
"id": "edfabd08-187b-4195-bed9-dad5d0b4d854",
"name": "ubuntu",
"namespace": "abd7f92e-3353-4b45-944c-510a97ef89c9",
"containers": [
{
"id": "aeb71431-01b9-4b4b-8f2d-326b7863d0a9",
"name": "ubuntu",
"image": "ubuntu:latest",
"imageRegistry": "other",
"imageRegistryType": "public",
"cpus": 1,
"memoryLimit": {
"hard": 256
},
"command": [
"bash",
"-c",
"sleep infinity"
],
"restartCount": 0,
"type": "normal"
}
],
"networks": [
{
"vpcId": "aeeafe4e-287d-4dd4-b91a-294b87688457",
"subnetId": "abd7f92e-3353-4b45-944c-510a97ef89c9"
}
],
"dnsConfig": [
"223.255.201.241",
"211.50.32.6"
],
"versionCount": 1,
"version": "1",
"versionDescription": "ubuntu test"
}
]
}
個別テンプレート情報を照会します。
GET /ncs/v1.0/appkeys/{appKey}/templates/{templateId}
x-nhn-authorization: {token}
このAPIはリクエスト本文を要求しません。
名前 | 種類 | 形式 | 必須 | 説明 |
---|---|---|---|---|
appKey | URL | String | O | サービスAppkey |
templateId | URL | String | O | テンプレートID |
token | Header | String | O | NHN Cloud Token ({token_type} {access_token}) |
名前 | 種類 | 形式 | 必須 | 説明 |
---|---|---|---|---|
template | Body | Object | O | テンプレート情報 |
template.id | Body | UUID | O | テンプレートID |
template.version | Body | String | O | テンプレートバージョン |
template.name | Body | String | O | テンプレート名 |
template.createdAt | Body | String | O | 作成時間(UTC) |
template.description | Body | String | X | テンプレートの説明 |
template.versionDescription | Body | String | X | テンプレートバージョンの説明 |
template.networks | Body | Array | O | テンプレートのネットワーク情報 |
template.networks.vpcId | Body | String | O | テンプレートのVPC ID |
template.networks.subnetId | Body | String | O | テンプレートのSubnet ID |
template.dnsConfig | Body | String List | X | コンテナに設定されたDNS Server情報 |
template.hostAliases | Body | List | X | コンテナ/etc/hosts に設定された情報 |
template.hostAliases.ip | Body | String | O | コンテナに設定されたhostnamesのIP |
template.hostAliases.hostnames | Body | String List | O | コンテナに設定されたIPのhostnames |
template.versionCount | Body | Integer | O | テンプレートのバージョン数 |
template.workloadCount | Body | Integer | O | テンプレートを使用中のワークロード数 |
template.containers | Body | Array | O | テンプレートのコンテナリスト |
template.containers.name | Body | String | O | コンテナ名 |
template.containers.type | Body | String | O | コンテナタイプ * normal:一般 * init:初期化 |
template.containers.image | Body | String | O | コンテナイメージ |
template.containers.cpus | Body | Float | O | コンテナに割り当てるCPUの数 |
template.containers.memoryLimit | Body | Object | O | コンテナに割り当てるメモリ情報 |
template.containers.memoryLimit.hard | Body | Integer | O | コンテナに割り当てるメモリ(MiB) |
template.containers.gpuFlavor | Body | String | X | GPU Flavor情報 * ncs1.g1m5 * ncs1.g2m10 |
template.containers.ports | Body | Array | X | コンテナで使用するポート情報 |
template.containers.ports.containerPort | Body | Integer | O | コンテナポート |
template.containers.ports.protocol | Body | String | O | コンテナプロトコル * TCP * UDP * HTTP * HTTPS * TERMINATED_HTTPS |
template.containers.command | Body | String List | X | コンテナが起動する時に実行されるコマンド |
template.containers.args | Body | String List | X | コンテナが起動する時に使用される引数 |
template.containers.workDirectory | Body | String | X | コンテナの作業ディレクトリ |
template.containers.env | Body | Array | X | コンテナ環境変数 |
template.containers.env.name | Body | String | O | コンテナ環境変数名 |
template.containers.env.value | Body | String | O | コンテナ環境変数の値 |
template.containers.postStart | Body | String List | X | コンテナ作成直後に実行されるコマンド |
template.containers.preStop | Body | String List | X | コンテナが終了する直前に実行されるコマンド |
template.containers.configs | Body | List | X | コンテナで使用するConfigMap情報 |
template.containers.configs.id | Body | Integer | O | ConfigMap ID |
template.containers.configs.type | Body | String | O | ConfigMap情報を取得するservice type obs: Object Storage |
template.containers.configs.value | Body | String | O | オブジェクトURL |
template.containers.configs.mountPath | Body | String | O | コンテナマウントパス |
template.containers.secrets | Body | List | X | コンテナで使用するSecret情報 |
template.containers.secrets.type | Body | String | O | Secret情報を取得するservice type skm: Secure Key Manager |
template.containers.secrets.value | Body | String | O | キーID |
template.containers.secrets.mountPath | Body | String | O | コンテナマウントパス |
template.containers.volumes | Body | Array | X | コンテナで使用するNASストレージ情報 |
template.containers.volumes.name | Body | String | O | ストレージ名 |
template.containers.volumes.path | Body | String | O | NASストレージ接続パス |
template.containers.volumes.mountPath | body | String | X | コンテナの接続パス |
template.containers.probe | Body | List | X | コンテナProbeの設定 |
template.containers.probe.type | Body | String | O | コンテナProbeタイプ * startup * liveness |
template.containers.probe.failureThreshold | Body | Integer | O | Probeの失敗基準 |
template.containers.probe.initialDelaySeconds | Body | Integer | O | Probeの開始待機時間 |
template.containers.probe.periodSeconds | Body | Integer | O | Probeの実行間隔 |
template.containers.probe.timeoutSeconds | Body | Integer | O | Probeの実行制限時間 |
template.containers.probe.exec | Body | String List | O | Probeの実行コマンド |
template.containers.stopTimeout | Body | Integer | X | 初期化コンテナ実行制限時間(秒) |
{
"header": {
"resultCode": 200,
"resultMessage": "SUCCESS",
"isSuccessful": true
},
"template": {
"createdAt": "2024-10-24T05:43:26.029Z",
"updatedAt": "2024-10-24T05:43:26.029Z",
"id": "bf095f99-1547-48f4-b57d-1124e853f6e2",
"name": "nginx-template",
"namespace": "abd7f92e-3353-4b45-944c-510a97ef89c9",
"containers": [
{
"id": "51be9a5d-4737-4323-ae57-0ade225f4f4d",
"name": "nginx",
"image": "nginx:latest",
"imageRegistry": "other",
"imageRegistryType": "public",
"cpus": 0.25,
"memoryLimit": {
"hard": 256
},
"ports": [
{
"hostPort": 80,
"containerPort": 80,
"protocol": "TCP"
}
],
"restartCount": 0,
"type": "normal"
}
],
"networks": [
{
"vpcId": "aeeafe4e-287d-4dd4-b91a-294b87688457",
"subnetId": "abd7f92e-3353-4b45-944c-510a97ef89c9"
}
],
"dnsConfig": [
"223.255.201.241",
"211.50.32.6"
],
"versionCount": 2,
"version": "second",
"sourceVersion": "first"
}
}
テンプレートを作成します。
POST /ncs/v1.0/appkeys/{appKey}/templates
Content-Type: application/json
x-nhn-authorization: {token}
名前 | 種類 | 形式 | 必須 | 説明 |
---|---|---|---|---|
appKey | URL | String | O | サービスAppkey |
token | Header | String | O | NHN Cloud Token ({token_type} {access_token}) |
template | Body | Array | O | テンプレート情報 |
template.name | Body | String | O | テンプレート名 |
template.version | Body | String | X | テンプレートバージョン |
template.description | Body | String | X | テンプレート説明 |
template.versionDescription | Body | String | X | テンプレートバージョン説明 |
template.networks | Body | Array | O | テンプレートのネットワーク情報 |
template.networks.vpcId | Body | String | O | テンプレートのVPC ID |
template.networks.subnetId | Body | String | O | テンプレートのSubnet ID |
template.dnsConfig | Body | String List | X | コンテナで使用するDNS Server情報(最大3個設定可能) |
template.hostAliases | Body | List | X | コンテナ/etc/hosts に設定する情報 |
template.hostAliases.ip | Body | String | O | hostnamesで使用するIP情報 |
template.hostAliases.hostnames | Body | String List | O | hostnamesで使用するhost情報 |
template.containers | Body | Array | O | テンプレートのコンテナリスト |
template.containers.name | Body | String | O | コンテナ名 |
template.containers.type | Body | String | X | コンテナタイプ(default: normal) * normal:一般 * init:初期化 |
template.containers.image | Body | String | O | コンテナイメージ |
template.containers.imageRegistryCredentials | Body | Object | X | Privateレジストリにアクセス可能な情報 |
template.containers.imageRegistryCredentials.username | Body | String | O | PrivateレジストリID |
template.containers.imageRegistryCredentials.password | Body | String | O | Privateレジストリパスワード |
template.containers.cpus | Body | Float | O | コンテナに割り当てるCPUの数 |
template.containers.memoryLimit | Body | Object | O | コンテナに割り当てるメモリ情報 |
template.containers.memoryLimit.hard | Body | Integer | O | コンテナに割り当てるメモリ(MiB) |
template.containers.gpuFlavor | Body | String | X | GPU Flavor情報 * ncs1.g1m5 * ncs1.g2m10 |
template.containers.ports | Body | Array | X | コンテナで使用するポート情報 |
template.containers.ports.containerPort | Body | Integer | O | コンテナポート |
template.containers.ports.protocol | Body | String | O | コンテナプロトコル * TCP * UDP * HTTP * HTTPS * TERMINATED_HTTPS |
template.containers.command | Body | String List | X | コンテナが起動する時に実行されるコマンド |
template.containers.args | Body | String List | X | コンテナが起動する時に使用される引数 |
template.containers.workDirectory | Body | String | X | コンテナの作業ディレクトリ |
template.containers.env | Body | Array | X | コンテナ環境変数 |
template.containers.env.name | Body | String | O | コンテナ環境変数名 |
template.containers.env.value | Body | String | O | コンテナ環境変数の値 |
template.containers.postStart | Body | String List | X | コンテナ作成直後に実行されるコマンド |
template.containers.preStop | Body | String List | X | コンテナが終了する直前に実行されるコマンド |
template.containers.configs | Body | List | X | コンテナで使用するConfigMap情報(最大10個) |
template.containers.configs.id | Body | Integer | O | ConfigMap ID |
template.containers.configs.type | Body | String | O | ConfigMap情報を取得するservice type obs: Object Storage |
template.containers.configs.appKey | Body | String | O | Object Storage AppKey |
template.containers.configs.userAccessKeyId | Body | String | O | Object StorageサービスにアクセスするユーザーのUser Access Key |
template.containers.configs.secretAccessKey | Body | String | O | Object StorageサービスにアクセスするユーザーのSecret Access Key |
template.containers.configs.value | Body | String | O | オブジェクトURL |
template.containers.configs.mountPath | Body | String | O | コンテナマウントパス |
template.containers.secrets | Body | List | X | コンテナで使用するSecret情報(最大10個) |
template.containers.secrets.type | Body | String | O | Secret情報を取得するservice type skm: Secure Key Manager |
template.containers.secrets.value | Body | String | O | キーID |
template.containers.secrets.mountPath | Body | String | O | コンテナマウントパス |
template.containers.volumes | Body | Array | X | コンテナで使用するNASストレージ情報 |
template.containers.volumes.name | Body | String | O | ストレージ名 |
template.containers.volumes.path | Body | String | O | NASストレージ接続パス |
template.containers.volumes.mountPath | body | String | X | コンテナの接続パス(default: /mnt) |
template.containers.probe | Body | List | X | コンテナProbeの設定 |
template.containers.probe.type | Body | String | O | コンテナProbeタイプ * startup * liveness |
template.containers.probe.failureThreshold | Body | Integer | O | Probeの失敗基準 |
template.containers.probe.initialDelaySeconds | Body | Integer | O | Probeの開始待機時間 |
template.containers.probe.periodSeconds | Body | Integer | O | Probeの実行間隔 timeoutSecondsより小さい値に設定する必要があります。 |
template.containers.probe.timeoutSeconds | Body | Integer | O | Probe実行制限時間 periodSecondsより大きい値に設定する必要があります。 |
template.containers.probe.exec | Body | String List | O | Probeの実行コマンド |
template.containers.stopTimeout | Body | Integer | X | 初期化コンテナ実行制限時間(秒) * 30 \~120 (default:30) |
{
"template": {
"containers": [
{
"cpus": 0.25,
"image": "nginx:latest",
"memoryLimit": {
"hard": 256
},
"name": "nginx",
"ports": [
{
"containerPort": 80,
"protocol": "tcp"
}
]
}
],
"description": "api template",
"name": "api-template",
"networks": [
{
"subnetId": "abd7f92e-3353-4b45-944c-510a97ef89c9",
"vpcId": "aeeafe4e-287d-4dd4-b91a-294b87688457"
}
],
"version": "api-1"
}
}
名前 | 種類 | 形式 | 必須 | 説明 |
---|---|---|---|---|
template | Body | Object | O | テンプレート情報 |
template.id | Body | UUID | O | テンプレートID |
template.name | Body | String | O | テンプレート名 |
template.version | Body | String | O | テンプレートバージョン |
template.createdAt | Body | String | O | 作成時間(UTC) |
template.description | Body | String | X | テンプレートの説明 |
template.versionDescription | Body | String | X | テンプレートバージョンの説明 |
template.networks | Body | Array | O | テンプレートのネットワーク情報 |
template.networks.vpcId | Body | String | O | テンプレートのVPC ID |
template.networks.subnetId | Body | String | O | テンプレートのSubnet ID |
template.dnsConfig | Body | String List | X | コンテナに設定されたDNS Server情報 |
template.hostAliases | Body | List | X | コンテナ/etc/hosts に設定された情報 |
template.hostAliases.ip | Body | String | O | コンテナに設定されたhostnamesのIP |
template.hostAliases.hostnames | Body | String List | O | コンテナに設定されたIPのhostnames |
template.containers | Body | Array | O | テンプレートのコンテナリスト |
template.containers.name | Body | String | O | コンテナ名 |
template.containers.type | Body | String | O | コンテナタイプ * normal:一般 * init:初期化 |
template.containers.image | Body | String | O | コンテナイメージ |
template.containers.cpus | Body | Float | O | コンテナに割り当てるCPUの数 |
template.containers.memoryLimit | Body | Object | O | コンテナに割り当てるメモリ情報 |
template.containers.memoryLimit.hard | Body | Integer | O | コンテナ割り当てるメモリ(MiB) |
template.containers.gpuFlavor | Body | String | X | GPU Flavor情報 * ncs1.g1m5 * ncs1.g2m10 |
template.containers.ports | Body | Array | X | コンテナで使用するポート情報 |
template.containers.ports.containerPort | Body | Integer | O | コンテナポート |
template.containers.ports.protocol | Body | String | O | コンテナプロトコル * TCP * UDP * HTTP * HTTPS * TERMINATED_HTTPS |
template.containers.command | Body | String List | X | コンテナが起動する時に実行されるコマンド |
template.containers.args | Body | String List | X | コンテナが起動する時に使用される引数 |
template.containers.workDirectory | Body | String | X | コンテナの作業ディレクトリ |
template.containers.env | Body | Array | X | コンテナ環境変数 |
template.containers.env.name | Body | String | O | コンテナ環境変数名 |
template.containers.env.value | Body | String | O | コンテナ環境変数の値 |
template.containers.postStart | Body | String List | X | コンテナ作成直後に実行されるコマンド |
template.containers.preStop | Body | String List | X | コンテナが終了する直前に実行されるコマンド |
template.containers.configs | Body | List | X | コンテナで使用するConfigMap情報 |
template.containers.configs.id | Body | Integer | O | ConfigMap ID |
template.containers.configs.type | Body | String | O | ConfigMap情報を取得するservice type obs: Object Storage |
template.containers.configs.value | Body | String | O | オブジェクトURL |
template.containers.configs.mountPath | Body | String | O | コンテナマウントパス |
template.containers.secrets | Body | List | X | コンテナで使用するSecret情報 |
template.containers.secrets.type | Body | String | O | Secret情報を取得するservice type skm: Secure Key Manager |
template.containers.secrets.value | Body | String | O | キーID |
template.containers.secrets.mountPath | Body | String | O | コンテナマウントパス |
template.containers.volumes | Body | Array | X | コンテナで使用するNASストレージ情報 |
template.containers.volumes.name | Body | String | O | ストレージ名 |
template.containers.volumes.path | Body | String | O | NASストレージ接続パス |
template.containers.volumes.mountPath | body | String | X | コンテナの接続パス |
template.containers.probe | Body | List | X | コンテナProbeの設定 |
template.containers.probe.type | Body | String | O | コンテナProbeタイプ * startup * liveness |
template.containers.probe.failureThreshold | Body | Integer | O | Probeの失敗基準 |
template.containers.probe.initialDelaySeconds | Body | Integer | O | Probeの開始待機時間 |
template.containers.probe.periodSeconds | Body | Integer | O | Probeの実行間隔 |
template.containers.probe.timeoutSeconds | Body | Integer | O | Probeの実行制限時間 |
template.containers.probe.exec | Body | String List | O | Probeの実行コマンド |
template.containers.stopTimeout | Body | Integer | X | 初期化コンテナ実行制限時間(秒) |
{
"header": {
"resultCode": 200,
"resultMessage": "SUCCESS",
"isSuccessful": true
},
"template": {
"createdAt": "2024-10-24T05:47:00.693Z",
"updatedAt": "2024-10-24T05:47:00.693Z",
"id": "89ab3d2f-385a-4322-8694-32cb7955f8de",
"name": "api-template",
"namespace": "abd7f92e-3353-4b45-944c-510a97ef89c9",
"description": "api template",
"containers": [
{
"id": "25f2753c-b7e3-42a3-ad8c-a0cfe4e6155f",
"name": "nginx",
"image": "nginx:latest",
"imageRegistry": "other",
"imageRegistryType": "public",
"cpus": 0.25,
"memoryLimit": {
"hard": 256
},
"ports": [
{
"containerPort": 80,
"protocol": "TCP"
}
],
"restartCount": 0,
"type": "normal"
}
],
"networks": [
{
"vpcId": "aeeafe4e-287d-4dd4-b91a-294b87688457",
"subnetId": "abd7f92e-3353-4b45-944c-510a97ef89c9"
}
],
"dnsConfig": [
"223.255.201.241",
"211.50.32.6"
],
"version": "api-1"
}
}
テンプレートを削除します。
DELETE /ncs/v1.0/appkeys/{appKey}/templates/{templateId}
x-nhn-authorization: {token}
このAPIはリクエスト本文を要求しません。
名前 | 種類 | 形式 | 必須 | 説明 |
---|---|---|---|---|
appKey | URL | String | O | サービスAppkey |
templateId | URL | String | O | テンプレートID |
token | Header | String | O | NHN Cloud Token ({token_type} {access_token}) |
このAPIは共通情報のみレスポンスします。
GET /ncs/v1.0/appkeys/{appKey}/templates/{templateId}/versions
x-nhn-authorization: {token}
このAPIはリクエスト本文を要求しません。
名前 | 種類 | 形式 | 必須 | 説明 |
---|---|---|---|---|
appKey | URL | String | O | サービスAppkey |
templateId | Path | String | O | テンプレートID |
token | Header | String | O | NHN Cloud Token ({token_type} {access_token}) |
q | Query | String | X | 検索引数 |
page | Query | Integer | X | 照会するページ番号 |
size | Query | Integer | X | 照会するページサイズ(default:10) |
sort | Query | String | X | ソート基準となるフィールド名 降順ソートの場合、フィールド名の前に - を付ける例) sort=-name |
名前 | 種類 | 形式 | 必須 | 説明 |
---|---|---|---|---|
X-Total-Count | Header | Integer | O | テンプレートのバージョン数 |
templates | Body | Array | O | テンプレートバージョンリスト |
templates.id | Body | UUID | O | テンプレートID |
templates.version | Body | String | O | テンプレートバージョン |
templates.sourceVersion | Body | String | O | テンプレート基準バージョン |
templates.name | Body | String | O | テンプレート名 |
templates.createdAt | Body | String | O | 作成時間(UTC) |
templates.description | Body | String | X | テンプレートの説明 |
templates.versionDescription | Body | String | X | テンプレートバージョンの説明 |
templates.networks | Body | Array | O | テンプレートのネットワーク情報 |
templates.networks.vpcId | Body | String | O | テンプレートのVPC ID |
templates.networks.subnetId | Body | String | O | テンプレートのSubnet ID |
templates.dnsConfig | Body | String List | X | コンテナに設定されたDNS Server情報 |
templates.hostAliases | Body | List | X | コンテナ/etc/hosts に設定された情報 |
templates.hostAliases.ip | Body | String | O | コンテナに設定されたhostnamesのIP |
templates.hostAliases.hostnames | Body | String List | O | コンテナに設定されたIPのhostnames |
templates.versionCount | Body | Integer | O | テンプレートのバージョン数 |
templates.workloadCount | Body | Integer | O | テンプレートを使用中のワークロード数 |
templates.containers | Body | Array | O | テンプレートのコンテナリスト |
templates.containers.name | Body | String | O | コンテナ名 |
templates.containers.type | Body | String | O | コンテナタイプ * normal:一般 * init:初期化 |
templates.containers.image | Body | String | O | コンテナイメージ |
templates.containers.cpus | Body | Float | O | コンテナに割り当てるCPUの数 |
templates.containers.memoryLimit | Body | Object | O | コンテナに割り当てるメモリ情報 |
templates.containers.memoryLimit.hard | Body | Integer | O | コンテナに割り当てるメモリ(MiB) |
templates.containers.gpuFlavor | Body | String | X | GPU Flavor情報 * ncs1.g1m5 * ncs1.g2m10 |
templates.containers.ports | Body | Array | X | コンテナで使用するポート情報 |
templates.containers.ports.containerPort | Body | Integer | O | コンテナポート |
templates.containers.ports.protocol | Body | String | O | コンテナプロトコル * TCP * UDP * HTTP * HTTPS * TERMINATED_HTTPS |
templates.containers.command | Body | String List | X | コンテナが起動する時に実行されるコマンド |
templates.containers.args | Body | String List | X | コンテナが起動する時に使用される引数 |
templates.containers.workDirectory | Body | String | X | コンテナの作業ディレクトリ |
templates.containers.env | Body | Array | X | コンテナ環境変数 |
templates.containers.env.name | Body | String | O | コンテナ環境変数名 |
templates.containers.env.value | Body | String | O | コンテナ環境変数の値 |
templates.containers.postStart | Body | String List | X | コンテナ作成直後に実行されるコマンド |
templates.containers.preStop | Body | String List | X | コンテナが終了する前に実行されるコマンド |
templates.containers.configs | Body | List | X | コンテナで使用するConfigMap情報 |
templates.containers.configs.id | Body | Integer | O | ConfigMap ID |
templates.containers.configs.type | Body | String | O | ConfigMap情報を取得するservice type obs: Object Storage |
templates.containers.configs.value | Body | String | O | オブジェクトURL |
templates.containers.configs.mountPath | Body | String | O | コンテナマウントパス |
templates.containers.secrets | Body | List | X | コンテナで使用するSecret情報 |
templates.containers.secrets.type | Body | String | O | Secret情報を取得するservice type skm: Secure Key Manager |
templates.containers.secrets.value | Body | String | O | キーID |
templates.containers.secrets.mountPath | Body | String | O | コンテナマウントパス |
templates.containers.volumes | Body | Array | X | コンテナで使用するNASストレージ情報 |
templates.containers.volumes.name | Body | String | O | ストレージ名 |
templates.containers.volumes.path | Body | String | O | NASストレージ接続パス |
templates.containers.volumes.mountPath | body | String | X | コンテナの接続パス |
templates.containers.probe | Body | List | X | コンテナProbeの設定 |
templates.containers.probe.type | Body | String | O | コンテナProbeタイプ * startup * liveness |
templates.containers.probe.failureThreshold | Body | Integer | O | Probeの失敗基準 |
templates.containers.probe.initialDelaySeconds | Body | Integer | O | Probeの開始待機時間 |
templates.containers.probe.periodSeconds | Body | Integer | O | Probeの実行間隔 |
templates.containers.probe.timeoutSeconds | Body | Integer | O | Probeの実行制限時間 |
templates.containers.probe.exec | Body | String List | O | Probeの実行コマンド |
templates.containers.stopTimeout | Body | Integer | X | 初期化コンテナ実行制限時間(秒) |
{
"header": {
"resultCode": 200,
"resultMessage": "SUCCESS",
"isSuccessful": true
},
"templates": [
{
"createdAt": "2024-10-24T05:24:14.053Z",
"updatedAt": "2024-10-24T05:24:14.053Z",
"id": "bf095f99-1547-48f4-b57d-1124e853f6e2",
"name": "nginx-template",
"namespace": "abd7f92e-3353-4b45-944c-510a97ef89c9",
"containers": [
{
"id": "51be9a5d-4737-4323-ae57-0ade225f4f4d",
"name": "nginx",
"image": "nginx:latest",
"imageRegistry": "other",
"imageRegistryType": "public",
"cpus": 0.25,
"memoryLimit": {
"hard": 256
},
"ports": [
{
"hostPort": 80,
"containerPort": 80,
"protocol": "TCP"
}
],
"restartCount": 0,
"probe": [
{
"type": "liveness",
"exec": [
"bash",
"-c",
"curl -f http://localhost || exit 1"
],
"initialDelaySeconds": 5,
"failureThreshold": 3,
"timeoutSeconds": 1,
"periodSeconds": 10
},
{
"type": "startup",
"exec": [
"bash",
"-c",
"curl -f http://localhost || exit 1"
],
"initialDelaySeconds": 5,
"failureThreshold": 3,
"timeoutSeconds": 1,
"periodSeconds": 10
}
],
"type": "normal"
}
],
"networks": [
{
"vpcId": "aeeafe4e-287d-4dd4-b91a-294b87688457",
"subnetId": "abd7f92e-3353-4b45-944c-510a97ef89c9"
}
],
"dnsConfig": [
"223.255.201.241",
"211.50.32.6"
],
"versionCount": 2,
"version": "first"
},
{
"createdAt": "2024-10-24T05:43:26.029Z",
"updatedAt": "2024-10-24T05:43:26.029Z",
"id": "bf095f99-1547-48f4-b57d-1124e853f6e2",
"name": "nginx-template",
"namespace": "abd7f92e-3353-4b45-944c-510a97ef89c9",
"containers": [
{
"id": "51be9a5d-4737-4323-ae57-0ade225f4f4d",
"name": "nginx",
"image": "nginx:latest",
"imageRegistry": "other",
"imageRegistryType": "public",
"cpus": 0.25,
"memoryLimit": {
"hard": 256
},
"ports": [
{
"hostPort": 80,
"containerPort": 80,
"protocol": "TCP"
}
],
"restartCount": 0,
"type": "normal"
}
],
"networks": [
{
"vpcId": "aeeafe4e-287d-4dd4-b91a-294b87688457",
"subnetId": "abd7f92e-3353-4b45-944c-510a97ef89c9"
}
],
"dnsConfig": [
"223.255.201.241",
"211.50.32.6"
],
"versionCount": 2,
"version": "second",
"sourceVersion": "first"
}
]
}
個別テンプレートバージョン情報を照会します。
GET /ncs/v1.0/appkeys/{appKey}/templates/{templateId}/versions/{version}
x-nhn-authorization: {token}
このAPIはリクエスト本文を要求しません。
名前 | 種類 | 形式 | 必須 | 説明 |
---|---|---|---|---|
appKey | URL | String | O | サービスAppkey |
templateId | URL | String | O | テンプレートID |
version | URL | String | O | テンプレートバージョン |
token | Header | String | O | NHN Cloud Token ({token_type} {access_token}) |
名前 | 種類 | 形式 | 必須 | 説明 |
---|---|---|---|---|
template | Body | Object | O | テンプレートバージョン情報 |
template.id | Body | UUID | O | テンプレートID |
template.version | Body | String | O | テンプレートバージョン |
template.sourceVersion | Body | String | O | テンプレート基準バージョン |
template.name | Body | String | O | テンプレート名 |
template.createdAt | Body | String | O | 作成時間(UTC) |
template.description | Body | String | X | テンプレートの説明 |
template.versionDescription | Body | String | X | テンプレートバージョンの説明 |
template.networks | Body | Array | O | テンプレートのネットワーク情報 |
template.networks.vpcId | Body | String | O | テンプレートのVPC ID |
template.networks.subnetId | Body | String | O | テンプレートのSubnet ID |
template.dnsConfig | Body | String List | X | コンテナに設定されたDNS Server情報 |
template.hostAliases | Body | List | X | コンテナ/etc/hosts に設定された情報 |
template.hostAliases.ip | Body | String | O | コンテナに設定されたhostnamesのIP |
template.hostAliases.hostnames | Body | String List | O | コンテナに設定されたIPのhostnames |
template.versionCount | Body | Integer | O | テンプレートのバージョン数 |
template.workloadCount | Body | Integer | O | テンプレートを使用中のワークロード数 |
template.containers | Body | Array | O | テンプレートのコンテナリスト |
template.containers.name | Body | String | O | コンテナ名 |
template.containers.type | Body | String | O | コンテナタイプ * normal:一般 * init:初期化 |
template.containers.image | Body | String | O | コンテナイメージ |
template.containers.cpus | Body | Float | O | コンテナに割り当てるCPUの数 |
template.containers.memoryLimit | Body | Object | O | コンテナに割り当てるメモリ情報 |
template.containers.memoryLimit.hard | Body | Integer | O | コンテナに割り当てるメモリ(MiB) |
template.containers.gpuFlavor | Body | String | X | GPU Flavor情報 * ncs1.g1m5 * ncs1.g2m10 |
template.containers.ports | Body | Array | X | コンテナで使用するポート情報 |
template.containers.ports.containerPort | Body | Integer | O | コンテナポート |
template.containers.ports.protocol | Body | String | O | コンテナプロトコル * TCP * UDP * HTTP * HTTPS * TERMINATED_HTTPS |
template.containers.command | Body | String List | X | コンテナが起動する時に実行されるコマンド |
template.containers.args | Body | String List | X | コンテナが起動する時に使用される引数 |
template.containers.workDirectory | Body | String | X | コンテナの作業ディレクトリ |
template.containers.env | Body | Array | X | コンテナ環境変数 |
template.containers.env.name | Body | String | O | コンテナ環境変数名 |
template.containers.env.value | Body | String | O | コンテナ環境変数の値 |
template.containers.postStart | Body | String List | X | コンテナ作成直後に実行されるコマンド |
template.containers.preStop | Body | String List | X | コンテナが終了する直前に実行されるコマンド |
template.containers.configs | Body | List | X | コンテナで使用するConfigMap情報 |
template.containers.configs.id | Body | Integer | O | ConfigMap ID |
template.containers.configs.type | Body | String | O | ConfigMap情報を取得するservice type obs: Object Storage |
template.containers.configs.value | Body | String | O | オブジェクトURL |
template.containers.configs.mountPath | Body | String | O | コンテナマウントパス |
template.containers.secrets | Body | List | X | コンテナで使用するSecret情報 |
template.containers.secrets.type | Body | String | O | Secret情報を取得するservice type skm: Secure Key Manager |
template.containers.secrets.value | Body | String | O | キーID |
template.containers.secrets.mountPath | Body | String | O | コンテナマウントパス |
template.containers.volumes | Body | Array | X | コンテナで使用するNASストレージ情報 |
template.containers.volumes.name | Body | String | O | ストレージ名 |
template.containers.volumes.path | Body | String | O | NASストレージ接続パス |
template.containers.volumes.mountPath | body | String | X | コンテナの接続パス |
template.containers.probe | Body | List | X | コンテナProbeの設定 |
template.containers.probe.type | Body | String | O | コンテナProbeタイプ * startup * liveness |
template.containers.probe.failureThreshold | Body | Integer | O | Probeの失敗基準 |
template.containers.probe.initialDelaySeconds | Body | Integer | O | Probeの開始待機時間 |
template.containers.probe.periodSeconds | Body | Integer | O | Probeの実行間隔 |
template.containers.probe.timeoutSeconds | Body | Integer | O | Probeの実行制限時間 |
template.containers.probe.exec | Body | String List | O | Probeの実行コマンド |
template.containers.stopTimeout | Body | Integer | X | 初期化コンテナ実行制限時間(秒) |
{
"header": {
"resultCode": 200,
"resultMessage": "SUCCESS",
"isSuccessful": true
},
"template": {
"createdAt": "2024-10-24T05:24:14.053Z",
"updatedAt": "2024-10-24T05:24:14.053Z",
"id": "bf095f99-1547-48f4-b57d-1124e853f6e2",
"name": "nginx-template",
"namespace": "abd7f92e-3353-4b45-944c-510a97ef89c9",
"containers": [
{
"id": "51be9a5d-4737-4323-ae57-0ade225f4f4d",
"name": "nginx",
"image": "nginx:latest",
"imageRegistry": "other",
"imageRegistryType": "public",
"cpus": 0.25,
"memoryLimit": {
"hard": 256
},
"ports": [
{
"hostPort": 80,
"containerPort": 80,
"protocol": "TCP"
}
],
"restartCount": 0,
"probe": [
{
"type": "liveness",
"exec": [
"bash",
"-c",
"curl -f http://localhost || exit 1"
],
"initialDelaySeconds": 5,
"failureThreshold": 3,
"timeoutSeconds": 1,
"periodSeconds": 10
},
{
"type": "startup",
"exec": [
"bash",
"-c",
"curl -f http://localhost || exit 1"
],
"initialDelaySeconds": 5,
"failureThreshold": 3,
"timeoutSeconds": 1,
"periodSeconds": 10
}
],
"type": "normal"
}
],
"networks": [
{
"vpcId": "aeeafe4e-287d-4dd4-b91a-294b87688457",
"subnetId": "abd7f92e-3353-4b45-944c-510a97ef89c9"
}
],
"dnsConfig": [
"223.255.201.241",
"211.50.32.6"
],
"version": "first"
}
}
テンプレートバージョンを作成します。
POST /ncs/v1.0/appkeys/{appKey}/templates/{templateId}/versions
x-nhn-authorization: {token}
名前 | 種類 | 形式 | 必須 | 説明 |
---|---|---|---|---|
appKey | URL | String | O | サービスAppkey |
templateId | URL | String | O | テンプレートID |
token | Header | String | O | NHN Cloud Token ({token_type} {access_token}) |
template | Body | Object | O | テンプレートバージョン情報 |
template.version | Body | String | O | テンプレートバージョン |
template.sourceVersion | Body | String | O | テンプレート基準バージョン |
template.name | Body | String | O | テンプレート名 |
template.versionDescription | Body | String | X | テンプレートバージョンの説明 |
template.dnsConfig | Body | String List | X | コンテナに設定されたDNS Server情報 |
template.hostAliases | Body | List | X | コンテナ/etc/hosts に設定された情報 |
template.hostAliases.ip | Body | String | O | コンテナに設定されたhostnamesのIP |
template.hostAliases.hostnames | Body | String List | O | コンテナに設定されたIPのhostnames |
template.applyImmediately | Body | Boolean | X | true:即時配布使用、false:即時配布使用しない(default:false) |
template.containers | Body | Array | O | テンプレートのコンテナリスト |
template.containers.name | Body | String | O | コンテナ名 |
template.containers.type | Body | String | O | コンテナタイプ * normal:一般 * init:初期化 |
template.containers.image | Body | String | O | コンテナイメージ |
template.containers.imageRegistryCredentials | Body | Object | X | Privateレジストリにアクセス可能な情報 |
template.containers.imageRegistryCredentials.changed | Body | Boolean | X | 既存アカウントの使用有無(default:false) * false:既存アカウントを使用 * true:新規アカウントを使用(username、passwordの送信が必要) |
template.containers.imageRegistryCredentials.username | Body | String | O | PrivateレジストリID |
template.containers.imageRegistryCredentials.password | Body | String | O | Privateレジストリパスワード |
template.containers.cpus | Body | Float | O | コンテナに割り当てるCPUの数 |
template.containers.memoryLimit | Body | Object | O | コンテナに割り当てるメモリ情報 |
template.containers.memoryLimit.hard | Body | Integer | O | コンテナに割り当てるメモリ(MiB) |
template.containers.gpuFlavor | Body | String | X | GPU Flavor情報 * ncs1.g1m5 * ncs1.g2m10 |
template.containers.ports | Body | Array | X | コンテナで使用するポート情報 |
template.containers.ports.containerPort | Body | Integer | O | コンテナポート |
template.containers.ports.protocol | Body | String | O | コンテナプロトコル * TCP * UDP * HTTP * HTTPS * TERMINATED_HTTPS |
template.containers.command | Body | String List | X | コンテナが起動する時に実行されるコマンド |
template.containers.args | Body | String List | X | コンテナが起動する時に使用される引数 |
template.containers.workDirectory | Body | String | X | コンテナの作業ディレクトリ |
template.containers.env | Body | Array | X | コンテナ環境変数 |
template.containers.env.name | Body | String | O | コンテナ環境変数名 |
template.containers.env.value | Body | String | O | コンテナ環境変数の値 |
template.containers.postStart | Body | String List | X | コンテナ作成直後に実行されるコマンド |
template.containers.preStop | Body | String List | X | コンテナが終了する直前に実行されるコマンド |
template.containers.configs | Body | List | X | コンテナで使用するConfigMap情報 |
template.containers.configs.id | Body | Integer | O | ConfigMap ID |
template.containers.configs.type | Body | String | O | ConfigMap情報を取得するservice type obs: Object Storage |
template.containers.configs.value | Body | String | O | オブジェクトURL |
template.containers.configs.mountPath | Body | String | O | コンテナマウントパス |
template.containers.configs.changedAppKey | Body | Boolean | X | 既存AppKeyの使用有無(default:false) * false:既存keyを使用 * true:新規keyを使用(AppKeyの送信が必要) |
template.containers.configs.appKey | Body | String | X | Object Storage AppKey |
template.containers.configs.changedUserAccessKeyId | Body | Boolean | X | 既存UserAccessKeyIdの使用有無(default:false) * false:既存keyを使用 * true:新規keyを使用(UserAccessKeyIdの送信が必要) |
template.containers.configs.userAccessKeyId | Body | String | X | Object StorageサービスにアクセスするユーザーのUser Access Key |
template.containers.configs.changedSecretAccessKey | Body | Boolean | X | 既存SecretAccessKeyの使用有無(default:false) * false:既存keyを使用 * true:新規keyを使用(SecretAccessKeyの送信が必要) |
template.containers.configs.secretAccessKey | Body | String | X | Object StorageサービスにアクセスするユーザーのSecret Access Key |
template.containers.secrets | Body | List | X | コンテナで使用するSecret情報 |
template.containers.secrets.type | Body | String | O | Secret情報を取得するservice type skm: Secure Key Manager |
template.containers.secrets.value | Body | String | O | キーID |
template.containers.secrets.mountPath | Body | String | O | コンテナマウントパス |
template.containers.volumes | Body | Array | X | コンテナで使用するNASストレージ情報 |
template.containers.volumes.name | Body | String | O | ストレージ名 |
template.containers.volumes.path | Body | String | O | NASストレージ接続パス |
template.containers.volumes.mountPath | body | String | X | コンテナの接続パス |
template.containers.probe | Body | List | X | コンテナProbeの設定 |
template.containers.probe.type | Body | String | O | コンテナProbeタイプ * startup * liveness |
template.containers.probe.failureThreshold | Body | Integer | O | Probeの失敗基準 |
template.containers.probe.initialDelaySeconds | Body | Integer | O | Probeの開始待機時間 |
template.containers.probe.periodSeconds | Body | Integer | O | Probeの実行間隔 |
template.containers.probe.timeoutSeconds | Body | Integer | O | Probeの実行制限時間 |
template.containers.probe.exec | Body | String List | O | Probeの実行コマンド |
template.containers.stopTimeout | Body | Integer | X | 初期化コンテナ実行制限時間(秒) |
{
"template": {
"applyImmediately": false,
"containers": [
{
"cpus": 1,
"image": "nginx:latest",
"imageRegistryType": "public",
"memoryLimit": {
"hard": 1024
},
"name": "nginx",
"ports": [
{
"containerPort": 80,
"protocol": "terminated-https"
}
],
"type": "normal"
}
],
"description": "new version",
"name": "nginx-template",
"sourceVersion": "first",
"version": "v3"
}
}
名前 | 種類 | 形式 | 必須 | 説明 |
---|---|---|---|---|
template | Body | Object | O | テンプレート情報 |
template.id | Body | UUID | O | テンプレートID |
template.version | Body | String | O | テンプレートバージョン |
template.sourceVersion | Body | String | O | テンプレート基準バージョン |
template.name | Body | String | O | テンプレート名 |
template.createdAt | Body | String | O | 作成時間(UTC) |
template.description | Body | String | X | テンプレートの説明 |
template.versionDescription | Body | String | X | テンプレートバージョンの説明 |
template.networks | Body | Array | O | テンプレートのネットワーク情報 |
template.networks.vpcId | Body | String | O | テンプレートのVPC ID |
template.networks.subnetId | Body | String | O | テンプレートのSubnet ID |
template.dnsConfig | Body | String List | X | コンテナに設定されたDNS Server情報 |
template.hostAliases | Body | List | X | コンテナ/etc/hosts に設定された情報 |
template.hostAliases.ip | Body | String | O | コンテナに設定されたhostnamesのIP |
template.hostAliases.hostnames | Body | String List | O | コンテナに設定されたIPのhostnames |
template.containers | Body | Array | O | テンプレートのコンテナリスト |
template.containers.name | Body | String | O | コンテナ名 |
template.containers.type | Body | String | O | コンテナタイプ * normal:一般 * init:初期化 |
template.containers.image | Body | String | O | コンテナイメージ |
template.containers.cpus | Body | Float | O | コンテナに割り当てるCPUの数 |
template.containers.memoryLimit | Body | Object | O | コンテナに割り当てるメモリ情報 |
template.containers.memoryLimit.hard | Body | Integer | O | コンテナに割り当てるメモリ(MiB) |
template.containers.gpuFlavor | Body | String | X | GPU Flavor情報 * ncs1.g1m5 * ncs1.g2m10 |
template.containers.ports | Body | Array | X | コンテナで使用するポート情報 |
template.containers.ports.containerPort | Body | Integer | O | コンテナポート |
template.containers.ports.protocol | Body | String | O | コンテナプロトコル * TCP * UDP * HTTP * HTTPS * TERMINATED_HTTPS |
template.containers.command | Body | String List | X | コンテナが起動する時に実行されるコマンド |
template.containers.args | Body | String List | X | コンテナが起動する時に使用される引数 |
template.containers.workDirectory | Body | String | X | コンテナの作業ディレクトリ |
template.containers.env | Body | Array | X | コンテナ環境変数 |
template.containers.env.name | Body | String | O | コンテナ環境変数名 |
template.containers.env.value | Body | String | O | コンテナ環境変数の値 |
template.containers.postStart | Body | String List | X | コンテナ作成直後に実行されるコマンド |
template.containers.preStop | Body | String List | X | コンテナが終了する直前に実行されるコマンド |
template.containers.configs | Body | List | X | コンテナで使用するConfigMap情報 |
template.containers.configs.id | Body | Integer | O | ConfigMap ID |
template.containers.configs.type | Body | String | O | ConfigMap情報を取得するservice type obs: Object Storage |
template.containers.configs.value | Body | String | O | オブジェクトURL |
template.containers.configs.mountPath | Body | String | O | コンテナマウントパス |
template.containers.secrets | Body | List | X | コンテナで使用するSecret情報 |
template.containers.secrets.type | Body | String | O | Secret情報を取得するservice type skm: Secure Key Manager |
template.containers.secrets.value | Body | String | O | キーID |
template.containers.secrets.mountPath | Body | String | O | コンテナマウントパス |
template.containers.volumes | Body | Array | X | コンテナで使用するNASストレージ情報 |
template.containers.volumes.name | Body | String | O | ストレージ名 |
template.containers.volumes.path | Body | String | O | NASストレージ接続パス |
template.containers.volumes.mountPath | body | String | X | コンテナの接続パス |
template.containers.probe | Body | List | X | コンテナのProbe設定 |
template.containers.probe.type | Body | String | O | コンテナProbeタイプ * startup * liveness |
template.containers.probe.failureThreshold | Body | Integer | O | Probeの失敗基準 |
template.containers.probe.initialDelaySeconds | Body | Integer | O | Probeの開始待機時間 |
template.containers.probe.periodSeconds | Body | Integer | O | Probeの実行間隔 |
template.containers.probe.timeoutSeconds | Body | Integer | O | Probeの実行制限時間 |
template.containers.probe.exec | Body | String List | O | Probeの実行コマンド |
template.containers.stopTimeout | Body | Integer | X | 初期化コンテナ実行制限時間(秒) |
{
"header": {
"resultCode": 200,
"resultMessage": "SUCCESS",
"isSuccessful": true
},
"template": {
"createdAt": "2024-10-27T22:26:49.196Z",
"updatedAt": "2024-10-27T22:26:49.196Z",
"id": "bf095f99-1547-48f4-b57d-1124e853f6e2",
"name": "nginx-template",
"namespace": "abd7f92e-3353-4b45-944c-510a97ef89c9",
"description": "new version",
"containers": [
{
"id": "bf6bcdd7-6ef1-4f82-981a-c4fc4ebae16e",
"name": "nginx",
"image": "nginx:latest",
"imageRegistry": "other",
"imageRegistryType": "public",
"cpus": 1,
"memoryLimit": {
"hard": 1024
},
"ports": [
{
"containerPort": 80,
"protocol": "TERMINATED-HTTPS"
}
],
"restartCount": 0,
"type": "normal"
}
],
"networks": [
{
"vpcId": "aeeafe4e-287d-4dd4-b91a-294b87688457",
"subnetId": "abd7f92e-3353-4b45-944c-510a97ef89c9"
}
],
"dnsConfig": [
"223.255.201.241",
"211.50.32.6"
],
"version": "v3",
"sourceVersion": "first"
}
}
DELETE /ncs/v1.0/appkeys/{appkey}/templates/{templateId}/versions/{version}
x-nhn-authorization: {token}
このAPIはリクエスト本文を要求しません。
名前 | 種類 | 形式 | 必須 | 説明 |
---|---|---|---|---|
appKey | URL | String | O | サービスAppkey |
templateId | URL | String | O | テンプレートID |
version | URL | String | O | テンプレートバージョン |
token | Header | String | O | NHN Cloud Token ({token_type} {access_token}) |
このAPIは共通情報のみレスポンスします。
ワークロードリストを照会します。
GET /ncs/v1.0/appkeys/{appKey}/workloads
x-nhn-authorization: {token}
このAPIはリクエスト本文を要求しません。
名前 | 種類 | 形式 | 必須 | 説明 |
---|---|---|---|---|
appKey | URL | String | O | サービスAppkey |
token | Header | String | O | NHN Cloud Token ({token_type} {access_token}) |
q | Query | String | X | ワークロード名とテンプレートID、テンプレートバージョンでフィルタリング 例:q=templateId=${テンプレートID} q=${ワークロード名) q=templateId=${テンプレートID}\&version=${テンプレートバージョン} |
page | Query | Integer | X | 照会するページ番号 |
size | Query | Integer | X | 照会するページサイズ(default: 10) |
名前 | 種類 | 形式 | 必須 | 説明 |
---|---|---|---|---|
X-Total-Count | Header | Integer | O | Appkeyに作成されているワークロード全体数 |
workloads | Body | Array | O | ワークロードリスト |
workloads.id | Body | UUID | O | ワークロードID |
workloads.name | Body | String | O | ワークロード名 |
workloads.type | Body | String | O | 配布コントローラー * deployment * statefulset |
workloads.templateId | Body | String | O | ワークロードのテンプレートID |
workloads.templateVersion | Body | String | O | ワークロードのテンプレートバージョン |
workloads.createdAt | Body | String | O | 作成時間(UTC) |
workloads.desired | Body | Integer | O | ワークロード作業リクエスト数 |
workloads.available | Body | Integer | O | ワークロード作業実行数 |
workloads.status | Body | Integer | O | ワークロード状態 |
workloads.url | Body | String | X | ワークロードロードバランサーURL |
workloads.loadBalancing | Body | Object | O | ワークロードロードバランサー情報 |
workloads.loadBalancing.enabled | Body | Boolean | O | ワークロードロードバランサー使用有無 |
workloads.loadBalancing.floatingIp | Body | Boolean | O | ワークロードロードバランサーFloating IP使用有無 |
workloads.loadBalancing.healthMonitor | Body | Object | X | ロードバランサーのヘルスチェック情報 |
workloads.loadBalancing.healthMonitor.delay | Body | Integer | O | ヘルスチェック周期 |
workloads.loadBalancing.healthMonitor.timeout | Body | Integer | O | 最大レスポンス待機時間 |
workloads.loadBalancing.healthMonitor.maxRetries | Body | Integer | O | 最大再試行回数 |
workloads.loadBalancing.healthMonitor.httpMethod | Body | String | X | HTTPメソッド * GET |
workloads.loadBalancing.healthMonitor.expectedCodes | Body | String | X | HTTPステータスコード * 200 * 200,202 * 200-204 |
workloads.loadBalancing.healthMonitor.urlPath | Body | String | X | HTTP URL |
workloads.loadBalancing.certificate | Body | String | X | TERMINATED_HTTPS使用時にロードバランサーで使用する証明書 |
workloads.loadBalancing.privateKey | Body | String | X | TERMINATED_HTTPS使用時にロードバランサーで使用する秘密鍵 |
workloads.loadBalancing.tlsVersion | Body | String | X | TERMINATED_HTTPS使用時のTLSバージョン
|
workloads.loadBalancing.containerHref | Body | String | X | シークレットコンテナID Load Balancer APIを利用し、TERMINATED_HTTPSで使用する証明書、秘密鍵を別途で登録した場合に使用 |
workloads.loadBalancing.ipAclGroupsBinding | Body | List | X | ロードバランサーに適用するIPアクセス制御グループリスト |
workloads.loadBalancing.ipAclGroupsBinding.ipAclGroupId | Body | String | O | IPアクセス制御グループID |
workloads.schedule | Body | Object | X | 予約実行設定情報 |
workloads.schedule.timeZone | Body | String | O | 予約実行基準時間 * 例:Asia/Seoul, UTC * https://en.wikipedia.org/wiki/List_of_tz_database_time_zones |
workloads.schedule.cron | Body | String | O | 予約実行Cron式 |
workloads.schedule.jobsHistoryLimit | Body | Integer | O | 予約実行ヒストリーの保管数 |
workloads.schedule.concurrencyPolicy | Body | String | O | 同時実行ポリシー * Forbid, Replace |
workloads.schedule.timeOffset | Body | String | O | 予約実行基準時間Offset |
workloads.internalLoadBalancing | Body | Object | X | 内部ロードバランサー情報 |
workloads.internalLoadBalancing.enalbed | Body | Boolean | O | 内部ロードバランサーの使用有無 |
workloads.internalLoadBalancing.type | Body | String | X | 内部ロードバランサーのIP割り当て方法 * dynamic:自動割り当て * static:IPを指定 |
workloads.internalLoadBalancing.ip | Body | String | X | 内部ロードバランサーの指定IP |
workloads.privateDns | Body | Object | X | Private DNSにワークロード作業IPを登録するかどうかを決定 |
workloads.privateDns.ttl | Body | Integer | O | レコードセットのTTL値 |
workloads.privateDns.zoneId | Body | String | O | ワークロードで使用するPrivate DNS Zone ID |
workloads.privateDns.domain | Body | String | O | Private DNSに登録されたドメイン情報 |
workloads.activeDeadline | Body | Object | X | ワークロードの予約終了情報 |
workloads.activeDeadline.timeZone | Body | String | O | 予約終了基準時間 * 例:Asia/Seoul、UTC |
workloads.activeDeadline.timeOffset | Body | String | O | 予約終了基準時間Offset |
workloads.activeDeadline.time | Body | String | O | 予約終了時間 |
workloads.autoScaler | Body | Object | X | AutoScalerの設定情報 |
workloads.autoScaler.scaleOut | Body | Object | O | ScaleOut情報 |
workloads.autoScaler.scaleOut.enabled | Body | Boolean | O | ScaleOutの使用有無 |
workloads.autoScaler.scaleOut.maxReplicas | Body | Integer | X | オートスケーリングの最大作業数 |
workloads.autoScaler.scaleOut.coolDownMinute | Body | Integer | X | 増設後の待機時間 |
workloads.autoScaler.scaleOut.condition | Body | List | X | 増設条件 |
workloads.autoScaler.scaleOut.condition.resource | Body | String | X | 増設条件基準リソース cpu memory gpu gpu-memory |
workloads.autoScaler.scaleOut.condition.threshold | Body | Integer | X | 増設条件リソース使用量(1~100) |
workloads.autoScaler.scaleOut.condition.duration | Body | Integer | X | 増設条件リソース使用量の維持時間(分) |
workloads.autoScaler.scaleIn | Body | Object | X | ScaleIn情報 |
workloads.autoScaler.scaleIn.enabled | Body | Boolean | O | ScaleInの使用有無 |
workloads.autoScaler.scaleIn.minReplicas | Body | Integer | X | オートスケーリングの最小作業数 |
workloads.autoScaler.scaleIn.coolDownMinute | Body | Integer | X | 縮小後の待機時間 |
workloads.autoScaler.scaleIn.condition | Body | List | X | 縮小条件 |
workloads.autoScaler.scaleIn.condition.resource | Body | String | X | 縮小条件基準リソース cpu memory gpu gpu-memory |
workloads.autoScaler.scaleIn.condition.threshold | Body | Integer | X | 縮小条件リソース使用量(1~100) |
workloads.autoScaler.scaleIn.condition.duration | Body | Integer | X | 縮小条件リソース使用量の維持時間(分) |
workloads.securityGroups | Body | List | X | SecurityGroups情報 |
workloads.securityGroups.id | Body | String | O | SecurityGroups ID |
{
"header": {
"resultCode": 200,
"resultMessage": "SUCCESS",
"isSuccessful": true
},
"workloads": [
{
"createdAt": "2024-10-27T22:29:05.859Z",
"updatedAt": "2024-10-27T22:29:05.859Z",
"id": "08ef9e6e-5a57-49f3-8f52-7ce36b337a8a",
"name": "nginx",
"templateId": "bf095f99-1547-48f4-b57d-1124e853f6e2",
"templateName": "nginx-template",
"templateVersion": "first",
"desired": 1,
"available": 1,
"status": "Running",
"networks": [
{
"vpcId": "aeeafe4e-287d-4dd4-b91a-294b87688457",
"subnetId": "abd7f92e-3353-4b45-944c-510a97ef89c9"
}
],
"loadBalancing": {
"enabled": true,
"floatingIp": false,
"ipAddress": "192.168.0.102",
"healthMonitor": {
"delay": 30,
"timeout": 5,
"maxRetries": 2,
"httpMethod": "GET",
"expectedCodes": "200",
"urlPath": "/"
}
},
"type": "deployment",
"internalLoadBalancing": {
"enabled": false
}
}
]
}
個別ワークロードを照会します。
GET /ncs/v1.0/appkeys/{appKey}/workloads/{workloadId}
x-nhn-authorization: {token}
このAPIはリクエスト本文を要求しません。
名前 | 種類 | 形式 | 必須 | 説明 |
---|---|---|---|---|
appKey | URL | String | O | サービスAppkey |
workloadId | URL | String | O | ワークロードID |
token | Header | String | O | NHN Cloud Token ({token_type} {access_token}) |
名前 | 種類 | 形式 | 必須 | 説明 |
---|---|---|---|---|
workload | Body | Array | O | ワークロード情報 |
workload.id | Body | UUID | O | ワークロードID |
workload.name | Body | String | O | ワークロード名 |
workload.type | Body | String | O | 配布コントローラー * deployment * statefulset |
workload.templateId | Body | String | O | ワークロードのテンプレートID |
workload.templateVersion | Body | String | O | ワークロードのテンプレートバージョン |
workload.createdAt | Body | String | O | 作成時間(UTC) |
workload.desired | Body | Integer | O | ワークロード作業リクエスト数 |
workload.available | Body | Integer | O | ワークロード作業実行数 |
workload.status | Body | Integer | O | ワークロード状態 |
workload.url | Body | String | X | ワークロードロードバランサーURL |
workload.loadBalancing | Body | Object | O | ワークロードロードバランサー情報 |
workload.loadBalancing.enabled | Body | Boolean | O | ワークロードロードバランサーの使用有無 |
workload.loadBalancing.floatingIp | Body | Boolean | O | ワークロードロードバランサーFloating IPの使用有無 |
workload.loadBalancing.healthMonitor | Body | Object | X | ロードバランサーのヘルスチェック情報 |
workload.loadBalancing.healthMonitor.delay | Body | Integer | O | ヘルスチェック周期 |
workload.loadBalancing.healthMonitor.timeout | Body | Integer | O | 最大レスポンス待機時間 |
workload.loadBalancing.healthMonitor.maxRetries | Body | Integer | O | 最大再試行回数 |
workload.loadBalancing.healthMonitor.httpMethod | Body | String | X | HTTPメソッド * GET |
workload.loadBalancing.healthMonitor.expectedCodes | Body | String | X | HTTPステータスコード * 200 * 200,202 * 200-204 |
workload.loadBalancing.healthMonitor.urlPath | Body | String | X | HTTP URL |
workload.loadBalancing.certificate | Body | String | X | TERMINATED_HTTPS使用時にロードバランサーで使用する証明書 |
workload.loadBalancing.privateKey | Body | String | X | TERMINATED_HTTPS使用時にロードバランサーで使用する秘密鍵 |
workload.loadBalancing.tlsVersion | Body | String | X | TERMINATED_HTTPS使用時のTLSバージョン
|
workload.loadBalancing.containerHref | Body | String | X | シークレットコンテナID Load Balancer APIを利用し、TERMINATED_HTTPSで使用する証明書、秘密鍵を別途で登録した場合に使用 |
workload.loadBalancing.ipAclGroupsBinding | Body | List | X | ロードバランサーに適用するIPアクセス制御グループリスト |
workload.loadBalancing.ipAclGroupsBinding.ipAclGroupId | Body | String | O | IPアクセス制御グループID |
workload.schedule | Body | Object | X | 予約実行設定情報 |
workload.schedule.timeZone | Body | String | O | 予約実行基準時間 * 例:Asia/Seoul、UTC * https://en.wikipedia.org/wiki/List_of_tz_database_time_zones |
workload.schedule.cron | Body | String | O | 予約実行Cron式 |
workload.schedule.jobsHistoryLimit | Body | Integer | O | 予約実行ヒストリーの保管数 |
workload.schedule.concurrencyPolicy | Body | String | O | 同時実行ポリシー * Forbid, Replace |
workload.schedule.timeOffset | Body | String | O | 予約実行基準時間Offset |
workload.internalLoadBalancing | Body | Object | X | 内部ロードバランサー情報 |
workload.internalLoadBalancing.enalbed | Body | Boolean | O | 内部ロードバランサーの使用有無 |
workload.internalLoadBalancing.type | Body | String | X | 内部ロードバランサーのIP割り当て方法 * dynamic:自動割り当て * static:IP指定 |
workload.internalLoadBalancing.ip | Body | String | X | 内部ロードバランサーの指定IP |
workload.privateDns | Body | Object | X | Private DNSにワークロード作業IPを登録するかどうかを決定 |
workload.privateDns.ttl | Body | Integer | O | レコードセットのTTL値 |
workload.privateDns.zoneId | Body | String | O | ワークロードで使用するPrivate DNS Zone ID |
workload.privateDns.domain | Body | String | O | Private DNSに登録されたドメイン情報 |
workload.activeDeadline | Body | Object | X | ワークロード予約終了情報 |
workload.activeDeadline.timeZone | Body | String | O | 予約終了基準時間 * 例:Asia/Seoul、UTC |
workload.activeDeadline.timeOffset | Body | String | O | 予約終了基準時間Offset |
workload.activeDeadline.time | Body | String | O | 予約終了時間 |
workload.autoScaler | Body | Object | X | AutoScaler設定情報 |
workload.autoScaler.scaleOut | Body | Object | O | ScaleOut情報 |
workload.autoScaler.scaleOut.enabled | Body | Boolean | O | ScaleOutの使用有無 |
workload.autoScaler.scaleOut.maxReplicas | Body | Integer | X | オートスケーリングの最大作業数 |
workload.autoScaler.scaleOut.coolDownMinute | Body | Integer | X | 増設後の待機時間 |
workload.autoScaler.scaleOut.condition | Body | List | X | 増設条件 |
workload.autoScaler.scaleOut.condition.resource | Body | String | X | 増設条件基準リソース cpu memory gpu gpu-memory |
workload.autoScaler.scaleOut.condition.threshold | Body | Integer | X | 増設条件リソース使用量(1~100) |
workload.autoScaler.scaleOut.condition.duration | Body | Integer | X | 増設条件リソース使用量の維持時間(分) |
workload.autoScaler.scaleIn | Body | Object | X | ScaleIn情報 |
workload.autoScaler.scaleIn.enabled | Body | Boolean | O | ScaleInの使用有無 |
workload.autoScaler.scaleIn.minReplicas | Body | Integer | X | オートスケーリングの最小作業数 |
workload.autoScaler.scaleIn.coolDownMinute | Body | Integer | X | 縮小後の待機時間 |
workload.autoScaler.scaleIn.condition | Body | List | X | 縮小条件 |
workload.autoScaler.scaleIn.condition.resource | Body | String | X | 縮小条件基準リソース cpu memory gpu gpu-memory |
workload.autoScaler.scaleIn.condition.threshold | Body | Integer | X | 縮小条件リソース使用量(1~100) |
workload.autoScaler.scaleIn.condition.duration | Body | Integer | X | 縮小条件リソース使用量の維持時間(分) |
workload.securityGroups | Body | List | X | SecurityGroups情報 |
workload.securityGroups.id | Body | String | O | SecurityGroups ID |
workload.tasks | Body | Array | O | ワークロードの作業リスト |
workload.tasks.id | Body | UUID | O | 作業ID |
workload.tasks.containers | Body | Array | O | 作業のコンテナリスト |
workload.tasks.containers.name | Body | String | O | コンテナ名 |
workload.tasks.containers.type | Body | String | O | コンテナタイプ * normal:一般 * init:初期化 |
workload.tasks.containers.image | Body | String | O | コンテナイメージ |
workload.tasks.containers.ip | Body | String | X | コンテナIP |
workload.tasks.containers.cpus | Body | Float | O | コンテナに割り当てるCPUの数 |
workload.tasks.containers.memoryLimit | Body | Object | O | コンテナに割り当てるメモリ情報 |
workload.tasks.containers.memoryLimit.hard | Body | Integer | O | コンテナに割り当てられたメモリ(MiB) |
workload.tasks.containers.gpuFlavor | Body | String | X | コンテナに割り当てられたGPU Flavor情報 |
workload.tasks.containers.ports | Body | Array | X | コンテナのポート情報 |
workload.tasks.containers.ports.containerPort | Body | Integer | O | コンテナポート |
workload.tasks.containers.ports.protocol | Body | String | O | コンテナプロトコル |
workload.tasks.containers.command | Body | String List | X | コンテナが起動する時に実行されるコマンド |
workload.tasks.containers.args | Body | String List | X | コンテナが起動する時に 使用される引数 |
workload.tasks.containers.workDirectory | Body | String | X | コンテナの作業ディレクトリ |
workload.tasks.containers.env | Body | Array | X | コンテナ環境変数 |
workload.tasks.containers.env.name | Body | String | O | コンテナ環境変数名 |
workload.tasks.containers.env.value | Body | String | O | コンテナ環境変数の値 |
workload.tasks.containers.postStart | Body | String List | X | コンテナ作成直後に実行されるコマンド |
workload.tasks.containers.preStop | Body | String List | X | コンテナが終了する直前に実行されるコマンド |
workload.tasks.containers.configs | Body | List | X | コンテナで使用するConfigMap情報 |
workload.tasks.containers.configs.id | Body | Integer | O | ConfigMap ID |
workload.tasks.containers.configs.type | Body | String | O | ConfigMap情報を取得するservice type obs: Object Storage |
workload.tasks.containers.configs.value | Body | String | O | オブジェクトURL |
workload.tasks.containers.configs.mountPath | Body | String | O | コンテナマウントパス |
workload.tasks.containers.secrets | Body | List | X | コンテナで使用するSecret情報 |
workload.tasks.containers.secrets.type | Body | String | O | Secret情報を取得するservice type skm: Secure Key Manager |
workload.tasks.containers.secrets.value | Body | String | O | キーID |
workload.tasks.containers.secrets.mountPath | Body | String | O | コンテナマウントパス |
workload.tasks.containers.volumes | Body | Array | X | コンテナで使用するストレージ情報 |
workload.tasks.containers.volumes.name | Body | String | O | ストレージ名 |
workload.tasks.containers.volumes.path | Body | String | O | NASストレージ接続パス |
workload.tasks.containers.volumes.mountPath | body | String | X | コンテナの接続パス(default: /mnt) |
workload.tasks.containers.probe | Body | List | X | コンテナProbeの設定 |
workload.tasks.containers.probe.type | Body | String | O | コンテナProbeタイプ * startup * liveness |
workload.tasks.containers.probe.failureThreshold | Body | Integer | O | Probeの失敗基準 |
workload.tasks.containers.probe.initialDelaySeconds | Body | Integer | O | Probeの開始待機時間 |
workload.tasks.containers.probe.periodSeconds | Body | String | O | Probeの実行間隔 |
workload.tasks.containers.probe.timeoutSeconds | Body | String | O | Probeの実行制限時間 |
workload.tasks.containers.probe.exec | Body | String List | O | Probeの実行コマンド |
workload.tasks.containers.stopTimeout | Body | Integer | X | 初期化コンテナ実行制限時間(秒) |
workload.tasks.containers.state | Body | String | O | コンテナ状態 |
workload.tasks.containers.startedAt | Body | String | O | コンテナ開始時間 |
workload.tasks.containers.finishedAt | Body | String | X | 初期化コンテナ完了時間 |
workload.tasks.containers.restartCount | Body | String | O | コンテナ再起動回数 |
{
"header": {
"resultCode": 200,
"resultMessage": "SUCCESS",
"isSuccessful": true
},
"workload": {
"createdAt": "2024-10-27T22:29:05.859Z",
"updatedAt": "2024-10-27T22:29:05.859Z",
"id": "08ef9e6e-5a57-49f3-8f52-7ce36b337a8a",
"name": "nginx",
"namespace": "abd7f92e-3353-4b45-944c-510a97ef89c9",
"templateId": "bf095f99-1547-48f4-b57d-1124e853f6e2",
"templateName": "nginx-template",
"templateVersion": "first",
"desired": 1,
"available": 1,
"status": "Running",
"tasks": [
{
"id": "e75d7945-62f4-4cd2-9a93-14e14edccb2b",
"containers": [
{
"id": "51be9a5d-4737-4323-ae57-0ade225f4f4d",
"name": "nginx",
"ip": "192.168.0.76",
"image": "nginx:latest",
"imageRegistry": "other",
"imageRegistryType": "public",
"cpus": 0.25,
"memoryLimit": {
"hard": 256
},
"ports": [
{
"hostPort": 80,
"containerPort": 80,
"protocol": "TCP"
}
],
"state": "Running",
"startedAt": "2024-10-27T22:29:23Z",
"restartCount": 0,
"probe": [
{
"type": "liveness",
"exec": [
"bash",
"-c",
"curl -f http://localhost || exit 1"
],
"initialDelaySeconds": 5,
"failureThreshold": 3,
"timeoutSeconds": 1,
"periodSeconds": 10
},
{
"type": "startup",
"exec": [
"bash",
"-c",
"curl -f http://localhost || exit 1"
],
"initialDelaySeconds": 5,
"failureThreshold": 3,
"timeoutSeconds": 1,
"periodSeconds": 10
}
],
"type": "normal"
}
]
}
],
"networks": [
{
"vpcId": "aeeafe4e-287d-4dd4-b91a-294b87688457",
"subnetId": "abd7f92e-3353-4b45-944c-510a97ef89c9"
}
],
"securityGroups": [
{
"id": "b1b4a7b3-d35f-4676-857b-4f8997f9f3b8"
}
],
"loadBalancing": {
"enabled": true,
"floatingIp": false,
"ipAddress": "192.168.0.102",
"healthMonitor": {
"delay": 30,
"timeout": 5,
"maxRetries": 2,
"httpMethod": "GET",
"expectedCodes": "200",
"urlPath": "/"
}
},
"type": "deployment",
"internalLoadBalancing": {
"enabled": false
}
}
}
ワークロードのコンテナログを照会します。
GET /ncs/v1.0/appkeys/{appKey}/workloads/{workloadId}/tasks/{taskId}/logs?container={ContainerName}&from={YYYY-MM-DDThh:mm:ssZ}&to={YYYY-MM-DDThh:mm:ssZ}
x-nhn-authorization: {token}
このAPIはリクエスト本文を要求しません。
名前 | 種類 | 形式 | 必須 | 説明 |
---|---|---|---|---|
appKey | URL | String | O | サービスAppkey |
workloadId | URL | String | O | ワークロードID |
taskId | URL | String | O | 作業ID |
token | Header | String | O | NHN Cloud Token ({token_type} {access_token}) |
containerName | Query | String | O | コンテナ名 |
from | Query | String | X | ログ開始時間 default:現在から5分前 |
to | Query | String | X | ログ終了時間 default:現在時間 |
page | Query | String | X | 照会するページ |
size | Query | String | X | 照会するページサイズ(default:100) |
名前 | 種類 | 形式 | 必須 | 説明 |
---|---|---|---|---|
logs | Body | Array | O | コンテナログリスト |
log | Body | String | O | ログ内容 |
time | Body | String | O | ログ発生時間(UTC) |
{
"header": {
"resultCode": 200,
"resultMessage": "SUCCESS",
"isSuccessful": true
},
"logs": [
{
"log": "/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration",
"time": "2024-10-27T22:29:23.546854524Z"
},
{
"log": "/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/",
"time": "2024-10-27T22:29:23.548332152Z"
}
]
}
ワークロードのイベントを照会します。
GET /ncs/v1.0/appkeys/{appKey}/workloads/{workloadId}/tasks/{taskId}/events
x-nhn-authorization: {token}
このAPIはリクエスト本文を要求しません。
名前 | 種類 | 形式 | 必須 | 説明 |
---|---|---|---|---|
appKey | URL | String | O | サービスAppkey |
workloadId | URL | String | O | ワークロードID |
taskId | URL | String | O | 作業ID |
token | Header | String | O | NHN Cloud Token ({token_type} {access_token}) |
type | Query | Integer | X | イベントタイプ Normal Warning |
q | Query | String | X | イベント内容フィルタリング |
page | Query | String | X | 照会するページ |
size | Query | String | X | 照会するページサイズ(default: 10) |
from | Query | String | X | イベントの最後の発生日時開始時間 default:現在から1時間前 |
to | Query | String | X | イベントの最後の発生日時終了時間 default:現在時間 |
名前 | 種類 | 形式 | 必須 | 説明 |
---|---|---|---|---|
events | Body | Array | O | イベントリスト |
type | Body | String | O | イベントタイプ Normal Warning |
reason | Body | String | O | イベント発生原因 |
message | Body | String | O | イベント内容 |
createTimestamp | Body | String | O | イベントの最初の発生日時(UTC) |
lastTimestamp | Body | String | O | イベントの最後の発生日時(UTC) |
count | Body | Integer | O | イベント発生回数 |
{
"header": {
"resultCode": 200,
"resultMessage": "SUCCESS",
"isSuccessful": true
},
"events": [
{
"type": "Normal",
"reason": "Scheduled",
"message": "Successfully assigned abd7f92e-3353-4b45-944c-510a97ef89c9/nginx-5b64d9d5d4-rkcr2 to ncsac1-kxzed5wj-0424fc5a",
"createTimestamp": "2024-10-27T22:29:06Z",
"lastTimestamp": "2024-10-27T22:29:06Z",
"count": 1
}
]
}
ワークロード実行ヒストリーリストを照会します。
GET /ncs/v1.0/appkeys/{appKey}/workloads/{workloadId}/history
x-nhn-authorization: {token}
このAPIはリクエスト本文を要求しません。
名前 | 種類 | 形式 | 必須 | 説明 |
---|---|---|---|---|
appKey | URL | String | O | サービスAppkey |
workloadId | URL | String | O | ワークロードID |
token | Header | String | O | NHN Cloud Token ({token_type} {access_token}) |
page | Query | Integer | X | 照会するページ番号 |
size | Query | Integer | X | 照会するページサイズ(default: 10) |
sort | Query | String | X | ソート基準となるフィールド名 降順ソートの場合はフィールド名の前に - を付ける例) sort=-id |
名前 | 種類 | 形式 | 必須 | 説明 |
---|---|---|---|---|
history | Body | Array | O | ヒストリーリスト |
history.id | Body | Integer | O | ヒストリーID |
history.createdAt | Body | String | O | 配布時間 |
history.deletedAt | Body | String | O | 終了時間 |
history.templateId | Body | UUID | O | ワークロードが使用したテンプレートID |
history.templateVersion | Body | UUID | O | ワークロードが使用したテンプレートバージョン |
history.name | Body | String | O | テンプレート名 |
history.status | Body | String | O | 状態 Succeeded Terminated Pending |
{
"header": {
"resultCode": 200,
"resultMessage": "SUCCESS",
"isSuccessful": true
},
"id": "08ef9e6e-5a57-49f3-8f52-7ce36b337a8a",
"history": [
{
"id": 1,
"createdAt": "2024-10-27T22:29:05.996Z",
"deletedAt": null,
"templateId": "bf095f99-1547-48f4-b57d-1124e853f6e2",
"templateVersion": "first",
"name": "nginx-template",
"status": "Succeeded"
}
]
}
個別ワークロード実行ヒストリーを照会します。
GET /ncs/v1.0/appkeys/{appKey}/workloads/{workloadId}/history/{historyId}
x-nhn-authorization: {token}
このAPIはリクエスト本文を要求しません。
名前 | 種類 | 形式 | 必須 | 説明 |
---|---|---|---|---|
appKey | URL | String | O | サービスAppkey |
workloadId | URL | String | O | ワークロードID |
historyId | URL | Integer | O | ヒストリーID |
token | Header | String | O | NHN Cloud Token ({token_type} {access_token}) |
名前 | 種類 | 形式 | 必須 | 説明 |
---|---|---|---|---|
history | Body | Object | O | ヒストリー情報 |
history.id | Body | Integer | O | ヒストリーID |
history.createdAt | Body | String | O | 実行時間 |
history.deletedAt | Body | String | O | 終了時間 |
history.templateId | Body | UUID | O | ワークロードが使用したテンプレートID |
history.name | Body | String | O | ワークロードが使用したテンプレート名 |
history.status | Body | String | O | 状態 Succeeded Terminated Pending |
template | Body | Object | O | テンプレート情報 |
template.id | Body | UUID | O | テンプレートID |
template.version | Body | String | O | テンプレートバージョン |
template.name | Body | String | O | テンプレート名 |
template.createdAt | Body | String | O | 作成時間(UTC) |
template.description | Body | String | X | テンプレートの説明 |
template.versionDescription | Body | String | X | テンプレートバージョンの説明 |
template.networks | Body | Array | O | テンプレートのネットワーク情報 |
template.networks.vpcId | Body | String | O | テンプレートのVPC ID |
template.networks.subnetId | Body | String | O | テンプレートのSubnet ID |
template.dnsConfig | Body | String List | X | コンテナに設定されたDNS Server情報 |
template.hostAliases | Body | List | X | コンテナ/etc/hosts に設定された情報 |
template.hostAliases.ip | Body | String | O | コンテナに設定されたhostnamesのIP |
template.hostAliases.hostnames | Body | String List | O | コンテナに設定されたIPのhostnames |
template.containers | Body | Array | O | テンプレートのコンテナリスト |
template.containers.name | Body | String | O | コンテナ名 |
template.containers.type | Body | String | O | コンテナタイプ * normal:一般 * init:初期化 |
template.containers.image | Body | String | O | コンテナイメージ |
template.containers.cpus | Body | Float | O | コンテナに割り当てるCPUの数 |
template.containers.memoryLimit | Body | Object | O | コンテナに割り当てるメモリ情報 |
template.containers.memoryLimit.hard | Body | Integer | O | コンテナに割り当てるメモリ(MiB) |
template.containers.gpuFlavor | Body | String | X | GPU Flavor情報 * ncs1.g1m5 * ncs1.g2m10 |
template.containers.ports | Body | Array | X | コンテナで使用するポート情報 |
template.containers.ports.containerPort | Body | Integer | O | コンテナポート |
template.containers.ports.protocol | Body | String | O | コンテナプロトコル * TCP * UDP * HTTP * HTTPS * TERMINATED_HTTPS |
template.containers.command | Body | String List | X | コンテナが起動する時に 実行されるコマンド |
template.containers.args | Body | String List | X | コンテナが起動する時に使用される引数 |
template.containers.workDirectory | Body | String | X | コンテナの作業ディレクトリ |
template.containers.env | Body | Array | X | コンテナ環境変数 |
template.containers.env.name | Body | String | O | コンテナ環境変数名 |
template.containers.env.value | Body | String | O | コンテナ環境変数の値 |
template.containers.postStart | Body | String List | X | コンテナ作成直後に実行されるコマンド |
template.containers.preStop | Body | String List | X | コンテナが終了する直前に実行されるコマンド |
template.containers.configs | Body | List | X | コンテナで使用するConfigMap情報 |
template.containers.configs.id | Body | Integer | O | ConfigMap ID |
template.containers.configs.type | Body | String | O | ConfigMap情報を取得するservice type obs: Object Storage |
template.containers.configs.value | Body | String | O | オブジェクトURL |
template.containers.configs.mountPath | Body | String | O | コンテナマウントパス |
template.containers.secrets | Body | List | X | コンテナで使用するSecret情報 |
template.containers.secrets.type | Body | String | O | Secret情報を取得するservice type skm: Secure Key Manager |
template.containers.secrets.value | Body | String | O | キーID |
template.containers.secrets.mountPath | Body | String | O | コンテナマウントパス |
template.containers.volumes | Body | Array | X | コンテナで使用するNASストレージ情報 |
template.containers.volumes.name | Body | String | O | ストレージ名 |
template.containers.volumes.path | Body | String | O | NASストレージ接続パス |
template.containers.volumes.mountPath | body | String | X | コンテナの接続パス |
template.containers.probe | Body | List | X | コンテナProbeの設定 |
template.containers.probe.type | Body | String | O | コンテナProbeタイプ * startup * liveness |
template.containers.probe.failureThreshold | Body | Integer | O | Probeの失敗基準 |
template.containers.probe.initialDelaySeconds | Body | Integer | O | Probeの開始待機時間 |
template.containers.probe.periodSeconds | Body | Integer | O | Probeの実行間隔 |
template.containers.probe.timeoutSeconds | Body | Integer | O | Probeの実行制限時間 |
template.containers.probe.exec | Body | String List | O | Probeの実行コマンド |
template.containers.stopTimeout | Body | Integer | X | 初期化コンテナ実行制限時間(秒) |
{
"header": {
"resultCode": 200,
"resultMessage": "SUCCESS",
"isSuccessful": true
},
"history": {
"id": 1,
"createdAt": "2024-10-27T22:29:05.996Z",
"deletedAt": null,
"templateId": "bf095f99-1547-48f4-b57d-1124e853f6e2",
"templateVersion": "first",
"name": "nginx-template",
"status": "Succeeded"
},
"template": {
"createdAt": "2024-10-24T05:24:14.053Z",
"updatedAt": "2024-10-24T05:24:14.053Z",
"id": "bf095f99-1547-48f4-b57d-1124e853f6e2",
"name": "nginx-template",
"namespace": "abd7f92e-3353-4b45-944c-510a97ef89c9",
"containers": [
{
"id": "51be9a5d-4737-4323-ae57-0ade225f4f4d",
"name": "nginx",
"image": "nginx:latest",
"imageRegistry": "other",
"imageRegistryType": "public",
"cpus": 0.25,
"memoryLimit": {
"hard": 256
},
"ports": [
{
"hostPort": 80,
"containerPort": 80,
"protocol": "TCP"
}
],
"restartCount": 0,
"probe": [
{
"type": "liveness",
"exec": [
"bash",
"-c",
"curl -f http://localhost || exit 1"
],
"initialDelaySeconds": 5,
"failureThreshold": 3,
"timeoutSeconds": 1,
"periodSeconds": 10
},
{
"type": "startup",
"exec": [
"bash",
"-c",
"curl -f http://localhost || exit 1"
],
"initialDelaySeconds": 5,
"failureThreshold": 3,
"timeoutSeconds": 1,
"periodSeconds": 10
}
],
"type": "normal"
}
],
"networks": [
{
"vpcId": "aeeafe4e-287d-4dd4-b91a-294b87688457",
"subnetId": "abd7f92e-3353-4b45-944c-510a97ef89c9"
}
],
"dnsConfig": [
"223.255.201.241",
"211.50.32.6"
],
"version": "first"
}
}
予約実行ヒストリーを照会します。
GET /ncs/v1.0/appkeys/{appKey}/workloads/{workloadId}/schedulehistory
x-nhn-authorization: {token}
このAPIはリクエスト本文を要求しません。
名前 | 種類 | 形式 | 必須 | 説明 |
---|---|---|---|---|
appKey | URL | String | O | サービスAppkey |
workloadId | URL | String | O | ワークロードID |
token | Header | String | O | NHN Cloud Token ({token_type} {access_token}) |
page | Query | Integer | X | 照会するページ番号 |
size | Query | Integer | X | 照会するページサイズ(default:10) |
名前 | 種類 | 形式 | 必須 | 説明 |
---|---|---|---|---|
schedulehistory | Body | List | O | 予約実行ヒストリーリスト |
schedulehistory.id | Body | String | O | 作業ID |
schedulehistory.createdAt | Body | String | O | 開始時間 |
schedulehistory.finishedAt | Body | Object | O | 終了時間 |
schedulehistory.status | Body | String | O | 予約タスク状態 * Error * Completed * Waiting * Running |
{
"header": {
"resultCode": 200,
"resultMessage": "SUCCESS",
"isSuccessful": true
},
"schedulehistory": [
{
"id": "6a8241f7-13ba-468b-ae03-dc1e7a35ccb8",
"createdAt": "2024-10-27T22:48:00Z",
"finishedAt": "2024-10-27T22:48:45Z",
"status": "Completed"
}
]
}
ワークロードを作成します。
POST /ncs/v1.0/appkeys/{appKey}/workloads
Content-Type: application/json
x-nhn-authorization: {token}
名前 | 種類 | 形式 | 必須 | 説明 |
---|---|---|---|---|
appKey | URL | String | O | サービスAppkey |
token | Header | String | O | NHN Cloud Token ({token_type} {access_token}) |
workload | Body | Object | O | ワークロード情報 |
workload.name | Body | String | O | ワークロード名 |
workload.type | Body | String | X | 配布コントローラー(default:deployment) * deployment * statefulset |
workload.templateId | Body | String | O | ワークロードのテンプレートID |
workload.templateVersion | Body | String | X | ワークロードのテンプレートバージョン(default:最新バージョン) |
workload.desired | Body | Integer | O | ワークロード作業リクエスト数 |
workload.loadBalancing | Body | Object | O | ワークロードロードバランサー情報 |
workload.loadBalancing.enabled | Body | Boolean | O | ワークロードロードバランサーの使用有無 |
workload.loadBalancing.floatingIp | Body | Boolean | O | ワークロードロードバランサーFloating IP使用有無 |
workload.loadBalancing.healthMonitor | Body | Object | X | ロードバランサーのヘルスチェック情報 |
workload.loadBalancing.healthMonitor.delay | Body | Integer | O | ヘルスチェック周期 |
workload.loadBalancing.healthMonitor.timeout | Body | Integer | O | 最大レスポンス待機時間 |
workload.loadBalancing.healthMonitor.maxRetries | Body | Integer | O | 最大再試行回数 |
workload.loadBalancing.healthMonitor.httpMethod | Body | String | X | HTTPメソッド * GET |
workload.loadBalancing.healthMonitor.expectedCodes | Body | String | X | HTTPステータスコード * 200 * 200,202 * 200-204 |
workload.loadBalancing.healthMonitor.urlPath | Body | String | X | HTTP URL |
workload.loadBalancing.certificate | Body | String | X | TERMINATED_HTTPS使用時にロードバランサーで使用する証明書 |
workload.loadBalancing.privateKey | Body | String | X | TERMINATED_HTTPS使用時にロードバランサーで使用する秘密鍵 |
workload.loadBalancing.tlsVersion | Body | String | X | TERMINATED_HTTPS使用時のTLSバージョン
|
workload.loadBalancing.containerHref | Body | String | X | シークレットコンテナID Load Balancer APIを利用し、TERMINATED_HTTPSで使用する証明書、秘密鍵を別途で登録した場合に使用 |
workload.loadBalancing.ipAclGroupsBinding | Body | List | X | ロードバランサーに適用するIPアクセス制御グループリスト |
workload.loadBalancing.ipAclGroupsBinding.ipAclGroupId | Body | String | O | IPアクセス制御グループID |
workload.schedule | Body | Object | X | 予約実行設定情報 |
workload.schedule.timeZone | Body | String | O | 予約実行基準時間 * 例:Asia/Seoul、UTC * https://en.wikipedia.org/wiki/List_of_tz_database_time_zones |
workload.schedule.cron | Body | String | O | 予約実行Cron式 |
workload.schedule.jobsHistoryLimit | Body | Integer | O | 予約実行ヒストリーの保管数 |
workload.schedule.concurrencyPolicy | Body | String | O | 同時実行ポリシー * Forbid, Replace |
workload.internalLoadBalancing | Body | Object | X | 内部ロードバランサー情報 |
workload.internalLoadBalancing.enalbed | Body | Boolean | O | 内部ロードバランサーの使用有無 |
workload.internalLoadBalancing.type | Body | String | X | 内部ロードバランサーのIP割り当て方法 * dynamic:自動割り当て * static:IP指定 |
workload.internalLoadBalancing.ip | Body | String | X | 内部ロードバランサーの指定IP |
workload.privateDns | Body | Object | X | Private DNSにワークロード作業IPを登録するかどうかを決定 |
workload.privateDns.ttl | Body | Integer | O | レコードセットのTTL値 |
workload.privateDns.zoneId | Body | String | O | ワークロードで使用するPrivate DNS Zone ID |
workload.privateDns.domain | Body | String | O | Private DNSに登録されたドメイン情報 |
workload.activeDeadline | Body | Object | X | ワークロード予約終了情報 |
workload.activeDeadline.timeZone | Body | String | O | 予約終了基準時間 * 例:Asia/Seoul、UTC |
workload.activeDeadline.timeOffset | Body | String | O | 予約終了基準時間Offset |
workload.activeDeadline.time | Body | String | O | 予約終了時間 |
workload.autoScaler | Body | Object | X | AutoScaler設定情報 |
workload.autoScaler.scaleOut | Body | Object | O | ScaleOut情報 |
workload.autoScaler.scaleOut.enabled | Body | Boolean | O | ScaleOutの使用有無 |
workload.autoScaler.scaleOut.maxReplicas | Body | Integer | X | オートスケーリングの最大作業数 |
workload.autoScaler.scaleOut.coolDownMinute | Body | Integer | X | 増設後の待機時間 |
workload.autoScaler.scaleOut.condition | Body | List | X | 増設条件 |
workload.autoScaler.scaleOut.condition.resource | Body | String | X | 増設条件基準リソース cpu memory gpu gpu-memory |
workload.autoScaler.scaleOut.condition.threshold | Body | Integer | X | 増設条件リソース使用量(1~100) |
workload.autoScaler.scaleOut.condition.duration | Body | Integer | X | 増設条件リソース使用量の維持時間(分) |
workload.autoScaler.scaleIn | Body | Object | X | ScaleIn情報 |
workload.autoScaler.scaleIn.enabled | Body | Boolean | O | ScaleInの使用有無 |
workload.autoScaler.scaleIn.minReplicas | Body | Integer | X | オートスケーリングの最小作業数 |
workload.autoScaler.scaleIn.coolDownMinute | Body | Integer | X | 縮小後の待機時間 |
workload.autoScaler.scaleIn.condition | Body | List | X | 縮小条件 |
workload.autoScaler.scaleIn.condition.resource | Body | String | X | 縮小条件基準リソース cpu memory gpu gpu-memory |
workload.autoScaler.scaleIn.condition.threshold | Body | Integer | X | 縮小条件リソース使用量(1~100) |
workload.autoScaler.scaleIn.condition.duration | Body | Integer | X | 縮小条件リソース使用量の維持時間(分) |
workload.securityGroups | Body | List | X | SecurityGroups情報 |
workload.securityGroups.id | Body | String | O | SecurityGroups ID |
{
"workload": {
"description": "api workload",
"desired": 1,
"loadBalancing": {
"enabled": false,
"floatingIp": false
},
"name": "ncs-workload",
"templateId": "bf095f99-1547-48f4-b57d-1124e853f6e2",
"templateVersion": "first",
"type": "deployment"
}
}
名前 | 種類 | 形式 | 必須 | 説明 |
---|---|---|---|---|
workload | Body | Object | O | ワークロード情報 |
workload.id | Body | UUID | O | ワークロードID |
workload.name | Body | String | O | ワークロード名 |
workload.type | Body | String | X | 配布コントローラー * deployment * statefulset |
workload.templateId | Body | String | O | ワークロードのテンプレートID |
workload.templateVersion | Body | String | O | ワークロードのテンプレートバージョン |
workload.createdAt | Body | String | O | 作成時間(UTC) |
workload.desired | Body | Integer | O | ワークロード作業リクエスト数 |
workload.loadBalancing | Body | Object | O | ワークロードロードバランサー情報 |
workload.loadBalancing.enabled | Body | Boolean | O | ワークロードロードバランサーの使用有無 |
workload.loadBalancing.floatingIp | Body | Boolean | O | ワークロードロードバランサーFloating IPの使用有無 |
workload.loadBalancing.healthMonitor | Body | Object | X | ロードバランサーのヘルスチェック情報 |
workload.loadBalancing.healthMonitor.delay | Body | Integer | O | ヘルスチェック周期 |
workload.loadBalancing.healthMonitor.timeout | Body | Integer | O | 最大レスポンス待機時間 |
workload.loadBalancing.healthMonitor.maxRetries | Body | Integer | O | 最大再試行回数 |
workload.loadBalancing.healthMonitor.httpMethod | Body | String | X | HTTPメソッド * GET |
workload.loadBalancing.healthMonitor.expectedCodes | Body | String | X | HTTPステータスコード * 200 * 200,202 * 200-204 |
workload.loadBalancing.healthMonitor.urlPath | Body | String | X | HTTP URL |
workload.loadBalancing.certificate | Body | String | X | TERMINATED_HTTPS使用時にロードバランサーで使用する証明書 |
workload.loadBalancing.privateKey | Body | String | X | TERMINATED_HTTPS使用時にロードバランサーで使用する秘密鍵 |
workload.loadBalancing.tlsVersion | Body | String | X | TERMINATED_HTTPS使用時のTLSバージョン
|
workload.loadBalancing.containerHref | Body | String | X | シークレットコンテナID Load Balancer APIを利用し、TERMINATED_HTTPSで使用する証明書、秘密鍵を別途で登録した場合に使用 |
workload.loadBalancing.ipAclGroupsBinding | Body | List | X | ロードバランサーに適用するIPアクセス制御グループリスト |
workload.loadBalancing.ipAclGroupsBinding.ipAclGroupId | Body | String | O | IPアクセス制御グループID |
workload.schedule | Body | Object | X | 予約実行設定情報 |
workload.schedule.timeZone | Body | String | O | 予約実行基準時間 * 例:Asia/Seoul、UTC * https://en.wikipedia.org/wiki/List_of_tz_database_time_zones |
workload.schedule.cron | Body | String | O | 予約実行Cron式 |
workload.schedule.jobsHistoryLimit | Body | Integer | O | 予約実行ヒストリーの保管数 |
workload.schedule.concurrencyPolicy | Body | String | O | 同時実行ポリシー * Forbid, Replace |
workload.schedule.timeOffset | Body | String | O | 予約実行基準時間Offset |
workload.internalLoadBalancing | Body | Object | X | 内部ロードバランサー情報 |
workload.internalLoadBalancing.enalbed | Body | Boolean | O | 内部ロードバランサーの使用有無 |
workload.internalLoadBalancing.type | Body | String | X | 内部ロードバランサーのIP割り当て方法 * dynamic:自動割り当て * static:IP指定 |
workload.internalLoadBalancing.ip | Body | String | X | 内部ロードバランサーの指定IP |
workload.privateDns | Body | Object | X | Private DNSにワークロード作業IPを登録するかどうかを決定 |
workload.privateDns.ttl | Body | Integer | O | レコードセットのTTL値 |
workload.privateDns.zoneId | Body | String | O | ワークロードで使用するPrivate DNS Zone ID |
workload.privateDns.domain | Body | String | O | Private DNSに登録されたドメイン情報 |
workload.activeDeadline | Body | Object | X | ワークロード予約終了情報 |
workload.activeDeadline.timeZone | Body | String | O | 予約終了基準時間 * 例:Asia/Seoul、UTC |
workload.activeDeadline.timeOffset | Body | String | O | 予約終了基準時間Offset |
workload.activeDeadline.time | Body | String | O | 予約終了時間 |
workload.autoScaler | Body | Object | X | AutoScaler設定情報 |
workload.autoScaler.scaleOut | Body | Object | O | ScaleOut情報 |
workload.autoScaler.scaleOut.enabled | Body | Boolean | O | ScaleOutの使用有無 |
workload.autoScaler.scaleOut.maxReplicas | Body | Integer | X | オートスケーリングの最大作業数 |
workload.autoScaler.scaleOut.coolDownMinute | Body | Integer | X | 増設後の待機時間 |
workload.autoScaler.scaleOut.condition | Body | List | X | 増設条件 |
workload.autoScaler.scaleOut.condition.resource | Body | String | X | 増設条件基準リソース cpu memory gpu gpu-memory |
workload.autoScaler.scaleOut.condition.threshold | Body | Integer | X | 増設条件リソース使用量(1~100) |
workload.autoScaler.scaleOut.condition.duration | Body | Integer | X | 増設条件リソース使用量の維持時間(分) |
workload.autoScaler.scaleIn | Body | Object | X | ScaleIn情報 |
workload.autoScaler.scaleIn.enabled | Body | Boolean | O | ScaleInの使用有無 |
workload.autoScaler.scaleIn.minReplicas | Body | Integer | X | オートスケーリングの最小作業数 |
workload.autoScaler.scaleIn.coolDownMinute | Body | Integer | X | 縮小後の待機時間 |
workload.autoScaler.scaleIn.condition | Body | List | X | 縮小条件 |
workload.autoScaler.scaleIn.condition.resource | Body | String | X | 縮小条件基準リソース cpu memory gpu gpu-memory |
workload.autoScaler.scaleIn.condition.threshold | Body | Integer | X | 縮小条件リソース使用量(1~100) |
workload.autoScaler.scaleIn.condition.duration | Body | Integer | X | 縮小条件リソース使用量の維持時間(分) |
workload.securityGroups | Body | List | X | SecurityGroups情報 |
workload.securityGroups.id | Body | String | O | SecurityGroups ID |
{
"header": {
"resultCode": 200,
"resultMessage": "SUCCESS",
"isSuccessful": true
},
"workload": {
"createdAt": "2024-10-27T22:51:32.305Z",
"updatedAt": "2024-10-27T22:51:32.305Z",
"id": "6c6201b5-5b68-4035-adf7-40cd5f9402e5",
"name": "ncs-workload",
"namespace": "abd7f92e-3353-4b45-944c-510a97ef89c9",
"description": "api workload",
"templateId": "bf095f99-1547-48f4-b57d-1124e853f6e2",
"templateName": "nginx-template",
"templateVersion": "first",
"desired": 1,
"available": 0,
"status": "",
"loadBalancing": {
"enabled": false,
"floatingIp": false
},
"type": "deployment"
}
}
ワークロードを変更します。
PUT /ncs/v1.0/appkeys/{appKey}/workloads/{workloadId}
Content-Type: application/json
x-nhn-authorization: {token}
名前 | 種類 | 形式 | 必須 | 説明 |
---|---|---|---|---|
appKey | URL | String | O | サービスAppkey |
workloadId | URL | String | O | ワークロードID |
token | Header | String | O | NHN Cloud Token ({token_type} {access_token}) |
workload | Body | Object | O | ワークロード情報 |
workload.name | Body | String | O | ワークロード名 |
workload.templateId | Body | String | O | ワークロードのテンプレートID |
workload.templateVersion | Body | String | O | ワークロードのテンプレートバージョン |
workload.desired | Body | Integer | O | ワークロード作業リクエスト数 |
workload.loadBalancing | Body | Object | O | ワークロードロードバランサー情報 |
workload.loadBalancing.enabled | Body | Boolean | O | ワークロードロードバランサーの使用有無 |
workload.loadBalancing.floatingIp | Body | Boolean | O | ワークロードロードバランサーFloating IP使用有無 |
workload.loadBalancing.healthMonitor | Body | Object | X | ロードバランサーのヘルスチェック情報 |
workload.loadBalancing.healthMonitor.delay | Body | Integer | O | ヘルスチェック周期 |
workload.loadBalancing.healthMonitor.timeout | Body | Integer | O | 最大レスポンス待機時間 |
workload.loadBalancing.healthMonitor.maxRetries | Body | Integer | O | 最大再試行回数 |
workload.loadBalancing.healthMonitor.httpMethod | Body | String | X | HTTPメソッド * GET |
workload.loadBalancing.healthMonitor.expectedCodes | Body | String | X | HTTPステータスコード * 200 * 200,202 * 200-204 |
workload.loadBalancing.healthMonitor.urlPath | Body | String | X | HTTP URL |
workload.loadBalancing.certificate | Body | String | X | TERMINATED_HTTPS使用時にロードバランサーで使用する証明書 |
workload.loadBalancing.privateKey | Body | String | X | TERMINATED_HTTPS使用時にロードバランサーで使用する秘密鍵 |
workload.loadBalancing.tlsVersion | Body | String | X | TERMINATED_HTTPS使用時のTLSバージョン
|
workload.loadBalancing.containerHref | Body | String | X | シークレットコンテナID Load Balancer APIを利用し、TERMINATED_HTTPSで使用する証明書、秘密鍵を別途で登録した場合に使用 |
workload.loadBalancing.ipAclGroupsBinding | Body | List | X | ロードバランサーに適用するIPアクセス制御グループリスト |
workload.loadBalancing.ipAclGroupsBinding.ipAclGroupId | Body | String | O | IPアクセス制御グループID |
workload.schedule | Body | Object | X | 予約実行設定情報 |
workload.schedule.timeZone | Body | String | O | 予約実行基準時間 * 例:Asia/Seoul、UTC * https://en.wikipedia.org/wiki/List_of_tz_database_time_zones |
workload.schedule.cron | Body | String | O | 予約実行Cron式 |
workload.schedule.jobsHistoryLimit | Body | Integer | O | 予約実行ヒストリーの保管数 |
workload.schedule.concurrencyPolicy | Body | String | O | 同時実行ポリシー * Forbid, Replace |
workload.internalLoadBalancing | Body | Object | X | 内部ロードバランサー情報 |
workload.internalLoadBalancing.enalbed | Body | Boolean | O | 内部ロードバランサーの使用有無 |
workload.internalLoadBalancing.type | Body | String | X | 内部ロードバランサーのIP割り当て方法 * dynamic;自動 割り当て * static:IP指定 |
workload.internalLoadBalancing.ip | Body | String | X | 内部ロードバランサーの指定IP |
workload.activeDeadline | Body | Object | X | ワークロード予約終了情報 |
workload.activeDeadline.timeZone | Body | String | O | 予約終了基準時間 * 例:Asia/Seoul、UTC |
workload.activeDeadline.timeOffset | Body | String | O | 予約終了基準時間Offset |
workload.activeDeadline.time | Body | String | O | 予約終了時間 |
workload.autoScaler | Body | Object | X | AutoScaler設定情報 |
workload.autoScaler.scaleOut | Body | Object | O | ScaleOut情報 |
workload.autoScaler.scaleOut.enabled | Body | Boolean | O | ScaleOutの使用有無 |
workload.autoScaler.scaleOut.maxReplicas | Body | Integer | X | オートスケーリングの最大作業数 |
workload.autoScaler.scaleOut.coolDownMinute | Body | Integer | X | 増設後の待機時間 |
workload.autoScaler.scaleOut.condition | Body | List | X | 増設条件 |
workload.autoScaler.scaleOut.condition.resource | Body | String | X | 増設条件基準リソース cpu memory gpu gpu-memory |
workload.autoScaler.scaleOut.condition.threshold | Body | Integer | X | 増設条件リソース使用量(1~100) |
workload.autoScaler.scaleOut.condition.duration | Body | Integer | X | 増設条件リソース使用量の維持時間(分) |
workload.autoScaler.scaleIn | Body | Object | X | ScaleIn情報 |
workload.autoScaler.scaleIn.enabled | Body | Boolean | O | ScaleInの使用有無 |
workload.autoScaler.scaleIn.minReplicas | Body | Integer | X | オートスケーリングの最小作業数 |
workload.autoScaler.scaleIn.coolDownMinute | Body | Integer | X | 縮小後の待機時間 |
workload.autoScaler.scaleIn.condition | Body | List | X | 縮小条件 |
workload.autoScaler.scaleIn.condition.resource | Body | String | X | 縮小条件基準リソース cpu memory gpu gpu-memory |
workload.autoScaler.scaleIn.condition.threshold | Body | Integer | X | 縮小条件リソース使用量(1~100) |
workload.autoScaler.scaleIn.condition.duration | Body | Integer | X | 縮小条件リソース使用量の維持時間(分) |
workload.securityGroups | Body | List | X | SecurityGroups情報 |
workload.securityGroups.id | Body | String | O | SecurityGroups ID |
{
"workload": {
"description": "api workload",
"desired": 2,
"loadBalancing": {
"enabled": true,
"floatingIp": false
},
"name": "ncs-workload",
"templateId": "bf095f99-1547-48f4-b57d-1124e853f6e2",
"templateVersion": "first",
"type": "deployment"
}
}
名前 | 種類 | 形式 | 必須 | 説明 |
---|---|---|---|---|
workloads | Body | Object | O | ワークロード情報 |
workload.id | Body | UUID | O | ワークロードID |
workload.name | Body | String | O | ワークロード名 |
workload.type | Body | String | O | 配布コントローラー * deployment * statefulset |
workload.templateId | Body | String | O | ワークロードのテンプレートID |
workload.templateVersion | Body | String | O | ワークロードのテンプレートバージョン |
workload.createdAt | Body | String | O | 作成時間(UTC) |
workload.desired | Body | Integer | O | ワークロード作業リクエスト数 |
workload.loadBalancing | Body | Object | O | ワークロードロードバランサー情報 |
workload.loadBalancing.enabled | Body | Boolean | O | ワークロードロードバランサーの使用有無 |
workload.loadBalancing.floatingIp | Body | Boolean | O | ワークロードロードバランサーFloating IPの使用有無 |
workload.loadBalancing.healthMonitor | Body | Object | X | ロードバランサーのヘルスチェック情報 |
workload.loadBalancing.healthMonitor.delay | Body | Integer | O | ヘルスチェック周期 |
workload.loadBalancing.healthMonitor.timeout | Body | Integer | O | 最大レスポンス待機時間 |
workload.loadBalancing.healthMonitor.maxRetries | Body | Integer | O | 最大再試行回数 |
workload.loadBalancing.healthMonitor.httpMethod | Body | String | X | HTTPメソッド * GET |
workload.loadBalancing.healthMonitor.expectedCodes | Body | String | X | HTTPステータスコード * 200 * 200,202 * 200-204 |
workload.loadBalancing.healthMonitor.urlPath | Body | String | X | HTTP URL |
workload.loadBalancing.certificate | Body | String | X | TERMINATED_HTTPS使用時にロードバランサーで使用する証明書 |
workload.loadBalancing.privateKey | Body | String | X | TERMINATED_HTTPS使用時にロードバランサーで使用する秘密鍵 |
workload.loadBalancing.tlsVersion | Body | String | X | TERMINATED_HTTPS使用時のTLSバージョン
|
workload.loadBalancing.containerHref | Body | String | X | シークレットコンテナID Load Balancer APIを利用し、TERMINATED_HTTPSで使用する証明書、秘密鍵を別途で登録した場合に使用 |
workload.loadBalancing.ipAclGroupsBinding | Body | List | X | ロードバランサーに適用するIPアクセス制御グループリスト |
workload.loadBalancing.ipAclGroupsBinding.ipAclGroupId | Body | String | O | IPアクセス制御グループID |
workload.schedule | Body | Object | X | 予約実行設定情報 |
workload.schedule.timeZone | Body | String | O | 予約実行基準時間 * 例:Asia/Seoul、UTC * https://en.wikipedia.org/wiki/List_of_tz_database_time_zones |
workload.schedule.cron | Body | String | O | 予約実行Cron式 |
workload.schedule.jobsHistoryLimit | Body | Integer | O | 予約実行ヒストリーの保管数 |
workload.schedule.concurrencyPolicy | Body | String | O | 同時実行ポリシー * Forbid, Replace |
workload.schedule.timeOffset | Body | String | O | 予約実行基準時間Offset |
workload.internalLoadBalancing | Body | Object | X | 内部ロードバランサー情報 |
workload.internalLoadBalancing.enalbed | Body | Boolean | O | 内部ロードバランサーの使用有無 |
workload.internalLoadBalancing.type | Body | String | X | 内部ロードバランサーのIP割り当て方法 * dynamic:自動 割り当て * static:IP指定 |
workload.internalLoadBalancing.ip | Body | String | X | 内部ロードバランサーの指定IP |
workload.privateDns | Body | Object | X | Private DNSにワークロード作業IPを登録するかどうかを決定 |
workload.privateDns.ttl | Body | Integer | O | レコードセットのTTL値 |
workload.privateDns.zoneId | Body | String | O | ワークロードで使用するPrivate DNS Zone ID |
workload.privateDns.domain | Body | String | O | Private DNSに登録されたドメイン情報 |
workload.activeDeadline | Body | Object | X | ワークロード予約終了情報 |
workload.activeDeadline.timeZone | Body | String | O | 予約終了基準時間 * 例:Asia/Seoul、UTC |
workload.activeDeadline.timeOffset | Body | String | O | 予約終了基準時間Offset |
workload.activeDeadline.time | Body | String | O | 予約終了時間 |
workload.autoScaler | Body | Object | X | AutoScaler設定情報 |
workload.autoScaler.scaleOut | Body | Object | O | ScaleOut情報 |
workload.autoScaler.scaleOut.enabled | Body | Boolean | O | ScaleOutの使用有無 |
workload.autoScaler.scaleOut.maxReplicas | Body | Integer | X | オートスケーリングの最大作業数 |
workload.autoScaler.scaleOut.coolDownMinute | Body | Integer | X | 増設後の待機時間 |
workload.autoScaler.scaleOut.condition | Body | List | X | 増設条件 |
workload.autoScaler.scaleOut.condition.resource | Body | String | X | 増設条件基準リソース cpu memory gpu gpu-memory |
workload.autoScaler.scaleOut.condition.threshold | Body | Integer | X | 増設条件リソース使用量(1~100) |
workload.autoScaler.scaleOut.condition.duration | Body | Integer | X | 増設条件リソース使用量の維持時間(分) |
workload.autoScaler.scaleIn | Body | Object | X | ScaleIn情報 |
workload.autoScaler.scaleIn.enabled | Body | Boolean | O | ScaleInの使用有無 |
workload.autoScaler.scaleIn.minReplicas | Body | Integer | X | オートスケーリングの最小作業数 |
workload.autoScaler.scaleIn.coolDownMinute | Body | Integer | X | 縮小後の待機時間 |
workload.autoScaler.scaleIn.condition | Body | List | X | 縮小条件 |
workload.autoScaler.scaleIn.condition.resource | Body | String | X | 縮小条件基準リソース cpu memory gpu gpu-memory |
workload.autoScaler.scaleIn.condition.threshold | Body | Integer | X | 縮小条件リソース使用量(1~100) |
workload.autoScaler.scaleIn.condition.duration | Body | Integer | X | 縮小条件リソース使用量の維持時間(分) |
workload.securityGroups | Body | List | X | SecurityGroups情報 |
workload.securityGroups.id | Body | String | O | SecurityGroups ID |
{
"header": {
"resultCode": 200,
"resultMessage": "SUCCESS",
"isSuccessful": true
},
"workload": {
"createdAt": "2024-10-27T22:51:32.305Z",
"updatedAt": "2024-10-27T22:54:30.734Z",
"id": "6c6201b5-5b68-4035-adf7-40cd5f9402e5",
"name": "ncs-workload",
"namespace": "abd7f92e-3353-4b45-944c-510a97ef89c9",
"description": "api workload",
"templateId": "bf095f99-1547-48f4-b57d-1124e853f6e2",
"templateName": "nginx-template",
"templateVersion": "first",
"desired": 2,
"available": 0,
"status": "",
"networks": [
{
"vpcId": "aeeafe4e-287d-4dd4-b91a-294b87688457",
"subnetId": "abd7f92e-3353-4b45-944c-510a97ef89c9"
}
],
"loadBalancing": {
"enabled": true,
"floatingIp": false
},
"type": "deployment"
}
}
ワークロードの一部のみを修正できます。
PATCH /ncs/v1.0/appkeys/{appKey}/workloads/{workloadId}
Content-Type: application/json-patch+json
x-nhn-authorization: {token}
名前 | 種類 | 形式 | 必須 | 説明 |
---|---|---|---|---|
appKey | URL | String | O | サービスAppkey |
workloadId | URL | String | O | ワークロードID |
token | Header | String | O | NHN Cloud Token ({token_type} {access_token}) |
op | Body | String | O | Operation * Add * Remove * Replace * Copy * Move * Test |
path | Body | String | O | 変更するデータパス |
value | Body | String | X | 変更値 |
from | Body | String | X | 既存データパス |
[
{
"op": "replace",
"path": "/workload/desired",
"value": 1
}
]
名前 | 種類 | 形式 | 必須 | 説明 |
---|---|---|---|---|
workloads | Body | Object | O | ワークロード情報 |
workload.id | Body | UUID | O | ワークロードID |
workload.name | Body | String | O | ワークロード名 |
workload.type | Body | String | O | 配布コントローラー * deployment * statefulset |
workload.templateId | Body | String | O | ワークロードのテンプレートID |
workload.templateVersion | Body | String | O | ワークロードのテンプレートバージョン |
workload.createdAt | Body | String | O | 作成時間(UTC) |
workload.desired | Body | Integer | O | ワークロード作業リクエスト数 |
workload.loadBalancing | Body | Object | O | ワークロードロードバランサー情報 |
workload.loadBalancing.enabled | Body | Boolean | O | ワークロードロードバランサーの使用有無 |
workload.loadBalancing.floatingIp | Body | Boolean | O | ワークロードロードバランサーFloating IPの使用有無 |
workload.loadBalancing.healthMonitor | Body | Object | X | ロードバランサーのヘルスチェック情報 |
workload.loadBalancing.healthMonitor.delay | Body | Integer | X | ヘルスチェック周期 |
workload.loadBalancing.healthMonitor.timeout | Body | Integer | X | 最大レスポンス待機時間 |
workload.loadBalancing.healthMonitor.maxRetries | Body | Integer | X | 最大再試行回数 |
workload.loadBalancing.healthMonitor.httpMethod | Body | String | X | HTTPメソッド * GET |
workload.loadBalancing.healthMonitor.expectedCodes | Body | String | X | HTTPステータスコード * 200 * 200,202 * 200-204 |
workload.loadBalancing.healthMonitor.urlPath | Body | String | X | HTTP URL |
workload.loadBalancing.certificate | Body | String | X | TERMINATED_HTTPS使用時にロードバランサーで使用する証明書 |
workload.loadBalancing.privateKey | Body | String | X | TERMINATED_HTTPS使用時にロードバランサーで使用する秘密鍵 |
workload.loadBalancing.tlsVersion | Body | String | X | TERMINATED_HTTPS使用時のTLSバージョン
|
workload.loadBalancing.containerHref | Body | String | X | シークレットコンテナID Load Balancer APIを利用し、TERMINATED_HTTPSで使用する証明書、秘密鍵を別途で登録した場合に使用 |
workload.loadBalancing.ipAclGroupsBinding | Body | List | X | ロードバランサーに適用するIPアクセス制御グループリスト |
workload.loadBalancing.ipAclGroupsBinding.ipAclGroupId | Body | String | O | IPアクセス制御グループID |
workload.schedule | Body | Object | X | 予約実行設定情報 |
workload.schedule.timeZone | Body | String | O | 予約実行基準時間 * 例:Asia/Seoul、UTC * https://en.wikipedia.org/wiki/List_of_tz_database_time_zones |
workload.schedule.cron | Body | String | O | 予約実行Cron式 |
workload.schedule.jobsHistoryLimit | Body | Integer | O | 予約実行ヒストリーの保管数 |
workload.schedule.concurrencyPolicy | Body | String | O | 同時実行ポリシー * Forbid, Replace |
workload.schedule.timeOffset | Body | String | O | 予約実行基準時間Offset |
workload.internalLoadBalancing | Body | Object | X | 内部ロードバランサー情報 |
workload.internalLoadBalancing.enalbed | Body | Boolean | O | 内部ロードバランサーの使用有無 |
workload.internalLoadBalancing.type | Body | String | X | 内部ロードバランサーのIP割り当て方法 * dynamic:自動割り当て * static:IP指定 |
workload.internalLoadBalancing.ip | Body | String | X | 内部ロードバランサーの指定IP |
workload.privateDns | Body | Object | X | Private DNSにワークロード作業IPを登録するかどうかを決定 |
workload.privateDns.ttl | Body | Integer | O | レコードセットのTTL値 |
workload.privateDns.zoneId | Body | String | O | ワークロードで使用するPrivate DNS Zone ID |
workload.privateDns.domain | Body | String | O | Private DNSに登録されたドメイン情報 |
workload.activeDeadline | Body | Object | X | ワークロード予約終了情報 |
workload.activeDeadline.timeZone | Body | String | O | 予約終了基準時間 * 例:Asia/Seoul、UTC |
workload.activeDeadline.timeOffset | Body | String | O | 予約終了基準時間Offset |
workload.activeDeadline.time | Body | String | O | 予約終了時間 |
workload.autoScaler | Body | Object | X | AutoScaler設定情報 |
workload.autoScaler.scaleOut | Body | Object | O | ScaleOut情報 |
workload.autoScaler.scaleOut.enabled | Body | Boolean | O | ScaleOutの使用有無 |
workload.autoScaler.scaleOut.maxReplicas | Body | Integer | X | オートスケーリングの最大作業数 |
workload.autoScaler.scaleOut.coolDownMinute | Body | Integer | X | 増設後の待機時間 |
workload.autoScaler.scaleOut.condition | Body | List | X | 増設条件 |
workload.autoScaler.scaleOut.condition.resource | Body | String | X | 増設条件基準リソース cpu memory gpu gpu-memory |
workload.autoScaler.scaleOut.condition.threshold | Body | Integer | X | 増設条件リソース使用量(1~100) |
workload.autoScaler.scaleOut.condition.duration | Body | Integer | X | 増設条件リソース使用量の維持時間(分) |
workload.autoScaler.scaleIn | Body | Object | X | ScaleIn情報 |
workload.autoScaler.scaleIn.enabled | Body | Boolean | O | ScaleInの使用有無 |
workload.autoScaler.scaleIn.minReplicas | Body | Integer | X | オートスケーリングの最小作業数 |
workload.autoScaler.scaleIn.coolDownMinute | Body | Integer | X | 縮小後の待機時間 |
workload.autoScaler.scaleIn.condition | Body | List | X | 縮小条件 |
workload.autoScaler.scaleIn.condition.resource | Body | String | X | 縮小条件基準リソース cpu memory gpu gpu-memory |
workload.autoScaler.scaleIn.condition.threshold | Body | Integer | X | 縮小条件リソース使用量(1~100) |
workload.autoScaler.scaleIn.condition.duration | Body | Integer | X | 縮小条件リソース使用量の維持時間(分) |
workload.securityGroups | Body | List | X | SecurityGroups情報 |
workload.securityGroups.id | Body | String | O | SecurityGroups ID |
{
"header": {
"resultCode": 200,
"resultMessage": "SUCCESS",
"isSuccessful": true
},
"workload": {
"createdAt": "2024-10-27T22:51:32.305Z",
"updatedAt": "2024-10-27T22:57:00.663Z",
"id": "6c6201b5-5b68-4035-adf7-40cd5f9402e5",
"name": "ncs-workload",
"namespace": "abd7f92e-3353-4b45-944c-510a97ef89c9",
"description": "api workload",
"templateId": "bf095f99-1547-48f4-b57d-1124e853f6e2",
"templateName": "nginx-template",
"templateVersion": "first",
"desired": 1,
"available": 0,
"status": "",
"networks": [
{
"vpcId": "aeeafe4e-287d-4dd4-b91a-294b87688457",
"subnetId": "abd7f92e-3353-4b45-944c-510a97ef89c9"
}
],
"loadBalancing": {
"enabled": true,
"floatingIp": false
},
"type": "deployment"
}
}
ワークロードを中止します。
POST /ncs/v1.0/appkeys/{appKey}/workloads/{workloadId}/pause
x-nhn-authorization: {token}
このAPIはリクエスト本文を要求しません。
名前 | 種類 | 形式 | 必須 | 説明 |
---|---|---|---|---|
appKey | URL | String | O | サービスAppkey |
workloadId | URL | String | O | テンプレートID |
token | Header | String | O | NHN Cloud Token ({token_type} {access_token}) |
このAPIは共通情報のみレスポンスします。
中止状態のワークロードを再起動します。
POST /ncs/v1.0/appkeys/{appKey}/workloads/{workloadId}/resume
x-nhn-authorization: {token}
このAPIはリクエスト本文を要求しません。
名前 | 種類 | 形式 | 必須 | 説明 |
---|---|---|---|---|
appKey | URL | String | O | サービスAppkey |
workloadId | URL | String | O | ワークロードID |
token | Header | String | O | NHN Cloud Token ({token_type} {access_token}) |
このAPIは共通情報のみレスポンスします。
ワークロードの作業を再起動します。
POST /ncs/v1.0/appkeys/{appKey}/workloads/{workloadId}/tasks/{taskId}/restart
x-nhn-authorization: {token}
このAPIはリクエスト本文を要求しません。
名前 | 種類 | 形式 | 必須 | 説明 |
---|---|---|---|---|
appKey | URL | String | O | サービスAppkey |
workloadId | URL | String | O | ワークロードID |
taskId | URL | String | O | 作業ID |
token | Header | String | O | NHN Cloud Token ({token_type} {access_token}) |
このAPIは共通情報のみレスポンスします。
ワークロードを削除します。
DELETE /ncs/v1.0/appkeys/{appKey}/workloads/{workloadId}
x-nhn-authorization: {token}
このAPIはリクエスト本文を要求しません。
名前 | 種類 | 形式 | 必須 | 説明 |
---|---|---|---|---|
appKey | URL | String | O | サービスAppkey |
workloadId | URL | String | O | ワークロードID |
token | Header | String | O | NHN Cloud Token ({token_type} {access_token}) |
このAPIは共通情報のみレスポンスします。
resultCode | resultMessage | 説明 |
---|---|---|
200 | SUCCESS | リクエスト成功 |
10001 | Authentication error. | 有効ではないAppKeyです。 |
10002 | Bad Request. | 有効ではない値がリクエストされました。 |
10003 | An error occurred while parsing the request body. | リクエスト本文を構文分析する過程でエラーが発生しました。 |
10004 | Internal server error. | 内部サーバーエラーです。 |
10005 | No permissions. | 権限がありません。 |
10006 | You have exceeded the maximum number of {{.Resource}} that can be created. Please contact the Customer Center to increase the limit. | 作成可能な{{.Resource}}数を超えました。 |
10041 | Could not find the template. | テンプレートが見つかりません。 |
10042 | Could not use the ECR. | ECRのイメージは使用できません。 |
10043 | The network information does not exist. | ネットワーク情報が存在しません。 |
10044 | The template in use by the workload cannot be deleted. | ワークロードで使用中のテンプレートは削除できません。 |
10045 | Duplicate container port exists in the template. | テンプレートに同じコンテナポートが存在します。 |
10046 | Template with the same name already exists. | 同じ名前のテンプレートがすでに存在します。 |
10047 | Resource {{.gpuFlavor}} is not available. If you want to use, please contact the Customer Center. | {{.gpuFlavor}}リソースは使用できません。 |
10048 | Failed to download ConfigMaps. | ConfigMapのダウンロードに失敗しました。 |
10049 | ConfigMaps can only use the object storage from the same organization. | ConfigMapは同じ組織のObject Storageのみ使用できます。 |
10050 | The total size of the template's ConfigMap cannot exceed 1 MiB. | テンプレートのConfigMapの総サイズは1MiBを超過できません。 |
10051 | Failed to download secrets from Secure Key Manager. | Secure Key Managerでシークレットダウンロードに失敗しました。 |
10052 | Could not create a template that consists only of init containers. | 初期化コンテナのみで構成されたテンプレートは作成できません。 |
10053 | The {{.Resource}} of an init container must be less than the sum of the normal containers. | 初期化コンテナの{{.Resource}}は、一般コンテナの合計より小さくなければなりません。 |
10054 | Could not set the GPU type of an init container differently than a regular container. | 初期化コンテナのGPUタイプを一般コンテナと異なる設定にすることはできません。 |
10061 | Could not find the workload. | ワークロードが見つかりません。 |
10062 | Task does not exist. | 作業が存在しません。 |
10063 | You cannot use the load balancer because the container port is not specified in the template. | テンプレートにコンテナポートが指定されていないためロードバランサーを使用できません。 |
10064 | A workload with the same name already exists. | 同じ名前のワークロードがすでに存在します。 |
10065 | Invalid container specifications in the template. | テンプレートのコンテナ仕様が有効ではありません。 |
10066 | Could not create a workload due to insufficient resources. | リソースが不足しているためワークロードを作成できません。 |
10067 | You cannot change the workload name. | ワークロード名は変更できません。 |
10068 | You cannot change to the template that uses a different network. | 他のネットワークを使用するテンプレートに変更できません。 |
10069 | In the template, you must set the same container port as the port used by the load balancer. | ロードバランサーで使用中のポートと同じコンテナポートがテンプレートに設定されている必要があります。 |
10070 | You cannot use the load balancer in legacy network environments. | レガシーネットワーク環境ではロードバランサーを使用できません。 |
10071 | UDP protocol cannot use load balancer. | UDPプロトコルはロードバランサーを使用できません。 |
10072 | If the workload runs less than {{.Minutes}} minutes, you cannot use the load balancer. | ワークロード実行周期が{{.Minutes}}分以下の場合はロードバランサーを利用できません。 |
10073 | Invalid cron expression. | 無効なcron表現式です。 |
10074 | Invalid time zone. | 無効なTimezoneです。 |
10075 | You cannot change the load balancer to Use while the workload is stopped. | ワークロードが停止状態の時は、ロードバランサーを使用に変更することはできません。 |
10076 | The certificate and private key are invalid. To use TERMINATED_HTTPS, you must register a valid certificate and private key. | 証明書と秘密鍵が正しくありません。TERMINATED_HTTPSを使用するには有効な証明書と秘密鍵を登録する必要があります。 |
10077 | Only one security group can be used. | 1つのSecurity Groupsのみ使用できます。 |
10078 | The actions of all groups must be the same. | グループのactionはすべて同じである必要があります。 |
10079 | Invalid Private DNS zone. | 無効なPrivate DNS zoneです。 |
10080 | Could not change the load balancer to Enabled while the workload is terminated. | ワークロードが終了状態の時は、ロードバランサーを使用に変更することはできません。 |
10081 | The task is not in a restartable state. | 作業が再起動可能な状態ではありません。 |