1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
use serde::{Deserialize, Serialize};
/// Hypervisor
#[derive(Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq)]
pub struct Hypervisor {
/// A Boolean value that indicates whether the app creates and manages virtual
/// machines.
///
/// The entitlement is required to use the Hypervisor APIs in any process.
///
/// ### Important
/// If your app has a deployment target of macOS 10.15 or earlier, add the
/// com.apple.vm.hypervisor entitlement to your app in addition to this entitlement.
///
/// ## Availability
/// * macOS 11.0+
///
/// ## Framework
/// * Hypervisor
#[serde(
rename = "com.apple.security.hypervisor",
serialize_with = "crate::serialize_option",
skip_serializing_if = "Option::is_none"
)]
pub security_hypervisor: Option<bool>,
/// A Boolean value that indicates whether the app creates and manages virtual
/// machines.
///
/// The entitlement is required to use the Hypervisor APIs in a sandboxed process.
///
/// ## Availability
/// * macOS 10.10–11.0
///
/// ## Framework
/// * Hypervisor
#[deprecated(
since = "macOS 10.10-11.0",
note = "For apps with a deployment target of macOS 11 and later, use com.apple.security.hypervisor instead.
For deployment targets earlier than macOS 11, add both that and the com.apple.vm.hypervisor entitlement to your app."
)]
#[serde(
rename = "com.apple.vm.hypervisor",
serialize_with = "crate::serialize_option",
skip_serializing_if = "Option::is_none"
)]
pub vm_hypervisor: Option<bool>,
/// A Boolean value that indicates whether the app captures USB devices and uses them
/// in the guest-operating system.
///
/// The entitlement is required to use the IOUSBHost APIs for USB device capture.
///
/// ## Availability
/// * macOS 10.10+
///
/// ## Framework
/// * Hypervisor
#[serde(
rename = "com.apple.vm.device-access",
serialize_with = "crate::serialize_option",
skip_serializing_if = "Option::is_none"
)]
pub vm_device_access: Option<bool>,
/// A Boolean that indicates whether the app manages virtual network interfaces
/// without escalating privileges to the root user.
///
/// The entitlement is required to use the vmnet APIs.
///
/// ### Note
/// This entitlement is restricted to developers of virtualization software.
/// To request this entitlement, contact your Apple representative.
///
/// ## Availability
/// * macOS 10.10+
///
/// ## Framework
/// * Hypervisor
#[serde(
rename = "com.apple.vm.networking",
serialize_with = "crate::serialize_option",
skip_serializing_if = "Option::is_none"
)]
pub vm_networking: Option<bool>,
/// A Boolean that indicates whether the app can use the Virtualization framework.
///
/// Read the value of isSupported to check for the presence of both this entitlement
/// and the hardware support needed for virtualization.
///
/// ## Availability
/// * macOS 11.0+
///
/// ## Framework
/// * Hypervisor
#[serde(
rename = "com.apple.security.virtualization",
serialize_with = "crate::serialize_option",
skip_serializing_if = "Option::is_none"
)]
pub security_virtualization: Option<bool>,
}