def create_host(name, iscsi_names = nil, fcwwns = nil, optional = nil)
      begin
        @host.create_host(name, iscsi_names, fcwwns, optional)
      rescue => ex
        Util.log_exception(ex, caller_locations(1, 1)[0].label)
        raise ex
      end
    end
def create_host(name, iscsi_names = nil, fcwwns = nil, optional = nil)
      begin
        @host.create_host(name, iscsi_names, fcwwns, optional)
      rescue => ex
        Util.log_exception(ex, caller_locations(1, 1)[0].label)
        raise ex
      end
    end
Creates a new Host.

 ==== Attributes

 * name - The name of the host.
      type name: String
 * iscsi_names - Array of iSCSI iqns.
      type iscsi_names: Array
 * fcwwns - Array of Fibre Channel World Wide Names.
      type fcwwns: Array
 * optional - The optional stuff.
      type optional: Hash
        optional = {
            'persona'=> 1,                  # Refer Hpe3parSdk::HostPersona for complete enumeration.
                                            # 3.1.3 default: Generic-ALUA
                                            # 3.1.2 default: General
            'domain'=> 'myDomain',          # Create the host in the
                                            # specified domain, or default
                                            # domain if unspecified.
            'forceTearDown'=> false,        # If True, force to tear down
                                            # low-priority VLUN exports.
            'descriptors'=>
                {'location'=> 'earth',      # The host's location
                 'IPAddr'=> '10.10.10.10',  # The host's IP address
                 'os'=> 'linux',            # The operating system running on the host.
                 'model'=> 'ex',            # The host's model
                 'contact'=> 'Smith',       # The host's owner and contact
                 'comment'=> "Joe's box"}   # Additional host information
        }

 ==== Raises

 * Hpe3parSdk::HTTPForbidden
        - PERM_DENIED - Permission denied.
 * Hpe3parSdk::HTTPBadRequest
        - INV_INPUT_MISSING_REQUIRED - Name not specified.
 * Hpe3parSdk::HTTPBadRequest
        - INV_INPUT_PARAM_CONFLICT - FCWWNs and iSCSINames are both specified.
 * Hpe3parSdk::HTTPBadRequest
        - INV_INPUT_EXCEEDS_LENGTH - Host name, domain name, or iSCSI name is too long.
 * Hpe3parSdk::HTTPBadRequest
        - INV_INPUT_EMPTY_STR - Input string (for domain name, iSCSI name, etc.) is empty.
 * Hpe3parSdk::HTTPBadRequest
        - INV_INPUT_ILLEGAL_CHAR - Any error from host-name or domain-name parsing.
 * Hpe3parSdk::HTTPBadRequest
        - INV_INPUT_TOO_MANY_WWN_OR_iSCSI - More than 1024 WWNs or iSCSI names are specified.
 * Hpe3parSdk::HTTPBadRequest
        - INV_INPUT_WRONG_TYPE - The length of WWN is not 16. WWN specification contains non-hexadecimal digit.
 * Hpe3parSdk::HTTPConflict
        - EXISTENT_PATH - host WWN/iSCSI name already used by another host.
 * Hpe3parSdk::HTTPConflict
        - EXISTENT_HOST - host name is already used.
 * Hpe3parSdk::HTTPBadRequest
        - NO_SPACE - No space to create host.