dfns-sdk-rust 0.2.0

Dfns API SDK for Rust
Documentation
// Code generated by rust-sdk-generator. DO NOT EDIT.

#![allow(clippy::all)]

/// Get Policy
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct GetPolicyResponse {
    #[serde(
        rename = "pendingChangeRequest",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub pending_change_request: Option<serde_json::Value>,
}

/// Request body for the updatePolicy operation.
pub type UpdatePolicyRequest = serde_json::Value;

/// Create Approval Decision
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct CreateApprovalDecisionRequest {
    #[serde(rename = "value")]
    pub value: String,
    #[serde(rename = "reason", default, skip_serializing_if = "Option::is_none")]
    pub reason: Option<String>,
}

/// Create Approval Decision
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct CreateApprovalDecisionResponse {
    #[serde(rename = "id")]
    pub id: String,
    #[serde(rename = "initiatorId")]
    pub initiator_id: String,
    #[serde(rename = "activity")]
    pub activity: serde_json::Value,
    #[serde(rename = "status")]
    pub status: String,
    #[serde(
        rename = "expirationDate",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub expiration_date: Option<String>,
    #[serde(
        rename = "dateCreated",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub date_created: Option<String>,
    #[serde(rename = "dateUpdated")]
    pub date_updated: String,
    #[serde(
        rename = "dateResolved",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub date_resolved: Option<String>,
    #[serde(rename = "policyEvaluations")]
    pub policy_evaluations: Vec<serde_json::Value>,
    #[serde(rename = "decisions")]
    pub decisions: Vec<serde_json::Value>,
}

/// List Policies
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct ListPoliciesResponse {
    #[serde(rename = "items")]
    pub items: Vec<serde_json::Value>,
    #[serde(
        rename = "nextPageToken",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub next_page_token: Option<String>,
}

/// Query parameters for the ListPoliciesQuery operation.
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct ListPoliciesQuery {
    #[serde(rename = "limit", default, skip_serializing_if = "Option::is_none")]
    pub limit: Option<String>,
    #[serde(
        rename = "paginationToken",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub pagination_token: Option<String>,
    #[serde(rename = "status", default, skip_serializing_if = "Option::is_none")]
    pub status: Option<String>,
}

/// Request body for the createPolicy operation.
pub type CreatePolicyRequest = serde_json::Value;

/// Get Approval
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct GetApprovalResponse {
    #[serde(rename = "id")]
    pub id: String,
    #[serde(rename = "initiatorId")]
    pub initiator_id: String,
    #[serde(rename = "activity")]
    pub activity: serde_json::Value,
    #[serde(rename = "status")]
    pub status: String,
    #[serde(
        rename = "expirationDate",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub expiration_date: Option<String>,
    #[serde(
        rename = "dateCreated",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub date_created: Option<String>,
    #[serde(rename = "dateUpdated")]
    pub date_updated: String,
    #[serde(
        rename = "dateResolved",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub date_resolved: Option<String>,
    #[serde(rename = "policyEvaluations")]
    pub policy_evaluations: Vec<serde_json::Value>,
    #[serde(rename = "decisions")]
    pub decisions: Vec<serde_json::Value>,
}

/// List Approvals
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct ListApprovalsResponse {
    #[serde(rename = "items")]
    pub items: Vec<crate::types::PolicyApproval>,
    #[serde(
        rename = "nextPageToken",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub next_page_token: Option<String>,
}

/// Query parameters for the ListApprovalsQuery operation.
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct ListApprovalsQuery {
    #[serde(rename = "limit", default, skip_serializing_if = "Option::is_none")]
    pub limit: Option<String>,
    #[serde(
        rename = "paginationToken",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub pagination_token: Option<String>,
    #[serde(rename = "status", default, skip_serializing_if = "Option::is_none")]
    pub status: Option<String>,
    #[serde(
        rename = "initiatorId",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub initiator_id: Option<String>,
    #[serde(
        rename = "approverId",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub approver_id: Option<String>,
}