Skip to content

Instantly share code, notes, and snippets.

@zancas
Last active May 2, 2016 22:13
Show Gist options
  • Save zancas/38c14b28b699145dbe5802988897301f to your computer and use it in GitHub Desktop.
Save zancas/38c14b28b699145dbe5802988897301f to your computer and use it in GitHub Desktop.
#! /usr/bin/env python
class TransactionContext(object):
def __init__(self, transaction):
self.transaction = transaction
self.bigip = transaction._meta_data['bigip']
self.session = self.bigip._meta_data['icr_session']
def __enter__(self):
self.transaction.create(json={})
self.session.headers.update(
'X-F5-REST-Coordination-Id': self.transaction.transId
)
return self.bigip
def __exit__(self, exc_type, exc_value, exc_tb):
self.session.headers = dict()
if exc_tb is None:
self.transaction.submit()
else:
raise
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment