tapis_cli.clients.services package

Implementation of service-specific clients

Submodules

tapis_cli.clients.services.mixins module

Mix-ins used to add defined behaviors to Tapis CLI commands

exception tapis_cli.clients.services.mixins.OptionNotImplemented

Bases: ValueError

Raised when an option that is only a placeholder is specified

class tapis_cli.clients.services.mixins.AppVerboseLevel

Bases: tapis_cli.clients.services.mixins.ParserExtender

Configures a Command to access the parent cliff App’s verbosity level

The calling App’s verbose_level is made available via method app_verbose_level(). In addition, two properties ‘VERBOSITY’ and ‘EXTRA_VERBOSITY’ are defined. These are intended to be values defined by the Verbosity module. ‘VERBOSITY’ is the default field-display verbosity for the Command, while EXTRA_VERBOSITY is the verbosity level when a user or process specifies that additional verbosity is needed.

EXTRA_VERBOSITY = None
VERBOSITY = None
app_verbose_level

Exposes the app-scoped verbosity level as a formatter property

class tapis_cli.clients.services.mixins.JsonVerbose

Bases: tapis_cli.clients.services.mixins.AppVerboseLevel

Configures a Command to use JSON as formatter when verbose is requested

Overrides the Command.formatter_default property such that passing an instance of ‘-v’ to the cliff App when running a command will configure the Command to use JSON formatter and to increase its field-display verbosity to the level defined by ‘EXTRA_VERBOSITY’

EXTRA_VERBOSITY = 2
formatter_default

Overrides formatter_default to return JSON when -v is passed

preprocess_args(parsed_args)
verbosify_parsed_args(parsed_args)
class tapis_cli.clients.services.mixins.ServiceIdentifier

Bases: tapis_cli.clients.services.mixins.ParserExtender

Configures a Command to require a mandatory ‘identifier’ positional param

Adds a positional parameter to the Command parser. The value for the parameter’s ‘metavar’ is set by the Command.service_id_type property.

arg_display(id_value)
arg_help(id_value)
arg_metavar(id_value)
dest = 'identifier'
extend_parser(parser)
get_identifier(parsed_args, validate=False, permissive=False)
id_type = 'identifier'
optional = False
service_id_type = 'Service'
validate_identifier(identifier, permissive=True)
class tapis_cli.clients.services.mixins.UploadJsonFile

Bases: tapis_cli.clients.services.mixins.ParserExtender

Configures a client to accept and load a JSON file

Adds -F and –file to a Command’s parser. To load the designated file, the handle_file_upload() must then be called. JSON file contents will reside in self.json_file_contents.

default = None
extend_parser(parser)
handle_file_upload(parsed_args)
json_loaded = {}
optional = False
validate = True
class tapis_cli.clients.services.mixins.AgaveURI

Bases: tapis_cli.clients.services.mixins.ParserExtender

Configures a Command to require a mandatory ‘agave uri’ positional parameter

extend_parser(parser)
get_value(parsed_args)
classmethod parse_url(url)

Parse an Agave files resource URI into storageSystem and filePath

validate(url, permissive=False)

Placeholder to implement validation of a value passed via a ParserExtender

class tapis_cli.clients.services.mixins.RemoteFilePath

Bases: tapis_cli.clients.services.mixins.ParserExtender

Configures a Command to accept an optional file path

extend_parser(parser)
class tapis_cli.clients.services.mixins.LocalFilePath

Bases: tapis_cli.clients.services.mixins.ParserExtender

Configures a Command to accept a local file path

extend_parser(parser)
class tapis_cli.clients.services.mixins.Username

Bases: tapis_cli.clients.services.mixins.ParserExtender

Configures a Command to accept an positional username

extend_parser(parser)
exception tapis_cli.clients.services.mixins.InvalidIdentifier

Bases: tapis_cli.clients.services.mixins.InvalidValue

Raised when an invalid identifier is encountered

class tapis_cli.clients.services.mixins.OptionalLocalFilePath

Bases: tapis_cli.clients.services.mixins.ParserExtender

Configures a Command to accept a local file path

extend_parser(parser)
exception tapis_cli.clients.services.mixins.InvalidValue

Bases: ValueError

class tapis_cli.clients.services.mixins.URL

Bases: tapis_cli.clients.services.mixins.ParserExtender

Configures a Command to require a mandatory ‘url’ positional parameter

extend_parser(parser)
get_value(parsed_args)
validate(url, permissive=False)

Placeholder to implement validation of a value passed via a ParserExtender

class tapis_cli.clients.services.mixins.TapisEntityUUID

Bases: tapis_cli.clients.services.mixins.ServiceIdentifier

classmethod arg_display(id_value)
id_type = 'unique identifer'
service_id_type = 'Tapis Entity'
class tapis_cli.clients.services.mixins.OptionalTapisEntityUUID

Bases: tapis_cli.clients.services.mixins.TapisEntityUUID

optional = True
class tapis_cli.clients.services.mixins.UploadJSONTemplate

Bases: tapis_cli.clients.services.mixins.IniLoader, tapis_cli.clients.services.mixins.UploadJsonFile

all_key_values(parsed_args, passed_vals)
handle_file_upload(parsed_args, passed_vals={})
class tapis_cli.clients.services.mixins.WorkingDirectory

Bases: tapis_cli.clients.services.mixins.ParserExtender

Allows the working directory to be set via positional argument.

extend_parser(parser)
help_string = 'Working directory'
set_working_directory(parsed_args, working_dir='.')
class tapis_cli.clients.services.mixins.WorkingDirectoryOpt

Bases: tapis_cli.clients.services.mixins.WorkingDirectory

Allows the working directory to be set via optional, terminal argument.

extend_parser(parser)
class tapis_cli.clients.services.mixins.WorkingDirectoryArg

Bases: tapis_cli.clients.services.mixins.WorkingDirectory

Allows the working directory to be set via optional argument.

extend_parser(parser)
class tapis_cli.clients.services.mixins.DownloadDirectoryArg

Bases: tapis_cli.clients.services.mixins.WorkingDirectoryArg

Allows the working directory to be set via optional argument.

extend_parser(parser)
help_string = 'Download directory'
class tapis_cli.clients.services.mixins.DockerPy

Bases: object

docker_client_from_env()
dockerpy = None
class tapis_cli.clients.services.mixins.LegacyCommmandHelp

Bases: object

Configures a commands to show legacy syntax

Bash CLI syntax is shown in overview and detailed help responses. This is configurable at class level with SHOW_LEGACY_INTERACTIVE and RENDER_LEGACY_DOCS booleans. It is also configurable for overview mode via settings.TAPIS_CLI_SHOW_LEGACY_INTERACTIVE_HELP.

HELP_STRING = 'Command description'
LEGACY_COMMMAND_STRING = None
RENDER_LEGACY_DOCS = True
SHOW_LEGACY_INTERACTIVE = False
get_epilog()
class tapis_cli.clients.services.mixins.FilesURI

Bases: tapis_cli.clients.services.mixins.AgaveURI

extend_parser(parser)
get_value(parsed_args, agave=None)
class tapis_cli.clients.services.mixins.IniLoader

Bases: tapis_cli.clients.services.mixins.ParserExtender

extend_parser(parser)
get_ini_contents(parsed_args)
get_ini_path(filename)