Cree un script de ejemplo que utilice Python para llamar a la API de proyecto de vRealize Automation.

Requisitos previos

Compruebe que se instaló Python 3 y el instalador del paquete del índice de paquetes de Python (Python Package Index, PIP). Consulte la página de descargas de Python y el índice de paquetes de Python.

Procedimiento

  1. En el equipo local, abra un shell de línea de comandos.
  2. Cree una carpeta vro-python-vra.
    mkdir vro-python-vra
  3. Desplácese hasta la carpeta vro-python-vra.
    cd vro-python-vra
  4. Cree un script de Python llamado handler.py.
    touch handler.py
    El script handler.py debe definir una función que acepte dos argumentos: el contexto de la ejecución del flujo de trabajo de vRealize Orchestrator y las entradas enlazadas de vRealize Orchestrator.
    def handler(context, inputs):
        print('Hello, your inputs were ' + inputs)
        return None
    Nota: Mediante las bibliotecas de registro estándar, todo lo que se registre en la acción que utiliza el script también se muestra en el registro del flujo de trabajo. Las entradas y los valores devueltos del script deben tener configurados en el cliente de vRealize Orchestrator los parámetros de entrada y los tipos de valores devueltos correspondientes. Por ejemplo, la entrada vRAUrl en el script debe tener un parámetro de entrada correspondiente denominado vRAUrl en el cliente de vRealize Orchestrator. De forma similar, si el script devuelve un valor de cadena, el tipo de valor devuelto configurado en el cliente de vRealize Orchestrator también debe ser una cadena. Si la acción devuelve un objeto complejo, puede utilizar un tipo de valor devuelto Properties o Composite Type.
  5. Instale el módulo de solicitudes de Python.
    Importante: Los módulos de dependencia de terceros deben instalarse en una carpeta de nivel raíz en la carpeta de scripts vro-python-vra principal. En este caso práctico se crea una carpeta lib para el módulo de solicitudes.
    1. Cree una carpeta lib.
      mkdir lib
    2. Instale el módulo de solicitudes.
      pip3 install requests -t lib/
  6. Agregue el módulo de solicitudes al script handler.py.
    import requests
     
    def handler(context, inputs):
        print('Hello, your inputs were ' + inputs)
        return None
  7. Cree una solicitud GET a la API de proyecto de vRealize Automation.
    token = ''
    vRAUrl = ''
    r = requests.get(vRAUrl + '/iaas/api/projects', headers={'Authorization': 'Bearer ' + token})
     
     
    print('Got response ' + r.text)
  8. Defina los valores de token y de vRAUrl .
    1. Recupere el token de acceso mediante la API del servicio de identidad de vRealize Automation. Consulte Obtener el token de acceso para la API de vRealize Automation.
    2. Para el valor de vRAUrl, defina el script para que utilice un parámetro de entrada de vRealize Orchestrator con el mismo nombre.
      vRAUrl = inputs["vRAUrl"]
    3. Agregue los nuevos valores al archivo handler.py.
      import requests
       
      def handler(context, inputs):
          token = 'ACCESS_TOKEN'
          vRAUrl = inputs["vRAUrl"]
       
          r = requests.get(vRAUrl + '/iaas/api/projects', headers={'Authorization': 'Bearer ' + token})
       
          print('Got response ' + r.text)
       
          return r.json()
      Nota: Dado que la respuesta de la API de proyecto de vRealize Automation se devuelve en formato JSON, utilice un tipo de valor devuelto Properties o Composite Type para la acción de vRealize Orchestrator.
  9. Cree un paquete ZIP que contenga el archivo handler.py y la carpeta lib del módulo de solicitudes.
    zip -r --exclude=*.zip -X vro-python-vra.zip .

Qué hacer a continuación

Importe el script de PowerShell en una acción de vRealize Orchestrator. Consulte Crear acciones en el cliente de vRealize Orchestrator.