/*
 * This is an auto-generated file.
 * Any manual changes may be overwritten without notice!
 */

use derive_builder::Builder;
use serde::{Deserialize, Serialize};

/// FuzzyMatch is used to describe the ID of an object which may be a machine
/// readable UUID or a human readable Name. If the object is a component of a Job,
/// the Scope is a list of IDs starting from Namespace down to the parent object of
/// ID.
///
/// e.g. A Task-level service would have scope like,
///
///     ["<namespace>", "<job>", "<group>", "<task>"]
///
/// This struct was generated based on the Go types of the official Nomad API.
#[derive(Clone, Debug, Default, PartialEq, Serialize, Deserialize, Builder)]
pub struct FuzzyMatch {
    #[serde(rename = "ID")]
    pub id: String,

    #[serde(rename = "Scope", skip_serializing_if = "Option::is_none")]
    pub scope: Option<Vec<String>>,
}
