clientapi-pve 2026.5.24

Generated from apidoc.js. NOT an official Proxmox specification. See https://pve.proxmox.com/pve-docs/api-viewer/ for the upstream documentation.
Documentation
/*
 * Proxmox Virtual Environment API
 *
 * Generated from apidoc.js. NOT an official Proxmox specification. See https://pve.proxmox.com/pve-docs/api-viewer/ for the upstream documentation.
 *
 * The version of the OpenAPI document: 9.x
 * 
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct AccessDomainsUpdateDomainsRequest {

    /// Specifies the Authentication Context Class Reference values that theAuthorization Server is being requested to use for the Auth Request.
    #[serde(rename = "acr-values", skip_serializing_if = "Option::is_none")]
    pub acr_values: Option<String>,

    /// A list of audiences that the OpenID Issuer may include that are accepted in addition to 'client-id'.
    #[serde(rename = "audiences", skip_serializing_if = "Option::is_none")]
    pub audiences: Option<String>,

    /// Automatically create users if they do not exist.
    #[serde(rename = "autocreate", skip_serializing_if = "Option::is_none")]
    pub autocreate: Option<models::PveBoolean>,

    /// LDAP base domain name
    #[serde(rename = "base_dn", skip_serializing_if = "Option::is_none")]
    pub base_dn: Option<String>,

    /// LDAP bind domain name
    #[serde(rename = "bind_dn", skip_serializing_if = "Option::is_none")]
    pub bind_dn: Option<String>,

    /// Path to the CA certificate store
    #[serde(rename = "capath", skip_serializing_if = "Option::is_none")]
    pub capath: Option<String>,

    /// username is case-sensitive
    #[serde(rename = "case-sensitive", skip_serializing_if = "Option::is_none")]
    pub case_sensitive: Option<models::PveBoolean>,

    /// Path to the client certificate
    #[serde(rename = "cert", skip_serializing_if = "Option::is_none")]
    pub cert: Option<String>,

    /// Path to the client certificate key
    #[serde(rename = "certkey", skip_serializing_if = "Option::is_none")]
    pub certkey: Option<String>,

    /// Check bind connection to the server.
    #[serde(rename = "check-connection", skip_serializing_if = "Option::is_none")]
    pub check_connection: Option<models::PveBoolean>,

    /// OpenID Client ID
    #[serde(rename = "client-id", skip_serializing_if = "Option::is_none")]
    pub client_id: Option<String>,

    /// OpenID Client Key
    #[serde(rename = "client-key", skip_serializing_if = "Option::is_none")]
    pub client_key: Option<String>,

    /// Description.
    #[serde(rename = "comment", skip_serializing_if = "Option::is_none")]
    pub comment: Option<String>,

    /// Use this as default realm
    #[serde(rename = "default", skip_serializing_if = "Option::is_none")]
    pub default: Option<models::PveBoolean>,

    /// A list of settings you want to delete.
    #[serde(rename = "delete", skip_serializing_if = "Option::is_none")]
    pub delete: Option<String>,

    /// Prevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications.
    #[serde(rename = "digest", skip_serializing_if = "Option::is_none")]
    pub digest: Option<String>,

    /// AD domain name
    #[serde(rename = "domain", skip_serializing_if = "Option::is_none")]
    pub domain: Option<String>,

    /// LDAP filter for user sync.
    #[serde(rename = "filter", skip_serializing_if = "Option::is_none")]
    pub filter: Option<String>,

    /// The objectclasses for groups.
    #[serde(rename = "group_classes", skip_serializing_if = "Option::is_none")]
    pub group_classes: Option<String>,

    /// LDAP base domain name for group sync. If not set, the base_dn will be used.
    #[serde(rename = "group_dn", skip_serializing_if = "Option::is_none")]
    pub group_dn: Option<String>,

    /// LDAP filter for group sync.
    #[serde(rename = "group_filter", skip_serializing_if = "Option::is_none")]
    pub group_filter: Option<String>,

    /// LDAP attribute representing a groups name. If not set or found, the first value of the DN will be used as name.
    #[serde(rename = "group_name_attr", skip_serializing_if = "Option::is_none")]
    pub group_name_attr: Option<String>,

    /// Automatically create groups if they do not exist.
    #[serde(rename = "groups-autocreate", skip_serializing_if = "Option::is_none")]
    pub groups_autocreate: Option<models::PveBoolean>,

    /// OpenID claim used to retrieve groups with.
    #[serde(rename = "groups-claim", skip_serializing_if = "Option::is_none")]
    pub groups_claim: Option<String>,

    /// All groups will be overwritten for the user on login.
    #[serde(rename = "groups-overwrite", skip_serializing_if = "Option::is_none")]
    pub groups_overwrite: Option<models::PveBoolean>,

    /// OpenID Issuer Url
    #[serde(rename = "issuer-url", skip_serializing_if = "Option::is_none")]
    pub issuer_url: Option<String>,

    /// LDAP protocol mode.
    #[serde(rename = "mode", skip_serializing_if = "Option::is_none")]
    pub mode: Option<models::PveModeEnum>,

    /// LDAP bind password. Will be stored in '/etc/pve/priv/realm/<REALM>.pw'.
    #[serde(rename = "password", skip_serializing_if = "Option::is_none")]
    pub password: Option<String>,

    /// Server port.
    #[serde(rename = "port", skip_serializing_if = "Option::is_none")]
    pub port: Option<i32>,

    /// Specifies whether the Authorization Server prompts the End-User for reauthentication and consent.
    #[serde(rename = "prompt", skip_serializing_if = "Option::is_none")]
    pub prompt: Option<String>,

    /// Enables querying the userinfo endpoint for claims values.
    #[serde(rename = "query-userinfo", skip_serializing_if = "Option::is_none")]
    pub query_userinfo: Option<models::PveBoolean>,

    /// Specifies the scopes (user details) that should be authorized and returned, for example 'email' or 'profile'.
    #[serde(rename = "scopes", skip_serializing_if = "Option::is_none")]
    pub scopes: Option<String>,

    /// Use secure LDAPS protocol. DEPRECATED: use 'mode' instead.
    #[serde(rename = "secure", skip_serializing_if = "Option::is_none")]
    pub secure: Option<models::PveBoolean>,

    /// Server IP address (or DNS name)
    #[serde(rename = "server1", skip_serializing_if = "Option::is_none")]
    pub server1: Option<String>,

    /// Fallback Server IP address (or DNS name)
    #[serde(rename = "server2", skip_serializing_if = "Option::is_none")]
    pub server2: Option<String>,

    /// LDAPS TLS/SSL version. It's not recommended to use version older than 1.2!
    #[serde(rename = "sslversion", skip_serializing_if = "Option::is_none")]
    pub sslversion: Option<models::PveSslversionEnum>,

    /// The default options for behavior of synchronizations.
    #[serde(rename = "sync-defaults-options", skip_serializing_if = "Option::is_none")]
    pub sync_defaults_options: Option<String>,

    /// Comma separated list of key=value pairs for specifying which LDAP attributes map to which PVE user field. For example, to map the LDAP attribute 'mail' to PVEs 'email', write  'email=mail'. By default, each PVE user field is represented  by an LDAP attribute of the same name.
    #[serde(rename = "sync_attributes", skip_serializing_if = "Option::is_none")]
    pub sync_attributes: Option<String>,

    /// Use Two-factor authentication.
    #[serde(rename = "tfa", skip_serializing_if = "Option::is_none")]
    pub tfa: Option<String>,

    /// LDAP user attribute name
    #[serde(rename = "user_attr", skip_serializing_if = "Option::is_none")]
    pub user_attr: Option<String>,

    /// The objectclasses for users.
    #[serde(rename = "user_classes", skip_serializing_if = "Option::is_none")]
    pub user_classes: Option<String>,

    /// Verify the server's SSL certificate
    #[serde(rename = "verify", skip_serializing_if = "Option::is_none")]
    pub verify: Option<models::PveBoolean>,


}

impl AccessDomainsUpdateDomainsRequest {
    pub fn new() -> AccessDomainsUpdateDomainsRequest {
        AccessDomainsUpdateDomainsRequest {
            
            acr_values: None,
            
            audiences: None,
            
            autocreate: None,
            
            base_dn: None,
            
            bind_dn: None,
            
            capath: None,
            
            case_sensitive: None,
            
            cert: None,
            
            certkey: None,
            
            check_connection: None,
            
            client_id: None,
            
            client_key: None,
            
            comment: None,
            
            default: None,
            
            delete: None,
            
            digest: None,
            
            domain: None,
            
            filter: None,
            
            group_classes: None,
            
            group_dn: None,
            
            group_filter: None,
            
            group_name_attr: None,
            
            groups_autocreate: None,
            
            groups_claim: None,
            
            groups_overwrite: None,
            
            issuer_url: None,
            
            mode: None,
            
            password: None,
            
            port: None,
            
            prompt: None,
            
            query_userinfo: None,
            
            scopes: None,
            
            secure: None,
            
            server1: None,
            
            server2: None,
            
            sslversion: None,
            
            sync_defaults_options: None,
            
            sync_attributes: None,
            
            tfa: None,
            
            user_attr: None,
            
            user_classes: None,
            
            verify: None,
            
        }
    }
}