DSCResources/MSFT_TeamsMeetingPolicy/MSFT_TeamsMeetingPolicy.schema.mof

[ClassVersion("1.0.0.0"), FriendlyName("TeamsMeetingPolicy")]
class MSFT_TeamsMeetingPolicy : OMI_BaseResource
{
    [Key, Description("Identity of the Teams Meeting Policy.")] String Identity;
    [Write, Description("Description of the Teams Meeting Policy.")] String Description;
    [Write, Description("Determines whether a user can schedule channel meetings. Set this to TRUE to allow a user to schedule channel meetings. Set this to FALSE to prohibit the user from scheduling channel meetings. Note this only restricts from scheduling and not from joining a meeting scheduled by another user.")] Boolean AllowChannelMeetingScheduling;
    [Write, Description("Determines whether a user can start ad-hoc meetings. Set this to TRUE to allow a user to start ad-hoc meetings. Set this to FALSE to prohibit the user from starting ad-hoc meetings.")] Boolean AllowMeetNow;
    [Write, Description("Determines whether a user can start private ad-hoc meetings. Set this to TRUE to allow a user to start private ad-hoc meetings. Set this to FALSE to prohibit the user from starting private ad-hoc meetings.")] Boolean AllowPrivateMeetNow;
    [Write, Description("Determines whether or not Chat will be enabled or disabled for meetings."), ValueMap{"Disabled", "Enabled"}, Values{"Disabled", "Enabled"}] String MeetingChatEnabledType;
    [Write, Description("Determines whether a user should have the option to view live captions or not in a meeting."), ValueMap{"Disabled", "DisabledUserOverride"}, Values{"Disabled", "DisabledUserOverride"}] String LiveCaptionsEnabledType;
    [Write, Description("Determines whether audio is enabled in a user's meetings or calls. Set this to TRUE to allow the user to share their audioo. Set this to FALSE to prohibit the user from sharing their audio.")] Boolean AllowIPAudio;
    [Write, Description("Determines whether video is enabled in a user's meetings or calls. Set this to TRUE to allow the user to share their video. Set this to FALSE to prohibit the user from sharing their video.")] Boolean AllowIPVideo;
    [Write, Description("Determines whether or not a meeting Organizer can track join and leave times for all users within their meetings as well as download a roster."), ValueMap{"Enabled","Disabled"}, Values{"Enabled","Disabled"}] String AllowEngagementReport;
    [Write, Description("Determines whether or not a user can use audio in a meeting that supports it."), ValueMap{"EnabledOutgoingIncoming","Disabled"}, Values{"EnabledOutgoingIncoming","Disabled"}] String IPAudioMode;
    [Write, Description("Determines whether or not a user can use video in a meeting that supports it. Can only be enabled if IPAudioMode is enabled"), ValueMap{"EnabledOutgoingIncoming","Disabled"}, Values{"EnabledOutgoingIncoming","Disabled"}] String IPVideoMode;
    [Write, Description("CURRENTLY DISABLED: Determines whether anonymous users can use the Call Me At feature for meeting audio.")] Boolean AllowAnonymousUsersToDialOut;
    [Write, Description("Determines whether anonymous users can initiate a meeting. Set this to TRUE to allow anonymous users to initiate a meeting. Set this to FALSE to prohibit them from initiating a meeting.")] Boolean AllowAnonymousUsersToStartMeeting;
    [Write, Description("Determines whether a user can schedule private meetings. Set this to TRUE to allow a user to schedule private meetings. Set this to FALSE to prohibit the user from scheduling private meetings. Note this only restricts from scheduling and not from joining a meeting scheduled by another user.")] Boolean AllowPrivateMeetingScheduling;
    [Write, Description("Determines what types of participants will automatically be added to meetings organized by this user. Set this to EveryoneInCompany if you would like meetings to place every external user in the lobby but allow all users in the company to join the meeting immediately. Set this to Everyone if you'd like to admit anonymous users by default. Set this to EveryoneInSameAndFederatedCompany if you would like meetings to allow federated users to join like your company's users, but place all other external users in a lobby. Set this to InvitedUsers if you would like meetings to allow only the invited users."), ValueMap{"EveryoneInCompany", "Everyone", "EveryoneInSameAndFederatedCompany", "OrganizerOnly", "InvitedUsers", "EveryoneInCompanyExcludingGuests"}, Values{"EveryoneInCompany", "Everyone", "EveryoneInSameAndFederatedCompany", "OrganizerOnly", "InvitedUsers", "EveryoneInCompanyExcludingGuests"}] String AutoAdmittedUsers;
    [Write, Description("Determines whether PSTN users should be automatically admitted to the meetings. Set this to TRUE to allow the PSTN user to be able bypass the meetinglobby. Set this to FALSE to prohibit the PSTN user from bypassing the meetinglobby.")] Boolean AllowPSTNUsersToBypassLobby;
    [Write, Description("Determines whether cloud recording is allowed in a user's meetings. Set this to TRUE to allow the user to be able to record meetings. Set this to FALSE to prohibit the user from recording meetings.")] Boolean AllowCloudRecording;
    [Write, Description("Determines whether cloud recording can be stored out of region for go-local tenants where recording is not yet enabled.")] Boolean AllowRecordingStorageOutsideRegion;
    [Write, Description("Determines if users can change the default value of the Who can present? setting in Meeting options in the Teams client. This policy setting affects all meetings, including Meet Now meetings."), ValueMap{"OrganizerOnlyUserOverride","EveryoneInCompanyUserOverride","EveryoneUserOverride"}, Values{"OrganizerOnlyUserOverride","EveryoneInCompanyUserOverride","EveryoneUserOverride"}] String DesignatedPresenterRoleMode;
    [Write, Description("Determines whether a user can schedule Teams Meetings in Outlook desktop client. Set this to TRUE to allow the user to be able to schedule Teams meetings in Outlook client. Set this to FALSE to prohibit a user from scheduling Teams meeting in Outlook client.")] Boolean AllowOutlookAddIn;
    [Write, Description("Determines whether Powerpoint sharing is allowed in a user's meetings. Set this to TRUE to allow. Set this to FALSE to prohibit.")] Boolean AllowPowerPointSharing;
    [Write, Description("Determines whether participants can request or give control of screen sharing during meetings scheduled by this user. Set this to TRUE to allow the user to be able to give or request control. Set this to FALSE to prohibit the user from giving, requesting control in a meeting.")] Boolean AllowParticipantGiveRequestControl;
    [Write, Description("Determines whether external participants can request or give control of screen sharing during meetings scheduled by this user. Set this to TRUE to allow the user to be able to give or request control. Set this to FALSE to prohibit an external user from giving or requesting control in a meeting.")] Boolean AllowExternalParticipantGiveRequestControl;
    [Write, Description("Determines whether users are allowed to take shared notes. Set this to TRUE to allow. Set this to FALSE to prohibit.")] Boolean AllowSharedNotes;
    [Write, Description("Determines whether whiteboard is allowed in a user's meetings. Set this to TRUE to allow. Set this to FALSE to prohibit.")] Boolean AllowWhiteboard;
    [Write, Description("Determines whether real-time and/or post-meeting captions and transcriptions are allowed in a user's meetings. Set this to TRUE to allow. Set this to FALSE to prohibit.")] Boolean AllowTranscription;
    [Write, Description("Determines the media bit rate for audio/video/app sharing transmissions in meetings.")] UInt32 MediaBitRateKb;
    [Write, Description("Determines the mode in which a user can share a screen in calls or meetings. Set this to SingleApplication to allow the user to share an application at a given point in time. Set this to EntireScreen to allow the user to share anything on their screens. Set this to Disabled to prohibit the user from sharing their screens."), ValueMap{"SingleApplication", "EntireScreen", "Disabled"}, Values{"SingleApplication", "EntireScreen", "Disabled"}] String ScreenSharingMode;
    [Write, Description("Determines which background filters are available to meeting attendees."), ValueMap{"NoFilters", "BlurOnly", "BlurAndDefaultBackgrounds", "AllFilters"}, Values{"NoFilters", "BlurOnly", "BlurAndDefaultBackgrounds", "AllFilters"}] String VideoFiltersMode;
    [Write, Description("Determines whether organizers can override lobby settings for both VOIP and PSTN. Set this to TRUE to allow. Set this to FALSE to prohibit.")] Boolean AllowOrganizersToOverrideLobbySettings;
    [Write, Description("Determines which Outlook Add-in the user will get as preferred Meeting provider(TeamsAndSfb or Teams)."), ValueMap{"TeamsAndSfb", "Teams"}, Values{"TeamsAndSfb", "Teams"}] String PreferredMeetingProviderForIslandsMode;
    [Write, Description("Determines whether a user is able to use NDI (Network Device Interface) in meetings - both for output and input streams.")] Boolean AllowNDIStreaming;
    [Write, Description("Determines what types of external meetings users can join. Enabled is able join all external meetings."), ValueMap{"Enabled", "FederatedOnly", "Disabled"}, Values{"Enabled", "FederatedOnly", "Disabled"}] String AllowUserToJoinExternalMeeting;
    [Write, Description("Determines whether or not users will be able to enroll/capture their Biometric data: Face & Voice."), ValueMap{"Disabled", "Enabled"}, Values{"Disabled", "Enabled"}] String EnrollUserOverride;
    [Write, Description("Determines whether or not biometric data will be used to distinguish and or attribute in the transcript."), ValueMap{"Off", "Distinguish", "Attribute"}, Values{"Off", "Distinguish", "Attribute"}] String RoomAttributeUserOverride;
    [Write, Description("Determines whether or not meetings created by users with this policy are able to utilize the meeting overflow capability."), ValueMap{"Disabled", "Enabled"}, Values{"Disabled", "Enabled"}] String StreamingAttendeeMode;
    [Write, Description("Determines whether or not meetings created by users with this policy are able to utilize the Breakout Rooms feature.") ] Boolean AllowBreakoutRooms;
    [Write, Description("Determines whether or not meetings created by users with this policy are able to utilize the Camera Far-End PTZ Mode."), ValueMap{"Disabled", "Enabled"}, Values{"Disabled", "Enabled"}] String TeamsCameraFarEndPTZMode;
    [Write, Description("Determines whether or not meetings created by users with this policy are able to utilize the Meeting Reactions feature.")] Boolean AllowMeetingReactions;
    [Write, Description("Specifies who can attend and register for webinars."), ValueMap{"Everyone", "EveryoneInCompany"}, Values{"Everyone", "EveryoneInCompany"}] String WhoCanRegister;
    [Write, Description("N/A")] Boolean AllowAnnotations;
    [Write, Description("Determines whether anonymous users can join the meetings that impacted users organize. Set this to TRUE to allow anonymous users to join a meeting. Set this to FALSE to prohibit them from joining a meeting.")] Boolean AllowAnonymousUsersToJoinMeeting;
    [Write, Description("N/A")] Boolean AllowMeetingCoach;
    [Write, Description("Controls if a user can create a webinar meeting. The default value is True.")] Boolean AllowMeetingRegistration;
    [Write, Description("Determines whether network configuration setting lookups can be made by users who are not Enterprise Voice enabled. It is used to enable Network Roaming policies.")] Boolean AllowNetworkConfigurationSettingsLookup;
    [Write, Description("N/A")] Boolean AllowWatermarkForCameraVideo;
    [Write, Description("N/A")] Boolean AllowWatermarkForScreenSharing;
    [Write, Description("Specifies the number of days before meeting recordings will expire and move to the recycle bin. Value can be from 1 to 99,999 days. NOTE: You may opt to set Meeting Recordings to never expire by entering the value -1.")] UInt32 NewMeetingRecordingExpirationDays;
    [Write, Description("Determines whether a user can add a URL for captions from a Communications Access Real-Time Translation (CART) captioner for providing real-time captions in meetings."), ValueMap{"EnabledUserOverride","DisabledUserOverride", "Disabled"}, Values{"EnabledUserOverride","DisabledUserOverride", "Disabled"}] String AllowCartCaptionsScheduling;
    [Write, Description("N/A")] String AllowDocumentCollaboration;
    [Write, Description("N/A")] String AllowedStreamingMediaInput;
    [Write, Description("A user can join a Teams meeting anonymously using a Teams client or using a custom application built using Azure Communication Services. When anonymous meeting join is enabled, both types of clients may be used by default. This optional parameter can be used to block one of the client types that can be used. The allowed values are ACS (to block the use of Azure Communication Services clients) or Teams (to block the use of Teams clients). Both can also be specified, separated by a comma, but this is equivalent to disabling anonymous join completely.")] String BlockedAnonymousJoinClientTypes;
    [Write, Description("Determines how channel meeting recordings are saved, permissioned, and who can download them.")] String ChannelRecordingDownload;
    [Write, Description("N/A")] String ExplicitRecordingConsent;
    [Write, Description("N/A")] String ForceStreamingAttendeeMode;
    [Write, Description("N/A")] String InfoShownInReportMode;
    [Write, Description("Determines how meeting organizers can configure a meeting for language interpretation, select attendees of the meeting to become interpreters that other attendees can select and listen to the real-time translation they provide.")] String LiveInterpretationEnabledType;
    [Write, Description("Determines whether you provide support for your users to stream their Teams meetings to large audiences through Real-Time Messaging Protocol (RTMP)."), ValueMap{"Disabled","Enabled"}, Values{"Disabled","Enabled"}] String LiveStreamingMode;
    [Write, Description("Controls how the join information in meeting invitations is displayed by enforcing a common language or enabling up to two languages to be displayed. Note: All Teams supported languages can be specified using language codes.")] String MeetingInviteLanguages;
    [Write, Description("N/A")] String QnAEngagementMode;
    [Write, Description("N/A")] String RoomPeopleNameUserOverride;
    [Write, Description("Possible values: EnabledUserOverride or Disabled."), ValueMap{"Disabled","EnabledUserOverride"}, Values{"Disabled","EnabledUserOverride"}] String SpeakerAttributionMode;
    [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 Teams Global 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;
};