'Initializes the service bus service for a namespace with the specified
authentication settings (SAS or ACS).
service_namespace:
Service bus namespace, required for all operations. If None,
the value is set to the AZURE_SERVICEBUS_NAMESPACE env variable.
account_key:
ACS authentication account key. If None, the value is set to the
AZURE_SERVICEBUS_ACCESS_KEY env variable.
Note that if both SAS and ACS settings are specified, SAS is used.
issuer:
ACS authentication issuer. If None, the value is set to the
AZURE_SERVICEBUS_ISSUER env variable.
Note that if both SAS and ACS settings are specified, SAS is used.
x_ms_version:
Unused. Kept for backwards compatibility.
host_base:
Optional. Live host base url. Defaults to Azure url. Override this
for on-premise.
shared_access_key_name:
SAS authentication key name.
Note that if both SAS and ACS settings are specified, SAS is used.
shared_access_key_value:
SAS authentication key value.
Note that if both SAS and ACS settings are specified, SAS is used.
authentication:
Instance of authentication class. If this is specified, then
ACS and SAS parameters are ignored.
timeout:
Optional. Timeout for the http request, in seconds.
request_session:
Optional. Session object to use for http requests.'

def __init__(self, service_namespace=None, account_key=None, issuer=None, x_ms_version='2011-06-01', host_base=SERVICE_BUS_HOST_BASE, shared_access_key_name=None, shared_access_key_value=None, authentication=None, timeout=DEFAULT_HTTP_TIMEOUT, request_session=None):

    self.requestid = None
    self.service_namespace = service_namespace
    self.host_base = host_base
    if (not self.service_namespace):
        self.service_namespace = os.environ.get(AZURE_SERVICEBUS_NAMESPACE)
    if (not self.service_namespace):
        raise ValueError('You    need    to    provide    servicebus    namespace')
    if authentication:
        self.authentication = authentication
    else:
        if (not account_key):
            account_key = os.environ.get(AZURE_SERVICEBUS_ACCESS_KEY)
        if (not issuer):
            issuer = os.environ.get(AZURE_SERVICEBUS_ISSUER)
        if (shared_access_key_name and shared_access_key_value):
            self.authentication = ServiceBusSASAuthentication(shared_access_key_name, shared_access_key_value)
        elif (account_key and issuer):
            self.authentication = ServiceBusWrapTokenAuthentication(account_key, issuer)
        else:
            raise ValueError('You    need    to    provide    servicebus    access    key    and    Issuer    OR    shared    access    key    and    value')
    self._httpclient = _HTTPClient(service_instance=self, timeout=timeout, request_session=(request_session or requests.Session()), user_agent=_USER_AGENT_STRING)
    self._filter = self._httpclient.perform_request
