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

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

/// ACLBindingRuleListStub is the stub object returned when performing a listing
/// of ACL binding rules.
///
/// This struct was generated based on the Go types of the official Nomad API.
#[derive(Clone, Debug, Default, PartialEq, Serialize, Deserialize, Builder)]
pub struct AclBindingRuleListStub {
    /// ID is an internally generated UUID for this role and is controlled by
    /// Nomad.
    #[serde(rename = "ID")]
    pub id: String,

    /// Description is a human-readable, operator set description that can
    /// provide additional context about the binding role. This is an
    /// operational field.
    #[serde(rename = "Description")]
    pub description: String,

    /// AuthMethod is the name of the auth method for which this rule applies
    /// to. This is required and the method must exist within state before the
    /// cluster administrator can create the rule.
    #[serde(rename = "AuthMethod")]
    pub auth_method: String,

    #[serde(rename = "CreateIndex")]
    pub create_index: u64,

    #[serde(rename = "ModifyIndex")]
    pub modify_index: u64,
}
