es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Valor de etiqueta de Terraform con caracteres especiales

Mientras intentaba actualizar a través de la consola web, AWS está aceptando los siguientes valores de etiqueta, sin embargo, con Terraform es difícil hacer las cosas.

Las etiquetas que quería actualizar en mis recursos son:

  1. “IT R&D & DATA – 7777”
  2. “Example Team, Inc. – 001”

Obtengo el siguiente error en cada intento diferente durante la aplicación de Terraform (sin embargo, siempre muestra los datos correctos en la vista previa). ¿Hay alguna solución alternativa para esto?

Error: error actualizando LB (arn:aws:elasticloadbalancing:us-west-1:xxxx:loadbalancer/app/LB-DEV/f4c252)
etiquetas: error al etiquetar el recurso (arn:aws:elasticloadbalancing:us-west-1:xxxx:loadbalancer/app/LB-DEV/f4c252):
ValidationError: se detectó 1 error de validación: el valor ‘Example Team, Inc. – 001’ en la etiqueta.1.miembro.valor no cumplió con la restricción: el miembro debe cumplir con el patrón de expresión regular: ^ ([\ p {L} \ p {Z} \ p {N}] _.: / = + \ -@] *) $

“ `
recurso “aws_lb” “lb” {
    interno = “verdadero”
    load_balancer_type = “aplicación”
    nombre = formato (“% s%s”, “LB-“, var.nombre)
    subnets = data.aws_subnet_ids.subred.ids
    groups de seguridad = [
        data.aws_security_group.sec_group.id
    ]

    etiquetas = {
        unidad_de_negocio = “IT R //&D //& DATA //- 7777”
        entidad_legal = reemplazar (“Example Team, Inc. – 001”, “/(['\*])/”,”//$1″)
    }
}
“`

Tags:  , ,

Answer

  1. Avatar for davy.ai

    El problema parece estar en el segundo valor de etiqueta, “Example Team, Inc. – 001”, que no cumple con el patrón de expresión regular requerido por AWS. El patrón permite sólo caracteres alfanuméricos, subrayado, punto, dos puntos, igual, más, menos, arroba y barra diagonal.

    Para solucionar el problema, se puede usar la función “replace” en Terraform para reemplazar cualquier carácter no válido en el valor de la etiqueta con caracteres válidos. Como se muestra en el fragmento de código anterior, se pueden reemplazar cualquier barra diagonal o asterisco con una doble barra diagonal o una barra diagonal y asterisco, respectivamente.

    Alternativamente, se puede intentar codificar el valor de la etiqueta mediante la codificación de URL, que reemplaza cualquier carácter especial con sus valores codificados correspondientes. Por ejemplo, el valor de la etiqueta “Example Team, Inc. – 001” se codificaría como “Example%20Team%2C%20Inc.%20-%20001”.

    En general, es importante asegurarse de que los valores de las etiquetas se ajusten al patrón requerido por AWS, ya sea reemplazando los caracteres no válidos con caracteres válidos o codificando el valor.

Comments are closed.