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 use the Annotation feature")] Boolean AllowAnnotations;
    [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 join the meetings that impacted users organize.")] Boolean AllowAnonymousUsersToJoinMeeting;
    [Write, Description("Determines whether anonymous users can initiate a meeting.")] Boolean AllowAnonymousUsersToStartMeeting;
    [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 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("Determines whether a user can schedule channel meetings. Note this only restricts from scheduling and not from joining a meeting scheduled by another user.")] Boolean AllowChannelMeetingScheduling;
    [Write, Description("Determines whether cloud recording is allowed in a user's meetings.")] Boolean AllowCloudRecording;
    [Write, Description("This setting will allow admins to choose which users will be able to use the Document Collaboration feature."), ValueMap{"Enabled", "Disabled"}, Values{"Enabled", "Disabled"}] String AllowDocumentCollaboration;
    [Write, Description("Enables the use of RTMP-In in Teams meetings.")] String AllowedStreamingMediaInput;
    [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","ForceEnabled"}, Values{"Enabled","Disabled","ForceEnabled"}] String AllowEngagementReport;
    [Write, Description("This field controls whether a user is allowed to chat in external meetings with users from non trusted organizations.") ] Boolean AllowExternalNonTrustedMeetingChat;
    [Write, Description("Determines whether external participants can request or give control of screen sharing during meetings scheduled by this user.")] Boolean AllowExternalParticipantGiveRequestControl;
    [Write, Description("Determines whether audio is enabled in a user's meetings or calls.")] Boolean AllowIPAudio;
    [Write, Description("Determines whether video is enabled in a user's meetings or calls.")] Boolean AllowIPVideo;
    [Write, Description("This setting will allow admins to allow users the option of turning on Meeting Coach during meetings, which provides users with private personalized feedback on their communication and inclusivity.")] Boolean AllowMeetingCoach;
    [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("Controls if a user can create a webinar meeting. The default value is True.")] Boolean AllowMeetingRegistration;
    [Write, Description("Determines whether a user can start ad-hoc meetings.")] Boolean AllowMeetNow;
    [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 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("Determines whether organizers can override lobby settings for both VOIP and PSTN.")] Boolean AllowOrganizersToOverrideLobbySettings;
    [Write, Description("Determines whether a user can schedule Teams Meetings in Outlook desktop client.")] Boolean AllowOutlookAddIn;
    [Write, Description("Determines whether participants can request or give control of screen sharing during meetings scheduled by this user.")] Boolean AllowParticipantGiveRequestControl;
    [Write, Description("Determines whether Powerpoint sharing is allowed in a user's meetings.")] Boolean AllowPowerPointSharing;
    [Write, Description("Determines whether a user can schedule private meetings. Note this only restricts from scheduling and not from joining a meeting scheduled by another user.")] Boolean AllowPrivateMeetingScheduling;
    [Write, Description("Determines whether a user can start private ad-hoc meetings.")] Boolean AllowPrivateMeetNow;
    [Write, Description("Determines whether PSTN users should be automatically admitted to the meetings.")] Boolean AllowPSTNUsersToBypassLobby;
    [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 whether users are allowed to take shared notes.")] Boolean AllowSharedNotes;
    [Write, Description("Determines whether real-time and/or post-meeting captions and transcriptions are allowed in a user's meetings.")] Boolean AllowTranscription;
    [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("This setting allows scheduling meetings with watermarking for video enabled.")] Boolean AllowWatermarkForCameraVideo;
    [Write, Description("This setting allows scheduling meetings with watermarking for screen sharing enabled.")] Boolean AllowWatermarkForScreenSharing;
    [Write, Description("Determines whether whiteboard is allowed in a user's meetings.")] Boolean AllowWhiteboard;
    [Write, Description("This setting will allow admins to enable or disable Masked Attendee mode in Meetings. Masked Attendee meetings will hide attendees' identifying information (e.g., name, contact information, profile photo)."), ValueMap{"Enabled", "Disabled", "DisabledUserOverride"}, Values{"Enabled", "Disabled", "DisabledUserOverride"}] String AttendeeIdentityMasking;
    [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("This setting gives admins the ability to auto-start Copilot."), ValueMap{"Enabled", "Disabled"}, Values{"Enabled", "Disabled"}] String AutomaticallyStartCopilot;
    [Write, Description("This setting will enable Tenant Admins to turn on/off auto recording feature."), ValueMap{"Enabled", "Disabled"}, Values{"Enabled", "Disabled"}] String AutoRecording;
    [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."), ValueMap{"Allow", "Block"}, Values{"Allow", "Block"}] String ChannelRecordingDownload;
    [Write, Description("Allows external connections of thirdparty apps to Microsoft Teams."), ValueMap{"Enabled", "Disabled"}, Values{"Enabled", "Disabled"}] String ConnectToMeetingControls;
    [Write, Description("This policy allows admins to determine whether the user can share content in meetings organized by external organizations. The user should have a Teams Premium license to be protected under this policy."), ValueMap{"EnabledForAnyone", "EnabledForTrustedOrgs", "Disabled"}, Values{"EnabledForAnyone", "EnabledForTrustedOrgs", "Disabled"}] String ContentSharingInExternalMeetings;
    [Write, Description("This setting allows the admin to choose whether Copilot will be enabled with a persisted transcript or a non-persisted transcript."), ValueMap{"Enabled", "EnabledWithTranscript"}, Values{"Enabled", "EnabledWithTranscript"}] String Copilot;
    [Write, Description("This parameter enables a setting that controls a meeting option which allows users to disable right-click or Ctrl+C to copy, Copy link, Forward message, and Share to Outlook for meeting chat messages.")] Boolean CopyRestriction;
    [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("Allows the admin to enable sensitive content detection during screen share.")] Boolean DetectSensitiveContentDuringScreenSharing;
    [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("This setting will enable Tenant Admins to turn on/off Explicit Recording Consent feature."), ValueMap{"Disabled", "Enabled"}, Values{"Disabled", "Enabled"}] String ExplicitRecordingConsent;
    [Write, Description("Determines whether the user is allowed to join external meetings."), ValueMap{"EnabledForAnyone", "EnabledForTrustedOrgs", "Disabled"}, Values{"EnabledForAnyone", "EnabledForTrustedOrgs", "Disabled"}] String ExternalMeetingJoin;
    [Write, Description("This policy controls what kind of information get shown for the user's attendance in attendance report/dashboard.")] String InfoShownInReportMode;
    [Write, Description("Determines whether audio can be turned on in meetings and group calls."), ValueMap{"EnabledOutgoingIncoming","Disabled"}, Values{"EnabledOutgoingIncoming","Disabled"}] String IPAudioMode;
    [Write, Description("Determines whether video can be turned on in meetings and group calls. Can only be enabled if IPAudioMode is enabled"), ValueMap{"EnabledOutgoingIncoming","Disabled"}, Values{"EnabledOutgoingIncoming","Disabled"}] String IPVideoMode;
    [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 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("Determines the media bit rate for audio/video/app sharing transmissions in meetings.")] UInt32 MediaBitRateKb;
    [Write, Description("Determines whether or not Chat will be enabled, enabled except anonymous or disabled for meetings."), ValueMap{"Disabled", "Enabled", "EnabledExceptAnonymous"}, Values{"Disabled", "Enabled", "EnabledExceptAnonymous"}] String MeetingChatEnabledType;
    [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("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.")] SInt32 NewMeetingRecordingExpirationDays;
    [Write, Description("This setting will enable Tenant Admins to turn on/off participant renaming feature."), ValueMap{"Disabled", "Enabled"}, Values{"Disabled", "Enabled"}] String ParticipantNameChange;
    [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("This setting enables Microsoft 365 Tenant Admins to Enable or Disable the Questions and Answers experience (Q+A)."), ValueMap{"Disabled", "Enabled"}, Values{"Disabled", "Enabled"}] String QnAEngagementMode;
    [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 if people recognition option is enabled for Teams Rooms. Enabling requires the RoomAttributeUserOverride to be Attribute for allowing individual voice and face profiles to be used for recognition in meetings."), ValueMap{"Off", "On"}, Values{"Off", "On"}] String RoomPeopleNameUserOverride;
    [Write, Description("Determines the mode in which a user can share a screen in calls or meetings."), ValueMap{"SingleApplication", "EntireScreen", "Disabled"}, Values{"SingleApplication", "EntireScreen", "Disabled"}] String ScreenSharingMode;
    [Write, Description("Determines if users are identified in transcriptions and if they can change the value of the Automatically identify me in meeting captions and transcripts setting."), ValueMap{"Disabled","DisabledUserOverride","EnabledUserOverride","Enabled"}, Values{"Disabled","DisabledUserOverride","EnabledUserOverride","Enabled"}] String SpeakerAttributionMode;
    [Write, Description("Controls if Teams uses overflow capability once a meeting reaches its capacity (1,000 users with full functionality)."), 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 Camera Far-End PTZ Mode."), ValueMap{"Disabled", "AutoAcceptInTenant", "AutoAcceptAll"}, Values{"Disabled", "AutoAcceptInTenant", "AutoAcceptAll"}] String TeamsCameraFarEndPTZMode;
    [Write, Description("Determines the background effects that a user can configure in the Teams client. "), ValueMap{"NoFilters", "BlurOnly", "BlurAndDefaultBackgrounds", "AllFilters"}, Values{"NoFilters", "BlurOnly", "BlurAndDefaultBackgrounds", "AllFilters"}] String VideoFiltersMode;
    [Write, Description("Determines whether you provide support for your users to enable voice isolation in Teams meeting calls."), ValueMap{"Disabled", "Enabled"}, Values{"Disabled", "Enabled"}] String VoiceIsolation;
    [Write, Description("Specifies who can attend and register for webinars."), ValueMap{"Everyone", "EveryoneInCompany"}, Values{"Everyone", "EveryoneInCompany"}] String WhoCanRegister;
    [Write, Description("DEPRECATED")] String ForceStreamingAttendeeMode;
    [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;
    [Write, Description("Managed ID being used for authentication.")] Boolean ManagedIdentity;
    [Write, Description("Access token used for authentication.")] String AccessTokens[];
};