1use serde::{Deserialize, Serialize};
7use std::collections::HashMap;
8
9#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14#[serde(rename_all = "camelCase")]
15pub struct VirtualMachine {
16 #[serde(skip_serializing_if = "Option::is_none")]
18 pub id: Option<String>,
19
20 #[serde(skip_serializing_if = "Option::is_none")]
22 pub name: Option<String>,
23
24 #[serde(rename = "type")]
26 #[serde(skip_serializing_if = "Option::is_none")]
27 pub r#type: Option<String>,
28
29 #[serde(skip_serializing_if = "Option::is_none")]
31 pub location: Option<String>,
32
33 #[serde(default)]
35 #[serde(skip_serializing_if = "HashMap::is_empty")]
36 pub tags: HashMap<String, String>,
37
38 #[serde(default)]
40 #[serde(skip_serializing_if = "Vec::is_empty")]
41 pub zones: Vec<String>,
42
43 #[serde(skip_serializing_if = "Option::is_none")]
45 pub properties: Option<VirtualMachineProperties>,
46}
47
48impl VirtualMachine {
49 #[cfg(any(test, feature = "test-support"))]
50 pub fn fixture() -> Self {
52 Self {
53 id: Some("test-id".into()),
54 name: Some("test-virtual_machine".into()),
55 r#type: Some("test-type".into()),
56 location: Some("test-location".into()),
57 tags: Default::default(),
58 zones: vec![],
59 properties: Some(VirtualMachineProperties::fixture()),
60 }
61 }
62}
63
64#[derive(Debug, Clone, Default, Serialize, Deserialize)]
69#[serde(rename_all = "camelCase")]
70pub struct VirtualMachineProperties {
71 #[serde(skip_serializing_if = "Option::is_none")]
73 pub vm_id: Option<String>,
74
75 #[serde(skip_serializing_if = "Option::is_none")]
77 pub provisioning_state: Option<String>,
78
79 #[serde(skip_serializing_if = "Option::is_none")]
81 pub hardware_profile: Option<HardwareProfile>,
82
83 #[serde(skip_serializing_if = "Option::is_none")]
85 pub storage_profile: Option<StorageProfile>,
86
87 #[serde(skip_serializing_if = "Option::is_none")]
89 pub os_profile: Option<OsProfile>,
90
91 #[serde(skip_serializing_if = "Option::is_none")]
93 pub network_profile: Option<NetworkProfile>,
94
95 #[serde(skip_serializing_if = "Option::is_none")]
97 pub diagnostics_profile: Option<DiagnosticsProfile>,
98
99 #[serde(skip_serializing_if = "Option::is_none")]
101 pub license_type: Option<String>,
102
103 #[serde(skip_serializing_if = "Option::is_none")]
105 pub priority: Option<String>,
106
107 #[serde(skip_serializing_if = "Option::is_none")]
109 pub eviction_policy: Option<String>,
110
111 #[serde(skip_serializing_if = "Option::is_none")]
113 pub time_created: Option<String>,
114
115 #[serde(skip_serializing_if = "Option::is_none")]
117 pub instance_view: Option<VirtualMachineInstanceView>,
118}
119
120impl VirtualMachineProperties {
121 #[cfg(any(test, feature = "test-support"))]
122 pub fn fixture() -> Self {
124 Self {
125 vm_id: Some("test-vm_id".into()),
126 provisioning_state: Some("test-provisioning_state".into()),
127 hardware_profile: Some(HardwareProfile::fixture()),
128 storage_profile: Some(StorageProfile::fixture()),
129 os_profile: Some(OsProfile::fixture()),
130 network_profile: Some(NetworkProfile::fixture()),
131 diagnostics_profile: Some(DiagnosticsProfile::fixture()),
132 license_type: Some("test-license_type".into()),
133 priority: Some("test-priority".into()),
134 eviction_policy: Some("test-eviction_policy".into()),
135 time_created: Some("test-time_created".into()),
136 instance_view: Some(VirtualMachineInstanceView::fixture()),
137 }
138 }
139}
140
141#[derive(Debug, Clone, Default, Serialize, Deserialize)]
146#[serde(rename_all = "camelCase")]
147pub struct HardwareProfile {
148 #[serde(skip_serializing_if = "Option::is_none")]
150 pub vm_size: Option<String>,
151}
152
153impl HardwareProfile {
154 #[cfg(any(test, feature = "test-support"))]
155 pub fn fixture() -> Self {
157 Self {
158 vm_size: Some("test-vm_size".into()),
159 }
160 }
161}
162
163#[derive(Debug, Clone, Default, Serialize, Deserialize)]
168#[serde(rename_all = "camelCase")]
169pub struct StorageProfile {
170 #[serde(skip_serializing_if = "Option::is_none")]
172 pub image_reference: Option<ImageReference>,
173
174 #[serde(skip_serializing_if = "Option::is_none")]
176 pub os_disk: Option<OsDisk>,
177
178 #[serde(default)]
180 #[serde(skip_serializing_if = "Vec::is_empty")]
181 pub data_disks: Vec<DataDisk>,
182}
183
184impl StorageProfile {
185 #[cfg(any(test, feature = "test-support"))]
186 pub fn fixture() -> Self {
188 Self {
189 image_reference: Some(ImageReference::fixture()),
190 os_disk: Some(OsDisk::fixture()),
191 data_disks: vec![],
192 }
193 }
194}
195
196#[derive(Debug, Clone, Default, Serialize, Deserialize)]
201#[serde(rename_all = "camelCase")]
202pub struct ImageReference {
203 #[serde(skip_serializing_if = "Option::is_none")]
205 pub id: Option<String>,
206
207 #[serde(skip_serializing_if = "Option::is_none")]
209 pub publisher: Option<String>,
210
211 #[serde(skip_serializing_if = "Option::is_none")]
213 pub offer: Option<String>,
214
215 #[serde(skip_serializing_if = "Option::is_none")]
217 pub sku: Option<String>,
218
219 #[serde(skip_serializing_if = "Option::is_none")]
221 pub version: Option<String>,
222
223 #[serde(skip_serializing_if = "Option::is_none")]
225 pub exact_version: Option<String>,
226}
227
228impl ImageReference {
229 #[cfg(any(test, feature = "test-support"))]
230 pub fn fixture() -> Self {
232 Self {
233 id: Some("test-id".into()),
234 publisher: Some("test-publisher".into()),
235 offer: Some("test-offer".into()),
236 sku: Some("test-sku".into()),
237 version: Some("test-version".into()),
238 exact_version: Some("test-exact_version".into()),
239 }
240 }
241}
242
243#[derive(Debug, Clone, Default, Serialize, Deserialize)]
248#[serde(rename_all = "camelCase")]
249pub struct OsDisk {
250 #[serde(skip_serializing_if = "Option::is_none")]
252 pub os_type: Option<String>,
253
254 #[serde(skip_serializing_if = "Option::is_none")]
256 pub name: Option<String>,
257
258 pub create_option: String,
260
261 #[serde(skip_serializing_if = "Option::is_none")]
263 pub caching: Option<String>,
264
265 #[serde(rename = "diskSizeGB")]
267 #[serde(skip_serializing_if = "Option::is_none")]
268 pub disk_size_gb: Option<i32>,
269
270 #[serde(skip_serializing_if = "Option::is_none")]
272 pub managed_disk: Option<ManagedDiskParameters>,
273
274 #[serde(skip_serializing_if = "Option::is_none")]
276 pub delete_option: Option<String>,
277}
278
279impl OsDisk {
280 #[cfg(any(test, feature = "test-support"))]
281 pub fn fixture() -> Self {
283 Self {
284 os_type: Some("test-os_type".into()),
285 name: Some("test-os_disk".into()),
286 create_option: "test-create_option".into(),
287 caching: Some("test-caching".into()),
288 disk_size_gb: Some(100),
289 managed_disk: Some(ManagedDiskParameters::fixture()),
290 delete_option: Some("test-delete_option".into()),
291 }
292 }
293}
294
295#[derive(Debug, Clone, Default, Serialize, Deserialize)]
300#[serde(rename_all = "camelCase")]
301pub struct DataDisk {
302 pub lun: i32,
304
305 #[serde(skip_serializing_if = "Option::is_none")]
307 pub name: Option<String>,
308
309 pub create_option: String,
311
312 #[serde(skip_serializing_if = "Option::is_none")]
314 pub caching: Option<String>,
315
316 #[serde(rename = "diskSizeGB")]
318 #[serde(skip_serializing_if = "Option::is_none")]
319 pub disk_size_gb: Option<i32>,
320
321 #[serde(skip_serializing_if = "Option::is_none")]
323 pub managed_disk: Option<ManagedDiskParameters>,
324
325 #[serde(skip_serializing_if = "Option::is_none")]
327 pub delete_option: Option<String>,
328}
329
330impl DataDisk {
331 #[cfg(any(test, feature = "test-support"))]
332 pub fn fixture() -> Self {
334 Self {
335 lun: 100,
336 name: Some("test-data_disk".into()),
337 create_option: "test-create_option".into(),
338 caching: Some("test-caching".into()),
339 disk_size_gb: Some(100),
340 managed_disk: Some(ManagedDiskParameters::fixture()),
341 delete_option: Some("test-delete_option".into()),
342 }
343 }
344}
345
346#[derive(Debug, Clone, Default, Serialize, Deserialize)]
351#[serde(rename_all = "camelCase")]
352pub struct ManagedDiskParameters {
353 #[serde(skip_serializing_if = "Option::is_none")]
355 pub id: Option<String>,
356
357 #[serde(skip_serializing_if = "Option::is_none")]
359 pub storage_account_type: Option<String>,
360}
361
362impl ManagedDiskParameters {
363 #[cfg(any(test, feature = "test-support"))]
364 pub fn fixture() -> Self {
366 Self {
367 id: Some("test-id".into()),
368 storage_account_type: Some("test-storage_account_type".into()),
369 }
370 }
371}
372
373#[derive(Debug, Clone, Default, Serialize, Deserialize)]
378#[serde(rename_all = "camelCase")]
379pub struct OsProfile {
380 #[serde(skip_serializing_if = "Option::is_none")]
382 pub computer_name: Option<String>,
383
384 #[serde(skip_serializing_if = "Option::is_none")]
386 pub admin_username: Option<String>,
387
388 #[serde(skip_serializing_if = "Option::is_none")]
390 pub admin_password: Option<String>,
391
392 #[serde(skip_serializing_if = "Option::is_none")]
394 pub linux_configuration: Option<LinuxConfiguration>,
395
396 #[serde(skip_serializing_if = "Option::is_none")]
398 pub windows_configuration: Option<WindowsConfiguration>,
399}
400
401impl OsProfile {
402 #[cfg(any(test, feature = "test-support"))]
403 pub fn fixture() -> Self {
405 Self {
406 computer_name: Some("test-computer_name".into()),
407 admin_username: Some("test-admin_username".into()),
408 admin_password: Some("test-admin_password".into()),
409 linux_configuration: Some(LinuxConfiguration::fixture()),
410 windows_configuration: Some(WindowsConfiguration::fixture()),
411 }
412 }
413}
414
415#[derive(Debug, Clone, Default, Serialize, Deserialize)]
420#[serde(rename_all = "camelCase")]
421pub struct LinuxConfiguration {
422 #[serde(skip_serializing_if = "Option::is_none")]
424 pub disable_password_authentication: Option<bool>,
425
426 #[serde(rename = "provisionVMAgent")]
428 #[serde(skip_serializing_if = "Option::is_none")]
429 pub provision_vm_agent: Option<bool>,
430
431 #[serde(skip_serializing_if = "Option::is_none")]
433 pub ssh: Option<SshConfiguration>,
434}
435
436impl LinuxConfiguration {
437 #[cfg(any(test, feature = "test-support"))]
438 pub fn fixture() -> Self {
440 Self {
441 disable_password_authentication: Some(false),
442 provision_vm_agent: Some(false),
443 ssh: Some(SshConfiguration::fixture()),
444 }
445 }
446}
447
448#[derive(Debug, Clone, Default, Serialize, Deserialize)]
453#[serde(rename_all = "camelCase")]
454pub struct WindowsConfiguration {
455 #[serde(rename = "provisionVMAgent")]
457 #[serde(skip_serializing_if = "Option::is_none")]
458 pub provision_vm_agent: Option<bool>,
459
460 #[serde(skip_serializing_if = "Option::is_none")]
462 pub enable_automatic_updates: Option<bool>,
463}
464
465impl WindowsConfiguration {
466 #[cfg(any(test, feature = "test-support"))]
467 pub fn fixture() -> Self {
469 Self {
470 provision_vm_agent: Some(false),
471 enable_automatic_updates: Some(false),
472 }
473 }
474}
475
476#[derive(Debug, Clone, Default, Serialize, Deserialize)]
481#[serde(rename_all = "camelCase")]
482pub struct SshConfiguration {
483 #[serde(default)]
485 #[serde(skip_serializing_if = "Vec::is_empty")]
486 pub public_keys: Vec<SshPublicKey>,
487}
488
489impl SshConfiguration {
490 #[cfg(any(test, feature = "test-support"))]
491 pub fn fixture() -> Self {
493 Self {
494 public_keys: vec![],
495 }
496 }
497}
498
499#[derive(Debug, Clone, Default, Serialize, Deserialize)]
504#[serde(rename_all = "camelCase")]
505pub struct SshPublicKey {
506 #[serde(skip_serializing_if = "Option::is_none")]
508 pub path: Option<String>,
509
510 #[serde(skip_serializing_if = "Option::is_none")]
512 pub key_data: Option<String>,
513}
514
515impl SshPublicKey {
516 #[cfg(any(test, feature = "test-support"))]
517 pub fn fixture() -> Self {
519 Self {
520 path: Some("test-path".into()),
521 key_data: Some("test-key_data".into()),
522 }
523 }
524}
525
526#[derive(Debug, Clone, Default, Serialize, Deserialize)]
531#[serde(rename_all = "camelCase")]
532pub struct NetworkProfile {
533 #[serde(default)]
535 #[serde(skip_serializing_if = "Vec::is_empty")]
536 pub network_interfaces: Vec<NetworkInterfaceReference>,
537}
538
539impl NetworkProfile {
540 #[cfg(any(test, feature = "test-support"))]
541 pub fn fixture() -> Self {
543 Self {
544 network_interfaces: vec![],
545 }
546 }
547}
548
549#[derive(Debug, Clone, Default, Serialize, Deserialize)]
554#[serde(rename_all = "camelCase")]
555pub struct NetworkInterfaceReference {
556 #[serde(skip_serializing_if = "Option::is_none")]
558 pub id: Option<String>,
559
560 #[serde(skip_serializing_if = "Option::is_none")]
562 pub properties: Option<NetworkInterfaceReferenceProperties>,
563}
564
565impl NetworkInterfaceReference {
566 #[cfg(any(test, feature = "test-support"))]
567 pub fn fixture() -> Self {
569 Self {
570 id: Some("test-id".into()),
571 properties: Some(NetworkInterfaceReferenceProperties::fixture()),
572 }
573 }
574}
575
576#[derive(Debug, Clone, Default, Serialize, Deserialize)]
581#[serde(rename_all = "camelCase")]
582pub struct NetworkInterfaceReferenceProperties {
583 #[serde(skip_serializing_if = "Option::is_none")]
585 pub primary: Option<bool>,
586
587 #[serde(skip_serializing_if = "Option::is_none")]
589 pub delete_option: Option<String>,
590}
591
592impl NetworkInterfaceReferenceProperties {
593 #[cfg(any(test, feature = "test-support"))]
594 pub fn fixture() -> Self {
596 Self {
597 primary: Some(false),
598 delete_option: Some("test-delete_option".into()),
599 }
600 }
601}
602
603#[derive(Debug, Clone, Default, Serialize, Deserialize)]
608#[serde(rename_all = "camelCase")]
609pub struct DiagnosticsProfile {
610 #[serde(skip_serializing_if = "Option::is_none")]
612 pub boot_diagnostics: Option<BootDiagnostics>,
613}
614
615impl DiagnosticsProfile {
616 #[cfg(any(test, feature = "test-support"))]
617 pub fn fixture() -> Self {
619 Self {
620 boot_diagnostics: Some(BootDiagnostics::fixture()),
621 }
622 }
623}
624
625#[derive(Debug, Clone, Default, Serialize, Deserialize)]
630#[serde(rename_all = "camelCase")]
631pub struct BootDiagnostics {
632 #[serde(skip_serializing_if = "Option::is_none")]
634 pub enabled: Option<bool>,
635
636 #[serde(skip_serializing_if = "Option::is_none")]
638 pub storage_uri: Option<String>,
639}
640
641impl BootDiagnostics {
642 #[cfg(any(test, feature = "test-support"))]
643 pub fn fixture() -> Self {
645 Self {
646 enabled: Some(false),
647 storage_uri: Some("test-storage_uri".into()),
648 }
649 }
650}
651
652#[derive(Debug, Clone, Default, Serialize, Deserialize)]
657#[serde(rename_all = "camelCase")]
658pub struct VirtualMachineInstanceView {
659 #[serde(skip_serializing_if = "Option::is_none")]
661 pub platform_update_domain: Option<i32>,
662
663 #[serde(skip_serializing_if = "Option::is_none")]
665 pub platform_fault_domain: Option<i32>,
666
667 #[serde(skip_serializing_if = "Option::is_none")]
669 pub computer_name: Option<String>,
670
671 #[serde(skip_serializing_if = "Option::is_none")]
673 pub os_name: Option<String>,
674
675 #[serde(skip_serializing_if = "Option::is_none")]
677 pub os_version: Option<String>,
678
679 #[serde(skip_serializing_if = "Option::is_none")]
681 pub vm_agent: Option<VirtualMachineAgentInstanceView>,
682
683 #[serde(default)]
685 #[serde(skip_serializing_if = "Vec::is_empty")]
686 pub statuses: Vec<InstanceViewStatus>,
687}
688
689impl VirtualMachineInstanceView {
690 #[cfg(any(test, feature = "test-support"))]
691 pub fn fixture() -> Self {
693 Self {
694 platform_update_domain: Some(100),
695 platform_fault_domain: Some(100),
696 computer_name: Some("test-computer_name".into()),
697 os_name: Some("test-os_name".into()),
698 os_version: Some("test-os_version".into()),
699 vm_agent: Some(VirtualMachineAgentInstanceView::fixture()),
700 statuses: vec![],
701 }
702 }
703}
704
705#[derive(Debug, Clone, Default, Serialize, Deserialize)]
710#[serde(rename_all = "camelCase")]
711pub struct VirtualMachineAgentInstanceView {
712 #[serde(skip_serializing_if = "Option::is_none")]
714 pub vm_agent_version: Option<String>,
715
716 #[serde(default)]
718 #[serde(skip_serializing_if = "Vec::is_empty")]
719 pub statuses: Vec<InstanceViewStatus>,
720}
721
722impl VirtualMachineAgentInstanceView {
723 #[cfg(any(test, feature = "test-support"))]
724 pub fn fixture() -> Self {
726 Self {
727 vm_agent_version: Some("test-vm_agent_version".into()),
728 statuses: vec![],
729 }
730 }
731}
732
733#[derive(Debug, Clone, Default, Serialize, Deserialize)]
738#[serde(rename_all = "camelCase")]
739pub struct InstanceViewStatus {
740 #[serde(skip_serializing_if = "Option::is_none")]
742 pub code: Option<String>,
743
744 #[serde(skip_serializing_if = "Option::is_none")]
746 pub level: Option<String>,
747
748 #[serde(skip_serializing_if = "Option::is_none")]
750 pub display_status: Option<String>,
751
752 #[serde(skip_serializing_if = "Option::is_none")]
754 pub message: Option<String>,
755
756 #[serde(skip_serializing_if = "Option::is_none")]
758 pub time: Option<String>,
759}
760
761impl InstanceViewStatus {
762 #[cfg(any(test, feature = "test-support"))]
763 pub fn fixture() -> Self {
765 Self {
766 code: Some("test-code".into()),
767 level: Some("test-level".into()),
768 display_status: Some("test-display_status".into()),
769 message: Some("test-message".into()),
770 time: Some("test-time".into()),
771 }
772 }
773}
774
775#[derive(Debug, Clone, Default, Serialize, Deserialize)]
780#[serde(rename_all = "camelCase")]
781pub struct VirtualMachineListResult {
782 #[serde(default)]
784 pub value: Vec<VirtualMachine>,
785
786 #[serde(skip_serializing_if = "Option::is_none")]
788 pub next_link: Option<String>,
789}
790
791impl VirtualMachineListResult {
792 #[cfg(any(test, feature = "test-support"))]
793 pub fn fixture() -> Self {
795 Self {
796 value: vec![],
797 next_link: Some("test-next_link".into()),
798 }
799 }
800}
801
802#[derive(Debug, Clone, Default, Serialize, Deserialize)]
807#[serde(rename_all = "camelCase")]
808pub struct VirtualMachineCreateRequest {
809 pub location: String,
811
812 #[serde(default)]
814 #[serde(skip_serializing_if = "HashMap::is_empty")]
815 pub tags: HashMap<String, String>,
816
817 #[serde(default)]
819 #[serde(skip_serializing_if = "Vec::is_empty")]
820 pub zones: Vec<String>,
821
822 #[serde(skip_serializing_if = "Option::is_none")]
824 pub properties: Option<VirtualMachineProperties>,
825}
826
827impl VirtualMachineCreateRequest {
828 #[cfg(any(test, feature = "test-support"))]
829 pub fn fixture() -> Self {
831 Self {
832 location: "test-location".into(),
833 tags: Default::default(),
834 zones: vec![],
835 properties: Some(VirtualMachineProperties::fixture()),
836 }
837 }
838}
839
840#[derive(Debug, Clone, Default, Serialize, Deserialize)]
845#[serde(rename_all = "camelCase")]
846pub struct VirtualMachineInstanceViewResult {
847 #[serde(skip_serializing_if = "Option::is_none")]
849 pub platform_update_domain: Option<i32>,
850
851 #[serde(skip_serializing_if = "Option::is_none")]
853 pub platform_fault_domain: Option<i32>,
854
855 #[serde(skip_serializing_if = "Option::is_none")]
857 pub computer_name: Option<String>,
858
859 #[serde(skip_serializing_if = "Option::is_none")]
861 pub os_name: Option<String>,
862
863 #[serde(skip_serializing_if = "Option::is_none")]
865 pub os_version: Option<String>,
866
867 #[serde(skip_serializing_if = "Option::is_none")]
869 pub vm_agent: Option<VirtualMachineAgentInstanceView>,
870
871 #[serde(default)]
873 #[serde(skip_serializing_if = "Vec::is_empty")]
874 pub statuses: Vec<InstanceViewStatus>,
875}
876
877impl VirtualMachineInstanceViewResult {
878 #[cfg(any(test, feature = "test-support"))]
879 pub fn fixture() -> Self {
881 Self {
882 platform_update_domain: Some(100),
883 platform_fault_domain: Some(100),
884 computer_name: Some("test-computer_name".into()),
885 os_name: Some("test-os_name".into()),
886 os_version: Some("test-os_version".into()),
887 vm_agent: Some(VirtualMachineAgentInstanceView::fixture()),
888 statuses: vec![],
889 }
890 }
891}
892
893#[derive(Debug, Clone, Default, Serialize, Deserialize)]
898#[serde(rename_all = "camelCase")]
899pub struct Sku {
900 #[serde(skip_serializing_if = "Option::is_none")]
902 pub name: Option<String>,
903
904 #[serde(skip_serializing_if = "Option::is_none")]
906 pub tier: Option<String>,
907
908 #[serde(skip_serializing_if = "Option::is_none")]
910 pub capacity: Option<i64>,
911}
912
913impl Sku {
914 #[cfg(any(test, feature = "test-support"))]
915 pub fn fixture() -> Self {
917 Self {
918 name: Some("test-sku".into()),
919 tier: Some("test-tier".into()),
920 capacity: Some(100),
921 }
922 }
923}
924
925#[derive(Debug, Clone, Default, Serialize, Deserialize)]
930#[serde(rename_all = "camelCase")]
931pub struct UpgradePolicy {
932 #[serde(skip_serializing_if = "Option::is_none")]
934 pub mode: Option<String>,
935}
936
937impl UpgradePolicy {
938 #[cfg(any(test, feature = "test-support"))]
939 pub fn fixture() -> Self {
941 Self {
942 mode: Some("test-mode".into()),
943 }
944 }
945}
946
947#[derive(Debug, Clone, Default, Serialize, Deserialize)]
952#[serde(rename_all = "camelCase")]
953pub struct VirtualMachineScaleSetVMProfile {
954 #[serde(skip_serializing_if = "Option::is_none")]
956 pub os_profile: Option<VirtualMachineScaleSetOsProfile>,
957
958 #[serde(skip_serializing_if = "Option::is_none")]
960 pub storage_profile: Option<StorageProfile>,
961
962 #[serde(skip_serializing_if = "Option::is_none")]
964 pub network_profile: Option<VirtualMachineScaleSetNetworkProfile>,
965}
966
967impl VirtualMachineScaleSetVMProfile {
968 #[cfg(any(test, feature = "test-support"))]
969 pub fn fixture() -> Self {
971 Self {
972 os_profile: Some(VirtualMachineScaleSetOsProfile::fixture()),
973 storage_profile: Some(StorageProfile::fixture()),
974 network_profile: Some(VirtualMachineScaleSetNetworkProfile::fixture()),
975 }
976 }
977}
978
979#[derive(Debug, Clone, Default, Serialize, Deserialize)]
984#[serde(rename_all = "camelCase")]
985pub struct VirtualMachineScaleSetOsProfile {
986 #[serde(skip_serializing_if = "Option::is_none")]
988 pub computer_name_prefix: Option<String>,
989
990 #[serde(skip_serializing_if = "Option::is_none")]
992 pub admin_username: Option<String>,
993
994 #[serde(skip_serializing_if = "Option::is_none")]
996 pub admin_password: Option<String>,
997
998 #[serde(skip_serializing_if = "Option::is_none")]
1000 pub linux_configuration: Option<LinuxConfiguration>,
1001
1002 #[serde(skip_serializing_if = "Option::is_none")]
1004 pub windows_configuration: Option<WindowsConfiguration>,
1005}
1006
1007impl VirtualMachineScaleSetOsProfile {
1008 #[cfg(any(test, feature = "test-support"))]
1009 pub fn fixture() -> Self {
1011 Self {
1012 computer_name_prefix: Some("test-computer_name_prefix".into()),
1013 admin_username: Some("test-admin_username".into()),
1014 admin_password: Some("test-admin_password".into()),
1015 linux_configuration: Some(LinuxConfiguration::fixture()),
1016 windows_configuration: Some(WindowsConfiguration::fixture()),
1017 }
1018 }
1019}
1020
1021#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1026#[serde(rename_all = "camelCase")]
1027pub struct VirtualMachineScaleSetNetworkProfile {
1028 #[serde(default)]
1030 #[serde(skip_serializing_if = "Vec::is_empty")]
1031 pub network_interface_configurations: Vec<VirtualMachineScaleSetNetworkConfiguration>,
1032}
1033
1034impl VirtualMachineScaleSetNetworkProfile {
1035 #[cfg(any(test, feature = "test-support"))]
1036 pub fn fixture() -> Self {
1038 Self {
1039 network_interface_configurations: vec![],
1040 }
1041 }
1042}
1043
1044#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1049#[serde(rename_all = "camelCase")]
1050pub struct VirtualMachineScaleSetNetworkConfiguration {
1051 pub name: String,
1053
1054 #[serde(skip_serializing_if = "Option::is_none")]
1056 pub properties: Option<VirtualMachineScaleSetNetworkConfigurationProperties>,
1057}
1058
1059impl VirtualMachineScaleSetNetworkConfiguration {
1060 #[cfg(any(test, feature = "test-support"))]
1061 pub fn fixture() -> Self {
1063 Self {
1064 name: "test-virtual_machine_scale_set_network_configuration".into(),
1065 properties: Some(VirtualMachineScaleSetNetworkConfigurationProperties::fixture()),
1066 }
1067 }
1068}
1069
1070#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1075#[serde(rename_all = "camelCase")]
1076pub struct VirtualMachineScaleSetNetworkConfigurationProperties {
1077 #[serde(skip_serializing_if = "Option::is_none")]
1079 pub primary: Option<bool>,
1080
1081 #[serde(rename = "enableIPForwarding")]
1083 #[serde(skip_serializing_if = "Option::is_none")]
1084 pub enable_ip_forwarding: Option<bool>,
1085
1086 #[serde(default)]
1088 #[serde(skip_serializing_if = "Vec::is_empty")]
1089 pub ip_configurations: Vec<VirtualMachineScaleSetIPConfiguration>,
1090}
1091
1092impl VirtualMachineScaleSetNetworkConfigurationProperties {
1093 #[cfg(any(test, feature = "test-support"))]
1094 pub fn fixture() -> Self {
1096 Self {
1097 primary: Some(false),
1098 enable_ip_forwarding: Some(false),
1099 ip_configurations: vec![],
1100 }
1101 }
1102}
1103
1104#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1109#[serde(rename_all = "camelCase")]
1110pub struct VirtualMachineScaleSetIPConfiguration {
1111 pub name: String,
1113
1114 #[serde(skip_serializing_if = "Option::is_none")]
1116 pub properties: Option<VirtualMachineScaleSetIPConfigurationProperties>,
1117}
1118
1119impl VirtualMachineScaleSetIPConfiguration {
1120 #[cfg(any(test, feature = "test-support"))]
1121 pub fn fixture() -> Self {
1123 Self {
1124 name: "test-virtual_machine_scale_set_ip_configuration".into(),
1125 properties: Some(VirtualMachineScaleSetIPConfigurationProperties::fixture()),
1126 }
1127 }
1128}
1129
1130#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1135#[serde(rename_all = "camelCase")]
1136pub struct VirtualMachineScaleSetIPConfigurationProperties {
1137 #[serde(skip_serializing_if = "Option::is_none")]
1139 pub subnet: Option<SubResource>,
1140}
1141
1142impl VirtualMachineScaleSetIPConfigurationProperties {
1143 #[cfg(any(test, feature = "test-support"))]
1144 pub fn fixture() -> Self {
1146 Self {
1147 subnet: Some(SubResource::fixture()),
1148 }
1149 }
1150}
1151
1152#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1157#[serde(rename_all = "camelCase")]
1158pub struct SubResource {
1159 #[serde(skip_serializing_if = "Option::is_none")]
1161 pub id: Option<String>,
1162}
1163
1164impl SubResource {
1165 #[cfg(any(test, feature = "test-support"))]
1166 pub fn fixture() -> Self {
1168 Self {
1169 id: Some("test-id".into()),
1170 }
1171 }
1172}
1173
1174#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1179#[serde(rename_all = "camelCase")]
1180pub struct VirtualMachineScaleSetProperties {
1181 #[serde(skip_serializing_if = "Option::is_none")]
1183 pub provisioning_state: Option<String>,
1184
1185 #[serde(skip_serializing_if = "Option::is_none")]
1187 pub unique_id: Option<String>,
1188
1189 #[serde(skip_serializing_if = "Option::is_none")]
1191 pub overprovision: Option<bool>,
1192
1193 #[serde(skip_serializing_if = "Option::is_none")]
1195 pub single_placement_group: Option<bool>,
1196
1197 #[serde(skip_serializing_if = "Option::is_none")]
1199 pub platform_fault_domain_count: Option<i32>,
1200
1201 #[serde(skip_serializing_if = "Option::is_none")]
1203 pub upgrade_policy: Option<UpgradePolicy>,
1204
1205 #[serde(skip_serializing_if = "Option::is_none")]
1207 pub virtual_machine_profile: Option<VirtualMachineScaleSetVMProfile>,
1208}
1209
1210impl VirtualMachineScaleSetProperties {
1211 #[cfg(any(test, feature = "test-support"))]
1212 pub fn fixture() -> Self {
1214 Self {
1215 provisioning_state: Some("test-provisioning_state".into()),
1216 unique_id: Some("test-unique_id".into()),
1217 overprovision: Some(false),
1218 single_placement_group: Some(false),
1219 platform_fault_domain_count: Some(100),
1220 upgrade_policy: Some(UpgradePolicy::fixture()),
1221 virtual_machine_profile: Some(VirtualMachineScaleSetVMProfile::fixture()),
1222 }
1223 }
1224}
1225
1226#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1231#[serde(rename_all = "camelCase")]
1232pub struct VirtualMachineScaleSet {
1233 #[serde(skip_serializing_if = "Option::is_none")]
1235 pub id: Option<String>,
1236
1237 #[serde(skip_serializing_if = "Option::is_none")]
1239 pub name: Option<String>,
1240
1241 #[serde(rename = "type")]
1243 #[serde(skip_serializing_if = "Option::is_none")]
1244 pub r#type: Option<String>,
1245
1246 #[serde(skip_serializing_if = "Option::is_none")]
1248 pub location: Option<String>,
1249
1250 #[serde(default)]
1252 #[serde(skip_serializing_if = "HashMap::is_empty")]
1253 pub tags: HashMap<String, String>,
1254
1255 #[serde(skip_serializing_if = "Option::is_none")]
1257 pub sku: Option<Sku>,
1258
1259 #[serde(skip_serializing_if = "Option::is_none")]
1261 pub properties: Option<VirtualMachineScaleSetProperties>,
1262}
1263
1264impl VirtualMachineScaleSet {
1265 #[cfg(any(test, feature = "test-support"))]
1266 pub fn fixture() -> Self {
1268 Self {
1269 id: Some("test-id".into()),
1270 name: Some("test-virtual_machine_scale_set".into()),
1271 r#type: Some("test-type".into()),
1272 location: Some("test-location".into()),
1273 tags: Default::default(),
1274 sku: Some(Sku::fixture()),
1275 properties: Some(VirtualMachineScaleSetProperties::fixture()),
1276 }
1277 }
1278}
1279
1280#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1285#[serde(rename_all = "camelCase")]
1286pub struct VirtualMachineScaleSetListResult {
1287 #[serde(default)]
1289 pub value: Vec<VirtualMachineScaleSet>,
1290
1291 #[serde(skip_serializing_if = "Option::is_none")]
1293 pub next_link: Option<String>,
1294}
1295
1296impl VirtualMachineScaleSetListResult {
1297 #[cfg(any(test, feature = "test-support"))]
1298 pub fn fixture() -> Self {
1300 Self {
1301 value: vec![],
1302 next_link: Some("test-next_link".into()),
1303 }
1304 }
1305}
1306
1307#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1312#[serde(rename_all = "camelCase")]
1313pub struct VirtualMachineScaleSetCreateRequest {
1314 pub location: String,
1316
1317 #[serde(default)]
1319 #[serde(skip_serializing_if = "HashMap::is_empty")]
1320 pub tags: HashMap<String, String>,
1321
1322 #[serde(skip_serializing_if = "Option::is_none")]
1324 pub sku: Option<Sku>,
1325
1326 #[serde(skip_serializing_if = "Option::is_none")]
1328 pub properties: Option<VirtualMachineScaleSetProperties>,
1329}
1330
1331impl VirtualMachineScaleSetCreateRequest {
1332 #[cfg(any(test, feature = "test-support"))]
1333 pub fn fixture() -> Self {
1335 Self {
1336 location: "test-location".into(),
1337 tags: Default::default(),
1338 sku: Some(Sku::fixture()),
1339 properties: Some(VirtualMachineScaleSetProperties::fixture()),
1340 }
1341 }
1342}
1343
1344#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1349#[serde(rename_all = "camelCase")]
1350pub struct VirtualMachineScaleSetVM {
1351 #[serde(skip_serializing_if = "Option::is_none")]
1353 pub id: Option<String>,
1354
1355 #[serde(skip_serializing_if = "Option::is_none")]
1357 pub name: Option<String>,
1358
1359 #[serde(rename = "type")]
1361 #[serde(skip_serializing_if = "Option::is_none")]
1362 pub r#type: Option<String>,
1363
1364 #[serde(skip_serializing_if = "Option::is_none")]
1366 pub location: Option<String>,
1367
1368 #[serde(skip_serializing_if = "Option::is_none")]
1370 pub instance_id: Option<String>,
1371
1372 #[serde(skip_serializing_if = "Option::is_none")]
1374 pub sku: Option<Sku>,
1375
1376 #[serde(skip_serializing_if = "Option::is_none")]
1378 pub properties: Option<VirtualMachineScaleSetVMProperties>,
1379}
1380
1381impl VirtualMachineScaleSetVM {
1382 #[cfg(any(test, feature = "test-support"))]
1383 pub fn fixture() -> Self {
1385 Self {
1386 id: Some("test-id".into()),
1387 name: Some("test-virtual_machine_scale_set_vm".into()),
1388 r#type: Some("test-type".into()),
1389 location: Some("test-location".into()),
1390 instance_id: Some("test-instance_id".into()),
1391 sku: Some(Sku::fixture()),
1392 properties: Some(VirtualMachineScaleSetVMProperties::fixture()),
1393 }
1394 }
1395}
1396
1397#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1402#[serde(rename_all = "camelCase")]
1403pub struct VirtualMachineScaleSetVMProperties {
1404 #[serde(skip_serializing_if = "Option::is_none")]
1406 pub latest_model_applied: Option<bool>,
1407
1408 #[serde(skip_serializing_if = "Option::is_none")]
1410 pub vm_id: Option<String>,
1411
1412 #[serde(skip_serializing_if = "Option::is_none")]
1414 pub provisioning_state: Option<String>,
1415
1416 #[serde(skip_serializing_if = "Option::is_none")]
1418 pub hardware_profile: Option<HardwareProfile>,
1419
1420 #[serde(skip_serializing_if = "Option::is_none")]
1422 pub storage_profile: Option<StorageProfile>,
1423
1424 #[serde(skip_serializing_if = "Option::is_none")]
1426 pub os_profile: Option<OsProfile>,
1427
1428 #[serde(skip_serializing_if = "Option::is_none")]
1430 pub network_profile: Option<NetworkProfile>,
1431}
1432
1433impl VirtualMachineScaleSetVMProperties {
1434 #[cfg(any(test, feature = "test-support"))]
1435 pub fn fixture() -> Self {
1437 Self {
1438 latest_model_applied: Some(false),
1439 vm_id: Some("test-vm_id".into()),
1440 provisioning_state: Some("test-provisioning_state".into()),
1441 hardware_profile: Some(HardwareProfile::fixture()),
1442 storage_profile: Some(StorageProfile::fixture()),
1443 os_profile: Some(OsProfile::fixture()),
1444 network_profile: Some(NetworkProfile::fixture()),
1445 }
1446 }
1447}
1448
1449#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1454#[serde(rename_all = "camelCase")]
1455pub struct VirtualMachineScaleSetVMListResult {
1456 #[serde(default)]
1458 pub value: Vec<VirtualMachineScaleSetVM>,
1459
1460 #[serde(skip_serializing_if = "Option::is_none")]
1462 pub next_link: Option<String>,
1463}
1464
1465impl VirtualMachineScaleSetVMListResult {
1466 #[cfg(any(test, feature = "test-support"))]
1467 pub fn fixture() -> Self {
1469 Self {
1470 value: vec![],
1471 next_link: Some("test-next_link".into()),
1472 }
1473 }
1474}
1475
1476#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1481#[serde(rename_all = "camelCase")]
1482pub struct VirtualMachineScaleSetVMInstanceIDs {
1483 #[serde(default)]
1485 #[serde(skip_serializing_if = "Vec::is_empty")]
1486 pub instance_ids: Vec<String>,
1487}
1488
1489impl VirtualMachineScaleSetVMInstanceIDs {
1490 #[cfg(any(test, feature = "test-support"))]
1491 pub fn fixture() -> Self {
1493 Self {
1494 instance_ids: vec![],
1495 }
1496 }
1497}
1498
1499#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1504#[serde(rename_all = "camelCase")]
1505pub struct DiskSku {
1506 #[serde(skip_serializing_if = "Option::is_none")]
1509 pub name: Option<String>,
1510
1511 #[serde(skip_serializing_if = "Option::is_none")]
1513 pub tier: Option<String>,
1514}
1515
1516impl DiskSku {
1517 #[cfg(any(test, feature = "test-support"))]
1518 pub fn fixture() -> Self {
1520 Self {
1521 name: Some("test-disk_sku".into()),
1522 tier: Some("test-tier".into()),
1523 }
1524 }
1525}
1526
1527#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1532#[serde(rename_all = "camelCase")]
1533pub struct DiskCreationData {
1534 pub create_option: String,
1536
1537 #[serde(skip_serializing_if = "Option::is_none")]
1539 pub storage_account_id: Option<String>,
1540
1541 #[serde(skip_serializing_if = "Option::is_none")]
1543 pub source_uri: Option<String>,
1544
1545 #[serde(skip_serializing_if = "Option::is_none")]
1547 pub source_resource_id: Option<String>,
1548
1549 #[serde(skip_serializing_if = "Option::is_none")]
1551 pub image_reference: Option<ImageDiskReference>,
1552
1553 #[serde(skip_serializing_if = "Option::is_none")]
1555 pub gallery_image_reference: Option<ImageDiskReference>,
1556}
1557
1558impl DiskCreationData {
1559 #[cfg(any(test, feature = "test-support"))]
1560 pub fn fixture() -> Self {
1562 Self {
1563 create_option: "test-create_option".into(),
1564 storage_account_id: Some("test-storage_account_id".into()),
1565 source_uri: Some("test-source_uri".into()),
1566 source_resource_id: Some("test-source_resource_id".into()),
1567 image_reference: Some(ImageDiskReference::fixture()),
1568 gallery_image_reference: Some(ImageDiskReference::fixture()),
1569 }
1570 }
1571}
1572
1573#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1578#[serde(rename_all = "camelCase")]
1579pub struct ImageDiskReference {
1580 #[serde(skip_serializing_if = "Option::is_none")]
1582 pub id: Option<String>,
1583
1584 #[serde(skip_serializing_if = "Option::is_none")]
1587 pub lun: Option<i32>,
1588}
1589
1590impl ImageDiskReference {
1591 #[cfg(any(test, feature = "test-support"))]
1592 pub fn fixture() -> Self {
1594 Self {
1595 id: Some("test-id".into()),
1596 lun: Some(100),
1597 }
1598 }
1599}
1600
1601#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1606#[serde(rename_all = "camelCase")]
1607pub struct DiskProperties {
1608 #[serde(skip_serializing_if = "Option::is_none")]
1610 pub provisioning_state: Option<String>,
1611
1612 #[serde(skip_serializing_if = "Option::is_none")]
1614 pub disk_state: Option<String>,
1615
1616 #[serde(rename = "diskSizeGB")]
1618 #[serde(skip_serializing_if = "Option::is_none")]
1619 pub disk_size_gb: Option<i32>,
1620
1621 #[serde(rename = "diskSizeBytes")]
1623 #[serde(skip_serializing_if = "Option::is_none")]
1624 pub disk_size_bytes: Option<i64>,
1625
1626 #[serde(rename = "diskIOPSReadWrite")]
1628 #[serde(skip_serializing_if = "Option::is_none")]
1629 pub disk_iops_read_write: Option<i64>,
1630
1631 #[serde(rename = "diskMBpsReadWrite")]
1633 #[serde(skip_serializing_if = "Option::is_none")]
1634 pub disk_m_bps_read_write: Option<i64>,
1635
1636 #[serde(skip_serializing_if = "Option::is_none")]
1638 pub os_type: Option<String>,
1639
1640 #[serde(skip_serializing_if = "Option::is_none")]
1642 pub hyper_v_generation: Option<String>,
1643
1644 #[serde(skip_serializing_if = "Option::is_none")]
1646 pub creation_data: Option<DiskCreationData>,
1647
1648 #[serde(skip_serializing_if = "Option::is_none")]
1650 pub encryption_settings_collection: Option<EncryptionSettingsCollection>,
1651
1652 #[serde(skip_serializing_if = "Option::is_none")]
1654 pub encryption: Option<Encryption>,
1655
1656 #[serde(skip_serializing_if = "Option::is_none")]
1658 pub network_access_policy: Option<String>,
1659
1660 #[serde(skip_serializing_if = "Option::is_none")]
1662 pub public_network_access: Option<String>,
1663
1664 #[serde(skip_serializing_if = "Option::is_none")]
1666 pub time_created: Option<String>,
1667
1668 #[serde(skip_serializing_if = "Option::is_none")]
1670 pub unique_id: Option<String>,
1671}
1672
1673impl DiskProperties {
1674 #[cfg(any(test, feature = "test-support"))]
1675 pub fn fixture() -> Self {
1677 Self {
1678 provisioning_state: Some("test-provisioning_state".into()),
1679 disk_state: Some("test-disk_state".into()),
1680 disk_size_gb: Some(100),
1681 disk_size_bytes: Some(100),
1682 disk_iops_read_write: Some(100),
1683 disk_m_bps_read_write: Some(100),
1684 os_type: Some("test-os_type".into()),
1685 hyper_v_generation: Some("test-hyper_v_generation".into()),
1686 creation_data: Some(DiskCreationData::fixture()),
1687 encryption_settings_collection: Some(EncryptionSettingsCollection::fixture()),
1688 encryption: Some(Encryption::fixture()),
1689 network_access_policy: Some("test-network_access_policy".into()),
1690 public_network_access: Some("test-public_network_access".into()),
1691 time_created: Some("test-time_created".into()),
1692 unique_id: Some("test-unique_id".into()),
1693 }
1694 }
1695}
1696
1697#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1702#[serde(rename_all = "camelCase")]
1703pub struct EncryptionSettingsCollection {
1704 #[serde(default)]
1706 pub enabled: bool,
1707
1708 #[serde(default)]
1710 #[serde(skip_serializing_if = "Vec::is_empty")]
1711 pub encryption_settings: Vec<EncryptionSettingsElement>,
1712}
1713
1714impl EncryptionSettingsCollection {
1715 #[cfg(any(test, feature = "test-support"))]
1716 pub fn fixture() -> Self {
1718 Self {
1719 enabled: false,
1720 encryption_settings: vec![],
1721 }
1722 }
1723}
1724
1725#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1730#[serde(rename_all = "camelCase")]
1731pub struct EncryptionSettingsElement {
1732 #[serde(skip_serializing_if = "Option::is_none")]
1734 pub disk_encryption_key: Option<KeyVaultAndSecretReference>,
1735
1736 #[serde(skip_serializing_if = "Option::is_none")]
1738 pub key_encryption_key: Option<KeyVaultAndKeyReference>,
1739}
1740
1741impl EncryptionSettingsElement {
1742 #[cfg(any(test, feature = "test-support"))]
1743 pub fn fixture() -> Self {
1745 Self {
1746 disk_encryption_key: Some(KeyVaultAndSecretReference::fixture()),
1747 key_encryption_key: Some(KeyVaultAndKeyReference::fixture()),
1748 }
1749 }
1750}
1751
1752#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1757#[serde(rename_all = "camelCase")]
1758pub struct KeyVaultAndSecretReference {
1759 pub source_vault: SubResource,
1761
1762 pub secret_url: String,
1764}
1765
1766impl KeyVaultAndSecretReference {
1767 #[cfg(any(test, feature = "test-support"))]
1768 pub fn fixture() -> Self {
1770 Self {
1771 source_vault: SubResource::fixture(),
1772 secret_url: "test-secret_url".into(),
1773 }
1774 }
1775}
1776
1777#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1782#[serde(rename_all = "camelCase")]
1783pub struct KeyVaultAndKeyReference {
1784 pub source_vault: SubResource,
1786
1787 pub key_url: String,
1789}
1790
1791impl KeyVaultAndKeyReference {
1792 #[cfg(any(test, feature = "test-support"))]
1793 pub fn fixture() -> Self {
1795 Self {
1796 source_vault: SubResource::fixture(),
1797 key_url: "test-key_url".into(),
1798 }
1799 }
1800}
1801
1802#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1807#[serde(rename_all = "camelCase")]
1808pub struct Encryption {
1809 #[serde(skip_serializing_if = "Option::is_none")]
1811 pub disk_encryption_set_id: Option<String>,
1812
1813 #[serde(rename = "type")]
1816 #[serde(skip_serializing_if = "Option::is_none")]
1817 pub r#type: Option<String>,
1818}
1819
1820impl Encryption {
1821 #[cfg(any(test, feature = "test-support"))]
1822 pub fn fixture() -> Self {
1824 Self {
1825 disk_encryption_set_id: Some("test-disk_encryption_set_id".into()),
1826 r#type: Some("test-type".into()),
1827 }
1828 }
1829}
1830
1831#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1836#[serde(rename_all = "camelCase")]
1837pub struct Disk {
1838 #[serde(skip_serializing_if = "Option::is_none")]
1840 pub id: Option<String>,
1841
1842 #[serde(skip_serializing_if = "Option::is_none")]
1844 pub name: Option<String>,
1845
1846 #[serde(rename = "type")]
1848 #[serde(skip_serializing_if = "Option::is_none")]
1849 pub r#type: Option<String>,
1850
1851 pub location: String,
1853
1854 #[serde(default)]
1856 #[serde(skip_serializing_if = "HashMap::is_empty")]
1857 pub tags: HashMap<String, String>,
1858
1859 #[serde(default)]
1861 #[serde(skip_serializing_if = "Vec::is_empty")]
1862 pub zones: Vec<String>,
1863
1864 #[serde(skip_serializing_if = "Option::is_none")]
1866 pub sku: Option<DiskSku>,
1867
1868 #[serde(skip_serializing_if = "Option::is_none")]
1870 pub properties: Option<DiskProperties>,
1871}
1872
1873impl Disk {
1874 #[cfg(any(test, feature = "test-support"))]
1875 pub fn fixture() -> Self {
1877 Self {
1878 id: Some("test-id".into()),
1879 name: Some("test-disk".into()),
1880 r#type: Some("test-type".into()),
1881 location: "test-location".into(),
1882 tags: Default::default(),
1883 zones: vec![],
1884 sku: Some(DiskSku::fixture()),
1885 properties: Some(DiskProperties::fixture()),
1886 }
1887 }
1888}
1889
1890#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1895#[serde(rename_all = "camelCase")]
1896pub struct DiskListResult {
1897 #[serde(default)]
1899 pub value: Vec<Disk>,
1900
1901 #[serde(skip_serializing_if = "Option::is_none")]
1903 pub next_link: Option<String>,
1904}
1905
1906impl DiskListResult {
1907 #[cfg(any(test, feature = "test-support"))]
1908 pub fn fixture() -> Self {
1910 Self {
1911 value: vec![],
1912 next_link: Some("test-next_link".into()),
1913 }
1914 }
1915}
1916
1917#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1922#[serde(rename_all = "camelCase")]
1923pub struct DiskCreateRequest {
1924 pub location: String,
1926
1927 #[serde(default)]
1929 #[serde(skip_serializing_if = "HashMap::is_empty")]
1930 pub tags: HashMap<String, String>,
1931
1932 #[serde(default)]
1934 #[serde(skip_serializing_if = "Vec::is_empty")]
1935 pub zones: Vec<String>,
1936
1937 #[serde(skip_serializing_if = "Option::is_none")]
1939 pub sku: Option<DiskSku>,
1940
1941 #[serde(skip_serializing_if = "Option::is_none")]
1943 pub properties: Option<DiskProperties>,
1944}
1945
1946impl DiskCreateRequest {
1947 #[cfg(any(test, feature = "test-support"))]
1948 pub fn fixture() -> Self {
1950 Self {
1951 location: "test-location".into(),
1952 tags: Default::default(),
1953 zones: vec![],
1954 sku: Some(DiskSku::fixture()),
1955 properties: Some(DiskProperties::fixture()),
1956 }
1957 }
1958}
1959
1960#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1965#[serde(rename_all = "camelCase")]
1966pub struct DiskUpdateRequest {
1967 #[serde(default)]
1969 #[serde(skip_serializing_if = "HashMap::is_empty")]
1970 pub tags: HashMap<String, String>,
1971
1972 #[serde(skip_serializing_if = "Option::is_none")]
1974 pub sku: Option<DiskSku>,
1975}
1976
1977impl DiskUpdateRequest {
1978 #[cfg(any(test, feature = "test-support"))]
1979 pub fn fixture() -> Self {
1981 Self {
1982 tags: Default::default(),
1983 sku: Some(DiskSku::fixture()),
1984 }
1985 }
1986}
1987
1988#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1993#[serde(rename_all = "camelCase")]
1994pub struct GrantAccessData {
1995 pub access: String,
1997
1998 pub duration_in_seconds: i32,
2000
2001 #[serde(skip_serializing_if = "Option::is_none")]
2003 pub file_format: Option<String>,
2004}
2005
2006impl GrantAccessData {
2007 #[cfg(any(test, feature = "test-support"))]
2008 pub fn fixture() -> Self {
2010 Self {
2011 access: "test-access".into(),
2012 duration_in_seconds: 100,
2013 file_format: Some("test-file_format".into()),
2014 }
2015 }
2016}
2017
2018#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2023#[serde(rename_all = "camelCase")]
2024pub struct AccessUri {
2025 #[serde(rename = "accessSAS")]
2027 #[serde(skip_serializing_if = "Option::is_none")]
2028 pub access_sas: Option<String>,
2029
2030 #[serde(rename = "securityDataAccessSAS")]
2032 #[serde(skip_serializing_if = "Option::is_none")]
2033 pub security_data_access_sas: Option<String>,
2034}
2035
2036impl AccessUri {
2037 #[cfg(any(test, feature = "test-support"))]
2038 pub fn fixture() -> Self {
2040 Self {
2041 access_sas: Some("test-access_sas".into()),
2042 security_data_access_sas: Some("test-security_data_access_sas".into()),
2043 }
2044 }
2045}