Esta página descreve como começar a usar a versão 1 da API cloudsupport.googleapis.com
. Atualmente, a versão 2 dessa API está disponível somente como uma versão pré-GA. Para mais informações, consulte as
descrições da fase de lançamento.
Visão geral do processo
Nesta seção, detalhamos o processo de alto nível para começar a usar a API.
- A equipe do Customer Care cria uma conta de suporte para o cliente. Esse é um pré-requisito para todas as operações posteriores.
O cliente especifica à equipe do Customer Care qual ID de projeto ele quer usar para acessar a API. Esse projeto será o projeto do consumidor designado para a API.
Esse projeto será o recurso em que a API está ativada, mas as credenciais para chamar a API podem ser usadas em qualquer projeto do Google Cloud.
O cliente gera uma chave de API para o projeto do consumidor. O cliente usará essa chave de API para fazer chamadas. Para gerar uma chave de API, consulte Como usar chaves de API.
A equipe do Customer Care autoriza o acesso da API à equipe do cliente (aplicando os rótulos de visibilidade corretos).
A equipe do Customer Care autoriza a conta de suporte ao cliente para acessar a conta de serviço.
O cliente ativa a API Cloud Support visitando a página da API Cloud Support no Console do Google Cloud e clicando em ATIVAR.
Se você quiser a integração da conta de serviço:
O cliente provisiona uma ou mais contas de serviço seguindo as instruções em Noções básicas sobre contas de serviço.
O cliente concede à conta de serviço o papel
Organization Viewer
na guia do IAM no Console do Google Cloud ou qualquer outro papel que conceda a permissãoresourcemanager.organizations.get
.Isso também pode ser feito de maneira programática:
gcloud organizations add-iam-policy-binding organizations/ord-id --role roles/resourcemanager.organizationViewer --member service-account
O cliente adiciona uma ou mais dessas contas de serviço como um usuário de suporte na página Suporte > Configurações no Console do Google Cloud.
O cliente permite que o conector JIRA ou outros aplicativos acessem a conta de serviço compartilhando credenciais. Para ver as etapas, consulte Visão geral da autenticação.
Se o cliente já tiver alguma ferramenta de gerenciamento de credenciais, convém utilizar a mesma ferramenta para as contas de serviço do Google Cloud.
Os aplicativos do cliente fazem chamadas de API regulares (como um usuário final faria), usando as credenciais da conta de serviço em vez de credenciais do usuário final.
Se você quiser a autenticação do OAuth 2.0:
- Se você ainda não estiver autenticando com o Google usando OAuth2, configure-o até
seguindo os guias disponíveisOAuth 2.0 para acessar as APIs do Google de dados. Preste ainda mais atenção à seção sobre autorização incremental. - Verifique se os dois escopos a seguir foram adicionados aos IDs do cliente OAuth2 usados
pelo aplicativo:
- Para acesso geral ao Google Cloud:
https://www.googleapis.com/auth/cloud-platform
ouhttps://www.googleapis.com/auth/cloud-platform.read-only
- Para acessar a recuperação ou criar tíquetes de suporte e outros dados relacionados
ao suporte:
https://www.googleapis.com/auth/cloudsupport
- Para acesso geral ao Google Cloud:
Como buscar a definição da API
A definição da API é exibida como um documento de descoberta do Google Cloud.
Veja um exemplo: Substitua <API_KEY>
por uma chave de API gerada
no projeto do consumidor, uma etapa anterior.
curl 'https://cloudsupport.googleapis.com/$discovery/rest?key=<API_KEY>&labels=TRUSTED_TESTER&version=v1alpha2' > /tmp/cloudsupport.v1alpha2.json
API REST
Para todos os endpoints listados abaixo, o valor de <host>
precisa ser substituído por cloudsupport.googleapis.com
.
Casos
Recupere e crie casos de suporte.
Papéis necessários
Tipo | Papel |
IAM
|
Visualizador da conta de suporte (organização) |
IAM
|
Visualizador da organização (organização) |
GetCase
Recuperar a consulta de suporte especificada.
Formato REST
GET <host>/v1/{name=supportAccounts/*/cases/*}
Parâmetros
Número da conta e do caso de suporte especificados no URL da solicitação.
Exemplo
curl -v -H 'Authorization: Bearer <TOKEN>' -H 'Content-Type: application/json' https://cloudsupport.googleapis.com/v1/supportAccounts/gcp-sa-1234/cases/5678
CreateCase
Cria um caso e o associa à SupportAccount fornecida.
Formato REST
POST <host>/v1/{parent=supportAccounts/*}/cases
Parâmetros
Nome | Tipo | Descrição |
case
|
Case
|
Um objeto de caso. Exemplo: { \ display_name: "My test case for Istio", \ description: "Istio network latency spike", \ category: "Compute", \ component: "Istio", \ subcomponent: "Networking", \ time_zone: "-07:00", \ cc_addresses: ["foo@domain.com", "bar@domain.com"], \ project_id: "my-gcp-test-project-1234", \ priority: 3 \ } |
Exemplo
curl -v -H 'Authorization: Bearer <TOKEN>' -H 'Content-Type: application/json' -X POST -d '{ display_name: "My app is down", description: "Datastore appears to be down so my app is broken.", component: "Cloud Datastore", subcomponent: "Availability / Latency", time_zone: "-07:00", project_id: "my-super-project", category: "Storage & Databases", priority: 3 }' https://cloudsupport.googleapis.com/v1/supportAccounts/gcp-sa-1234/cases
Como gerar bibliotecas de cliente
Clone o gerador de clientes das APIs do Google:
cd /tmp/; git clone https://github.com/google/apis-client-generator.git;
Verifique se o Python 2.7 está instalado:
sudo apt-get install python
Verifique se o PIP está instalado:
sudo apt-get install python-pip
Instale as dependências:
pip install google-apis-client-generator
Gerar bibliotecas de cliente:
Este comando gerará um ou dois avisos que começam com
WARNING:root:object without properties
. Eles podem ser ignorados. A biblioteca
de cliente ainda será gerada.
./generate.sh --input=/tmp/cloudsupport.v1alpha2.json --output_dir=/tmp/cloudsupport_generated --language=java
Como usar a API
Antes de começar
- Adicione uma dependência às bibliotecas de cliente de APIs para Java
- Adicione uma dependência no código gerado na etapa acima.
Garantir a compilação do código
// Shared constants String CLOUD_SUPPORT_SCOPE = "https://www.googleapis.com/auth/cloudsupport"; // Customer specific config String SERVICE_ACCOUNT_ID = "<... service account id ...>"; File SERVICE_ACCOUNT_PRIVATE_KEY = new File("<... p12 key file ...>"); String SUPPORT_ACCOUNT_ID = "supportAccounts/gcp-sa-<......>"; // Service setup JsonFactory jsonFactory = JacksonFactory.getDefaultInstance(); HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport(); // This section is for service account authentication // If you are using OAuth2 instead, follow guide at // https://developers.google.com/api-client-library/java/google-oauth-java-client/oauth2 GoogleCredential credential = new GoogleCredential.Builder() .setTransport(httpTransport) .setJsonFactory(jsonFactory) .setServiceAccountId(SERVICE_ACCOUNT_ID) .setServiceAccountPrivateKeyFromP12File(SERVICE_ACCOUNT_PRIVATE_KEY) .setServiceAccountScopes(Collections.singleton(CLOUD_SUPPORT_SCOPE)) .build(); // Main API service is ready to use! CloudSupport supportService = new CloudSupport.Builder(httpTransport, jsonFactory, credential).build(); // Each call will look something like this: SupportAccount account = supportService.supportAccounts().get(SUPPORT_ACCOUNT_ID).execute();