docs: public CreateTemplateResponse createTemplate(CreateTemplateRequest request) {
          checkNotNull(request, "request is required.");
          assertStringNotNullOrEmpty(request.getName(), "template name is required.");
          assertStringNotNullOrEmpty(request.getContent(), "template content is required.");
          assertStringNotNullOrEmpty(request.getInvokeId(), "template invokeId is required.");
          InternalRequest internalRequest = this.createGeneralRequest("bce/v2/applyTemplate",
                  request, HttpMethodName.POST);
  
          // fill in the request payload
          internalRequest = fillRequestPayload(internalRequest, JsonUtils.toJsonString(request));
  
          CreateTemplateResponse response = null;
          try {
              response = this.invokeHttpClient(internalRequest, CreateTemplateResponse.class);
          } catch (BceServiceException exception) {
              response = new CreateTemplateResponse();
              response.setCode(exception.getErrorCode());
              response.setMessage(exception.getErrorMessage());
              response.setRequestId(exception.getRequestId());
          }
          return response;
      }