Class: VectorAmp::SchedulesResource
- Inherits:
-
Object
- Object
- VectorAmp::SchedulesResource
- Defined in:
- lib/vector_amp/schedules.rb
Overview
Recurring ingestion schedules. A schedule pairs a source with a target dataset and a cron expression; the ingestion scheduler daemon polls for due schedules and creates jobs as they fire.
Instance Method Summary collapse
-
#create(source_id:, dataset_id:, cron:, timezone: nil, pipeline_id: nil, enabled: nil, name: nil, metadata: nil) ⇒ Hash
Create a recurring schedule.
-
#delete(schedule_id) ⇒ Hash
Delete a schedule.
-
#get(schedule_id) ⇒ Hash
Fetch one schedule.
- #initialize(transport) ⇒ SchedulesResource constructor
-
#list(limit: 50, offset: 0) ⇒ Hash
List schedules.
-
#trigger(schedule_id) ⇒ Hash
Trigger an immediate run for a schedule, outside its cron cadence.
-
#update(schedule_id, cron: nil, timezone: nil, pipeline_id: nil, enabled: nil, name: nil, metadata: nil) ⇒ Hash
Update a schedule.
Constructor Details
#initialize(transport) ⇒ SchedulesResource
10 11 12 |
# File 'lib/vector_amp/schedules.rb', line 10 def initialize(transport) @transport = transport end |
Instance Method Details
#create(source_id:, dataset_id:, cron:, timezone: nil, pipeline_id: nil, enabled: nil, name: nil, metadata: nil) ⇒ Hash
Create a recurring schedule.
39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/vector_amp/schedules.rb', line 39 def create(source_id:, dataset_id:, cron:, timezone: nil, pipeline_id: nil, enabled: nil, name: nil, metadata: nil) body = { "source_id" => source_id, "dataset_id" => dataset_id, "cron" => cron, } body["timezone"] = timezone unless timezone.nil? body["pipeline_id"] = pipeline_id unless pipeline_id.nil? body["enabled"] = enabled unless enabled.nil? body["name"] = name unless name.nil? body["metadata"] = unless .nil? @transport.request(:post, "/ingestion/schedules", body: body) end |
#delete(schedule_id) ⇒ Hash
Delete a schedule.
70 71 72 |
# File 'lib/vector_amp/schedules.rb', line 70 def delete(schedule_id) @transport.request(:delete, "/ingestion/schedules/#{schedule_id}") end |
#get(schedule_id) ⇒ Hash
Fetch one schedule.
25 26 27 |
# File 'lib/vector_amp/schedules.rb', line 25 def get(schedule_id) @transport.request(:get, "/ingestion/schedules/#{schedule_id}") end |
#list(limit: 50, offset: 0) ⇒ Hash
List schedules.
18 19 20 |
# File 'lib/vector_amp/schedules.rb', line 18 def list(limit: 50, offset: 0) @transport.request(:get, "/ingestion/schedules", query: { limit: limit, offset: offset }) end |
#trigger(schedule_id) ⇒ Hash
Trigger an immediate run for a schedule, outside its cron cadence.
77 78 79 |
# File 'lib/vector_amp/schedules.rb', line 77 def trigger(schedule_id) @transport.request(:post, "/ingestion/schedules/#{schedule_id}/trigger") end |
#update(schedule_id, cron: nil, timezone: nil, pipeline_id: nil, enabled: nil, name: nil, metadata: nil) ⇒ Hash
Update a schedule. Only non-nil fields are sent.
56 57 58 59 60 61 62 63 64 65 |
# File 'lib/vector_amp/schedules.rb', line 56 def update(schedule_id, cron: nil, timezone: nil, pipeline_id: nil, enabled: nil, name: nil, metadata: nil) body = {} body["cron"] = cron unless cron.nil? body["timezone"] = timezone unless timezone.nil? body["pipeline_id"] = pipeline_id unless pipeline_id.nil? body["enabled"] = enabled unless enabled.nil? body["name"] = name unless name.nil? body["metadata"] = unless .nil? @transport.request(:patch, "/ingestion/schedules/#{schedule_id}", body: body) end |