VMware Cloud on AWS API

Introdução

Neste exercício de laboratório, mostraremos como você pode interagir com a plataforma VMware Cloud on AWS por meios programáticos. Vamos analisar como podemos usar o PowerShell como meio de interagir com o Cloud Solution Platform e com o vCenter. Em seguida, analisaremos como podemos interagir com a VMware Cloud através de API REST da AWS e executar ações no Developer Center intergrado na console e também por meio de REST. Para o propósito de nosso exercício de laboratório, estaremos fazendo uso de “Postman” como nosso cliente REST.

Usando PowerShell

APIs1

  1. Clique em Start, e role para baixo até ver o menu do Windows PowerShell
  2. Botão direito no ícone de atalho do PowerShell e selecione Run as Administrator

    APIs3

Instale o módulo VMware PowerCLI

Install-Module VMware.PowerCLI

NOTA: Você será solicitado a instalar o NuGet, siga o padrão ou pressione Y e Enter, você será solicitado a confiar em um repositório não confiável, NÃO aceite o padrão, mas digite Y e pressione Enter.

APIs4

Agora precisamos definir a política de execução como Remote Signed.

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Force

APIs5

Agora você precisará definir a configuração do PowerCLI para ignorar certificados inválidos.

PASSO IMPORTANTE:

Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -Confirm:$false -WarningAction:SilentlyContinue

NOTA: Certifique-se de que o “i” em “Ignore” esteja em letras maiúsculas se você não estiver usando Copiar/Colar

APIs6

Agora precisamos instalar os comandos da CLI do VMware

Install-Module -name VMware.VMC -scope AllUsers -Force

APIs7

Vamos dar uma olhada rápida nos comandos da CLI do VMware

Get-VMCCommand -WarningAction:SilentlyContinue

APIs8

Agora precisamos obter seu token de atualização no console VMC. Volte para ou abra o navegador e faça o login vmc.vmware.com

Se você ainda não está logado

  1. abra uma nova aba
  2. Clique no atalho do VMware Cloud on AWS
  3. Preencha seu endereço de email
  4. Clique em Next

    APIs9

  5. Clique no menu suspenso ao lado de seu Name/Org ID
  6. Clique em My Account

    APIs10

Agora, criaremos um novo token de atualização para o ID vinculado a essa organização

  1. Clique em API Tokens.
  2. Clique Generate a New API Token

    APIs011

  3. Escreva um nome.
  4. Selecione o checkbox em Organization Owner.
  5. Selecione o checkbox em VMware Cloud on AWS.
  6. Clique Generate.

    APIs012

  7. Clique em Copy para guardar.

Note:* Certifique-se de salvar este token de atualização em um local seguro para ser usado na próxima seção ao usar APIs no Postman.

Agora, vamos nos conectar ao servidor VMC, inserir o comando abaixo e anexar o token de atualização após o parâmetro -refreshtoken

connect-vmc -refreshtoken

APIs13

Agora que estamos conectados à nossa organização VMC por meio do PowerShell, podemos ver a quais Orgs temos acesso usando o seguinte comando

Get-VMCorg

Observe a Org Display_Name e o ID

APIs14

Agora que conhecemos a Org Display_Name, podemos encontrar informações sobre os SDDCs dentro da nossa organização.

NOTA: substitua # pelo número da sua estação de trabalho

Get-VMCSDDC -Org VMC-WS#

APIs15

Outra coisa legal que você pode fazer é ver as Credenciais Padrão para o seu SDDC

Get-VMCSDDCDefaultCredential -org VMC-WS#

NOTA: substitua # pelo número da sua estação de trabalho

REST APIs através do Developer Center

Neste módulo, usaremos a VMware Cloud na API REST da AWS para obter algumas informações básicas sobre sua implementação do VMware Cloud na AWS quanto a Organização e SDDC. Para fazer isso, usaremos o novo recurso da Central de Desenvolvedores no VMware Cloud na AWS. Isso foi criado especificamente para se concentrar no uso de APIs e scripts para criar SDDCs, adicionar e remover hosts, além de se conectar e usar o conjunto completo da API do vCenter. Para começar, volte ao seu ambiente VMC.

DeveloperCenter1

Inicie o navegador Google Chrome na sua área de trabalho do Horizon View

DeveloperCenter2

Se você ainda não efetuou login, faça login em sua organização VMware Cloud on AWS.

  1. Na guia VMware Cloud on AWS, clique no menu da Central de desenvolvedores

    DeveloperCenter3

    No Developer Center, existem muitos recursos excelentes para você explorar. Por exemplo, vamos verificar um exemplo de código que foi enviado por um de nossos desenvolvedores de API. Se você rolar por essa tela, verá que há amostras de código para o Postman (uma ferramenta de desenvolvimento da API REST)

    Você também encontrará amostras para Python, PowerCLI e muitos outros. Qualquer um pode contribuir com amostras de código para a comunidade, se isso interessa você vai para http://code.vmware.com ou clique em VMware{code} Sample Exchange.

  2. Clique em Code Samples no menu
  3. CLique Download em “PowerCLI - VMC Example Script”

    DeveloperCenter4 Após o download do script

  4. Clique na seta suspensa
  5. Clique em Show in Folder
  6. Descompacte o arquivo PowerCLI-Example-Scripts-master.zip
  7. Abra a pasta PowerCLI-Example-Scripts-master
  8. Abra a pasta Scripts
  9. Abra a pasta VMware_Cloud_on_AWS
  10. Clique com o botão direito do mouse no script VMC Example Script.ps1
  11. Clique em editar

    Isso abrirá o ambiente do PowerShell ISE. Agora você pode ver os comandos do PowerShell que você usou no módulo anterior, bem como outros comandos que você pode usar com o seu SDDC. Feche as janelas do PowerShell ISE

    DeveloperCenter6

    Vamos agora executar alguns comandos simples da API REST embutidos no Developer Center, voltar para o seu navegador

  12. Clique no menu do API Explorer
  13. Certifique-se de selecionar seu SDDC
  14. Clique na seta suspensa ao lado de Organização
  15. Clique na seta suspensa ao lado da primeira API “GET”
  16. Clique em Execute

    DeveloperCenter7

    O que não fizemos? Nós não colocamos nenhuma autenticação para extrair esses dados. O motivo é que estamos usando a autenticação de sessão para executar esses comandos. Para executar esses comandos em outro aplicativo, como PowerShell ou Postman, você precisará obter seus tokens de recurso e de sessão antes de poder executar esses comandos.

Vamos dar uma olhada na resposta.

  1. Aqui você vê o nome alfanumérico da Organização. Que você também pode encontrar em #3
  2. A organização ID. NOTA: Copie o número de ID, sem as aspas, para possível uso na próxima etapa.
  3. A organização Display_Name
  4. A versão da organização

    DeveloperCenter8

Nesta etapa, obteremos algumas informações sobre nossa organização

  1. Clique na seta suspensa por SDDCs
  2. Clique em GET
  3. O ID da organização já deve ser preenchido para você, outro ótimo recurso que os desenvolvedores criaram com base no feedback do cliente. NOTA: se esta ID da organização não foi preenchida automaticamente, cole-a.
  4. Clique em Execute

    DeveloperCenter9

    Agora vamos olhar para o corpo da resposta25. The creation date of the SDDC

  5. O SDDC ID
  6. O SDDC state

Postman

Neste módulo, exploraremos como usar o Postman para executar solicitações da API REST e construir a automação por meio de Collections. Postman é uma ferramenta de API Explorer. Como exemplo, você pode criar variáveis ​​para uso nas APIs, testar a resposta e usar webhooks para integrar com plataformas de colaboração.

Postman1

O Postman é muito fácil de instalar, então vamos começar.

  1. Abra uma nova aba e acesse https://www.getpostman.com
  2. Clique em Download the App

    Postman2

  3. Selecione Postman para Windows (64-bit). Clique Download. Dê um duplo clique no arquivo baixado, a instalação será executada sem interação.

    NOTA: Para finalizar, você pode fechar todas as guias do carteiro no Chrome

    Postman3

  4. Clique no texto: Skip Signing in and Take me straight to the app

    Postman4

  5. Não selecione Show this window on launch
  6. Feche a janela do browser

    Postman5

    Volte para a janela do seu navegador, se você não tiver uma guia aberta para o VMware Cloud na AWS, siga as instruções abaixo

  7. Navegue em https://github.com/vmware/vsphere-automation-sdk-rest/archive/master.zip para fazer o download do SDK REST do vSphere Automation.

    Nossa equipe interna de desenvolvimento de API fez um ótimo trabalho pré-criando SDKs para muitos dos linguagens populares em uso atualmente. Para este módulo, usaremos o SDK para REST para mostrar como você pode importar e reutilizar facilmente algumas Collections pré-criadas para criar suas próprias Collections.

    Postman7

  8. This step intentionally left blank
  9. This step intentionally left blank
  10. Clique no menu de download
  11. Clique em Open

    Postman8

  12. Clique em Extract
  13. Clique em Extract all

    Postman9

    Vamos manter o caminho do arquivo padrão.

  14. Desmarque a caixa
  15. Clique em Extract

Feche a janela do explorador de arquivos.

![Postman10](https://s3-us-west-2.amazonaws.com/vmc-workshops-images/APIs/Postman10.jpg)

Agora que temos o Postman instalado e nossas amostras de REST em nosso sistema local, vamos importar a coleção VMC e usar algumas solicitações para construir nossa própria coleção.

  1. Clique em Import
  2. Clique em Choose Files

    Postman11

    Para importar o arquivo json da coleção VMC, fizemos o download anteriormente.

  3. Navegue até o diretório que extraímos o arquivo zip para o exercício anterior. Esse diretório deve ser C:\downloads\vsphere-automation-sdk-rest-master\vsphere-automation-sdk-rest-master\samples\postman
  4. Clique em VMware Cloud on AWS APIs.postman_collection.json
  5. Clique Open

    Postman12

    Agora precisamos receber nosso token de atualização para nossa Org em VMC. Volte para sua guia VMware Cloud on AWS no seu navegador

  6. Clique no menu suspenso ao lado do seu Name/Org ID
  7. Clique em My Account

    Agora, criaremos um novo token de atualização para o código vinculado a essa organização.

    NOTA: Se você já gerou um token, use o mesmo token que foi gerado. Você também pode gerar um novo token, se necessário.

    Postman13

  8. Clique em API Tokens.
  9. Clique Generate a New API Token

    APIs011

  10. Escreva um nome.
  11. Selecione o checkbox em Organization Owner.
  12. Selecione o checkbox em VMware Cloud on AWS.
  13. Clique Generate.

    APIs012

  14. Clique em Copy para guardar.

    Postman16

    Volte para o aplicativo Postman. Agora precisamos configurar um ambiente do Postman para uso com o VMC. Um ambiente é onde nós estaremos criando e armazenando nossas variáveis. Essas variáveis ​​podem ser locais ou globais, dependendo do seu uso no Postman. Neste módulo, estaremos usando apenas variáveis ​​locais.

  15. Clique em New
  16. Clique em Environment

    Postman17

  17. Nomeio o ambiente como VMC
  18. Na coluna Type escreva refresh_token
  19. Na coluna Value, use CTRL-V para colar seu token de atualização real copiado em uma etapa anterior.
  20. Clique em Add
  21. Feche a janela

    Postman18

    Agora defina isso como nosso ambiente padrão.

    NOTA: Se você não definir o ambiente padrão como VMC, as variáveis ​​criadas não serão acessíveis.

  22. Clique na seta suspensa
  23. Selecione VMC

    Postman19

    Agora começaremos a criar nossa própria Collection usando alguma solicitação que veio no SDK que importamos anteriormente.

  24. Clique em Collections
  25. Clique em - Authentication and Login
  26. Veja como esta solicitação é nossa variável de token de atualização que definimos em uma etapa anterior.

    NOTA: Se o ambiente não estiver configurado como VMC, isso ocasionará uma falha porque a variável refresh_token não está definida.

  27. Clique em Send
  28. Agora você verá o token de acesso gerado com o token de atualização. Isto é a resposta ao nosso pedido.

    Postman20

  29. Clique no icone Eye

    Você verá que nós armazenamos seu token de acesso em uma variável para que possamos usá-lo para chamadas futuras. Como fizemos isso? Nós fizemos um “teste” no corpo da resposta. Você verá como no próximo passo.

    Postman21

  30. Clique em Tests

    A variável access_token foi configurada executando algum código de script java na resposta. Também estamos usando a função setEnvironmentVariable do Postman para criá-la.

    Postman22

    Vamos salvar essa solicitação para nossa própria coleção para que possamos usá-la mais tarde.

  31. Clique na seta suspensa
  32. Clique em Save As

    Postman23

  33. Alterar o Request Name para Authorize
  34. Alterar o Request description para Get Access Token
  35. Clique em +Create Collection
  36. Escreva Workshop e clique no check box

    Postman24

  37. Selecione a pasta Workshop
  38. Clique em Save to Workshop

    Postman25

    Uma nova janela será aberta indicando que você criou uma nova Collection. Nós não faremos nada aqui neste momento.

  39. Feche a janela

    Postman26

    Vamos solicitar alguns detalhes da nossa Org para que possamos enviá-los para o Slack.

  40. Clique em Orgs e List Orgs
  41. Clique em Headers
  42. Clique Send
  43. Você vê aqui como estamos usando a variável access_token para o csp-auth-token. Isso autorizará nosso pedido. NOTA: Este token de acesso só é válido por 30 minutos. Se você executar essa solicitação e receber uma resposta do 400 unauthorized, volte e execute a solicitação de autorização.
  44. Olhe através do corpo da resposta para sua organização display_name

    Postman27

    Vamos salvar essa solicitação para nossa própria coleção, para que possamos usá-la mais tarde.

  45. Clique na seta suspensa
  46. Clique em Save As

    Postman28

  47. Modifique o Request name para Org list
  48. Modifique o Request description para Get a list of your Orgs
  49. Tenha certeza que Workshop está selecionado em Select a collection or folder to save to:
  50. Clique em Save to Workshop

    Postman29

    Precisamos substituir o código de teste que acompanha o SDK para que possamos criar uma variável que desejamos usar ao enviar nossa mensagem ao Slack.

  51. Clique em Tests Copie e cole o código abaixo na seção Tests. NOTA: Você pode ter que pressionar CTRL-V para colar na caixa de texto.

  52. Clique Send

    var jsonData = JSON.parse(responseBody);
    
    if (responseCode.code === 200) {
    for (i = 0; i < jsonData.length; i++) {
      pm.environment.set("name", jsonData[i].display_name);
      pm.environment.set("ID", jsonData[i].id);
      pm.environment.set("version", jsonData[i].version);
      pm.environment.set("state", jsonData[i].project_state);
       }
     }
    

    Postman30

    Podemos verificar se as variáveis ​​foram criadas e atribuídas valores.

  53. Clique no ícone Eye (Olho)
  54. Role para baixo para ver se as novas variáveis ​​foram criadas. Uma vez verificada, clique no ícone “olho” novamente para fechar a janela

    Postman31

    Vamos salvar as alterações que fizemos nessa solicitação.

  55. Clique em Save

    Postman32

    Agora que temos detalhes de nossa Org, vamos enviá-los para ler uma mensagem.

    Para postar no slack, um link precisa ser gerado para o canal slack ao qual queremos postar. Isso já foi feito para você e está listado abaixo. Um dos instrutores terá este canal slack exibido nas telas. Então você pode ver os resultados.

    URL do Slack: link https://hooks.slack.com/services/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

Agora precisamos configurar a solicitação:
  1. Clique em + para uma nova Request
  2. Mude request type para POST
  3. Recorte e cole o URL do canal slack acima para o address
  4. Selecione Body
  5. Altere o tipo de formato para raw
  6. Digite o código abaixo ou recorte e cole na seção Body. NOTA: Você pode ter que pressionar CTRL-V para passar para a caixa de texto.

    {
      "text" : "Your Org ID is: {{ID}}\nYour Org version is: {{version}}\nAnd your Org state is: {{state}}",
      "username" : "{{name}}"
    }
    
  7. Clique Send

    Postman33

    Vamos salvar essa solicitação para nossa própria coleção para que possamos usá-la mais tarde.

  8. Clique na seta suspensa
  9. Clique Save As

    Postman34

  10. Mude o Request name para Post to Slack
  11. Mude o Request description para Post some Org details to slack. Tenha certeza que Workshop está selecionado em Select a collection or folder to save to:
  12. Clique em Save to Workshop

    Verifique e veja se sua solicitação postou o nome, a ID, a versão e o status da sua organização.

    Postman35

    A última coisa para mostrar a você com o Postman é a maneira como você pode executar uma Collection para automatizar uma série de tarefas. O que fizemos neste módulo é construir uma Collection. Como você vê na captura de tela, há três tarefas na Collection do Workshop.

  13. Clique na seta na janela do Workshop
  14. Clique em Run

    Postman36

  15. Clique em Run Workshop
  16. Tenha certeza que Environment está configurado como VMC

    Postman37

    Se todo o seu trabalho foi salvo e executado individualmente, eles também devem ser executados aqui.

  17. Confira o status de cada solicitação.

Se você tem todos os “200 OK”, então você verá outro post no slack para o seu workshop Org.

Por favor, adicione comentários abaixo se você gostaria de dar feedback sobre este laboratório.

Updated:

Leave a Comment