Skip to main content

clientapi_pve/models/
cluster_metrics_update_server_request.rs

1/*
2 * Proxmox Virtual Environment API
3 *
4 * Generated from apidoc.js. NOT an official Proxmox specification. See https://pve.proxmox.com/pve-docs/api-viewer/ for the upstream documentation.
5 *
6 * The version of the OpenAPI document: 9.x
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct ClusterMetricsUpdateServerRequest {
16
17    /// An API path prefix inserted between '<host>:<port>/' and '/api2/'. Can be useful if the InfluxDB service runs behind a reverse proxy.
18    #[serde(rename = "api-path-prefix", skip_serializing_if = "Option::is_none")]
19    pub api_path_prefix: Option<String>,
20
21    /// The InfluxDB bucket/db. Only necessary when using the http v2 api.
22    #[serde(rename = "bucket", skip_serializing_if = "Option::is_none")]
23    pub bucket: Option<String>,
24
25    /// A list of settings you want to delete.
26    #[serde(rename = "delete", skip_serializing_if = "Option::is_none")]
27    pub delete: Option<String>,
28
29    /// Prevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications.
30    #[serde(rename = "digest", skip_serializing_if = "Option::is_none")]
31    pub digest: Option<String>,
32
33    /// Flag to disable the plugin.
34    #[serde(rename = "disable", skip_serializing_if = "Option::is_none")]
35    pub disable: Option<models::PveBoolean>,
36
37    #[serde(rename = "influxdbproto", skip_serializing_if = "Option::is_none")]
38    pub influxdbproto: Option<models::PveInfluxdbprotoEnum>,
39
40    /// InfluxDB max-body-size in bytes. Requests are batched up to this size.
41    #[serde(rename = "max-body-size", skip_serializing_if = "Option::is_none")]
42    pub max_body_size: Option<i64>,
43
44    /// MTU for metrics transmission over UDP
45    #[serde(rename = "mtu", skip_serializing_if = "Option::is_none")]
46    pub mtu: Option<i32>,
47
48    /// The InfluxDB organization. Only necessary when using the http v2 api. Has no meaning when using v2 compatibility api.
49    #[serde(rename = "organization", skip_serializing_if = "Option::is_none")]
50    pub organization: Option<String>,
51
52    /// Compression algorithm for requests
53    #[serde(rename = "otel-compression", skip_serializing_if = "Option::is_none")]
54    pub otel_compression: Option<models::PveOtelCompressionEnum>,
55
56    /// Custom HTTP headers (JSON format, base64 encoded)
57    #[serde(rename = "otel-headers", skip_serializing_if = "Option::is_none")]
58    pub otel_headers: Option<String>,
59
60    /// Maximum request body size in bytes
61    #[serde(rename = "otel-max-body-size", skip_serializing_if = "Option::is_none")]
62    pub otel_max_body_size: Option<i64>,
63
64    /// OTLP endpoint path
65    #[serde(rename = "otel-path", skip_serializing_if = "Option::is_none")]
66    pub otel_path: Option<String>,
67
68    /// HTTP protocol
69    #[serde(rename = "otel-protocol", skip_serializing_if = "Option::is_none")]
70    pub otel_protocol: Option<models::PveOtelProtocolEnum>,
71
72    /// Additional resource attributes as JSON, base64 encoded
73    #[serde(rename = "otel-resource-attributes", skip_serializing_if = "Option::is_none")]
74    pub otel_resource_attributes: Option<String>,
75
76    /// HTTP request timeout in seconds
77    #[serde(rename = "otel-timeout", skip_serializing_if = "Option::is_none")]
78    pub otel_timeout: Option<i32>,
79
80    /// Verify SSL certificates
81    #[serde(rename = "otel-verify-ssl", skip_serializing_if = "Option::is_none")]
82    pub otel_verify_ssl: Option<models::PveBoolean>,
83
84    /// root graphite path (ex: proxmox.mycluster.mykey)
85    #[serde(rename = "path", skip_serializing_if = "Option::is_none")]
86    pub path: Option<String>,
87
88    /// server network port
89    #[serde(rename = "port")]
90    pub port: i32,
91
92    /// Protocol to send graphite data. TCP or UDP (default)
93    #[serde(rename = "proto", skip_serializing_if = "Option::is_none")]
94    pub proto: Option<models::PveProtoEnum>,
95
96    /// server dns name or IP address
97    #[serde(rename = "server")]
98    pub server: String,
99
100    /// graphite TCP socket timeout (default=1)
101    #[serde(rename = "timeout", skip_serializing_if = "Option::is_none")]
102    pub timeout: Option<i64>,
103
104    /// The InfluxDB access token. Only necessary when using the http v2 api. If the v2 compatibility api is used, use 'user:password' instead.
105    #[serde(rename = "token", skip_serializing_if = "Option::is_none")]
106    pub token: Option<String>,
107
108    /// Set to 0 to disable certificate verification for https endpoints.
109    #[serde(rename = "verify-certificate", skip_serializing_if = "Option::is_none")]
110    pub verify_certificate: Option<models::PveBoolean>,
111
112
113}
114
115impl ClusterMetricsUpdateServerRequest {
116    pub fn new(port: i32, server: String) -> ClusterMetricsUpdateServerRequest {
117        ClusterMetricsUpdateServerRequest {
118            
119            api_path_prefix: None,
120            
121            bucket: None,
122            
123            delete: None,
124            
125            digest: None,
126            
127            disable: None,
128            
129            influxdbproto: None,
130            
131            max_body_size: None,
132            
133            mtu: None,
134            
135            organization: None,
136            
137            otel_compression: None,
138            
139            otel_headers: None,
140            
141            otel_max_body_size: None,
142            
143            otel_path: None,
144            
145            otel_protocol: None,
146            
147            otel_resource_attributes: None,
148            
149            otel_timeout: None,
150            
151            otel_verify_ssl: None,
152            
153            path: None,
154            
155            port,
156            
157            proto: None,
158            
159            server,
160            
161            timeout: None,
162            
163            token: None,
164            
165            verify_certificate: None,
166            
167        }
168    }
169}
170
171