(resp, name, entry_type)
return None
Parse the service catalog returned by the Identity API for an endpoint matching
        the Nova service with the requested version
        Sends a CRITICAL service check when no viable candidates are found in the Catalog
Parse the service catalog returned by the Identity API for an endpoint matching
        the Nova service with the requested version
        Sends a CRITICAL service check when no viable candidates are found in the Catalog
Parse the service catalog returned by the Identity API for an endpoint matching the Nova service with the requested version Sends a CRITICAL service check when no viable candidates are found in the Catalog
def _get_valid_endpoint(resp, name, entry_type):
        """
        Parse the service catalog returned by the Identity API for an endpoint matching
        the Nova service with the requested version
        Sends a CRITICAL service check when no viable candidates are found in the Catalog
        """
        catalog = resp.get('token', {}).get('catalog', [])
        for entry in catalog:
            if (
                entry.get('name')
                and entry.get('type')
                and entry.get('name') == name
                and entry.get('type') == entry_type
            ):
                # Collect any endpoints on the public or internal interface
                valid_endpoints = {}
                for ep in entry.get('endpoints'):
                    interface = ep.get('interface', '')
                    if interface in ['public', 'internal']:
                        valid_endpoints[interface] = ep.get('url')

                if valid_endpoints:
                    # Favor public endpoints over internal
                    return valid_endpoints.get('public', valid_endpoints.get('internal'))

        return None
def _get_valid_endpoint ( resp , name , entry_type ) : catalog = resp . get ( 'token' , { } ) . get ( 'catalog' , [ ] ) for entry in catalog : if ( entry . get ( 'name' ) and entry . get ( 'type' ) and entry . get ( 'name' ) == name and entry . get ( 'type' ) == entry_type ) : # Collect any endpoints on the public or internal interface valid_endpoints = { } for ep in entry . get ( 'endpoints' ) : interface = ep . get ( 'interface' , '' ) if interface in [ 'public' , 'internal' ] : valid_endpoints [ interface ] = ep . get ( 'url' ) if valid_endpoints : # Favor public endpoints over internal return valid_endpoints . get ( 'public' , valid_endpoints . get ( 'internal' ) ) return None