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.

¿Cómo iterar sobre múltiples subredes en las Asociaciones de Tabla de Ruta con AWS CDK?

Tengo una lista de subredes que deseo iterar en mi tabla de enrutamiento pública y privada. Aquí hay un ejemplo de mi función para mi RT público:

// Esto tomará el RT público y asociará todas las subredes públicas al RT.
props.pubSubnetId.forEach((public_subnets) => {
const publicRTAssoc = new ec2.CfnSubnetRouteTableAssociation(this, “publicRTAssoc”, {
routeTableId: props.pubRouteTableId,
subnetId: public_subnets
});
});

No veo nada malo con mi código, pero cuando ejecuto cdk synth, obtengo este error:

Error: ya hay un Construct con el nombre ‘publicRTAssoc’ en CloudformationArchStack [CloudformationArchStack]

Creo que la iteración está interfiriendo con el identificador en mi función. Agradecería cualquier ayuda para solucionar este problema.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Necesitas asegurarte de que cada publicRTAssoc tenga un nombre único. Puedes lograr esto agregando un contador al nombre, de esta manera:

    // Esto obtendrá el RT público y asociará todas las subredes públicas al RT
    let counter = 0;
    props.pubSubnetId.forEach((public_subnets) => {
      const publicRTAssoc = new ec2.CfnSubnetRouteTableAssociation(this, `publicRTAssoc${counter}`, {
        routeTableId: props.pubRouteTableId,
        subnetId: public_subnets
      });
      counter++;
    });
    

    Esto asegurará que cada publicRTAssoc tenga un nombre único.

Comments are closed.