docs: def createSite(self,
                     username,
                     password,
                     configStoreConnection,
                     directories,
                     cluster=None,
                     logsSettings=None,
                     runAsync=False
                     ):
          """
          This is the first operation that you must invoke when you install
          ArcGIS Server for the first time. Creating a new site involves:
  
            -Allocating a store to save the site configuration
            -Configuring the server machine and registering it with the site
            -Creating a new cluster configuration that includes the server
             machine
            -Configuring server directories
            -Deploying the services that are marked to auto-deploy
  
          Because of the sheer number of tasks, it usually takes a little
          while for this operation to complete. Once a site has been created,
          you can publish GIS services and deploy them to your server
          machines.
  
          Inputs:
             username - The name of the administrative account to be used by
               the site. This can be changed at a later stage.
             password - The credentials of the administrative account.
             configStoreConnection - A JSON object representing the
               connection to the configuration store. By default, the
               configuration store will be maintained in the ArcGIS Server
               installation directory.
             directories - A JSON object representing a collection of server
               directories to create. By default, the server directories will
               be created locally.
             cluster - An optional cluster configuration. By default, the
               site will create a cluster called 'default' with the first
               available port numbers starting from 4004.
             logsSettings - Optional log settings.
             runAsync - A flag to indicate if the operation needs to be run
               asynchronously. Values: true | false
          """
          url = self._url + "/createNewSite"
          params = {
              "f" : "json",
              "cluster" : cluster,
              "directories" : directories,
              "username" : username,
              "password" : password,
              "configStoreConnection" : configStoreConnection,
              "logSettings" : logsSettings,
              "runAsync" : runAsync
          }
          return self._post(url=url,
                               param_dict=params,
                               securityHandler=self._securityHandler,
                               proxy_url=self._proxy_url,
                               proxy_port=self._proxy_port)