doppler_rs/models/
create_service_token_request.rs1use crate::models;
22use serde::{Deserialize, Serialize};
23use chrono::{DateTime, NaiveDate, Utc};
24#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
26pub struct CreateServiceTokenRequest {
27 #[serde(rename = "project")]
29 pub project: String ,
30 #[serde(rename = "config")]
32 pub config: String ,
33 #[serde(rename = "name")]
35 pub name: String ,
36 #[serde(rename = "expire_at", skip_serializing_if = "Option::is_none")]
38 pub expire_at: Option<chrono::DateTime<chrono::Utc> >,
39 #[serde(rename = "access", skip_serializing_if = "Option::is_none")]
43 pub access: Option<String >,
44}
45
46impl CreateServiceTokenRequest {
47 pub fn new(project: String , config: String , name: String ) -> CreateServiceTokenRequest {
48 CreateServiceTokenRequest {
49 project: project,
50 config: config,
51 name: name,
52 expire_at: None,
53 access: Some("Read".to_string()),
54 }
55 }
56}
57#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
59pub enum Access {
60 #[serde(rename = "read")]
61 Read,
63 #[serde(rename = "read/write")]
64 ReadSlashWrite,
66}
67
68impl Default for Access {
69 fn default() -> Access {
70 Self::Read
71 }
72}
73