use serde::{Deserialize, Serialize};
use std::collections::HashMap;
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct VirtualMachine {
#[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(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub zones: Vec<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub properties: Option<VirtualMachineProperties>,
}
impl VirtualMachine {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
id: Some("test-id".into()),
name: Some("test-virtual_machine".into()),
r#type: Some("test-type".into()),
location: Some("test-location".into()),
tags: Default::default(),
zones: vec![],
properties: Some(VirtualMachineProperties::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct VirtualMachineProperties {
#[serde(skip_serializing_if = "Option::is_none")]
pub vm_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub provisioning_state: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub hardware_profile: Option<HardwareProfile>,
#[serde(skip_serializing_if = "Option::is_none")]
pub storage_profile: Option<StorageProfile>,
#[serde(skip_serializing_if = "Option::is_none")]
pub os_profile: Option<OsProfile>,
#[serde(skip_serializing_if = "Option::is_none")]
pub network_profile: Option<NetworkProfile>,
#[serde(skip_serializing_if = "Option::is_none")]
pub diagnostics_profile: Option<DiagnosticsProfile>,
#[serde(skip_serializing_if = "Option::is_none")]
pub license_type: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub priority: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub eviction_policy: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub time_created: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub instance_view: Option<VirtualMachineInstanceView>,
}
impl VirtualMachineProperties {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
vm_id: Some("test-vm_id".into()),
provisioning_state: Some("test-provisioning_state".into()),
hardware_profile: Some(HardwareProfile::fixture()),
storage_profile: Some(StorageProfile::fixture()),
os_profile: Some(OsProfile::fixture()),
network_profile: Some(NetworkProfile::fixture()),
diagnostics_profile: Some(DiagnosticsProfile::fixture()),
license_type: Some("test-license_type".into()),
priority: Some("test-priority".into()),
eviction_policy: Some("test-eviction_policy".into()),
time_created: Some("test-time_created".into()),
instance_view: Some(VirtualMachineInstanceView::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct HardwareProfile {
#[serde(skip_serializing_if = "Option::is_none")]
pub vm_size: Option<String>,
}
impl HardwareProfile {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
vm_size: Some("test-vm_size".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct StorageProfile {
#[serde(skip_serializing_if = "Option::is_none")]
pub image_reference: Option<ImageReference>,
#[serde(skip_serializing_if = "Option::is_none")]
pub os_disk: Option<OsDisk>,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub data_disks: Vec<DataDisk>,
}
impl StorageProfile {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
image_reference: Some(ImageReference::fixture()),
os_disk: Some(OsDisk::fixture()),
data_disks: vec![],
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ImageReference {
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub publisher: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub offer: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sku: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub version: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub exact_version: Option<String>,
}
impl ImageReference {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
id: Some("test-id".into()),
publisher: Some("test-publisher".into()),
offer: Some("test-offer".into()),
sku: Some("test-sku".into()),
version: Some("test-version".into()),
exact_version: Some("test-exact_version".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct OsDisk {
#[serde(skip_serializing_if = "Option::is_none")]
pub os_type: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
pub create_option: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub caching: Option<String>,
#[serde(rename = "diskSizeGB")]
#[serde(skip_serializing_if = "Option::is_none")]
pub disk_size_gb: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub managed_disk: Option<ManagedDiskParameters>,
#[serde(skip_serializing_if = "Option::is_none")]
pub delete_option: Option<String>,
}
impl OsDisk {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
os_type: Some("test-os_type".into()),
name: Some("test-os_disk".into()),
create_option: "test-create_option".into(),
caching: Some("test-caching".into()),
disk_size_gb: Some(100),
managed_disk: Some(ManagedDiskParameters::fixture()),
delete_option: Some("test-delete_option".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct DataDisk {
pub lun: i32,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
pub create_option: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub caching: Option<String>,
#[serde(rename = "diskSizeGB")]
#[serde(skip_serializing_if = "Option::is_none")]
pub disk_size_gb: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub managed_disk: Option<ManagedDiskParameters>,
#[serde(skip_serializing_if = "Option::is_none")]
pub delete_option: Option<String>,
}
impl DataDisk {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
lun: 100,
name: Some("test-data_disk".into()),
create_option: "test-create_option".into(),
caching: Some("test-caching".into()),
disk_size_gb: Some(100),
managed_disk: Some(ManagedDiskParameters::fixture()),
delete_option: Some("test-delete_option".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ManagedDiskParameters {
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub storage_account_type: Option<String>,
}
impl ManagedDiskParameters {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
id: Some("test-id".into()),
storage_account_type: Some("test-storage_account_type".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct OsProfile {
#[serde(skip_serializing_if = "Option::is_none")]
pub computer_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub admin_username: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub admin_password: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub linux_configuration: Option<LinuxConfiguration>,
#[serde(skip_serializing_if = "Option::is_none")]
pub windows_configuration: Option<WindowsConfiguration>,
}
impl OsProfile {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
computer_name: Some("test-computer_name".into()),
admin_username: Some("test-admin_username".into()),
admin_password: Some("test-admin_password".into()),
linux_configuration: Some(LinuxConfiguration::fixture()),
windows_configuration: Some(WindowsConfiguration::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct LinuxConfiguration {
#[serde(skip_serializing_if = "Option::is_none")]
pub disable_password_authentication: Option<bool>,
#[serde(rename = "provisionVMAgent")]
#[serde(skip_serializing_if = "Option::is_none")]
pub provision_vm_agent: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub ssh: Option<SshConfiguration>,
}
impl LinuxConfiguration {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
disable_password_authentication: Some(false),
provision_vm_agent: Some(false),
ssh: Some(SshConfiguration::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct WindowsConfiguration {
#[serde(rename = "provisionVMAgent")]
#[serde(skip_serializing_if = "Option::is_none")]
pub provision_vm_agent: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub enable_automatic_updates: Option<bool>,
}
impl WindowsConfiguration {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
provision_vm_agent: Some(false),
enable_automatic_updates: Some(false),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct SshConfiguration {
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub public_keys: Vec<SshPublicKey>,
}
impl SshConfiguration {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
public_keys: vec![],
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct SshPublicKey {
#[serde(skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub key_data: Option<String>,
}
impl SshPublicKey {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
path: Some("test-path".into()),
key_data: Some("test-key_data".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct NetworkProfile {
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub network_interfaces: Vec<NetworkInterfaceReference>,
}
impl NetworkProfile {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
network_interfaces: vec![],
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct NetworkInterfaceReference {
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub properties: Option<NetworkInterfaceReferenceProperties>,
}
impl NetworkInterfaceReference {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
id: Some("test-id".into()),
properties: Some(NetworkInterfaceReferenceProperties::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct NetworkInterfaceReferenceProperties {
#[serde(skip_serializing_if = "Option::is_none")]
pub primary: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub delete_option: Option<String>,
}
impl NetworkInterfaceReferenceProperties {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
primary: Some(false),
delete_option: Some("test-delete_option".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct DiagnosticsProfile {
#[serde(skip_serializing_if = "Option::is_none")]
pub boot_diagnostics: Option<BootDiagnostics>,
}
impl DiagnosticsProfile {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
boot_diagnostics: Some(BootDiagnostics::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct BootDiagnostics {
#[serde(skip_serializing_if = "Option::is_none")]
pub enabled: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub storage_uri: Option<String>,
}
impl BootDiagnostics {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
enabled: Some(false),
storage_uri: Some("test-storage_uri".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct VirtualMachineInstanceView {
#[serde(skip_serializing_if = "Option::is_none")]
pub platform_update_domain: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub platform_fault_domain: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub computer_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub os_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub os_version: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub vm_agent: Option<VirtualMachineAgentInstanceView>,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub statuses: Vec<InstanceViewStatus>,
}
impl VirtualMachineInstanceView {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
platform_update_domain: Some(100),
platform_fault_domain: Some(100),
computer_name: Some("test-computer_name".into()),
os_name: Some("test-os_name".into()),
os_version: Some("test-os_version".into()),
vm_agent: Some(VirtualMachineAgentInstanceView::fixture()),
statuses: vec![],
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct VirtualMachineAgentInstanceView {
#[serde(skip_serializing_if = "Option::is_none")]
pub vm_agent_version: Option<String>,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub statuses: Vec<InstanceViewStatus>,
}
impl VirtualMachineAgentInstanceView {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
vm_agent_version: Some("test-vm_agent_version".into()),
statuses: vec![],
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct InstanceViewStatus {
#[serde(skip_serializing_if = "Option::is_none")]
pub code: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub level: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub display_status: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub message: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub time: Option<String>,
}
impl InstanceViewStatus {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
code: Some("test-code".into()),
level: Some("test-level".into()),
display_status: Some("test-display_status".into()),
message: Some("test-message".into()),
time: Some("test-time".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct VirtualMachineListResult {
#[serde(default)]
pub value: Vec<VirtualMachine>,
#[serde(skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
}
impl VirtualMachineListResult {
#[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 VirtualMachineCreateRequest {
pub location: String,
#[serde(default)]
#[serde(skip_serializing_if = "HashMap::is_empty")]
pub tags: HashMap<String, String>,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub zones: Vec<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub properties: Option<VirtualMachineProperties>,
}
impl VirtualMachineCreateRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
location: "test-location".into(),
tags: Default::default(),
zones: vec![],
properties: Some(VirtualMachineProperties::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct VirtualMachineInstanceViewResult {
#[serde(skip_serializing_if = "Option::is_none")]
pub platform_update_domain: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub platform_fault_domain: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub computer_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub os_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub os_version: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub vm_agent: Option<VirtualMachineAgentInstanceView>,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub statuses: Vec<InstanceViewStatus>,
}
impl VirtualMachineInstanceViewResult {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
platform_update_domain: Some(100),
platform_fault_domain: Some(100),
computer_name: Some("test-computer_name".into()),
os_name: Some("test-os_name".into()),
os_version: Some("test-os_version".into()),
vm_agent: Some(VirtualMachineAgentInstanceView::fixture()),
statuses: vec![],
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Sku {
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub tier: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub capacity: Option<i64>,
}
impl Sku {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
name: Some("test-sku".into()),
tier: Some("test-tier".into()),
capacity: Some(100),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct UpgradePolicy {
#[serde(skip_serializing_if = "Option::is_none")]
pub mode: Option<String>,
}
impl UpgradePolicy {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
mode: Some("test-mode".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct VirtualMachineScaleSetVMProfile {
#[serde(skip_serializing_if = "Option::is_none")]
pub os_profile: Option<VirtualMachineScaleSetOsProfile>,
#[serde(skip_serializing_if = "Option::is_none")]
pub storage_profile: Option<StorageProfile>,
#[serde(skip_serializing_if = "Option::is_none")]
pub network_profile: Option<VirtualMachineScaleSetNetworkProfile>,
}
impl VirtualMachineScaleSetVMProfile {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
os_profile: Some(VirtualMachineScaleSetOsProfile::fixture()),
storage_profile: Some(StorageProfile::fixture()),
network_profile: Some(VirtualMachineScaleSetNetworkProfile::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct VirtualMachineScaleSetOsProfile {
#[serde(skip_serializing_if = "Option::is_none")]
pub computer_name_prefix: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub admin_username: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub admin_password: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub linux_configuration: Option<LinuxConfiguration>,
#[serde(skip_serializing_if = "Option::is_none")]
pub windows_configuration: Option<WindowsConfiguration>,
}
impl VirtualMachineScaleSetOsProfile {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
computer_name_prefix: Some("test-computer_name_prefix".into()),
admin_username: Some("test-admin_username".into()),
admin_password: Some("test-admin_password".into()),
linux_configuration: Some(LinuxConfiguration::fixture()),
windows_configuration: Some(WindowsConfiguration::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct VirtualMachineScaleSetNetworkProfile {
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub network_interface_configurations: Vec<VirtualMachineScaleSetNetworkConfiguration>,
}
impl VirtualMachineScaleSetNetworkProfile {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
network_interface_configurations: vec![],
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct VirtualMachineScaleSetNetworkConfiguration {
pub name: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub properties: Option<VirtualMachineScaleSetNetworkConfigurationProperties>,
}
impl VirtualMachineScaleSetNetworkConfiguration {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
name: "test-virtual_machine_scale_set_network_configuration".into(),
properties: Some(VirtualMachineScaleSetNetworkConfigurationProperties::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct VirtualMachineScaleSetNetworkConfigurationProperties {
#[serde(skip_serializing_if = "Option::is_none")]
pub primary: Option<bool>,
#[serde(rename = "enableIPForwarding")]
#[serde(skip_serializing_if = "Option::is_none")]
pub enable_ip_forwarding: Option<bool>,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub ip_configurations: Vec<VirtualMachineScaleSetIPConfiguration>,
}
impl VirtualMachineScaleSetNetworkConfigurationProperties {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
primary: Some(false),
enable_ip_forwarding: Some(false),
ip_configurations: vec![],
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct VirtualMachineScaleSetIPConfiguration {
pub name: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub properties: Option<VirtualMachineScaleSetIPConfigurationProperties>,
}
impl VirtualMachineScaleSetIPConfiguration {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
name: "test-virtual_machine_scale_set_ip_configuration".into(),
properties: Some(VirtualMachineScaleSetIPConfigurationProperties::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct VirtualMachineScaleSetIPConfigurationProperties {
#[serde(skip_serializing_if = "Option::is_none")]
pub subnet: Option<SubResource>,
}
impl VirtualMachineScaleSetIPConfigurationProperties {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
subnet: Some(SubResource::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct SubResource {
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
}
impl SubResource {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
id: Some("test-id".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct VirtualMachineScaleSetProperties {
#[serde(skip_serializing_if = "Option::is_none")]
pub provisioning_state: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub unique_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub overprovision: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub single_placement_group: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub platform_fault_domain_count: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub upgrade_policy: Option<UpgradePolicy>,
#[serde(skip_serializing_if = "Option::is_none")]
pub virtual_machine_profile: Option<VirtualMachineScaleSetVMProfile>,
}
impl VirtualMachineScaleSetProperties {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
provisioning_state: Some("test-provisioning_state".into()),
unique_id: Some("test-unique_id".into()),
overprovision: Some(false),
single_placement_group: Some(false),
platform_fault_domain_count: Some(100),
upgrade_policy: Some(UpgradePolicy::fixture()),
virtual_machine_profile: Some(VirtualMachineScaleSetVMProfile::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct VirtualMachineScaleSet {
#[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 sku: Option<Sku>,
#[serde(skip_serializing_if = "Option::is_none")]
pub properties: Option<VirtualMachineScaleSetProperties>,
}
impl VirtualMachineScaleSet {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
id: Some("test-id".into()),
name: Some("test-virtual_machine_scale_set".into()),
r#type: Some("test-type".into()),
location: Some("test-location".into()),
tags: Default::default(),
sku: Some(Sku::fixture()),
properties: Some(VirtualMachineScaleSetProperties::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct VirtualMachineScaleSetListResult {
#[serde(default)]
pub value: Vec<VirtualMachineScaleSet>,
#[serde(skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
}
impl VirtualMachineScaleSetListResult {
#[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 VirtualMachineScaleSetCreateRequest {
pub location: String,
#[serde(default)]
#[serde(skip_serializing_if = "HashMap::is_empty")]
pub tags: HashMap<String, String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sku: Option<Sku>,
#[serde(skip_serializing_if = "Option::is_none")]
pub properties: Option<VirtualMachineScaleSetProperties>,
}
impl VirtualMachineScaleSetCreateRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
location: "test-location".into(),
tags: Default::default(),
sku: Some(Sku::fixture()),
properties: Some(VirtualMachineScaleSetProperties::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct VirtualMachineScaleSetVM {
#[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 instance_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sku: Option<Sku>,
#[serde(skip_serializing_if = "Option::is_none")]
pub properties: Option<VirtualMachineScaleSetVMProperties>,
}
impl VirtualMachineScaleSetVM {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
id: Some("test-id".into()),
name: Some("test-virtual_machine_scale_set_vm".into()),
r#type: Some("test-type".into()),
location: Some("test-location".into()),
instance_id: Some("test-instance_id".into()),
sku: Some(Sku::fixture()),
properties: Some(VirtualMachineScaleSetVMProperties::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct VirtualMachineScaleSetVMProperties {
#[serde(skip_serializing_if = "Option::is_none")]
pub latest_model_applied: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub vm_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub provisioning_state: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub hardware_profile: Option<HardwareProfile>,
#[serde(skip_serializing_if = "Option::is_none")]
pub storage_profile: Option<StorageProfile>,
#[serde(skip_serializing_if = "Option::is_none")]
pub os_profile: Option<OsProfile>,
#[serde(skip_serializing_if = "Option::is_none")]
pub network_profile: Option<NetworkProfile>,
}
impl VirtualMachineScaleSetVMProperties {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
latest_model_applied: Some(false),
vm_id: Some("test-vm_id".into()),
provisioning_state: Some("test-provisioning_state".into()),
hardware_profile: Some(HardwareProfile::fixture()),
storage_profile: Some(StorageProfile::fixture()),
os_profile: Some(OsProfile::fixture()),
network_profile: Some(NetworkProfile::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct VirtualMachineScaleSetVMListResult {
#[serde(default)]
pub value: Vec<VirtualMachineScaleSetVM>,
#[serde(skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
}
impl VirtualMachineScaleSetVMListResult {
#[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 VirtualMachineScaleSetVMInstanceIDs {
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub instance_ids: Vec<String>,
}
impl VirtualMachineScaleSetVMInstanceIDs {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
instance_ids: vec![],
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct DiskSku {
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub tier: Option<String>,
}
impl DiskSku {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
name: Some("test-disk_sku".into()),
tier: Some("test-tier".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct DiskCreationData {
pub create_option: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub storage_account_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub source_uri: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub source_resource_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub image_reference: Option<ImageDiskReference>,
#[serde(skip_serializing_if = "Option::is_none")]
pub gallery_image_reference: Option<ImageDiskReference>,
}
impl DiskCreationData {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
create_option: "test-create_option".into(),
storage_account_id: Some("test-storage_account_id".into()),
source_uri: Some("test-source_uri".into()),
source_resource_id: Some("test-source_resource_id".into()),
image_reference: Some(ImageDiskReference::fixture()),
gallery_image_reference: Some(ImageDiskReference::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ImageDiskReference {
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub lun: Option<i32>,
}
impl ImageDiskReference {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
id: Some("test-id".into()),
lun: Some(100),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct DiskProperties {
#[serde(skip_serializing_if = "Option::is_none")]
pub provisioning_state: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub disk_state: Option<String>,
#[serde(rename = "diskSizeGB")]
#[serde(skip_serializing_if = "Option::is_none")]
pub disk_size_gb: Option<i32>,
#[serde(rename = "diskSizeBytes")]
#[serde(skip_serializing_if = "Option::is_none")]
pub disk_size_bytes: Option<i64>,
#[serde(rename = "diskIOPSReadWrite")]
#[serde(skip_serializing_if = "Option::is_none")]
pub disk_iops_read_write: Option<i64>,
#[serde(rename = "diskMBpsReadWrite")]
#[serde(skip_serializing_if = "Option::is_none")]
pub disk_m_bps_read_write: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub os_type: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub hyper_v_generation: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub creation_data: Option<DiskCreationData>,
#[serde(skip_serializing_if = "Option::is_none")]
pub encryption_settings_collection: Option<EncryptionSettingsCollection>,
#[serde(skip_serializing_if = "Option::is_none")]
pub encryption: Option<Encryption>,
#[serde(skip_serializing_if = "Option::is_none")]
pub network_access_policy: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub public_network_access: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub time_created: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub unique_id: Option<String>,
}
impl DiskProperties {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
provisioning_state: Some("test-provisioning_state".into()),
disk_state: Some("test-disk_state".into()),
disk_size_gb: Some(100),
disk_size_bytes: Some(100),
disk_iops_read_write: Some(100),
disk_m_bps_read_write: Some(100),
os_type: Some("test-os_type".into()),
hyper_v_generation: Some("test-hyper_v_generation".into()),
creation_data: Some(DiskCreationData::fixture()),
encryption_settings_collection: Some(EncryptionSettingsCollection::fixture()),
encryption: Some(Encryption::fixture()),
network_access_policy: Some("test-network_access_policy".into()),
public_network_access: Some("test-public_network_access".into()),
time_created: Some("test-time_created".into()),
unique_id: Some("test-unique_id".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct EncryptionSettingsCollection {
#[serde(default)]
pub enabled: bool,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub encryption_settings: Vec<EncryptionSettingsElement>,
}
impl EncryptionSettingsCollection {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
enabled: false,
encryption_settings: vec![],
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct EncryptionSettingsElement {
#[serde(skip_serializing_if = "Option::is_none")]
pub disk_encryption_key: Option<KeyVaultAndSecretReference>,
#[serde(skip_serializing_if = "Option::is_none")]
pub key_encryption_key: Option<KeyVaultAndKeyReference>,
}
impl EncryptionSettingsElement {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
disk_encryption_key: Some(KeyVaultAndSecretReference::fixture()),
key_encryption_key: Some(KeyVaultAndKeyReference::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct KeyVaultAndSecretReference {
pub source_vault: SubResource,
pub secret_url: String,
}
impl KeyVaultAndSecretReference {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
source_vault: SubResource::fixture(),
secret_url: "test-secret_url".into(),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct KeyVaultAndKeyReference {
pub source_vault: SubResource,
pub key_url: String,
}
impl KeyVaultAndKeyReference {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
source_vault: SubResource::fixture(),
key_url: "test-key_url".into(),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Encryption {
#[serde(skip_serializing_if = "Option::is_none")]
pub disk_encryption_set_id: Option<String>,
#[serde(rename = "type")]
#[serde(skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
}
impl Encryption {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
disk_encryption_set_id: Some("test-disk_encryption_set_id".into()),
r#type: Some("test-type".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Disk {
#[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(default)]
#[serde(skip_serializing_if = "HashMap::is_empty")]
pub tags: HashMap<String, String>,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub zones: Vec<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sku: Option<DiskSku>,
#[serde(skip_serializing_if = "Option::is_none")]
pub properties: Option<DiskProperties>,
}
impl Disk {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
id: Some("test-id".into()),
name: Some("test-disk".into()),
r#type: Some("test-type".into()),
location: "test-location".into(),
tags: Default::default(),
zones: vec![],
sku: Some(DiskSku::fixture()),
properties: Some(DiskProperties::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct DiskListResult {
#[serde(default)]
pub value: Vec<Disk>,
#[serde(skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
}
impl DiskListResult {
#[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 DiskCreateRequest {
pub location: String,
#[serde(default)]
#[serde(skip_serializing_if = "HashMap::is_empty")]
pub tags: HashMap<String, String>,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub zones: Vec<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sku: Option<DiskSku>,
#[serde(skip_serializing_if = "Option::is_none")]
pub properties: Option<DiskProperties>,
}
impl DiskCreateRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
location: "test-location".into(),
tags: Default::default(),
zones: vec![],
sku: Some(DiskSku::fixture()),
properties: Some(DiskProperties::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct DiskUpdateRequest {
#[serde(default)]
#[serde(skip_serializing_if = "HashMap::is_empty")]
pub tags: HashMap<String, String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sku: Option<DiskSku>,
}
impl DiskUpdateRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
tags: Default::default(),
sku: Some(DiskSku::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct GrantAccessData {
pub access: String,
pub duration_in_seconds: i32,
#[serde(skip_serializing_if = "Option::is_none")]
pub file_format: Option<String>,
}
impl GrantAccessData {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
access: "test-access".into(),
duration_in_seconds: 100,
file_format: Some("test-file_format".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct AccessUri {
#[serde(rename = "accessSAS")]
#[serde(skip_serializing_if = "Option::is_none")]
pub access_sas: Option<String>,
#[serde(rename = "securityDataAccessSAS")]
#[serde(skip_serializing_if = "Option::is_none")]
pub security_data_access_sas: Option<String>,
}
impl AccessUri {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
access_sas: Some("test-access_sas".into()),
security_data_access_sas: Some("test-security_data_access_sas".into()),
}
}
}