// Code generated by msgraph-generate.go DO NOT EDIT.

package msgraph

import "context"

// DeviceManagementEnableLegacyPcManagementRequestParameter undocumented
type DeviceManagementEnableLegacyPcManagementRequestParameter struct {
}

// DeviceManagementEnableAndroidDeviceAdministratorEnrollmentRequestParameter undocumented
type DeviceManagementEnableAndroidDeviceAdministratorEnrollmentRequestParameter struct {
}

// DeviceManagementSendCustomNotificationToCompanyPortalRequestParameter undocumented
type DeviceManagementSendCustomNotificationToCompanyPortalRequestParameter struct {
	// NotificationTitle undocumented
	NotificationTitle *string `json:"notificationTitle,omitempty"`
	// NotificationBody undocumented
	NotificationBody *string `json:"notificationBody,omitempty"`
	// GroupsToNotify undocumented
	GroupsToNotify []string `json:"groupsToNotify,omitempty"`
}

//
type DeviceManagementEnableLegacyPcManagementRequestBuilder struct{ BaseRequestBuilder }

// EnableLegacyPcManagement action undocumented
func (b *DeviceManagementRequestBuilder) EnableLegacyPcManagement(reqObj *DeviceManagementEnableLegacyPcManagementRequestParameter) *DeviceManagementEnableLegacyPcManagementRequestBuilder {
	bb := &DeviceManagementEnableLegacyPcManagementRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
	bb.BaseRequestBuilder.baseURL += "/enableLegacyPcManagement"
	bb.BaseRequestBuilder.requestObject = reqObj
	return bb
}

//
type DeviceManagementEnableLegacyPcManagementRequest struct{ BaseRequest }

//
func (b *DeviceManagementEnableLegacyPcManagementRequestBuilder) Request() *DeviceManagementEnableLegacyPcManagementRequest {
	return &DeviceManagementEnableLegacyPcManagementRequest{
		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client, requestObject: b.requestObject},
	}
}

//
func (r *DeviceManagementEnableLegacyPcManagementRequest) Post(ctx context.Context) error {
	return r.JSONRequest(ctx, "POST", "", r.requestObject, nil)
}

//
type DeviceManagementEnableAndroidDeviceAdministratorEnrollmentRequestBuilder struct{ BaseRequestBuilder }

// EnableAndroidDeviceAdministratorEnrollment action undocumented
func (b *DeviceManagementRequestBuilder) EnableAndroidDeviceAdministratorEnrollment(reqObj *DeviceManagementEnableAndroidDeviceAdministratorEnrollmentRequestParameter) *DeviceManagementEnableAndroidDeviceAdministratorEnrollmentRequestBuilder {
	bb := &DeviceManagementEnableAndroidDeviceAdministratorEnrollmentRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
	bb.BaseRequestBuilder.baseURL += "/enableAndroidDeviceAdministratorEnrollment"
	bb.BaseRequestBuilder.requestObject = reqObj
	return bb
}

//
type DeviceManagementEnableAndroidDeviceAdministratorEnrollmentRequest struct{ BaseRequest }

//
func (b *DeviceManagementEnableAndroidDeviceAdministratorEnrollmentRequestBuilder) Request() *DeviceManagementEnableAndroidDeviceAdministratorEnrollmentRequest {
	return &DeviceManagementEnableAndroidDeviceAdministratorEnrollmentRequest{
		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client, requestObject: b.requestObject},
	}
}

//
func (r *DeviceManagementEnableAndroidDeviceAdministratorEnrollmentRequest) Post(ctx context.Context) error {
	return r.JSONRequest(ctx, "POST", "", r.requestObject, nil)
}

//
type DeviceManagementSendCustomNotificationToCompanyPortalRequestBuilder struct{ BaseRequestBuilder }

// SendCustomNotificationToCompanyPortal action undocumented
func (b *DeviceManagementRequestBuilder) SendCustomNotificationToCompanyPortal(reqObj *DeviceManagementSendCustomNotificationToCompanyPortalRequestParameter) *DeviceManagementSendCustomNotificationToCompanyPortalRequestBuilder {
	bb := &DeviceManagementSendCustomNotificationToCompanyPortalRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
	bb.BaseRequestBuilder.baseURL += "/sendCustomNotificationToCompanyPortal"
	bb.BaseRequestBuilder.requestObject = reqObj
	return bb
}

//
type DeviceManagementSendCustomNotificationToCompanyPortalRequest struct{ BaseRequest }

//
func (b *DeviceManagementSendCustomNotificationToCompanyPortalRequestBuilder) Request() *DeviceManagementSendCustomNotificationToCompanyPortalRequest {
	return &DeviceManagementSendCustomNotificationToCompanyPortalRequest{
		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client, requestObject: b.requestObject},
	}
}

//
func (r *DeviceManagementSendCustomNotificationToCompanyPortalRequest) Post(ctx context.Context) error {
	return r.JSONRequest(ctx, "POST", "", r.requestObject, nil)
}