Как отфильтровать список правил брандмауэра по sourceRanges 0.0.0.0/0 с помощью метода firewalls.list - PullRequest
0 голосов
/ 07 апреля 2020

Я использую метод: firewalls.list , но при попытке фильтрации я получаю "Недопустимое значение для поля 'filter': 'sourceranges = [0.0.0.0/0]' . Неверное выражение фильтра списка. "

from pprint import pprint
from googleapiclient import discovery
from oauth2client.client import GoogleCredentials

    credentials = GoogleCredentials.get_application_default()

    service = discovery.build('compute', 'v1', credentials=credentials)

    # Project ID for this request.
    project = "helloworld-273420"  # TODO: Update placeholder value.
    sourceRanges = "0.0.0.0/0"

    request = service.firewalls().list(project=project, filter=sourceRanges)
    while request is not None:
        response = request.execute()

        for firewall in response['items']:
            # TODO: Change code below to process each `firewall` resource:
            pprint(firewall)

        request = service.firewalls().list_next(previous_request=request, previous_response=response)

Ответы [ 2 ]

0 голосов
/ 09 апреля 2020
computeService = discovery.build('compute', 'v1', credentials=credentials)
fireruleRequest = computeService.firewalls().list(project=project)
while fireruleRequest is not None:
    fireruleList = fireruleRequest.execute()
    for firewall in fireruleList['items']:
        if firewall['sourceRanges'] == ['0.0.0.0/0']:
            pprint(firewall) #prints all fields related to the firewall. Use firewall['field'] for a specific field
        #   print('error: nothing valid')
    fireruleRequest = computeService.firewalls().list_next(previous_request=fireruleRequest, previous_response=fireruleList)

Метод firewall.list не позволяет фильтровать sourceRanges, но обратитесь к firewall (). List docs для получения дополнительной информации

0 голосов
/ 08 апреля 2020

Вместо фильтра можно использовать команду gcloud для фильтрации по sourceRanges:

gcloud compute список правил межсетевого экрана --filter = "sourceRanges: (0.0.0.0/0)"

Для более информация проверить использование списка правил межсетевого экрана gcloud compute:

https://cloud.google.com/sdk/gcloud/reference/compute/firewall-rules/list

Cheers.

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