Method: Elasticsearch::API::MachineLearning::Actions#upgrade_job_snapshot
- Defined in:
- lib/elasticsearch/api/actions/machine_learning/upgrade_job_snapshot.rb
#upgrade_job_snapshot(arguments = {}) ⇒ Object
Upgrade a snapshot. Upgrade an anomaly detection model snapshot to the latest major version. Over time, older snapshot formats are deprecated and removed. Anomaly detection jobs support only snapshots that are from the current or previous major version. This API provides a means to upgrade a snapshot to the current major version. This aids in preparing the cluster for an upgrade to the next major version. Only one snapshot per anomaly detection job can be upgraded at a time and the upgraded snapshot cannot be the current snapshot of the anomaly detection job.
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
# File 'lib/elasticsearch/api/actions/machine_learning/upgrade_job_snapshot.rb', line 56 def upgrade_job_snapshot(arguments = {}) request_opts = { endpoint: arguments[:endpoint] || 'ml.upgrade_job_snapshot' } defined_params = [:job_id, :snapshot_id].each_with_object({}) do |variable, set_variables| set_variables[variable] = arguments[variable] if arguments.key?(variable) end request_opts[:defined_params] = defined_params unless defined_params.empty? raise ArgumentError, "Required argument 'job_id' missing" unless arguments[:job_id] raise ArgumentError, "Required argument 'snapshot_id' missing" unless arguments[:snapshot_id] arguments = arguments.clone headers = arguments.delete(:headers) || {} body = nil _job_id = arguments.delete(:job_id) _snapshot_id = arguments.delete(:snapshot_id) method = Elasticsearch::API::HTTP_POST path = "_ml/anomaly_detectors/#{Utils.listify(_job_id)}/model_snapshots/#{Utils.listify(_snapshot_id)}/_upgrade" params = Utils.process_params(arguments) Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers, request_opts) ) end |