use serde::{Deserialize, Serialize};
use std::collections::HashMap;
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct RedisSku {
pub name: String,
pub family: String,
pub capacity: i32,
}
impl RedisSku {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
name: "test-redis_sku".into(),
family: "test-family".into(),
capacity: 100,
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct RedisConfiguration {
#[serde(skip_serializing_if = "Option::is_none")]
pub maxmemory_policy: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub maxmemory_reserved: Option<String>,
}
impl RedisConfiguration {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
maxmemory_policy: Some("test-maxmemory_policy".into()),
maxmemory_reserved: Some("test-maxmemory_reserved".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct RedisProperties {
#[serde(skip_serializing_if = "Option::is_none")]
pub sku: Option<RedisSku>,
#[serde(skip_serializing_if = "Option::is_none")]
pub host_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub port: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub ssl_port: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub provisioning_state: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub enable_non_ssl_port: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub redis_version: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub redis_configuration: Option<RedisConfiguration>,
}
impl RedisProperties {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
sku: Some(RedisSku::fixture()),
host_name: Some("test-host_name".into()),
port: Some(100),
ssl_port: Some(100),
provisioning_state: Some("test-provisioning_state".into()),
enable_non_ssl_port: Some(false),
redis_version: Some("test-redis_version".into()),
redis_configuration: Some(RedisConfiguration::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct RedisResource {
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "type")]
#[serde(skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub location: Option<String>,
#[serde(default)]
#[serde(skip_serializing_if = "HashMap::is_empty")]
pub tags: HashMap<String, String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub properties: Option<RedisProperties>,
}
impl RedisResource {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
id: Some("test-id".into()),
name: Some("test-redis_resource".into()),
r#type: Some("test-type".into()),
location: Some("test-location".into()),
tags: Default::default(),
properties: Some(RedisProperties::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct RedisListResult {
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub value: Vec<RedisResource>,
#[serde(skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
}
impl RedisListResult {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
value: vec![],
next_link: Some("test-next_link".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct RedisCreateProperties {
pub sku: RedisSku,
#[serde(skip_serializing_if = "Option::is_none")]
pub enable_non_ssl_port: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub redis_version: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub redis_configuration: Option<RedisConfiguration>,
#[serde(skip_serializing_if = "Option::is_none")]
pub minimum_tls_version: Option<String>,
}
impl RedisCreateProperties {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
sku: RedisSku::fixture(),
enable_non_ssl_port: Some(false),
redis_version: Some("test-redis_version".into()),
redis_configuration: Some(RedisConfiguration::fixture()),
minimum_tls_version: Some("test-minimum_tls_version".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct RedisCreateRequest {
pub location: String,
#[serde(default)]
#[serde(skip_serializing_if = "HashMap::is_empty")]
pub tags: HashMap<String, String>,
pub properties: RedisCreateProperties,
}
impl RedisCreateRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
location: "test-location".into(),
tags: Default::default(),
properties: RedisCreateProperties::fixture(),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct RedisAccessKeys {
#[serde(skip_serializing_if = "Option::is_none")]
pub primary_key: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub secondary_key: Option<String>,
}
impl RedisAccessKeys {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
primary_key: Some("test-primary_key".into()),
secondary_key: Some("test-secondary_key".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct RedisRegenerateKeyParameters {
pub key_type: String,
}
impl RedisRegenerateKeyParameters {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
key_type: "test-key_type".into(),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct RedisRebootParameters {
pub reboot_type: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub shard_id: Option<i32>,
}
impl RedisRebootParameters {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
reboot_type: "test-reboot_type".into(),
shard_id: Some(100),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct RedisForceRebootResponse {
#[serde(skip_serializing_if = "Option::is_none")]
pub message: Option<String>,
}
impl RedisForceRebootResponse {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
message: Some("test-message".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ExportRDBParameters {
#[serde(skip_serializing_if = "Option::is_none")]
pub prefix: Option<String>,
pub container: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub format: Option<String>,
}
impl ExportRDBParameters {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
prefix: Some("test-prefix".into()),
container: "test-container".into(),
format: Some("test-format".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ImportRDBParameters {
#[serde(skip_serializing_if = "Option::is_none")]
pub format: Option<String>,
#[serde(default)]
pub file_uris: Vec<String>,
}
impl ImportRDBParameters {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
format: Some("test-format".into()),
file_uris: vec![],
}
}
}