Classic/VPC環境で利用できます。
デプロイシナリオの詳細情報を照会します。
リクエスト
リクエスト形式を説明します。リクエスト形式は次の通りです。
メソッド | URI |
---|---|
GET | /api/v1/project/{projectId}/stage/{stageId}/scenario/{scenarioId} |
リクエストヘッダ
SourceDeploy APIで共通して使用されるヘッダの詳細は、SourceDeployのリクエストヘッダをご参照ください。
リクエストパスパラメータ
リクエストパスパラメータの説明は次の通りです。
フィールド | タイプ | 必須の有無 | 説明 |
---|---|---|---|
projectId |
String | Required | プロジェクト ID
|
stageId |
String | Required | デプロイステージ ID
|
scenarioId |
String | Required | デプロイシナリオ ID
|
リクエスト例
リクエストのサンプルコードは次の通りです。
curl --location --request GET 'https://vpcsourcedeploy.apigw.ntruss.com/api/v1/project/2***/stage/3***/scenario/2***' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}'
レスポンス
レスポンス形式を説明します。
レスポンスボディ
レスポンスボディの説明は次の通りです。
フィールド | タイプ | 必須の有無 | 説明 |
---|---|---|---|
result |
Object | - | レスポンス結果 |
result.project |
Object | - | プロジェクト情報 |
result.project.id |
Number | - | プロジェクト ID |
result.project.name |
String | - | プロジェクト名 |
result.stage |
Object | - | デプロイステージ情報 |
result.stage.id |
Number | - | デプロイステージ ID |
result.stage.name |
String | - | デプロイステージ名 |
result.id |
Number | - | デプロイシナリオ ID |
result.name |
String | - | デプロイシナリオ名 |
result.description |
String | - | デプロイシナリオの説明 |
result.type |
String | - | デプロイターゲット
|
result.config |
Object | - | デプロイターゲットの設定
|
TScenarioServer
TScenarioServer
の説明は次の通りです。
フィールド | タイプ | 必須の有無 | 説明 |
---|---|---|---|
strategy |
String | - | デプロイ戦略
|
sequence |
Boolean | - | 順次デプロイかどうか
|
file |
Object | - | デプロイファイル情報 |
file.type |
String | - | デプロイファイルの保存場所
|
file.ObjectStorage |
Object | - | Object Storage情報
|
file.ObjectStorage.bucket |
String | - | バケット名 |
file.ObjectStorage.object |
String | - | ファイル名 |
file.SourceBuild |
Object | - | SourceBuild情報
|
file.SourceBuild.id |
Number | - | ビルドプロジェクト ID |
file.SourceBuild.name |
String | - | ビルドプロジェクト名 |
rollback |
Boolean | - | デプロイ失敗時、ロールバックは使用するか
|
cmd.pre |
Array | - | デプロイ前の実行コマンドリスト |
cmd.deploy |
Array | - | ファイルデプロイパスリスト |
cmd.post |
Array | - | デプロイ後の実行コマンドリスト |
pre
pre
の説明は次の通りです。
フィールド | タイプ | 必須の有無 | 説明 |
---|---|---|---|
user |
String | - | 実行アカウント |
cmd |
String | - | 実行コマンド |
deploy
deploy
の説明は次の通りです。
フィールド | タイプ | 必須の有無 | 説明 |
---|---|---|---|
sourcePath |
String | - | ソースファイルのパス |
deployPath |
String | - | デプロイのパス |
post
post
の説明は次の通りです。
フィールド | タイプ | 必須の有無 | 説明 |
---|---|---|---|
user |
String | - | 実行アカウント |
cmd |
String | - | 実行コマンド |
TScenarioAutoScalingGroup
TScenarioAutoScalingGroup
の説明は次の通りです。
フィールド | タイプ | 必須の有無 | 説明 |
---|---|---|---|
strategy |
String | - | デプロイ戦略
|
sequence |
Boolean | - | 順次デプロイかどうか
|
file |
Object | - | デプロイファイル情報 |
file.type |
String | - | デプロイファイルの保存場所
|
file.ObjectStorage |
Object | - | Object Storage情報
|
file.ObjectStorage.bucket |
String | - | バケット名 |
file.ObjectStorage.object |
String | - | ファイル名 |
file.SourceBuild |
Object | - | SourceBuild情報
|
file.SourceBuild.id |
Number | - | ビルドプロジェクト ID |
file.SourceBuild.name |
String | - | ビルドプロジェクト名 |
rollback |
Boolean | - | デプロイ失敗時、ロールバックは使用するか
|
cmd.pre |
Array | - | デプロイ前の実行コマンドリスト |
cmd.deploy |
Array | - | ファイルデプロイパスリスト |
cmd.post |
Array | - | デプロイ後の実行コマンドリスト |
loadBalancer |
Object | - | ロードバランサ情報
|
loadBalancer.loadBalancerTargetGroupNo |
Number | - | ロードバランサ Target Group ID |
loadBalancer.loadBalancerTargetGroupName |
String | - | ロードバランサ Target Group名 |
loadBalancer.deleteAsg |
Boolean | - | 既存の Auto Scalingグループを削除するかどうか
|
loadBalancer.deleteServer |
Boolean | - | 既存の Auto Scalingグループ所属サーバを返却するかどうか
|
pre
pre
の説明は次の通りです。
フィールド | タイプ | 必須の有無 | 説明 |
---|---|---|---|
user |
String | - | 実行アカウント |
cmd |
String | - | 実行コマンド |
deploy
deploy
の説明は次の通りです。
フィールド | タイプ | 必須の有無 | 説明 |
---|---|---|---|
sourcePath |
String | - | ソースファイルのパス |
deployPath |
String | - | デプロイのパス |
post
post
の説明は次の通りです。
フィールド | タイプ | 必須の有無 | 説明 |
---|---|---|---|
user |
String | - | 実行アカウント |
cmd |
String | - | 実行コマンド |
TScenarioKubernetesService
TScenarioKubernetesService
の説明は次の通りです。
フィールド | タイプ | 必須の有無 | 説明 |
---|---|---|---|
strategy |
String | - | デプロイ戦略
|
manifest |
Object | - | マニフェスト情報 |
manifest.type |
String | - | マニフェストファイルの保存場所
|
manifest.url |
String | - | Gitリポジトリ URL
|
manifest.serverUrl |
String | - | サーバ URL
|
result.env |
Object | - | ビルド環境情報 |
manifest.owner |
String | - | Github Enterprise Serverの所有者
|
manifest.repository |
String | - | リポジトリ名
|
manifest.branch |
String | - | ブランチ名
|
manifest.path |
Array | - | ファイルの保存場所リスト |
canaryConfig |
Object | - | カナリア分析設定
|
canaryConfig.analysisType |
String | - | カナリア分析方法
|
canaryConfig.canaryCount |
Number | - | ベースライン、カナリア Pod数 |
canaryConfig.timeout |
Number | - | タイムアウト(分)
|
canaryConfig.prometheus |
String | - | Prometheus Url
|
canaryConfig.env |
Object | - | 分析環境変数
|
canaryConfig.env.baseline |
String | - | 分析環境変数: ベースライン名 |
canaryConfig.env.canary |
String | - | 分析環境変数: カナリア名 |
canaryConfig.metrics |
Array | - | Metric設定リスト
|
canaryConfig.analysisConfig |
Object | - | 分析設定
|
canaryConfig.analysisConfig.duration |
Number | - | 分析時間(分) |
canaryConfig.analysisConfig.delay |
Number | - | 分析遅延時間(分) |
canaryConfig.analysisConfig.interval |
Number | - | 分析周期(分) |
canaryConfig.analysisConfig.step |
Number | - | Metric収集周期(秒) |
canaryConfig.passScore |
Number | - | 分析の成功スコア |
metrics
metrics
の説明は次の通りです。
フィールド | タイプ | 必須の有無 | 説明 |
---|---|---|---|
name |
String | - | Metricの名前 |
successCriteria |
String | - | 成功の基準
|
queryType |
String | - | クエリタイプ
|
weight |
Number | - | Metricの重み |
metric |
String | - | Metricの値
|
filter |
String | - | Filterの値
|
query |
String | - | クエリ
|
TScenarioObjectStorage
デプロイターゲットがObjectStorage
の場合、result.config
の説明は次の通りです。
フィールド | タイプ | 必須の有無 | 説明 |
---|---|---|---|
file |
Object | - | デプロイファイル情報 |
file.type |
String | - | デプロイファイルの保存場所
|
file.ObjectStorage |
Object | - | Object Storage情報
|
file.ObjectStorage.bucket |
String | - | バケット名 |
file.ObjectStorage.object |
String | - | ファイル名 |
file.SourceBuild |
Object | - | SourceBuild情報
|
file.SourceBuild.id |
Number | - | ビルドプロジェクト ID |
file.SourceBuild.name |
String | - | ビルドプロジェクト名 |
path |
Array | - | ファイルデプロイパスリスト |
path
path
の説明は次の通りです。
フィールド | タイプ | 必須の有無 | 説明 |
---|---|---|---|
sourcePath |
String | - | ソースファイルのパス |
deployPath |
String | - | デプロイのパス |
レスポンスステータスコード
SourceDeploy APIで共通して使用されるレスポンスステータスコードの詳細は、SourceDeployのレスポンスステータスコードをご参照ください。
レスポンス例
レスポンスのサンプルコードは次の通りです。
{
"result": {
"project": {
"id": 2***,
"name": "deploy3"
},
"stage": {
"id": 3***,
"name": "dev-sv"
},
"id": 2***,
"name": "testscenario",
"description": "",
"type": "Server",
"config": {
"strategy": "normal",
"sequence": true,
"file": {
"type": "ObjectStorage",
"ObjectStorage": {
"bucket": "data2",
"object": "sample_build_output.zip"
}
},
"rollback": true,
"cmd": {
"pre": [
{
"user": "root",
"cmd": "rm -f /home/root/hello-deploy/hello.py"
}
],
"deploy": [
{
"sourcePath": "hello.py",
"deployPath": "/home/root/hello-deploy/"
}
],
"post": [
{
"user": "root",
"cmd": "cd /home/root/hello-deploy/ && python3 hello.py"
}
]
}
}
}
}