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

com.huaweicloud.sdk.koomessage.v1.KooMessageMeta Maven / Gradle / Ivy

There is a newer version: 3.1.114
Show newest version
package com.huaweicloud.sdk.koomessage.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.koomessage.v1.model.AddAimMsgSignatureRequest;
import com.huaweicloud.sdk.koomessage.v1.model.AddAimMsgSignatureResponse;
import com.huaweicloud.sdk.koomessage.v1.model.AddCallBackRequest;
import com.huaweicloud.sdk.koomessage.v1.model.AddCallBackResponse;
import com.huaweicloud.sdk.koomessage.v1.model.AddCallbackRequestBody;
import com.huaweicloud.sdk.koomessage.v1.model.AddVmsCallBackRequest;
import com.huaweicloud.sdk.koomessage.v1.model.AddVmsCallBackRequestBody;
import com.huaweicloud.sdk.koomessage.v1.model.AddVmsCallBackResponse;
import com.huaweicloud.sdk.koomessage.v1.model.CheckMobileCapabilityRequest;
import com.huaweicloud.sdk.koomessage.v1.model.CheckMobileCapabilityRequestBody;
import com.huaweicloud.sdk.koomessage.v1.model.CheckMobileCapabilityResponse;
import com.huaweicloud.sdk.koomessage.v1.model.CreateAimMsgTemplateRequest;
import com.huaweicloud.sdk.koomessage.v1.model.CreateAimMsgTemplateResponse;
import com.huaweicloud.sdk.koomessage.v1.model.CreateAimPersonalTemplateRequest;
import com.huaweicloud.sdk.koomessage.v1.model.CreateAimPersonalTemplateRequestBody;
import com.huaweicloud.sdk.koomessage.v1.model.CreateAimPersonalTemplateResponse;
import com.huaweicloud.sdk.koomessage.v1.model.CreateAimSendTaskRequest;
import com.huaweicloud.sdk.koomessage.v1.model.CreateAimSendTaskRequestBody;
import com.huaweicloud.sdk.koomessage.v1.model.CreateAimSendTaskResponse;
import com.huaweicloud.sdk.koomessage.v1.model.CreatePubInfoRequest;
import com.huaweicloud.sdk.koomessage.v1.model.CreatePubInfoRequestBody;
import com.huaweicloud.sdk.koomessage.v1.model.CreatePubInfoResponse;
import com.huaweicloud.sdk.koomessage.v1.model.CreateResolveTaskRequest;
import com.huaweicloud.sdk.koomessage.v1.model.CreateResolveTaskRequestBody;
import com.huaweicloud.sdk.koomessage.v1.model.CreateResolveTaskResponse;
import com.huaweicloud.sdk.koomessage.v1.model.CreateSmsAppRequest;
import com.huaweicloud.sdk.koomessage.v1.model.CreateSmsAppResponse;
import com.huaweicloud.sdk.koomessage.v1.model.CreateVmsSendTaskRequest;
import com.huaweicloud.sdk.koomessage.v1.model.CreateVmsSendTaskRequestBody;
import com.huaweicloud.sdk.koomessage.v1.model.CreateVmsSendTaskResponse;
import com.huaweicloud.sdk.koomessage.v1.model.CreateVmsTemplateRequest;
import com.huaweicloud.sdk.koomessage.v1.model.CreateVmsTemplateRequestBody;
import com.huaweicloud.sdk.koomessage.v1.model.CreateVmsTemplateResponse;
import com.huaweicloud.sdk.koomessage.v1.model.DeleteAimMsgSignatureRequest;
import com.huaweicloud.sdk.koomessage.v1.model.DeleteAimMsgSignatureResponse;
import com.huaweicloud.sdk.koomessage.v1.model.DeleteAimMsgTemplateRequest;
import com.huaweicloud.sdk.koomessage.v1.model.DeleteAimMsgTemplateResponse;
import com.huaweicloud.sdk.koomessage.v1.model.DeleteAimPersonalTemplateRequest;
import com.huaweicloud.sdk.koomessage.v1.model.DeleteAimPersonalTemplateResponse;
import com.huaweicloud.sdk.koomessage.v1.model.DeletePortInfoRequest;
import com.huaweicloud.sdk.koomessage.v1.model.DeletePortInfoResponse;
import com.huaweicloud.sdk.koomessage.v1.model.DeleteTemplateMaterialRequest;
import com.huaweicloud.sdk.koomessage.v1.model.DeleteTemplateMaterialRequestBody;
import com.huaweicloud.sdk.koomessage.v1.model.DeleteTemplateMaterialResponse;
import com.huaweicloud.sdk.koomessage.v1.model.FreezePubRequest;
import com.huaweicloud.sdk.koomessage.v1.model.FreezePubRequestBody;
import com.huaweicloud.sdk.koomessage.v1.model.FreezePubResponse;
import com.huaweicloud.sdk.koomessage.v1.model.ListAimCallbacksRequest;
import com.huaweicloud.sdk.koomessage.v1.model.ListAimCallbacksResponse;
import com.huaweicloud.sdk.koomessage.v1.model.ListAimMsgAppDetailRequest;
import com.huaweicloud.sdk.koomessage.v1.model.ListAimMsgAppDetailResponse;
import com.huaweicloud.sdk.koomessage.v1.model.ListAimMsgAppRequest;
import com.huaweicloud.sdk.koomessage.v1.model.ListAimMsgAppResponse;
import com.huaweicloud.sdk.koomessage.v1.model.ListAimMsgSignatureDetailRequest;
import com.huaweicloud.sdk.koomessage.v1.model.ListAimMsgSignatureDetailResponse;
import com.huaweicloud.sdk.koomessage.v1.model.ListAimMsgSignatureRequest;
import com.huaweicloud.sdk.koomessage.v1.model.ListAimMsgSignatureResponse;
import com.huaweicloud.sdk.koomessage.v1.model.ListAimMsgTemplateRequest;
import com.huaweicloud.sdk.koomessage.v1.model.ListAimMsgTemplateResponse;
import com.huaweicloud.sdk.koomessage.v1.model.ListAimResolveDetailsRequest;
import com.huaweicloud.sdk.koomessage.v1.model.ListAimResolveDetailsResponse;
import com.huaweicloud.sdk.koomessage.v1.model.ListAimSendDetailsRequest;
import com.huaweicloud.sdk.koomessage.v1.model.ListAimSendDetailsResponse;
import com.huaweicloud.sdk.koomessage.v1.model.ListAimSendReportsRequest;
import com.huaweicloud.sdk.koomessage.v1.model.ListAimSendReportsRequestBody;
import com.huaweicloud.sdk.koomessage.v1.model.ListAimSendReportsResponse;
import com.huaweicloud.sdk.koomessage.v1.model.ListAimSendTasksRequest;
import com.huaweicloud.sdk.koomessage.v1.model.ListAimSendTasksResponse;
import com.huaweicloud.sdk.koomessage.v1.model.ListAimTemplateMaterialsRequest;
import com.huaweicloud.sdk.koomessage.v1.model.ListAimTemplateMaterialsResponse;
import com.huaweicloud.sdk.koomessage.v1.model.ListAimTemplateReportsRequest;
import com.huaweicloud.sdk.koomessage.v1.model.ListAimTemplateReportsRequestBody;
import com.huaweicloud.sdk.koomessage.v1.model.ListAimTemplateReportsResponse;
import com.huaweicloud.sdk.koomessage.v1.model.ListAimTemplatesRequest;
import com.huaweicloud.sdk.koomessage.v1.model.ListAimTemplatesResponse;
import com.huaweicloud.sdk.koomessage.v1.model.ListMenusRequest;
import com.huaweicloud.sdk.koomessage.v1.model.ListMenusResponse;
import com.huaweicloud.sdk.koomessage.v1.model.ListPortInfosRequest;
import com.huaweicloud.sdk.koomessage.v1.model.ListPortInfosResponse;
import com.huaweicloud.sdk.koomessage.v1.model.ListPortalInfosRequest;
import com.huaweicloud.sdk.koomessage.v1.model.ListPortalInfosResponse;
import com.huaweicloud.sdk.koomessage.v1.model.ListPubInfosRequest;
import com.huaweicloud.sdk.koomessage.v1.model.ListPubInfosResponse;
import com.huaweicloud.sdk.koomessage.v1.model.ListResolveTasksRequest;
import com.huaweicloud.sdk.koomessage.v1.model.ListResolveTasksResponse;
import com.huaweicloud.sdk.koomessage.v1.model.ListVmsCallbacksRequest;
import com.huaweicloud.sdk.koomessage.v1.model.ListVmsCallbacksResponse;
import com.huaweicloud.sdk.koomessage.v1.model.ListVmsSendTasksRequest;
import com.huaweicloud.sdk.koomessage.v1.model.ListVmsSendTasksResponse;
import com.huaweicloud.sdk.koomessage.v1.model.ListVmsTemplateStatusRequest;
import com.huaweicloud.sdk.koomessage.v1.model.ListVmsTemplateStatusResponse;
import com.huaweicloud.sdk.koomessage.v1.model.LockPortRequest;
import com.huaweicloud.sdk.koomessage.v1.model.LockPortRequestBody;
import com.huaweicloud.sdk.koomessage.v1.model.LockPortResponse;
import com.huaweicloud.sdk.koomessage.v1.model.MsgAppRequest;
import com.huaweicloud.sdk.koomessage.v1.model.MsgTemplateRequest;
import com.huaweicloud.sdk.koomessage.v1.model.PushMenuInfoRequest;
import com.huaweicloud.sdk.koomessage.v1.model.PushMenuInfoResponse;
import com.huaweicloud.sdk.koomessage.v1.model.PushPortalInfoRequest;
import com.huaweicloud.sdk.koomessage.v1.model.PushPortalInfoResponse;
import com.huaweicloud.sdk.koomessage.v1.model.RegisterPortRequest;
import com.huaweicloud.sdk.koomessage.v1.model.RegisterPortRequestBody;
import com.huaweicloud.sdk.koomessage.v1.model.RegisterPortResponse;
import com.huaweicloud.sdk.koomessage.v1.model.SendAimBatchDifferentMessagesRequest;
import com.huaweicloud.sdk.koomessage.v1.model.SendAimBatchDifferentMessagesResponse;
import com.huaweicloud.sdk.koomessage.v1.model.SendAimBatchMessagesRequest;
import com.huaweicloud.sdk.koomessage.v1.model.SendAimBatchMessagesResponse;
import com.huaweicloud.sdk.koomessage.v1.model.SetPrimaryVideoThumbnailRequest;
import com.huaweicloud.sdk.koomessage.v1.model.SetPrimaryVideoThumbnailRequestBody;
import com.huaweicloud.sdk.koomessage.v1.model.SetPrimaryVideoThumbnailResponse;
import com.huaweicloud.sdk.koomessage.v1.model.ShowAimMsgSignatureFileInfoRequest;
import com.huaweicloud.sdk.koomessage.v1.model.ShowAimMsgSignatureFileInfoResponse;
import com.huaweicloud.sdk.koomessage.v1.model.ShowAimMsgTemplateDetailRequest;
import com.huaweicloud.sdk.koomessage.v1.model.ShowAimMsgTemplateDetailResponse;
import com.huaweicloud.sdk.koomessage.v1.model.ShowAimMsgTemplateVariableRequest;
import com.huaweicloud.sdk.koomessage.v1.model.ShowAimMsgTemplateVariableResponse;
import com.huaweicloud.sdk.koomessage.v1.model.ShowTemplateVideoThumbnailRequest;
import com.huaweicloud.sdk.koomessage.v1.model.ShowTemplateVideoThumbnailResponse;
import com.huaweicloud.sdk.koomessage.v1.model.SignatureRequest;
import com.huaweicloud.sdk.koomessage.v1.model.SmsMultiTemplateTaskRequestBody;
import com.huaweicloud.sdk.koomessage.v1.model.SmsTaskReq;
import com.huaweicloud.sdk.koomessage.v1.model.UnfreezePubRequest;
import com.huaweicloud.sdk.koomessage.v1.model.UnfreezePubRequestBody;
import com.huaweicloud.sdk.koomessage.v1.model.UnfreezePubResponse;
import com.huaweicloud.sdk.koomessage.v1.model.UnlockPortRequest;
import com.huaweicloud.sdk.koomessage.v1.model.UnlockPortRequestBody;
import com.huaweicloud.sdk.koomessage.v1.model.UnlockPortResponse;
import com.huaweicloud.sdk.koomessage.v1.model.UpdateAimMsgAppRequest;
import com.huaweicloud.sdk.koomessage.v1.model.UpdateAimMsgAppResponse;
import com.huaweicloud.sdk.koomessage.v1.model.UpdateAimMsgSignatureRequest;
import com.huaweicloud.sdk.koomessage.v1.model.UpdateAimMsgSignatureResponse;
import com.huaweicloud.sdk.koomessage.v1.model.UpdateAimMsgTemplateRequest;
import com.huaweicloud.sdk.koomessage.v1.model.UpdateAimMsgTemplateResponse;
import com.huaweicloud.sdk.koomessage.v1.model.UpdateMenuRequest;
import com.huaweicloud.sdk.koomessage.v1.model.UpdateMenuRequestBody;
import com.huaweicloud.sdk.koomessage.v1.model.UpdateMenuResponse;
import com.huaweicloud.sdk.koomessage.v1.model.UpdatePersonalTemplateStateDataRequest;
import com.huaweicloud.sdk.koomessage.v1.model.UpdatePersonalTemplateStateRequest;
import com.huaweicloud.sdk.koomessage.v1.model.UpdatePersonalTemplateStateResponse;
import com.huaweicloud.sdk.koomessage.v1.model.UpdatePortalInfoRequest;
import com.huaweicloud.sdk.koomessage.v1.model.UpdatePortalInfoRequestBody;
import com.huaweicloud.sdk.koomessage.v1.model.UpdatePortalInfoResponse;
import com.huaweicloud.sdk.koomessage.v1.model.UpdatePubInfoRequest;
import com.huaweicloud.sdk.koomessage.v1.model.UpdatePubInfoRequestBody;
import com.huaweicloud.sdk.koomessage.v1.model.UpdatePubInfoResponse;
import com.huaweicloud.sdk.koomessage.v1.model.UploadAimMsgSignatureFileRequest;
import com.huaweicloud.sdk.koomessage.v1.model.UploadAimMsgSignatureFileRequestBody;
import com.huaweicloud.sdk.koomessage.v1.model.UploadAimMsgSignatureFileResponse;
import com.huaweicloud.sdk.koomessage.v1.model.UploadAimTemplateMaterialRequest;
import com.huaweicloud.sdk.koomessage.v1.model.UploadAimTemplateMaterialRequestBody;
import com.huaweicloud.sdk.koomessage.v1.model.UploadAimTemplateMaterialResponse;
import com.huaweicloud.sdk.koomessage.v1.model.UploadMediaRequest;
import com.huaweicloud.sdk.koomessage.v1.model.UploadMediaRequestBody;
import com.huaweicloud.sdk.koomessage.v1.model.UploadMediaResponse;

import java.time.OffsetDateTime;
import java.util.List;

@SuppressWarnings("unchecked")
public class KooMessageMeta {

    public static final HttpRequestDef addCallBack = genForAddCallBack();

    private static HttpRequestDef genForAddCallBack() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, AddCallBackRequest.class, AddCallBackResponse.class)
                .withName("AddCallBack")
                .withUri("/v1/aim/callbacks")
                .withContentType("application/json");

        // requests
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(AddCallbackRequestBody.class),
            f -> f.withMarshaller(AddCallBackRequest::getBody, AddCallBackRequest::setBody));

        // response

        return builder.build();
    }

    public static final HttpRequestDef listAimCallbacks =
        genForListAimCallbacks();

    private static HttpRequestDef genForListAimCallbacks() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ListAimCallbacksRequest.class, ListAimCallbacksResponse.class)
                .withName("ListAimCallbacks")
                .withUri("/v1/aim/callbacks")
                .withContentType("application/json");

        // requests

        // response

        return builder.build();
    }

    public static final HttpRequestDef checkMobileCapability =
        genForCheckMobileCapability();

    private static HttpRequestDef genForCheckMobileCapability() {
        // basic
        HttpRequestDef.Builder builder = HttpRequestDef
            .builder(HttpMethod.POST, CheckMobileCapabilityRequest.class, CheckMobileCapabilityResponse.class)
            .withName("CheckMobileCapability")
            .withUri("/v1/aim/mobile-capabilities/check")
            .withContentType("application/json");

        // requests
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(CheckMobileCapabilityRequestBody.class),
            f -> f.withMarshaller(CheckMobileCapabilityRequest::getBody, CheckMobileCapabilityRequest::setBody));

        // response

        return builder.build();
    }

    public static final HttpRequestDef createResolveTask =
        genForCreateResolveTask();

    private static HttpRequestDef genForCreateResolveTask() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, CreateResolveTaskRequest.class, CreateResolveTaskResponse.class)
                .withName("CreateResolveTask")
                .withUri("/v1/aim/resolve-tasks")
                .withContentType("application/json");

        // requests
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(CreateResolveTaskRequestBody.class),
            f -> f.withMarshaller(CreateResolveTaskRequest::getBody, CreateResolveTaskRequest::setBody));

        // response

        return builder.build();
    }

    public static final HttpRequestDef listAimResolveDetails =
        genForListAimResolveDetails();

    private static HttpRequestDef genForListAimResolveDetails() {
        // basic
        HttpRequestDef.Builder builder = HttpRequestDef
            .builder(HttpMethod.GET, ListAimResolveDetailsRequest.class, ListAimResolveDetailsResponse.class)
            .withName("ListAimResolveDetails")
            .withUri("/v1/aim/resolve-details")
            .withContentType("application/json");

        // requests
        builder.withRequestField("task_id",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimResolveDetailsRequest::getTaskId, ListAimResolveDetailsRequest::setTaskId));
        builder.withRequestField("task_name",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimResolveDetailsRequest::getTaskName,
                ListAimResolveDetailsRequest::setTaskName));
        builder.withRequestField("tpl_id",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimResolveDetailsRequest::getTplId, ListAimResolveDetailsRequest::setTplId));
        builder.withRequestField("tpl_name",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimResolveDetailsRequest::getTplName, ListAimResolveDetailsRequest::setTplName));
        builder.withRequestField("cust_flag",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimResolveDetailsRequest::getCustFlag,
                ListAimResolveDetailsRequest::setCustFlag));
        builder.withRequestField("sms_sign",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimResolveDetailsRequest::getSmsSign, ListAimResolveDetailsRequest::setSmsSign));
        builder.withRequestField("aim_url",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimResolveDetailsRequest::getAimUrl, ListAimResolveDetailsRequest::setAimUrl));
        builder.withRequestField("resolved_status",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimResolveDetailsRequest::getResolvedStatus,
                ListAimResolveDetailsRequest::setResolvedStatus));
        builder.withRequestField("begin_time",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimResolveDetailsRequest::getBeginTime,
                ListAimResolveDetailsRequest::setBeginTime));
        builder.withRequestField("end_time",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimResolveDetailsRequest::getEndTime, ListAimResolveDetailsRequest::setEndTime));
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ListAimResolveDetailsRequest::getOffset, ListAimResolveDetailsRequest::setOffset));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ListAimResolveDetailsRequest::getLimit, ListAimResolveDetailsRequest::setLimit));

        // response

        return builder.build();
    }

    public static final HttpRequestDef listResolveTasks =
        genForListResolveTasks();

    private static HttpRequestDef genForListResolveTasks() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ListResolveTasksRequest.class, ListResolveTasksResponse.class)
                .withName("ListResolveTasks")
                .withUri("/v1/aim/resolve-tasks")
                .withContentType("application/json");

        // requests
        builder.withRequestField("task_id",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListResolveTasksRequest::getTaskId, ListResolveTasksRequest::setTaskId));
        builder.withRequestField("task_name",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListResolveTasksRequest::getTaskName, ListResolveTasksRequest::setTaskName));
        builder.withRequestField("tpl_id",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListResolveTasksRequest::getTplId, ListResolveTasksRequest::setTplId));
        builder.withRequestField("tpl_name",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListResolveTasksRequest::getTplName, ListResolveTasksRequest::setTplName));
        builder.withRequestField("cust_flag",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListResolveTasksRequest::getCustFlag, ListResolveTasksRequest::setCustFlag));
        builder.withRequestField("aim_url",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListResolveTasksRequest::getAimUrl, ListResolveTasksRequest::setAimUrl));
        builder.withRequestField("begin_time",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListResolveTasksRequest::getBeginTime, ListResolveTasksRequest::setBeginTime));
        builder.withRequestField("end_time",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListResolveTasksRequest::getEndTime, ListResolveTasksRequest::setEndTime));
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ListResolveTasksRequest::getOffset, ListResolveTasksRequest::setOffset));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ListResolveTasksRequest::getLimit, ListResolveTasksRequest::setLimit));

        // response

        return builder.build();
    }

    public static final HttpRequestDef listMenus = genForListMenus();

    private static HttpRequestDef genForListMenus() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ListMenusRequest.class, ListMenusResponse.class)
                .withName("ListMenus")
                .withUri("/v1/aim-sa/menus")
                .withContentType("application/json");

        // requests
        builder.withRequestField("menu_id",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListMenusRequest::getMenuId, ListMenusRequest::setMenuId));
        builder.withRequestField("pub_id",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListMenusRequest::getPubId, ListMenusRequest::setPubId));
        builder.withRequestField("pub_name",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListMenusRequest::getPubName, ListMenusRequest::setPubName));
        builder.withRequestField("online_begin_time",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListMenusRequest::getOnlineBeginTime, ListMenusRequest::setOnlineBeginTime));
        builder.withRequestField("online_end_time",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListMenusRequest::getOnlineEndTime, ListMenusRequest::setOnlineEndTime));
        builder.withRequestField("state",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ListMenusRequest::getState, ListMenusRequest::setState));
        builder.withRequestField("menu_name",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListMenusRequest::getMenuName, ListMenusRequest::setMenuName));
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ListMenusRequest::getOffset, ListMenusRequest::setOffset));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ListMenusRequest::getLimit, ListMenusRequest::setLimit));

        // response

        return builder.build();
    }

    public static final HttpRequestDef updateMenu = genForUpdateMenu();

    private static HttpRequestDef genForUpdateMenu() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, UpdateMenuRequest.class, UpdateMenuResponse.class)
                .withName("UpdateMenu")
                .withUri("/v1/aim-sa/menus/{menu_id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("menu_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateMenuRequest::getMenuId, UpdateMenuRequest::setMenuId));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(UpdateMenuRequestBody.class),
            f -> f.withMarshaller(UpdateMenuRequest::getBody, UpdateMenuRequest::setBody));

        // response

        return builder.build();
    }

    public static final HttpRequestDef deletePortInfo =
        genForDeletePortInfo();

    private static HttpRequestDef genForDeletePortInfo() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.DELETE, DeletePortInfoRequest.class, DeletePortInfoResponse.class)
                .withName("DeletePortInfo")
                .withUri("/v1/aim-sa/ports/{port_id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("port_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(DeletePortInfoRequest::getPortId, DeletePortInfoRequest::setPortId));

        // response

        return builder.build();
    }

    public static final HttpRequestDef listPortInfos =
        genForListPortInfos();

    private static HttpRequestDef genForListPortInfos() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ListPortInfosRequest.class, ListPortInfosResponse.class)
                .withName("ListPortInfos")
                .withUri("/v1/aim-sa/ports")
                .withContentType("application/json");

        // requests
        builder.withRequestField("type",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ListPortInfosRequest::getType, ListPortInfosRequest::setType));
        builder.withRequestField("port",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListPortInfosRequest::getPort, ListPortInfosRequest::setPort));
        builder.withRequestField("port_type",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ListPortInfosRequest::getPortType, ListPortInfosRequest::setPortType));
        builder.withRequestField("sign_search",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListPortInfosRequest::getSignSearch, ListPortInfosRequest::setSignSearch));
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ListPortInfosRequest::getOffset, ListPortInfosRequest::setOffset));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ListPortInfosRequest::getLimit, ListPortInfosRequest::setLimit));
        builder.withRequestField("start_time",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(OffsetDateTime.class),
            f -> f.withMarshaller(ListPortInfosRequest::getStartTime, ListPortInfosRequest::setStartTime));
        builder.withRequestField("end_time",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(OffsetDateTime.class),
            f -> f.withMarshaller(ListPortInfosRequest::getEndTime, ListPortInfosRequest::setEndTime));
        builder.withRequestField("pub_name",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListPortInfosRequest::getPubName, ListPortInfosRequest::setPubName));

        // response

        return builder.build();
    }

    public static final HttpRequestDef lockPort = genForLockPort();

    private static HttpRequestDef genForLockPort() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, LockPortRequest.class, LockPortResponse.class)
                .withName("LockPort")
                .withUri("/v1/aim-sa/ports/associate")
                .withContentType("application/json");

        // requests
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(LockPortRequestBody.class),
            f -> f.withMarshaller(LockPortRequest::getBody, LockPortRequest::setBody));

        // response

        return builder.build();
    }

    public static final HttpRequestDef registerPort = genForRegisterPort();

    private static HttpRequestDef genForRegisterPort() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, RegisterPortRequest.class, RegisterPortResponse.class)
                .withName("RegisterPort")
                .withUri("/v1/aim-sa/ports")
                .withContentType("application/json");

        // requests
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(RegisterPortRequestBody.class),
            f -> f.withMarshaller(RegisterPortRequest::getBody, RegisterPortRequest::setBody));

        // response

        return builder.build();
    }

    public static final HttpRequestDef unlockPort = genForUnlockPort();

    private static HttpRequestDef genForUnlockPort() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, UnlockPortRequest.class, UnlockPortResponse.class)
                .withName("UnlockPort")
                .withUri("/v1/aim-sa/ports/disassociate")
                .withContentType("application/json");

        // requests
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(UnlockPortRequestBody.class),
            f -> f.withMarshaller(UnlockPortRequest::getBody, UnlockPortRequest::setBody));

        // response

        return builder.build();
    }

    public static final HttpRequestDef listPortalInfos =
        genForListPortalInfos();

    private static HttpRequestDef genForListPortalInfos() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ListPortalInfosRequest.class, ListPortalInfosResponse.class)
                .withName("ListPortalInfos")
                .withUri("/v1/aim-sa/portals")
                .withContentType("application/json");

        // requests
        builder.withRequestField("pub_name",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListPortalInfosRequest::getPubName, ListPortalInfosRequest::setPubName));
        builder.withRequestField("begin_time",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(OffsetDateTime.class),
            f -> f.withMarshaller(ListPortalInfosRequest::getBeginTime, ListPortalInfosRequest::setBeginTime));
        builder.withRequestField("end_time",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(OffsetDateTime.class),
            f -> f.withMarshaller(ListPortalInfosRequest::getEndTime, ListPortalInfosRequest::setEndTime));
        builder.withRequestField("state",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ListPortalInfosRequest::getState, ListPortalInfosRequest::setState));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ListPortalInfosRequest::getLimit, ListPortalInfosRequest::setLimit));
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ListPortalInfosRequest::getOffset, ListPortalInfosRequest::setOffset));

        // response

        return builder.build();
    }

    public static final HttpRequestDef updatePortalInfo =
        genForUpdatePortalInfo();

    private static HttpRequestDef genForUpdatePortalInfo() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, UpdatePortalInfoRequest.class, UpdatePortalInfoResponse.class)
                .withName("UpdatePortalInfo")
                .withUri("/v1/aim-sa/portals/{portal_id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("portal_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdatePortalInfoRequest::getPortalId, UpdatePortalInfoRequest::setPortalId));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(UpdatePortalInfoRequestBody.class),
            f -> f.withMarshaller(UpdatePortalInfoRequest::getBody, UpdatePortalInfoRequest::setBody));

        // response

        return builder.build();
    }

    public static final HttpRequestDef freezePub = genForFreezePub();

    private static HttpRequestDef genForFreezePub() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, FreezePubRequest.class, FreezePubResponse.class)
                .withName("FreezePub")
                .withUri("/v1/aim-sa/pubs/{pub_id}/freeze")
                .withContentType("application/json");

        // requests
        builder.withRequestField("pub_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(FreezePubRequest::getPubId, FreezePubRequest::setPubId));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(FreezePubRequestBody.class),
            f -> f.withMarshaller(FreezePubRequest::getBody, FreezePubRequest::setBody));

        // response

        return builder.build();
    }

    public static final HttpRequestDef listPubInfos = genForListPubInfos();

    private static HttpRequestDef genForListPubInfos() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ListPubInfosRequest.class, ListPubInfosResponse.class)
                .withName("ListPubInfos")
                .withUri("/v1/aim-sa/pubs")
                .withContentType("application/json");

        // requests
        builder.withRequestField("pub_name",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListPubInfosRequest::getPubName, ListPubInfosRequest::setPubName));
        builder.withRequestField("state",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ListPubInfosRequest::getState, ListPubInfosRequest::setState));
        builder.withRequestField("start_time",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(OffsetDateTime.class),
            f -> f.withMarshaller(ListPubInfosRequest::getStartTime, ListPubInfosRequest::setStartTime));
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ListPubInfosRequest::getOffset, ListPubInfosRequest::setOffset));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ListPubInfosRequest::getLimit, ListPubInfosRequest::setLimit));
        builder.withRequestField("end_time",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(OffsetDateTime.class),
            f -> f.withMarshaller(ListPubInfosRequest::getEndTime, ListPubInfosRequest::setEndTime));
        builder.withRequestField("industry",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListPubInfosRequest::getIndustry, ListPubInfosRequest::setIndustry));
        builder.withRequestField("approve_state",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ListPubInfosRequest::getApproveState, ListPubInfosRequest::setApproveState));

        // response

        return builder.build();
    }

    public static final HttpRequestDef unfreezePub = genForUnfreezePub();

    private static HttpRequestDef genForUnfreezePub() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, UnfreezePubRequest.class, UnfreezePubResponse.class)
                .withName("UnfreezePub")
                .withUri("/v1/aim-sa/pubs/{pub_id}/unfreeze")
                .withContentType("application/json");

        // requests
        builder.withRequestField("pub_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UnfreezePubRequest::getPubId, UnfreezePubRequest::setPubId));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(UnfreezePubRequestBody.class),
            f -> f.withMarshaller(UnfreezePubRequest::getBody, UnfreezePubRequest::setBody));

        // response

        return builder.build();
    }

    public static final HttpRequestDef updatePubInfo =
        genForUpdatePubInfo();

    private static HttpRequestDef genForUpdatePubInfo() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, UpdatePubInfoRequest.class, UpdatePubInfoResponse.class)
                .withName("UpdatePubInfo")
                .withUri("/v1/aim-sa/pubs/{pub_id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("pub_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdatePubInfoRequest::getPubId, UpdatePubInfoRequest::setPubId));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(UpdatePubInfoRequestBody.class),
            f -> f.withMarshaller(UpdatePubInfoRequest::getBody, UpdatePubInfoRequest::setBody));

        // response

        return builder.build();
    }

    public static final HttpRequestDef createPubInfo =
        genForCreatePubInfo();

    private static HttpRequestDef genForCreatePubInfo() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, CreatePubInfoRequest.class, CreatePubInfoResponse.class)
                .withName("CreatePubInfo")
                .withUri("/v1/aim-sa/unify/pubs")
                .withContentType("application/json");

        // requests
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(CreatePubInfoRequestBody.class),
            f -> f.withMarshaller(CreatePubInfoRequest::getBody, CreatePubInfoRequest::setBody));

        // response

        return builder.build();
    }

    public static final HttpRequestDef pushMenuInfo = genForPushMenuInfo();

    private static HttpRequestDef genForPushMenuInfo() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, PushMenuInfoRequest.class, PushMenuInfoResponse.class)
                .withName("PushMenuInfo")
                .withUri("/v1/aim-sa/menus/{menu_id}/push")
                .withContentType("application/json");

        // requests
        builder.withRequestField("menu_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(PushMenuInfoRequest::getMenuId, PushMenuInfoRequest::setMenuId));

        // response

        return builder.build();
    }

    public static final HttpRequestDef pushPortalInfo =
        genForPushPortalInfo();

    private static HttpRequestDef genForPushPortalInfo() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, PushPortalInfoRequest.class, PushPortalInfoResponse.class)
                .withName("PushPortalInfo")
                .withUri("/v1/aim-sa/portals/{portal_id}/push")
                .withContentType("application/json");

        // requests
        builder.withRequestField("portal_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(PushPortalInfoRequest::getPortalId, PushPortalInfoRequest::setPortalId));

        // response

        return builder.build();
    }

    public static final HttpRequestDef uploadMedia = genForUploadMedia();

    private static HttpRequestDef genForUploadMedia() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, UploadMediaRequest.class, UploadMediaResponse.class)
                .withName("UploadMedia")
                .withUri("/v1/aim-sa/media/upload")
                .withContentType("multipart/form-data");

        // requests
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(UploadMediaRequestBody.class),
            f -> f.withMarshaller(UploadMediaRequest::getBody, UploadMediaRequest::setBody));

        // response

        return builder.build();
    }

    public static final HttpRequestDef createAimSendTask =
        genForCreateAimSendTask();

    private static HttpRequestDef genForCreateAimSendTask() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, CreateAimSendTaskRequest.class, CreateAimSendTaskResponse.class)
                .withName("CreateAimSendTask")
                .withUri("/v1/aim/send-tasks")
                .withContentType("application/json");

        // requests
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(CreateAimSendTaskRequestBody.class),
            f -> f.withMarshaller(CreateAimSendTaskRequest::getBody, CreateAimSendTaskRequest::setBody));

        // response

        return builder.build();
    }

    public static final HttpRequestDef listAimSendDetails =
        genForListAimSendDetails();

    private static HttpRequestDef genForListAimSendDetails() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ListAimSendDetailsRequest.class, ListAimSendDetailsResponse.class)
                .withName("ListAimSendDetails")
                .withUri("/v1/aim/send-details")
                .withContentType("application/json");

        // requests
        builder.withRequestField("task_id",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimSendDetailsRequest::getTaskId, ListAimSendDetailsRequest::setTaskId));
        builder.withRequestField("tpl_id",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimSendDetailsRequest::getTplId, ListAimSendDetailsRequest::setTplId));
        builder.withRequestField("sms_sign",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimSendDetailsRequest::getSmsSign, ListAimSendDetailsRequest::setSmsSign));
        builder.withRequestField("cust_flag",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimSendDetailsRequest::getCustFlag, ListAimSendDetailsRequest::setCustFlag));
        builder.withRequestField("begin_time",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimSendDetailsRequest::getBeginTime, ListAimSendDetailsRequest::setBeginTime));
        builder.withRequestField("end_time",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimSendDetailsRequest::getEndTime, ListAimSendDetailsRequest::setEndTime));
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ListAimSendDetailsRequest::getOffset, ListAimSendDetailsRequest::setOffset));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ListAimSendDetailsRequest::getLimit, ListAimSendDetailsRequest::setLimit));

        // response

        return builder.build();
    }

    public static final HttpRequestDef listAimSendReports =
        genForListAimSendReports();

    private static HttpRequestDef genForListAimSendReports() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, ListAimSendReportsRequest.class, ListAimSendReportsResponse.class)
                .withName("ListAimSendReports")
                .withUri("/v1/aim/send-reports")
                .withContentType("application/json");

        // requests
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(ListAimSendReportsRequestBody.class),
            f -> f.withMarshaller(ListAimSendReportsRequest::getBody, ListAimSendReportsRequest::setBody));

        // response

        return builder.build();
    }

    public static final HttpRequestDef listAimSendTasks =
        genForListAimSendTasks();

    private static HttpRequestDef genForListAimSendTasks() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ListAimSendTasksRequest.class, ListAimSendTasksResponse.class)
                .withName("ListAimSendTasks")
                .withUri("/v1/aim/send-tasks")
                .withContentType("application/json");

        // requests
        builder.withRequestField("task_id",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimSendTasksRequest::getTaskId, ListAimSendTasksRequest::setTaskId));
        builder.withRequestField("task_name",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimSendTasksRequest::getTaskName, ListAimSendTasksRequest::setTaskName));
        builder.withRequestField("tpl_id",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimSendTasksRequest::getTplId, ListAimSendTasksRequest::setTplId));
        builder.withRequestField("tpl_name",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimSendTasksRequest::getTplName, ListAimSendTasksRequest::setTplName));
        builder.withRequestField("begin_time",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimSendTasksRequest::getBeginTime, ListAimSendTasksRequest::setBeginTime));
        builder.withRequestField("end_time",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimSendTasksRequest::getEndTime, ListAimSendTasksRequest::setEndTime));
        builder.withRequestField("task_status",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimSendTasksRequest::getTaskStatus, ListAimSendTasksRequest::setTaskStatus));
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ListAimSendTasksRequest::getOffset, ListAimSendTasksRequest::setOffset));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ListAimSendTasksRequest::getLimit, ListAimSendTasksRequest::setLimit));

        // response

        return builder.build();
    }

    public static final HttpRequestDef createSmsApp = genForCreateSmsApp();

    private static HttpRequestDef genForCreateSmsApp() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, CreateSmsAppRequest.class, CreateSmsAppResponse.class)
                .withName("CreateSmsApp")
                .withUri("/v1/sms/apps")
                .withContentType("application/json");

        // requests
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(MsgAppRequest.class),
            f -> f.withMarshaller(CreateSmsAppRequest::getBody, CreateSmsAppRequest::setBody));

        // response

        return builder.build();
    }

    public static final HttpRequestDef listAimMsgApp =
        genForListAimMsgApp();

    private static HttpRequestDef genForListAimMsgApp() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ListAimMsgAppRequest.class, ListAimMsgAppResponse.class)
                .withName("ListAimMsgApp")
                .withUri("/v1/sms/apps")
                .withContentType("application/json");

        // requests
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ListAimMsgAppRequest::getOffset, ListAimMsgAppRequest::setOffset));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ListAimMsgAppRequest::getLimit, ListAimMsgAppRequest::setLimit));
        builder.withRequestField("app_name",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimMsgAppRequest::getAppName, ListAimMsgAppRequest::setAppName));
        builder.withRequestField("status",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimMsgAppRequest::getStatus, ListAimMsgAppRequest::setStatus));
        builder.withRequestField("begin_time",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimMsgAppRequest::getBeginTime, ListAimMsgAppRequest::setBeginTime));
        builder.withRequestField("end_time",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimMsgAppRequest::getEndTime, ListAimMsgAppRequest::setEndTime));

        // response

        return builder.build();
    }

    public static final HttpRequestDef listAimMsgAppDetail =
        genForListAimMsgAppDetail();

    private static HttpRequestDef genForListAimMsgAppDetail() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ListAimMsgAppDetailRequest.class, ListAimMsgAppDetailResponse.class)
                .withName("ListAimMsgAppDetail")
                .withUri("/v1/sms/apps/{app_id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("app_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimMsgAppDetailRequest::getAppId, ListAimMsgAppDetailRequest::setAppId));

        // response

        return builder.build();
    }

    public static final HttpRequestDef updateAimMsgApp =
        genForUpdateAimMsgApp();

    private static HttpRequestDef genForUpdateAimMsgApp() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, UpdateAimMsgAppRequest.class, UpdateAimMsgAppResponse.class)
                .withName("UpdateAimMsgApp")
                .withUri("/v1/sms/apps/{app_id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("app_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateAimMsgAppRequest::getAppId, UpdateAimMsgAppRequest::setAppId));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(MsgAppRequest.class),
            f -> f.withMarshaller(UpdateAimMsgAppRequest::getBody, UpdateAimMsgAppRequest::setBody));

        // response

        return builder.build();
    }

    public static final HttpRequestDef sendAimBatchDifferentMessages =
        genForSendAimBatchDifferentMessages();

    private static HttpRequestDef genForSendAimBatchDifferentMessages() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef
                .builder(HttpMethod.POST,
                    SendAimBatchDifferentMessagesRequest.class,
                    SendAimBatchDifferentMessagesResponse.class)
                .withName("SendAimBatchDifferentMessages")
                .withUri("/v1/aim/sms/diff-messages")
                .withContentType("application/json");

        // requests
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(SmsMultiTemplateTaskRequestBody.class),
            f -> f.withMarshaller(SendAimBatchDifferentMessagesRequest::getBody,
                SendAimBatchDifferentMessagesRequest::setBody));

        // response

        return builder.build();
    }

    public static final HttpRequestDef sendAimBatchMessages =
        genForSendAimBatchMessages();

    private static HttpRequestDef genForSendAimBatchMessages() {
        // basic
        HttpRequestDef.Builder builder = HttpRequestDef
            .builder(HttpMethod.POST, SendAimBatchMessagesRequest.class, SendAimBatchMessagesResponse.class)
            .withName("SendAimBatchMessages")
            .withUri("/v1/aim/sms/messages")
            .withContentType("application/json");

        // requests
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(SmsTaskReq.class),
            f -> f.withMarshaller(SendAimBatchMessagesRequest::getBody, SendAimBatchMessagesRequest::setBody));

        // response

        return builder.build();
    }

    public static final HttpRequestDef addAimMsgSignature =
        genForAddAimMsgSignature();

    private static HttpRequestDef genForAddAimMsgSignature() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, AddAimMsgSignatureRequest.class, AddAimMsgSignatureResponse.class)
                .withName("AddAimMsgSignature")
                .withUri("/v1/sms/signatures")
                .withContentType("application/json");

        // requests
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(SignatureRequest.class),
            f -> f.withMarshaller(AddAimMsgSignatureRequest::getBody, AddAimMsgSignatureRequest::setBody));

        // response

        return builder.build();
    }

    public static final HttpRequestDef deleteAimMsgSignature =
        genForDeleteAimMsgSignature();

    private static HttpRequestDef genForDeleteAimMsgSignature() {
        // basic
        HttpRequestDef.Builder builder = HttpRequestDef
            .builder(HttpMethod.DELETE, DeleteAimMsgSignatureRequest.class, DeleteAimMsgSignatureResponse.class)
            .withName("DeleteAimMsgSignature")
            .withUri("/v1/aim/sms/signatures/{signature_id}")
            .withContentType("application/json");

        // requests
        builder.withRequestField("signature_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(DeleteAimMsgSignatureRequest::getSignatureId,
                DeleteAimMsgSignatureRequest::setSignatureId));

        // response

        return builder.build();
    }

    public static final HttpRequestDef listAimMsgSignature =
        genForListAimMsgSignature();

    private static HttpRequestDef genForListAimMsgSignature() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ListAimMsgSignatureRequest.class, ListAimMsgSignatureResponse.class)
                .withName("ListAimMsgSignature")
                .withUri("/v1/sms/signatures")
                .withContentType("application/json");

        // requests
        builder.withRequestField("app_name",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimMsgSignatureRequest::getAppName, ListAimMsgSignatureRequest::setAppName));
        builder.withRequestField("signature_id",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimMsgSignatureRequest::getSignatureId,
                ListAimMsgSignatureRequest::setSignatureId));
        builder.withRequestField("signature_name",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimMsgSignatureRequest::getSignatureName,
                ListAimMsgSignatureRequest::setSignatureName));
        builder.withRequestField("signature_type",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimMsgSignatureRequest::getSignatureType,
                ListAimMsgSignatureRequest::setSignatureType));
        builder.withRequestField("begin_time",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimMsgSignatureRequest::getBeginTime, ListAimMsgSignatureRequest::setBeginTime));
        builder.withRequestField("end_time",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimMsgSignatureRequest::getEndTime, ListAimMsgSignatureRequest::setEndTime));
        builder.withRequestField("status",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimMsgSignatureRequest::getStatus, ListAimMsgSignatureRequest::setStatus));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ListAimMsgSignatureRequest::getLimit, ListAimMsgSignatureRequest::setLimit));
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimMsgSignatureRequest::getOffset, ListAimMsgSignatureRequest::setOffset));

        // response

        return builder.build();
    }

    public static final HttpRequestDef listAimMsgSignatureDetail =
        genForListAimMsgSignatureDetail();

    private static HttpRequestDef genForListAimMsgSignatureDetail() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef
                .builder(HttpMethod.GET,
                    ListAimMsgSignatureDetailRequest.class,
                    ListAimMsgSignatureDetailResponse.class)
                .withName("ListAimMsgSignatureDetail")
                .withUri("/v1/sms/signatures/{signature_id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("signature_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimMsgSignatureDetailRequest::getSignatureId,
                ListAimMsgSignatureDetailRequest::setSignatureId));

        // response

        return builder.build();
    }

    public static final HttpRequestDef showAimMsgSignatureFileInfo =
        genForShowAimMsgSignatureFileInfo();

    private static HttpRequestDef genForShowAimMsgSignatureFileInfo() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef
                .builder(HttpMethod.GET,
                    ShowAimMsgSignatureFileInfoRequest.class,
                    ShowAimMsgSignatureFileInfoResponse.class)
                .withName("ShowAimMsgSignatureFileInfo")
                .withUri("/v1/sms/signatures/files")
                .withContentType("application/json");

        // requests
        builder.withRequestField("file_id",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowAimMsgSignatureFileInfoRequest::getFileId,
                ShowAimMsgSignatureFileInfoRequest::setFileId));
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowAimMsgSignatureFileInfoRequest::getOffset,
                ShowAimMsgSignatureFileInfoRequest::setOffset));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowAimMsgSignatureFileInfoRequest::getLimit,
                ShowAimMsgSignatureFileInfoRequest::setLimit));

        // response

        return builder.build();
    }

    public static final HttpRequestDef updateAimMsgSignature =
        genForUpdateAimMsgSignature();

    private static HttpRequestDef genForUpdateAimMsgSignature() {
        // basic
        HttpRequestDef.Builder builder = HttpRequestDef
            .builder(HttpMethod.PUT, UpdateAimMsgSignatureRequest.class, UpdateAimMsgSignatureResponse.class)
            .withName("UpdateAimMsgSignature")
            .withUri("/v1/sms/signatures/{signature_id}")
            .withContentType("application/json");

        // requests
        builder.withRequestField("signature_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateAimMsgSignatureRequest::getSignatureId,
                UpdateAimMsgSignatureRequest::setSignatureId));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(SignatureRequest.class),
            f -> f.withMarshaller(UpdateAimMsgSignatureRequest::getBody, UpdateAimMsgSignatureRequest::setBody));

        // response

        return builder.build();
    }

    public static final HttpRequestDef uploadAimMsgSignatureFile =
        genForUploadAimMsgSignatureFile();

    private static HttpRequestDef genForUploadAimMsgSignatureFile() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef
                .builder(HttpMethod.POST,
                    UploadAimMsgSignatureFileRequest.class,
                    UploadAimMsgSignatureFileResponse.class)
                .withName("UploadAimMsgSignatureFile")
                .withUri("/v1/sms/signatures/files")
                .withContentType("multipart/form-data");

        // requests
        builder.withRequestField("file_desc",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UploadAimMsgSignatureFileRequest::getFileDesc,
                UploadAimMsgSignatureFileRequest::setFileDesc));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(UploadAimMsgSignatureFileRequestBody.class),
            f -> f.withMarshaller(UploadAimMsgSignatureFileRequest::getBody,
                UploadAimMsgSignatureFileRequest::setBody));

        // response

        return builder.build();
    }

    public static final HttpRequestDef createAimMsgTemplate =
        genForCreateAimMsgTemplate();

    private static HttpRequestDef genForCreateAimMsgTemplate() {
        // basic
        HttpRequestDef.Builder builder = HttpRequestDef
            .builder(HttpMethod.POST, CreateAimMsgTemplateRequest.class, CreateAimMsgTemplateResponse.class)
            .withName("CreateAimMsgTemplate")
            .withUri("/v1/sms/templates")
            .withContentType("application/json");

        // requests
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(MsgTemplateRequest.class),
            f -> f.withMarshaller(CreateAimMsgTemplateRequest::getBody, CreateAimMsgTemplateRequest::setBody));

        // response

        return builder.build();
    }

    public static final HttpRequestDef deleteAimMsgTemplate =
        genForDeleteAimMsgTemplate();

    private static HttpRequestDef genForDeleteAimMsgTemplate() {
        // basic
        HttpRequestDef.Builder builder = HttpRequestDef
            .builder(HttpMethod.DELETE, DeleteAimMsgTemplateRequest.class, DeleteAimMsgTemplateResponse.class)
            .withName("DeleteAimMsgTemplate")
            .withUri("/v1/sms/templates/{template_id}")
            .withContentType("application/json");

        // requests
        builder.withRequestField("template_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(DeleteAimMsgTemplateRequest::getTemplateId,
                DeleteAimMsgTemplateRequest::setTemplateId));

        // response

        return builder.build();
    }

    public static final HttpRequestDef listAimMsgTemplate =
        genForListAimMsgTemplate();

    private static HttpRequestDef genForListAimMsgTemplate() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ListAimMsgTemplateRequest.class, ListAimMsgTemplateResponse.class)
                .withName("ListAimMsgTemplate")
                .withUri("/v1/sms/templates")
                .withContentType("application/json");

        // requests
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ListAimMsgTemplateRequest::getOffset, ListAimMsgTemplateRequest::setOffset));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ListAimMsgTemplateRequest::getLimit, ListAimMsgTemplateRequest::setLimit));
        builder.withRequestField("app_name",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimMsgTemplateRequest::getAppName, ListAimMsgTemplateRequest::setAppName));
        builder.withRequestField("start_time",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimMsgTemplateRequest::getStartTime, ListAimMsgTemplateRequest::setStartTime));
        builder.withRequestField("end_time",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimMsgTemplateRequest::getEndTime, ListAimMsgTemplateRequest::setEndTime));
        builder.withRequestField("flow_status",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(ListAimMsgTemplateRequest.FlowStatusEnum.class),
            f -> f.withMarshaller(ListAimMsgTemplateRequest::getFlowStatus, ListAimMsgTemplateRequest::setFlowStatus));
        builder.withRequestField("template_id",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimMsgTemplateRequest::getTemplateId, ListAimMsgTemplateRequest::setTemplateId));
        builder.withRequestField("template_name",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimMsgTemplateRequest::getTemplateName,
                ListAimMsgTemplateRequest::setTemplateName));
        builder.withRequestField("template_type",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(ListAimMsgTemplateRequest.TemplateTypeEnum.class),
            f -> f.withMarshaller(ListAimMsgTemplateRequest::getTemplateType,
                ListAimMsgTemplateRequest::setTemplateType));

        // response

        return builder.build();
    }

    public static final HttpRequestDef showAimMsgTemplateDetail =
        genForShowAimMsgTemplateDetail();

    private static HttpRequestDef genForShowAimMsgTemplateDetail() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef
                .builder(HttpMethod.GET, ShowAimMsgTemplateDetailRequest.class, ShowAimMsgTemplateDetailResponse.class)
                .withName("ShowAimMsgTemplateDetail")
                .withUri("/v1/sms/templates/{template_id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("template_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowAimMsgTemplateDetailRequest::getTemplateId,
                ShowAimMsgTemplateDetailRequest::setTemplateId));

        // response

        return builder.build();
    }

    public static final HttpRequestDef showAimMsgTemplateVariable =
        genForShowAimMsgTemplateVariable();

    private static HttpRequestDef genForShowAimMsgTemplateVariable() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef
                .builder(HttpMethod.GET,
                    ShowAimMsgTemplateVariableRequest.class,
                    ShowAimMsgTemplateVariableResponse.class)
                .withName("ShowAimMsgTemplateVariable")
                .withUri("/v1/sms/templates/{template_id}/variable")
                .withContentType("application/json");

        // requests
        builder.withRequestField("template_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowAimMsgTemplateVariableRequest::getTemplateId,
                ShowAimMsgTemplateVariableRequest::setTemplateId));

        // response

        return builder.build();
    }

    public static final HttpRequestDef updateAimMsgTemplate =
        genForUpdateAimMsgTemplate();

    private static HttpRequestDef genForUpdateAimMsgTemplate() {
        // basic
        HttpRequestDef.Builder builder = HttpRequestDef
            .builder(HttpMethod.PUT, UpdateAimMsgTemplateRequest.class, UpdateAimMsgTemplateResponse.class)
            .withName("UpdateAimMsgTemplate")
            .withUri("/v1/sms/templates/{template_id}")
            .withContentType("application/json");

        // requests
        builder.withRequestField("template_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdateAimMsgTemplateRequest::getTemplateId,
                UpdateAimMsgTemplateRequest::setTemplateId));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(MsgTemplateRequest.class),
            f -> f.withMarshaller(UpdateAimMsgTemplateRequest::getBody, UpdateAimMsgTemplateRequest::setBody));

        // response

        return builder.build();
    }

    public static final HttpRequestDef createAimPersonalTemplate =
        genForCreateAimPersonalTemplate();

    private static HttpRequestDef genForCreateAimPersonalTemplate() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef
                .builder(HttpMethod.POST,
                    CreateAimPersonalTemplateRequest.class,
                    CreateAimPersonalTemplateResponse.class)
                .withName("CreateAimPersonalTemplate")
                .withUri("/v1/aim/templates")
                .withContentType("application/json");

        // requests
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(CreateAimPersonalTemplateRequestBody.class),
            f -> f.withMarshaller(CreateAimPersonalTemplateRequest::getBody,
                CreateAimPersonalTemplateRequest::setBody));

        // response

        return builder.build();
    }

    public static final HttpRequestDef deleteAimPersonalTemplate =
        genForDeleteAimPersonalTemplate();

    private static HttpRequestDef genForDeleteAimPersonalTemplate() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef
                .builder(HttpMethod.DELETE,
                    DeleteAimPersonalTemplateRequest.class,
                    DeleteAimPersonalTemplateResponse.class)
                .withName("DeleteAimPersonalTemplate")
                .withUri("/v1/aim/template/{tpl_id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("tpl_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(DeleteAimPersonalTemplateRequest::getTplId,
                DeleteAimPersonalTemplateRequest::setTplId));

        // response

        return builder.build();
    }

    public static final HttpRequestDef deleteTemplateMaterial =
        genForDeleteTemplateMaterial();

    private static HttpRequestDef genForDeleteTemplateMaterial() {
        // basic
        HttpRequestDef.Builder builder = HttpRequestDef
            .builder(HttpMethod.POST, DeleteTemplateMaterialRequest.class, DeleteTemplateMaterialResponse.class)
            .withName("DeleteTemplateMaterial")
            .withUri("/v1/aim/template-materials/delete")
            .withContentType("application/json");

        // requests
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(DeleteTemplateMaterialRequestBody.class),
            f -> f.withMarshaller(DeleteTemplateMaterialRequest::getBody, DeleteTemplateMaterialRequest::setBody));

        // response

        return builder.build();
    }

    public static final HttpRequestDef listAimTemplateMaterials =
        genForListAimTemplateMaterials();

    private static HttpRequestDef genForListAimTemplateMaterials() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef
                .builder(HttpMethod.GET, ListAimTemplateMaterialsRequest.class, ListAimTemplateMaterialsResponse.class)
                .withName("ListAimTemplateMaterials")
                .withUri("/v1/aim/template-materials")
                .withContentType("application/json");

        // requests
        builder.withRequestField("resource_type",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimTemplateMaterialsRequest::getResourceType,
                ListAimTemplateMaterialsRequest::setResourceType));
        builder.withRequestField("file_name",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimTemplateMaterialsRequest::getFileName,
                ListAimTemplateMaterialsRequest::setFileName));
        builder.withRequestField("material_id",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimTemplateMaterialsRequest::getMaterialId,
                ListAimTemplateMaterialsRequest::setMaterialId));
        builder.withRequestField("aim_resource_id",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimTemplateMaterialsRequest::getAimResourceId,
                ListAimTemplateMaterialsRequest::setAimResourceId));
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ListAimTemplateMaterialsRequest::getOffset,
                ListAimTemplateMaterialsRequest::setOffset));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ListAimTemplateMaterialsRequest::getLimit,
                ListAimTemplateMaterialsRequest::setLimit));

        // response

        return builder.build();
    }

    public static final HttpRequestDef listAimTemplateReports =
        genForListAimTemplateReports();

    private static HttpRequestDef genForListAimTemplateReports() {
        // basic
        HttpRequestDef.Builder builder = HttpRequestDef
            .builder(HttpMethod.POST, ListAimTemplateReportsRequest.class, ListAimTemplateReportsResponse.class)
            .withName("ListAimTemplateReports")
            .withUri("/v1/aim/tempalte-reports/query")
            .withContentType("application/json");

        // requests
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(ListAimTemplateReportsRequestBody.class),
            f -> f.withMarshaller(ListAimTemplateReportsRequest::getBody, ListAimTemplateReportsRequest::setBody));

        // response

        return builder.build();
    }

    public static final HttpRequestDef listAimTemplates =
        genForListAimTemplates();

    private static HttpRequestDef genForListAimTemplates() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ListAimTemplatesRequest.class, ListAimTemplatesResponse.class)
                .withName("ListAimTemplates")
                .withUri("/v1/aim/templates")
                .withContentType("application/json");

        // requests
        builder.withRequestField("tpl_id",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimTemplatesRequest::getTplId, ListAimTemplatesRequest::setTplId));
        builder.withRequestField("tpl_name",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimTemplatesRequest::getTplName, ListAimTemplatesRequest::setTplName));
        builder.withRequestField("tpl_type",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimTemplatesRequest::getTplType, ListAimTemplatesRequest::setTplType));
        builder.>withRequestField("factory_type",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(List.class),
            f -> f.withMarshaller(ListAimTemplatesRequest::getFactoryType, ListAimTemplatesRequest::setFactoryType));
        builder.withRequestField("has_param",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Boolean.class),
            f -> f.withMarshaller(ListAimTemplatesRequest::getHasParam, ListAimTemplatesRequest::setHasParam));
        builder.withRequestField("begin_time",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimTemplatesRequest::getBeginTime, ListAimTemplatesRequest::setBeginTime));
        builder.withRequestField("end_time",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListAimTemplatesRequest::getEndTime, ListAimTemplatesRequest::setEndTime));
        builder.withRequestField("is_only_status",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Boolean.class),
            f -> f.withMarshaller(ListAimTemplatesRequest::getIsOnlyStatus, ListAimTemplatesRequest::setIsOnlyStatus));
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ListAimTemplatesRequest::getOffset, ListAimTemplatesRequest::setOffset));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ListAimTemplatesRequest::getLimit, ListAimTemplatesRequest::setLimit));

        // response

        return builder.build();
    }

    public static final HttpRequestDef setPrimaryVideoThumbnail =
        genForSetPrimaryVideoThumbnail();

    private static HttpRequestDef genForSetPrimaryVideoThumbnail() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef
                .builder(HttpMethod.POST, SetPrimaryVideoThumbnailRequest.class, SetPrimaryVideoThumbnailResponse.class)
                .withName("SetPrimaryVideoThumbnail")
                .withUri("/v1/aim/template-material-thumbnails")
                .withContentType("application/json");

        // requests
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(SetPrimaryVideoThumbnailRequestBody.class),
            f -> f.withMarshaller(SetPrimaryVideoThumbnailRequest::getBody, SetPrimaryVideoThumbnailRequest::setBody));

        // response

        return builder.build();
    }

    public static final HttpRequestDef showTemplateVideoThumbnail =
        genForShowTemplateVideoThumbnail();

    private static HttpRequestDef genForShowTemplateVideoThumbnail() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef
                .builder(HttpMethod.GET,
                    ShowTemplateVideoThumbnailRequest.class,
                    ShowTemplateVideoThumbnailResponse.class)
                .withName("ShowTemplateVideoThumbnail")
                .withUri("/v1/aim/template-material-thumbnails")
                .withContentType("application/json");

        // requests
        builder.withRequestField("aim_resource_id",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ShowTemplateVideoThumbnailRequest::getAimResourceId,
                ShowTemplateVideoThumbnailRequest::setAimResourceId));

        // response

        return builder.build();
    }

    public static final HttpRequestDef updatePersonalTemplateState =
        genForUpdatePersonalTemplateState();

    private static HttpRequestDef genForUpdatePersonalTemplateState() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef
                .builder(HttpMethod.PUT,
                    UpdatePersonalTemplateStateRequest.class,
                    UpdatePersonalTemplateStateResponse.class)
                .withName("UpdatePersonalTemplateState")
                .withUri("/v1/aim/template-state/{tpl_id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("tpl_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(UpdatePersonalTemplateStateRequest::getTplId,
                UpdatePersonalTemplateStateRequest::setTplId));
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(UpdatePersonalTemplateStateDataRequest.class),
            f -> f.withMarshaller(UpdatePersonalTemplateStateRequest::getBody,
                UpdatePersonalTemplateStateRequest::setBody));

        // response

        return builder.build();
    }

    public static final HttpRequestDef uploadAimTemplateMaterial =
        genForUploadAimTemplateMaterial();

    private static HttpRequestDef genForUploadAimTemplateMaterial() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef
                .builder(HttpMethod.POST,
                    UploadAimTemplateMaterialRequest.class,
                    UploadAimTemplateMaterialResponse.class)
                .withName("UploadAimTemplateMaterial")
                .withUri("/v1/aim/template-materials")
                .withContentType("application/json");

        // requests
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(UploadAimTemplateMaterialRequestBody.class),
            f -> f.withMarshaller(UploadAimTemplateMaterialRequest::getBody,
                UploadAimTemplateMaterialRequest::setBody));

        // response

        return builder.build();
    }

    public static final HttpRequestDef addVmsCallBack =
        genForAddVmsCallBack();

    private static HttpRequestDef genForAddVmsCallBack() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, AddVmsCallBackRequest.class, AddVmsCallBackResponse.class)
                .withName("AddVmsCallBack")
                .withUri("/v1/aim-basic/callbacks")
                .withContentType("application/json");

        // requests
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(AddVmsCallBackRequestBody.class),
            f -> f.withMarshaller(AddVmsCallBackRequest::getBody, AddVmsCallBackRequest::setBody));

        // response

        return builder.build();
    }

    public static final HttpRequestDef createVmsSendTask =
        genForCreateVmsSendTask();

    private static HttpRequestDef genForCreateVmsSendTask() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, CreateVmsSendTaskRequest.class, CreateVmsSendTaskResponse.class)
                .withName("CreateVmsSendTask")
                .withUri("/v1/aim-basic/send-tasks")
                .withContentType("application/json");

        // requests
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(CreateVmsSendTaskRequestBody.class),
            f -> f.withMarshaller(CreateVmsSendTaskRequest::getBody, CreateVmsSendTaskRequest::setBody));

        // response

        return builder.build();
    }

    public static final HttpRequestDef listVmsCallbacks =
        genForListVmsCallbacks();

    private static HttpRequestDef genForListVmsCallbacks() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ListVmsCallbacksRequest.class, ListVmsCallbacksResponse.class)
                .withName("ListVmsCallbacks")
                .withUri("/v1/aim-basic/callbacks")
                .withContentType("application/json");

        // requests

        // response

        return builder.build();
    }

    public static final HttpRequestDef listVmsSendTasks =
        genForListVmsSendTasks();

    private static HttpRequestDef genForListVmsSendTasks() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ListVmsSendTasksRequest.class, ListVmsSendTasksResponse.class)
                .withName("ListVmsSendTasks")
                .withUri("/v1/aim-basic/send-tasks")
                .withContentType("application/json");

        // requests
        builder.withRequestField("task_name",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListVmsSendTasksRequest::getTaskName, ListVmsSendTasksRequest::setTaskName));
        builder.withRequestField("task_id",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListVmsSendTasksRequest::getTaskId, ListVmsSendTasksRequest::setTaskId));
        builder.withRequestField("tpl_id",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListVmsSendTasksRequest::getTplId, ListVmsSendTasksRequest::setTplId));
        builder.withRequestField("tpl_name",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListVmsSendTasksRequest::getTplName, ListVmsSendTasksRequest::setTplName));
        builder.withRequestField("begin_time",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListVmsSendTasksRequest::getBeginTime, ListVmsSendTasksRequest::setBeginTime));
        builder.withRequestField("end_time",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListVmsSendTasksRequest::getEndTime, ListVmsSendTasksRequest::setEndTime));
        builder.withRequestField("send_begin_time",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListVmsSendTasksRequest::getSendBeginTime,
                ListVmsSendTasksRequest::setSendBeginTime));
        builder.withRequestField("send_end_time",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListVmsSendTasksRequest::getSendEndTime, ListVmsSendTasksRequest::setSendEndTime));
        builder.withRequestField("operator",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListVmsSendTasksRequest::getOperator, ListVmsSendTasksRequest::setOperator));
        builder.withRequestField("task_status",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListVmsSendTasksRequest::getTaskStatus, ListVmsSendTasksRequest::setTaskStatus));
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ListVmsSendTasksRequest::getOffset, ListVmsSendTasksRequest::setOffset));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ListVmsSendTasksRequest::getLimit, ListVmsSendTasksRequest::setLimit));

        // response

        return builder.build();
    }

    public static final HttpRequestDef createVmsTemplate =
        genForCreateVmsTemplate();

    private static HttpRequestDef genForCreateVmsTemplate() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, CreateVmsTemplateRequest.class, CreateVmsTemplateResponse.class)
                .withName("CreateVmsTemplate")
                .withUri("/v1/aim-basic/templates")
                .withContentType("application/json");

        // requests
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            TypeCasts.uncheckedConversion(CreateVmsTemplateRequestBody.class),
            f -> f.withMarshaller(CreateVmsTemplateRequest::getBody, CreateVmsTemplateRequest::setBody));

        // response

        return builder.build();
    }

    public static final HttpRequestDef listVmsTemplateStatus =
        genForListVmsTemplateStatus();

    private static HttpRequestDef genForListVmsTemplateStatus() {
        // basic
        HttpRequestDef.Builder builder = HttpRequestDef
            .builder(HttpMethod.GET, ListVmsTemplateStatusRequest.class, ListVmsTemplateStatusResponse.class)
            .withName("ListVmsTemplateStatus")
            .withUri("/v1/aim-basic/templates")
            .withContentType("application/json");

        // requests
        builder.withRequestField("tpl_id",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListVmsTemplateStatusRequest::getTplId, ListVmsTemplateStatusRequest::setTplId));
        builder.withRequestField("tpl_name",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListVmsTemplateStatusRequest::getTplName, ListVmsTemplateStatusRequest::setTplName));
        builder.withRequestField("tpl_type",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListVmsTemplateStatusRequest::getTplType, ListVmsTemplateStatusRequest::setTplType));
        builder.withRequestField("has_param",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Boolean.class),
            f -> f.withMarshaller(ListVmsTemplateStatusRequest::getHasParam,
                ListVmsTemplateStatusRequest::setHasParam));
        builder.withRequestField("begin_time",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListVmsTemplateStatusRequest::getBeginTime,
                ListVmsTemplateStatusRequest::setBeginTime));
        builder.withRequestField("end_time",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(String.class),
            f -> f.withMarshaller(ListVmsTemplateStatusRequest::getEndTime, ListVmsTemplateStatusRequest::setEndTime));
        builder.withRequestField("offset",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ListVmsTemplateStatusRequest::getOffset, ListVmsTemplateStatusRequest::setOffset));
        builder.withRequestField("limit",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            TypeCasts.uncheckedConversion(Integer.class),
            f -> f.withMarshaller(ListVmsTemplateStatusRequest::getLimit, ListVmsTemplateStatusRequest::setLimit));

        // response

        return builder.build();
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy