Qore ssh2 Module ..
Loading...
Searching...
No Matches
Ssh2Connections::SftpConnection Class Reference

class for SFTP connections; returns an object of class Qore::SSH2::SFTPClient for acquiring files from or posting files to SFTP servers More...

#include <Ssh2Connections.qm.dox.h>

Inheritance diagram for Ssh2Connections::SftpConnection:
Ssh2Connections::AbstractSsh2Connection

Public Member Methods

 constructor (string name, string description, string url, hash< auto > attributes={}, hash< auto > options={})
 creates the SftpConnection object
 
 constructor (hash< auto > config, *hash< auto > attr)
 Creates the SftpConnection object.
 
string getType ()
 returns "sftp"
 
*hash< auto > getRuntimeOptions ()
 returns runtime options
 
DataProvider::AbstractDataProvider getDataProvider (*hash< auto > constructor_options)
 returns an FtpClientDataProvider object for this connection
 
bool hasDataProvider ()
 returns True, as the connection returns a data provider with the getDataProvider() method
 
- Public Member Methods inherited from Ssh2Connections::AbstractSsh2Connection
 constructor (string name, string description, string url, hash< auto > attributes={}, hash< auto > options={})
 creates the AbstractSsh2Connection object
 
 constructor (hash< auto > config, *hash< auto > attr)
 Creates the AbstractSsh2Connection object.
 

Public Attributes

const ConnectionScheme = ...
 Connection entry info.
 
const DataProviderSubtypeMap = ...
 Data provider subtypes supported.
 

Private Member Methods

AbstractDataProvider getDataProviderImpl (string subtype, *hash< auto > constructor_options)
 returns a data provider object for the connection and subtype passed as an argument
 
 setChildCapabilities ()
 Sets child data provider capabilities.
 
 checkSubtypeInfo ()
 Verifies that subtype info has been loaded from external modules.
 
*hash< string, *hash< string, hash< DataProviderOptionInfo > > > getDataProviderSubtypesImpl ()
 Returns a hash of supported data provider subtypes.
 
 loadSubtypeInfo ()
 Loads subtype info from external modules.
 
Qore::SSH2::SFTPClient getImpl (bool connect=True, *hash< auto > rtopts)
 returns a Qore::SSH2::SFTPClient object
 
hash< ConnectionSchemeInfo > getConnectionSchemeInfoImpl ()
 Returns the ConnectionSchemeInfo hash for this object.
 

Static Private Member Methods

static Mutex subtype_lck ()
 Data provider subtype lock.
 

Static Private Attributes

static hash< string, *hash< string, hash< DataProviderOptionInfo > > > subtype_info
 Data provider subtype info.
 

Detailed Description

class for SFTP connections; returns an object of class Qore::SSH2::SFTPClient for acquiring files from or posting files to SFTP servers

supports the following option:

  • "keyfile": a path to a private key file in PEM format to use for key-based authentication (environment variables can be prefixed with "$" in the path (or optionally enclosed in curly brackets as in "${var}") and will be substituted with the value of the environment variable)

additionally, the following runtime options are supported in getImpl():

  • "path": overrides the path component in the URL at runtime
  • "path_add": appends the given string to the path component of the URL at runtime

Member Function Documentation

◆ checkSubtypeInfo()

Ssh2Connections::SftpConnection::checkSubtypeInfo ( )
private

Verifies that subtype info has been loaded from external modules.

Since
ConnectionProvider 2.0

◆ constructor() [1/2]

Ssh2Connections::SftpConnection::constructor ( hash< auto >  config,
*hash< auto >  attr 
)

Creates the SftpConnection object.

Parameters
configwith the following keys:
  • name (required string): the connection name
  • display_name (optional string): the display name
  • short_desc (optional string): a short description in plain text
  • desc (optional string): a long description with markdown formatting
  • url (required string): the connection URL
  • opts (optional hash): connection options
  • logger (optional LoggerInterface object): logger for the connection
attroptional connection attributes
  • monitor (optional bool): should the connection be monitored? Default: True
  • enabled (optional bool): is the connection enabled? Default: True
  • locked (optional bool): is the connection locked? Default: False
  • debug_data (optional bool): debug data? Default: False
  • tags (optional hash): tags for the connection; no default value
Exceptions
CONNECTION-OPTION-ERRORmissing or invalid connection option or attribute

◆ constructor() [2/2]

Ssh2Connections::SftpConnection::constructor ( string  name,
string  description,
string  url,
hash< auto >  attributes = {},
hash< auto >  options = {} 
)

creates the SftpConnection object

Parameters
namethe name of the connection
descriptionconnection description
urlconnection URL (potentially with password info)
attributesvarious attributes. See below
optionsconnection options

See AbstractConnection::constructor() for attributes and options reference.

◆ getDataProvider()

DataProvider::AbstractDataProvider Ssh2Connections::SftpConnection::getDataProvider ( *hash< auto >  constructor_options)

returns an FtpClientDataProvider object for this connection

Parameters
constructor_optionsany additional constructor options for the data provider
Returns
an FtpClientDataProvider object for this connection
See also
hasDataProvider()

◆ getDataProviderImpl()

AbstractDataProvider Ssh2Connections::SftpConnection::getDataProviderImpl ( string  subtype,
*hash< auto >  constructor_options 
)
private

returns a data provider object for the connection and subtype passed as an argument

Parameters
subtypethe subtype of data provider supported, in case the connection can return multiple data providers
constructor_optionsany additional constructor options required by the data provider
Returns
a data provider object for the connection and subtype passed as an argument
Exceptions
DATA-PROVIDER-ERRORthis object does not support the data provider API or the given subtype is not valid
See also
Since
ConnectionProvider 2.0

◆ getDataProviderSubtypesImpl()

*hash< string, *hash< string, hash< DataProviderOptionInfo > > > Ssh2Connections::SftpConnection::getDataProviderSubtypesImpl ( )
private

Returns a hash of supported data provider subtypes.

Returns
a hash of supported data provider subtypes
Since
ConnectionProvider 2.0

◆ getImpl()

Qore::SSH2::SFTPClient Ssh2Connections::SftpConnection::getImpl ( bool  connect = True,
*hash< auto >  rtopts 
)
private

returns a Qore::SSH2::SFTPClient object

Parameters
connectif True, then Qore::SSH2::SFTPClient::connect() is called and also if there is any path in the URL then Qore::SSH2::SFTPClient::chdir() is called on that path
rtoptsthis object takes the following runtime options:
  • "path": overrides the path component in the URL at runtime
  • "path_add": appends the given string to the path component of the URL at runtime
Returns
a Qore::SSH2::SFTPClient object

◆ getRuntimeOptions()

*hash< auto > Ssh2Connections::SftpConnection::getRuntimeOptions ( )

returns runtime options

return a hash with the following keys reflecting support for the corresponding runtime options in getImpl():

  • "path": overrides the path component in the URL at runtime
  • "path_add": appends the given string to the path component of the URL at runtime

◆ hasDataProvider()

bool Ssh2Connections::SftpConnection::hasDataProvider ( )

returns True, as the connection returns a data provider with the getDataProvider() method

Returns
True, as the connection returns a data provider with the getDataProvider() method
See also
getDataProvider()

The documentation for this class was generated from the following file: