text: # Copyright (c) 2014 ITOCHU Techno-Solutions Corporation.
  #
  #    Licensed under the Apache License, Version 2.0 (the "License");
  #    you may not use this file except in compliance with the License.
  #    You may obtain a copy of the License at
  #
  #        http://www.apache.org/licenses/LICENSE-2.0
  #
  #    Unless required by applicable law or agreed to in writing, software
  #    distributed under the License is distributed on an "AS IS" BASIS,
  #    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  #    See the License for the specific language governing permissions and
  #    limitations under the License.
  from rackclient.client import HTTPClient
  from rackclient.v1.groups import GroupManager
  from rackclient.v1.keypairs import KeypairManager
  from rackclient.v1.networks import NetworkManager
  from rackclient.v1.processes import ProcessManager
  from rackclient.v1.proxy import ProxyManager
  from rackclient.v1.securitygroups import SecuritygroupManager
  
  
  class Client(object):
      """
      Top-level Object to access the rack API.
  
      Create an rackclient instance::
  
          >>> from rackclient.v1 import client
          >>> client = client.Client()
  
      Then call methods on its managers::
  
          >>> client.processes.list()
          ...
          >>> client.groups.list()
          ...
      """
      def __init__(self, rack_url=None, http_log_debug=False):
          self.rack_url = rack_url
          self.http_log_debug = http_log_debug
          self.groups = GroupManager(self)
          self.keypairs = KeypairManager(self)
          self.securitygroups = SecuritygroupManager(self)
          self.networks = NetworkManager(self)
          self.processes = ProcessManager(self)
          self.proxy = ProxyManager(self)
          self.client = HTTPClient(rack_url, http_log_debug=http_log_debug)
  