/*
 * 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
 */

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

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

impl BulkWritableSecretsGroupAssociationRequest {
    /// Serializer for `SecretsGroupAssociation` objects.
    pub fn new(
        id: uuid::Uuid,
        access_type: crate::models::AccessTypeEnum,
        secret_type: crate::models::SecretTypeEnum,
        secrets_group: crate::models::ApprovalWorkflowStageResponseApprovalWorkflowStage,
        secret: crate::models::ApprovalWorkflowStageResponseApprovalWorkflowStage,
    ) -> BulkWritableSecretsGroupAssociationRequest {
        BulkWritableSecretsGroupAssociationRequest {
            id,
            access_type,
            secret_type,
            secrets_group: Box::new(secrets_group),
            secret: Box::new(secret),
        }
    }
}
