DSCResources/MSFT_IntuneCloudProvisioningPolicyWindows365/MSFT_IntuneCloudProvisioningPolicyWindows365.schema.mof

[ClassVersion("1.0.0.2")]
class MSFT_DeviceManagementConfigurationPolicyAssignments
{
    [Write, Description("The type of the target assignment."), ValueMap{"#microsoft.graph.cloudPcManagementGroupAssignmentTarget","#microsoft.graph.groupAssignmentTarget","#microsoft.graph.allLicensedUsersAssignmentTarget","#microsoft.graph.allDevicesAssignmentTarget","#microsoft.graph.exclusionGroupAssignmentTarget","#microsoft.graph.configurationManagerCollectionAssignmentTarget"}, Values{"#microsoft.graph.cloudPcManagementGroupAssignmentTarget","#microsoft.graph.groupAssignmentTarget","#microsoft.graph.allLicensedUsersAssignmentTarget","#microsoft.graph.allDevicesAssignmentTarget","#microsoft.graph.exclusionGroupAssignmentTarget","#microsoft.graph.configurationManagerCollectionAssignmentTarget"}] String dataType;
    [Write, Description("The type of filter of the target assignment i.e. Exclude or Include. Possible values are:none, include, exclude."), ValueMap{"none","include","exclude"}, Values{"none","include","exclude"}] String deviceAndAppManagementAssignmentFilterType;
    [Write, Description("The Id of the filter for the target assignment.")] String deviceAndAppManagementAssignmentFilterId;
    [Write, Description("The display name of the filter for the target assignment.")] String deviceAndAppManagementAssignmentFilterDisplayName;
    [Write, Description("The group Id that is the target of the assignment.")] String groupId;
    [Write, Description("The group Display Name that is the target of the assignment.")] String groupDisplayName;
    [Write, Description("The collection Id that is the target of the assignment.(ConfigMgr)")] String collectionId;
};
[ClassVersion("1.0.0.0")]
class MSFT_MicrosoftGraphCloudPcProvisioningPolicyAutopatch
{
    [Write, Description("The unique identifier (ID) of a Windows Autopatch group. An Autopatch group is a logical container or unit that groups several Microsoft Entra groups and software update policies. Devices with the same Autopatch group ID share unified software update management. The default value is null that indicates that no Autopatch group is associated with the provisioning policy.")] String AutopatchGroupId;
    [Write, Description("The unique display name of a Windows Autopatch group.")] String AutopatchGroupDisplayName;
};
[ClassVersion("1.0.0.0")]
class MSFT_MicrosoftGraphCloudPcAutopilotConfiguration
{
    [Write, Description("Indicates the number of minutes allowed for the Autopilot application to apply the device preparation profile (DPP) configurations to the device. If the Autopilot application doesn't finish within the specified time (applicationTimeoutInMinutes), the application error is added to the statusDetail property of the cloudPC object. The supported value is an integer between 10 and 360. Required.")] UInt32 ApplicationTimeoutInMinutes;
    [Write, Description("The unique identifier (ID) of the Autopilot device preparation profile (DPP) that links a Windows Autopilot device preparation policy to ensure that devices are ready for users after provisioning. Required.")] String DevicePreparationProfileId;
    [Write, Description("Indicates whether the access to the device is allowed when the application of Autopilot device preparation profile (DPP) configurations fails or times out. If true, the status of the device is failed and the device is unable to access otherwise, the status of the device is provisionedWithWarnings and the device is allowed to access. The default value is false. Required.")] Boolean OnFailureDeviceAccessDenied;
};
[ClassVersion("1.0.0.0")]
class MSFT_MicrosoftGraphCloudPcDomainJoinConfiguration
{
    [Write, Description("Specifies the method by which the provisioned Cloud PC joins Microsoft Entra ID. If you choose the hybridAzureADJoin type, only provide a value for the onPremisesConnectionId property and leave the regionName property empty. If you choose the azureADJoin type, provide a value for either the onPremisesConnectionId or the regionName property. Possible values are: azureADJoin, hybridAzureADJoin."), ValueMap{"azureADJoin","hybridAzureADJoin"}, Values{"azureADJoin","hybridAzureADJoin"}] String DomainJoinType;
    [Write, Description("The Azure network connection ID that matches the virtual network IT admins want the provisioning policy to use when they create Cloud PCs. You can use this property in both domain join types: Azure AD joined or Hybrid Microsoft Entra joined. If you enter an onPremisesConnectionId, leave the regionName property empty.")] String OnPremisesConnectionId;
    [Write, Description("The logical geographic group this region belongs to. Multiple regions can belong to one region group. A customer can select a regionGroup when they provision a Cloud PC, and the Cloud PC is put in one of the regions in the group based on resource status. For example, the Europe region group contains the Northern Europe and Western Europe regions."), ValueMap{"default","australia","canada","usCentral","usEast","usWest","france","germany","europeUnion","unitedKingdom","japan","asia","india","southAmerica","euap","usGovernment","usGovernmentDOD","norway","switzerland","southKorea","middleEast","mexico","australasia","europe"}, Values{"default","australia","canada","usCentral","usEast","usWest","france","germany","europeUnion","unitedKingdom","japan","asia","india","southAmerica","euap","usGovernment","usGovernmentDOD","norway","switzerland","southKorea","middleEast","mexico","australasia","europe"}] String RegionGroup;
    [Write, Description("The supported Azure region where the IT admin wants the provisioning policy to create Cloud PCs. The underlying virtual network is created and managed by the Windows 365 service. This can only be entered if the IT admin chooses Microsoft Entra joined as the domain join type. If you enter a regionName, leave the onPremisesConnectionId property empty. For an automatic selection, choose 'Automatic'.")] String RegionName;
    [Write, Description("Specifies the method by which the provisioned Cloud PC joins Microsoft Entra ID. If you choose the hybridAzureADJoin type, only provide a value for the onPremisesConnectionId property and leave regionName as empty. If you choose the azureADJoin type, provide a value for either onPremisesConnectionId or regionName. The possible values are: azureADJoin, hybridAzureADJoin. The type property is deprecated and will stop returning data on January 31, 2024. Going forward, use the domainJoinType property."), ValueMap{"azureADJoin","hybridAzureADJoin"}, Values{"azureADJoin","hybridAzureADJoin"}] String Type;
};
[ClassVersion("1.0.0.0")]
class MSFT_MicrosoftGraphMicrosoftManagedDesktop
{
    [Write, Description("Indicates the provisioning policy associated with Microsoft Managed Desktop settings. Possible values are: notManaged, premiumManaged, standardManaged, starterManaged. The default value is notManaged."), ValueMap{"notManaged","premiumManaged","standardManaged","starterManaged"}, Values{"notManaged","premiumManaged","standardManaged","starterManaged"}] String ManagedType;
    [Write, Description("The name of the Microsoft Managed Desktop profile that the Windows 365 Cloud PC is associated with.")] String Profile;
    [Write, Description("Indicates whether the provisioning policy enables Microsoft Managed Desktop and, if enabled, specifies the type of plan managing the device. Possible values are: notManaged, premiumManaged, standardManaged, starterManaged. The type property is deprecated and will stop returning data on January 31, 2024. Going forward, use the managedType property."), ValueMap{"notManaged","premiumManaged","standardManaged","starterManaged"}, Values{"notManaged","premiumManaged","standardManaged","starterManaged"}] String Type;
};
[ClassVersion("1.0.0.0")]
class MSFT_MicrosoftGraphCloudPcWindowsSetting
{
    [Write, Description("The Windows language or region tag to use for language pack configuration and localization of the Cloud PC. The default value is en-US, which corresponds to English (United States).")] String Locale;
};
[ClassVersion("1.0.0.0")]
class MSFT_MicrosoftGraphCloudPcWindowsSettings
{
    [Write, Description("The Windows language/region tag to use for language pack configuration and localization of the Cloud PC. The default value is en-US, which corresponds to English (United States).")] String Language;
};
 
[ClassVersion("1.0.0.0"), FriendlyName("IntuneCloudProvisioningPolicyWindows365")]
class MSFT_IntuneCloudProvisioningPolicyWindows365 : OMI_BaseResource
{
    [Write, Description("Indicates the Windows Autopatch settings for Cloud PCs using this provisioning policy. The settings take effect when the tenant enrolls in Autopatch and the managedType of the microsoftManagedDesktop property is set as starterManaged."), EmbeddedInstance("MSFT_MicrosoftGraphcloudPcProvisioningPolicyAutopatch")] String Autopatch;
    [Write, Description("The specific settings for Windows Autopilot that enable Windows 365 customers to experience it on Cloud PC. Supports $select."), EmbeddedInstance("MSFT_MicrosoftGraphcloudPcAutopilotConfiguration")] String AutopilotConfiguration;
    [Write, Description("The template used to name Cloud PCs provisioned using this policy. The template can contain custom text and replacement tokens, including %USERNAME:x% and %RAND:x%, which represent the user's name and a randomly generated number, respectively. For example, CPC-%USERNAME:4%-%RAND:5% means that the name of the Cloud PC starts with CPC-, followed by a four-character username, a - character, and then five random characters. The total length of the text generated by the template can't exceed 15 characters.")] String CloudPcNamingTemplate;
    [Write, Description("The provisioning policy description.")] String Description;
    [Key, Description("The display name for the provisioning policy.")] String DisplayName;
    [Write, Description("Specifies a list ordered by priority on how Cloud PCs join Microsoft Entra ID (Azure AD). Supports $select."), EmbeddedInstance("MSFT_MicrosoftGraphcloudPcDomainJoinConfiguration")] String DomainJoinConfigurations[];
    [Write, Description("True if single sign-on can access the provisioned Cloud PC. False indicates that the provisioned Cloud PC doesn't support this feature. The default value is false. Windows 365 users can use single sign-on to authenticate to Microsoft Entra ID with passwordless options (for example, FIDO keys) to access their Cloud PC. Optional.")] Boolean EnableSingleSignOn;
    [Write, Description("The display name of the operating system image that is used for provisioning. For example, Windows 11 Preview + Microsoft 365 Apps 23H2 23H2.")] String ImageDisplayName;
    [Write, Description("The unique identifier that represents an operating system image that is used for provisioning new Cloud PCs. The format for a gallery type image is: {publisherNameofferNameskuName}. Supported values for each of the parameters are:publisher: Microsoftwindowsdesktop offer: windows-ent-cpc sku: 21h1-ent-cpc-m365, 21h1-ent-cpc-os, 20h2-ent-cpc-m365, 20h2-ent-cpc-os, 20h1-ent-cpc-m365, 20h1-ent-cpc-os, 19h2-ent-cpc-m365, and 19h2-ent-cpc-os")] String ImageId;
    [Write, Description("The type of operating system image (custom or gallery) that is used for provisioning on Cloud PCs. Possible values are: gallery, custom. The default value is gallery."), ValueMap{"gallery","custom"}, Values{"gallery","custom"}] String ImageType;
    [Write, Description("When true, the local admin is enabled for Cloud PCs false indicates that the local admin isn't enabled for Cloud PCs. The default value is false.")] Boolean LocalAdminEnabled;
    [Write, Description("Specifies the type of licenses to be used when provisioning Cloud PCs using this policy. The possible values are dedicated, shared, sharedByUser, sharedByEntraGroup. The shared member is deprecated and will stop returning on April 30, 2027 going forward, use the sharedByUser member. For example, a dedicated service plan can be assigned to only one user and provision only one Cloud PC. The shared and sharedByUser plans require customers to purchase a shared service plan. Each shared license purchased can enable up to three Cloud PCs, with only one user signed in at a time. The sharedByEntraGroup plan also requires the purchase of a shared service plan. Each shared license under this plan can enable one Cloud PC, which is shared for the group according to the assignments of this policy. By default, the license type is dedicated if the provisioningType isn't specified when you create the cloudPcProvisioningPolicy. You can't change this property after the cloudPcProvisioningPolicy is created."), ValueMap{"dedicated","shared","sharedByUser","sharedByEntraGroup","reserve"}, Values{"dedicated","shared","sharedByUser","sharedByEntraGroup","reserve"}] String ProvisioningType;
    [Write, Description("The Role Scope Tag Ids")] String RoleScopeTagIds[];
    [Write, Description("Specifies the type of cloud object the end user can access. Possible values are: cloudPc, cloudApp. cloudPc indicates that the end user can access the entire desktop. cloudApp indicates that the end user can only access apps published under this provisioning policy. The type can't be changed once the provisioning policy is created. If not specified during creation, the default value is cloudPc. When cloudApp is selected, the provisioningType must be sharedByEntraGroup. Cannot be changed after creation."), ValueMap{"cloudPc","cloudApp"}, Values{"cloudPc","cloudApp"}] String UserExperienceType;
    [Write, Description("Indicates a specific Windows setting to configure during the creation of Cloud PCs for this provisioning policy. Supports $select."), EmbeddedInstance("MSFT_MicrosoftGraphcloudPcWindowsSetting")] String WindowsSetting;
    [Write, Description("Specific Windows settings to configure during the creation of Cloud PCs for this provisioning policy. Supports $select. The windowsSettings property is deprecated and will stop returning data on January 31, 2024. Going forward, use the windowsSetting property."), EmbeddedInstance("MSFT_MicrosoftGraphcloudPcWindowsSettings")] String WindowsSettings;
    [Write, Description("The unique identifier for an entity. Read-only.")] String Id;
 
    [Write, Description("Represents the assignment to the Intune policy."), EmbeddedInstance("MSFT_DeviceManagementConfigurationPolicyAssignments")] String Assignments[];
    [Write, Description("Present ensures the policy exists, absent ensures it is removed."), ValueMap{"Present","Absent"}, Values{"Present","Absent"}] string Ensure;
    [Write, Description("Credentials of the Admin"), EmbeddedInstance("MSFT_Credential")] string Credential;
    [Write, Description("Id of the Azure Active Directory application to authenticate with.")] String ApplicationId;
    [Write, Description("Id of the Azure Active Directory tenant used for authentication.")] String TenantId;
    [Write, Description("Secret of the Azure Active Directory tenant used for authentication."), EmbeddedInstance("MSFT_Credential")] String ApplicationSecret;
    [Write, Description("Thumbprint of the Azure Active Directory application's authentication certificate to use for authentication.")] String CertificateThumbprint;
    [Write, Description("Managed ID being used for authentication.")] Boolean ManagedIdentity;
    [Write, Description("Access token used for authentication.")] String AccessTokens[];
};