Я пытаюсь обновить политику ресурсов на своем экземпляре API Gateway через интерфейс командной строки, и я не могу найти правильный синтаксис для JSON. В документации говорится, что нужно использовать «операции исправления», и, насколько я понимаю, для политики нужна строка JSON. Я пробовал минимизированный JSON, экранированный JSON, одинарные кавычки, без кавычек, и, кажется, ничего не работает. В документации нет примера фактического JSON в поле значения для операций исправления, поэтому я чувствую себя потерянным.
Я пробовал варианты этой команды:
aws apigateway update-rest-api --rest-api-id abcde123 --patch-operations op=replace,path=/policy,value='{"Version":"2012-10-17","Statement":[{"Effect":"Allow","Principal":"*","Action":"execute-api:Invoke","Resource":"arn:aws:execute-api:region:000000000000:*"},{"Effect":"Deny","Principal":"*","Action":"execute-api:Invoke","Resource":"arn:aws:execute-api:region:000000000000:*","Condition":{"StringNotEquals":{"aws:SourceVpce":["vpce-123456789","vpce-987654321"]}}}]}'
Каждый раз я получаю сообщение об ошибке:
Error parsing parameter '--patch-operations': Expected: '=', received: '{' for input:
Соответствующая документация здесь .