Skip to main content
24.02
日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

管理対象クラスタ用のアプリを変更する

PUT /accounts/{account_id}/topology/v2/managedClusters/{managedCluster_id}/apps/{app_id}

保存されているリソース全体を、指定されたJSONリクエストボディに置き換えますが、ユーザーが変更できないキー値は保持します。

パラメータ

Name を入力します 入力 必須 説明

account_id

string

path(パス)

True

包含するアカウントリソースのID

  • 例:{{.Account}}

managedCluster_id

string

path(パス)

True

包含するmanagedClusterリソースのID

app_id

string

path(パス)

True

一覧表示するアプリコレクションのID

forceUpdate

string

ヘッダ

False

破壊的な上書きを可能にするフラグ。In Placeリストア(IPR)を要求する場合にのみこれを含めてください。

  • 例:true

要求の本文

保存されているリソース全体を、指定されたJSONリクエストボディに置き換えますが、ユーザーが変更できないキー値は保持します。

Name を入力します 必須 説明

を入力します

string

True

リソースのメディアタイプ。定義された値は次のとおりです:

  • "application/astra-app"

バージョン

string

True

リソースのバージョン。定義された値は次のとおりです:

  • "2.0"

  • "2.1"

  • "2.2"

ID

string

False

リソースのグローバル一意識別子。定義された値は次のとおりです:

  • UUIDv4スキーマに準拠

名前

string

False

アプリケーション名を含むJSON文字列。定義された値は次のとおりです:

  • 最小長さ:1

  • 最大長さ:63

  • この文字列は、XSS攻撃、Unicode攻撃、ディレクトリトラバーサル攻撃、SQLインジェクション攻撃を防ぐために内部的に検証されます。

  • DNS 1123 Label Schemaに準拠

clusterScopedResources

配列["clusterScopedResources"]

False

このアプリに含まれるクラスタを対象としたリソースを記述するJSONオブジェクトのJSON配列

namespaceScopedResources

配列["namespaceScopedResources"]

False

このアプリに含まれるリソースを記述するJSONオブジェクトのJSON配列

lastResourceCollectionTimestamp

string

False

最後にリソース収集が実行された日時を示すタイムスタンプを含むJSON文字列。このフィールドは、このアプリケーションに対してまだリソース収集が実行されていない場合は設定されません。定義された値は次のとおりです:

  • ISO-8601 Date Time Schemaに準拠

状態

string

False

アプリケーションの動作状態を示す値を含むJSON文字列。定義されている値は次のとおりです:

  • 「pending」 - アプリケーションは検出がスケジュールされています

  • 「discovering」 - アプリケーションは現在検出中です

  • 「provisioning」 - アプリケーションは現在プロビジョニング処理中です

  • 「ready」 - アプリケーションは正常に動作しています

  • 「failed」 - アプリケーションが永続的な失敗状態にあります

  • 「復元中」-アプリケーションはバックアップまたはスナップショットから復元されています

  • 「unavailable」 - アプリケーションは現在アクセスできません

  • 「不明」 - アプリケーションの状態を判断できません

  • 「削除中」 - アプリケーションは削除処理中です

stateTransitions

配列["type_astra_stateTransition"]

False

JSONオブジェクトのJSON配列。各オブジェクトは、特定の定義済み状態からの許可された状態遷移のセットを表します。各JSONオブジェクトには「from」と「to」というフィールドが含まれており、「from」の値は状態の名前、「to」の値は許可された宛先状態の配列です。

stateDetails

配列["type_astra_stateDetail"]

False

現在の状態に関する詳細情報(現在の状態に至った理由を含む)をリストしたJSONオブジェクトのJSON配列。詳細情報がない場合は、この配列は空になります。定義された値は次のとおりです:

  • 最小アイテム数:0

protectionState

string

False

アプリケーションの保護状態を示す値を含むJSON文字列。定義された値は次のとおりです:

  • 「保護されています」 - アプリケーションには保護ポリシーが定義されており、そのポリシーに準拠しています

  • 「部分的」 - アプリケーションには保護ポリシーが定義されているが、そのポリシーに準拠していない

  • 「なし」 - アプリケーションには保護ポリシーが定義されていません

  • 「atRisk」- クラスターのデフォルトのストレージクラスはスナップショットをサポートしていないため、アプリケーションはサポートされていないボリュームを取得するリスクがあります

protectionStateDetails

配列["type_astra_stateDetail"]

False

現在の保護状態に関する詳細情報(現在の状態に至った理由を含む)を一覧表示するJSONオブジェクトのJSON配列。詳細情報が利用できない場合、この配列は空になります。定義値は次のとおりです:

  • 最小アイテム数:0

appDetectedType

string

False

検出された特定のアプリケーションの種類を一意に表すJSON文字列。定義値は次のとおりです:

  • 「system」 - アプリケーションには、Kubernetes環境の一部であることを識別するリソースが含まれています。

  • 「acc」 - アプリケーションには、それがAstra Control Centerインスタンスであることを識別するリソースが含まれています

ネームスペース

array[string]

False

アプリケーションが実行されている名前空間の名前を含むJSON文字列のJSON配列。定義値は次のとおりです:

  • 最小長さ:1

  • 最大長:253

  • DNS 1123 Label Schemaに準拠

namespaceMapping

配列["namespaceMapping"]

False

JSONオブジェクトのJSON配列。各オブジェクトは、クローン操作のソースネームスペースをデスティネーションネームスペースにマッピングします。定義値は次のとおりです:

  • 最小アイテム数:0

storageClassMapping

配列["storageClassMapping"]

False

JSONオブジェクトのJSON配列。各JSONオブジェクトは、リストア処理のために、ソースストレージクラスをデスティネーション ストレージクラスにマッピングします。要素が存在しない場合、または存在しない場合は、元のソースストレージクラス名が使用されます。定義された値は次のとおりです:

  • 最小アイテム数:0

clusterName

string

False

アプリケーションが実行されているクラスタの名前を含むJSON文字列。アプリケーションが現在実行されていない場合は返されません。

clusterID

string

False

アプリケーションが実行されているクラスタのIDを含むJSON文字列。アプリケーションが現在実行されていない場合は返されません。作成時に指定すると、clusterIDはアプリケーションをクローンするクラスタを示します。指定されたクラスタが存在しない場合、または指定されたクラスタがリクエストURIで指定されたclusterIDと一致しない場合、クローンは失敗します。定義された値は次のとおりです:

  • Astra識別子スキーマに準拠

clusterType

string

False

クラスターの種類を示す値を含むJSON文字列。定義値は次のとおりです:

  • 「gke」 - Google Kubernetes Engine(GKE)上でホストされるKubernetes

  • 「aks」 - Microsoft Azure Kubernetes Service(AKS)上でホストされるKubernetes

  • 「eks」 - Amazon Elastic Kubernetes Service(Amazon EKS)上でホストされるKubernetes

  • "openshift" - クラスタのタイプはOpenShift

  • 「kubernetes」 - クラスタは汎用Kubernetesです

sourceAppID

string

False

ソースアプリケーションのIDを含むJSON文字列。アプリケーションが別のアプリケーションからクローンされた場合、またはバックアップやスナップショットから復元された場合にのみ返されます。作成時に指定される場合、sourceAppIDはsourceClusterIDと組み合わせて使用され、どの実行中のアプリケーションがクローンされるかを示します。指定されたアプリケーションが指定されたソースクラスタ上に存在しない場合、クローンは失敗します。アプリケーションを作成する際に指定できるのは、sourceAppID、backupID、snapshotIDのうちいずれか1つだけです。定義された値は次のとおりです:

  • Astra識別子スキーマに準拠

sourceClusterName

string

False

アプリケーションが以前実行されていたクラスタの名前を含むJSON文字列。アプリケーションが別のクラスタからクローニングされた場合にのみ返されます。

sourceClusterID

string

False

アプリケーションが以前実行されていたクラスタのIDを含むJSON文字列。アプリケーションが別のクラスタからクローニングされた場合にのみ返されます。作成時に指定した場合、sourceClusterIDはsourceAppIDと組み合わせて使用され、クローニングするアプリケーションのソース クラスタを示します。指定したソース クラスタが存在しない場合、クローンは失敗します。定義されている値は次のとおりです:

  • Astra識別子スキーマに準拠

backupID

string

False

アプリケーションが復元されたバックアップのIDを含むJSON文字列。アプリケーションがバックアップから復元された場合にのみ返されます。作成時に指定すると、backupIDはアプリケーションが既存のバックアップからクローンされることを示します。指定されたバックアップが存在しない場合、クローン作成は失敗します。アプリケーションを作成する際に指定できるのは、sourceAppID、backupID、snapshotIDのうちいずれか1つだけです。置換時に指定される場合、backupIDは、アプリケーションがインプレース復元されるアプリケーションバックアップを示します。指定されたバックアップが存在しない場合、復元は失敗します。アプリケーションの更新時には、backupIDまたはsnapshotIDのいずれか一方のみを指定できます。定義済みの値は次のとおりです:

  • Astra識別子スキーマに準拠

snapshotID

string

False

アプリケーションが復元されたスナップショットのIDを含むJSON文字列。アプリケーションがスナップショットから復元された場合にのみ返されます。作成時に指定すると、snapshotIDは、アプリケーションが既存のスナップショットからクローンされることを示します。指定されたスナップショットが存在しない場合、クローンは失敗します。アプリケーションを作成する際に指定できるのは、sourceAppID、backupID、snapshotIDのうちいずれか1つだけです。置換時に指定される場合、snapshotIDは、アプリケーションがその場で復元されるアプリケーションのスナップショットを示します。指定されたスナップショットが存在しない場合、復元は失敗します。アプリケーションを更新する際には、backupIDとsnapshotIDのどちらか一方のみを指定できます。定義された値は次のとおりです:

  • Astra識別子スキーマに準拠

replicationSourceAppID

string

False

このアプリケーションに複製されるアプリケーションのIDを含むJSON文字列。アプリケーションが現在AppMirror関係のデスティネーション クラスタであり、その関係がfailedOver状態でない場合にのみ返されます。関係がfailedOver状態の場合、このフィールドは返されません。定義された値は次のとおりです:

  • Astra識別子スキーマに準拠

restoreFilter

"restoreFilter"

False

選択的復元操作に含めるリソースと除外するリソースを記述するフィルタのリストを含むJSONオブジェクト。含める設定と除外設定は相互に排他的であり、選択的復元ではいずれか一方のフィルタしか使用できません。

メタデータ

"type_astra_metadata_update"

False

リソースに関連付けられた、クライアントおよびサービス指定のメタデータ。定義された値は次のとおりです:

  • Astra メタデータスキーマに準拠します。作成時に指定しない場合、ラベルのないメタデータオブジェクトが作成されます。更新時に指定されていない場合、メタデータオブジェクトのラベル、creationTimestamp および createdBy は、変更なしで保持されます。

リクエスト例
{
  "type": "application/astra-app",
  "version": "2.2",
  "name": "mysql-old"
}

応答

Status: 204, Indicates if the app resource was updated.

応答

Status: 401, Unauthorized
Name を入力します 必須 説明

を入力します

string

True

タイトル

string

True

詳細

string

True

ステータス

string

True

correlationID

string

False

回答例
{
  "type": "https://astra.netapp.io/problems/3",
  "title": "Missing bearer token",
  "detail": "The request is missing the required bearer token.",
  "status": "401"
}

応答

Status: 400, Bad request
Name を入力します 必須 説明

を入力します

string

True

タイトル

string

True

詳細

string

True

ステータス

string

True

correlationID

string

False

回答例
{
  "type": "https://astra.netapp.io/problems/5",
  "title": "Invalid query parameters",
  "detail": "The supplied query parameters are invalid.",
  "status": "400"
}

応答

Status: 409, Conflict
Name を入力します 必須 説明

を入力します

string

True

タイトル

string

True

詳細

string

True

ステータス

string

True

correlationID

string

False

回答例
{
  "type": "https://astra.netapp.io/problems/10",
  "title": "JSON resource conflict",
  "detail": "The request body JSON contains a field that conflicts with an idempotent value.",
  "status": "409"
}

応答

Status: 403, Forbidden
Name を入力します 必須 説明

を入力します

string

True

タイトル

string

True

詳細

string

True

ステータス

string

True

correlationID

string

False

回答例
{
  "type": "https://astra.netapp.io/problems/11",
  "title": "Operation not permitted",
  "detail": "The requested operation isn't permitted.",
  "status": "403"
}

エラー

Status: 404, Not found
Name を入力します 必須 説明

を入力します

string

True

タイトル

string

True

詳細

string

True

ステータス

string

True

correlationID

string

False

エラー応答の例
{
  "type": "https://astra.netapp.io/problems/1",
  "title": "Resource not found",
  "detail": "The resource specified in the request URI wasn't found.",
  "status": "404"
}

用語の意味

定義を参照

GVK

Kubernetesのグループ/バージョン/種類を含むJSONオブジェクト。

  • このオブジェクトは、Astra/apiResourcesに対して内部的に検証されます。

Name を入力します 必須 説明

グループ

string

False

Kubernetesによって割り当てられたグループ識別子を含むJSON文字列。

  • この文字列は内部的にAstra/apiResourcesに対して検証されます

種類

string

False

Kubernetesによって割り当てられた種類識別子を含むJSON文字列。

  • この文字列は内部的にAstra/apiResourcesに対して検証されます

バージョン

string

False

Kubernetesによって割り当てられたバージョン識別子を含むJSON文字列。

  • この文字列は内部的にAstra/apiResourcesに対して検証されます

clusterScopedResources

Name を入力します 必須 説明

GVK

"GVK"

False

Kubernetesのグループ/バージョン/種類を含むJSONオブジェクト。

  • このオブジェクトは、Astra/apiResourcesに対して内部的に検証されます。

labelSelectors

array[string]

False

クラスタ内のクラスタスコープGroupVersionKinds(GVK)のラベルセレクタを表すJSON文字列のJSON配列。これが空の場合、クラスタ上のすべてのGVKインスタンスが含まれます。この配列の各要素はKubernetesラベルセレクタ文字列であり、それらの値と同じ文法に従います。例:

namespaceScopedResources

Name を入力します 必須 説明

namespace

string

False

アプリケーションが定義されている名前空間の名前を含むJSON文字列。定義値は次のとおりです:

  • 最小長さ:1

  • 最大長:253

  • DNS 1123 Label Schemaに準拠

labelSelectors

array[string]

False

名前空間内のラベルセレクタを表すJSON文字列のJSON配列。これが空の場合、名前空間内のすべてのリソースが含まれます。この配列の各要素はKubernetesラベルセレクタ文字列であり、それらの値に関する文法に従います。例:

  • [ "app=mysql" ] — 名前が app で値が mysql のラベルを持つすべてのリソースを選択します

  • [ "app != mysql" ] — 名前が app で値が mysql ではないラベルを持つすべてのリソースを選択します

  • [ "app in (mysql, mariadb)" ] — 名前が app で値が mysql または mariadb であるラベルを持つすべてのリソースを選択します

  • [ "app notin (nginx, wordpress)" ] — 名前が app で値が nginx または wordpress であるラベルを持たないすべてのリソースを選択します

  • [ "app" ] — app という名前のラベルを持つすべてのリソースを選択します

  • [ "!app" ] — app という名前のラベルを持たないすべてのリソースを選択します。複数の選択演算子をカンマで区切って 1 つのセレクタに含めることができることに注意してください。その場合、個々の選択演算子の結果は AND 演算されます:

  • [ "app=mysql,version=2" ] — 名前が app で値が mysql のラベルと、名前が version で値が 2 のラベルを持つすべてのリソースを選択します

type_astra_stateTransition

Name を入力します 必須 説明

-

string

True

-

array[string]

True

additionalDetails

type_astra_stateDetail

Name を入力します 必須 説明

を入力します

string

True

タイトル

string

True

詳細

string

True

additionalDetails

"additionalDetails"

False

namespaceMapping

Name を入力します 必須 説明

ソース

string

False

ソース クラスタ上のネームスペース名を含む JSON 文字列。定義された値は次のとおりです:

  • 最小長さ:1

  • 最大長:253

  • DNS 1123 Label Schemaに準拠

を参照してください。

string

False

デスティネーション クラスタ上のネームスペースの名前を含む JSON 文字列。定義された値は次のとおりです:

  • 最小長さ:1

  • 最大長:253

  • DNS 1123 Label Schemaに準拠

storageClassMapping

Name を入力します 必須 説明

ソース

string

False

ソースストレージクラスの名前を含むJSON文字列。すべてのソースストレージクラスを指定する場合は、「*」を指定することもできます。定義された値は次のとおりです:

  • 最小長さ:1

  • 最大長さ:63

  • Storage Class名が使用されている場合、DNS 1123 Label Schemaに準拠します

  • '*' を指定してすべてのストレージクラスを指定します

を参照してください。

string

False

デスティネーション ストレージ クラスの名前を含む JSON 文字列。定義された値は次のとおりです:

  • 最小長さ:1

  • 最大長さ:63

  • DNS 1123 Label Schemaに準拠

GVKN

Name を入力します 必須 説明

グループ

string

False

Kubernetesによって割り当てられたグループ識別子を含むJSON文字列。

  • この文字列は内部的にAstra/apiResourcesに対して検証されます

バージョン

string

False

Kubernetesによって割り当てられたバージョン識別子を含むJSON文字列。

  • この文字列は内部的にAstra/apiResourcesに対して検証されます

種類

string

False

Kubernetesによって割り当てられた種類識別子を含むJSON文字列。

  • この文字列は内部的にAstra/apiResourcesに対して検証されます

ネームスペース

array[string]

False

リソースを含めるか除外するかを指定する名前空間を記述するJSON文字列のJSON配列。定義された値は次のとおりです:

  • 最小長さ:1

  • 最大長さ:63

  • DNS 1123 Label Schemaに準拠

名前

array[string]

False

選択的復元に含めるか除外するかを指定するKubernetesリソース名を記述したJSON文字列のJSON配列。定義された値は次のとおりです:

  • 最小長さ:1

  • 最大長:253

  • DNS 1123 Label Schemaに準拠

labelSelectors

array[string]

False

選択的リストアからリソースを含めるか除外するかを決定するために使用されるKubernetesラベルセレクタを記述するJSON文字列のJSON配列。この配列の各要素はKubernetesラベルセレクタ文字列であり、それらの値に対して同じ文法に従います。例:

restoreFilter

選択的復元操作に含めるリソースと除外するリソースを記述するフィルタのリストを含むJSONオブジェクト。含める設定と除外設定は相互に排他的であり、選択的復元ではいずれか一方のフィルタしか使用できません。

Name を入力します 必須 説明

resourceSelectionCriteria

string

True

リソースフィルターがリソースを選択する方法を示す値を含むJSON文字列。有効な値は include または exclude です。

GVKN

配列["GVKN"]

True

選択的復元時にフィルタリングするリソースを記述するJSONオブジェクトのJSON配列。指定されたすべてのフィルタフィールドが対応するリソースフィールドと一致する場合、そのリソースは単一のGVKNフィルタ要素に一致します。配列であるフィルタフィールド(例えば、名前空間や名前)は、その要素のいずれかが対応するリソースフィールドと一致する場合に一致します。labelSelectorsフィールドでは、すべてのセレクタが一致する必要があります。GVKNフィルタオブジェクトの配列内のいずれかのフィルタに一致するリソースは、resourceSelectionCriteriaの値に基づいて復元に含まれるか除外されます。空のGVKNオブジェクトを指定すると、検証エラーが発生します。

type_astra_label

Name を入力します 必須 説明

名前

string

True

Value

string

True

type_astra_metadata_update

リソースに関連付けられた、クライアントおよびサービス指定のメタデータ。定義された値は次のとおりです:

  • Astra メタデータスキーマに準拠します。作成時に指定しない場合、ラベルのないメタデータオブジェクトが作成されます。更新時に指定されていない場合、メタデータオブジェクトのラベル、creationTimestamp および createdBy は、変更なしで保持されます。

Name を入力します 必須 説明

ラベル

配列["type_astra_label"]

False

作成タイムスタンプ

string

False

modificationTimestamp

string

False

作成者

string

False

modifiedBy

string

False

invalidParams

Name を入力します 必須 説明

名前

string

True

無効なクエリパラメータの名前

理由

string

True

クエリパラメータが無効な理由

invalidFields

Name を入力します 必須 説明

名前

string

True

無効なリクエストボディフィールドの名前

理由

string

True

リクエスト本文フィールドが無効な理由