/*
 * API Documentation
 *
 * Source of truth and network automation platform
 *
 * The version of the OpenAPI document: 3.1.0 (3.1)
 *
 * Generated by: https://openapi-generator.tech
 */

/// PatchedBulkWritableSecretsGroupAssociationRequest : Serializer for `SecretsGroupAssociation` objects.

#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct PatchedBulkWritableSecretsGroupAssociationRequest {
    #[serde(rename = "id")]
    pub id: uuid::Uuid,
    #[serde(rename = "access_type", skip_serializing_if = "Option::is_none")]
    pub access_type: Option<crate::models::AccessTypeEnum>,
    #[serde(rename = "secret_type", skip_serializing_if = "Option::is_none")]
    pub secret_type: Option<crate::models::SecretTypeEnum>,
    #[serde(rename = "secrets_group", skip_serializing_if = "Option::is_none")]
    pub secrets_group:
        Option<Box<crate::models::ApprovalWorkflowStageResponseApprovalWorkflowStage>>,
    #[serde(rename = "secret", skip_serializing_if = "Option::is_none")]
    pub secret: Option<Box<crate::models::ApprovalWorkflowStageResponseApprovalWorkflowStage>>,
}

impl PatchedBulkWritableSecretsGroupAssociationRequest {
    /// Serializer for `SecretsGroupAssociation` objects.
    pub fn new(id: uuid::Uuid) -> PatchedBulkWritableSecretsGroupAssociationRequest {
        PatchedBulkWritableSecretsGroupAssociationRequest {
            id,
            access_type: None,
            secret_type: None,
            secrets_group: None,
            secret: None,
        }
    }
}
