Class: Conductor::Client::MetadataClient

Inherits:
Object
  • Object
show all
Defined in:
lib/conductor/client/metadata_client.rb

Overview

MetadataClient - High-level client for workflow and task metadata operations Provides a clean interface for registering and managing workflow/task definitions

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(configuration = nil) ⇒ MetadataClient

Initialize MetadataClient

Parameters:

  • configuration (Configuration) (defaults to: nil)

    Optional configuration



16
17
18
19
20
# File 'lib/conductor/client/metadata_client.rb', line 16

def initialize(configuration = nil)
  @configuration = configuration || Configuration.new
  api_client = Http::ApiClient.new(configuration: @configuration)
  @metadata_api = Http::Api::MetadataResourceApi.new(api_client)
end

Instance Attribute Details

#metadata_apiObject (readonly)

Returns the value of attribute metadata_api.



12
13
14
# File 'lib/conductor/client/metadata_client.rb', line 12

def 
  @metadata_api
end

Instance Method Details

#add_workflow_tag(workflow_name, tag, version: nil) ⇒ void

This method returns an undefined value.

Add metadata (tags) to a workflow

Parameters:

  • workflow_name (String)

    Workflow name

  • tag (Object)

    Tag/metadata to add

  • version (Integer) (defaults to: nil)

    Workflow version (optional)



118
119
120
# File 'lib/conductor/client/metadata_client.rb', line 118

def add_workflow_tag(workflow_name, tag, version: nil)
  @metadata_api.(workflow_name, tag, version: version)
end

#delete_workflow_tag(workflow_name, version:) ⇒ void

This method returns an undefined value.

Delete metadata (tags) from a workflow

Parameters:

  • workflow_name (String)

    Workflow name

  • version (Integer)

    Workflow version



134
135
136
# File 'lib/conductor/client/metadata_client.rb', line 134

def delete_workflow_tag(workflow_name, version:)
  @metadata_api.(workflow_name, version: version)
end

#get_all_task_defsArray<TaskDef>

Get all task definitions

Returns:

  • (Array<TaskDef>)

    List of task definitions



105
106
107
# File 'lib/conductor/client/metadata_client.rb', line 105

def get_all_task_defs
  @metadata_api.get_all_task_defs
end

#get_all_workflow_defsArray<WorkflowDef>

Get all workflow definitions

Returns:

  • (Array<WorkflowDef>)

    List of workflow definitions



60
61
62
# File 'lib/conductor/client/metadata_client.rb', line 60

def get_all_workflow_defs
  @metadata_api.get_all_workflows
end

#get_task_def(task_type) ⇒ TaskDef

Get a task definition by name

Parameters:

  • task_type (String)

    Task type name

Returns:

  • (TaskDef)

    Task definition



99
100
101
# File 'lib/conductor/client/metadata_client.rb', line 99

def get_task_def(task_type)
  @metadata_api.get_task_def(task_type)
end

#get_workflow_def(name, version: nil) ⇒ WorkflowDef

Get a workflow definition by name

Parameters:

  • name (String)

    Workflow name

  • version (Integer) (defaults to: nil)

    Workflow version (optional, returns latest if not specified)

Returns:

  • (WorkflowDef)

    Workflow definition



54
55
56
# File 'lib/conductor/client/metadata_client.rb', line 54

def get_workflow_def(name, version: nil)
  @metadata_api.get_workflow_def(name, version: version)
end

#get_workflow_tags(workflow_name, version: nil) ⇒ Object

Get metadata (tags) for a workflow

Parameters:

  • workflow_name (String)

    Workflow name

  • version (Integer) (defaults to: nil)

    Workflow version (optional)

Returns:

  • (Object)

    Workflow metadata/tags



126
127
128
# File 'lib/conductor/client/metadata_client.rb', line 126

def get_workflow_tags(workflow_name, version: nil)
  @metadata_api.(workflow_name, version: version)
end

#register_task_def(task_def) ⇒ void

This method returns an undefined value.

Register a task definition

Parameters:

  • task_def (TaskDef)

    Task definition to register



71
72
73
# File 'lib/conductor/client/metadata_client.rb', line 71

def register_task_def(task_def)
  @metadata_api.register_task_def([task_def])
end

#register_task_defs(task_defs) ⇒ void

This method returns an undefined value.

Register multiple task definitions

Parameters:

  • task_defs (Array<TaskDef>)

    List of task definitions to register



78
79
80
# File 'lib/conductor/client/metadata_client.rb', line 78

def register_task_defs(task_defs)
  @metadata_api.register_task_def(task_defs)
end

#register_workflow_def(workflow_def, overwrite: true) ⇒ void

This method returns an undefined value.

Register a workflow definition

Parameters:

  • workflow_def (WorkflowDef)

    Workflow definition to register

  • overwrite (Boolean) (defaults to: true)

    Overwrite existing definition (default: true)



30
31
32
# File 'lib/conductor/client/metadata_client.rb', line 30

def register_workflow_def(workflow_def, overwrite: true)
  @metadata_api.create_workflow(workflow_def, overwrite: overwrite)
end

#unregister_task_def(task_type) ⇒ void

This method returns an undefined value.

Unregister (delete) a task definition

Parameters:

  • task_type (String)

    Task type name



92
93
94
# File 'lib/conductor/client/metadata_client.rb', line 92

def unregister_task_def(task_type)
  @metadata_api.unregister_task_def(task_type)
end

#unregister_workflow_def(name, version:) ⇒ void

This method returns an undefined value.

Unregister (delete) a workflow definition

Parameters:

  • name (String)

    Workflow name

  • version (Integer)

    Workflow version



46
47
48
# File 'lib/conductor/client/metadata_client.rb', line 46

def unregister_workflow_def(name, version:)
  @metadata_api.unregister_workflow_def(name, version: version)
end

#update_task_def(task_def) ⇒ void

This method returns an undefined value.

Update a task definition

Parameters:

  • task_def (TaskDef)

    Task definition to update



85
86
87
# File 'lib/conductor/client/metadata_client.rb', line 85

def update_task_def(task_def)
  @metadata_api.update_task_def(task_def)
end

#update_workflow_def(workflow_def, overwrite: true) ⇒ void

This method returns an undefined value.

Update a workflow definition

Parameters:

  • workflow_def (WorkflowDef)

    Workflow definition to update

  • overwrite (Boolean) (defaults to: true)

    Overwrite existing definition (default: true)



38
39
40
# File 'lib/conductor/client/metadata_client.rb', line 38

def update_workflow_def(workflow_def, overwrite: true)
  @metadata_api.update_workflows([workflow_def], overwrite: overwrite)
end