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

package msgraph

import "context"

// IOSVppAppRevokeAllLicensesRequestParameter undocumented
type IOSVppAppRevokeAllLicensesRequestParameter struct {
	// NotifyManagedDevices undocumented
	NotifyManagedDevices *bool `json:"notifyManagedDevices,omitempty"`
}

// IOSVppAppRevokeUserLicenseRequestParameter undocumented
type IOSVppAppRevokeUserLicenseRequestParameter struct {
	// UserID undocumented
	UserID *string `json:"userId,omitempty"`
	// NotifyManagedDevices undocumented
	NotifyManagedDevices *bool `json:"notifyManagedDevices,omitempty"`
}

// IOSVppAppRevokeDeviceLicenseRequestParameter undocumented
type IOSVppAppRevokeDeviceLicenseRequestParameter struct {
	// ManagedDeviceID undocumented
	ManagedDeviceID *string `json:"managedDeviceId,omitempty"`
	// NotifyManagedDevices undocumented
	NotifyManagedDevices *bool `json:"notifyManagedDevices,omitempty"`
}

//
type IOSVppAppRevokeAllLicensesRequestBuilder struct{ BaseRequestBuilder }

// RevokeAllLicenses action undocumented
func (b *IOSVppAppRequestBuilder) RevokeAllLicenses(reqObj *IOSVppAppRevokeAllLicensesRequestParameter) *IOSVppAppRevokeAllLicensesRequestBuilder {
	bb := &IOSVppAppRevokeAllLicensesRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
	bb.BaseRequestBuilder.baseURL += "/revokeAllLicenses"
	bb.BaseRequestBuilder.requestObject = reqObj
	return bb
}

//
type IOSVppAppRevokeAllLicensesRequest struct{ BaseRequest }

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

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

//
type IOSVppAppRevokeUserLicenseRequestBuilder struct{ BaseRequestBuilder }

// RevokeUserLicense action undocumented
func (b *IOSVppAppRequestBuilder) RevokeUserLicense(reqObj *IOSVppAppRevokeUserLicenseRequestParameter) *IOSVppAppRevokeUserLicenseRequestBuilder {
	bb := &IOSVppAppRevokeUserLicenseRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
	bb.BaseRequestBuilder.baseURL += "/revokeUserLicense"
	bb.BaseRequestBuilder.requestObject = reqObj
	return bb
}

//
type IOSVppAppRevokeUserLicenseRequest struct{ BaseRequest }

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

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

//
type IOSVppAppRevokeDeviceLicenseRequestBuilder struct{ BaseRequestBuilder }

// RevokeDeviceLicense action undocumented
func (b *IOSVppAppRequestBuilder) RevokeDeviceLicense(reqObj *IOSVppAppRevokeDeviceLicenseRequestParameter) *IOSVppAppRevokeDeviceLicenseRequestBuilder {
	bb := &IOSVppAppRevokeDeviceLicenseRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
	bb.BaseRequestBuilder.baseURL += "/revokeDeviceLicense"
	bb.BaseRequestBuilder.requestObject = reqObj
	return bb
}

//
type IOSVppAppRevokeDeviceLicenseRequest struct{ BaseRequest }

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

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