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 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 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."), ValueMap{"EveryoneInCompany", "Everyone", "EveryoneInSameAndFederatedCompany"}, Values{"EveryoneInCompany", "Everyone", "EveryoneInSameAndFederatedCompany"}] 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 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("Present ensures the policy exists, absent ensures it is removed."), ValueMap{"Present","Absent"}, Values{"Present","Absent"}] String Ensure;
    [Required, Description("Credentials of the Teams Global Admin."), EmbeddedInstance("MSFT_Credential")] String GlobalAdminAccount;
};