Je souhaite déployer ceci dans une étape avec les métriques cloudwatch activées. Pour cela, j'ai besoin d'utiliser aws_api_gateway_method_settings
qui a besoin d'un nom de scène. Si vous ne créez pas d'étape en utilisant aws_api_gateway_stage
, une erreur se produit, indiquant que l'étape n'existe pas. Quand j'essaye de créer une scène, son stade de dire existe déjà.Comment créer une étape dans API Gateway avec des métriques cloudwatch activées à l'aide de terraform?
Une solution que j'ai essayée crée deux étapes une utilisant aws_api_gateway_deployment
et une autre utilisant aws_api_gateway_stage
avec deux noms différents. Y a-t-il une autre solution pour cela?
resource "aws_api_gateway_deployment" "test-deploy" {
depends_on = [ /*something goes here*/]
rest_api_id = "${aws_api_gateway_rest_api.test.id}"
stage_name = "${var.stage_name}"
variables = {
"function" = "${var.lambda_function_name}"
}
}
resource "aws_api_gateway_stage" "test" {
stage_name = "${var.stage_name}"
rest_api_id = "${aws_api_gateway_rest_api.test.id}"
deployment_id = "${aws_api_gateway_deployment.test-deploy.id}"
}
resource "aws_api_gateway_method_settings" "settings" {
rest_api_id = "${aws_api_gateway_rest_api.test.id}"
stage_name = "${aws_api_gateway_stage.test.stage_name}"
method_path = "*/*"
settings {
metrics_enabled = true
logging_level = "INFO"
}
}
Exception:
aws_api_gateway_stage.test: Error creating API Gateway Stage: ConflictException: Stage already exists
Apparemment, vous avez déjà créé le cerf, nettoyez-le d'abord de la console. – BMW
@BMW, je ne crée rien à partir de la console. 'aws_api_gateway_deployment' et' aws_api_gateway_stage' essayant de créer une scène séparément. – Gangaraju