Criar um novo cluster para uma nuvem
POST /accounts/{account_id}/topology/v1/clouds/{cloud_id}/clusters
Indica os valores desejados para o recurso da Cluster API a ser criado.
Parâmetros
| Nome | Tipo | Em | Obrigatório | Descrição |
|---|---|---|---|---|
id_da_conta |
string |
caminho |
Verdadeiro |
ID do recurso de conta que o contém
|
id_da_nuvem |
string |
caminho |
Verdadeiro |
ID do recurso de nuvem que o contém |
Corpo da solicitação
Indica os valores desejados para o recurso da Cluster API a ser criado.
| 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:
|
nome |
string |
Falso |
String JSON contendo um nome para o cluster. Se não for especificado, o nome do cluster no Kubernetes será usado. Os valores definidos são:
|
accHost |
string |
Falso |
String JSON que indica que este cluster hospeda a instância do Astra Control Center que está sendo acessada no momento. Os valores definidos são:
|
ID da credencial |
string |
Falso |
String JSON contendo um valor que indica o ID da credencial que contém o arquivo kubeconfig do cluster. Os valores definidos são:
|
ID da rota privada |
string |
Falso |
String JSON contendo o ID de localização para clusters privados.
|
connectorCapabilities |
array[string] |
Falso |
Funcionalidades do conector associado a este cluster. Opcional para compatibilidade com versões anteriores. Se não estiver presente, assume-se a funcionalidade de proxy. |
metadados |
Falso |
Metadados especificados pelo cliente e pelo serviço associados ao recurso. Os valores definidos são:
|
Exemplo de solicitação
{
"type": "application/astra-cluster",
"version": "1.5",
"name": "GKE-22",
"credentialID": "6fa2f917-f730-41b8-9c15-17f531843b31"
}
Resposta
Status: 201, Returns the newly created cluster 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:
|
nome |
string |
Verdadeiro |
String JSON contendo um nome para o cluster. Se não for especificado, o nome do cluster no Kubernetes será usado. Os valores definidos são:
|
estado |
string |
Verdadeiro |
Cadeia JSON contendo um valor que indica o estado operacional do cluster. Os valores definidos são:
|
stateUnready |
array[string] |
Verdadeiro |
Matriz JSON de strings JSON, cada uma indicando um motivo pelo qual o cluster não consegue transitar para o estado "em execução", quando há problemas enquanto está no estado "em execução" ou por que transitou para o estado "com falha" ou "removido". Os valores definidos são:
|
managedState |
string |
Verdadeiro |
String JSON contendo um valor que indica o estado de gerenciamento do cluster. Os valores definidos são:
|
protectionState |
string |
Verdadeiro |
String JSON contendo um valor que indica o estado de proteção do cluster. 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:
|
restoreTargetSupported |
string |
Falso |
String JSON contendo um valor que indica a capacidade do cluster de ser um alvo para operações de gerenciamento de dados de aplicativos. Os valores definidos são:
|
snapshotSupported |
string |
Falso |
String JSON contendo um valor que indica a capacidade do cluster de executar operações semelhantes a backup de gerenciamento de dados de aplicativos. Os valores definidos são:
|
managedStateUnready |
array[string] |
Verdadeiro |
Matriz JSON de strings JSON, cada uma indicando um motivo pelo qual o cluster não é elegível para ser gerenciado ou que o cluster está sendo gerenciado, mas erros não fatais foram encontrados durante o gerenciamento do cluster. Os valores definidos são:
|
managedTimestamp |
string |
Falso |
String JSON contendo o carimbo de data/hora que indica quando o cluster foi colocado sob gerenciamento. Os valores definidos são:
|
tridentVersion |
string |
Falso |
String JSON contendo a versão do Trident instalada no cluster. Os valores definidos são:
|
tridentManagedState |
string |
Falso |
String JSON contendo um de um conjunto de valores enumerados que indicam o estado de gerenciamento do Trident neste cluster. Os valores definidos são:
|
tridentManagedStateDesired |
string |
Falso |
String JSON contendo um valor que indica o estado de gerenciamento desejado para Trident. Os valores definidos são:
|
tridentManagedStateDetails |
array["type_astra_stateDetail"] |
Falso |
Matriz JSON de objetos JSON que lista detalhes adicionais sobre o motivo da transição de estado para "gerenciado" ou "não gerenciado". + Se não houver detalhes disponíveis, esta matriz estará vazia.
|
tridentManagedStateAllowed |
array[string] |
Falso |
Estados que podem ser solicitados em um determinado tridentManagedState. Os seguintes estados podem ser solicitados em cada estado definido:
|
inUse |
string |
Verdadeiro |
String JSON contendo um valor que indica se o cluster possui algum aplicativo gerenciado e, portanto, não pode ser excluído. Os valores definidos são:
|
accHost |
string |
Falso |
String JSON que indica que este cluster hospeda a instância do Astra Control Center que está sendo acessada no momento. Os valores definidos são:
|
clusterType |
string |
Verdadeiro |
String JSON contendo um valor que indica o tipo de cluster. Os valores definidos são:
|
clusterVersion |
string |
Falso |
String JSON contendo um valor que indica a representação de versionamento semântico do ambiente do cluster. Para clusters Kubernetes, esta é a versão do Kubernetes. Os valores definidos são:
|
clusterVersionString |
string |
Falso |
String JSON contendo um valor que indica as informações de versionamento estendidas para o ambiente de cluster. Para clusters Kubernetes, esta é a versão completa do Kubernetes. Os valores definidos são:
|
clusterCreationTimestamp |
string |
Falso |
String JSON contendo o carimbo de data/hora que indica quando o cluster foi criado originalmente. Os valores definidos são:
|
espaços de nomes |
array[string] |
Falso |
Matriz JSON de strings JSON, cada uma indicando um namespace dentro do cluster. Os valores definidos são:
|
defaultStorageClass |
string |
Falso |
String JSON contendo um ID de classe de armazenamento que corresponde à classe de armazenamento padrão definida no Kubernetes. Os valores definidos são:
|
cloudID |
string |
Verdadeiro |
String JSON contendo um valor que indica o ID da nuvem na qual o cluster está sendo executado. Os valores definidos são:
|
ID da credencial |
string |
Falso |
String JSON contendo um valor que indica o ID da credencial que contém o arquivo kubeconfig do cluster. Os valores definidos são:
|
localização |
string |
Falso |
String JSON contendo um valor fornecido pela nuvem na qual o cluster está sendo executado, indicando a localização específica do cluster nessa nuvem. Os valores definidos são:
|
isMultizonal |
string |
Falso |
String JSON contendo um valor fornecido pela nuvem na qual o cluster está sendo executado, indicando se o cluster abrange duas ou mais zonas de disponibilidade. Os valores definidos são:
|
ID da rota privada |
string |
Falso |
String JSON contendo o ID de localização para clusters privados.
|
connectorCapabilities |
array[string] |
Falso |
Funcionalidades do conector associado a este cluster. Opcional para compatibilidade com versões anteriores. Se não estiver presente, assume-se a funcionalidade de proxy. |
ID do serviço de API |
string |
Falso |
String JSON contendo o UUID do objeto de serviço de API do Kubernetes (k8s). Usada para identificar um cluster de forma única. |
metadados |
Verdadeiro |
Metadados especificados pelo cliente e pelo serviço associados ao recurso. Os valores definidos são:
|
Exemplo de resposta
{
"type": "application/astra-cluster",
"version": "1.5",
"id": "547e24b9-ddf4-558f-8397-e97e732868e4",
"name": "GKE-22",
"state": "running",
"stateUnready": [],
"managedState": "unmanaged",
"managedStateUnready": [],
"protectionState": "full",
"protectionStateDetails": [],
"tridentVersion": "21.07.2",
"tridentManagedState": "managed",
"tridentManagedStateDetails": [],
"inUse": "false",
"clusterType": "kubernetes",
"clusterVersion": "1.91.1",
"clusterVersionString": "1.19.1",
"clusterCreationTimestamp": "2020-08-06T12:24:52.256624Z",
"namespaces": [
"kube-system",
"kube-public",
"my-app-1"
],
"defaultStorageClass": "31c95aba-99d9-4987-b1bb-000dfce5952c",
"cloudID": "548bdc1f-f00e-4a23-a062-83265d224d46",
"credentialID": "6fa2f917-f730-41b8-9c15-17f531843b31",
"location": "europe-west4",
"isMultizonal": "false",
"apiServiceID": "6bf33af2-872a-4553-a891-26b510c3edbe",
"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 |
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: 409, Conflict
| 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 |
|
invalidFields |
array["invalidFields"] |
Falso |
Lista de campos inválidos no corpo da requisição |
Exemplo de resposta
{
"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"
}
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"
}
Resposta
Status: 500, Internal server error
| 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/64",
"title": "Storage classes not found",
"detail": "Storage classes from Trident weren't found.",
"status": "500"
}
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
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 |
additionalDetails
type_astra_stateDetail
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
tipo |
string |
Verdadeiro |
|
título |
string |
Verdadeiro |
|
detalhe |
string |
Verdadeiro |
|
additionalDetails |
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 |
invalidFields
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
nome |
string |
Verdadeiro |
Nome do campo inválido no corpo da requisição |
razão |
string |
Verdadeiro |
Motivo pelo qual o campo do corpo da solicitação é inválido |