def fetch_and_save_service_config(args, token, version, filename): try: # build request url service_mgmt_url = SERVICE_MGMT_URL_TEMPLATE.format( args.management, args.service, version) # Validate service config if we have service name and version logging.info("Fetching the service configuration "\ "from the service management service") # download service config config = fetch.fetch_service_json(service_mgmt_url, token) # Save service json for ESP service_config = args.config_dir + "/" + filename try: f = open(service_config, 'w+') json.dump(config, f, sort_keys=True, indent=2, separators=(',', ': ')) f.close() except IOError as err: logging.error("Cannot save service config." + err.strerror) sys.exit(3) except fetch.FetchError as err: logging.error(err.message) sys.exit(err.code)
def fetch_service_config(args, service_config): try: # Fetch service config if args.service_config_url is None: if args.service is None: logging.info( "Fetching the service name from the metadata service") args.service = fetch.fetch_service_name(args.metadata) if args.version is None: logging.info( "Fetching the service config ID from the metadata service") args.version = fetch.fetch_service_config_id(args.metadata) service_mgmt_url = SERVICE_MGMT_URL_TEMPLATE.format( args.service, args.version) else: service_mgmt_url = args.service_config_url # Get the access token if args.service_account_key is None: logging.info("Fetching an access token from the metadata service") token = fetch.fetch_access_token(args.metadata) else: token = fetch.make_access_token(args.service_account_key) logging.info( "Fetching the service configuration from the service management service" ) config = fetch.fetch_service_json(service_mgmt_url, token) # Validate service config if we have service name and version if args.service is not None and args.version is not None: fetch.validate_service_config(config, args.service, args.version) # Save service json for ESP try: f = open(service_config, 'w+') json.dump(config, f, sort_keys=True, indent=2, separators=(',', ': ')) f.close() except IOError as err: logging.error("Cannot save service config." + err.strerror) sys.exit(3) except fetch.FetchError as err: logging.error(err.message) sys.exit(err.code)
def fetch_and_save_service_config_url(config_dir, token, service_mgmt_url, filename): try: # download service config config = fetch.fetch_service_json(service_mgmt_url, token) # Save service json for ESP service_config = config_dir + "/" + filename try: f = open(service_config, 'w+') json.dump(config, f, sort_keys=True, indent=2, separators=(',', ': ')) f.close() except IOError as err: logging.error("[ESP] Cannot save service config." + err.strerror) sys.exit(3) except fetch.FetchError as err: logging.error(err.message) sys.exit(err.code)