genvid.toolbox.ClusterAPI¶
-
class
genvid.toolbox.
ClusterAPI
(cluster_id='local', **kwargs)¶ Bases:
genvid.toolbox.httpapi.BaseHttpApiTool
,genvid.toolbox.consul.ConsulTool
Handles the communication with a cluster.
-
GENVID_CLUSTER_API_BASEURL
= None¶ Base URL from bastion server, to access the cluster API.
Deprecated since version 1.12.0: This value is no longer used by
get_base_url()
. Override the method instead.
-
NAME
= 'cluster-api'¶
-
as_bitrate
(bitrate: str) → int¶ This method converts a string representing a bitrate into a number.
It follows the FFmpeg convention and accepts a string representing a number as input. It may be followed by one of the SI unit prefixes, such as ’K’, ’M’, or ’G’.
If ’i’ is appended to the SI unit prefix the complete prefix is interpreted as a unit prefix for binary multiples, which are based on powers of 1024 instead of powers of 1000.
Appending ’B’ to the SI unit prefix multiplies the value by 8. This allows using suffixes like ’KB’, ’MiB’, ’G’ and ’B’.
-
clear_secrets
(timeout=0.0)¶ Delete a secret.
Parameters: timeout – The timeout in seconds.
-
cluster_id
= None¶ Base URL for Genvid Cluster Service API.
-
delete_events_def
(event_id: str, timeout=0.0)¶ Delete an events definition.
Parameters: - event_id – The events definition to delete.
- timeout – The timeout in seconds.
-
delete_events_defs
(timeout=0.0)¶ Delete the multiple event definitions.
Parameters: timeout – The timeout in seconds.
-
delete_jobsdef
(job_id: str, timeout=0.0)¶ Delete a job definition.
Parameters: timeout – The timeout in seconds. Deprecated since version 1.12.0: Use
jobs
andJobsAPI.delete_job_definition()
-
delete_jobsdefs
(timeout=0.0)¶ Delete multiple job definitions.
Parameters: timeout – The timeout in seconds. Deprecated since version 1.12.0: Use
jobs
andJobsAPI.delete_job_definitions()
-
delete_linksdef
(link_id: str, timeout=0.0)¶ Delete a link definition.
Parameters: timeout – The timeout in seconds.
-
delete_linksdefs
(timeout=0.0)¶ Delete multiple link definitions.
Parameters: timeout – The timeout in seconds.
-
delete_project_config
(timeout=0.0)¶ Delete the configuration. The keys genvid, bastion, and vault are omitted.
Parameters: timeout – The timeout in seconds.
-
delete_project_log
(log_id: str, timeout=0.0)¶ Delete the specified log.
Parameters: - log_id – The log ID.
- timeout – The timeout in seconds.
Deprecated since version 1.12: Use
logs
andLogsAPI.delete_log()
-
delete_project_log_list
(timeout=0.0)¶ Delete the list of logs.
Parameters: timeout – The timeout in seconds. Deprecated since version 1.12: Use
logs
andLogsAPI.delete_logs()
-
delete_secret
(path: str, timeout=0.0)¶ Delete a secret.
Parameters: - path – The path to the secret.
- timeout – The timeout in seconds.
-
do_consul_template
(template: str, timeout=0.0) → dict¶ Execute a consul-template on the server site and return the result.
Parameters: - template – The template.
- timeout – The timeout in seconds.
Returns: Ex: { “data”: “result”, “stderr”: “message”}
-
get_base_url
(timeout=0.0) → str¶ Get the base url
-
get_default_settings
() → dict¶ Get the default settings.
Returns: A dictionary of settings.
-
get_events_defs
(timeout=0.0)¶ Get the events definitions.
Parameters: timeout – The timeout in seconds.
-
get_health
(service: str, timeout=0.0)¶
-
get_jobsdefs
(timeout=0.0) → dict¶ Retrieve multiple job definitions.
Parameters: timeout – The timeout in seconds. Returns: The data associated with the job definitions. Deprecated since version 1.12.0: Use
jobs
andJobsAPI.get_job_definitions()
-
get_links
(category: str = '', link_id: str = '', timeout=0.0)¶ Get the list of links.
Parameters: - category – The link’s category.
- link_id – The link’s ID.
- timeout – The timeout in seconds.
Returns: A list of strings.
-
get_linksdefs
(timeout=0.0) → dict¶ Retrieve multiple link definitions.
Parameters: timeout – The timeout in seconds. Returns: The data associated with the link definitions.
-
get_project_config
(timeout=0.0)¶ Get the project configuration.
Parameters: timeout – The timeout in seconds. Returns: The project configuration.
-
get_project_jobs
(timeout=0.0)¶ Return currently running jobs in the process.
Deprecated since version 1.12.0: Use
jobs
andJobsAPI.get_job_definitions()
-
get_project_log_list
(timeout=0.0) → typing.List[dict]¶ Get the list of logs.
Returns: The list of logs. Deprecated since version 1.12: Use
logs
andLogsAPI.get_logs()
-
get_project_log_meta
(name: str, timeout=0.0) → dict¶ Return the meta data associated with the project log.
Parameters: - name – The log name.
- timeout – The timeout in seconds.
Deprecated since version 1.12: Use
logs
andLogsAPI.get_log_meta()
-
get_project_log_stream
(meta: dict, origin: str, offset: int, timeout=0.0)¶ Return the log stream for the log specified in the meta.
Parameters: - meta – The log meta information.
- origin – The origin of the log. Either ‘start’ or ‘end’.
- offset – The offset to the origin.
- timeout – The timeout in seconds.
Deprecated since version 1.12: Use
logs
andLogsAPI.get_log_stream()
-
get_proxied_url
(service: str = 'cluster-api', timeout=0.0) → str¶ Get the cluster service proxied url
Changed in version 1.12.0: The URL is now always returned without a slash.
-
get_schema
(schema: str)¶ Get the specified schema.
Parameters: schema – The schema file. Returns:
-
get_secret
(path: str, timeout=0.0) → dict¶ Retrieve a secret.
Parameters: - path – The path to the secret.
- timeout – The timeout in seconds.
Returns: The data associated with the secret.
-
get_secrets
(timeout=0.0) → dict¶ Get the list of secrets in the database.
Parameters: timeout – The timeout in seconds. Returns: The list of secrets. Ex: { “keys”: [“command”, “disco”]}
-
get_service_addresses
(service: str, timeout=0.0) → typing.List[str]¶ Get the service addresses
Parameters: - service – The service name
- timeout – The timeout in seconds
Returns:
-
get_settings
() → dict¶ Get the settings.
Returns: A dictionary of settings.
-
get_settings_validation
() → typing.List[str]¶ Get the settings validation.
Returns: A list of warning messages.
-
is_cluster_running
(timeout=0.0)¶ Return if the cluster server is running.
-
load_project_definition
(definition)¶ Load a project definition into the cluster.
-
print_project_log
(name, output=None, tail=False, follow=False, lines=10, timeout=0.0)¶ Print project logs on output.
Parameters: - name – The name of the log.
- output – If None, defaults to stdout.
- tail – If True, prints the end of the log.
- follow – If True, continues to show the log as it runs.
- lines – An approximate number of lines to show.
- timeout – The timeout in seconds.
Deprecated since version 1.12: Use
logs
andLogsAPI.print_log()
-
run_all_project_job
(timeout=0.0)¶ Start all project jobs by calling the cluster service.
Parameters: timeout – The timeout in seconds. Deprecated since version 1.12.0: Use
jobs
andJobsAPI.start_all_job()
-
run_project_job
(job: str, timeout=0.0)¶ Start a project job by calling the cluster service.
Parameters: - job – The job name.
- timeout – The timeout in seconds.
Deprecated since version 1.12.0: Use
jobs
andJobsAPI.start_job()
-
set_events_defs
(events_defs: dict, timeout=0.0) → dict¶ Set the events definition.
Parameters: - events_defs – The events.
- timeout – The timeout in seconds.
-
set_jobsdefs
(data: dict, timeout=0.0)¶ Set multiple job definitions.
Parameters: - data – Data associated with the job definitions.
- timeout – The timeout in seconds.
Deprecated since version 1.12.0: Use
jobs
andJobsAPI.update_job_definitions()
-
set_linksdefs
(data: dict, timeout=0.0)¶ Set multiple link definitions.
Parameters: - data – Data associated with the link definitions.
- timeout – The timeout in seconds.
-
set_project_config
(config: dict, timeout=0.0)¶ Set the project configuration. The keys genvid, bastion, and vault are omitted.
Parameters: - config – The project configuration.
- timeout – The timeout in seconds.
-
set_project_log_list
(logs: list, timeout=0.0)¶ Return the list of logs.
Parameters: - logs – Configure the list of logs.
- timeout – The timeout in seconds.
Deprecated since version 1.12: Use
logs
andLogsAPI.set_logs()
-
set_secret
(path: str, data: dict, timeout=0.0)¶ Set a secret.
Parameters: - path – The path to the secret.
- data – Data associated with the secret.
- timeout – The timeout in seconds.
-
set_settings
(settings: dict)¶ Set multiple configuration settings.
Parameters: settings – The settings used for configuration. Values default to empty.
-
stop_all_project_job
(timeout=0.0)¶ Stop all project jobs by calling the cluster service.
Parameters: timeout – The timeout in seconds. Deprecated since version 1.12.0: Use
jobs
andJobsAPI.stop_all_job()
-
stop_project_job
(job: str, timeout=0.0)¶ Stop a project job by calling the cluster service.
Parameters: - job – The job name.
- timeout – The timeout in seconds.
Deprecated since version 1.12.0: Use
jobs
andJobsAPI.stop_job()
-
-
class
cluster_api.
ClusterAPI
¶ Implementation of
genvid.toolbox.ClusterAPI