ライフサイクルプロファイルの修正
指定したライフサイクルプロファイルの設定を修正します。この操作には管理者権限が必要です。
必要な権限
ADMIN以上のロールが必要です。
HTTPリクエスト
PUT /api/sonar/lifecycle-profiles/:guid
cURL例
curl -H "Authorization: Bearer <API_KEY>" \
-d name="default" \
-d description="default lifecycle profile" \
-d configs="{"hot": {"retention": 10}, "cold": {"base_path": "/cold", "retention": 375, "options": { "quota_per_node": 200, "quota_per_node_unit": "tb", "direct_copy": false}}}" \
-X PUT "https://HOSTNAME/api/sonar/lifecycle-profiles/b76c3c81-c961-404f-a0eb-fae2f12f5bd8"
リクエストパラメータ
パスパラメータ
| キー | 型 | 説明 | 備考 |
|---|---|---|---|
| guid | 文字列 | ライフサイクルプロファイルGUID | 36文字 |
リクエスト本文パラメータ
| キー | 必須 | 型 | 説明 | 備考 |
|---|---|---|---|---|
| name | O | 文字列 | ライフサイクルプロファイル表示名 | 最小1文字、最大50文字 |
| description | X | 文字列 | ライフサイクルプロファイルの説明 | 最大2,000文字 |
| configs | X | 文字列キー/値 | ライフサイクルプロファイル設定情報 | JSON形式の文字列 |
Tip
現在、nameが "default" のプロファイルのみが使用されます。
configsはJSON形式の文字列であり、以下の属性を含みます:
- hot/warm/cold(マップ):ストレージ階層(Hot、Warm、Cold)ごとの設定
- base_path(文字列、必須):データ保存の基本パス。warm/cold階層でのみ指定可能で、hot階層では使用できません。
- retention(32ビット整数、必須):日単位のデータ保持期間。作成日を基準に保持期間を過ぎると下位階層へ移動します(1~9999日)。
- options(マップ、任意):ライフサイクルプロファイルの追加オプション
- quota_per_node(32ビット整数、任意):ノード単位で割り当てるストレージ容量。設定時は
quota_per_node_unitも必須です。 - quota_per_node_unit(文字列、任意):
quota_per_nodeの単位。mb、gb、tbのいずれかを指定してください。quota_per_node設定時は必須です。 - direct_copy(ブール値、任意):ロールオーバー時の直接コピー有無。デフォルト値は階層ごとに異なります(warm:
false、cold:true)。 - rollover_on_diskfull(ブール値、任意):ディスク容量不足時にロールオーバーを実施するか(デフォルト:
false)。
- quota_per_node(32ビット整数、任意):ノード単位で割り当てるストレージ容量。設定時は
正常応答
{}
エラー応答
必須パラメータが欠落している場合
HTTPステータスコード 400 応答
{
"error_code": "null-argument",
"error_msg": "name should be not null"
}
パラメータ値の長さが不正な場合
HTTPステータスコード 400 応答
{
"error_code": "invalid-argument",
"error_msg": "'name' must be less than or equal to 50 characters."
}
パラメータ型が不正な場合
HTTPステータスコード 400 応答
{
"error_code": "invalid-param-type",
"error_msg": "guid should be guid type."
}
ライフサイクル設定値が不正な場合
HTTPステータスコード 400 応答
{
"error_code": "invalid-argument",
"error_msg": "`quota_per_node_unit` must also be set, if `quota_per_node` is configured."
}
存在しないライフサイクルプロファイルguidの場合
HTTPステータスコード 500 応答
{
"error_code": "profile-not-found",
"error_msg": null
}
変更しようとするname値が既に存在する場合
HTTPステータスコード 500 応答
{
"error_code": "illegal-state",
"error_msg": "duplicated profile name: default"
}
configsのJSONパースエラーが発生した場合
HTTPステータスコード 500 応答
{
"error_code": "illegal-state",
"error_msg": "invalid-configs"
}
retention値が負の場合
HTTPステータスコード 400 応答
{
"error_code": "invalid-argument",
"error_msg": "'retention' must be grater than 0: warm"
}
quota_per_node値が負の場合
HTTPステータスコード 400 応答
{
"error_code": "invalid-argument",
"error_msg": "'quota_per_node' must be grater than 0"
}
quota_per_node_unitが欠落している場合
HTTPステータスコード 500 応答
{
"error_code": "illegal-state",
"error_msg": "'quota_per_node_unit' must also be set, if 'quota_per_node' is configured."
}
サポートされていないquota_per_node_unitタイプの場合
HTTPステータスコード 400 応答
{
"error_code": "invalid-argument",
"error_msg": "unsupported 'quota_per_node_unit' type: invalid_unit"
}
権限がない場合
HTTPステータスコード 500 応答
{
"error_code": "illegal-state",
"error_msg": "no-permission"
}