use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct StorageAccountSku {
pub name: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub tier: Option<String>,
}
impl StorageAccountSku {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
name: "test-storage_account_sku".into(),
tier: Some("test-tier".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct StorageAccountProperties {
#[serde(skip_serializing_if = "Option::is_none")]
pub provisioning_state: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub primary_location: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub secondary_location: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub status_of_primary: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub status_of_secondary: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub creation_time: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub primary_endpoints: Option<serde_json::Value>,
#[serde(skip_serializing_if = "Option::is_none")]
pub supports_https_traffic_only: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub is_hns_enabled: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub minimum_tls_version: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub allow_blob_public_access: Option<bool>,
}
impl StorageAccountProperties {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
provisioning_state: Some("test-provisioning_state".into()),
primary_location: Some("test-primary_location".into()),
secondary_location: Some("test-secondary_location".into()),
status_of_primary: Some("test-status_of_primary".into()),
status_of_secondary: Some("test-status_of_secondary".into()),
creation_time: Some("test-creation_time".into()),
supports_https_traffic_only: Some(false),
is_hns_enabled: Some(false),
minimum_tls_version: Some("test-minimum_tls_version".into()),
allow_blob_public_access: Some(false),
..Default::default()
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct StorageAccount {
#[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>,
pub location: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub kind: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sku: Option<serde_json::Value>,
#[serde(skip_serializing_if = "Option::is_none")]
pub tags: Option<serde_json::Value>,
#[serde(skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl StorageAccount {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
id: Some("test-id".into()),
name: Some("test-storage_account".into()),
r#type: Some("test-type".into()),
location: "test-location".into(),
kind: Some("test-kind".into()),
..Default::default()
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct StorageAccountListResult {
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub value: Vec<serde_json::Value>,
#[serde(skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
}
impl StorageAccountListResult {
#[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 StorageAccountCreateRequest {
pub location: String,
pub kind: String,
pub sku: serde_json::Value,
#[serde(skip_serializing_if = "Option::is_none")]
pub tags: Option<serde_json::Value>,
#[serde(skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl StorageAccountCreateRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
location: "test-location".into(),
kind: "test-kind".into(),
..Default::default()
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct StorageAccountKey {
#[serde(skip_serializing_if = "Option::is_none")]
pub key_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub permissions: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub creation_time: Option<String>,
}
impl StorageAccountKey {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
key_name: Some("test-key_name".into()),
value: Some("test-value".into()),
permissions: Some("test-permissions".into()),
creation_time: Some("test-creation_time".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct StorageAccountListKeysResult {
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub keys: Vec<serde_json::Value>,
}
impl StorageAccountListKeysResult {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self { keys: vec![] }
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct StorageAccountRegenerateKeyRequest {
pub key_name: String,
}
impl StorageAccountRegenerateKeyRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
key_name: "test-key_name".into(),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct StorageAccountUpdateProperties {
#[serde(skip_serializing_if = "Option::is_none")]
pub allow_blob_public_access: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub supports_https_traffic_only: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub minimum_tls_version: Option<String>,
}
impl StorageAccountUpdateProperties {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
allow_blob_public_access: Some(false),
supports_https_traffic_only: Some(false),
minimum_tls_version: Some("test-minimum_tls_version".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct StorageAccountUpdateRequest {
#[serde(skip_serializing_if = "Option::is_none")]
pub properties: Option<StorageAccountUpdateProperties>,
#[serde(skip_serializing_if = "Option::is_none")]
pub tags: Option<serde_json::Value>,
}
impl StorageAccountUpdateRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
properties: Some(StorageAccountUpdateProperties::fixture()),
..Default::default()
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ManagementPolicyRule {
#[serde(default)]
pub enabled: bool,
pub name: String,
#[serde(rename = "type")]
#[serde(skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
}
impl ManagementPolicyRule {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
enabled: false,
name: "test-management_policy_rule".into(),
r#type: Some("test-type".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ManagementPolicySchema {
#[serde(default)]
pub rules: Vec<ManagementPolicyRule>,
}
impl ManagementPolicySchema {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self { rules: vec![] }
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ManagementPolicyProperties {
#[serde(skip_serializing_if = "Option::is_none")]
pub last_modified_time: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub policy: Option<ManagementPolicySchema>,
}
impl ManagementPolicyProperties {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
last_modified_time: Some("test-last_modified_time".into()),
policy: Some(ManagementPolicySchema::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ManagementPolicy {
#[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 properties: Option<ManagementPolicyProperties>,
}
impl ManagementPolicy {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
id: Some("test-id".into()),
name: Some("test-management_policy".into()),
r#type: Some("test-type".into()),
properties: Some(ManagementPolicyProperties::fixture()),
}
}
}