def _parse_rrset_message(self, message): # assert that keys 'zone' and 'rrsets' are present, and return # values for each try: zone = message['zone'] except KeyError: msg = (f'No zone was defined in the given message: {message}.') logging.error(msg) raise exceptions.GCPGordonJanitorError(msg) try: rrsets = message['rrsets'] except KeyError: msg = (f'No resource record sets were defined in given message: ' f'{message}.') logging.error(msg) raise exceptions.GCPGordonJanitorError(msg) return zone, rrsets
def _init_client(self, auth_client): # Silly emulator constraints creds = getattr(auth_client, 'creds', None) _client = pubsub.PublisherClient(credentials=creds) topic = self.config['topic'] try: _client.create_topic(topic) except google_exceptions.AlreadyExists: # already created pass except Exception as e: msg = f'Error trying to create topic "{topic}": {e}' logging.error(msg, exc_info=e) raise exceptions.GCPGordonJanitorError(msg) return _client