我使用的方法是:firewalls.list,但是当我尝试过滤时,我得到了“字段‘filter’的无效值”:‘=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)发布于 2020-04-08 14:45:32
您可以使用gcloud命令来通过sourceRanges进行筛选:
gcloud计算防火墙-规则列表-过滤器=“sourceRanges:(0.0.0.0/0)”
有关更多信息,请查看gcloud计算防火墙的使用情况-规则列表:
https://cloud.google.com/sdk/gcloud/reference/compute/firewall-rules/list
干杯。
发布于 2020-04-09 04:16:04
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,但要获得更多信息,请参考防火墙().list文档
https://stackoverflow.com/questions/61089130
复制相似问题