示例#1
0
    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
示例#2
0
    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