jira_v3_openapi 1.5.0

Jira Cloud platform REST API lib (OpenAPI document version: 1001.0.0-SNAPSHOT-37416ade0f89f7cb291510843b8a4bbd682b33a1)
Documentation
/*
 * The Jira Cloud platform REST API
 *
 * Jira Cloud platform REST API documentation
 *
 * The version of the OpenAPI document: 1001.0.0-SNAPSHOT-37416ade0f89f7cb291510843b8a4bbd682b33a1
 * Contact: ecosystem@atlassian.com
 * Generated by: https://openapi-generator.tech
 */

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

/// SecurityLevelMemberPayload : The payload for creating a security level member. See https://support.atlassian.com/jira-cloud-administration/docs/configure-issue-security-schemes/
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct SecurityLevelMemberPayload {
    /// Defines the value associated with the type. For reporter this would be \\{\"null\"\\}; for users this would be the names of specific users); for group this would be group names like \\{\"administrators\", \"jira-administrators\", \"jira-users\"\\}
    #[serde(rename = "parameter", skip_serializing_if = "Option::is_none")]
    pub parameter: Option<String>,
    /// The type of the security level member
    #[serde(rename = "type", skip_serializing_if = "Option::is_none")]
    pub r#type: Option<Type>,
}

impl SecurityLevelMemberPayload {
    /// The payload for creating a security level member. See https://support.atlassian.com/jira-cloud-administration/docs/configure-issue-security-schemes/
    pub fn new() -> SecurityLevelMemberPayload {
        SecurityLevelMemberPayload {
            parameter: None,
            r#type: None,
        }
    }
}
/// The type of the security level member
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Type {
    #[serde(rename = "group")]
    Group,
    #[serde(rename = "reporter")]
    Reporter,
    #[serde(rename = "users")]
    Users,
}

impl Default for Type {
    fn default() -> Type {
        Self::Group
    }
}