blob: 9471c7e3faffca1dcfa0441ae794e903b7180277 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
###############################################################################
# Copyright (c) 2017 Koren Lev (Cisco Systems), Yaron Yogev (Cisco Systems) #
# and others #
# #
# All rights reserved. This program and the accompanying materials #
# are made available under the terms of the Apache License, Version 2.0 #
# which accompanies this distribution, and is available at #
# http://www.apache.org/licenses/LICENSE-2.0 #
###############################################################################
# fetch the end points for a given project (tenant)
# return list of regions, to allow further recursive scanning
from discover.fetchers.api.api_access import ApiAccess
class ApiFetchEndPoints(ApiAccess):
def get(self, project_id):
if project_id != "admin":
return [] # XXX currently having problems authenticating to other tenants
self.v2_auth_pwd(project_id)
environment = ApiAccess.config.get_env_name()
regions = []
services = ApiAccess.auth_response['access']['serviceCatalog']
endpoints = []
for s in services:
if s["type"] != "identity":
continue
e = s["endpoints"][0]
e["environment"] = environment
e["project"] = project_id
e["type"] = "endpoint"
endpoints.append(e)
return endpoints
|