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

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

/// ACLOIDCAuthURLRequest is the request to make when starting the OIDC
/// authentication login flow.
///
/// This struct was generated based on the Go types of the official Nomad API.
#[derive(Clone, Debug, Default, PartialEq, Serialize, Deserialize, Builder)]
pub struct ACLOIDCAuthURLRequest {
    /// RedirectURI is the URL that authorization should redirect to. This is a
    /// required parameter.
    #[serde(rename = "RedirectURI")]
    pub redirect_uri: String,

    /// ClientNonce is a randomly generated string to prevent replay attacks. It
    /// is up to the client to generate this and Go integrations should use the
    /// oidc.NewID function within the hashicorp/cap library.
    #[serde(rename = "ClientNonce")]
    pub client_nonce: String,

    /// AuthMethodName is the OIDC auth-method to use. This is a required
    /// parameter.
    #[serde(rename = "AuthMethodName")]
    pub auth_method_name: String,
}
