Попытка сделать нашу панель инструментов в виде кода при использовании CloudFormation. Ошибка при проверке шаблона с помощью встроенной строки JSON внутри файла YML. Возникают проблемы с полями "SEARCH ('{AWS / EC2, InstanceId)", указывающими, что это недопустимые строки. Я провел его через JSON Linter и работает нормально. Я также развернул консоль CloudWatch Dashboard просто отлично с JSON.
Вопрос:
Можно ли просто обернуть этот раздел как строку для CloudFormation в YML-файле, чтобы он не сработал содержимое строки JSON?
Пример:
DetailedDashboard:
Type: "AWS::CloudWatch::Dashboard"
Properties:
DashboardName: "DetailedDashboard"
DashboardBody: !Sub
...,
{
"type": "metric",
"x": 6,
"y": 18,
"width": 6,
"height": 6,
"properties": {
"metrics": [
[ { "expression": "SEARCH('{AWS/EC2,InstanceId} NetworkIn', 'Average', 300)", "id": "network_in", "period": 300, "region": "us-east-1", "label": "net_in" } ],
[ { "expression": "SEARCH('{AWS/EC2,InstanceId} NetworkOut', 'Average', 300)", "id": "network_out", "period": 300, "region": "us-east-1", "label": "net_out" } ]
],
"view": "timeSeries",
"stacked": false,
"region": "us-east-1",
"title": "Network in/out by Host",
"stat": "Average",
"period": 300,
"yAxis": {
"left": {
"label": "bytes"
}
}
}
},