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

com.huaweicloud.sdk.meeting.v1.MeetingMeta Maven / Gradle / Ivy

package com.huaweicloud.sdk.meeting.v1;

import com.huaweicloud.sdk.core.TypeCasts;
import com.huaweicloud.sdk.core.http.FieldExistence;
import com.huaweicloud.sdk.core.http.HttpMethod;
import com.huaweicloud.sdk.core.http.HttpRequestDef;
import com.huaweicloud.sdk.core.http.LocationType;
import com.huaweicloud.sdk.meeting.v1.model.*;

import java.util.List;
import java.util.Map;

@SuppressWarnings("unchecked")
public class MeetingMeta {

    public static final HttpRequestDef addCorp = genForaddCorp();

    private static HttpRequestDef genForaddCorp() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, AddCorpRequest.class, AddCorpResponse.class)
                .withName("AddCorp")
                .withUri("/v1/usg/dcs/sp/corp")
                .withContentType("application/json");

        // requests
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(AddCorpRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(AddCorpRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(AddCorpDTO.class),
            f -> f.withMarshaller(AddCorpRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef addCorpAdmin = genForaddCorpAdmin();

    private static HttpRequestDef genForaddCorpAdmin() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, AddCorpAdminRequest.class, AddCorpAdminResponse.class)
                .withName("AddCorpAdmin")
                .withUri("/v1/usg/dcs/corp/admin")
                .withContentType("application/json");

        // requests
        builder.withRequestField("accountType",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(AddCorpAdminRequest::getAccountType, (req, v) -> {
                req.setAccountType(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(AddCorpAdminRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(AddCorpAdminRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(CorpAdminDTO.class),
            f -> f.withMarshaller(AddCorpAdminRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef addDepartment =
        genForaddDepartment();

    private static HttpRequestDef genForaddDepartment() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, AddDepartmentRequest.class, AddDepartmentResponse.class)
                .withName("AddDepartment")
                .withUri("/v1/usg/dcs/corp/dept")
                .withContentType("application/json");

        // requests
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(AddDepartmentRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(AddDepartmentRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(DeptDTO.class),
            f -> f.withMarshaller(AddDepartmentRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef addDevice = genForaddDevice();

    private static HttpRequestDef genForaddDevice() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, AddDeviceRequest.class, AddDeviceResponse.class)
                .withName("AddDevice")
                .withUri("/v1/usg/dcs/corp/device")
                .withContentType("application/json");

        // requests
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(AddDeviceRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(AddDeviceRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(AddDeviceDTO.class),
            f -> f.withMarshaller(AddDeviceRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef addMaterial = genForaddMaterial();

    private static HttpRequestDef genForaddMaterial() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, AddMaterialRequest.class, AddMaterialResponse.class)
                .withName("AddMaterial")
                .withUri("/v1/usg/sss/materials")
                .withContentType("multipart/form-data");

        // requests
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(AddMaterialRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(AddMaterialRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(AddMaterialRequestBody.class),
            f -> f.withMarshaller(AddMaterialRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef addProgram = genForaddProgram();

    private static HttpRequestDef genForaddProgram() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, AddProgramRequest.class, AddProgramResponse.class)
                .withName("AddProgram")
                .withUri("/v1/usg/sss/programs")
                .withContentType("application/json");

        // requests
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(AddProgramRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(AddProgramRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(CreateProgramRequestDTO.class),
            f -> f.withMarshaller(AddProgramRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef addPublication =
        genForaddPublication();

    private static HttpRequestDef genForaddPublication() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, AddPublicationRequest.class, AddPublicationResponse.class)
                .withName("AddPublication")
                .withUri("/v1/usg/sss/publications")
                .withContentType("application/json");

        // requests
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(AddPublicationRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(AddPublicationRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(CreatePublicationRequestDTO.class),
            f -> f.withMarshaller(AddPublicationRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef addResource = genForaddResource();

    private static HttpRequestDef genForaddResource() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, AddResourceRequest.class, AddResourceResponse.class)
                .withName("AddResource")
                .withUri("/v1/usg/dcs/sp/corp/{corp_id}/resource")
                .withContentType("application/json");

        // requests
        builder.withRequestField("corp_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(AddResourceRequest::getCorpId, (req, v) -> {
                req.setCorpId(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(AddResourceRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(AddResourceRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.>withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(List.class),
            f -> f.withMarshaller(AddResourceRequest::getBody, (req, v) -> {
                req.setBody(v);
            }).withInnerContainerType(ResourceDTO.class));

        // response

        return builder.build();
    }

    public static final HttpRequestDef addToPersonalSpace =
        genForaddToPersonalSpace();

    private static HttpRequestDef genForaddToPersonalSpace() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, AddToPersonalSpaceRequest.class, AddToPersonalSpaceResponse.class)
                .withName("AddToPersonalSpace")
                .withUri("/v1/usg/sss/meeting-files/save-to-personal-space")
                .withContentType("application/json");

        // requests
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(AddToPersonalSpaceRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(AddToPersonalSpaceRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.>withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(Map.class),
            f -> f.withMarshaller(AddToPersonalSpaceRequest::getBody, (req, v) -> {
                req.setBody(v);
            }).withInnerContainerType(String.class));

        // response

        return builder.build();
    }

    public static final HttpRequestDef addUser = genForaddUser();

    private static HttpRequestDef genForaddUser() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, AddUserRequest.class, AddUserResponse.class)
                .withName("AddUser")
                .withUri("/v1/usg/dcs/corp/member")
                .withContentType("application/json");

        // requests
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(AddUserRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(AddUserRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(AddUserDTO.class),
            f -> f.withMarshaller(AddUserRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef allowGuestUnmute =
        genForallowGuestUnmute();

    private static HttpRequestDef genForallowGuestUnmute() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, AllowGuestUnmuteRequest.class, AllowGuestUnmuteResponse.class)
                .withName("AllowGuestUnmute")
                .withUri("/v1/mmc/control/conferences/mute/guestUnMute")
                .withContentType("application/json");

        // requests
        builder.withRequestField("conferenceID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(AllowGuestUnmuteRequest::getConferenceID, (req, v) -> {
                req.setConferenceID(v);
            }));
        builder.withRequestField("X-Conference-Authorization",
            LocationType.Header,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(AllowGuestUnmuteRequest::getXConferenceAuthorization, (req, v) -> {
                req.setXConferenceAuthorization(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(RestAllowUnMuteReqBody.class),
            f -> f.withMarshaller(AllowGuestUnmuteRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef associateVmr = genForassociateVmr();

    private static HttpRequestDef genForassociateVmr() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, AssociateVmrRequest.class, AssociateVmrResponse.class)
                .withName("AssociateVmr")
                .withUri("/v1/usg/dcs/corp/vmr/assign-to-member/{account}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("account",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(AssociateVmrRequest::getAccount, (req, v) -> {
                req.setAccount(v);
            }));
        builder.withRequestField("accountType",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(AssociateVmrRequest::getAccountType, (req, v) -> {
                req.setAccountType(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(AssociateVmrRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(AssociateVmrRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.>withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(List.class),
            f -> f.withMarshaller(AssociateVmrRequest::getBody, (req, v) -> {
                req.setBody(v);
            }).withInnerContainerType(String.class));

        // response

        return builder.build();
    }

    public static final HttpRequestDef batchDeleteCorpAdmins =
        genForbatchDeleteCorpAdmins();

    private static HttpRequestDef genForbatchDeleteCorpAdmins() {
        // basic
        HttpRequestDef.Builder builder = HttpRequestDef
            .builder(HttpMethod.POST, BatchDeleteCorpAdminsRequest.class, BatchDeleteCorpAdminsResponse.class)
            .withName("BatchDeleteCorpAdmins")
            .withUri("/v1/usg/dcs/corp/admin/delete")
            .withContentType("application/json");

        // requests
        builder.withRequestField("accountType",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(BatchDeleteCorpAdminsRequest::getAccountType, (req, v) -> {
                req.setAccountType(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(BatchDeleteCorpAdminsRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(BatchDeleteCorpAdminsRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.>withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(List.class),
            f -> f.withMarshaller(BatchDeleteCorpAdminsRequest::getBody, (req, v) -> {
                req.setBody(v);
            }).withInnerContainerType(String.class));

        // response

        return builder.build();
    }

    public static final HttpRequestDef batchDeleteDevices =
        genForbatchDeleteDevices();

    private static HttpRequestDef genForbatchDeleteDevices() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, BatchDeleteDevicesRequest.class, BatchDeleteDevicesResponse.class)
                .withName("BatchDeleteDevices")
                .withUri("/v1/usg/dcs/corp/device/delete")
                .withContentType("application/json");

        // requests
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(BatchDeleteDevicesRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(BatchDeleteDevicesRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.>withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(List.class),
            f -> f.withMarshaller(BatchDeleteDevicesRequest::getBody, (req, v) -> {
                req.setBody(v);
            }).withInnerContainerType(String.class));

        // response

        return builder.build();
    }

    public static final HttpRequestDef batchDeleteMaterials =
        genForbatchDeleteMaterials();

    private static HttpRequestDef genForbatchDeleteMaterials() {
        // basic
        HttpRequestDef.Builder builder = HttpRequestDef
            .builder(HttpMethod.POST, BatchDeleteMaterialsRequest.class, BatchDeleteMaterialsResponse.class)
            .withName("BatchDeleteMaterials")
            .withUri("/v1/usg/sss/materials/batch-delete")
            .withContentType("application/json");

        // requests
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(BatchDeleteMaterialsRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(BatchDeleteMaterialsRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.>withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(List.class),
            f -> f.withMarshaller(BatchDeleteMaterialsRequest::getBody, (req, v) -> {
                req.setBody(v);
            }).withInnerContainerType(String.class));

        // response

        return builder.build();
    }

    public static final HttpRequestDef batchDeletePrograms =
        genForbatchDeletePrograms();

    private static HttpRequestDef genForbatchDeletePrograms() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, BatchDeleteProgramsRequest.class, BatchDeleteProgramsResponse.class)
                .withName("BatchDeletePrograms")
                .withUri("/v1/usg/sss/programs/batch-delete")
                .withContentType("application/json");

        // requests
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(BatchDeleteProgramsRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(BatchDeleteProgramsRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.>withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(List.class),
            f -> f.withMarshaller(BatchDeleteProgramsRequest::getBody, (req, v) -> {
                req.setBody(v);
            }).withInnerContainerType(String.class));

        // response

        return builder.build();
    }

    public static final HttpRequestDef batchDeletePublications =
        genForbatchDeletePublications();

    private static HttpRequestDef genForbatchDeletePublications() {
        // basic
        HttpRequestDef.Builder builder = HttpRequestDef
            .builder(HttpMethod.POST, BatchDeletePublicationsRequest.class, BatchDeletePublicationsResponse.class)
            .withName("BatchDeletePublications")
            .withUri("/v1/usg/sss/publications/batch-delete")
            .withContentType("application/json");

        // requests
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(BatchDeletePublicationsRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(BatchDeletePublicationsRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.>withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(List.class),
            f -> f.withMarshaller(BatchDeletePublicationsRequest::getBody, (req, v) -> {
                req.setBody(v);
            }).withInnerContainerType(String.class));

        // response

        return builder.build();
    }

    public static final HttpRequestDef batchDeleteUsers =
        genForbatchDeleteUsers();

    private static HttpRequestDef genForbatchDeleteUsers() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, BatchDeleteUsersRequest.class, BatchDeleteUsersResponse.class)
                .withName("BatchDeleteUsers")
                .withUri("/v1/usg/dcs/corp/member/delete")
                .withContentType("application/json");

        // requests
        builder.withRequestField("accountType",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(BatchDeleteUsersRequest::getAccountType, (req, v) -> {
                req.setAccountType(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(BatchDeleteUsersRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(BatchDeleteUsersRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.>withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(List.class),
            f -> f.withMarshaller(BatchDeleteUsersRequest::getBody, (req, v) -> {
                req.setBody(v);
            }).withInnerContainerType(String.class));

        // response

        return builder.build();
    }

    public static final HttpRequestDef batchUpdateDevicesStatus =
        genForbatchUpdateDevicesStatus();

    private static HttpRequestDef genForbatchUpdateDevicesStatus() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef
                .builder(HttpMethod.PUT, BatchUpdateDevicesStatusRequest.class, BatchUpdateDevicesStatusResponse.class)
                .withName("BatchUpdateDevicesStatus")
                .withUri("/v1/usg/dcs/corp/device/status/{value}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("value",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(BatchUpdateDevicesStatusRequest.ValueEnum.class),
            f -> f.withMarshaller(BatchUpdateDevicesStatusRequest::getValue, (req, v) -> {
                req.setValue(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(BatchUpdateDevicesStatusRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(BatchUpdateDevicesStatusRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.>withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(List.class),
            f -> f.withMarshaller(BatchUpdateDevicesStatusRequest::getBody, (req, v) -> {
                req.setBody(v);
            }).withInnerContainerType(String.class));

        // response

        return builder.build();
    }

    public static final HttpRequestDef batchUpdateUserStatus =
        genForbatchUpdateUserStatus();

    private static HttpRequestDef genForbatchUpdateUserStatus() {
        // basic
        HttpRequestDef.Builder builder = HttpRequestDef
            .builder(HttpMethod.PUT, BatchUpdateUserStatusRequest.class, BatchUpdateUserStatusResponse.class)
            .withName("BatchUpdateUserStatus")
            .withUri("/v1/usg/dcs/corp/member/status/{value}")
            .withContentType("application/json");

        // requests
        builder.withRequestField("value",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(BatchUpdateUserStatusRequest.ValueEnum.class),
            f -> f.withMarshaller(BatchUpdateUserStatusRequest::getValue, (req, v) -> {
                req.setValue(v);
            }));
        builder.withRequestField("accountType",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(BatchUpdateUserStatusRequest::getAccountType, (req, v) -> {
                req.setAccountType(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(BatchUpdateUserStatusRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(BatchUpdateUserStatusRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.>withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(List.class),
            f -> f.withMarshaller(BatchUpdateUserStatusRequest::getBody, (req, v) -> {
                req.setBody(v);
            }).withInnerContainerType(String.class));

        // response

        return builder.build();
    }

    public static final HttpRequestDef broadcastParticipant =
        genForbroadcastParticipant();

    private static HttpRequestDef genForbroadcastParticipant() {
        // basic
        HttpRequestDef.Builder builder = HttpRequestDef
            .builder(HttpMethod.PUT, BroadcastParticipantRequest.class, BroadcastParticipantResponse.class)
            .withName("BroadcastParticipant")
            .withUri("/v1/mmc/control/conferences/participants/broadcast")
            .withContentType("application/json");

        // requests
        builder.withRequestField("conferenceID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(BroadcastParticipantRequest::getConferenceID, (req, v) -> {
                req.setConferenceID(v);
            }));
        builder.withRequestField("participantID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(BroadcastParticipantRequest::getParticipantID, (req, v) -> {
                req.setParticipantID(v);
            }));
        builder.withRequestField("X-Conference-Authorization",
            LocationType.Header,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(BroadcastParticipantRequest::getXConferenceAuthorization, (req, v) -> {
                req.setXConferenceAuthorization(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef cancelMeeting =
        genForcancelMeeting();

    private static HttpRequestDef genForcancelMeeting() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.DELETE, CancelMeetingRequest.class, CancelMeetingResponse.class)
                .withName("CancelMeeting")
                .withUri("/v1/mmc/management/conferences")
                .withContentType("application/json");

        // requests
        builder.withRequestField("conferenceID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(CancelMeetingRequest::getConferenceID, (req, v) -> {
                req.setConferenceID(v);
            }));
        builder.withRequestField("userUUID",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(CancelMeetingRequest::getUserUUID, (req, v) -> {
                req.setUserUUID(v);
            }));
        builder.withRequestField("type",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(CancelMeetingRequest::getType, (req, v) -> {
                req.setType(v);
            }));
        builder.withRequestField("X-Authorization-Type",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(CancelMeetingRequest::getXAuthorizationType, (req, v) -> {
                req.setXAuthorizationType(v);
            }));
        builder.withRequestField("X-Site-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(CancelMeetingRequest::getXSiteId, (req, v) -> {
                req.setXSiteId(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef cancelRecurringMeeting =
        genForcancelRecurringMeeting();

    private static HttpRequestDef genForcancelRecurringMeeting() {
        // basic
        HttpRequestDef.Builder builder = HttpRequestDef
            .builder(HttpMethod.DELETE, CancelRecurringMeetingRequest.class, CancelRecurringMeetingResponse.class)
            .withName("CancelRecurringMeeting")
            .withUri("/v1/mmc/management/cycleconferences")
            .withContentType("application/json");

        // requests
        builder.withRequestField("userUUID",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(CancelRecurringMeetingRequest::getUserUUID, (req, v) -> {
                req.setUserUUID(v);
            }));
        builder.withRequestField("conferenceID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(CancelRecurringMeetingRequest::getConferenceID, (req, v) -> {
                req.setConferenceID(v);
            }));
        builder.withRequestField("type",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(CancelRecurringMeetingRequest::getType, (req, v) -> {
                req.setType(v);
            }));
        builder.withRequestField("X-Authorization-Type",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(CancelRecurringMeetingRequest::getXAuthorizationType, (req, v) -> {
                req.setXAuthorizationType(v);
            }));
        builder.withRequestField("X-Site-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(CancelRecurringMeetingRequest::getXSiteId, (req, v) -> {
                req.setXSiteId(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef cancelRecurringSubMeeting =
        genForcancelRecurringSubMeeting();

    private static HttpRequestDef genForcancelRecurringSubMeeting() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef
                .builder(HttpMethod.DELETE,
                    CancelRecurringSubMeetingRequest.class,
                    CancelRecurringSubMeetingResponse.class)
                .withName("CancelRecurringSubMeeting")
                .withUri("/v1/mmc/management/conferences/cyclesubconf")
                .withContentType("application/json");

        // requests
        builder.withRequestField("userUUID",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(CancelRecurringSubMeetingRequest::getUserUUID, (req, v) -> {
                req.setUserUUID(v);
            }));
        builder.withRequestField("conferenceID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(CancelRecurringSubMeetingRequest::getConferenceID, (req, v) -> {
                req.setConferenceID(v);
            }));
        builder.withRequestField("type",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(CancelRecurringSubMeetingRequest::getType, (req, v) -> {
                req.setType(v);
            }));
        builder.withRequestField("X-Authorization-Type",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(CancelRecurringSubMeetingRequest::getXAuthorizationType, (req, v) -> {
                req.setXAuthorizationType(v);
            }));
        builder.withRequestField("X-Site-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(CancelRecurringSubMeetingRequest::getXSiteId, (req, v) -> {
                req.setXSiteId(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(RestCancelSingleRecordCycleConfListReqBody.class),
            f -> f.withMarshaller(CancelRecurringSubMeetingRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef checkSlideVerifyCode =
        genForcheckSlideVerifyCode();

    private static HttpRequestDef genForcheckSlideVerifyCode() {
        // basic
        HttpRequestDef.Builder builder = HttpRequestDef
            .builder(HttpMethod.PUT, CheckSlideVerifyCodeRequest.class, CheckSlideVerifyCodeResponse.class)
            .withName("CheckSlideVerifyCode")
            .withUri("/v1/usg/acs/auth/slideverifycode/check")
            .withContentType("application/json");

        // requests
        builder.withRequestField("X-Request-ID",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(CheckSlideVerifyCodeRequest::getXRequestID, (req, v) -> {
                req.setXRequestID(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(CheckSlideVerifyCodeRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(SlideVerifyCodeCheckDTO.class),
            f -> f.withMarshaller(CheckSlideVerifyCodeRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef checkToken = genForcheckToken();

    private static HttpRequestDef genForcheckToken() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, CheckTokenRequest.class, CheckTokenResponse.class)
                .withName("CheckToken")
                .withUri("/v1/usg/acs/token/validate")
                .withContentType("application/json");

        // requests
        builder.withRequestField("X-Request-ID",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(CheckTokenRequest::getXRequestID, (req, v) -> {
                req.setXRequestID(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(CheckTokenRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(ValidateTokenReqDTO.class),
            f -> f.withMarshaller(CheckTokenRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef checkVeriCodeForUpdateUserInfo =
        genForcheckVeriCodeForUpdateUserInfo();

    private static HttpRequestDef genForcheckVeriCodeForUpdateUserInfo() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef
                .builder(HttpMethod.POST,
                    CheckVeriCodeForUpdateUserInfoRequest.class,
                    CheckVeriCodeForUpdateUserInfoResponse.class)
                .withName("CheckVeriCodeForUpdateUserInfo")
                .withUri("/v1/usg/dcs/member/verification-code/verify")
                .withContentType("application/json");

        // requests
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(CheckVeriCodeForUpdateUserInfoRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(CheckVeriCodeForUpdateUserInfoRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(VerificationCodeDTO.class),
            f -> f.withMarshaller(CheckVeriCodeForUpdateUserInfoRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef checkVerifyCode =
        genForcheckVerifyCode();

    private static HttpRequestDef genForcheckVerifyCode() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, CheckVerifyCodeRequest.class, CheckVerifyCodeResponse.class)
                .withName("CheckVerifyCode")
                .withUri("/v1/usg/acs/verifycode/check")
                .withContentType("application/json");

        // requests
        builder.withRequestField("X-Request-ID",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(CheckVerifyCodeRequest::getXRequestID, (req, v) -> {
                req.setXRequestID(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(CheckVerifyCodeRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(VerifyCodeCheckDTO.class),
            f -> f.withMarshaller(CheckVerifyCodeRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef createAnonymousAuthRandom =
        genForcreateAnonymousAuthRandom();

    private static HttpRequestDef genForcreateAnonymousAuthRandom() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef
                .builder(HttpMethod.GET,
                    CreateAnonymousAuthRandomRequest.class,
                    CreateAnonymousAuthRandomResponse.class)
                .withName("CreateAnonymousAuthRandom")
                .withUri("/v1/mmc/management/conferences/anonymous/auth")
                .withContentType("application/json");

        // requests
        builder.withRequestField("conferenceID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(CreateAnonymousAuthRandomRequest::getConferenceID, (req, v) -> {
                req.setConferenceID(v);
            }));
        builder.withRequestField("X-Password",
            LocationType.Header,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(CreateAnonymousAuthRandomRequest::getXPassword, (req, v) -> {
                req.setXPassword(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef createConfToken =
        genForcreateConfToken();

    private static HttpRequestDef genForcreateConfToken() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, CreateConfTokenRequest.class, CreateConfTokenResponse.class)
                .withName("CreateConfToken")
                .withUri("/v1/mmc/control/conferences/token")
                .withContentType("application/json");

        // requests
        builder.withRequestField("conferenceID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(CreateConfTokenRequest::getConferenceID, (req, v) -> {
                req.setConferenceID(v);
            }));
        builder.withRequestField("X-Conference-Authorization",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(CreateConfTokenRequest::getXConferenceAuthorization, (req, v) -> {
                req.setXConferenceAuthorization(v);
            }));
        builder.withRequestField("X-Password",
            LocationType.Header,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(CreateConfTokenRequest::getXPassword, (req, v) -> {
                req.setXPassword(v);
            }));
        builder.withRequestField("X-Login-Type",
            LocationType.Header,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(CreateConfTokenRequest::getXLoginType, (req, v) -> {
                req.setXLoginType(v);
            }));
        builder.withRequestField("X-Nonce",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(CreateConfTokenRequest::getXNonce, (req, v) -> {
                req.setXNonce(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef createMeeting =
        genForcreateMeeting();

    private static HttpRequestDef genForcreateMeeting() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, CreateMeetingRequest.class, CreateMeetingResponse.class)
                .withName("CreateMeeting")
                .withUri("/v1/mmc/management/conferences")
                .withContentType("application/json");

        // requests
        builder.withRequestField("userUUID",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(CreateMeetingRequest::getUserUUID, (req, v) -> {
                req.setUserUUID(v);
            }));
        builder.withRequestField("X-Authorization-Type",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(CreateMeetingRequest::getXAuthorizationType, (req, v) -> {
                req.setXAuthorizationType(v);
            }));
        builder.withRequestField("X-Site-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(CreateMeetingRequest::getXSiteId, (req, v) -> {
                req.setXSiteId(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(RestScheduleConfDTO.class),
            f -> f.withMarshaller(CreateMeetingRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        builder.>withResponseField("body",
            LocationType.Body,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(List.class),
            f -> f.withMarshaller(CreateMeetingResponse::getBody, (response, data) -> {
                response.setBody(data);
            }).withInnerContainerType(ConferenceInfo.class));

        return builder.build();
    }

    public static final HttpRequestDef createPortalRefNonce =
        genForcreatePortalRefNonce();

    private static HttpRequestDef genForcreatePortalRefNonce() {
        // basic
        HttpRequestDef.Builder builder = HttpRequestDef
            .builder(HttpMethod.POST, CreatePortalRefNonceRequest.class, CreatePortalRefNonceResponse.class)
            .withName("CreatePortalRefNonce")
            .withUri("/v1/usg/acs/auth/portal-ref-nonce")
            .withContentType("application/json");

        // requests
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(CreatePortalRefNonceRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(CreatePortalRefNonceRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef createRecurringMeeting =
        genForcreateRecurringMeeting();

    private static HttpRequestDef genForcreateRecurringMeeting() {
        // basic
        HttpRequestDef.Builder builder = HttpRequestDef
            .builder(HttpMethod.POST, CreateRecurringMeetingRequest.class, CreateRecurringMeetingResponse.class)
            .withName("CreateRecurringMeeting")
            .withUri("/v1/mmc/management/cycleconferences")
            .withContentType("application/json");

        // requests
        builder.withRequestField("userUUID",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(CreateRecurringMeetingRequest::getUserUUID, (req, v) -> {
                req.setUserUUID(v);
            }));
        builder.withRequestField("X-Authorization-Type",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(CreateRecurringMeetingRequest::getXAuthorizationType, (req, v) -> {
                req.setXAuthorizationType(v);
            }));
        builder.withRequestField("X-Site-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(CreateRecurringMeetingRequest::getXSiteId, (req, v) -> {
                req.setXSiteId(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(RestScheduleConfDTO.class),
            f -> f.withMarshaller(CreateRecurringMeetingRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        builder.>withResponseField("body",
            LocationType.Body,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(List.class),
            f -> f.withMarshaller(CreateRecurringMeetingResponse::getBody, (response, data) -> {
                response.setBody(data);
            }).withInnerContainerType(ConferenceInfo.class));

        return builder.build();
    }

    public static final HttpRequestDef createVisionActiveCode =
        genForcreateVisionActiveCode();

    private static HttpRequestDef genForcreateVisionActiveCode() {
        // basic
        HttpRequestDef.Builder builder = HttpRequestDef
            .builder(HttpMethod.POST, CreateVisionActiveCodeRequest.class, CreateVisionActiveCodeResponse.class)
            .withName("CreateVisionActiveCode")
            .withUri("/v1/usg/dcs/corp/vision/activecode")
            .withContentType("application/json");

        // requests
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(CreateVisionActiveCodeRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(CreateVisionActiveCodeRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(VisionActiveCodeDTO.class),
            f -> f.withMarshaller(CreateVisionActiveCodeRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef createWebSocketToken =
        genForcreateWebSocketToken();

    private static HttpRequestDef genForcreateWebSocketToken() {
        // basic
        HttpRequestDef.Builder builder = HttpRequestDef
            .builder(HttpMethod.GET, CreateWebSocketTokenRequest.class, CreateWebSocketTokenResponse.class)
            .withName("CreateWebSocketToken")
            .withUri("/v1/mmc/control/conferences/wsToken")
            .withContentType("application/json");

        // requests
        builder.withRequestField("conferenceID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(CreateWebSocketTokenRequest::getConferenceID, (req, v) -> {
                req.setConferenceID(v);
            }));
        builder.withRequestField("X-Conference-Authorization",
            LocationType.Header,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(CreateWebSocketTokenRequest::getXConferenceAuthorization, (req, v) -> {
                req.setXConferenceAuthorization(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef createWebinar =
        genForcreateWebinar();

    private static HttpRequestDef genForcreateWebinar() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, CreateWebinarRequest.class, CreateWebinarResponse.class)
                .withName("CreateWebinar")
                .withUri("/v1/wss/webinar/open/conferences")
                .withContentType("application/json");

        // requests
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(CreateWebinarRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(CreateWebinarRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(OpenScheduleConfReq.class),
            f -> f.withMarshaller(CreateWebinarRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef deleteAttendees =
        genFordeleteAttendees();

    private static HttpRequestDef genFordeleteAttendees() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, DeleteAttendeesRequest.class, DeleteAttendeesResponse.class)
                .withName("DeleteAttendees")
                .withUri("/v1/mmc/control/conferences/attendees/delete")
                .withContentType("application/json");

        // requests
        builder.withRequestField("conferenceID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(DeleteAttendeesRequest::getConferenceID, (req, v) -> {
                req.setConferenceID(v);
            }));
        builder.withRequestField("X-Conference-Authorization",
            LocationType.Header,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(DeleteAttendeesRequest::getXConferenceAuthorization, (req, v) -> {
                req.setXConferenceAuthorization(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(RestBulkDelAttendReqBody.class),
            f -> f.withMarshaller(DeleteAttendeesRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef deleteCorp = genFordeleteCorp();

    private static HttpRequestDef genFordeleteCorp() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.DELETE, DeleteCorpRequest.class, DeleteCorpResponse.class)
                .withName("DeleteCorp")
                .withUri("/v1/usg/dcs/sp/corp/{id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(DeleteCorpRequest::getId, (req, v) -> {
                req.setId(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(DeleteCorpRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(DeleteCorpRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef deleteCorpVmr =
        genFordeleteCorpVmr();

    private static HttpRequestDef genFordeleteCorpVmr() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, DeleteCorpVmrRequest.class, DeleteCorpVmrResponse.class)
                .withName("DeleteCorpVmr")
                .withUri("/v1/usg/dcs/corp/vmr/delete")
                .withContentType("application/json");

        // requests
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(DeleteCorpVmrRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(DeleteCorpVmrRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.>withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(List.class),
            f -> f.withMarshaller(DeleteCorpVmrRequest::getBody, (req, v) -> {
                req.setBody(v);
            }).withInnerContainerType(String.class));

        // response

        return builder.build();
    }

    public static final HttpRequestDef deleteDepartment =
        genFordeleteDepartment();

    private static HttpRequestDef genFordeleteDepartment() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.DELETE, DeleteDepartmentRequest.class, DeleteDepartmentResponse.class)
                .withName("DeleteDepartment")
                .withUri("/v1/usg/dcs/corp/dept/{dept_code}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("dept_code",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(DeleteDepartmentRequest::getDeptCode, (req, v) -> {
                req.setDeptCode(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(DeleteDepartmentRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(DeleteDepartmentRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef deleteRecordings =
        genFordeleteRecordings();

    private static HttpRequestDef genFordeleteRecordings() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.DELETE, DeleteRecordingsRequest.class, DeleteRecordingsResponse.class)
                .withName("DeleteRecordings")
                .withUri("/v1/mmc/management/record/files")
                .withContentType("application/json");

        // requests
        builder.withRequestField("confUUIDs",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(DeleteRecordingsRequest::getConfUUIDs, (req, v) -> {
                req.setConfUUIDs(v);
            }));
        builder.withRequestField("userUUID",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(DeleteRecordingsRequest::getUserUUID, (req, v) -> {
                req.setUserUUID(v);
            }));
        builder.withRequestField("X-Authorization-Type",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(DeleteRecordingsRequest::getXAuthorizationType, (req, v) -> {
                req.setXAuthorizationType(v);
            }));
        builder.withRequestField("X-Site-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(DeleteRecordingsRequest::getXSiteId, (req, v) -> {
                req.setXSiteId(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef deleteResource =
        genFordeleteResource();

    private static HttpRequestDef genFordeleteResource() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, DeleteResourceRequest.class, DeleteResourceResponse.class)
                .withName("DeleteResource")
                .withUri("/v1/usg/dcs/sp/corp/{corp_id}/resource/delete")
                .withContentType("application/json");

        // requests
        builder.withRequestField("corp_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(DeleteResourceRequest::getCorpId, (req, v) -> {
                req.setCorpId(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(DeleteResourceRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(DeleteResourceRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.>withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(List.class),
            f -> f.withMarshaller(DeleteResourceRequest::getBody, (req, v) -> {
                req.setBody(v);
            }).withInnerContainerType(String.class));

        // response

        return builder.build();
    }

    public static final HttpRequestDef deleteVisionActiveCode =
        genFordeleteVisionActiveCode();

    private static HttpRequestDef genFordeleteVisionActiveCode() {
        // basic
        HttpRequestDef.Builder builder = HttpRequestDef
            .builder(HttpMethod.DELETE, DeleteVisionActiveCodeRequest.class, DeleteVisionActiveCodeResponse.class)
            .withName("DeleteVisionActiveCode")
            .withUri("/v1/usg/dcs/corp/vision/activecode")
            .withContentType("application/json");

        // requests
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(DeleteVisionActiveCodeRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(DeleteVisionActiveCodeRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.>withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(List.class),
            f -> f.withMarshaller(DeleteVisionActiveCodeRequest::getBody, (req, v) -> {
                req.setBody(v);
            }).withInnerContainerType(String.class));

        // response

        return builder.build();
    }

    public static final HttpRequestDef deleteWebinar =
        genFordeleteWebinar();

    private static HttpRequestDef genFordeleteWebinar() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.DELETE, DeleteWebinarRequest.class, DeleteWebinarResponse.class)
                .withName("DeleteWebinar")
                .withUri("/v1/wss/webinar/open/conferences/{conference_id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("conference_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(DeleteWebinarRequest::getConferenceId, (req, v) -> {
                req.setConferenceId(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(DeleteWebinarRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(DeleteWebinarRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef disassociateVmr =
        genFordisassociateVmr();

    private static HttpRequestDef genFordisassociateVmr() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, DisassociateVmrRequest.class, DisassociateVmrResponse.class)
                .withName("DisassociateVmr")
                .withUri("/v1/usg/dcs/corp/vmr/recycle-from-member/{account}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("account",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(DisassociateVmrRequest::getAccount, (req, v) -> {
                req.setAccount(v);
            }));
        builder.withRequestField("accountType",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(DisassociateVmrRequest::getAccountType, (req, v) -> {
                req.setAccountType(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(DisassociateVmrRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(DisassociateVmrRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.>withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(List.class),
            f -> f.withMarshaller(DisassociateVmrRequest::getBody, (req, v) -> {
                req.setBody(v);
            }).withInnerContainerType(String.class));

        // response

        return builder.build();
    }

    public static final HttpRequestDef hand = genForhand();

    private static HttpRequestDef genForhand() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, HandRequest.class, HandResponse.class)
                .withName("Hand")
                .withUri("/v1/mmc/control/conferences/participants/hands")
                .withContentType("application/json");

        // requests
        builder.withRequestField("conferenceID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(HandRequest::getConferenceID, (req, v) -> {
                req.setConferenceID(v);
            }));
        builder.withRequestField("participantID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(HandRequest::getParticipantID, (req, v) -> {
                req.setParticipantID(v);
            }));
        builder.withRequestField("X-Conference-Authorization",
            LocationType.Header,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(HandRequest::getXConferenceAuthorization, (req, v) -> {
                req.setXConferenceAuthorization(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(RestHandsUpReqBody.class),
            f -> f.withMarshaller(HandRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef hangUp = genForhangUp();

    private static HttpRequestDef genForhangUp() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, HangUpRequest.class, HangUpResponse.class)
                .withName("HangUp")
                .withUri("/v1/mmc/control/conferences/participants/delete")
                .withContentType("application/json");

        // requests
        builder.withRequestField("conferenceID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(HangUpRequest::getConferenceID, (req, v) -> {
                req.setConferenceID(v);
            }));
        builder.withRequestField("X-Conference-Authorization",
            LocationType.Header,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(HangUpRequest::getXConferenceAuthorization, (req, v) -> {
                req.setXConferenceAuthorization(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(RestBulkHangUpReqBody.class),
            f -> f.withMarshaller(HangUpRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef inviteOperateVideo =
        genForinviteOperateVideo();

    private static HttpRequestDef genForinviteOperateVideo() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, InviteOperateVideoRequest.class, InviteOperateVideoResponse.class)
                .withName("InviteOperateVideo")
                .withUri("/v1/mmc/control/conferences/participants/video")
                .withContentType("application/json");

        // requests
        builder.withRequestField("conferenceID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(InviteOperateVideoRequest::getConferenceID, (req, v) -> {
                req.setConferenceID(v);
            }));
        builder.withRequestField("participantID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(InviteOperateVideoRequest::getParticipantID, (req, v) -> {
                req.setParticipantID(v);
            }));
        builder.withRequestField("X-Conference-Authorization",
            LocationType.Header,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(InviteOperateVideoRequest::getXConferenceAuthorization, (req, v) -> {
                req.setXConferenceAuthorization(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(RestVideoBody.class),
            f -> f.withMarshaller(InviteOperateVideoRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef inviteParticipant =
        genForinviteParticipant();

    private static HttpRequestDef genForinviteParticipant() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, InviteParticipantRequest.class, InviteParticipantResponse.class)
                .withName("InviteParticipant")
                .withUri("/v1/mmc/control/conferences/participants")
                .withContentType("application/json");

        // requests
        builder.withRequestField("conferenceID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(InviteParticipantRequest::getConferenceID, (req, v) -> {
                req.setConferenceID(v);
            }));
        builder.withRequestField("X-Conference-Authorization",
            LocationType.Header,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(InviteParticipantRequest::getXConferenceAuthorization, (req, v) -> {
                req.setXConferenceAuthorization(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(RestInviteReqBody.class),
            f -> f.withMarshaller(InviteParticipantRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef inviteShare = genForinviteShare();

    private static HttpRequestDef genForinviteShare() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, InviteShareRequest.class, InviteShareResponse.class)
                .withName("InviteShare")
                .withUri("/v1/mmc/control/conferences/participants/share/invite")
                .withContentType("application/json");

        // requests
        builder.withRequestField("conferenceID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(InviteShareRequest::getConferenceID, (req, v) -> {
                req.setConferenceID(v);
            }));
        builder.withRequestField("participantID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(InviteShareRequest::getParticipantID, (req, v) -> {
                req.setParticipantID(v);
            }));
        builder.withRequestField("X-Conference-Authorization",
            LocationType.Header,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(InviteShareRequest::getXConferenceAuthorization, (req, v) -> {
                req.setXConferenceAuthorization(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(InviteShareDTO.class),
            f -> f.withMarshaller(InviteShareRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef inviteUser = genForinviteUser();

    private static HttpRequestDef genForinviteUser() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, InviteUserRequest.class, InviteUserResponse.class)
                .withName("InviteUser")
                .withUri("/v1/usg/dcs/corp/member/add")
                .withContentType("application/json");

        // requests
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(InviteUserRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(InviteUserRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(AddUserRequestBody.class),
            f -> f.withMarshaller(InviteUserRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef inviteWithPwd =
        genForinviteWithPwd();

    private static HttpRequestDef genForinviteWithPwd() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, InviteWithPwdRequest.class, InviteWithPwdResponse.class)
                .withName("InviteWithPwd")
                .withUri("/v1/mmc/control/conferences/inviteWithPwd")
                .withContentType("application/json");

        // requests
        builder.withRequestField("conferenceID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(InviteWithPwdRequest::getConferenceID, (req, v) -> {
                req.setConferenceID(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(RestInviteWithPwdReqBody.class),
            f -> f.withMarshaller(InviteWithPwdRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef listHistoryWebinars =
        genForlistHistoryWebinars();

    private static HttpRequestDef genForlistHistoryWebinars() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ListHistoryWebinarsRequest.class, ListHistoryWebinarsResponse.class)
                .withName("ListHistoryWebinars")
                .withUri("/v1/wss/webinar/open/conferences/history")
                .withContentType("application/json");

        // requests
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ListHistoryWebinarsRequest::getOffset, (req, v) -> {
                req.setOffset(v);
            }));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ListHistoryWebinarsRequest::getLimit, (req, v) -> {
                req.setLimit(v);
            }));
        builder.withRequestField("searchKey",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListHistoryWebinarsRequest::getSearchKey, (req, v) -> {
                req.setSearchKey(v);
            }));
        builder.withRequestField("sortType",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListHistoryWebinarsRequest::getSortType, (req, v) -> {
                req.setSortType(v);
            }));
        builder.withRequestField("startTime",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListHistoryWebinarsRequest::getStartTime, (req, v) -> {
                req.setStartTime(v);
            }));
        builder.withRequestField("endTime",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListHistoryWebinarsRequest::getEndTime, (req, v) -> {
                req.setEndTime(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListHistoryWebinarsRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListHistoryWebinarsRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef listOngoingWebinars =
        genForlistOngoingWebinars();

    private static HttpRequestDef genForlistOngoingWebinars() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ListOngoingWebinarsRequest.class, ListOngoingWebinarsResponse.class)
                .withName("ListOngoingWebinars")
                .withUri("/v1/wss/webinar/open/conferences/ongoing")
                .withContentType("application/json");

        // requests
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ListOngoingWebinarsRequest::getOffset, (req, v) -> {
                req.setOffset(v);
            }));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ListOngoingWebinarsRequest::getLimit, (req, v) -> {
                req.setLimit(v);
            }));
        builder.withRequestField("searchKey",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListOngoingWebinarsRequest::getSearchKey, (req, v) -> {
                req.setSearchKey(v);
            }));
        builder.withRequestField("sortType",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListOngoingWebinarsRequest::getSortType, (req, v) -> {
                req.setSortType(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListOngoingWebinarsRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListOngoingWebinarsRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef listUpComingWebinars =
        genForlistUpComingWebinars();

    private static HttpRequestDef genForlistUpComingWebinars() {
        // basic
        HttpRequestDef.Builder builder = HttpRequestDef
            .builder(HttpMethod.GET, ListUpComingWebinarsRequest.class, ListUpComingWebinarsResponse.class)
            .withName("ListUpComingWebinars")
            .withUri("/v1/wss/webinar/open/conferences/upcoming")
            .withContentType("application/json");

        // requests
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ListUpComingWebinarsRequest::getOffset, (req, v) -> {
                req.setOffset(v);
            }));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ListUpComingWebinarsRequest::getLimit, (req, v) -> {
                req.setLimit(v);
            }));
        builder.withRequestField("searchKey",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListUpComingWebinarsRequest::getSearchKey, (req, v) -> {
                req.setSearchKey(v);
            }));
        builder.withRequestField("sortType",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListUpComingWebinarsRequest::getSortType, (req, v) -> {
                req.setSortType(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListUpComingWebinarsRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListUpComingWebinarsRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef live = genForlive();

    private static HttpRequestDef genForlive() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, LiveRequest.class, LiveResponse.class)
                .withName("Live")
                .withUri("/v1/mmc/control/conferences/live")
                .withContentType("application/json");

        // requests
        builder.withRequestField("conferenceID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(LiveRequest::getConferenceID, (req, v) -> {
                req.setConferenceID(v);
            }));
        builder.withRequestField("X-Conference-Authorization",
            LocationType.Header,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(LiveRequest::getXConferenceAuthorization, (req, v) -> {
                req.setXConferenceAuthorization(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(RestSetLiveReqBody.class),
            f -> f.withMarshaller(LiveRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef lockMeeting = genForlockMeeting();

    private static HttpRequestDef genForlockMeeting() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, LockMeetingRequest.class, LockMeetingResponse.class)
                .withName("LockMeeting")
                .withUri("/v1/mmc/control/conferences/lock")
                .withContentType("application/json");

        // requests
        builder.withRequestField("conferenceID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(LockMeetingRequest::getConferenceID, (req, v) -> {
                req.setConferenceID(v);
            }));
        builder.withRequestField("X-Conference-Authorization",
            LocationType.Header,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(LockMeetingRequest::getXConferenceAuthorization, (req, v) -> {
                req.setXConferenceAuthorization(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(RestLockReqBody.class),
            f -> f.withMarshaller(LockMeetingRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef lockView = genForlockView();

    private static HttpRequestDef genForlockView() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, LockViewRequest.class, LockViewResponse.class)
                .withName("LockView")
                .withUri("/v1/mmc/control/conferences/lockView")
                .withContentType("application/json");

        // requests
        builder.withRequestField("conferenceID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(LockViewRequest::getConferenceID, (req, v) -> {
                req.setConferenceID(v);
            }));
        builder.withRequestField("participantID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(LockViewRequest::getParticipantID, (req, v) -> {
                req.setParticipantID(v);
            }));
        builder.withRequestField("X-Conference-Authorization",
            LocationType.Header,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(LockViewRequest::getXConferenceAuthorization, (req, v) -> {
                req.setXConferenceAuthorization(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(RestLockSiteViewReqBody.class),
            f -> f.withMarshaller(LockViewRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef muteMeeting = genFormuteMeeting();

    private static HttpRequestDef genFormuteMeeting() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, MuteMeetingRequest.class, MuteMeetingResponse.class)
                .withName("MuteMeeting")
                .withUri("/v1/mmc/control/conferences/mute")
                .withContentType("application/json");

        // requests
        builder.withRequestField("conferenceID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(MuteMeetingRequest::getConferenceID, (req, v) -> {
                req.setConferenceID(v);
            }));
        builder.withRequestField("X-Conference-Authorization",
            LocationType.Header,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(MuteMeetingRequest::getXConferenceAuthorization, (req, v) -> {
                req.setXConferenceAuthorization(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(RestMuteReqBody.class),
            f -> f.withMarshaller(MuteMeetingRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef muteParticipant =
        genFormuteParticipant();

    private static HttpRequestDef genFormuteParticipant() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, MuteParticipantRequest.class, MuteParticipantResponse.class)
                .withName("MuteParticipant")
                .withUri("/v1/mmc/control/conferences/participants/mute")
                .withContentType("application/json");

        // requests
        builder.withRequestField("conferenceID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(MuteParticipantRequest::getConferenceID, (req, v) -> {
                req.setConferenceID(v);
            }));
        builder.withRequestField("participantID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(MuteParticipantRequest::getParticipantID, (req, v) -> {
                req.setParticipantID(v);
            }));
        builder.withRequestField("X-Conference-Authorization",
            LocationType.Header,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(MuteParticipantRequest::getXConferenceAuthorization, (req, v) -> {
                req.setXConferenceAuthorization(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(RestMuteParticipantReqBody.class),
            f -> f.withMarshaller(MuteParticipantRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef prolongMeeting =
        genForprolongMeeting();

    private static HttpRequestDef genForprolongMeeting() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, ProlongMeetingRequest.class, ProlongMeetingResponse.class)
                .withName("ProlongMeeting")
                .withUri("/v1/mmc/control/conferences/duration")
                .withContentType("application/json");

        // requests
        builder.withRequestField("conferenceID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ProlongMeetingRequest::getConferenceID, (req, v) -> {
                req.setConferenceID(v);
            }));
        builder.withRequestField("X-Conference-Authorization",
            LocationType.Header,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ProlongMeetingRequest::getXConferenceAuthorization, (req, v) -> {
                req.setXConferenceAuthorization(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(RestProlongDurReqBody.class),
            f -> f.withMarshaller(ProlongMeetingRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef record = genForrecord();

    private static HttpRequestDef genForrecord() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, RecordRequest.class, RecordResponse.class)
                .withName("Record")
                .withUri("/v1/mmc/control/conferences/record")
                .withContentType("application/json");

        // requests
        builder.withRequestField("conferenceID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(RecordRequest::getConferenceID, (req, v) -> {
                req.setConferenceID(v);
            }));
        builder.withRequestField("X-Conference-Authorization",
            LocationType.Header,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(RecordRequest::getXConferenceAuthorization, (req, v) -> {
                req.setXConferenceAuthorization(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(RestSetRecordReqBody.class),
            f -> f.withMarshaller(RecordRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef renameParticipant =
        genForrenameParticipant();

    private static HttpRequestDef genForrenameParticipant() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, RenameParticipantRequest.class, RenameParticipantResponse.class)
                .withName("RenameParticipant")
                .withUri("/v1/mmc/control/conferences/participants/name")
                .withContentType("application/json");

        // requests
        builder.withRequestField("conferenceID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(RenameParticipantRequest::getConferenceID, (req, v) -> {
                req.setConferenceID(v);
            }));
        builder.withRequestField("X-Conference-Authorization",
            LocationType.Header,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(RenameParticipantRequest::getXConferenceAuthorization, (req, v) -> {
                req.setXConferenceAuthorization(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(RestRenamePartReqBody.class),
            f -> f.withMarshaller(RenameParticipantRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef resetActivecode =
        genForresetActivecode();

    private static HttpRequestDef genForresetActivecode() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, ResetActivecodeRequest.class, ResetActivecodeResponse.class)
                .withName("ResetActivecode")
                .withUri("/v1/usg/dcs/corp/device/{sn}/activecode")
                .withContentType("application/json");

        // requests
        builder.withRequestField("sn",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ResetActivecodeRequest::getSn, (req, v) -> {
                req.setSn(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ResetActivecodeRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ResetActivecodeRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(ActiveDTO.class),
            f -> f.withMarshaller(ResetActivecodeRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef resetPwd = genForresetPwd();

    private static HttpRequestDef genForresetPwd() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, ResetPwdRequest.class, ResetPwdResponse.class)
                .withName("ResetPwd")
                .withUri("/v1/usg/acs/password/reset")
                .withContentType("application/json");

        // requests
        builder.withRequestField("X-Request-ID",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ResetPwdRequest::getXRequestID, (req, v) -> {
                req.setXRequestID(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ResetPwdRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(ResetPwdReqDTOV1.class),
            f -> f.withMarshaller(ResetPwdRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef resetPwdByAdmin =
        genForresetPwdByAdmin();

    private static HttpRequestDef genForresetPwdByAdmin() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, ResetPwdByAdminRequest.class, ResetPwdByAdminResponse.class)
                .withName("ResetPwdByAdmin")
                .withUri("/v1/usg/acs/password/admin/reset")
                .withContentType("application/json");

        // requests
        builder.withRequestField("X-Request-ID",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ResetPwdByAdminRequest::getXRequestID, (req, v) -> {
                req.setXRequestID(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ResetPwdByAdminRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(AdminResetPwdReqDTO.class),
            f -> f.withMarshaller(ResetPwdByAdminRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef resetVisionActiveCode =
        genForresetVisionActiveCode();

    private static HttpRequestDef genForresetVisionActiveCode() {
        // basic
        HttpRequestDef.Builder builder = HttpRequestDef
            .builder(HttpMethod.PUT, ResetVisionActiveCodeRequest.class, ResetVisionActiveCodeResponse.class)
            .withName("ResetVisionActiveCode")
            .withUri("/v1/usg/dcs/corp/vision/activecode/{account}/reset")
            .withContentType("application/json");

        // requests
        builder.withRequestField("account",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ResetVisionActiveCodeRequest::getAccount, (req, v) -> {
                req.setAccount(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ResetVisionActiveCodeRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ResetVisionActiveCodeRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(ActiveDTO.class),
            f -> f.withMarshaller(ResetVisionActiveCodeRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef rollcallParticipant =
        genForrollcallParticipant();

    private static HttpRequestDef genForrollcallParticipant() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, RollcallParticipantRequest.class, RollcallParticipantResponse.class)
                .withName("RollcallParticipant")
                .withUri("/v1/mmc/control/conferences/participants/rollCall")
                .withContentType("application/json");

        // requests
        builder.withRequestField("conferenceID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(RollcallParticipantRequest::getConferenceID, (req, v) -> {
                req.setConferenceID(v);
            }));
        builder.withRequestField("participantID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(RollcallParticipantRequest::getParticipantID, (req, v) -> {
                req.setParticipantID(v);
            }));
        builder.withRequestField("X-Conference-Authorization",
            LocationType.Header,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(RollcallParticipantRequest::getXConferenceAuthorization, (req, v) -> {
                req.setXConferenceAuthorization(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef searchAttendanceRecordsOfHisMeeting =
        genForsearchAttendanceRecordsOfHisMeeting();

    private static HttpRequestDef genForsearchAttendanceRecordsOfHisMeeting() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef
                .builder(HttpMethod.GET,
                    SearchAttendanceRecordsOfHisMeetingRequest.class,
                    SearchAttendanceRecordsOfHisMeetingResponse.class)
                .withName("SearchAttendanceRecordsOfHisMeeting")
                .withUri("/v1/mmc/management/conferences/history/confAttendeeRecord")
                .withContentType("application/json");

        // requests
        builder.withRequestField("confUUID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchAttendanceRecordsOfHisMeetingRequest::getConfUUID, (req, v) -> {
                req.setConfUUID(v);
            }));
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchAttendanceRecordsOfHisMeetingRequest::getOffset, (req, v) -> {
                req.setOffset(v);
            }));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchAttendanceRecordsOfHisMeetingRequest::getLimit, (req, v) -> {
                req.setLimit(v);
            }));
        builder.withRequestField("searchKey",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchAttendanceRecordsOfHisMeetingRequest::getSearchKey, (req, v) -> {
                req.setSearchKey(v);
            }));
        builder.withRequestField("userUUID",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchAttendanceRecordsOfHisMeetingRequest::getUserUUID, (req, v) -> {
                req.setUserUUID(v);
            }));
        builder.withRequestField("X-Authorization-Type",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchAttendanceRecordsOfHisMeetingRequest::getXAuthorizationType, (req, v) -> {
                req.setXAuthorizationType(v);
            }));
        builder.withRequestField("X-Site-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchAttendanceRecordsOfHisMeetingRequest::getXSiteId, (req, v) -> {
                req.setXSiteId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchAttendanceRecordsOfHisMeetingRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef searchCorp = genForsearchCorp();

    private static HttpRequestDef genForsearchCorp() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, SearchCorpRequest.class, SearchCorpResponse.class)
                .withName("SearchCorp")
                .withUri("/v1/usg/dcs/sp/corp")
                .withContentType("application/json");

        // requests
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchCorpRequest::getOffset, (req, v) -> {
                req.setOffset(v);
            }));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchCorpRequest::getLimit, (req, v) -> {
                req.setLimit(v);
            }));
        builder.withRequestField("searchKey",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchCorpRequest::getSearchKey, (req, v) -> {
                req.setSearchKey(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchCorpRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchCorpRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef searchCorpAdmins =
        genForsearchCorpAdmins();

    private static HttpRequestDef genForsearchCorpAdmins() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, SearchCorpAdminsRequest.class, SearchCorpAdminsResponse.class)
                .withName("SearchCorpAdmins")
                .withUri("/v1/usg/dcs/corp/admin")
                .withContentType("application/json");

        // requests
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchCorpAdminsRequest::getOffset, (req, v) -> {
                req.setOffset(v);
            }));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchCorpAdminsRequest::getLimit, (req, v) -> {
                req.setLimit(v);
            }));
        builder.withRequestField("searchKey",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchCorpAdminsRequest::getSearchKey, (req, v) -> {
                req.setSearchKey(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchCorpAdminsRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchCorpAdminsRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef searchCorpDir =
        genForsearchCorpDir();

    private static HttpRequestDef genForsearchCorpDir() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, SearchCorpDirRequest.class, SearchCorpDirResponse.class)
                .withName("SearchCorpDir")
                .withUri("/v1/usg/abs/users")
                .withContentType("application/json");

        // requests
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchCorpDirRequest::getOffset, (req, v) -> {
                req.setOffset(v);
            }));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchCorpDirRequest::getLimit, (req, v) -> {
                req.setLimit(v);
            }));
        builder.withRequestField("searchKey",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchCorpDirRequest::getSearchKey, (req, v) -> {
                req.setSearchKey(v);
            }));
        builder.withRequestField("deptCode",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchCorpDirRequest::getDeptCode, (req, v) -> {
                req.setDeptCode(v);
            }));
        builder.withRequestField("querySubDept",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Boolean.class),
            f -> f.withMarshaller(SearchCorpDirRequest::getQuerySubDept, (req, v) -> {
                req.setQuerySubDept(v);
            }));
        builder.withRequestField("searchScope",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchCorpDirRequest::getSearchScope, (req, v) -> {
                req.setSearchScope(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchCorpDirRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchCorpDirRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef searchCorpResources =
        genForsearchCorpResources();

    private static HttpRequestDef genForsearchCorpResources() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, SearchCorpResourcesRequest.class, SearchCorpResourcesResponse.class)
                .withName("SearchCorpResources")
                .withUri("/v1/usg/dcs/corp/resource-list")
                .withContentType("application/json");

        // requests
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchCorpResourcesRequest::getOffset, (req, v) -> {
                req.setOffset(v);
            }));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchCorpResourcesRequest::getLimit, (req, v) -> {
                req.setLimit(v);
            }));
        builder.withRequestField("searchKey",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchCorpResourcesRequest::getSearchKey, (req, v) -> {
                req.setSearchKey(v);
            }));
        builder.withRequestField("startExpireDate",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Long.class),
            f -> f.withMarshaller(SearchCorpResourcesRequest::getStartExpireDate, (req, v) -> {
                req.setStartExpireDate(v);
            }));
        builder.withRequestField("endExpireDate",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Long.class),
            f -> f.withMarshaller(SearchCorpResourcesRequest::getEndExpireDate, (req, v) -> {
                req.setEndExpireDate(v);
            }));
        builder.withRequestField("type",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchCorpResourcesRequest::getType, (req, v) -> {
                req.setType(v);
            }));
        builder.withRequestField("vmrMode",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchCorpResourcesRequest::getVmrMode, (req, v) -> {
                req.setVmrMode(v);
            }));
        builder.withRequestField("typeId",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchCorpResourcesRequest::getTypeId, (req, v) -> {
                req.setTypeId(v);
            }));
        builder.withRequestField("orderId",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchCorpResourcesRequest::getOrderId, (req, v) -> {
                req.setOrderId(v);
            }));
        builder.withRequestField("status",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchCorpResourcesRequest::getStatus, (req, v) -> {
                req.setStatus(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchCorpResourcesRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchCorpResourcesRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef searchCorpVmr =
        genForsearchCorpVmr();

    private static HttpRequestDef genForsearchCorpVmr() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, SearchCorpVmrRequest.class, SearchCorpVmrResponse.class)
                .withName("SearchCorpVmr")
                .withUri("/v1/usg/dcs/corp/vmr")
                .withContentType("application/json");

        // requests
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchCorpVmrRequest::getOffset, (req, v) -> {
                req.setOffset(v);
            }));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchCorpVmrRequest::getLimit, (req, v) -> {
                req.setLimit(v);
            }));
        builder.withRequestField("searchKey",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchCorpVmrRequest::getSearchKey, (req, v) -> {
                req.setSearchKey(v);
            }));
        builder.withRequestField("vmrMode",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchCorpVmrRequest::getVmrMode, (req, v) -> {
                req.setVmrMode(v);
            }));
        builder.withRequestField("status",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchCorpVmrRequest::getStatus, (req, v) -> {
                req.setStatus(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchCorpVmrRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchCorpVmrRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef searchCtlRecordsOfHisMeeting =
        genForsearchCtlRecordsOfHisMeeting();

    private static HttpRequestDef genForsearchCtlRecordsOfHisMeeting() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef
                .builder(HttpMethod.GET,
                    SearchCtlRecordsOfHisMeetingRequest.class,
                    SearchCtlRecordsOfHisMeetingResponse.class)
                .withName("SearchCtlRecordsOfHisMeeting")
                .withUri("/v1/mmc/management/conferences/history/confCtlRecord")
                .withContentType("application/json");

        // requests
        builder.withRequestField("confUUID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchCtlRecordsOfHisMeetingRequest::getConfUUID, (req, v) -> {
                req.setConfUUID(v);
            }));
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchCtlRecordsOfHisMeetingRequest::getOffset, (req, v) -> {
                req.setOffset(v);
            }));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchCtlRecordsOfHisMeetingRequest::getLimit, (req, v) -> {
                req.setLimit(v);
            }));
        builder.withRequestField("userUUID",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchCtlRecordsOfHisMeetingRequest::getUserUUID, (req, v) -> {
                req.setUserUUID(v);
            }));
        builder.withRequestField("X-Authorization-Type",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchCtlRecordsOfHisMeetingRequest::getXAuthorizationType, (req, v) -> {
                req.setXAuthorizationType(v);
            }));
        builder.withRequestField("X-Site-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchCtlRecordsOfHisMeetingRequest::getXSiteId, (req, v) -> {
                req.setXSiteId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchCtlRecordsOfHisMeetingRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef searchDepartmentByName =
        genForsearchDepartmentByName();

    private static HttpRequestDef genForsearchDepartmentByName() {
        // basic
        HttpRequestDef.Builder builder = HttpRequestDef
            .builder(HttpMethod.GET, SearchDepartmentByNameRequest.class, SearchDepartmentByNameResponse.class)
            .withName("SearchDepartmentByName")
            .withUri("/v1/usg/dcs/member/dept")
            .withContentType("application/json");

        // requests
        builder.withRequestField("deptName",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchDepartmentByNameRequest::getDeptName, (req, v) -> {
                req.setDeptName(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchDepartmentByNameRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchDepartmentByNameRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));

        // response

        builder.>withResponseField("body",
            LocationType.Body,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(List.class),
            f -> f.withMarshaller(SearchDepartmentByNameResponse::getBody, (response, data) -> {
                response.setBody(data);
            }).withInnerContainerType(QueryDeptResultDTO.class));

        return builder.build();
    }

    public static final HttpRequestDef searchDevices =
        genForsearchDevices();

    private static HttpRequestDef genForsearchDevices() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, SearchDevicesRequest.class, SearchDevicesResponse.class)
                .withName("SearchDevices")
                .withUri("/v1/usg/dcs/corp/device")
                .withContentType("application/json");

        // requests
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchDevicesRequest::getOffset, (req, v) -> {
                req.setOffset(v);
            }));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchDevicesRequest::getLimit, (req, v) -> {
                req.setLimit(v);
            }));
        builder.withRequestField("searchKey",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchDevicesRequest::getSearchKey, (req, v) -> {
                req.setSearchKey(v);
            }));
        builder.withRequestField("model",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchDevicesRequest::getModel, (req, v) -> {
                req.setModel(v);
            }));
        builder.withRequestField("deptCode",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchDevicesRequest::getDeptCode, (req, v) -> {
                req.setDeptCode(v);
            }));
        builder.withRequestField("enableSubDept",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Boolean.class),
            f -> f.withMarshaller(SearchDevicesRequest::getEnableSubDept, (req, v) -> {
                req.setEnableSubDept(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchDevicesRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchDevicesRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef searchHisMeetings =
        genForsearchHisMeetings();

    private static HttpRequestDef genForsearchHisMeetings() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, SearchHisMeetingsRequest.class, SearchHisMeetingsResponse.class)
                .withName("SearchHisMeetings")
                .withUri("/v1/mmc/management/conferences/history")
                .withContentType("application/json");

        // requests
        builder.withRequestField("userUUID",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchHisMeetingsRequest::getUserUUID, (req, v) -> {
                req.setUserUUID(v);
            }));
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchHisMeetingsRequest::getOffset, (req, v) -> {
                req.setOffset(v);
            }));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchHisMeetingsRequest::getLimit, (req, v) -> {
                req.setLimit(v);
            }));
        builder.withRequestField("searchKey",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchHisMeetingsRequest::getSearchKey, (req, v) -> {
                req.setSearchKey(v);
            }));
        builder.withRequestField("queryAll",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Boolean.class),
            f -> f.withMarshaller(SearchHisMeetingsRequest::getQueryAll, (req, v) -> {
                req.setQueryAll(v);
            }));
        builder.withRequestField("startDate",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(Long.class),
            f -> f.withMarshaller(SearchHisMeetingsRequest::getStartDate, (req, v) -> {
                req.setStartDate(v);
            }));
        builder.withRequestField("endDate",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(Long.class),
            f -> f.withMarshaller(SearchHisMeetingsRequest::getEndDate, (req, v) -> {
                req.setEndDate(v);
            }));
        builder.withRequestField("sortType",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchHisMeetingsRequest::getSortType, (req, v) -> {
                req.setSortType(v);
            }));
        builder.withRequestField("X-Authorization-Type",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchHisMeetingsRequest::getXAuthorizationType, (req, v) -> {
                req.setXAuthorizationType(v);
            }));
        builder.withRequestField("X-Site-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchHisMeetingsRequest::getXSiteId, (req, v) -> {
                req.setXSiteId(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef searchMaterials =
        genForsearchMaterials();

    private static HttpRequestDef genForsearchMaterials() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, SearchMaterialsRequest.class, SearchMaterialsResponse.class)
                .withName("SearchMaterials")
                .withUri("/v1/usg/sss/materials")
                .withContentType("application/json");

        // requests
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchMaterialsRequest::getOffset, (req, v) -> {
                req.setOffset(v);
            }));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchMaterialsRequest::getLimit, (req, v) -> {
                req.setLimit(v);
            }));
        builder.withRequestField("searchKey",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchMaterialsRequest::getSearchKey, (req, v) -> {
                req.setSearchKey(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchMaterialsRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchMaterialsRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef searchMeetingFileList =
        genForsearchMeetingFileList();

    private static HttpRequestDef genForsearchMeetingFileList() {
        // basic
        HttpRequestDef.Builder builder = HttpRequestDef
            .builder(HttpMethod.GET, SearchMeetingFileListRequest.class, SearchMeetingFileListResponse.class)
            .withName("SearchMeetingFileList")
            .withUri("/v1/usg/sss/meeting-files")
            .withContentType("application/json");

        // requests
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchMeetingFileListRequest::getOffset, (req, v) -> {
                req.setOffset(v);
            }));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchMeetingFileListRequest::getLimit, (req, v) -> {
                req.setLimit(v);
            }));
        builder.withRequestField("searchKey",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchMeetingFileListRequest::getSearchKey, (req, v) -> {
                req.setSearchKey(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchMeetingFileListRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchMeetingFileListRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef searchMeetings =
        genForsearchMeetings();

    private static HttpRequestDef genForsearchMeetings() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, SearchMeetingsRequest.class, SearchMeetingsResponse.class)
                .withName("SearchMeetings")
                .withUri("/v1/mmc/management/conferences")
                .withContentType("application/json");

        // requests
        builder.withRequestField("userUUID",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchMeetingsRequest::getUserUUID, (req, v) -> {
                req.setUserUUID(v);
            }));
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchMeetingsRequest::getOffset, (req, v) -> {
                req.setOffset(v);
            }));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchMeetingsRequest::getLimit, (req, v) -> {
                req.setLimit(v);
            }));
        builder.withRequestField("queryAll",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Boolean.class),
            f -> f.withMarshaller(SearchMeetingsRequest::getQueryAll, (req, v) -> {
                req.setQueryAll(v);
            }));
        builder.withRequestField("searchKey",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchMeetingsRequest::getSearchKey, (req, v) -> {
                req.setSearchKey(v);
            }));
        builder.withRequestField("queryConfMode",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchMeetingsRequest::getQueryConfMode, (req, v) -> {
                req.setQueryConfMode(v);
            }));
        builder.withRequestField("sortType",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchMeetingsRequest::getSortType, (req, v) -> {
                req.setSortType(v);
            }));
        builder.withRequestField("X-Authorization-Type",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchMeetingsRequest::getXAuthorizationType, (req, v) -> {
                req.setXAuthorizationType(v);
            }));
        builder.withRequestField("X-Site-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchMeetingsRequest::getXSiteId, (req, v) -> {
                req.setXSiteId(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef searchMemberVmr =
        genForsearchMemberVmr();

    private static HttpRequestDef genForsearchMemberVmr() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, SearchMemberVmrRequest.class, SearchMemberVmrResponse.class)
                .withName("SearchMemberVmr")
                .withUri("/v1/usg/dcs/member/vmr")
                .withContentType("application/json");

        // requests
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchMemberVmrRequest::getOffset, (req, v) -> {
                req.setOffset(v);
            }));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchMemberVmrRequest::getLimit, (req, v) -> {
                req.setLimit(v);
            }));
        builder.withRequestField("searchKey",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchMemberVmrRequest::getSearchKey, (req, v) -> {
                req.setSearchKey(v);
            }));
        builder.withRequestField("specialVmr",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Boolean.class),
            f -> f.withMarshaller(SearchMemberVmrRequest::getSpecialVmr, (req, v) -> {
                req.setSpecialVmr(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchMemberVmrRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchMemberVmrRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef searchOnlineMeetings =
        genForsearchOnlineMeetings();

    private static HttpRequestDef genForsearchOnlineMeetings() {
        // basic
        HttpRequestDef.Builder builder = HttpRequestDef
            .builder(HttpMethod.GET, SearchOnlineMeetingsRequest.class, SearchOnlineMeetingsResponse.class)
            .withName("SearchOnlineMeetings")
            .withUri("/v1/mmc/management/conferences/online")
            .withContentType("application/json");

        // requests
        builder.withRequestField("userUUID",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchOnlineMeetingsRequest::getUserUUID, (req, v) -> {
                req.setUserUUID(v);
            }));
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchOnlineMeetingsRequest::getOffset, (req, v) -> {
                req.setOffset(v);
            }));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchOnlineMeetingsRequest::getLimit, (req, v) -> {
                req.setLimit(v);
            }));
        builder.withRequestField("queryAll",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Boolean.class),
            f -> f.withMarshaller(SearchOnlineMeetingsRequest::getQueryAll, (req, v) -> {
                req.setQueryAll(v);
            }));
        builder.withRequestField("searchKey",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchOnlineMeetingsRequest::getSearchKey, (req, v) -> {
                req.setSearchKey(v);
            }));
        builder.withRequestField("X-Authorization-Type",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchOnlineMeetingsRequest::getXAuthorizationType, (req, v) -> {
                req.setXAuthorizationType(v);
            }));
        builder.withRequestField("X-Site-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchOnlineMeetingsRequest::getXSiteId, (req, v) -> {
                req.setXSiteId(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef searchPrograms =
        genForsearchPrograms();

    private static HttpRequestDef genForsearchPrograms() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, SearchProgramsRequest.class, SearchProgramsResponse.class)
                .withName("SearchPrograms")
                .withUri("/v1/usg/sss/programs")
                .withContentType("application/json");

        // requests
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchProgramsRequest::getOffset, (req, v) -> {
                req.setOffset(v);
            }));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchProgramsRequest::getLimit, (req, v) -> {
                req.setLimit(v);
            }));
        builder.withRequestField("searchKey",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchProgramsRequest::getSearchKey, (req, v) -> {
                req.setSearchKey(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchProgramsRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchProgramsRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef searchPublications =
        genForsearchPublications();

    private static HttpRequestDef genForsearchPublications() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, SearchPublicationsRequest.class, SearchPublicationsResponse.class)
                .withName("SearchPublications")
                .withUri("/v1/usg/sss/publications")
                .withContentType("application/json");

        // requests
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchPublicationsRequest::getOffset, (req, v) -> {
                req.setOffset(v);
            }));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchPublicationsRequest::getLimit, (req, v) -> {
                req.setLimit(v);
            }));
        builder.withRequestField("searchKey",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchPublicationsRequest::getSearchKey, (req, v) -> {
                req.setSearchKey(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchPublicationsRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchPublicationsRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef searchRecordings =
        genForsearchRecordings();

    private static HttpRequestDef genForsearchRecordings() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, SearchRecordingsRequest.class, SearchRecordingsResponse.class)
                .withName("SearchRecordings")
                .withUri("/v1/mmc/management/record/files")
                .withContentType("application/json");

        // requests
        builder.withRequestField("userUUID",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchRecordingsRequest::getUserUUID, (req, v) -> {
                req.setUserUUID(v);
            }));
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchRecordingsRequest::getOffset, (req, v) -> {
                req.setOffset(v);
            }));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchRecordingsRequest::getLimit, (req, v) -> {
                req.setLimit(v);
            }));
        builder.withRequestField("queryAll",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Boolean.class),
            f -> f.withMarshaller(SearchRecordingsRequest::getQueryAll, (req, v) -> {
                req.setQueryAll(v);
            }));
        builder.withRequestField("searchKey",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchRecordingsRequest::getSearchKey, (req, v) -> {
                req.setSearchKey(v);
            }));
        builder.withRequestField("startDate",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(Long.class),
            f -> f.withMarshaller(SearchRecordingsRequest::getStartDate, (req, v) -> {
                req.setStartDate(v);
            }));
        builder.withRequestField("endDate",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(Long.class),
            f -> f.withMarshaller(SearchRecordingsRequest::getEndDate, (req, v) -> {
                req.setEndDate(v);
            }));
        builder.withRequestField("sortType",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchRecordingsRequest::getSortType, (req, v) -> {
                req.setSortType(v);
            }));
        builder.withRequestField("X-Authorization-Type",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchRecordingsRequest::getXAuthorizationType, (req, v) -> {
                req.setXAuthorizationType(v);
            }));
        builder.withRequestField("X-Site-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchRecordingsRequest::getXSiteId, (req, v) -> {
                req.setXSiteId(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef searchResource =
        genForsearchResource();

    private static HttpRequestDef genForsearchResource() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, SearchResourceRequest.class, SearchResourceResponse.class)
                .withName("SearchResource")
                .withUri("/v1/usg/dcs/sp/corp/{corp_id}/resource")
                .withContentType("application/json");

        // requests
        builder.withRequestField("corp_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchResourceRequest::getCorpId, (req, v) -> {
                req.setCorpId(v);
            }));
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchResourceRequest::getOffset, (req, v) -> {
                req.setOffset(v);
            }));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchResourceRequest::getLimit, (req, v) -> {
                req.setLimit(v);
            }));
        builder.withRequestField("searchKey",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchResourceRequest::getSearchKey, (req, v) -> {
                req.setSearchKey(v);
            }));
        builder.withRequestField("startExpireDate",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Long.class),
            f -> f.withMarshaller(SearchResourceRequest::getStartExpireDate, (req, v) -> {
                req.setStartExpireDate(v);
            }));
        builder.withRequestField("endExpireDate",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Long.class),
            f -> f.withMarshaller(SearchResourceRequest::getEndExpireDate, (req, v) -> {
                req.setEndExpireDate(v);
            }));
        builder.withRequestField("type",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchResourceRequest::getType, (req, v) -> {
                req.setType(v);
            }));
        builder.withRequestField("typeId",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchResourceRequest::getTypeId, (req, v) -> {
                req.setTypeId(v);
            }));
        builder.withRequestField("status",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchResourceRequest::getStatus, (req, v) -> {
                req.setStatus(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchResourceRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchResourceRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef searchResourceOpRecord =
        genForsearchResourceOpRecord();

    private static HttpRequestDef genForsearchResourceOpRecord() {
        // basic
        HttpRequestDef.Builder builder = HttpRequestDef
            .builder(HttpMethod.GET, SearchResourceOpRecordRequest.class, SearchResourceOpRecordResponse.class)
            .withName("SearchResourceOpRecord")
            .withUri("/v1/usg/dcs/sp/corp/{corp_id}/resource-record")
            .withContentType("application/json");

        // requests
        builder.withRequestField("corp_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchResourceOpRecordRequest::getCorpId, (req, v) -> {
                req.setCorpId(v);
            }));
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchResourceOpRecordRequest::getOffset, (req, v) -> {
                req.setOffset(v);
            }));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchResourceOpRecordRequest::getLimit, (req, v) -> {
                req.setLimit(v);
            }));
        builder.withRequestField("searchKey",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchResourceOpRecordRequest::getSearchKey, (req, v) -> {
                req.setSearchKey(v);
            }));
        builder.withRequestField("startExpireDate",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Long.class),
            f -> f.withMarshaller(SearchResourceOpRecordRequest::getStartExpireDate, (req, v) -> {
                req.setStartExpireDate(v);
            }));
        builder.withRequestField("endExpireDate",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Long.class),
            f -> f.withMarshaller(SearchResourceOpRecordRequest::getEndExpireDate, (req, v) -> {
                req.setEndExpireDate(v);
            }));
        builder.withRequestField("startOperateDate",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Long.class),
            f -> f.withMarshaller(SearchResourceOpRecordRequest::getStartOperateDate, (req, v) -> {
                req.setStartOperateDate(v);
            }));
        builder.withRequestField("endOperateDate",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Long.class),
            f -> f.withMarshaller(SearchResourceOpRecordRequest::getEndOperateDate, (req, v) -> {
                req.setEndOperateDate(v);
            }));
        builder.withRequestField("type",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchResourceOpRecordRequest::getType, (req, v) -> {
                req.setType(v);
            }));
        builder.withRequestField("typeId",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchResourceOpRecordRequest::getTypeId, (req, v) -> {
                req.setTypeId(v);
            }));
        builder.withRequestField("operateType",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchResourceOpRecordRequest::getOperateType, (req, v) -> {
                req.setOperateType(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchResourceOpRecordRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchResourceOpRecordRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef searchUsers = genForsearchUsers();

    private static HttpRequestDef genForsearchUsers() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, SearchUsersRequest.class, SearchUsersResponse.class)
                .withName("SearchUsers")
                .withUri("/v1/usg/dcs/corp/member")
                .withContentType("application/json");

        // requests
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchUsersRequest::getOffset, (req, v) -> {
                req.setOffset(v);
            }));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchUsersRequest::getLimit, (req, v) -> {
                req.setLimit(v);
            }));
        builder.withRequestField("searchKey",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchUsersRequest::getSearchKey, (req, v) -> {
                req.setSearchKey(v);
            }));
        builder.withRequestField("sortField",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchUsersRequest::getSortField, (req, v) -> {
                req.setSortField(v);
            }));
        builder.withRequestField("isAsc",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Boolean.class),
            f -> f.withMarshaller(SearchUsersRequest::getIsAsc, (req, v) -> {
                req.setIsAsc(v);
            }));
        builder.withRequestField("deptCode",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchUsersRequest::getDeptCode, (req, v) -> {
                req.setDeptCode(v);
            }));
        builder.withRequestField("enableSubDept",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Boolean.class),
            f -> f.withMarshaller(SearchUsersRequest::getEnableSubDept, (req, v) -> {
                req.setEnableSubDept(v);
            }));
        builder.withRequestField("adminType",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(SearchUsersRequest.AdminTypeEnum.class),
            f -> f.withMarshaller(SearchUsersRequest::getAdminType, (req, v) -> {
                req.setAdminType(v);
            }));
        builder.withRequestField("enableRoom",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Boolean.class),
            f -> f.withMarshaller(SearchUsersRequest::getEnableRoom, (req, v) -> {
                req.setEnableRoom(v);
            }));
        builder.>withRequestField("userType",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(List.class),
            f -> f.withMarshaller(SearchUsersRequest::getUserType, (req, v) -> {
                req.setUserType(v);
            }));
        builder.withRequestField("status",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchUsersRequest::getStatus, (req, v) -> {
                req.setStatus(v);
            }));
        builder.withRequestField("containsUnActive",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Boolean.class),
            f -> f.withMarshaller(SearchUsersRequest::getContainsUnActive, (req, v) -> {
                req.setContainsUnActive(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchUsersRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchUsersRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef searchVisionActiveCode =
        genForsearchVisionActiveCode();

    private static HttpRequestDef genForsearchVisionActiveCode() {
        // basic
        HttpRequestDef.Builder builder = HttpRequestDef
            .builder(HttpMethod.GET, SearchVisionActiveCodeRequest.class, SearchVisionActiveCodeResponse.class)
            .withName("SearchVisionActiveCode")
            .withUri("/v1/usg/dcs/corp/vision/activecode")
            .withContentType("application/json");

        // requests
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchVisionActiveCodeRequest::getOffset, (req, v) -> {
                req.setOffset(v);
            }));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchVisionActiveCodeRequest::getLimit, (req, v) -> {
                req.setLimit(v);
            }));
        builder.withRequestField("searchKey",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchVisionActiveCodeRequest::getSearchKey, (req, v) -> {
                req.setSearchKey(v);
            }));
        builder.withRequestField("devType",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchVisionActiveCodeRequest::getDevType, (req, v) -> {
                req.setDevType(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchVisionActiveCodeRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchVisionActiveCodeRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef sendSlideVerifyCode =
        genForsendSlideVerifyCode();

    private static HttpRequestDef genForsendSlideVerifyCode() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, SendSlideVerifyCodeRequest.class, SendSlideVerifyCodeResponse.class)
                .withName("SendSlideVerifyCode")
                .withUri("/v1/usg/acs/auth/slideverifycode/send")
                .withContentType("application/json");

        // requests
        builder.withRequestField("X-Request-ID",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SendSlideVerifyCodeRequest::getXRequestID, (req, v) -> {
                req.setXRequestID(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SendSlideVerifyCodeRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(SlideVerifyCodeSendDTO.class),
            f -> f.withMarshaller(SendSlideVerifyCodeRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef sendVeriCodeForChangePwd =
        genForsendVeriCodeForChangePwd();

    private static HttpRequestDef genForsendVeriCodeForChangePwd() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef
                .builder(HttpMethod.POST, SendVeriCodeForChangePwdRequest.class, SendVeriCodeForChangePwdResponse.class)
                .withName("SendVeriCodeForChangePwd")
                .withUri("/v1/usg/acs/verifycode/send")
                .withContentType("application/json");

        // requests
        builder.withRequestField("X-Request-ID",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SendVeriCodeForChangePwdRequest::getXRequestID, (req, v) -> {
                req.setXRequestID(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SendVeriCodeForChangePwdRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(VerifyCodeSendDTOV1.class),
            f -> f.withMarshaller(SendVeriCodeForChangePwdRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef sendVeriCodeForUpdateUserInfo =
        genForsendVeriCodeForUpdateUserInfo();

    private static HttpRequestDef genForsendVeriCodeForUpdateUserInfo() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef
                .builder(HttpMethod.POST,
                    SendVeriCodeForUpdateUserInfoRequest.class,
                    SendVeriCodeForUpdateUserInfoResponse.class)
                .withName("SendVeriCodeForUpdateUserInfo")
                .withUri("/v1/usg/dcs/member/verification-code")
                .withContentType("application/json");

        // requests
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SendVeriCodeForUpdateUserInfoRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SendVeriCodeForUpdateUserInfoRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(VerificationCodeDTO.class),
            f -> f.withMarshaller(SendVeriCodeForUpdateUserInfoRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef setCustomMultiPicture =
        genForsetCustomMultiPicture();

    private static HttpRequestDef genForsetCustomMultiPicture() {
        // basic
        HttpRequestDef.Builder builder = HttpRequestDef
            .builder(HttpMethod.PUT, SetCustomMultiPictureRequest.class, SetCustomMultiPictureResponse.class)
            .withName("SetCustomMultiPicture")
            .withUri("/v1/mmc/control/conferences/display/customMultiPicture")
            .withContentType("application/json");

        // requests
        builder.withRequestField("conferenceID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SetCustomMultiPictureRequest::getConferenceID, (req, v) -> {
                req.setConferenceID(v);
            }));
        builder.withRequestField("X-Conference-Authorization",
            LocationType.Header,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SetCustomMultiPictureRequest::getXConferenceAuthorization, (req, v) -> {
                req.setXConferenceAuthorization(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(RestCustomMultiPictureBody.class),
            f -> f.withMarshaller(SetCustomMultiPictureRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef setHostView = genForsetHostView();

    private static HttpRequestDef genForsetHostView() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, SetHostViewRequest.class, SetHostViewResponse.class)
                .withName("SetHostView")
                .withUri("/v1/mmc/control/conferences/chairView")
                .withContentType("application/json");

        // requests
        builder.withRequestField("conferenceID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SetHostViewRequest::getConferenceID, (req, v) -> {
                req.setConferenceID(v);
            }));
        builder.withRequestField("X-Conference-Authorization",
            LocationType.Header,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SetHostViewRequest::getXConferenceAuthorization, (req, v) -> {
                req.setXConferenceAuthorization(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(RestChairViewReqBody.class),
            f -> f.withMarshaller(SetHostViewRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef setMultiPicture =
        genForsetMultiPicture();

    private static HttpRequestDef genForsetMultiPicture() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, SetMultiPictureRequest.class, SetMultiPictureResponse.class)
                .withName("SetMultiPicture")
                .withUri("/v1/mmc/control/conferences/display/multiPicture")
                .withContentType("application/json");

        // requests
        builder.withRequestField("conferenceID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SetMultiPictureRequest::getConferenceID, (req, v) -> {
                req.setConferenceID(v);
            }));
        builder.withRequestField("X-Conference-Authorization",
            LocationType.Header,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SetMultiPictureRequest::getXConferenceAuthorization, (req, v) -> {
                req.setXConferenceAuthorization(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(RestMixedPictureBody.class),
            f -> f.withMarshaller(SetMultiPictureRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef setParticipantView =
        genForsetParticipantView();

    private static HttpRequestDef genForsetParticipantView() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, SetParticipantViewRequest.class, SetParticipantViewResponse.class)
                .withName("SetParticipantView")
                .withUri("/v1/mmc/control/conferences/partView")
                .withContentType("application/json");

        // requests
        builder.withRequestField("conferenceID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SetParticipantViewRequest::getConferenceID, (req, v) -> {
                req.setConferenceID(v);
            }));
        builder.withRequestField("participantID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SetParticipantViewRequest::getParticipantID, (req, v) -> {
                req.setParticipantID(v);
            }));
        builder.withRequestField("X-Conference-Authorization",
            LocationType.Header,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SetParticipantViewRequest::getXConferenceAuthorization, (req, v) -> {
                req.setXConferenceAuthorization(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(RestParticipantViewReqBody.class),
            f -> f.withMarshaller(SetParticipantViewRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef setRole = genForsetRole();

    private static HttpRequestDef genForsetRole() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, SetRoleRequest.class, SetRoleResponse.class)
                .withName("SetRole")
                .withUri("/v1/mmc/control/conferences/participants/role")
                .withContentType("application/json");

        // requests
        builder.withRequestField("conferenceID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SetRoleRequest::getConferenceID, (req, v) -> {
                req.setConferenceID(v);
            }));
        builder.withRequestField("participantID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SetRoleRequest::getParticipantID, (req, v) -> {
                req.setParticipantID(v);
            }));
        builder.withRequestField("X-Conference-Authorization",
            LocationType.Header,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SetRoleRequest::getXConferenceAuthorization, (req, v) -> {
                req.setXConferenceAuthorization(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(RestChairTokenReqBody.class),
            f -> f.withMarshaller(SetRoleRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef setSsoConfig = genForsetSsoConfig();

    private static HttpRequestDef genForsetSsoConfig() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, SetSsoConfigRequest.class, SetSsoConfigResponse.class)
                .withName("SetSsoConfig")
                .withUri("/v1/usg/acs/authorizeconfig")
                .withContentType("application/json");

        // requests
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SetSsoConfigRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SetSsoConfigRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(AuthorizeConfigInfoRequestBody.class),
            f -> f.withMarshaller(SetSsoConfigRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef showConfOrg = genForshowConfOrg();

    private static HttpRequestDef genForshowConfOrg() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ShowConfOrgRequest.class, ShowConfOrgResponse.class)
                .withName("ShowConfOrg")
                .withUri("/v1/mmc/management/conferences/confOrg")
                .withContentType("application/json");

        // requests
        builder.withRequestField("conferenceID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowConfOrgRequest::getConferenceID, (req, v) -> {
                req.setConferenceID(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef showCorp = genForshowCorp();

    private static HttpRequestDef genForshowCorp() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ShowCorpRequest.class, ShowCorpResponse.class)
                .withName("ShowCorp")
                .withUri("/v1/usg/dcs/sp/corp/{id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowCorpRequest::getId, (req, v) -> {
                req.setId(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowCorpRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowCorpRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef showCorpAdmin =
        genForshowCorpAdmin();

    private static HttpRequestDef genForshowCorpAdmin() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ShowCorpAdminRequest.class, ShowCorpAdminResponse.class)
                .withName("ShowCorpAdmin")
                .withUri("/v1/usg/dcs/corp/admin/{account}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("account",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowCorpAdminRequest::getAccount, (req, v) -> {
                req.setAccount(v);
            }));
        builder.withRequestField("accountType",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ShowCorpAdminRequest::getAccountType, (req, v) -> {
                req.setAccountType(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowCorpAdminRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowCorpAdminRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef showCorpBasicInfo =
        genForshowCorpBasicInfo();

    private static HttpRequestDef genForshowCorpBasicInfo() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ShowCorpBasicInfoRequest.class, ShowCorpBasicInfoResponse.class)
                .withName("ShowCorpBasicInfo")
                .withUri("/v1/usg/dcs/corp")
                .withContentType("application/json");

        // requests
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowCorpBasicInfoRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowCorpBasicInfoRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef showCorpResource =
        genForshowCorpResource();

    private static HttpRequestDef genForshowCorpResource() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ShowCorpResourceRequest.class, ShowCorpResourceResponse.class)
                .withName("ShowCorpResource")
                .withUri("/v1/usg/dcs/corp/resource")
                .withContentType("application/json");

        // requests
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowCorpResourceRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowCorpResourceRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef showDeptAndChildDept =
        genForshowDeptAndChildDept();

    private static HttpRequestDef genForshowDeptAndChildDept() {
        // basic
        HttpRequestDef.Builder builder = HttpRequestDef
            .builder(HttpMethod.GET, ShowDeptAndChildDeptRequest.class, ShowDeptAndChildDeptResponse.class)
            .withName("ShowDeptAndChildDept")
            .withUri("/v1/usg/dcs/member/dept/{dept_code}")
            .withContentType("application/json");

        // requests
        builder.withRequestField("dept_code",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowDeptAndChildDeptRequest::getDeptCode, (req, v) -> {
                req.setDeptCode(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowDeptAndChildDeptRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowDeptAndChildDeptRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef showDeviceDetail =
        genForshowDeviceDetail();

    private static HttpRequestDef genForshowDeviceDetail() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ShowDeviceDetailRequest.class, ShowDeviceDetailResponse.class)
                .withName("ShowDeviceDetail")
                .withUri("/v1/usg/dcs/corp/device/{sn}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("sn",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowDeviceDetailRequest::getSn, (req, v) -> {
                req.setSn(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowDeviceDetailRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowDeviceDetailRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef showDeviceStatus =
        genForshowDeviceStatus();

    private static HttpRequestDef genForshowDeviceStatus() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, ShowDeviceStatusRequest.class, ShowDeviceStatusResponse.class)
                .withName("ShowDeviceStatus")
                .withUri("/v1/usg/acs/ap/userstatus")
                .withContentType("application/json");

        // requests
        builder.withRequestField("X-Request-ID",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowDeviceStatusRequest::getXRequestID, (req, v) -> {
                req.setXRequestID(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowDeviceStatusRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.>withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(List.class),
            f -> f.withMarshaller(ShowDeviceStatusRequest::getBody, (req, v) -> {
                req.setBody(v);
            }).withInnerContainerType(String.class));

        // response

        builder.>withResponseField("body",
            LocationType.Body,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(List.class),
            f -> f.withMarshaller(ShowDeviceStatusResponse::getBody, (response, data) -> {
                response.setBody(data);
            }).withInnerContainerType(UserStatusDTO.class));

        return builder.build();
    }

    public static final HttpRequestDef showDeviceTypes =
        genForshowDeviceTypes();

    private static HttpRequestDef genForshowDeviceTypes() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ShowDeviceTypesRequest.class, ShowDeviceTypesResponse.class)
                .withName("ShowDeviceTypes")
                .withUri("/v1/usg/dcs/termdevtype")
                .withContentType("application/json");

        // requests
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowDeviceTypesRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowDeviceTypesRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));

        // response

        builder.>withResponseField("body",
            LocationType.Body,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(List.class),
            f -> f.withMarshaller(ShowDeviceTypesResponse::getBody, (response, data) -> {
                response.setBody(data);
            }).withInnerContainerType(QueryDeviceTypeResultDTO.class));

        return builder.build();
    }

    public static final HttpRequestDef showHisMeetingDetail =
        genForshowHisMeetingDetail();

    private static HttpRequestDef genForshowHisMeetingDetail() {
        // basic
        HttpRequestDef.Builder builder = HttpRequestDef
            .builder(HttpMethod.GET, ShowHisMeetingDetailRequest.class, ShowHisMeetingDetailResponse.class)
            .withName("ShowHisMeetingDetail")
            .withUri("/v1/mmc/management/conferences/history/confDetail")
            .withContentType("application/json");

        // requests
        builder.withRequestField("confUUID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowHisMeetingDetailRequest::getConfUUID, (req, v) -> {
                req.setConfUUID(v);
            }));
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ShowHisMeetingDetailRequest::getOffset, (req, v) -> {
                req.setOffset(v);
            }));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ShowHisMeetingDetailRequest::getLimit, (req, v) -> {
                req.setLimit(v);
            }));
        builder.withRequestField("searchKey",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowHisMeetingDetailRequest::getSearchKey, (req, v) -> {
                req.setSearchKey(v);
            }));
        builder.withRequestField("userUUID",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowHisMeetingDetailRequest::getUserUUID, (req, v) -> {
                req.setUserUUID(v);
            }));
        builder.withRequestField("X-Type",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ShowHisMeetingDetailRequest::getXType, (req, v) -> {
                req.setXType(v);
            }));
        builder.withRequestField("X-Query-Type",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ShowHisMeetingDetailRequest::getXQueryType, (req, v) -> {
                req.setXQueryType(v);
            }));
        builder.withRequestField("X-Authorization-Type",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowHisMeetingDetailRequest::getXAuthorizationType, (req, v) -> {
                req.setXAuthorizationType(v);
            }));
        builder.withRequestField("X-Site-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowHisMeetingDetailRequest::getXSiteId, (req, v) -> {
                req.setXSiteId(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef showMeetingDetail =
        genForshowMeetingDetail();

    private static HttpRequestDef genForshowMeetingDetail() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ShowMeetingDetailRequest.class, ShowMeetingDetailResponse.class)
                .withName("ShowMeetingDetail")
                .withUri("/v1/mmc/management/conferences/confDetail")
                .withContentType("application/json");

        // requests
        builder.withRequestField("conferenceID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowMeetingDetailRequest::getConferenceID, (req, v) -> {
                req.setConferenceID(v);
            }));
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ShowMeetingDetailRequest::getOffset, (req, v) -> {
                req.setOffset(v);
            }));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ShowMeetingDetailRequest::getLimit, (req, v) -> {
                req.setLimit(v);
            }));
        builder.withRequestField("searchKey",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowMeetingDetailRequest::getSearchKey, (req, v) -> {
                req.setSearchKey(v);
            }));
        builder.withRequestField("userUUID",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowMeetingDetailRequest::getUserUUID, (req, v) -> {
                req.setUserUUID(v);
            }));
        builder.withRequestField("X-Type",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowMeetingDetailRequest::getXType, (req, v) -> {
                req.setXType(v);
            }));
        builder.withRequestField("X-Query-Type",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowMeetingDetailRequest::getXQueryType, (req, v) -> {
                req.setXQueryType(v);
            }));
        builder.withRequestField("X-Authorization-Type",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowMeetingDetailRequest::getXAuthorizationType, (req, v) -> {
                req.setXAuthorizationType(v);
            }));
        builder.withRequestField("X-Site-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowMeetingDetailRequest::getXSiteId, (req, v) -> {
                req.setXSiteId(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef showMeetingFile =
        genForshowMeetingFile();

    private static HttpRequestDef genForshowMeetingFile() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ShowMeetingFileRequest.class, ShowMeetingFileResponse.class)
                .withName("ShowMeetingFile")
                .withUri("/v1/usg/sss/meeting-files/{file_code}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("file_code",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowMeetingFileRequest::getFileCode, (req, v) -> {
                req.setFileCode(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowMeetingFileRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowMeetingFileRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef showMeetingFileList =
        genForshowMeetingFileList();

    private static HttpRequestDef genForshowMeetingFileList() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, ShowMeetingFileListRequest.class, ShowMeetingFileListResponse.class)
                .withName("ShowMeetingFileList")
                .withUri("/v1/usg/sss/meeting-files/open-meeting-file-list")
                .withContentType("application/json");

        // requests
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowMeetingFileListRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowMeetingFileListRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.>withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(Map.class),
            f -> f.withMarshaller(ShowMeetingFileListRequest::getBody, (req, v) -> {
                req.setBody(v);
            }).withInnerContainerType(String.class));

        // response

        return builder.build();
    }

    public static final HttpRequestDef showMyInfo = genForshowMyInfo();

    private static HttpRequestDef genForshowMyInfo() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ShowMyInfoRequest.class, ShowMyInfoResponse.class)
                .withName("ShowMyInfo")
                .withUri("/v1/usg/dcs/member")
                .withContentType("application/json");

        // requests
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowMyInfoRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowMyInfoRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef showOnlineMeetingDetail =
        genForshowOnlineMeetingDetail();

    private static HttpRequestDef genForshowOnlineMeetingDetail() {
        // basic
        HttpRequestDef.Builder builder = HttpRequestDef
            .builder(HttpMethod.GET, ShowOnlineMeetingDetailRequest.class, ShowOnlineMeetingDetailResponse.class)
            .withName("ShowOnlineMeetingDetail")
            .withUri("/v1/mmc/management/conferences/online/confDetail")
            .withContentType("application/json");

        // requests
        builder.withRequestField("conferenceID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowOnlineMeetingDetailRequest::getConferenceID, (req, v) -> {
                req.setConferenceID(v);
            }));
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ShowOnlineMeetingDetailRequest::getOffset, (req, v) -> {
                req.setOffset(v);
            }));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ShowOnlineMeetingDetailRequest::getLimit, (req, v) -> {
                req.setLimit(v);
            }));
        builder.withRequestField("searchKey",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowOnlineMeetingDetailRequest::getSearchKey, (req, v) -> {
                req.setSearchKey(v);
            }));
        builder.withRequestField("userUUID",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowOnlineMeetingDetailRequest::getUserUUID, (req, v) -> {
                req.setUserUUID(v);
            }));
        builder.withRequestField("X-Type",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowOnlineMeetingDetailRequest::getXType, (req, v) -> {
                req.setXType(v);
            }));
        builder.withRequestField("X-Query-Type",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowOnlineMeetingDetailRequest::getXQueryType, (req, v) -> {
                req.setXQueryType(v);
            }));
        builder.withRequestField("X-Authorization-Type",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowOnlineMeetingDetailRequest::getXAuthorizationType, (req, v) -> {
                req.setXAuthorizationType(v);
            }));
        builder.withRequestField("X-Site-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowOnlineMeetingDetailRequest::getXSiteId, (req, v) -> {
                req.setXSiteId(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef showOrgRes = genForshowOrgRes();

    private static HttpRequestDef genForshowOrgRes() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ShowOrgResRequest.class, ShowOrgResResponse.class)
                .withName("ShowOrgRes")
                .withUri("/v1/mmc/management/orgRes")
                .withContentType("application/json");

        // requests

        // response

        return builder.build();
    }

    public static final HttpRequestDef showProgram = genForshowProgram();

    private static HttpRequestDef genForshowProgram() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ShowProgramRequest.class, ShowProgramResponse.class)
                .withName("ShowProgram")
                .withUri("/v1/usg/sss/programs/{id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowProgramRequest::getId, (req, v) -> {
                req.setId(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowProgramRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowProgramRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef showPublication =
        genForshowPublication();

    private static HttpRequestDef genForshowPublication() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ShowPublicationRequest.class, ShowPublicationResponse.class)
                .withName("ShowPublication")
                .withUri("/v1/usg/sss/publications/{id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowPublicationRequest::getId, (req, v) -> {
                req.setId(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowPublicationRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowPublicationRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef showRealTimeInfoOfMeeting =
        genForshowRealTimeInfoOfMeeting();

    private static HttpRequestDef genForshowRealTimeInfoOfMeeting() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef
                .builder(HttpMethod.GET,
                    ShowRealTimeInfoOfMeetingRequest.class,
                    ShowRealTimeInfoOfMeetingResponse.class)
                .withName("ShowRealTimeInfoOfMeeting")
                .withUri("/v1/mmc/control/conferences/realTimeInfo")
                .withContentType("application/json");

        // requests
        builder.withRequestField("conferenceID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowRealTimeInfoOfMeetingRequest::getConferenceID, (req, v) -> {
                req.setConferenceID(v);
            }));
        builder.withRequestField("X-Conference-Authorization",
            LocationType.Header,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowRealTimeInfoOfMeetingRequest::getXConferenceAuthorization, (req, v) -> {
                req.setXConferenceAuthorization(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef showRecordingDetail =
        genForshowRecordingDetail();

    private static HttpRequestDef genForshowRecordingDetail() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ShowRecordingDetailRequest.class, ShowRecordingDetailResponse.class)
                .withName("ShowRecordingDetail")
                .withUri("/v1/mmc/management/conferences/record/files")
                .withContentType("application/json");

        // requests
        builder.withRequestField("confUUID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowRecordingDetailRequest::getConfUUID, (req, v) -> {
                req.setConfUUID(v);
            }));
        builder.withRequestField("userUUID",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowRecordingDetailRequest::getUserUUID, (req, v) -> {
                req.setUserUUID(v);
            }));
        builder.withRequestField("X-Authorization-Type",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowRecordingDetailRequest::getXAuthorizationType, (req, v) -> {
                req.setXAuthorizationType(v);
            }));
        builder.withRequestField("X-Site-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowRecordingDetailRequest::getXSiteId, (req, v) -> {
                req.setXSiteId(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef showRecordingFileDownloadUrls =
        genForshowRecordingFileDownloadUrls();

    private static HttpRequestDef genForshowRecordingFileDownloadUrls() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef
                .builder(HttpMethod.GET,
                    ShowRecordingFileDownloadUrlsRequest.class,
                    ShowRecordingFileDownloadUrlsResponse.class)
                .withName("ShowRecordingFileDownloadUrls")
                .withUri("/v1/mmc/management/record/downloadurls")
                .withContentType("application/json");

        // requests
        builder.withRequestField("confUUID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowRecordingFileDownloadUrlsRequest::getConfUUID, (req, v) -> {
                req.setConfUUID(v);
            }));
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ShowRecordingFileDownloadUrlsRequest::getOffset, (req, v) -> {
                req.setOffset(v);
            }));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ShowRecordingFileDownloadUrlsRequest::getLimit, (req, v) -> {
                req.setLimit(v);
            }));
        builder.withRequestField("X-Authorization-Type",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowRecordingFileDownloadUrlsRequest::getXAuthorizationType, (req, v) -> {
                req.setXAuthorizationType(v);
            }));
        builder.withRequestField("X-Site-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowRecordingFileDownloadUrlsRequest::getXSiteId, (req, v) -> {
                req.setXSiteId(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef showRegionInfoOfMeeting =
        genForshowRegionInfoOfMeeting();

    private static HttpRequestDef genForshowRegionInfoOfMeeting() {
        // basic
        HttpRequestDef.Builder builder = HttpRequestDef
            .builder(HttpMethod.GET, ShowRegionInfoOfMeetingRequest.class, ShowRegionInfoOfMeetingResponse.class)
            .withName("ShowRegionInfoOfMeeting")
            .withUri("/v1/mmc/management/conferences/region/info")
            .withContentType("application/json");

        // requests
        builder.withRequestField("conferenceID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowRegionInfoOfMeetingRequest::getConferenceID, (req, v) -> {
                req.setConferenceID(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef showRoomSetting =
        genForshowRoomSetting();

    private static HttpRequestDef genForshowRoomSetting() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ShowRoomSettingRequest.class, ShowRoomSettingResponse.class)
                .withName("ShowRoomSetting")
                .withUri("/v1/wss/webinar/open/room-setting/{conference_id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("conference_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowRoomSettingRequest::getConferenceId, (req, v) -> {
                req.setConferenceId(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowRoomSettingRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowRoomSettingRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef showSpRes = genForshowSpRes();

    private static HttpRequestDef genForshowSpRes() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ShowSpResRequest.class, ShowSpResResponse.class)
                .withName("ShowSpRes")
                .withUri("/v1/mmc/management/spRes")
                .withContentType("application/json");

        // requests

        // response

        return builder.build();
    }

    public static final HttpRequestDef showSpResource =
        genForshowSpResource();

    private static HttpRequestDef genForshowSpResource() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ShowSpResourceRequest.class, ShowSpResourceResponse.class)
                .withName("ShowSpResource")
                .withUri("/v1/usg/dcs/sp/resource")
                .withContentType("application/json");

        // requests
        builder.withRequestField("queryGroup",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Boolean.class),
            f -> f.withMarshaller(ShowSpResourceRequest::getQueryGroup, (req, v) -> {
                req.setQueryGroup(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowSpResourceRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowSpResourceRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef showSsoConfig =
        genForshowSsoConfig();

    private static HttpRequestDef genForshowSsoConfig() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ShowSsoConfigRequest.class, ShowSsoConfigResponse.class)
                .withName("ShowSsoConfig")
                .withUri("/v1/usg/acs/authorizeconfig")
                .withContentType("application/json");

        // requests
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowSsoConfigRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowSsoConfigRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef showUserDetail =
        genForshowUserDetail();

    private static HttpRequestDef genForshowUserDetail() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ShowUserDetailRequest.class, ShowUserDetailResponse.class)
                .withName("ShowUserDetail")
                .withUri("/v1/usg/dcs/corp/member/{account}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("account",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowUserDetailRequest::getAccount, (req, v) -> {
                req.setAccount(v);
            }));
        builder.withRequestField("accountType",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ShowUserDetailRequest::getAccountType, (req, v) -> {
                req.setAccountType(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowUserDetailRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowUserDetailRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef showWebinar = genForshowWebinar();

    private static HttpRequestDef genForshowWebinar() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ShowWebinarRequest.class, ShowWebinarResponse.class)
                .withName("ShowWebinar")
                .withUri("/v1/wss/webinar/open/conferences/{conference_id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("conference_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowWebinarRequest::getConferenceId, (req, v) -> {
                req.setConferenceId(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowWebinarRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowWebinarRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef stopMeeting = genForstopMeeting();

    private static HttpRequestDef genForstopMeeting() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, StopMeetingRequest.class, StopMeetingResponse.class)
                .withName("StopMeeting")
                .withUri("/v1/mmc/control/conferences/stop")
                .withContentType("application/json");

        // requests
        builder.withRequestField("conferenceID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(StopMeetingRequest::getConferenceID, (req, v) -> {
                req.setConferenceID(v);
            }));
        builder.withRequestField("X-Conference-Authorization",
            LocationType.Header,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(StopMeetingRequest::getXConferenceAuthorization, (req, v) -> {
                req.setXConferenceAuthorization(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef switchMode = genForswitchMode();

    private static HttpRequestDef genForswitchMode() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, SwitchModeRequest.class, SwitchModeResponse.class)
                .withName("SwitchMode")
                .withUri("/v1/mmc/control/conferences/display/mode")
                .withContentType("application/json");

        // requests
        builder.withRequestField("conferenceID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SwitchModeRequest::getConferenceID, (req, v) -> {
                req.setConferenceID(v);
            }));
        builder.withRequestField("X-Conference-Authorization",
            LocationType.Header,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SwitchModeRequest::getXConferenceAuthorization, (req, v) -> {
                req.setXConferenceAuthorization(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(RestSwitchModeReqBody.class),
            f -> f.withMarshaller(SwitchModeRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef updateContact =
        genForupdateContact();

    private static HttpRequestDef genForupdateContact() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, UpdateContactRequest.class, UpdateContactResponse.class)
                .withName("UpdateContact")
                .withUri("/v1/usg/dcs/member/contact")
                .withContentType("application/json");

        // requests
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateContactRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateContactRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(VerificationCodeDTO.class),
            f -> f.withMarshaller(UpdateContactRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef updateCorp = genForupdateCorp();

    private static HttpRequestDef genForupdateCorp() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, UpdateCorpRequest.class, UpdateCorpResponse.class)
                .withName("UpdateCorp")
                .withUri("/v1/usg/dcs/sp/corp/{id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateCorpRequest::getId, (req, v) -> {
                req.setId(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateCorpRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateCorpRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(ModCorpDTO.class),
            f -> f.withMarshaller(UpdateCorpRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef updateCorpBasicInfo =
        genForupdateCorpBasicInfo();

    private static HttpRequestDef genForupdateCorpBasicInfo() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, UpdateCorpBasicInfoRequest.class, UpdateCorpBasicInfoResponse.class)
                .withName("UpdateCorpBasicInfo")
                .withUri("/v1/usg/dcs/corp")
                .withContentType("application/json");

        // requests
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateCorpBasicInfoRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateCorpBasicInfoRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(ModCorpBasicInfoDTO.class),
            f -> f.withMarshaller(UpdateCorpBasicInfoRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef updateDepartment =
        genForupdateDepartment();

    private static HttpRequestDef genForupdateDepartment() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, UpdateDepartmentRequest.class, UpdateDepartmentResponse.class)
                .withName("UpdateDepartment")
                .withUri("/v1/usg/dcs/corp/dept/{dept_code}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("dept_code",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateDepartmentRequest::getDeptCode, (req, v) -> {
                req.setDeptCode(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateDepartmentRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateDepartmentRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(ModDeptDTO.class),
            f -> f.withMarshaller(UpdateDepartmentRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef updateDevice = genForupdateDevice();

    private static HttpRequestDef genForupdateDevice() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, UpdateDeviceRequest.class, UpdateDeviceResponse.class)
                .withName("UpdateDevice")
                .withUri("/v1/usg/dcs/corp/device/{sn}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("sn",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateDeviceRequest::getSn, (req, v) -> {
                req.setSn(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateDeviceRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateDeviceRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(ModDeviceDTO.class),
            f -> f.withMarshaller(UpdateDeviceRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef updateMaterial =
        genForupdateMaterial();

    private static HttpRequestDef genForupdateMaterial() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, UpdateMaterialRequest.class, UpdateMaterialResponse.class)
                .withName("UpdateMaterial")
                .withUri("/v1/usg/sss/materials/{id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateMaterialRequest::getId, (req, v) -> {
                req.setId(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateMaterialRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateMaterialRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(UpdateMaterialRequestDTO.class),
            f -> f.withMarshaller(UpdateMaterialRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef updateMeeting =
        genForupdateMeeting();

    private static HttpRequestDef genForupdateMeeting() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, UpdateMeetingRequest.class, UpdateMeetingResponse.class)
                .withName("UpdateMeeting")
                .withUri("/v1/mmc/management/conferences")
                .withContentType("application/json");

        // requests
        builder.withRequestField("conferenceID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateMeetingRequest::getConferenceID, (req, v) -> {
                req.setConferenceID(v);
            }));
        builder.withRequestField("userUUID",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateMeetingRequest::getUserUUID, (req, v) -> {
                req.setUserUUID(v);
            }));
        builder.withRequestField("X-Authorization-Type",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateMeetingRequest::getXAuthorizationType, (req, v) -> {
                req.setXAuthorizationType(v);
            }));
        builder.withRequestField("X-Site-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateMeetingRequest::getXSiteId, (req, v) -> {
                req.setXSiteId(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(RestScheduleConfDTO.class),
            f -> f.withMarshaller(UpdateMeetingRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        builder.>withResponseField("body",
            LocationType.Body,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(List.class),
            f -> f.withMarshaller(UpdateMeetingResponse::getBody, (response, data) -> {
                response.setBody(data);
            }).withInnerContainerType(ConferenceInfo.class));

        return builder.build();
    }

    public static final HttpRequestDef updateMemberVmr =
        genForupdateMemberVmr();

    private static HttpRequestDef genForupdateMemberVmr() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, UpdateMemberVmrRequest.class, UpdateMemberVmrResponse.class)
                .withName("UpdateMemberVmr")
                .withUri("/v1/usg/dcs/member/vmr/{id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateMemberVmrRequest::getId, (req, v) -> {
                req.setId(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateMemberVmrRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateMemberVmrRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(ModVmrDTO.class),
            f -> f.withMarshaller(UpdateMemberVmrRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef updateMyInfo = genForupdateMyInfo();

    private static HttpRequestDef genForupdateMyInfo() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, UpdateMyInfoRequest.class, UpdateMyInfoResponse.class)
                .withName("UpdateMyInfo")
                .withUri("/v1/usg/dcs/member")
                .withContentType("application/json");

        // requests
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateMyInfoRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateMyInfoRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(ModMemberDTO.class),
            f -> f.withMarshaller(UpdateMyInfoRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef updateProgram =
        genForupdateProgram();

    private static HttpRequestDef genForupdateProgram() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, UpdateProgramRequest.class, UpdateProgramResponse.class)
                .withName("UpdateProgram")
                .withUri("/v1/usg/sss/programs/{id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateProgramRequest::getId, (req, v) -> {
                req.setId(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateProgramRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateProgramRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(UpdateProgramRequestDTO.class),
            f -> f.withMarshaller(UpdateProgramRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef updatePublication =
        genForupdatePublication();

    private static HttpRequestDef genForupdatePublication() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, UpdatePublicationRequest.class, UpdatePublicationResponse.class)
                .withName("UpdatePublication")
                .withUri("/v1/usg/sss/publications/{id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdatePublicationRequest::getId, (req, v) -> {
                req.setId(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdatePublicationRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdatePublicationRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(UpdatePublicationRequestDTO.class),
            f -> f.withMarshaller(UpdatePublicationRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef updatePwd = genForupdatePwd();

    private static HttpRequestDef genForupdatePwd() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, UpdatePwdRequest.class, UpdatePwdResponse.class)
                .withName("UpdatePwd")
                .withUri("/v1/usg/acs/password")
                .withContentType("application/json");

        // requests
        builder.withRequestField("X-Request-ID",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdatePwdRequest::getXRequestID, (req, v) -> {
                req.setXRequestID(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdatePwdRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(ModPwdReqDTO.class),
            f -> f.withMarshaller(UpdatePwdRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef updateRecurringMeeting =
        genForupdateRecurringMeeting();

    private static HttpRequestDef genForupdateRecurringMeeting() {
        // basic
        HttpRequestDef.Builder builder = HttpRequestDef
            .builder(HttpMethod.PUT, UpdateRecurringMeetingRequest.class, UpdateRecurringMeetingResponse.class)
            .withName("UpdateRecurringMeeting")
            .withUri("/v1/mmc/management/cycleconferences")
            .withContentType("application/json");

        // requests
        builder.withRequestField("userUUID",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateRecurringMeetingRequest::getUserUUID, (req, v) -> {
                req.setUserUUID(v);
            }));
        builder.withRequestField("conferenceID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateRecurringMeetingRequest::getConferenceID, (req, v) -> {
                req.setConferenceID(v);
            }));
        builder.withRequestField("X-Authorization-Type",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateRecurringMeetingRequest::getXAuthorizationType, (req, v) -> {
                req.setXAuthorizationType(v);
            }));
        builder.withRequestField("X-Site-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateRecurringMeetingRequest::getXSiteId, (req, v) -> {
                req.setXSiteId(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(RestScheduleConfDTO.class),
            f -> f.withMarshaller(UpdateRecurringMeetingRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        builder.>withResponseField("body",
            LocationType.Body,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(List.class),
            f -> f.withMarshaller(UpdateRecurringMeetingResponse::getBody, (response, data) -> {
                response.setBody(data);
            }).withInnerContainerType(ConferenceInfo.class));

        return builder.build();
    }

    public static final HttpRequestDef updateRecurringSubMeeting =
        genForupdateRecurringSubMeeting();

    private static HttpRequestDef genForupdateRecurringSubMeeting() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef
                .builder(HttpMethod.PUT,
                    UpdateRecurringSubMeetingRequest.class,
                    UpdateRecurringSubMeetingResponse.class)
                .withName("UpdateRecurringSubMeeting")
                .withUri("/v1/mmc/management/conferences/cyclesubconf")
                .withContentType("application/json");

        // requests
        builder.withRequestField("userUUID",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateRecurringSubMeetingRequest::getUserUUID, (req, v) -> {
                req.setUserUUID(v);
            }));
        builder.withRequestField("conferenceID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateRecurringSubMeetingRequest::getConferenceID, (req, v) -> {
                req.setConferenceID(v);
            }));
        builder.withRequestField("X-Authorization-Type",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateRecurringSubMeetingRequest::getXAuthorizationType, (req, v) -> {
                req.setXAuthorizationType(v);
            }));
        builder.withRequestField("X-Site-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateRecurringSubMeetingRequest::getXSiteId, (req, v) -> {
                req.setXSiteId(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(RestScheduleCycleConfDTO.class),
            f -> f.withMarshaller(UpdateRecurringSubMeetingRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef updateResource =
        genForupdateResource();

    private static HttpRequestDef genForupdateResource() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, UpdateResourceRequest.class, UpdateResourceResponse.class)
                .withName("UpdateResource")
                .withUri("/v1/usg/dcs/sp/corp/{corp_id}/resource")
                .withContentType("application/json");

        // requests
        builder.withRequestField("corp_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateResourceRequest::getCorpId, (req, v) -> {
                req.setCorpId(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateResourceRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateResourceRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.>withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(List.class),
            f -> f.withMarshaller(UpdateResourceRequest::getBody, (req, v) -> {
                req.setBody(v);
            }).withInnerContainerType(ModResourceDTO.class));

        // response

        return builder.build();
    }

    public static final HttpRequestDef updateRoomSetting =
        genForupdateRoomSetting();

    private static HttpRequestDef genForupdateRoomSetting() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, UpdateRoomSettingRequest.class, UpdateRoomSettingResponse.class)
                .withName("UpdateRoomSetting")
                .withUri("/v1/wss/webinar/open/room-setting/{conference_id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("conference_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateRoomSettingRequest::getConferenceId, (req, v) -> {
                req.setConferenceId(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateRoomSettingRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateRoomSettingRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(OpenRoomSettingReq.class),
            f -> f.withMarshaller(UpdateRoomSettingRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef updateStartedConfConfig =
        genForupdateStartedConfConfig();

    private static HttpRequestDef genForupdateStartedConfConfig() {
        // basic
        HttpRequestDef.Builder builder = HttpRequestDef
            .builder(HttpMethod.PUT, UpdateStartedConfConfigRequest.class, UpdateStartedConfConfigResponse.class)
            .withName("UpdateStartedConfConfig")
            .withUri("/v1/mmc/control/conferences/updateStartedConfConfig")
            .withContentType("application/json");

        // requests
        builder.withRequestField("conferenceID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateStartedConfConfigRequest::getConferenceID, (req, v) -> {
                req.setConferenceID(v);
            }));
        builder.withRequestField("X-Conference-Authorization",
            LocationType.Header,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateStartedConfConfigRequest::getXConferenceAuthorization, (req, v) -> {
                req.setXConferenceAuthorization(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(UpdateStartedConfigReqBody.class),
            f -> f.withMarshaller(UpdateStartedConfConfigRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef updateToken = genForupdateToken();

    private static HttpRequestDef genForupdateToken() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, UpdateTokenRequest.class, UpdateTokenResponse.class)
                .withName("UpdateToken")
                .withUri("/v1/usg/acs/token")
                .withContentType("application/json");

        // requests
        builder.withRequestField("X-Request-ID",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateTokenRequest::getXRequestID, (req, v) -> {
                req.setXRequestID(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateTokenRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef updateUser = genForupdateUser();

    private static HttpRequestDef genForupdateUser() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, UpdateUserRequest.class, UpdateUserResponse.class)
                .withName("UpdateUser")
                .withUri("/v1/usg/dcs/corp/member/{account}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("account",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateUserRequest::getAccount, (req, v) -> {
                req.setAccount(v);
            }));
        builder.withRequestField("accountType",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(UpdateUserRequest::getAccountType, (req, v) -> {
                req.setAccountType(v);
            }));
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateUserRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateUserRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(ModUserDTO.class),
            f -> f.withMarshaller(UpdateUserRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef updateWebinar =
        genForupdateWebinar();

    private static HttpRequestDef genForupdateWebinar() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, UpdateWebinarRequest.class, UpdateWebinarResponse.class)
                .withName("UpdateWebinar")
                .withUri("/v1/wss/webinar/open/conferences")
                .withContentType("application/json");

        // requests
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateWebinarRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateWebinarRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(OpenEditConfReq.class),
            f -> f.withMarshaller(UpdateWebinarRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef uploadFile = genForuploadFile();

    private static HttpRequestDef genForuploadFile() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, UploadFileRequest.class, UploadFileResponse.class)
                .withName("UploadFile")
                .withUri("/v1/wss/webinar/open/res/file")
                .withContentType("multipart/form-data");

        // requests
        builder.withRequestField("X-Request-Id",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UploadFileRequest::getXRequestId, (req, v) -> {
                req.setXRequestId(v);
            }));
        builder.withRequestField("Accept-Language",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UploadFileRequest::getAcceptLanguage, (req, v) -> {
                req.setAcceptLanguage(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(UploadFileRequestBody.class),
            f -> f.withMarshaller(UploadFileRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef searchQosHistoryMeetings =
        genForsearchQosHistoryMeetings();

    private static HttpRequestDef genForsearchQosHistoryMeetings() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef
                .builder(HttpMethod.GET, SearchQosHistoryMeetingsRequest.class, SearchQosHistoryMeetingsResponse.class)
                .withName("SearchQosHistoryMeetings")
                .withUri("/v1/metrics/conferences/history")
                .withContentType("application/json");

        // requests
        builder.withRequestField("startDate",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(Long.class),
            f -> f.withMarshaller(SearchQosHistoryMeetingsRequest::getStartDate, (req, v) -> {
                req.setStartDate(v);
            }));
        builder.withRequestField("endDate",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(Long.class),
            f -> f.withMarshaller(SearchQosHistoryMeetingsRequest::getEndDate, (req, v) -> {
                req.setEndDate(v);
            }));
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchQosHistoryMeetingsRequest::getOffset, (req, v) -> {
                req.setOffset(v);
            }));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchQosHistoryMeetingsRequest::getLimit, (req, v) -> {
                req.setLimit(v);
            }));
        builder.withRequestField("searchKey",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchQosHistoryMeetingsRequest::getSearchKey, (req, v) -> {
                req.setSearchKey(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef searchQosOnlineMeetings =
        genForsearchQosOnlineMeetings();

    private static HttpRequestDef genForsearchQosOnlineMeetings() {
        // basic
        HttpRequestDef.Builder builder = HttpRequestDef
            .builder(HttpMethod.GET, SearchQosOnlineMeetingsRequest.class, SearchQosOnlineMeetingsResponse.class)
            .withName("SearchQosOnlineMeetings")
            .withUri("/v1/metrics/conferences/online")
            .withContentType("application/json");

        // requests
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchQosOnlineMeetingsRequest::getOffset, (req, v) -> {
                req.setOffset(v);
            }));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchQosOnlineMeetingsRequest::getLimit, (req, v) -> {
                req.setLimit(v);
            }));
        builder.withRequestField("searchKey",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchQosOnlineMeetingsRequest::getSearchKey, (req, v) -> {
                req.setSearchKey(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef searchQosParticipantDetail =
        genForsearchQosParticipantDetail();

    private static HttpRequestDef genForsearchQosParticipantDetail() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef
                .builder(HttpMethod.GET,
                    SearchQosParticipantDetailRequest.class,
                    SearchQosParticipantDetailResponse.class)
                .withName("SearchQosParticipantDetail")
                .withUri("/v1/metrics/conference/participant/qos")
                .withContentType("application/json");

        // requests
        builder.withRequestField("confUUID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchQosParticipantDetailRequest::getConfUUID, (req, v) -> {
                req.setConfUUID(v);
            }));
        builder.withRequestField("confType",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(SearchQosParticipantDetailRequest.ConfTypeEnum.class),
            f -> f.withMarshaller(SearchQosParticipantDetailRequest::getConfType, (req, v) -> {
                req.setConfType(v);
            }));
        builder.withRequestField("participantID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchQosParticipantDetailRequest::getParticipantID, (req, v) -> {
                req.setParticipantID(v);
            }));
        builder.withRequestField("qosType",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(SearchQosParticipantDetailRequest.QosTypeEnum.class),
            f -> f.withMarshaller(SearchQosParticipantDetailRequest::getQosType, (req, v) -> {
                req.setQosType(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef searchQosParticipants =
        genForsearchQosParticipants();

    private static HttpRequestDef genForsearchQosParticipants() {
        // basic
        HttpRequestDef.Builder builder = HttpRequestDef
            .builder(HttpMethod.GET, SearchQosParticipantsRequest.class, SearchQosParticipantsResponse.class)
            .withName("SearchQosParticipants")
            .withUri("/v1/metrics/conference/participants")
            .withContentType("application/json");

        // requests
        builder.withRequestField("confUUID",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchQosParticipantsRequest::getConfUUID, (req, v) -> {
                req.setConfUUID(v);
            }));
        builder.withRequestField("confType",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(SearchQosParticipantsRequest.ConfTypeEnum.class),
            f -> f.withMarshaller(SearchQosParticipantsRequest::getConfType, (req, v) -> {
                req.setConfType(v);
            }));
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchQosParticipantsRequest::getOffset, (req, v) -> {
                req.setOffset(v);
            }));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchQosParticipantsRequest::getLimit, (req, v) -> {
                req.setLimit(v);
            }));
        builder.withRequestField("searchKey",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchQosParticipantsRequest::getSearchKey, (req, v) -> {
                req.setSearchKey(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef setQosThreshold =
        genForsetQosThreshold();

    private static HttpRequestDef genForsetQosThreshold() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, SetQosThresholdRequest.class, SetQosThresholdResponse.class)
                .withName("SetQosThreshold")
                .withUri("/v1/metrics/conference/threshold")
                .withContentType("application/json; charset=utf-8");

        // requests
        builder.withRequestField("thresholdType",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(SetQosThresholdRequest.ThresholdTypeEnum.class),
            f -> f.withMarshaller(SetQosThresholdRequest::getThresholdType, (req, v) -> {
                req.setThresholdType(v);
            }));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(SetQosThresholdReq.class),
            f -> f.withMarshaller(SetQosThresholdRequest::getBody, (req, v) -> {
                req.setBody(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef showQosThreshold =
        genForshowQosThreshold();

    private static HttpRequestDef genForshowQosThreshold() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ShowQosThresholdRequest.class, ShowQosThresholdResponse.class)
                .withName("ShowQosThreshold")
                .withUri("/v1/metrics/conference/threshold")
                .withContentType("application/json");

        // requests
        builder.withRequestField("thresholdType",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(ShowQosThresholdRequest.ThresholdTypeEnum.class),
            f -> f.withMarshaller(ShowQosThresholdRequest::getThresholdType, (req, v) -> {
                req.setThresholdType(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef searchStatisticConferenceInfo =
        genForsearchStatisticConferenceInfo();

    private static HttpRequestDef genForsearchStatisticConferenceInfo() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef
                .builder(HttpMethod.GET,
                    SearchStatisticConferenceInfoRequest.class,
                    SearchStatisticConferenceInfoResponse.class)
                .withName("SearchStatisticConferenceInfo")
                .withUri("/v1/metrics/dashboard/statistic/conference/info")
                .withContentType("application/json");

        // requests
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchStatisticConferenceInfoRequest::getOffset, (req, v) -> {
                req.setOffset(v);
            }));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchStatisticConferenceInfoRequest::getLimit, (req, v) -> {
                req.setLimit(v);
            }));
        builder.withRequestField("timeUnit",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(SearchStatisticConferenceInfoRequest.TimeUnitEnum.class),
            f -> f.withMarshaller(SearchStatisticConferenceInfoRequest::getTimeUnit, (req, v) -> {
                req.setTimeUnit(v);
            }));
        builder.withRequestField("startTime",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchStatisticConferenceInfoRequest::getStartTime, (req, v) -> {
                req.setStartTime(v);
            }));
        builder.withRequestField("endTime",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchStatisticConferenceInfoRequest::getEndTime, (req, v) -> {
                req.setEndTime(v);
            }));
        builder.withRequestField("category",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(SearchStatisticConferenceInfoRequest.CategoryEnum.class),
            f -> f.withMarshaller(SearchStatisticConferenceInfoRequest::getCategory, (req, v) -> {
                req.setCategory(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef searchStatisticConferenceParticipant =
        genForsearchStatisticConferenceParticipant();

    private static HttpRequestDef genForsearchStatisticConferenceParticipant() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef
                .builder(HttpMethod.GET,
                    SearchStatisticConferenceParticipantRequest.class,
                    SearchStatisticConferenceParticipantResponse.class)
                .withName("SearchStatisticConferenceParticipant")
                .withUri("/v1/metrics/dashboard/statistic/conference/participant")
                .withContentType("application/json");

        // requests
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchStatisticConferenceParticipantRequest::getOffset, (req, v) -> {
                req.setOffset(v);
            }));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchStatisticConferenceParticipantRequest::getLimit, (req, v) -> {
                req.setLimit(v);
            }));
        builder.withRequestField("timeUnit",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(SearchStatisticConferenceParticipantRequest.TimeUnitEnum.class),
            f -> f.withMarshaller(SearchStatisticConferenceParticipantRequest::getTimeUnit, (req, v) -> {
                req.setTimeUnit(v);
            }));
        builder.withRequestField("startTime",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchStatisticConferenceParticipantRequest::getStartTime, (req, v) -> {
                req.setStartTime(v);
            }));
        builder.withRequestField("endTime",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchStatisticConferenceParticipantRequest::getEndTime, (req, v) -> {
                req.setEndTime(v);
            }));
        builder.withRequestField("category",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(SearchStatisticConferenceParticipantRequest.CategoryEnum.class),
            f -> f.withMarshaller(SearchStatisticConferenceParticipantRequest::getCategory, (req, v) -> {
                req.setCategory(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef searchStatisticResourceInfo =
        genForsearchStatisticResourceInfo();

    private static HttpRequestDef genForsearchStatisticResourceInfo() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef
                .builder(HttpMethod.GET,
                    SearchStatisticResourceInfoRequest.class,
                    SearchStatisticResourceInfoResponse.class)
                .withName("SearchStatisticResourceInfo")
                .withUri("/v1/metrics/dashboard/statistic/resource/info")
                .withContentType("application/json");

        // requests
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchStatisticResourceInfoRequest::getOffset, (req, v) -> {
                req.setOffset(v);
            }));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchStatisticResourceInfoRequest::getLimit, (req, v) -> {
                req.setLimit(v);
            }));
        builder.withRequestField("timeUnit",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(SearchStatisticResourceInfoRequest.TimeUnitEnum.class),
            f -> f.withMarshaller(SearchStatisticResourceInfoRequest::getTimeUnit, (req, v) -> {
                req.setTimeUnit(v);
            }));
        builder.withRequestField("startTime",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchStatisticResourceInfoRequest::getStartTime, (req, v) -> {
                req.setStartTime(v);
            }));
        builder.withRequestField("endTime",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchStatisticResourceInfoRequest::getEndTime, (req, v) -> {
                req.setEndTime(v);
            }));
        builder.withRequestField("category",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(SearchStatisticResourceInfoRequest.CategoryEnum.class),
            f -> f.withMarshaller(SearchStatisticResourceInfoRequest::getCategory, (req, v) -> {
                req.setCategory(v);
            }));

        // response

        return builder.build();
    }

    public static final HttpRequestDef searchStatisticUserInfo =
        genForsearchStatisticUserInfo();

    private static HttpRequestDef genForsearchStatisticUserInfo() {
        // basic
        HttpRequestDef.Builder builder = HttpRequestDef
            .builder(HttpMethod.GET, SearchStatisticUserInfoRequest.class, SearchStatisticUserInfoResponse.class)
            .withName("SearchStatisticUserInfo")
            .withUri("/v1/metrics/dashboard/statistic/user/info")
            .withContentType("application/json");

        // requests
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchStatisticUserInfoRequest::getOffset, (req, v) -> {
                req.setOffset(v);
            }));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(SearchStatisticUserInfoRequest::getLimit, (req, v) -> {
                req.setLimit(v);
            }));
        builder.withRequestField("timeUnit",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(SearchStatisticUserInfoRequest.TimeUnitEnum.class),
            f -> f.withMarshaller(SearchStatisticUserInfoRequest::getTimeUnit, (req, v) -> {
                req.setTimeUnit(v);
            }));
        builder.withRequestField("startTime",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchStatisticUserInfoRequest::getStartTime, (req, v) -> {
                req.setStartTime(v);
            }));
        builder.withRequestField("endTime",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(SearchStatisticUserInfoRequest::getEndTime, (req, v) -> {
                req.setEndTime(v);
            }));
        builder.withRequestField("category",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(SearchStatisticUserInfoRequest.CategoryEnum.class),
            f -> f.withMarshaller(SearchStatisticUserInfoRequest::getCategory, (req, v) -> {
                req.setCategory(v);
            }));

        // response

        return builder.build();
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy