use super::{ListQueuesIncludeType, QueueMessage};
use azure_core::{
fmt::SafeDebug,
http::{pager::PagerOptions, ClientMethodOptions, RequestContent, XmlFormat},
};
use std::collections::HashMap;
#[derive(Clone, Default, SafeDebug)]
pub struct QueueClientClearOptions<'a> {
pub method_options: ClientMethodOptions<'a>,
pub timeout: Option<i32>,
}
#[derive(Clone, Default, SafeDebug)]
pub struct QueueClientCreateOptions<'a> {
pub metadata: Option<HashMap<String, String>>,
pub method_options: ClientMethodOptions<'a>,
pub timeout: Option<i32>,
}
#[derive(Clone, Default, SafeDebug)]
pub struct QueueClientDeleteMessageOptions<'a> {
pub method_options: ClientMethodOptions<'a>,
pub timeout: Option<i32>,
}
#[derive(Clone, Default, SafeDebug)]
pub struct QueueClientDeleteOptions<'a> {
pub method_options: ClientMethodOptions<'a>,
pub timeout: Option<i32>,
}
#[derive(Clone, Default, SafeDebug)]
pub struct QueueClientGetAccessPolicyOptions<'a> {
pub method_options: ClientMethodOptions<'a>,
pub timeout: Option<i32>,
}
#[derive(Clone, Default, SafeDebug)]
pub struct QueueClientGetPropertiesOptions<'a> {
pub method_options: ClientMethodOptions<'a>,
pub timeout: Option<i32>,
}
#[derive(Clone, Default, SafeDebug)]
pub struct QueueClientPeekMessagesOptions<'a> {
pub method_options: ClientMethodOptions<'a>,
pub number_of_messages: Option<i32>,
pub timeout: Option<i32>,
}
#[derive(Clone, Default, SafeDebug)]
pub struct QueueClientReceiveMessagesOptions<'a> {
pub method_options: ClientMethodOptions<'a>,
pub number_of_messages: Option<i32>,
pub timeout: Option<i32>,
pub visibility_timeout: Option<i32>,
}
#[derive(Clone, Default, SafeDebug)]
pub struct QueueClientSendMessageOptions<'a> {
pub message_time_to_live: Option<i32>,
pub method_options: ClientMethodOptions<'a>,
pub timeout: Option<i32>,
pub visibility_timeout: Option<i32>,
}
#[derive(Clone, Default, SafeDebug)]
pub struct QueueClientSetAccessPolicyOptions<'a> {
pub method_options: ClientMethodOptions<'a>,
pub timeout: Option<i32>,
}
#[derive(Clone, Default, SafeDebug)]
pub struct QueueClientSetMetadataOptions<'a> {
pub method_options: ClientMethodOptions<'a>,
pub timeout: Option<i32>,
}
#[derive(Clone, Default, SafeDebug)]
pub struct QueueClientUpdateMessageOptions<'a> {
pub method_options: ClientMethodOptions<'a>,
pub queue_message: Option<RequestContent<QueueMessage, XmlFormat>>,
pub timeout: Option<i32>,
}
#[derive(Clone, Default, SafeDebug)]
pub struct QueueServiceClientGetPropertiesOptions<'a> {
pub method_options: ClientMethodOptions<'a>,
pub timeout: Option<i32>,
}
#[derive(Clone, Default, SafeDebug)]
pub struct QueueServiceClientGetStatisticsOptions<'a> {
pub method_options: ClientMethodOptions<'a>,
pub timeout: Option<i32>,
}
#[derive(Clone, Default, SafeDebug)]
pub struct QueueServiceClientListQueuesOptions<'a> {
pub include: Option<Vec<ListQueuesIncludeType>>,
pub marker: Option<String>,
pub maxresults: Option<i32>,
pub method_options: PagerOptions<'a>,
pub prefix: Option<String>,
pub timeout: Option<i32>,
}
impl QueueServiceClientListQueuesOptions<'_> {
pub fn into_owned(self) -> QueueServiceClientListQueuesOptions<'static> {
QueueServiceClientListQueuesOptions {
include: self.include,
marker: self.marker,
maxresults: self.maxresults,
method_options: PagerOptions {
context: self.method_options.context.into_owned(),
..self.method_options
},
prefix: self.prefix,
timeout: self.timeout,
}
}
}
#[derive(Clone, Default, SafeDebug)]
pub struct QueueServiceClientSetPropertiesOptions<'a> {
pub method_options: ClientMethodOptions<'a>,
pub timeout: Option<i32>,
}