use serde::{Deserialize, Serialize};
use std::collections::HashMap;
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ConsistencyPolicy {
pub default_consistency_level: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub max_staleness_prefix: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub max_interval_in_seconds: Option<i32>,
}
impl ConsistencyPolicy {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
default_consistency_level: "test-default_consistency_level".into(),
max_staleness_prefix: Some(100),
max_interval_in_seconds: Some(100),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Location {
#[serde(skip_serializing_if = "Option::is_none")]
pub location_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub provisioning_state: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub failover_priority: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub is_zone_redundant: Option<bool>,
}
impl Location {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
location_name: Some("test-location_name".into()),
provisioning_state: Some("test-provisioning_state".into()),
failover_priority: Some(100),
is_zone_redundant: Some(false),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct DatabaseAccountProperties {
#[serde(skip_serializing_if = "Option::is_none")]
pub document_endpoint: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub provisioning_state: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub database_account_offer_type: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub consistency_policy: Option<ConsistencyPolicy>,
#[serde(skip_serializing_if = "Option::is_none")]
pub enable_automatic_failover: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub enable_multiple_write_locations: Option<bool>,
}
impl DatabaseAccountProperties {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
document_endpoint: Some("test-document_endpoint".into()),
provisioning_state: Some("test-provisioning_state".into()),
database_account_offer_type: Some("test-database_account_offer_type".into()),
consistency_policy: Some(ConsistencyPolicy::fixture()),
enable_automatic_failover: Some(false),
enable_multiple_write_locations: Some(false),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct DatabaseAccount {
#[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(skip_serializing_if = "Option::is_none")]
pub kind: 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<DatabaseAccountProperties>,
}
impl DatabaseAccount {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
id: Some("test-id".into()),
name: Some("test-database_account".into()),
r#type: Some("test-type".into()),
location: Some("test-location".into()),
kind: Some("test-kind".into()),
tags: Default::default(),
properties: Some(DatabaseAccountProperties::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct DatabaseAccountListResult {
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub value: Vec<DatabaseAccount>,
}
impl DatabaseAccountListResult {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self { value: vec![] }
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct DatabaseAccountCreateUpdateProperties {
pub database_account_offer_type: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub consistency_policy: Option<ConsistencyPolicy>,
#[serde(skip_serializing_if = "Option::is_none")]
pub enable_automatic_failover: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub enable_multiple_write_locations: Option<bool>,
}
impl DatabaseAccountCreateUpdateProperties {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
database_account_offer_type: "test-database_account_offer_type".into(),
consistency_policy: Some(ConsistencyPolicy::fixture()),
enable_automatic_failover: Some(false),
enable_multiple_write_locations: Some(false),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct DatabaseAccountCreateRequest {
pub location: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub kind: Option<String>,
#[serde(default)]
#[serde(skip_serializing_if = "HashMap::is_empty")]
pub tags: HashMap<String, String>,
pub properties: DatabaseAccountCreateUpdateProperties,
}
impl DatabaseAccountCreateRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
location: "test-location".into(),
kind: Some("test-kind".into()),
tags: Default::default(),
properties: DatabaseAccountCreateUpdateProperties::fixture(),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct SqlDatabaseResource {
pub id: String,
}
impl SqlDatabaseResource {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
id: "test-id".into(),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct SqlDatabaseGetPropertiesResource {
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub colls: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub users: Option<String>,
}
impl SqlDatabaseGetPropertiesResource {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
id: Some("test-id".into()),
colls: Some("test-colls".into()),
users: Some("test-users".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct SqlDatabaseGetProperties {
#[serde(skip_serializing_if = "Option::is_none")]
pub resource: Option<SqlDatabaseGetPropertiesResource>,
}
impl SqlDatabaseGetProperties {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
resource: Some(SqlDatabaseGetPropertiesResource::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct SqlDatabaseGetResults {
#[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<SqlDatabaseGetProperties>,
}
impl SqlDatabaseGetResults {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
id: Some("test-id".into()),
name: Some("test-sql_database_get_results".into()),
r#type: Some("test-type".into()),
location: Some("test-location".into()),
tags: Default::default(),
properties: Some(SqlDatabaseGetProperties::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct SqlDatabaseListResult {
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub value: Vec<SqlDatabaseGetResults>,
}
impl SqlDatabaseListResult {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self { value: vec![] }
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct SqlDatabaseCreateUpdateProperties {
pub resource: SqlDatabaseResource,
}
impl SqlDatabaseCreateUpdateProperties {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
resource: SqlDatabaseResource::fixture(),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct SqlDatabaseCreateRequest {
pub location: String,
#[serde(default)]
#[serde(skip_serializing_if = "HashMap::is_empty")]
pub tags: HashMap<String, String>,
pub properties: SqlDatabaseCreateUpdateProperties,
}
impl SqlDatabaseCreateRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
location: "test-location".into(),
tags: Default::default(),
properties: SqlDatabaseCreateUpdateProperties::fixture(),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ContainerPartitionKey {
#[serde(skip_serializing_if = "Option::is_none")]
pub kind: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub version: Option<i32>,
}
impl ContainerPartitionKey {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
kind: Some("test-kind".into()),
version: Some(100),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct SqlContainerResource {
pub id: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub partition_key: Option<ContainerPartitionKey>,
}
impl SqlContainerResource {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
id: "test-id".into(),
partition_key: Some(ContainerPartitionKey::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct SqlContainerGetPropertiesResource {
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub partition_key: Option<ContainerPartitionKey>,
}
impl SqlContainerGetPropertiesResource {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
id: Some("test-id".into()),
partition_key: Some(ContainerPartitionKey::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct SqlContainerGetProperties {
#[serde(skip_serializing_if = "Option::is_none")]
pub resource: Option<SqlContainerGetPropertiesResource>,
}
impl SqlContainerGetProperties {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
resource: Some(SqlContainerGetPropertiesResource::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct SqlContainerGetResults {
#[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<SqlContainerGetProperties>,
}
impl SqlContainerGetResults {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
id: Some("test-id".into()),
name: Some("test-sql_container_get_results".into()),
r#type: Some("test-type".into()),
location: Some("test-location".into()),
tags: Default::default(),
properties: Some(SqlContainerGetProperties::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct SqlContainerListResult {
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub value: Vec<SqlContainerGetResults>,
}
impl SqlContainerListResult {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self { value: vec![] }
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct SqlContainerCreateUpdateProperties {
pub resource: SqlContainerResource,
}
impl SqlContainerCreateUpdateProperties {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
resource: SqlContainerResource::fixture(),
}
}
}