All Downloads are FREE. Search and download functionalities are using the official Maven repository.

odata.msgraph.client.entity.request.UserRequest Maven / Gradle / Ivy

There is a newer version: 0.2.2
Show newest version
package odata.msgraph.client.entity.request;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonIgnoreType;
import com.github.davidmoten.guavamini.Preconditions;
import com.github.davidmoten.odata.client.ActionRequestNoReturn;
import com.github.davidmoten.odata.client.ActionRequestReturningNonCollection;
import com.github.davidmoten.odata.client.ActionRequestReturningNonCollectionUnwrapped;
import com.github.davidmoten.odata.client.CollectionPageNonEntityRequest;
import com.github.davidmoten.odata.client.ContextPath;
import com.github.davidmoten.odata.client.EntityRequest;
import com.github.davidmoten.odata.client.FunctionRequestReturningNonCollectionUnwrapped;
import com.github.davidmoten.odata.client.NameValue;
import com.github.davidmoten.odata.client.annotation.Action;
import com.github.davidmoten.odata.client.annotation.Function;
import com.github.davidmoten.odata.client.internal.Checks;
import com.github.davidmoten.odata.client.internal.ParameterMap;
import com.github.davidmoten.odata.client.internal.TypedObject;

import java.lang.Boolean;
import java.lang.Double;
import java.lang.Integer;
import java.lang.Object;
import java.lang.String;
import java.time.Duration;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.UUID;

import odata.msgraph.client.complex.AssignedLicense;
import odata.msgraph.client.complex.AttendeeBase;
import odata.msgraph.client.complex.ConvertIdResult;
import odata.msgraph.client.complex.DeviceAndAppManagementData;
import odata.msgraph.client.complex.LocationConstraint;
import odata.msgraph.client.complex.MailTips;
import odata.msgraph.client.complex.ManagedAppDiagnosticStatus;
import odata.msgraph.client.complex.MeetingTimeSuggestionsResult;
import odata.msgraph.client.complex.Reminder;
import odata.msgraph.client.complex.TimeConstraint;
import odata.msgraph.client.entity.ManagedAppPolicy;
import odata.msgraph.client.entity.Message;
import odata.msgraph.client.entity.User;
import odata.msgraph.client.entity.collection.request.AgreementAcceptanceCollectionRequest;
import odata.msgraph.client.entity.collection.request.AppRoleAssignmentCollectionRequest;
import odata.msgraph.client.entity.collection.request.CalendarCollectionRequest;
import odata.msgraph.client.entity.collection.request.CalendarGroupCollectionRequest;
import odata.msgraph.client.entity.collection.request.ChatCollectionRequest;
import odata.msgraph.client.entity.collection.request.ContactCollectionRequest;
import odata.msgraph.client.entity.collection.request.ContactFolderCollectionRequest;
import odata.msgraph.client.entity.collection.request.DeviceManagementTroubleshootingEventCollectionRequest;
import odata.msgraph.client.entity.collection.request.DirectoryObjectCollectionRequest;
import odata.msgraph.client.entity.collection.request.DriveCollectionRequest;
import odata.msgraph.client.entity.collection.request.EventCollectionRequest;
import odata.msgraph.client.entity.collection.request.ExtensionCollectionRequest;
import odata.msgraph.client.entity.collection.request.LicenseDetailsCollectionRequest;
import odata.msgraph.client.entity.collection.request.MailFolderCollectionRequest;
import odata.msgraph.client.entity.collection.request.ManagedAppRegistrationCollectionRequest;
import odata.msgraph.client.entity.collection.request.ManagedDeviceCollectionRequest;
import odata.msgraph.client.entity.collection.request.MessageCollectionRequest;
import odata.msgraph.client.entity.collection.request.OAuth2PermissionGrantCollectionRequest;
import odata.msgraph.client.entity.collection.request.OnlineMeetingCollectionRequest;
import odata.msgraph.client.entity.collection.request.PersonCollectionRequest;
import odata.msgraph.client.entity.collection.request.ProfilePhotoCollectionRequest;
import odata.msgraph.client.entity.collection.request.ScopedRoleMembershipCollectionRequest;
import odata.msgraph.client.entity.collection.request.SiteCollectionRequest;
import odata.msgraph.client.entity.collection.request.TeamCollectionRequest;
import odata.msgraph.client.entity.collection.request.UserActivityCollectionRequest;
import odata.msgraph.client.enums.ExchangeIdFormat;
import odata.msgraph.client.enums.MailTipsType;

@JsonIgnoreType
public class UserRequest extends EntityRequest {

    public UserRequest(ContextPath contextPath, Optional value) {
        super(User.class, contextPath, value, false);
    }

    public AppRoleAssignmentRequest appRoleAssignments(String id) {
        return new AppRoleAssignmentRequest(contextPath.addSegment("appRoleAssignments").addKeys(new NameValue(id, String.class)), Optional.empty());
    }

    public AppRoleAssignmentCollectionRequest appRoleAssignments() {
        return new AppRoleAssignmentCollectionRequest(
                        contextPath.addSegment("appRoleAssignments"), Optional.empty());
    }

    public DirectoryObjectRequest createdObjects(String id) {
        return new DirectoryObjectRequest(contextPath.addSegment("createdObjects").addKeys(new NameValue(id, String.class)), Optional.empty());
    }

    public DirectoryObjectCollectionRequest createdObjects() {
        return new DirectoryObjectCollectionRequest(
                        contextPath.addSegment("createdObjects"), Optional.empty());
    }

    public DirectoryObjectRequest directReports(String id) {
        return new DirectoryObjectRequest(contextPath.addSegment("directReports").addKeys(new NameValue(id, String.class)), Optional.empty());
    }

    public DirectoryObjectCollectionRequest directReports() {
        return new DirectoryObjectCollectionRequest(
                        contextPath.addSegment("directReports"), Optional.empty());
    }

    public LicenseDetailsRequest licenseDetails(String id) {
        return new LicenseDetailsRequest(contextPath.addSegment("licenseDetails").addKeys(new NameValue(id, String.class)), Optional.empty());
    }

    public LicenseDetailsCollectionRequest licenseDetails() {
        return new LicenseDetailsCollectionRequest(
                        contextPath.addSegment("licenseDetails"), Optional.empty());
    }

    public DirectoryObjectRequest manager() {
        return new DirectoryObjectRequest(contextPath.addSegment("manager"), Optional.empty());
    }

    public DirectoryObjectRequest memberOf(String id) {
        return new DirectoryObjectRequest(contextPath.addSegment("memberOf").addKeys(new NameValue(id, String.class)), Optional.empty());
    }

    public DirectoryObjectCollectionRequest memberOf() {
        return new DirectoryObjectCollectionRequest(
                        contextPath.addSegment("memberOf"), Optional.empty());
    }

    public OAuth2PermissionGrantRequest oauth2PermissionGrants(String id) {
        return new OAuth2PermissionGrantRequest(contextPath.addSegment("oauth2PermissionGrants").addKeys(new NameValue(id, String.class)), Optional.empty());
    }

    public OAuth2PermissionGrantCollectionRequest oauth2PermissionGrants() {
        return new OAuth2PermissionGrantCollectionRequest(
                        contextPath.addSegment("oauth2PermissionGrants"), Optional.empty());
    }

    public DirectoryObjectRequest ownedDevices(String id) {
        return new DirectoryObjectRequest(contextPath.addSegment("ownedDevices").addKeys(new NameValue(id, String.class)), Optional.empty());
    }

    public DirectoryObjectCollectionRequest ownedDevices() {
        return new DirectoryObjectCollectionRequest(
                        contextPath.addSegment("ownedDevices"), Optional.empty());
    }

    public DirectoryObjectRequest ownedObjects(String id) {
        return new DirectoryObjectRequest(contextPath.addSegment("ownedObjects").addKeys(new NameValue(id, String.class)), Optional.empty());
    }

    public DirectoryObjectCollectionRequest ownedObjects() {
        return new DirectoryObjectCollectionRequest(
                        contextPath.addSegment("ownedObjects"), Optional.empty());
    }

    public DirectoryObjectRequest registeredDevices(String id) {
        return new DirectoryObjectRequest(contextPath.addSegment("registeredDevices").addKeys(new NameValue(id, String.class)), Optional.empty());
    }

    public DirectoryObjectCollectionRequest registeredDevices() {
        return new DirectoryObjectCollectionRequest(
                        contextPath.addSegment("registeredDevices"), Optional.empty());
    }

    public ScopedRoleMembershipRequest scopedRoleMemberOf(String id) {
        return new ScopedRoleMembershipRequest(contextPath.addSegment("scopedRoleMemberOf").addKeys(new NameValue(id, String.class)), Optional.empty());
    }

    public ScopedRoleMembershipCollectionRequest scopedRoleMemberOf() {
        return new ScopedRoleMembershipCollectionRequest(
                        contextPath.addSegment("scopedRoleMemberOf"), Optional.empty());
    }

    public DirectoryObjectRequest transitiveMemberOf(String id) {
        return new DirectoryObjectRequest(contextPath.addSegment("transitiveMemberOf").addKeys(new NameValue(id, String.class)), Optional.empty());
    }

    public DirectoryObjectCollectionRequest transitiveMemberOf() {
        return new DirectoryObjectCollectionRequest(
                        contextPath.addSegment("transitiveMemberOf"), Optional.empty());
    }

    public CalendarRequest calendar() {
        return new CalendarRequest(contextPath.addSegment("calendar"), Optional.empty());
    }

    public CalendarGroupRequest calendarGroups(String id) {
        return new CalendarGroupRequest(contextPath.addSegment("calendarGroups").addKeys(new NameValue(id, String.class)), Optional.empty());
    }

    public CalendarGroupCollectionRequest calendarGroups() {
        return new CalendarGroupCollectionRequest(
                        contextPath.addSegment("calendarGroups"), Optional.empty());
    }

    public CalendarRequest calendars(String id) {
        return new CalendarRequest(contextPath.addSegment("calendars").addKeys(new NameValue(id, String.class)), Optional.empty());
    }

    public CalendarCollectionRequest calendars() {
        return new CalendarCollectionRequest(
                        contextPath.addSegment("calendars"), Optional.empty());
    }

    public EventRequest calendarView(String id) {
        return new EventRequest(contextPath.addSegment("calendarView").addKeys(new NameValue(id, String.class)), Optional.empty());
    }

    public EventCollectionRequest calendarView() {
        return new EventCollectionRequest(
                        contextPath.addSegment("calendarView"), Optional.empty());
    }

    public ContactFolderRequest contactFolders(String id) {
        return new ContactFolderRequest(contextPath.addSegment("contactFolders").addKeys(new NameValue(id, String.class)), Optional.empty());
    }

    public ContactFolderCollectionRequest contactFolders() {
        return new ContactFolderCollectionRequest(
                        contextPath.addSegment("contactFolders"), Optional.empty());
    }

    public ContactRequest contacts(String id) {
        return new ContactRequest(contextPath.addSegment("contacts").addKeys(new NameValue(id, String.class)), Optional.empty());
    }

    public ContactCollectionRequest contacts() {
        return new ContactCollectionRequest(
                        contextPath.addSegment("contacts"), Optional.empty());
    }

    public EventRequest events(String id) {
        return new EventRequest(contextPath.addSegment("events").addKeys(new NameValue(id, String.class)), Optional.empty());
    }

    public EventCollectionRequest events() {
        return new EventCollectionRequest(
                        contextPath.addSegment("events"), Optional.empty());
    }

    public InferenceClassificationRequest inferenceClassification() {
        return new InferenceClassificationRequest(contextPath.addSegment("inferenceClassification"), Optional.empty());
    }

    public MailFolderRequest mailFolders(String id) {
        return new MailFolderRequest(contextPath.addSegment("mailFolders").addKeys(new NameValue(id, String.class)), Optional.empty());
    }

    public MailFolderCollectionRequest mailFolders() {
        return new MailFolderCollectionRequest(
                        contextPath.addSegment("mailFolders"), Optional.empty());
    }

    public MessageRequest messages(String id) {
        return new MessageRequest(contextPath.addSegment("messages").addKeys(new NameValue(id, String.class)), Optional.empty());
    }

    public MessageCollectionRequest messages() {
        return new MessageCollectionRequest(
                        contextPath.addSegment("messages"), Optional.empty());
    }

    public OutlookUserRequest outlook() {
        return new OutlookUserRequest(contextPath.addSegment("outlook"), Optional.empty());
    }

    public PersonRequest people(String id) {
        return new PersonRequest(contextPath.addSegment("people").addKeys(new NameValue(id, String.class)), Optional.empty());
    }

    public PersonCollectionRequest people() {
        return new PersonCollectionRequest(
                        contextPath.addSegment("people"), Optional.empty());
    }

    public DriveRequest drive() {
        return new DriveRequest(contextPath.addSegment("drive"), Optional.empty());
    }

    public DriveRequest drives(String id) {
        return new DriveRequest(contextPath.addSegment("drives").addKeys(new NameValue(id, String.class)), Optional.empty());
    }

    public DriveCollectionRequest drives() {
        return new DriveCollectionRequest(
                        contextPath.addSegment("drives"), Optional.empty());
    }

    public SiteRequest followedSites(String id) {
        return new SiteRequest(contextPath.addSegment("followedSites").addKeys(new NameValue(id, String.class)), Optional.empty());
    }

    public SiteCollectionRequest followedSites() {
        return new SiteCollectionRequest(
                        contextPath.addSegment("followedSites"), Optional.empty());
    }

    public ExtensionRequest extensions(String id) {
        return new ExtensionRequest(contextPath.addSegment("extensions").addKeys(new NameValue(id, String.class)), Optional.empty());
    }

    public ExtensionCollectionRequest extensions() {
        return new ExtensionCollectionRequest(
                        contextPath.addSegment("extensions"), Optional.empty());
    }

    public AgreementAcceptanceRequest agreementAcceptances(String id) {
        return new AgreementAcceptanceRequest(contextPath.addSegment("agreementAcceptances").addKeys(new NameValue(id, String.class)), Optional.empty());
    }

    public AgreementAcceptanceCollectionRequest agreementAcceptances() {
        return new AgreementAcceptanceCollectionRequest(
                        contextPath.addSegment("agreementAcceptances"), Optional.empty());
    }

    public ManagedDeviceRequest managedDevices(String id) {
        return new ManagedDeviceRequest(contextPath.addSegment("managedDevices").addKeys(new NameValue(id, String.class)), Optional.empty());
    }

    public ManagedDeviceCollectionRequest managedDevices() {
        return new ManagedDeviceCollectionRequest(
                        contextPath.addSegment("managedDevices"), Optional.empty());
    }

    public ManagedAppRegistrationRequest managedAppRegistrations(String id) {
        return new ManagedAppRegistrationRequest(contextPath.addSegment("managedAppRegistrations").addKeys(new NameValue(id, String.class)), Optional.empty());
    }

    public ManagedAppRegistrationCollectionRequest managedAppRegistrations() {
        return new ManagedAppRegistrationCollectionRequest(
                        contextPath.addSegment("managedAppRegistrations"), Optional.empty());
    }

    public DeviceManagementTroubleshootingEventRequest deviceManagementTroubleshootingEvents(String id) {
        return new DeviceManagementTroubleshootingEventRequest(contextPath.addSegment("deviceManagementTroubleshootingEvents").addKeys(new NameValue(id, String.class)), Optional.empty());
    }

    public DeviceManagementTroubleshootingEventCollectionRequest deviceManagementTroubleshootingEvents() {
        return new DeviceManagementTroubleshootingEventCollectionRequest(
                        contextPath.addSegment("deviceManagementTroubleshootingEvents"), Optional.empty());
    }

    public PlannerUserRequest planner() {
        return new PlannerUserRequest(contextPath.addSegment("planner"), Optional.empty());
    }

    public OfficeGraphInsightsRequest insights() {
        return new OfficeGraphInsightsRequest(contextPath.addSegment("insights"), Optional.empty());
    }

    public UserSettingsRequest settings() {
        return new UserSettingsRequest(contextPath.addSegment("settings"), Optional.empty());
    }

    public OnenoteRequest onenote() {
        return new OnenoteRequest(contextPath.addSegment("onenote"), Optional.empty());
    }

    public ProfilePhotoRequest photo() {
        return new ProfilePhotoRequest(contextPath.addSegment("photo"), Optional.empty());
    }

    public ProfilePhotoRequest photos(String id) {
        return new ProfilePhotoRequest(contextPath.addSegment("photos").addKeys(new NameValue(id, String.class)), Optional.empty());
    }

    public ProfilePhotoCollectionRequest photos() {
        return new ProfilePhotoCollectionRequest(
                        contextPath.addSegment("photos"), Optional.empty());
    }

    public UserActivityRequest activities(String id) {
        return new UserActivityRequest(contextPath.addSegment("activities").addKeys(new NameValue(id, String.class)), Optional.empty());
    }

    public UserActivityCollectionRequest activities() {
        return new UserActivityCollectionRequest(
                        contextPath.addSegment("activities"), Optional.empty());
    }

    public OnlineMeetingRequest onlineMeetings(String id) {
        return new OnlineMeetingRequest(contextPath.addSegment("onlineMeetings").addKeys(new NameValue(id, String.class)), Optional.empty());
    }

    public OnlineMeetingCollectionRequest onlineMeetings() {
        return new OnlineMeetingCollectionRequest(
                        contextPath.addSegment("onlineMeetings"), Optional.empty());
    }

    public PresenceRequest presence() {
        return new PresenceRequest(contextPath.addSegment("presence"), Optional.empty());
    }

    public AuthenticationRequest authentication() {
        return new AuthenticationRequest(contextPath.addSegment("authentication"), Optional.empty());
    }

    public ChatRequest chats(String id) {
        return new ChatRequest(contextPath.addSegment("chats").addKeys(new NameValue(id, String.class)), Optional.empty());
    }

    public ChatCollectionRequest chats() {
        return new ChatCollectionRequest(
                        contextPath.addSegment("chats"), Optional.empty());
    }

    public TeamRequest joinedTeams(String id) {
        return new TeamRequest(contextPath.addSegment("joinedTeams").addKeys(new NameValue(id, String.class)), Optional.empty());
    }

    public TeamCollectionRequest joinedTeams() {
        return new TeamCollectionRequest(
                        contextPath.addSegment("joinedTeams"), Optional.empty());
    }

    public UserTeamworkRequest teamwork() {
        return new UserTeamworkRequest(contextPath.addSegment("teamwork"), Optional.empty());
    }

    public TodoRequest todo() {
        return new TodoRequest(contextPath.addSegment("todo"), Optional.empty());
    }

    public EmployeeExperienceUserRequest employeeExperience() {
        return new EmployeeExperienceUserRequest(contextPath.addSegment("employeeExperience"), Optional.empty());
    }

    @Action(name = "assignLicense")
    @JsonIgnore
    public ActionRequestReturningNonCollectionUnwrapped assignLicense(List addLicenses, List removeLicenses) {
        Preconditions.checkNotNull(addLicenses, "addLicenses cannot be null");
        Preconditions.checkNotNull(removeLicenses, "removeLicenses cannot be null");
        Map _parameters = ParameterMap
            .put("addLicenses", "Collection(microsoft.graph.assignedLicense)", addLicenses)
            .put("removeLicenses", "Collection(Edm.Guid)", removeLicenses)
            .build();
        return new ActionRequestReturningNonCollectionUnwrapped(this.contextPath.addActionOrFunctionSegment("microsoft.graph.assignLicense"), User.class, _parameters);
    }

    @Action(name = "changePassword")
    @JsonIgnore
    public ActionRequestNoReturn changePassword(String currentPassword, String newPassword) {
        Map _parameters = ParameterMap
            .put("currentPassword", "Edm.String", Checks.checkIsAscii(currentPassword))
            .put("newPassword", "Edm.String", Checks.checkIsAscii(newPassword))
            .build();
        return new ActionRequestNoReturn(this.contextPath.addActionOrFunctionSegment("microsoft.graph.changePassword"), _parameters);
    }

    @Action(name = "reprocessLicenseAssignment")
    @JsonIgnore
    public ActionRequestReturningNonCollectionUnwrapped reprocessLicenseAssignment() {
        Map _parameters = ParameterMap.empty();
        return new ActionRequestReturningNonCollectionUnwrapped(this.contextPath.addActionOrFunctionSegment("microsoft.graph.reprocessLicenseAssignment"), User.class, _parameters);
    }

    @Action(name = "retryServiceProvisioning")
    @JsonIgnore
    public ActionRequestNoReturn retryServiceProvisioning() {
        Map _parameters = ParameterMap.empty();
        return new ActionRequestNoReturn(this.contextPath.addActionOrFunctionSegment("microsoft.graph.retryServiceProvisioning"), _parameters);
    }

    @Action(name = "revokeSignInSessions")
    @JsonIgnore
    public ActionRequestReturningNonCollection revokeSignInSessions() {
        Map _parameters = ParameterMap.empty();
        return new ActionRequestReturningNonCollection(this.contextPath.addActionOrFunctionSegment("microsoft.graph.revokeSignInSessions"), Boolean.class, _parameters);
    }

    @Action(name = "findMeetingTimes")
    @JsonIgnore
    public ActionRequestReturningNonCollectionUnwrapped findMeetingTimes(List attendees, LocationConstraint locationConstraint, TimeConstraint timeConstraint, Duration meetingDuration, Integer maxCandidates, Boolean isOrganizerOptional, Boolean returnSuggestionReasons, Double minimumAttendeePercentage) {
        Map _parameters = ParameterMap
            .put("attendees", "Collection(microsoft.graph.attendeeBase)", attendees)
            .put("locationConstraint", "microsoft.graph.locationConstraint", locationConstraint)
            .put("timeConstraint", "microsoft.graph.timeConstraint", timeConstraint)
            .put("meetingDuration", "Edm.Duration", meetingDuration)
            .put("maxCandidates", "Edm.Int32", maxCandidates)
            .put("isOrganizerOptional", "Edm.Boolean", isOrganizerOptional)
            .put("returnSuggestionReasons", "Edm.Boolean", returnSuggestionReasons)
            .put("minimumAttendeePercentage", "Edm.Double", minimumAttendeePercentage)
            .build();
        return new ActionRequestReturningNonCollectionUnwrapped(this.contextPath.addActionOrFunctionSegment("microsoft.graph.findMeetingTimes"), MeetingTimeSuggestionsResult.class, _parameters);
    }

    @Action(name = "getMailTips")
    @JsonIgnore
    public CollectionPageNonEntityRequest getMailTips(List emailAddresses, MailTipsType mailTipsOptions) {
        Preconditions.checkNotNull(emailAddresses, "emailAddresses cannot be null");
        Map _parameters = ParameterMap
            .put("EmailAddresses", "Collection(Edm.String)", Checks.checkIsAscii(emailAddresses))
            .put("MailTipsOptions", "microsoft.graph.mailTipsType", mailTipsOptions)
            .build();
        return CollectionPageNonEntityRequest.forAction(this.contextPath.addActionOrFunctionSegment("microsoft.graph.getMailTips"), MailTips.class, _parameters);
    }

    @Action(name = "sendMail")
    @JsonIgnore
    public ActionRequestNoReturn sendMail(Message message, Boolean saveToSentItems) {
        Preconditions.checkNotNull(message, "message cannot be null");
        Map _parameters = ParameterMap
            .put("Message", "microsoft.graph.message", message)
            .put("SaveToSentItems", "Edm.Boolean", saveToSentItems)
            .build();
        return new ActionRequestNoReturn(this.contextPath.addActionOrFunctionSegment("microsoft.graph.sendMail"), _parameters);
    }

    @Action(name = "translateExchangeIds")
    @JsonIgnore
    public CollectionPageNonEntityRequest translateExchangeIds(List inputIds, ExchangeIdFormat targetIdType, ExchangeIdFormat sourceIdType) {
        Preconditions.checkNotNull(inputIds, "inputIds cannot be null");
        Preconditions.checkNotNull(targetIdType, "targetIdType cannot be null");
        Preconditions.checkNotNull(sourceIdType, "sourceIdType cannot be null");
        Map _parameters = ParameterMap
            .put("InputIds", "Collection(Edm.String)", Checks.checkIsAscii(inputIds))
            .put("TargetIdType", "microsoft.graph.exchangeIdFormat", targetIdType)
            .put("SourceIdType", "microsoft.graph.exchangeIdFormat", sourceIdType)
            .build();
        return CollectionPageNonEntityRequest.forAction(this.contextPath.addActionOrFunctionSegment("microsoft.graph.translateExchangeIds"), ConvertIdResult.class, _parameters);
    }

    @Action(name = "removeAllDevicesFromManagement")
    @JsonIgnore
    public ActionRequestNoReturn removeAllDevicesFromManagement() {
        Map _parameters = ParameterMap.empty();
        return new ActionRequestNoReturn(this.contextPath.addActionOrFunctionSegment("microsoft.graph.removeAllDevicesFromManagement"), _parameters);
    }

    @Action(name = "wipeManagedAppRegistrationsByDeviceTag")
    @JsonIgnore
    public ActionRequestNoReturn wipeManagedAppRegistrationsByDeviceTag(String deviceTag) {
        Map _parameters = ParameterMap
            .put("deviceTag", "Edm.String", Checks.checkIsAscii(deviceTag))
            .build();
        return new ActionRequestNoReturn(this.contextPath.addActionOrFunctionSegment("microsoft.graph.wipeManagedAppRegistrationsByDeviceTag"), _parameters);
    }

    @Action(name = "exportPersonalData")
    @JsonIgnore
    public ActionRequestNoReturn exportPersonalData(String storageLocation) {
        Map _parameters = ParameterMap
            .put("storageLocation", "Edm.String", Checks.checkIsAscii(storageLocation))
            .build();
        return new ActionRequestNoReturn(this.contextPath.addActionOrFunctionSegment("microsoft.graph.exportPersonalData"), _parameters);
    }

    @Function(name = "reminderView")
    @JsonIgnore
    public CollectionPageNonEntityRequest reminderView(String startDateTime, String endDateTime) {
        Preconditions.checkNotNull(startDateTime, "startDateTime cannot be null");
        Preconditions.checkNotNull(endDateTime, "endDateTime cannot be null");
        Map _parameters = ParameterMap
            .put("StartDateTime", "Edm.String", Checks.checkIsAscii(startDateTime))
            .put("EndDateTime", "Edm.String", Checks.checkIsAscii(endDateTime))
            .build();
        return CollectionPageNonEntityRequest.forFunction(this.contextPath.addActionOrFunctionSegment("microsoft.graph.reminderView"), Reminder.class, _parameters);
    }

    @Function(name = "exportDeviceAndAppManagementData")
    @JsonIgnore
    public FunctionRequestReturningNonCollectionUnwrapped exportDeviceAndAppManagementData() {
        Map _parameters = ParameterMap.empty();
        return new FunctionRequestReturningNonCollectionUnwrapped(this.contextPath.addActionOrFunctionSegment("microsoft.graph.exportDeviceAndAppManagementData"), DeviceAndAppManagementData.class, _parameters);
    }

    @Function(name = "exportDeviceAndAppManagementData")
    @JsonIgnore
    public FunctionRequestReturningNonCollectionUnwrapped exportDeviceAndAppManagementData_Function(Integer skip, Integer top) {
        Preconditions.checkNotNull(skip, "skip cannot be null");
        Preconditions.checkNotNull(top, "top cannot be null");
        Map _parameters = ParameterMap
            .put("skip", "Edm.Int32", skip)
            .put("top", "Edm.Int32", top)
            .build();
        return new FunctionRequestReturningNonCollectionUnwrapped(this.contextPath.addActionOrFunctionSegment("microsoft.graph.exportDeviceAndAppManagementData"), DeviceAndAppManagementData.class, _parameters);
    }

    @Function(name = "getManagedAppDiagnosticStatuses")
    @JsonIgnore
    public CollectionPageNonEntityRequest getManagedAppDiagnosticStatuses() {
        Map _parameters = ParameterMap.empty();
        return CollectionPageNonEntityRequest.forFunction(this.contextPath.addActionOrFunctionSegment("microsoft.graph.getManagedAppDiagnosticStatuses"), ManagedAppDiagnosticStatus.class, _parameters);
    }

    @Function(name = "getManagedAppPolicies")
    @JsonIgnore
    public CollectionPageNonEntityRequest getManagedAppPolicies() {
        Map _parameters = ParameterMap.empty();
        return CollectionPageNonEntityRequest.forFunction(this.contextPath.addActionOrFunctionSegment("microsoft.graph.getManagedAppPolicies"), ManagedAppPolicy.class, _parameters);
    }

    @Function(name = "getManagedDevicesWithAppFailures")
    @JsonIgnore
    public CollectionPageNonEntityRequest getManagedDevicesWithAppFailures() {
        Map _parameters = ParameterMap.empty();
        return CollectionPageNonEntityRequest.forFunction(this.contextPath.addActionOrFunctionSegment("microsoft.graph.getManagedDevicesWithAppFailures"), String.class, _parameters);
    }

}