Al crear una plantilla de nube en Cloud Assembly, la paleta de tipos de recursos incluye tipos de recursos para la cuenta de nube y los endpoints de integración compatibles. Es posible que se presenten casos prácticos en los que desee crear plantillas de nube basadas en una lista ampliada de tipos de recursos. Puede crear tipos de recursos personalizados, agregarlos al lienzo de diseño y crear plantillas de nube que sean compatibles con sus necesidades de diseño e implementación.

Nombre del recurso personalizado y tipo de recurso

El nombre de recurso personalizado identifica a ese recurso dentro de la paleta de tipos de recursos de la plantilla de nube.

El tipo de recurso de un recurso personalizado debe comenzar con Custom. y cada tipo de recurso debe ser único. Por ejemplo, puede establecer Custom.ADUser como un tipo de recurso para un recurso personalizado que agrega usuarios de Active Directory. A pesar de que la inclusión de Custom. no está validada en el cuadro de texto, la cadena se agrega automáticamente si la elimina.

Recursos personalizados de acciones de extensibilidad

Con los tipos de recursos personalizados, puede utilizar acciones de extensibilidad en plantillas de nube para crear aplicaciones complejas. Por ejemplo, puede utilizar la integración nativa de acciones de extensibilidad con Amazon Web Services y Microsoft Azure para integrar fácilmente con sus respectivos servicios. Para crear recursos personalizados de acciones de extensibilidad, haga clic en la opción Basado en del editor de recursos personalizados y seleccione Esquema de ABX definido por el usuario.

Acciones de ciclo de vida para recursos personalizados de acciones de extensibilidad

Cuando se utiliza una acción de extensibilidad para el recurso personalizado, se pueden definir las siguientes acciones de ciclo de vida:

  • Crear: esta acción de extensibilidad se utiliza cuando se inicia una implementación.
  • Leer: esta acción de extensibilidad se utiliza para recuperar el estado más reciente del recurso implementado.
  • Actualizar: esta acción de extensibilidad se utiliza cuando se actualiza una propiedad de plantilla de nube. Tenga en cuenta que esta acción solo se activa cuando una propiedad no está marcada con recreateOnUpdate.
  • Destruir: esta acción de extensibilidad se utiliza cuando se elimina una implementación.

Estas acciones de ciclo de vida se pueden seleccionar manualmente a partir de las acciones de extensibilidad existentes o pueden generarse de forma automática seleccionando Generar acciones. Al seleccionar Generar acciones, debe especificar el proyecto en el que se generará la nueva acción de extensibilidad.

Nota: Para editar las acciones de extensibilidad asociadas con las acciones de ciclo de vida, haga clic en la opción Abrir situada junto a la acción específica.

Recursos personalizados de vRealize Orchestrator

Cada recurso personalizado de vRealize Orchestrator se basa en un tipo de inventario de SDK y se crea mediante un flujo de trabajo de vRealize Orchestrator que tiene una salida que es una instancia del tipo de SDK deseado. Los tipos primitivos, como Properties, Date, string y number, no se admiten para la creación de tipos de recursos personalizados.
Nota: Los tipos de objetos de SDK se pueden diferenciar de otros tipos de propiedad de vRealize Orchestrator por los dos puntos (":") que se utilizan para separar el nombre del complemento y el nombre del tipo. Por ejemplo, AD:UserGroup es un tipo de objeto de SDK que se utiliza para administrar grupos de usuarios de Active Directory.
Puede utilizar los flujos de trabajo integrados en vRealize Orchestrator o puede crear uno propio. El uso de vRealize Orchestrator para crear flujos de trabajo "todo como servicio/XaaS" significa que puede crear una plantilla de nube que agregue un usuario de Active Directory a las máquinas en el momento de la implementación, o bien agregar un equilibrador de carga de F5 personalizado a una implementación. Para crear recursos personalizados de vRealize Orchestrator, haga clic en la opción Basado en del editor de recursos personalizados y seleccione Inventario de vRO.

Tipo externo de recurso personalizado de vRealize Orchestrator

La propiedad de tipo externo define el tipo de recurso personalizado de vRealize Orchestrator. Al seleccionar un flujo de trabajo de creación en el tipo de recurso personalizado de Cloud Assembly, aparece el menú desplegable de tipo externo debajo de él. El menú desplegable incluye propiedades de tipo externo, que se seleccionan de los parámetros de salida del flujo de trabajo de vRealize Orchestrator. Las propiedades de salida de flujo de trabajo seleccionadas incluidas en el menú desplegable deben ser tipos de objeto de SDK que no son de matriz, como VC:VirtualMachine o AD:UserGroup.

Nota: Al crear flujos de trabajo personalizados que utilizan el complemento de tipo dinámico, compruebe que sus variables se definan mediante el método DynamicTypesManager.getObject().

Al definir los tipos de recursos personalizados, también se define el ámbito de la disponibilidad del tipo externo de selección. El tipo externo seleccionado puede:

  • Ser compartido entre proyectos.
  • Solo estar disponible para el proyecto seleccionado.

Solo puede tener un tipo de recurso personalizado con un valor de tipo externo específico por ámbito definido. Por ejemplo, si se crea un recurso personalizado en el proyecto que utiliza VC:VirtualMachine como un tipo externo, no se puede crear otro recurso personalizado para un mismo proyecto que utilice el mismo tipo externo. Tampoco se pueden crear dos recursos personalizados compartidos que utilicen el mismo tipo externo.

Validación de acciones de ciclo de vida de vRealize Orchestrator

Cuando se agregan flujos de trabajo de creación, eliminación y actualización como acciones de ciclo de vida a un recurso personalizado, Cloud Assembly valida que los flujos de trabajo seleccionados tengan las definiciones de propiedades de entrada y salida correctas.

  • El flujo de trabajo de creación debe tener un parámetro de salida que sea un tipo de objeto de SDK, como SSH:Host o SQL:Database. Si el flujo de trabajo seleccionado no pasa la validación, no puede agregar flujos de trabajo de actualización o eliminación, ni guardar los cambios en el recurso personalizado.
  • El flujo de trabajo de eliminación debe tener un parámetro de entrada que sea un tipo de objeto de SDK que coincida con el tipo externo del recurso personalizado.
  • El flujo de trabajo de actualización debe tener un parámetro de entrada y de salida que sea un tipo de objeto de SDK que coincida con el tipo externo del recurso personalizado.

Esquema de propiedades de recursos personalizados

Para ver y editar el esquema de propiedades de recursos personalizados, seleccione la pestaña Propiedades. El esquema incluye el nombre, el tipo de datos, el tipo de propiedad y, si está disponible, la descripción de una propiedad determinada. El esquema también define si una propiedad específica es obligatoria u opcional en la plantilla de nube.
Nota: Para el esquema de propiedades de los recursos personalizados de acciones de extensibilidad, se requieren todas las propiedades en la plantilla de nube.
Cuando se agregan flujos de trabajo de vRealize Orchestrator a un recurso personalizado, sus parámetros de entrada y salida se agregan como propiedades. Para los recursos personalizados de acciones de extensibilidad, debe crear manualmente el esquema de propiedades de los recursos personalizados de acciones de extensibilidad en la pestaña Propiedades.
Nota: Las propiedades definidas en el esquema de recursos personalizados de acciones de extensibilidad también deben devolver valores en la acción Leer del recurso personalizado y tener los mismos nombres. Por ejemplo, si el esquema incluye las propiedades domain y location, la acción Leer también debe devolver las mismas propiedades con los mismos nombres.
En esta pestaña, también puede modificar y dar formato a las propiedades de los recursos personalizados basados en acciones de extensibilidad o de vRealize Orchestrator. Por ejemplo, puede cambiar el nombre para mostrar de una propiedad determinada o agregar restricciones.
Nota: Al agregar restricciones a la sección de elementos de los campos de matriz o a la sección de propiedades de los campos de objetos en el esquema de propiedades, compruebe que haya validado estas restricciones, ya que las restricciones aplicadas de forma incorrecta pueden causar problemas con el recurso personalizado. Por ejemplo, al agregar una restricción máxima a una matriz de números, debe comprobar que esta restricción no interrumpe el valor predeterminado de la propiedad.

Para editar el esquema de propiedades de los recursos personalizados, desplácese hasta la pestaña Propiedades y utilice la pestaña Código o Formulario.

  • Código: Edite el esquema de propiedades usando contenido YAML. Al seleccionar esta opción, el esquema de propiedad se define mediante el esquema JSON.
  • Formulario: para los recursos personalizados de la acción de extensibilidad, al hacer clic en Nueva propiedad, se crea una nueva propiedad mediante la configuración de su nombre, nombre para mostrar, descripción, tipo de propiedad y valor predeterminado. Para los recursos personalizados de vRealize Orchestrator, también puede ocultar las propiedades no requeridas y no calculadas del esquema haciendo clic en Eliminar propiedad.

Formularios de solicitud personalizados para operaciones de día 2

Puede simplificar el formulario de solicitud de las operaciones de día 2 que se incluyen en el recurso personalizado. Para ello, agregue y modifique diferentes tipos de propiedades de recursos.

Por ejemplo, puede enlazar el valor de un parámetro de entrada en el formulario de solicitud a un origen externo, como una acción de vRealize Orchestrator para recuperar un nombre de implementación o un nombre de proyecto. También puede enlazar el valor de un parámetro de entrada específico al valor calculado de otros dos cuadros de texto incluidos en el mismo formulario de solicitud.

Nota: Esta funcionalidad está disponible para los recursos personalizados y las acciones personalizadas. Puede personalizar el valor de las propiedades de entrada de su formulario de solicitud en la pestaña Valores de la página Parámetros de solicitud del editor de acciones de recursos o recursos personalizados.

Validación del formulario de solicitud de operación del día 2

Puede validar el formulario de solicitud de las operaciones del día 2 agregando una validación externa. Al utilizar una validación externa, se impide que el usuario envíe el formulario de solicitud hasta que se cumplan los parámetros de validación. Puede agregar una validación externa desde la pestaña Validaciones de la página Parámetros de solicitud del editor de acciones personalizadas o de recursos. Después de seleccionar la pestaña, puede arrastrar un elemento Validación de Orchestrator al lienzo y agregar una acción de vRealize Orchestrator que desee utilizar para la validación.

Por ejemplo, puede crear un recurso personalizado que incluya una operación del día 2 para cambiar una contraseña de usuario. En este caso práctico, puede agregar una acción de vRealize Orchestrator con newPassword y parámetros de entrada confirmPassword que utilicen el tipo SecureString.

Nota: Este es un script de ejemplo para validar una contraseña de usuario. Para su propio caso práctico puede decidir usar un script diferente.
if (newPassword != confirmPassword) {
    return 'passwords are different';
}
if (newPassword.lenght < 7) {
    return 'password must be at least 10 symbols';
}
return null;