DscResources/MSFT_TeamsCallQueue/MSFT_TeamsCallQueue.schema.mof

[ClassVersion("1.0.0.2"), FriendlyName("TeamsCallQueue")]
class MSFT_TeamsCallQueue : OMI_BaseResource
{
    [Key, Description("The Name parameter specifies a unique name for the Call Queue.")] String Name;
    [Write, Description("The Name parameter specifies a unique name for the Call Queue.")] SInt32 AgentAlertTime;
    [Write, Description("The AllowOptOut parameter indicates whether or not agents can opt in or opt out from taking calls from a Call Queue.")] Boolean AllowOptOut;
    [Write, Description("The DistributionLists parameter lets you add all the members of the distribution lists to the Call Queue. This is a list of distribution list GUIDs. A service wide configurable maximum number of DLs per Call Queue are allowed. Only the first N (service wide configurable) agents from all distribution lists combined are considered for accepting the call. Nested DLs are supported. O365 Groups can also be used to add members to the Call Queue.")] String DistributionLists[];
    [Write, Description("The UseDefaultMusicOnHold parameter indicates that this Call Queue uses the default music on hold. This parameter cannot be specified together with MusicOnHoldAudioFileId.")] Boolean UseDefaultMusicOnHold;
    [Write, Description("The WelcomeMusicAudioFileId parameter represents the audio file to play when callers are connected with the Call Queue. This is the unique identifier of the audio file.")] String WelcomeMusicAudioFileId;
    [Write, Description("The WelcomeTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt that is played to callers when they connect to the Call Queue.")] String WelcomeTextToSpeechPrompt;
    [Write, Description("The MusicOnHoldFileContent parameter represents music to play when callers are placed on hold. This is the unique identifier of the audio file. This parameter is required if the UseDefaultMusicOnHold parameter is not specified.")] String MusicOnHoldAudioFileId;
    [Write, Description("The OverflowAction parameter designates the action to take if the overflow threshold is reached. The OverflowAction property must be set to one of the following values: DisconnectWithBusy, Forward, Voicemail, and SharedVoicemail. The default value is DisconnectWithBusy."), ValueMap{"DisconnectWithBusy","Forward","Voicemail","SharedVoicemail"},Values{"DisconnectWithBusy","Forward","Voicemail","SharedVoicemail"}] String OverflowAction;
    [Write, Description("The OverflowActionTarget parameter represents the target of the overflow action. If the OverFlowAction is set to Forward, this parameter must be set to a Guid or a telephone number with a mandatory 'tel:' prefix. If the OverflowAction is set to SharedVoicemail, this parameter must be set to a group ID (Microsoft 365, Distribution list, or Mail-enabled security). Otherwise, this parameter is optional.")] String OverflowActionTarget;
    [Write, Description("The OverflowThreshold parameter defines the number of calls that can be in the queue at any one time before the overflow action is triggered. The OverflowThreshold can be any integer value between 0 and 200, inclusive. A value of 0 causes calls not to reach agents and the overflow action to be taken immediately.")] SInt32 OverflowThreshold;
    [Write, Description("The TimeoutAction parameter defines the action to take if the timeout threshold is reached. The TimeoutAction property must be set to one of the following values: Disconnect, Forward, Voicemail, and SharedVoicemail. The default value is Disconnect."), ValueMap{"Disconnect","Forward","Voicemail","SharedVoicemail"}, Values{"Disconnect","Forward","Voicemail","SharedVoicemail"}] String TimeoutAction;
    [Write, Description("The TimeoutActionTarget represents the target of the timeout action. If the TimeoutAction is set to Forward, this parameter must be set to a Guid or a telephone number with a mandatory 'tel:' prefix. If the TimeoutAction is set to SharedVoicemail, this parameter must be set to an Office 365 Group ID. Otherwise, this field is optional.")] String TimeoutActionTarget;
    [Write, Description("The TimeoutThreshold parameter defines the time (in seconds) that a call can be in the queue before that call times out. At that point, the system will take the action specified by the TimeoutAction parameter. The TimeoutThreshold can be any integer value between 0 and 2700 seconds (inclusive), and is rounded to the nearest 15th interval. For example, if set to 47 seconds, then it is rounded down to 45. If set to 0, welcome music is played, and then the timeout action will be taken.")] SInt32 TimeoutThreshold;
    [Write, Description("The RoutingMethod defines how agents will be called in a Call Queue. If the routing method is set to Serial, then agents will be called one at a time. If the routing method is set to Attendant, then agents will be called in parallel. If routing method is set to RoundRobin, the agents will be called using Round Robin strategy so that all agents share the call-load equally. If routing method is set to LongestIdle, the agents will be called based on their idle time, i.e., the agent that has been idle for the longest period will be called."), ValueMap{"Attendant","Serial","RoundRobin","LongestIdle"}, Values{"Attendant","Serial","RoundRobin","LongestIdle"}] String RoutingMethod;
    [Write, Description("The PresenceBasedRouting parameter indicates whether or not presence based routing will be applied while call being routed to Call Queue agents. When set to False, calls will be routed to agents who have opted in to receive calls, regardless of their presence state. When set to True, opted-in agents will receive calls only when their presence state is Available.")] Boolean PresenceBasedRouting;
    [Write, Description("The ConferenceMode parameter indicates whether or not Conference mode will be applied on calls for this Call queue. Conference mode significantly reduces the amount of time it takes for a caller to be connected to an agent, after the agent accepts the call.")] Boolean ConferenceMode;
    [Write, Description("The Users parameter lets you add agents to the Call Queue. This parameter expects a list of user unique identifiers (GUID).")] String Users[];
    [Write, Description("The LanguageId parameter indicates the language that is used to play shared voicemail prompts. This parameter becomes a required parameter If either OverflowAction or TimeoutAction is set to SharedVoicemail. You can query the supported languages using the Get-CsAutoAttendantSupportedLanguage cmdlet.")] String LanguageId;
    [Write, Description("This is a list of UserPrincipalNames of authorized users who should not appear on the list of supervisors for the agents who are members of this queue.")] String HideAuthorizedUsers[];
    [Write, Description("The OboResourceAccountIds parameter lets you add resource account with phone number to the Call Queue. The agents in the Call Queue will be able to make outbound calls using the phone number on the resource accounts. This is a list of resource account GUIDs. Only Call Queue managed by a Teams Channel will be able to use this feature.")] String OboResourceAccountIds[];
    [Write, Description("The OverflowDisconnectTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being disconnected due to overflow.")] String OverflowDisconnectTextToSpeechPrompt;
    [Write, Description("The OverflowDisconnectAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being disconnected due to overflow.")] String OverflowDisconnectAudioFilePrompt;
    [Write, Description("The OverflowRedirectPersonTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to a person in the organization due to overflow.")] String OverflowRedirectPersonTextToSpeechPrompt;
    [Write, Description("The OverflowRedirectPersonAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to a person in the organization due to overflow.")] String OverflowRedirectPersonAudioFilePrompt;
    [Write, Description("The OverflowRedirectVoiceAppsTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to a voice application due to overflow.")] String OverflowRedirectVoiceAppTextToSpeechPrompt;
    [Write, Description("The OverflowRedirectVoiceAppAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to a voice application due to overflow.")] String OverflowRedirectVoiceAppAudioFilePrompt;
    [Write, Description("The OverflowRedirectPhoneNumberTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to an external PSTN phone number due to overflow.")] String OverflowRedirectPhoneNumberTextToSpeechPrompt;
    [Write, Description("The OverflowRedirectPhoneNumberAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to an external PSTN phone number due to overflow.")] String OverflowRedirectPhoneNumberAudioFilePrompt;
    [Write, Description("The OverflowRedirectVoicemailTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to a person's voicemail due to overflow.")] String OverflowRedirectVoicemailTextToSpeechPrompt;
    [Write, Description("The OverflowRedirectVoiceMailAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to a person's voicemail due to overflow.")] String OverflowRedirectVoicemailAudioFilePrompt;
    [Write, Description("The OverflowRedirectVoicemailTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to a person's voicemail due to overflow.")] String OverflowSharedVoicemailTextToSpeechPrompt;
    [Write, Description("The OverflowSharedVoicemailAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when transferred to shared voicemail on overflow. This parameter becomes a required parameter when OverflowAction is SharedVoicemail and OverflowSharedVoicemailTextToSpeechPrompt is null.")] String OverflowSharedVoicemailAudioFilePrompt;
    [Write, Description("The EnableOverflowSharedVoicemailTranscription parameter is used to turn on transcription for voicemails left by a caller on overflow. This parameter is only applicable when OverflowAction is set to SharedVoicemail.")] Boolean EnableOverflowSharedVoicemailTranscription;
    [Write, Description("The EnableOverflowSharedVoicemailSystemPromptSuppression parameter is used to turn off the default voicemail system prompts. This parameter is only applicable when OverflowAction is set to SharedVoicemail.")] Boolean EnableOverflowSharedVoicemailSystemPromptSuppression;
    [Write, Description("If the OverflowAction is set to Forward, and the OverflowActionTarget is set to an Auto attendant or Call queue resource account GUID, this parameter indicates the priority assigned to the call. Supported values are from 1 (Very High) to 5 (Very Low)."), ValueMap{"1","2","3","4","5"}, Values{"1","2","3","4","5"}] SInt32 OverflowActionCallPriority;
    [Write, Description("The TextAnnouncementForCR parameter indicates the custom Text-to-Speech (TTS) prompt which is played to callers when compliance recording for call queues is enabled.")] String TextAnnouncementForCR;
    [Write, Description("The TextAnnouncementForCRFailure parameter indicates the custom Text-to-Speech (TTS) prompt which is played to callers if the compliance recording for call queue bot is unable to join or drops from the call.")] String TextAnnouncementForCRFailure;
    [Write, Description("The CustomAudioFileAnnouncementForCR parameter indicates the unique identifier for the audio file prompt played to callers when compliance recording for call queues is enabled.")] String CustomAudioFileAnnouncementForCR;
    [Write, Description("The CustomAudioFileAnnouncementForCRFailure parameter indicates the unique identifier for the audio file prompt played to callers if the compliance recording bot is unable to join or drops from the call.")] String CustomAudioFileAnnouncementForCRFailure;
    [Write, Description("The ComplianceRecordingForCallQueueTemplateId parameter indicates a list of up to two Compliance Recording for Call Queue templates to apply to the call queue.")] String ComplianceRecordingForCallQueueTemplateId[];
    [Write, Description("The SharedCallQueueHistoryTemplateId parameter indicates the Shared Call Queue History template to apply to the call queue.")] String SharedCallQueueHistoryTemplateId;
    [Write, Description("The AutoRecordingTemplateId parameter indicates the auto recording template to apply to the call queue.")] String AutoRecordingTemplateId;
    [Write, Description("The TimeoutDisconnectTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being disconnected due to timeout.")] String TimeoutDisconnectTextToSpeechPrompt;
    [Write, Description("The TimeoutDisconnectAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being disconnected due to timeout.")] String TimeoutDisconnectAudioFilePrompt;
    [Write, Description("The TimeoutRedirectPersonTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to a person in the organization due to timeout.")] String TimeoutRedirectPersonTextToSpeechPrompt;
    [Write, Description("The TimeoutRedirectPersonAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to a person in the organization due to timeout.")] String TimeoutRedirectPersonAudioFilePrompt;
    [Write, Description("The TimeoutRedirectVoiceAppsTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to a voice application due to timeout.")] String TimeoutRedirectVoiceAppTextToSpeechPrompt;
    [Write, Description("The TimeoutRedirectVoiceAppAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to a voice application due to timeout.")] String TimeoutRedirectVoiceAppAudioFilePrompt;
    [Write, Description("The TimeoutRedirectPhoneNumberTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to an external PSTN phone number due to timeout.")] String TimeoutRedirectPhoneNumberTextToSpeechPrompt;
    [Write, Description("The TimeoutRedirectPhoneNumberAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to an external PSTN phone number due to timeout.")] String TimeoutRedirectPhoneNumberAudioFilePrompt;
    [Write, Description("The TimeoutRedirectVoicemailTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to a person's voicemail due to timeout.")] String TimeoutRedirectVoicemailTextToSpeechPrompt;
    [Write, Description("The TimeoutRedirectVoiceMailAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to a person's voicemail due to timeout.")] String TimeoutRedirectVoicemailAudioFilePrompt;
    [Write, Description("The TimeoutSharedVoicemailTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when transferred to shared voicemail on timeout. This parameter becomes a required parameter when TimeoutAction is SharedVoicemail and TimeoutSharedVoicemailAudioFilePrompt is null.")] String TimeoutSharedVoicemailTextToSpeechPrompt;
    [Write, Description("The TimeoutSharedVoicemailAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when transferred to shared voicemail on timeout. This parameter becomes a required parameter when TimeoutAction is SharedVoicemail and TimeoutSharedVoicemailTextToSpeechPrompt is null.")] String TimeoutSharedVoicemailAudioFilePrompt;
    [Write, Description("The EnableTimeoutSharedVoicemailTranscription parameter is used to turn on transcription for voicemails left by a caller on timeout. This parameter is only applicable when TimeoutAction is set to SharedVoicemail.")] Boolean EnableTimeoutSharedVoicemailTranscription;
    [Write, Description("The EnableTimeoutSharedVoicemailSystemPromptSuppression parameter is used to turn off the default voicemail system prompts. This parameter is only applicable when TimeoutAction is set to SharedVoicemail.")] Boolean EnableTimeoutSharedVoicemailSystemPromptSuppression;
    [Write, Description("If the TimeoutAction is set to Forward, and the TimeoutActionTarget is set to an Auto attendant or Call queue resource account GUID, this parameter indicates the priority assigned to the call. Supported values are from 1 (Very High) to 5 (Very Low)."), ValueMap{"1","2","3","4","5"}, Values{"1","2","3","4","5"}] SInt32 TimeoutActionCallPriority;
    [Write, Description("The NoAgentAction parameter defines the action to take if no agents are available. Supported values are Queue, Disconnect, Forward, Voicemail, and SharedVoicemail."), ValueMap{"Queue","Disconnect","Forward","Voicemail","SharedVoicemail"}, Values{"Queue","Disconnect","Forward","Voicemail","SharedVoicemail"}] String NoAgentAction;
    [Write, Description("The NoAgentActionTarget parameter represents the target of the no agent action. If NoAgentAction is Forward, this parameter must be a GUID or telephone number with the tel: prefix. If NoAgentAction is SharedVoicemail, this parameter must be a group ID.")] String NoAgentActionTarget;
    [Write, Description("The NoAgentSharedVoicemailTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt played when callers are transferred to shared voicemail because no agents are available.")] String NoAgentSharedVoicemailTextToSpeechPrompt;
    [Write, Description("The NoAgentSharedVoicemailAudioFilePrompt parameter indicates the unique identifier for the audio file prompt played when callers are transferred to shared voicemail because no agents are available.")] String NoAgentSharedVoicemailAudioFilePrompt;
    [Write, Description("The EnableNoAgentSharedVoicemailTranscription parameter turns on transcription for voicemails left when no agents are available. This parameter is only applicable when NoAgentAction is SharedVoicemail.")] Boolean EnableNoAgentSharedVoicemailTranscription;
    [Write, Description("The EnableNoAgentSharedVoicemailSystemPromptSuppression parameter turns off the default voicemail system prompts when no agents are available. This parameter is only applicable when NoAgentAction is SharedVoicemail.")] Boolean EnableNoAgentSharedVoicemailSystemPromptSuppression;
    [Write, Description("The NoAgentApplyTo parameter defines whether NoAgentAction applies to all calls in queue or only new calls when the no agents condition occurs."), ValueMap{"AllCalls","NewCalls"}, Values{"AllCalls","NewCalls"}] String NoAgentApplyTo;
    [Write, Description("The NoAgentDisconnectAudioFilePrompt parameter indicates the unique identifier for the audio file prompt played when callers are disconnected because no agents are available.")] String NoAgentDisconnectAudioFilePrompt;
    [Write, Description("The NoAgentDisconnectTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt played when callers are disconnected because no agents are available.")] String NoAgentDisconnectTextToSpeechPrompt;
    [Write, Description("The NoAgentRedirectPersonAudioFilePrompt parameter indicates the unique identifier for the audio file prompt played when callers are redirected to a person because no agents are available.")] String NoAgentRedirectPersonAudioFilePrompt;
    [Write, Description("The NoAgentRedirectPersonTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt played when callers are redirected to a person because no agents are available.")] String NoAgentRedirectPersonTextToSpeechPrompt;
    [Write, Description("The NoAgentRedirectVoiceAppAudioFilePrompt parameter indicates the unique identifier for the audio file prompt played when callers are redirected to a voice application because no agents are available.")] String NoAgentRedirectVoiceAppAudioFilePrompt;
    [Write, Description("The NoAgentRedirectVoiceAppTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt played when callers are redirected to a voice application because no agents are available.")] String NoAgentRedirectVoiceAppTextToSpeechPrompt;
    [Write, Description("The NoAgentRedirectPhoneNumberAudioFilePrompt parameter indicates the unique identifier for the audio file prompt played when callers are redirected to an external PSTN phone number because no agents are available.")] String NoAgentRedirectPhoneNumberAudioFilePrompt;
    [Write, Description("The NoAgentRedirectPhoneNumberTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt played when callers are redirected to an external PSTN phone number because no agents are available.")] String NoAgentRedirectPhoneNumberTextToSpeechPrompt;
    [Write, Description("The NoAgentRedirectVoicemailAudioFilePrompt parameter indicates the unique identifier for the audio file prompt played when callers are redirected to a person's voicemail because no agents are available.")] String NoAgentRedirectVoicemailAudioFilePrompt;
    [Write, Description("The NoAgentRedirectVoicemailTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt played when callers are redirected to a person's voicemail because no agents are available.")] String NoAgentRedirectVoicemailTextToSpeechPrompt;
    [Write, Description("If NoAgentAction is set to Forward, and NoAgentActionTarget is set to an Auto attendant or Call queue resource account GUID, this parameter indicates the priority assigned to the call. Supported values are from 1 (Very High) to 5 (Very Low)."), ValueMap{"1","2","3","4","5"}, Values{"1","2","3","4","5"}] SInt32 NoAgentActionCallPriority;
    [Write, Description("The IsCallbackEnabled parameter indicates whether callback is enabled for the call queue.")] Boolean IsCallbackEnabled;
    [Write, Description("The CallbackRequestDtmf parameter indicates the DTMF key callers press to select callback."), ValueMap{"Tone0","Tone1","Tone2","Tone3","Tone4","Tone5","Tone6","Tone7","Tone8","Tone9","ToneStar","TonePound"}, Values{"Tone0","Tone1","Tone2","Tone3","Tone4","Tone5","Tone6","Tone7","Tone8","Tone9","ToneStar","TonePound"}] String CallbackRequestDtmf;
    [Write, Description("The WaitTimeBeforeOfferingCallbackInSecond parameter indicates the number of seconds a call must wait before becoming eligible for callback.")] SInt32 WaitTimeBeforeOfferingCallbackInSecond;
    [Write, Description("The NumberOfCallsInQueueBeforeOfferingCallback parameter indicates the number of calls in queue before a call becomes eligible for callback.")] SInt32 NumberOfCallsInQueueBeforeOfferingCallback;
    [Write, Description("The CallToAgentRatioThresholdBeforeOfferingCallback parameter indicates the call-to-agent ratio threshold before a call becomes eligible for callback. The minimum value is 1.")] SInt32 CallToAgentRatioThresholdBeforeOfferingCallback;
    [Write, Description("The CallbackOfferAudioFilePromptResourceId parameter indicates the unique identifier for the audio file prompt played to calls that are eligible for callback.")] String CallbackOfferAudioFilePromptResourceId;
    [Write, Description("The CallbackOfferTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt played to calls that are eligible for callback.")] String CallbackOfferTextToSpeechPrompt;
    [Write, Description("The CallbackEmailNotificationTarget parameter indicates the group ID that receives notifications when a callback times out or cannot be completed.")] String CallbackEmailNotificationTarget;
    [Write, Description("The ServiceLevelThresholdResponseTimeInSecond parameter indicates the target number of seconds calls should be answered in for service level calculation.")] SInt32 ServiceLevelThresholdResponseTimeInSecond;
    [Write, Description("The ShouldOverwriteCallableChannelProperty parameter indicates whether reassignment of a Teams channel to a new call queue should be forced.")] Boolean ShouldOverwriteCallableChannelProperty;
    [Write, Description("Id of the Team containing the Scheduling Group to connect a call queue to.")] String ShiftsTeamId;
    [Write, Description("Id of the Scheduling Group to connect a call queue to.")] String ShiftsSchedulingGroupId;
    [Write, Description("Id of the channel to connect a call queue to.")] String ChannelId;
    [Write, Description("Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx). This is the GUID of one of the owners of the team the channels belongs to.")] String ChannelUserObjectId;
    [Write, Description("This is a list of GUIDs for users who are authorized to make changes to this call queue. The users must also have a TeamsVoiceApplications policy assigned. The GUID should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).")] String AuthorizedUsers[];
    [Write, Description("Present ensures the Team Message Policy exists, absent ensures it is removed"), ValueMap{"Present","Absent"}, Values{"Present","Absent"}] String Ensure;
    [Write, Description("Credentials of the Teams Service Admin"), EmbeddedInstance("MSFT_Credential")] string Credential;
    [Write, Description("Id of the Azure Active Directory application to authenticate with.")] String ApplicationId;
    [Write, Description("Name of the Azure Active Directory tenant used for authentication. Format contoso.onmicrosoft.com")] String TenantId;
    [Write, Description("Thumbprint of the Azure Active Directory application's authentication certificate to use for authentication.")] String CertificateThumbprint;
    [Write, Description("Username can be made up to anything but password will be used for CertificatePassword"), EmbeddedInstance("MSFT_Credential")] String CertificatePassword;
    [Write, Description("Path to certificate used in service principal usually a PFX file.")] String CertificatePath;
    [Write, Description("Managed ID being used for authentication.")] Boolean ManagedIdentity;
    [Write, Description("Access token used for authentication.")] String AccessTokens[];
};