Google Cloud Firewall - нераспознанные аргументы - PullRequest
0 голосов
/ 01 ноября 2018

Я использую CLI Google Cloud для создания виртуальной машины, и мне нужно было также создать правила брандмауэра через CLI;

У меня есть скрипт bash с некоторыми предопределенными переменными, такими как порт, описание и т. Д .; которая создает виртуальную машину, а затем применяет к ней правила брандмауэра;

Для применения правил я использую

gcloud compute firewall-rules create

Но ошибки, которые я получаю, являются аргументами, определенными в документации GCP здесь

ERROR: (gcloud.compute.firewall-rules.create) unrecognized arguments:
./1541078390.sh: line 84: --allow: command not found
./1541078390.sh: line 86: --source-ranges: command not found
./1541078390.sh: line 87: --priority: command not found

Я пробовал разные, но похожие подходы и продолжаю получать их. Я что-то пропустил?

Пример сценария:

ports="udp:2555"
vm="client"
priority=100
description="Port 2555"

gcloud compute firewall-rules create "${ports%%:*} rule" \ 
    --allow "${ports}" \ (line 84)
    --source-tags "$vm" \ 
    --source-ranges "0.0.0.0/0" \ (line 86)
    --priority "$priority" \(line 87)
    --description "$description" \
    --direction INGRESS

Ответы [ 2 ]

0 голосов
/ 01 ноября 2018

Я выяснил, почему это происходит.

После ручного выполнения команды в терминале выводятся подробные ошибки, в которых было ясно, что параметры, которые «не распознаны», не проходят проверку регулярного выражения. Поэтому я адаптировал синтаксис параметров в соответствии с рекомендованным в ошибках, и это сработало;

TL; DR

Параметры, которые «не распознаны», плохо отформатированы;

0 голосов
/ 01 ноября 2018

Я думаю, у вас может быть пробел после некоторой обратной косой черты. убедитесь, что вы удалили все пробелы после них и попробуйте снова.

Исходя из вашего примера, у вас должны быть пробелы в строках 83, 85 и 86

ура

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...