Recuperar um aplicativo
GET /accounts/{account_id}/k8s/v2/apps/{app_id}
Retorna o recurso da API do aplicativo armazenado no corpo da resposta JSON.
Parâmetros
| Nome | Tipo | Em | Obrigatório | Descrição |
|---|---|---|---|---|
id_da_conta |
string |
caminho |
Verdadeiro |
ID do recurso de conta que o contém
|
app_id |
string |
caminho |
Verdadeiro |
ID da coleção de aplicativos a ser listada |
Resposta
Status: 200, Returns the stored App API resource in the JSON response body.
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
tipo |
string |
Verdadeiro |
Tipo de mídia do recurso. Os valores definidos são:
|
versão |
string |
Verdadeiro |
Versão do recurso. Os valores definidos são:
|
id |
string |
Verdadeiro |
Identificador globalmente único do recurso. Os valores definidos são:
|
links |
array["tipo_astra_link"] |
Verdadeiro |
Links que descrevem as operações suportadas no recurso. |
nome |
string |
Verdadeiro |
String JSON contendo um nome para a aplicação. Os valores definidos são:
|
clusterScopedResources |
array["clusterScopedResources"] |
Falso |
Matriz JSON de objetos JSON que descrevem os recursos com escopo de cluster que fazem parte deste app |
namespaceScopedResources |
array["namespaceScopedResources"] |
Verdadeiro |
Matriz JSON de objetos JSON que descrevem os recursos que fazem parte deste aplicativo |
lastResourceCollectionTimestamp |
string |
Falso |
String JSON contendo o registro de data e hora da última coleta de recursos. Este campo fica vazio se nenhuma coleta de recursos tiver sido realizada para esta aplicação ainda. Os valores definidos são:
|
estado |
string |
Verdadeiro |
String JSON contendo um valor que indica o estado operacional da aplicação. Os valores definidos são:
|
stateTransitions |
array["type_astra_stateTransition"] |
Falso |
Matriz JSON de objetos JSON, cada um representando o conjunto de transições de estado permitidas a partir de um determinado estado definido. Cada objeto JSON contém os campos "from" e "to", onde o valor de "from" é o nome de um estado e o valor de "to" é uma matriz de estados de destino permitidos. |
stateDetails |
array["type_astra_stateDetail"] |
Verdadeiro |
Array JSON de objetos JSON que lista detalhes adicionais sobre o estado atual, incluindo o motivo pelo qual o estado atual foi alcançado. Se não houver detalhes disponíveis, essa matriz estará vazia. Os valores definidos são:
|
protectionState |
string |
Verdadeiro |
Cadeia JSON contendo um valor que indica o estado de proteção do aplicativo. Os valores definidos são:
|
protectionStateDetails |
array["type_astra_stateDetail"] |
Verdadeiro |
Matriz JSON de objetos JSON que lista detalhes adicionais sobre o estado de proteção atual, incluindo o motivo pelo qual esse estado foi atingido. Se não houver detalhes disponíveis, essa matriz estará vazia. Os valores definidos são:
|
appDetectedType |
string |
Falso |
String JSON que representa exclusivamente o tipo específico de aplicação detectada. Os valores definidos são:
|
espaços de nomes |
array[string] |
Verdadeiro |
Array JSON de strings JSON contendo os nomes dos namespaces nos quais o aplicativo está sendo executado. Os valores definidos são:
|
namespaceMapping |
array["namespaceMapping"] |
Falso |
Matriz JSON de objetos JSON, cada um mapeando um namespace de origem para um namespace de destino em uma operação de clonagem. Os valores definidos são:
|
storageClassMapping |
array["storageClassMapping"] |
Falso |
Matriz JSON de objetos JSON, cada um mapeando uma classe de armazenamento de origem para uma classe de armazenamento de destino para uma operação de restauração. Se nenhum elemento ou se não estiver presente, os nomes originais das classes de armazenamento de origem serão usados. Os valores definidos são:
|
clusterName |
string |
Falso |
String JSON contendo o nome do cluster no qual o aplicativo está sendo executado. Não é retornado se o aplicativo não estiver em execução. |
ID do cluster |
string |
Falso |
String JSON contendo o ID do cluster no qual o aplicativo está sendo executado. Não é retornado se o aplicativo não estiver em execução. Quando especificado na criação, clusterID indica em qual cluster o aplicativo deve ser clonado. Se o cluster especificado não existir ou se o cluster especificado não corresponder ao clusterID especificado no URI da solicitação, a clonagem falhará. Os valores definidos são:
|
clusterType |
string |
Falso |
String JSON contendo um valor que indica o tipo de cluster. Os valores definidos são:
|
ID do aplicativo de origem |
string |
Falso |
String JSON contendo o ID de um aplicativo de origem. Retornado somente se o aplicativo foi clonado de outro aplicativo ou restaurado a partir de um backup ou snapshot. Quando especificado na criação, o sourceAppID é usado em conjunto com o sourceClusterID e indica qual aplicativo em execução será clonado. Se o aplicativo especificado não existir no cluster de origem, a clonagem falhará. Apenas um de sourceAppID, backupID ou snapshotID pode ser especificado ao criar um aplicativo. Os valores definidos são:
|
sourceClusterName |
string |
Falso |
String JSON contendo o nome do cluster no qual o aplicativo estava sendo executado anteriormente. Retornada somente se o aplicativo foi clonado de outro cluster. |
ID do cluster de origem |
string |
Falso |
String JSON contendo o ID do cluster no qual o aplicativo estava sendo executado anteriormente. Retornada somente se o aplicativo foi clonado de outro cluster. Quando especificado na criação, o sourceClusterID é usado em conjunto com o sourceAppID e indica o cluster de origem do aplicativo a ser clonado. Se o cluster de origem especificado não existir, a clonagem falhará. Os valores definidos são:
|
backupID |
string |
Falso |
String JSON contendo o ID do backup a partir do qual o aplicativo foi restaurado. Retornado somente se o aplicativo foi restaurado a partir de um backup. Quando especificado na criação, backupID indica que um aplicativo será clonado a partir de um backup existente. Se o backup especificado não existir, a clonagem falhará. Apenas um de sourceAppID, backupID ou snapshotID pode ser especificado ao criar um aplicativo. Quando especificado em uma substituição, backupID indica o backup do aplicativo a partir do qual o aplicativo será restaurado no local. Se o backup especificado não existir, a restauração falhará. Apenas um de backupID ou snapshotID pode ser especificado ao atualizar um aplicativo. Os valores definidos são:
|
ID do Snapshot |
string |
Falso |
String JSON contendo o ID do snapshot a partir do qual o aplicativo foi restaurado. Retornado somente se o aplicativo foi restaurado a partir de um snapshot. Quando especificado na criação, snapshotID indica que um aplicativo será clonado a partir de um snapshot existente. Se o snapshot especificado não existir, a clonagem falhará. Apenas um de sourceAppID, backupID ou snapshotID pode ser especificado ao criar um aplicativo. Quando especificado em uma substituição, snapshotID indica o snapshot do aplicativo a partir do qual o aplicativo será restaurado no local. Se o snapshot especificado não existir, a restauração falhará. Apenas um de backupID ou snapshotID pode ser especificado ao atualizar um aplicativo. Os valores definidos são:
|
ID do aplicativo de origem de replicação |
string |
Falso |
String JSON contendo o ID do aplicativo que está sendo replicado para este aplicativo. Retornado somente se o aplicativo for atualmente o destino em um relacionamento AppMirror e o relacionamento não estiver no estado failedOver. Quando o relacionamento está no estado failedOver, este campo não é retornado. Os valores definidos são:
|
restoreFilter |
Falso |
Objeto JSON contendo uma lista de filtros que descrevem quais recursos são incluídos ou excluídos de uma operação de restauração seletiva. Incluir e excluir são mutuamente exclusivos, e uma restauração seletiva só pode usar um tipo de filtro. |
|
metadados |
Verdadeiro |
Metadados especificados pelo cliente e pelo serviço associados ao recurso. Os valores definidos são:
|
Exemplo de resposta
{
"type": "application/astra-app",
"version": "2.2",
"id": "39c1c79f-efab-5357-88fb-20e628c4dd96",
"links": [
{
"rel": "canonical",
"href": "/accounts/652f7a18-d4ed-47b2-b467-15bf2154d079/topology/v2/managedClusters/6a358976-c3ac-49aa-b043-9c9b425c90ac/apps/27467088-2e99-4bd8-aa9b-014d5f44a62f"
},
{
"rel": "collection",
"href": "/accounts/652f7a18-d4ed-47b2-b467-15bf2154d079/topology/v1/clouds/892814c9-77a1-46f3-b54a-82c34cdf0032/clusters/6a358976-c3ac-49aa-b043-9c9b425c90ac/namespaces/da78daf6-8e11-4220-a461-6b1d4a6dc231/apps"
},
{
"rel": "related",
"href": "/accounts/652f7a18-d4ed-47b2-b467-15bf2154d079/k8s/v1/apps/27467088-2e99-4bd8-aa9b-014d5f44a62f/appBackups",
"type": "application/astra-appBackup",
"title": "disruptiveBackup",
"hints": {
"allow": [],
"permissions": [
"appBackup-create"
]
}
},
{
"rel": "related",
"href": "/accounts/652f7a18-d4ed-47b2-b467-15bf2154d079/k8s/v1/apps/27467088-2e99-4bd8-aa9b-014d5f44a62f/appBackups",
"type": "application/astra-appBackup",
"title": "nonDisruptiveBackup",
"hints": {
"allow": [
"POST"
],
"permissions": [
"appBackup-create"
]
}
},
{
"rel": "related",
"href": "/accounts/652f7a18-d4ed-47b2-b467-15bf2154d079/k8s/v2/apps",
"type": "application/astra-app",
"title": "restore",
"hints": {
"allow": [
"POST"
],
"permissions": [
"app-create"
]
}
},
{
"rel": "related",
"href": "/accounts/652f7a18-d4ed-47b2-b467-15bf2154d079/k8s/v1/apps/27467088-2e99-4bd8-aa9b-014d5f44a62f/appSnaps",
"type": "application/astra-appSnap",
"title": "snapshot",
"hints": {
"allow": [
"POST"
],
"permissions": [
"appSnap-create"
]
}
},
{
"rel": "related",
"href": "/accounts/652f7a18-d4ed-47b2-b467-15bf2154d079/k8s/v2/apps",
"type": "application/astra-app",
"title": "clone",
"hints": {
"allow": [
"POST"
],
"permissions": [
"app-create"
]
}
},
{
"rel": "related",
"href": "/accounts/652f7a18-d4ed-47b2-b467-15bf2154d079/k8s/v2/apps/27467088-2e99-4bd8-aa9b-014d5f44a62f",
"type": "application/astra-app",
"title": "inPlaceRestore",
"hints": {
"allow": [
"PUT"
],
"permissions": [
"app-update"
]
}
},
{
"rel": "related",
"href": "/accounts/652f7a18-d4ed-47b2-b467-15bf2154d079/k8s/v1/apps/27467088-2e99-4bd8-aa9b-014d5f44a62f/appMirrors",
"type": "application/astra-appMirror",
"title": "replication",
"hints": {
"allow": [
"POST"
],
"permissions": [
"appMirror-create"
]
}
}
],
"name": "jenkins",
"namespaceScopedResources": [
{
"namespace": "production-clone",
"labelSelectors": [
"app = jenkins,release = production"
]
}
],
"namespaceMapping": [
{
"source": "production",
"destination": "production-clone"
}
],
"state": "ready",
"stateDetails": [],
"protectionState": "none",
"protectionStateDetails": [],
"namespaces": [
"production-clone"
],
"snapshotID": "8d561930-0437-4647-b3e6-49b8a5362e3d",
"clusterName": "GKE-24",
"clusterID": "0f284377-e5dc-4dcd-bacd-3197f2b8a347",
"clusterType": "kubernetes",
"metadata": {
"labels": [],
"creationTimestamp": "2022-10-06T20:58:16.305662Z",
"modificationTimestamp": "2022-10-06T20:58:16.305662Z",
"createdBy": "8f84cf09-8036-51e4-b579-bd30cb07b269"
}
}
Resposta
Status: 401, Unauthorized
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
tipo |
string |
Verdadeiro |
|
título |
string |
Verdadeiro |
|
detalhe |
string |
Verdadeiro |
|
status |
string |
Verdadeiro |
|
ID de correlação |
string |
Falso |
Exemplo de resposta
{
"type": "https://astra.netapp.io/problems/3",
"title": "Missing bearer token",
"detail": "The request is missing the required bearer token.",
"status": "401"
}
Resposta
Status: 400, Bad request
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
tipo |
string |
Verdadeiro |
|
título |
string |
Verdadeiro |
|
detalhe |
string |
Verdadeiro |
|
status |
string |
Verdadeiro |
|
ID de correlação |
string |
Falso |
|
invalidParams |
array["invalidParams"] |
Falso |
Lista de parâmetros de consulta inválidos |
Exemplo de resposta
{
"type": "https://astra.netapp.io/problems/5",
"title": "Invalid query parameters",
"detail": "The supplied query parameters are invalid.",
"status": "400"
}
Resposta
Status: 403, Forbidden
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
tipo |
string |
Verdadeiro |
|
título |
string |
Verdadeiro |
|
detalhe |
string |
Verdadeiro |
|
status |
string |
Verdadeiro |
|
ID de correlação |
string |
Falso |
Exemplo de resposta
{
"type": "https://astra.netapp.io/problems/11",
"title": "Operation not permitted",
"detail": "The requested operation isn't permitted.",
"status": "403"
}
Erro
Status: 404, Not found
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
tipo |
string |
Verdadeiro |
|
título |
string |
Verdadeiro |
|
detalhe |
string |
Verdadeiro |
|
status |
string |
Verdadeiro |
|
ID de correlação |
string |
Falso |
Exemplo de resposta de erro
{
"type": "https://astra.netapp.io/problems/2",
"title": "Collection not found",
"detail": "The collection specified in the request URI wasn't found.",
"status": "404"
}
Definições
Ver definições
targetSchema
aceitar-post
aceitar-put
dicas
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
status |
string |
Falso |
|
permitir |
array[string] |
Falso |
|
aceitar-post |
Falso |
||
permissões |
array[string] |
Falso |
|
aceitar-put |
Falso |
tipo_astra_link
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
rel |
string |
Verdadeiro |
|
href |
string |
Verdadeiro |
|
tipo |
string |
Falso |
|
targetSchema |
Falso |
||
título |
string |
Falso |
|
dicas |
Falso |
GVK
Objeto JSON contendo um grupo/versão/tipo do Kubernetes.
-
Este objeto é validado internamente em relação ao Astra/apiResources.
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
grupo |
string |
Verdadeiro |
String JSON contendo um identificador de grupo atribuído pelo Kubernetes.
|
tipo |
string |
Verdadeiro |
String JSON contendo um identificador de tipo atribuído pelo Kubernetes.
|
versão |
string |
Verdadeiro |
String JSON contendo um identificador de versão atribuído pelo Kubernetes.
|
clusterScopedResources
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
GVK |
Verdadeiro |
Objeto JSON contendo um grupo/versão/tipo do Kubernetes.
|
|
labelSelectors |
array[string] |
Falso |
Array JSON de strings JSON representando um seletor de rótulo para os GroupVersionKinds (GVKs) com escopo de cluster dentro do cluster. Se estiver vazio, todas as instâncias de GVK no cluster serão incluídas. Cada elemento neste array é uma string de seletor de rótulo do Kubernetes e segue a mesma gramática para esses valores. Exemplos:
|
namespaceScopedResources
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
namespace |
string |
Verdadeiro |
String JSON contendo o nome de um namespace no qual o aplicativo está definido. Os valores definidos são:
|
labelSelectors |
array[string] |
Verdadeiro |
Array JSON de strings JSON representando um seletor de rótulo dentro do namespace. Se estiver vazio, todos os recursos no namespace serão incluídos. Cada elemento neste array é uma string de seletor de rótulo do Kubernetes e segue a gramática para esses valores. Exemplos:
|
type_astra_stateTransition
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
de |
string |
Verdadeiro |
|
para |
array[string] |
Verdadeiro |
type_astra_stateDetail
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
tipo |
string |
Verdadeiro |
|
título |
string |
Verdadeiro |
|
detalhe |
string |
Verdadeiro |
namespaceMapping
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
fonte |
string |
Verdadeiro |
String JSON contendo o nome do namespace no cluster de origem. Os valores definidos são:
|
destino |
string |
Verdadeiro |
String JSON contendo o nome do namespace no cluster de destino. Os valores definidos são:
|
storageClassMapping
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
fonte |
string |
Verdadeiro |
String JSON contendo o nome da classe de armazenamento de origem. Também pode ser '*' para especificar todas as classes de armazenamento de origem. Os valores definidos são:
|
destino |
string |
Verdadeiro |
String JSON contendo o nome da classe de armazenamento de destino. Os valores definidos são:
|
GVKN
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
grupo |
string |
Falso |
String JSON contendo um identificador de grupo atribuído pelo Kubernetes.
|
versão |
string |
Falso |
String JSON contendo um identificador de versão atribuído pelo Kubernetes.
|
tipo |
string |
Falso |
String JSON contendo um identificador de tipo atribuído pelo Kubernetes.
|
espaços de nomes |
array[string] |
Falso |
Matriz JSON de strings JSON que descrevem os namespaces dos quais os recursos devem ser incluídos ou excluídos. Os valores definidos são:
|
nomes |
array[string] |
Falso |
Matriz JSON de strings JSON descrevendo nomes de recursos do Kubernetes a serem incluídos ou excluídos da restauração seletiva. Os valores definidos são:
|
labelSelectors |
array[string] |
Falso |
Array JSON de strings JSON que descrevem os seletores de rótulos do Kubernetes usados para incluir ou excluir recursos da restauração seletiva. Cada elemento neste array é uma string de seletor de rótulo do Kubernetes e segue a mesma gramática para esses valores. Exemplos:
|
restoreFilter
Objeto JSON contendo uma lista de filtros que descrevem quais recursos são incluídos ou excluídos de uma operação de restauração seletiva. Incluir e excluir são mutuamente exclusivos, e uma restauração seletiva só pode usar um tipo de filtro.
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
resourceSelectionCriteria |
string |
Falso |
String JSON contendo um valor que indica como os filtros de recursos selecionam recursos. Os valores válidos são include ou exclude. |
GVKN |
array["GVKN"] |
Falso |
Matriz JSON de objetos JSON que descrevem os recursos a serem filtrados durante uma restauração seletiva. Um recurso corresponde a um único elemento de filtro GVKN se todos os campos de filtro especificados corresponderem ao campo de recurso correspondente. Campos de filtro que são matrizes (por exemplo, namespaces e nomes) correspondem se qualquer um de seus elementos corresponder ao campo de recurso correspondente. O campo labelSelectors exige que todos os seletores correspondam. Um recurso que corresponde a qualquer filtro na matriz de objetos de filtro GVKN é incluído ou excluído da restauração com base no valor resourceSelectionCriteria. Especificar objetos GVKN vazios resulta em um erro de validação. |
tipo_astra_label
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
nome |
string |
Verdadeiro |
|
valor |
string |
Verdadeiro |
type_astra_metadados_update
Metadados especificados pelo cliente e pelo serviço associados ao recurso. Os valores definidos são:
-
Está em conformidade com o esquema de metadados Astra. Se não for especificado na criação, um objeto de metadados será criado sem rótulos. Se não for especificado na atualização, os rótulos do objeto de metadados, creationTimestamp e createdBy, serão preservados sem modificação.
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
etiquetas |
array["tipo_astra_label"] |
Falso |
|
CriaçãoTimestamp |
string |
Falso |
|
Alteração do Timestamp |
string |
Falso |
|
CreatedBy |
string |
Falso |
|
modifiedBy |
string |
Falso |
invalidParams
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
nome |
string |
Verdadeiro |
Nome do parâmetro de consulta inválido |
razão |
string |
Verdadeiro |
Motivo pelo qual o parâmetro de consulta é inválido |