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

package msgraph

import "context"

// ExactMatchSessionCancelRequestParameter undocumented
type ExactMatchSessionCancelRequestParameter struct {
}

// ExactMatchSessionCommitRequestParameter undocumented
type ExactMatchSessionCommitRequestParameter struct {
}

// ExactMatchSessionRenewRequestParameter undocumented
type ExactMatchSessionRenewRequestParameter struct {
}

//
type ExactMatchSessionCancelRequestBuilder struct{ BaseRequestBuilder }

// Cancel action undocumented
func (b *ExactMatchSessionRequestBuilder) Cancel(reqObj *ExactMatchSessionCancelRequestParameter) *ExactMatchSessionCancelRequestBuilder {
	bb := &ExactMatchSessionCancelRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
	bb.BaseRequestBuilder.baseURL += "/cancel"
	bb.BaseRequestBuilder.requestObject = reqObj
	return bb
}

//
type ExactMatchSessionCancelRequest struct{ BaseRequest }

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

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

//
type ExactMatchSessionCommitRequestBuilder struct{ BaseRequestBuilder }

// Commit action undocumented
func (b *ExactMatchSessionRequestBuilder) Commit(reqObj *ExactMatchSessionCommitRequestParameter) *ExactMatchSessionCommitRequestBuilder {
	bb := &ExactMatchSessionCommitRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
	bb.BaseRequestBuilder.baseURL += "/commit"
	bb.BaseRequestBuilder.requestObject = reqObj
	return bb
}

//
type ExactMatchSessionCommitRequest struct{ BaseRequest }

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

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

//
type ExactMatchSessionRenewRequestBuilder struct{ BaseRequestBuilder }

// Renew action undocumented
func (b *ExactMatchSessionRequestBuilder) Renew(reqObj *ExactMatchSessionRenewRequestParameter) *ExactMatchSessionRenewRequestBuilder {
	bb := &ExactMatchSessionRenewRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
	bb.BaseRequestBuilder.baseURL += "/renew"
	bb.BaseRequestBuilder.requestObject = reqObj
	return bb
}

//
type ExactMatchSessionRenewRequest struct{ BaseRequest }

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

//
func (r *ExactMatchSessionRenewRequest) Post(ctx context.Context) (resObj *ExactMatchSession, err error) {
	err = r.JSONRequest(ctx, "POST", "", r.requestObject, &resObj)
	return
}