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)]
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>,
}