docs: def _initialize_session(self):
          """
          Creates a session using available authentication type.
  
          Auth priority:
          1. Token Auth
          2. Tenant Auth
          3. Azure CLI Auth
  
          """
  
          # Only run once
          if self.credentials is not None:
              return
  
          tenant_auth_variables = [
              constants.ENV_TENANT_ID, constants.ENV_SUB_ID,
              constants.ENV_CLIENT_ID, constants.ENV_CLIENT_SECRET
          ]
  
          token_auth_variables = [
              constants.ENV_ACCESS_TOKEN, constants.ENV_SUB_ID
          ]
  
          msi_auth_variables = [
              constants.ENV_USE_MSI, constants.ENV_SUB_ID
          ]
  
          if self.authorization_file:
              self.credentials, self.subscription_id = self.load_auth_file(self.authorization_file)
              self.log.info("Creating session with authorization file")
  
          elif all(k in os.environ for k in token_auth_variables):
              # Token authentication
              self.credentials = BasicTokenAuthentication(
                  token={
                      'access_token': os.environ[constants.ENV_ACCESS_TOKEN]
                  })
              self.subscription_id = os.environ[constants.ENV_SUB_ID]
              self.log.info("Creating session with Token Authentication")
              self._is_token_auth = True
  
          elif all(k in os.environ for k in tenant_auth_variables):
              # Tenant (service principal) authentication
              self.credentials = ServicePrincipalCredentials(
                  client_id=os.environ[constants.ENV_CLIENT_ID],
                  secret=os.environ[constants.ENV_CLIENT_SECRET],
                  tenant=os.environ[constants.ENV_TENANT_ID],
                  resource=self.resource_namespace)
              self.subscription_id = os.environ[constants.ENV_SUB_ID]
              self.tenant_id = os.environ[constants.ENV_TENANT_ID]
              self.log.info("Creating session with Service Principal Authentication")
  
          elif all(k in os.environ for k in msi_auth_variables):
              # MSI authentication
              if constants.ENV_CLIENT_ID in os.environ:
                  self.credentials = MSIAuthentication(
                      client_id=os.environ[constants.ENV_CLIENT_ID],
                      resource=self.resource_namespace)
              else:
                  self.credentials = MSIAuthentication(
                      resource=self.resource_namespace)
  
              self.subscription_id = os.environ[constants.ENV_SUB_ID]
              self.log.info("Creating session with MSI Authentication")
          else:
              # Azure CLI authentication
              self._is_cli_auth = True
              (self.credentials,
               self.subscription_id,
               self.tenant_id) = Profile().get_login_credentials(
                  resource=self.resource_namespace)
              self.log.info("Creating session with Azure CLI Authentication")
  
          # Let provided id parameter override everything else
          if self.subscription_id_override is not None:
              self.subscription_id = self.subscription_id_override
  
          self.log.info("Session using Subscription ID: %s" % self.subscription_id)
  
          if self.credentials is None:
              self.log.error('Unable to locate credentials for Azure session.')