dfns-sdk-rust 0.2.0

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

#![allow(clippy::all)]

/// Archive Permission
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct ArchivePermissionRequest {
    #[serde(rename = "isArchived")]
    pub is_archived: bool,
}

/// Archive Permission
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct ArchivePermissionResponse {
    #[serde(rename = "id")]
    pub id: String,
    #[serde(rename = "name")]
    pub name: String,
    #[serde(rename = "operations")]
    pub operations: Vec<String>,
    #[serde(rename = "status")]
    pub status: String,
    #[serde(rename = "isImmutable")]
    pub is_immutable: bool,
    #[serde(rename = "isArchived")]
    pub is_archived: bool,
    #[serde(rename = "dateCreated")]
    pub date_created: String,
    #[serde(rename = "dateUpdated")]
    pub date_updated: String,
}

/// List Permission Assignments
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct ListPermissionAssignmentsResponse {
    #[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 ListPermissionAssignmentsQuery operation.
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct ListPermissionAssignmentsQuery {
    #[serde(rename = "limit", default, skip_serializing_if = "Option::is_none")]
    pub limit: Option<i64>,
    #[serde(
        rename = "paginationToken",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub pagination_token: Option<String>,
}

/// Assign Permission
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct AssignPermissionRequest {
    #[serde(rename = "identityId")]
    pub identity_id: String,
}

/// Assign Permission
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct AssignPermissionResponse {
    #[serde(rename = "id")]
    pub id: String,
    #[serde(rename = "permissionId")]
    pub permission_id: String,
    #[serde(rename = "identityId")]
    pub identity_id: String,
    #[serde(rename = "isImmutable")]
    pub is_immutable: bool,
    #[serde(rename = "dateCreated")]
    pub date_created: String,
    #[serde(rename = "dateUpdated")]
    pub date_updated: String,
}

/// List Permissions
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct ListPermissionsResponse {
    #[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 ListPermissionsQuery operation.
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct ListPermissionsQuery {
    #[serde(rename = "limit", default, skip_serializing_if = "Option::is_none")]
    pub limit: Option<i64>,
    #[serde(
        rename = "paginationToken",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub pagination_token: Option<String>,
}

/// Create Permission
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct CreatePermissionRequest {
    #[serde(rename = "name")]
    pub name: String,
    #[serde(rename = "operations")]
    pub operations: Vec<serde_json::Value>,
}

/// Create Permission
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct CreatePermissionResponse {
    #[serde(rename = "id")]
    pub id: String,
    #[serde(rename = "name")]
    pub name: String,
    #[serde(rename = "operations")]
    pub operations: Vec<String>,
    #[serde(rename = "status")]
    pub status: String,
    #[serde(rename = "isImmutable")]
    pub is_immutable: bool,
    #[serde(rename = "isArchived")]
    pub is_archived: bool,
    #[serde(rename = "dateCreated")]
    pub date_created: String,
    #[serde(rename = "dateUpdated")]
    pub date_updated: String,
}

/// Query parameters for the RevokePermissionQuery operation.
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct RevokePermissionQuery {
    #[serde(rename = "force", default, skip_serializing_if = "Option::is_none")]
    pub force: Option<bool>,
}

/// Get Permission
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct GetPermissionResponse {
    #[serde(rename = "id")]
    pub id: String,
    #[serde(rename = "name")]
    pub name: String,
    #[serde(rename = "operations")]
    pub operations: Vec<String>,
    #[serde(rename = "status")]
    pub status: String,
    #[serde(rename = "isImmutable")]
    pub is_immutable: bool,
    #[serde(rename = "isArchived")]
    pub is_archived: bool,
    #[serde(rename = "dateCreated")]
    pub date_created: String,
    #[serde(rename = "dateUpdated")]
    pub date_updated: String,
    #[serde(
        rename = "pendingChangeRequest",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub pending_change_request: Option<serde_json::Value>,
}

/// Update Permission
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct UpdatePermissionRequest {
    #[serde(rename = "name", default, skip_serializing_if = "Option::is_none")]
    pub name: Option<String>,
    #[serde(
        rename = "operations",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub operations: Option<Vec<serde_json::Value>>,
}

/// Update Permission
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct UpdatePermissionResponse {
    #[serde(rename = "id")]
    pub id: String,
    #[serde(rename = "name")]
    pub name: String,
    #[serde(rename = "operations")]
    pub operations: Vec<String>,
    #[serde(rename = "status")]
    pub status: String,
    #[serde(rename = "isImmutable")]
    pub is_immutable: bool,
    #[serde(rename = "isArchived")]
    pub is_archived: bool,
    #[serde(rename = "dateCreated")]
    pub date_created: String,
    #[serde(rename = "dateUpdated")]
    pub date_updated: String,
}