tron.config.schema module¶
Immutable config schema objects. WARNING: it is NOT safe to delete these classes (or their attributes) if there are any references to them in DynamoDB until TRON-2200 is complete! (See DAR-2328) NOTE: this means that reverting a change that adds a new attribute is not safe :)
- class tron.config.schema.ActionRunnerTypes(value)¶
Bases:
EnumAn enumeration.
- none = 'none'¶
- subprocess = 'subprocess'¶
- class tron.config.schema.ConfigAction(name, command, requires, node, retries, retries_delay, executor, cpus, mem, disk, cap_add, cap_drop, constraints, docker_image, docker_parameters, env, secret_env, secret_volumes, projected_sa_volumes, field_selector_env, extra_volumes, expected_runtime, trigger_downstreams, triggered_by, on_upstream_rerun, trigger_timeout, node_selectors, node_affinities, topology_spread_constraints, labels, annotations, service_account_name, ports)¶
Bases:
tuple- annotations¶
Alias for field number 30
- cap_add¶
Alias for field number 10
- cap_drop¶
Alias for field number 11
- command¶
Alias for field number 1
- constraints¶
Alias for field number 12
- cpus¶
Alias for field number 7
- disk¶
Alias for field number 9
- docker_image¶
Alias for field number 13
- docker_parameters¶
Alias for field number 14
- env¶
Alias for field number 15
- executor¶
Alias for field number 6
- expected_runtime¶
Alias for field number 21
- extra_volumes¶
Alias for field number 20
- field_selector_env¶
Alias for field number 19
- classmethod from_dict(data: Dict[str, Any])¶
- labels¶
Alias for field number 29
- mem¶
Alias for field number 8
- name¶
Alias for field number 0
- node¶
Alias for field number 3
- node_affinities¶
Alias for field number 27
- node_selectors¶
Alias for field number 26
- on_upstream_rerun¶
Alias for field number 24
- optional_keys = ['requires', 'node', 'retries', 'retries_delay', 'executor', 'cpus', 'mem', 'disk', 'cap_add', 'cap_drop', 'constraints', 'docker_image', 'docker_parameters', 'env', 'secret_env', 'secret_volumes', 'projected_sa_volumes', 'field_selector_env', 'extra_volumes', 'expected_runtime', 'trigger_downstreams', 'triggered_by', 'on_upstream_rerun', 'trigger_timeout', 'node_selectors', 'node_affinities', 'topology_spread_constraints', 'labels', 'annotations', 'service_account_name', 'ports']¶
- ports¶
Alias for field number 32
- projected_sa_volumes¶
Alias for field number 18
- required_keys = ['name', 'command']¶
- requires¶
Alias for field number 2
- retries¶
Alias for field number 4
- retries_delay¶
Alias for field number 5
- secret_env¶
Alias for field number 16
- secret_volumes¶
Alias for field number 17
- service_account_name¶
Alias for field number 31
- topology_spread_constraints¶
Alias for field number 28
- trigger_downstreams¶
Alias for field number 22
- trigger_timeout¶
Alias for field number 25
- triggered_by¶
Alias for field number 23
- class tron.config.schema.ConfigActionRunner(runner_type, remote_status_path, remote_exec_path)¶
Bases:
tuple- classmethod from_dict(data: Dict[str, Any])¶
- optional_keys = ['runner_type', 'remote_status_path', 'remote_exec_path']¶
- remote_exec_path¶
Alias for field number 2
- remote_status_path¶
Alias for field number 1
- required_keys = []¶
- runner_type¶
Alias for field number 0
- class tron.config.schema.ConfigCleanupAction(command, name, node, retries, retries_delay, expected_runtime, executor, cpus, mem, disk, cap_add, cap_drop, constraints, docker_image, docker_parameters, env, secret_env, secret_volumes, projected_sa_volumes, field_selector_env, extra_volumes, trigger_downstreams, triggered_by, on_upstream_rerun, trigger_timeout, node_selectors, node_affinities, topology_spread_constraints, labels, annotations, service_account_name, ports)¶
Bases:
tuple- annotations¶
Alias for field number 29
- cap_add¶
Alias for field number 10
- cap_drop¶
Alias for field number 11
- command¶
Alias for field number 0
- constraints¶
Alias for field number 12
- cpus¶
Alias for field number 7
- disk¶
Alias for field number 9
- docker_image¶
Alias for field number 13
- docker_parameters¶
Alias for field number 14
- env¶
Alias for field number 15
- executor¶
Alias for field number 6
- expected_runtime¶
Alias for field number 5
- extra_volumes¶
Alias for field number 20
- field_selector_env¶
Alias for field number 19
- classmethod from_dict(data: Dict[str, Any])¶
- labels¶
Alias for field number 28
- mem¶
Alias for field number 8
- name¶
Alias for field number 1
- node¶
Alias for field number 2
- node_affinities¶
Alias for field number 26
- node_selectors¶
Alias for field number 25
- on_upstream_rerun¶
Alias for field number 23
- optional_keys = ['name', 'node', 'retries', 'retries_delay', 'expected_runtime', 'executor', 'cpus', 'mem', 'disk', 'cap_add', 'cap_drop', 'constraints', 'docker_image', 'docker_parameters', 'env', 'secret_env', 'secret_volumes', 'projected_sa_volumes', 'field_selector_env', 'extra_volumes', 'trigger_downstreams', 'triggered_by', 'on_upstream_rerun', 'trigger_timeout', 'node_selectors', 'node_affinities', 'topology_spread_constraints', 'labels', 'annotations', 'service_account_name', 'ports']¶
- ports¶
Alias for field number 31
- projected_sa_volumes¶
Alias for field number 18
- required_keys = ['command']¶
- retries¶
Alias for field number 3
- retries_delay¶
Alias for field number 4
- secret_env¶
Alias for field number 16
- secret_volumes¶
Alias for field number 17
- service_account_name¶
Alias for field number 30
- topology_spread_constraints¶
Alias for field number 27
- trigger_downstreams¶
Alias for field number 21
- trigger_timeout¶
Alias for field number 24
- triggered_by¶
Alias for field number 22
- class tron.config.schema.ConfigConstraint(attribute, operator, value)¶
Bases:
tuple- attribute¶
Alias for field number 0
- classmethod from_dict(data: Dict[str, Any])¶
- operator¶
Alias for field number 1
- optional_keys = []¶
- required_keys = ['attribute', 'operator', 'value']¶
- value¶
Alias for field number 2
- class tron.config.schema.ConfigFieldSelectorSource(field_path)¶
Bases:
tuple- field_path¶
Alias for field number 0
- classmethod from_dict(data: Dict[str, Any])¶
- optional_keys = []¶
- required_keys = ['field_path']¶
- class tron.config.schema.ConfigJob(name, node, schedule, actions, namespace, monitoring, queueing, run_limit, all_nodes, cleanup_action, enabled, allow_overlap, max_runtime, time_zone, expected_runtime, use_k8s)¶
Bases:
tuple- actions¶
Alias for field number 3
- all_nodes¶
Alias for field number 8
- allow_overlap¶
Alias for field number 11
- cleanup_action¶
Alias for field number 9
- enabled¶
Alias for field number 10
- expected_runtime¶
Alias for field number 14
- classmethod from_dict(data: Dict[str, Any])¶
- max_runtime¶
Alias for field number 12
- monitoring¶
Alias for field number 5
- name¶
Alias for field number 0
- namespace¶
Alias for field number 4
- node¶
Alias for field number 1
- optional_keys = ['monitoring', 'queueing', 'run_limit', 'all_nodes', 'cleanup_action', 'enabled', 'allow_overlap', 'max_runtime', 'time_zone', 'expected_runtime', 'use_k8s']¶
- queueing¶
Alias for field number 6
- required_keys = ['name', 'node', 'schedule', 'actions', 'namespace']¶
- run_limit¶
Alias for field number 7
- schedule¶
Alias for field number 2
- time_zone¶
Alias for field number 13
- use_k8s¶
Alias for field number 15
- class tron.config.schema.ConfigKubernetes(kubeconfig_path, enabled, non_retryable_exit_codes, default_volumes, watcher_kubeconfig_paths)¶
Bases:
tuple- default_volumes¶
Alias for field number 3
- enabled¶
Alias for field number 1
- classmethod from_dict(data: Dict[str, Any])¶
- kubeconfig_path¶
Alias for field number 0
- non_retryable_exit_codes¶
Alias for field number 2
- optional_keys = ['kubeconfig_path', 'enabled', 'non_retryable_exit_codes', 'default_volumes', 'watcher_kubeconfig_paths']¶
- required_keys = []¶
- watcher_kubeconfig_paths¶
Alias for field number 4
- class tron.config.schema.ConfigMesos(master_address, master_port, secret_file, principal, role, enabled, default_volumes, dockercfg_location, offer_timeout)¶
Bases:
tuple- default_volumes¶
Alias for field number 6
- dockercfg_location¶
Alias for field number 7
- enabled¶
Alias for field number 5
- classmethod from_dict(data: Dict[str, Any])¶
- master_address¶
Alias for field number 0
- master_port¶
Alias for field number 1
- offer_timeout¶
Alias for field number 8
- optional_keys = ['master_address', 'master_port', 'secret_file', 'principal', 'role', 'enabled', 'default_volumes', 'dockercfg_location', 'offer_timeout']¶
- principal¶
Alias for field number 3
- required_keys = []¶
- role¶
Alias for field number 4
- secret_file¶
Alias for field number 2
- class tron.config.schema.ConfigNode(hostname, name, username, port)¶
Bases:
tuple- classmethod from_dict(data: Dict[str, Any])¶
- hostname¶
Alias for field number 0
- name¶
Alias for field number 1
- optional_keys = ['name', 'username', 'port']¶
- port¶
Alias for field number 3
- required_keys = ['hostname']¶
- username¶
Alias for field number 2
- class tron.config.schema.ConfigNodeAffinity(key, operator, value)¶
Bases:
tuple- classmethod from_dict(data: Dict[str, Any])¶
- key¶
Alias for field number 0
- operator¶
Alias for field number 1
- optional_keys = []¶
- required_keys = ['key', 'operator', 'value']¶
- value¶
Alias for field number 2
- class tron.config.schema.ConfigNodePool(nodes, name)¶
Bases:
tuple- classmethod from_dict(data: Dict[str, Any])¶
- name¶
Alias for field number 1
- nodes¶
Alias for field number 0
- optional_keys = ['name']¶
- required_keys = ['nodes']¶
- class tron.config.schema.ConfigParameter(key, value)¶
Bases:
tuple- classmethod from_dict(data: Dict[str, Any])¶
- key¶
Alias for field number 0
- optional_keys = []¶
- required_keys = ['key', 'value']¶
- value¶
Alias for field number 1
- class tron.config.schema.ConfigProjectedSAVolume(container_path, audience, expiration_seconds)¶
Bases:
tuple- audience¶
Alias for field number 1
- container_path¶
Alias for field number 0
- expiration_seconds¶
Alias for field number 2
- classmethod from_dict(data: Dict[str, Any])¶
- optional_keys = ['expiration_seconds']¶
- required_keys = ['container_path', 'audience']¶
- class tron.config.schema.ConfigSSHOptions(agent, identities, known_hosts_file, connect_timeout, idle_connection_timeout, jitter_min_load, jitter_max_delay, jitter_load_factor)¶
Bases:
tuple- agent¶
Alias for field number 0
- connect_timeout¶
Alias for field number 3
- classmethod from_dict(data: Dict[str, Any])¶
- identities¶
Alias for field number 1
- idle_connection_timeout¶
Alias for field number 4
- jitter_load_factor¶
Alias for field number 7
- jitter_max_delay¶
Alias for field number 6
- jitter_min_load¶
Alias for field number 5
- known_hosts_file¶
Alias for field number 2
- optional_keys = ['agent', 'identities', 'known_hosts_file', 'connect_timeout', 'idle_connection_timeout', 'jitter_min_load', 'jitter_max_delay', 'jitter_load_factor']¶
- required_keys = []¶
- class tron.config.schema.ConfigSecretSource(secret_name, key)¶
Bases:
tuple- classmethod from_dict(data: Dict[str, Any])¶
- key¶
Alias for field number 1
- optional_keys = []¶
- required_keys = ['secret_name', 'key']¶
- secret_name¶
Alias for field number 0
- class tron.config.schema.ConfigSecretVolume(secret_volume_name, secret_name, container_path, default_mode=None, items=None)¶
Bases:
ConfigSecretVolume
- class tron.config.schema.ConfigSecretVolumeItem(key, path, mode)¶
Bases:
tuple- classmethod from_dict(data: Dict[str, Any])¶
- key¶
Alias for field number 0
- mode¶
Alias for field number 2
- optional_keys = ['mode']¶
- path¶
Alias for field number 1
- required_keys = ['key', 'path']¶
- class tron.config.schema.ConfigState(name, store_type, buffer_size, dynamodb_region, table_name)¶
Bases:
tuple- buffer_size¶
Alias for field number 2
- dynamodb_region¶
Alias for field number 3
- classmethod from_dict(data: Dict[str, Any])¶
- name¶
Alias for field number 0
- optional_keys = ['buffer_size', 'dynamodb_region', 'table_name']¶
- required_keys = ['name', 'store_type']¶
- store_type¶
Alias for field number 1
- table_name¶
Alias for field number 4
- class tron.config.schema.ConfigTopologySpreadConstraints(max_skew, label_selector, topology_key, when_unsatisfiable)¶
Bases:
tuple- classmethod from_dict(data: Dict[str, Any])¶
- label_selector¶
Alias for field number 1
- max_skew¶
Alias for field number 0
- optional_keys = []¶
- required_keys = ['max_skew', 'label_selector', 'topology_key', 'when_unsatisfiable']¶
- topology_key¶
Alias for field number 2
- when_unsatisfiable¶
Alias for field number 3
- class tron.config.schema.ConfigVolume(container_path, host_path, mode)¶
Bases:
tuple- container_path¶
Alias for field number 0
- classmethod from_dict(data: Dict[str, Any])¶
- host_path¶
Alias for field number 1
- mode¶
Alias for field number 2
- optional_keys = ['mode']¶
- required_keys = ['container_path', 'host_path']¶
- class tron.config.schema.ExecutorTypes(value)¶
Bases:
EnumAn enumeration.
- kubernetes = 'kubernetes'¶
- mesos = 'mesos'¶
- spark = 'spark'¶
- ssh = 'ssh'¶
- class tron.config.schema.NamedTronConfig(jobs)¶
Bases:
tuple- classmethod from_dict(data: Dict[str, Any])¶
- jobs¶
Alias for field number 0
- optional_keys = ['jobs']¶
- required_keys = []¶
- class tron.config.schema.StatePersistenceTypes(value)¶
Bases:
EnumAn enumeration.
- dynamodb = 'dynamodb'¶
- shelve = 'shelve'¶
- yaml = 'yaml'¶
- class tron.config.schema.TronConfig(output_stream_dir, action_runner, state_persistence, command_context, ssh_options, time_zone, nodes, node_pools, jobs, mesos_options, k8s_options, eventbus_enabled, read_json)¶
Bases:
tuple- action_runner¶
Alias for field number 1
- command_context¶
Alias for field number 3
- eventbus_enabled¶
Alias for field number 11
- classmethod from_dict(data: Dict[str, Any])¶
- jobs¶
Alias for field number 8
- k8s_options¶
Alias for field number 10
- mesos_options¶
Alias for field number 9
- node_pools¶
Alias for field number 7
- nodes¶
Alias for field number 6
- optional_keys = ['output_stream_dir', 'action_runner', 'state_persistence', 'command_context', 'ssh_options', 'time_zone', 'nodes', 'node_pools', 'jobs', 'mesos_options', 'k8s_options', 'eventbus_enabled', 'read_json']¶
- output_stream_dir¶
Alias for field number 0
- read_json¶
Alias for field number 12
- required_keys = []¶
- ssh_options¶
Alias for field number 4
- state_persistence¶
Alias for field number 2
- time_zone¶
Alias for field number 5
- tron.config.schema.config_object_factory(name, required=None, optional=None)¶
- Creates a namedtuple which has two additional attributes:
- required_keys:
all keys required to be set on this configuration object
- optional keys:
optional keys for this configuration object
The tuple is created from required + optional