Primeiros passos com a API Cloudability V3

Autenticação de API

Nota do autor: Autenticação para Cloudability Commercial, Essential, Standard e Premium

Você pode usar as chaves de API Cloudability ou Access Administration apptio-opentoken para autenticar as solicitações de API Cloudability.

As permissões para interações de API para criar, atualizar, ler e excluir correspondem às permissões de usuário do site Cloudability. Por exemplo, somente um administrador do Cloudability pode provisionar um novo cluster de contêineres para coleta de dados, enquanto qualquer usuário do Cloudability com acesso à API pode obter informações sobre o uso de recursos de um cluster de contêineres existente.

Nota:

Como o site Cloudability está disponível para usuários nas regiões da Europa, Ásia-Pacífico e Oriente Médio, todas as referências a api.cloudability.com nesta documentação devem ser chamadas de api-eu.cloudability.com ou api-au.cloudability.com ou api-me.cloudability.com pelos clientes hospedados na região da UE, APAC ou ME, respectivamente.

Nota:

Em ambientes GovCloud, você deve usar Access Administration apptio-opentoken para autenticar as solicitações de API Cloudability. A autenticação usando chaves de API Cloudability não é compatível com os ambientes GovCloud.

Cloudability Chaves de API

Para criar uma chave de API Cloudability :

  1. Abra o seguinte site URL em seu navegador da Web: https://app.apptio.com/cloudability#/settings/preferences.
  2. Na seção Cloudability API, selecione Enable API (Ativar API ). Uma chave de API é gerada e exibida na caixa de texto.

Access Administration aplicação-opentoken

Para obter informações sobre como obter um apptio-opentoken, consulte Access Administration API: Autenticação via chaves de API.

Nota do autor: Autenticação para o governo Cloudability

Interações de API

Interações de API usando chaves de API do Coudability

Use o apptio-opentoken para habilitar o acesso à nossa API. Visite Enhanced Access Administration API: Authentication via API keys (Autenticação via chaves de API ) para saber como obter um openpoint de aplicativo.

As interações da API com Cloudability são protegidas por https. Seu apptio-opentoken forma o componente de nome de usuário do cabeçalho de autenticação básico. Portanto, o cabeçalho da autorização seria semelhante:

Autorização: Basic

Exemplo

A seguinte chamada de API retorna uma lista de todos os orçamentos atuais.

curl https://api.cloudability.com/v3/budgets -u 'Your_API_Key:'

Interações de API

Nota do autor: Autenticação para Cloudability Commercial, Essential, Standard e Premium

Interações de API usando chaves de API do Coudability

As interações da API com Cloudability são protegidas por HTTPS. Seu token forma o componente de nome de usuário do cabeçalho Basic Auth. O cabeçalho de autorização para autenticação básica terá o seguinte formato:

Autorização: Basic

Exemplo

A seguinte chamada de API retorna uma lista de todos os orçamentos atuais.

curl https://api.cloudability.com/v3/budgets -u 'Your_API_Key:'

Interações de API usando o aplicativo Frontdoor

Com esse método de autenticação, passe o apptio-opentoken e o apptio-environmentid no cabeçalho.

Exemplo

A API a seguir retorna uma lista de todos os orçamentos atuais.

curl https://api.cloudability.com/v3/budgets -H "apptio-opentoken: [apptio opentoken]" -H "apptio-environmentid: [apptio Access Administration environment id]"

Formato de resposta

Todas as respostas bem-sucedidas estarão no seguinte formato:

{
    result: {} or [],
    meta: {},
}
  • result conterá os resultados ou a carga útil da chamada.

  • Informações auxiliares (como detalhamento de paginação e outras) existirão no atributo meta, se relevantes.

  • Os valores primitivos serão nulos se nenhum valor estiver presente (ou seja, números, cadeias de caracteres).

  • Objetos e matrizes retornarão seus estados vazios ( [] ) se nenhum valor estiver presente.

  • As datas são representadas no padrão ISO 8601 e usam o formato AAAA-MM-DD.

Cabeçalhos

Solicitações POST e PUT

Content-Type: application/json

Solicitações GET (para todos os pontos de extremidade)

Aceitar: application/json

Solicitações GET (suportadas por alguns pontos de extremidade)

Aceitar: text/csv

Autorização (se estiver usando chaves de API Cloudability )

Autorização: Basic <cldy_token>

Paginação

Nem todos os pontos de extremidade suportam paginação. Os pontos de extremidade que não suportam paginação sempre retornarão todos os registros. Os pontos de extremidade que suportam paginação retornarão os primeiros 50 registros correspondentes por padrão.

Ao tentar a paginação, você deve usar os parâmetros de limite e deslocamento juntos. Quando você usar esses parâmetros, o conjunto de resultados será restrito ao limite especificado a partir do valor de deslocamento.

O valor padrão para o limite é 50 (retorna 50 registros) e o deslocamento é 0 (início dos registros).

Exemplo

O exemplo a seguir mostra como usar os parâmetros de limite e deslocamento com o sort.

/views?limit=5&offset=20

Classificação

Use o parâmetro de consulta sort para classificar seus resultados. Para especificar a ordem de classificação, você pode adicionar - ( decrescente) ou + ( crescente) antes do atributo.

Exemplos

Classifique os resultados do ponto final do portfólio pelo atributo final em ordem decrescente.

/portfolio/ec2?sort=-end

Classifique os resultados do ponto final do portfólio pelo atributo final em ordem crescente.

/portfolio/ec2?sort=%2bend

(Certifique-se de codificar corretamente o símbolo +)

Filtragem

Ao usar o parâmetro de consulta filter, você fornece uma dimensão que deseja filtrar, seguida da expressão de filtro.

As consultas filtradas restringem as linhas que são incluídas no resultado. Somente as linhas que atendem às condições do filtro são incluídas no resultado. Observe que as bibliotecas do cliente codificam automaticamente os operadores de filtro em URL. No entanto, se você fizer solicitações diretamente ao protocolo, deverá codificar explicitamente os seguintes operadores de filtro no site URL. Além disso, a filtragem ocorre antes que qualquer dimensão seja agregada, de modo que as métricas retornadas representem o total apenas dos registros relevantes.

Sintaxe do filtro: expressão do operador de nome

name: O nome da dimensão na qual o filtro será aplicado.

operador: Especifica o tipo de correspondência de filtro a ser usado. Você pode usar os seguintes operadores:

== (igual)

!= (não é igual)

> (maior que)

< (menos que)

>= (maior que ou igual a)

<= (menor que ou igual a)

=@ (contém)

!=@ (não contém)

expressão: Declara os valores incluídos nos resultados.

Para aplicar vários filtros a uma solicitação, delimite-os com vírgulas em um parâmetro de filtro.

Exemplos

Verificar se o estado está ativo:

/portfolio/ec2?filter=state==active

Verifique se o estado está aposentado:

/portfolio/ec2?filter=state==retired

Verifique se o final é menor que 1541803776000:

/portfolio/ec2?filter=end<1541803776000

Verifique se o final é maior que 1541803776000:

/portfolio/ec2?filter=end>1541803776000

Aplique vários filtros:

/portfolio/ec2?filter=state==active,end>1541803776000

Cloudability exemplos de pontos finais

A documentação de cada ponto final incluirá vários exemplos que mostrarão como interagir com a API. Os exemplos usarão cURL para interações HTTP e jq para analisar JSON. Essas duas ferramentas de CLI são amplamente usadas e podem ser facilmente empregadas para interagir com uma API RESTful.