Generador de IaC y propiedades de solo escritura - AWS CloudFormation

Generador de IaC y propiedades de solo escritura

Las propiedades de solo escritura son propiedades de recursos que AWS CloudFormation puede escribir, pero no puede leer. (Un ejemplo sería la contraseña de una base de datos). Esto provoca problemas al generar plantillas a partir de los recursos existentes. En general, las propiedades de solo escritura se convierten en parámetros en la plantilla generada. Esto le permite introducir las propiedades como valores de parámetros durante las operaciones de importación. Sin embargo, las propiedades de solo escritura no se pueden convertir en parámetros en los siguientes casos:

  1. Hay varios conjuntos de propiedades exclusivos, al menos algunos de los cuales son de solo escritura. El generador de IaC no puede determinar qué conjunto de propiedades exclusivas se aplicó al recurso durante la creación. Por ejemplo, puede proporcionar el código para AWS::Lambda::Function al utilizar uno de estos conjuntos de propiedades.

    • Code/S3Bucket, Code/S3Key, y en forma opcional Code/S3ObjectVersion

    • Code/ImageUri

    • Code/ZipFile

    Todas estas propiedades son de solo escritura. El generador de IaC selecciona uno de los conjuntos exclusivos de propiedades y lo añade a la plantilla generada. Se añaden parámetros para cada una de las propiedades de solo escritura. Los nombres de los parámetros incluyen OneOf y las descripciones de los parámetros indican que la propiedad correspondiente se puede reemplazar por otras propiedades exclusivas. El generador de IaC establece una advertencia Type de MUTUALLY_EXCLUSIVE_PROPERTIES para las propiedades incluidas.

  2. La propiedad de solo escritura puede ser de varios tipos de datos. Por ejemplo, la propiedad Body de AWS::ApiGateway::RestApi puede ser un object o una string. Cuando este es el caso, el generador de IaC establece una advertencia Type de MUTUALLY_EXCLUSIVE_TYPES e incluye la propiedad en la plantilla generada mediante el tipo de string.

  3. La propiedad de solo escritura tiene un tipo de array. Los parámetros solo pueden ser valores escalares, por lo que no es posible añadir un parámetro a la plantilla para las matrices. Cuando este es el caso, el generador de IaC no incluye la propiedad en la plantilla generada y establece una advertencia Type de UNSUPPORTED_PROPERTIES.

  4. La propiedad de solo escritura es opcional. El generador de IaC no puede detectar si la propiedad de solo escritura se utilizó alguna vez al configurar el recurso. En este caso, el generador de IaC no incluye la propiedad en la plantilla generada y establece una advertencia Type de UNSUPPORTED_PROPERTIES.

Cuando la plantilla generada incluye recursos con propiedades de solo escritura, la consola del generador de IaC muestra una advertencia con un resumen del tipo de problema. Por ejemplo:

La consola del generador de IaC advierte sobre las propiedades de solo escritura en la plantilla generada

Puede elegir Ver detalles de la advertencia para conocer más detalles. Los recursos con propiedades de solo escritura se identifican mediante el ID lógico utilizado en la plantilla generada y en el tipo de recurso.

La consola del generador de IaC detalla las advertencias sobre las propiedades de solo escritura en la plantilla generada

Utilice la lista de advertencias para identificar los recursos con propiedades de solo escritura y observe cada recurso para determinar qué cambios (si los hay) deben realizarse en la plantilla generada. Puede descargar la plantilla generada al pulsar el botón Descargar. Una vez realizados los cambios, puede pulsar el botón Importar plantilla editada para continuar.

importante

Actualmente, la documentación de Referencia de tipos de recursos y propiedades de AWS no indica si una propiedad es de solo escritura o si admite varios tipos. Debe observar las advertencias devueltas por la consola del generador de IaC o el esquema del proveedor de recursos para determinar qué propiedades son de solo escritura.

Para obtener más información sobre el esquema del proveedor de recursos, consulte Esquema del proveedor de recursos en la Guía del usuario de la interfaz de línea de comandos de CloudFormation. Para descargar los esquemas del proveedor de recursos, consulte Esquemas de proveedores de recursos de CloudFormation.