def create_metadata(self, resource, keys_vals):
        """
        Associates new key-value pairs with the given resource.

        Will attempt to add all key-value pairs even if some fail.

        Args:
            resource (intern.resource.boss.BossResource)
            keys_vals (dictionary): Collection of key-value pairs to assign to
                given resource.

        Raises:
            HTTPErrorList on failure.
        """
        self.metadata_service.set_auth(self._token_metadata)
        self.metadata_service.create(resource, keys_vals)