code: public CreatePipelineResponse createPipeline(CreatePipelineRequest request) {
          checkNotNull(request, "The parameter request should NOT be null.");
          checkStringNotEmpty(request.getPipelineName(), 
                  "The parameter pipelineName should NOT be null or empty string.");
          checkStringNotEmpty(request.getSourceBucket(), 
                  "The parameter sourceBucket should NOT be null or empty string.");
          checkStringNotEmpty(request.getTargetBucket(), 
                  "The parameter targetBucket should NOT be null or empty string.");
          if (request.getConfig() == null || request.getConfig().getCapacity() == null) {
              PipelineConfig config = new PipelineConfig();
              config.setCapacity(DEFAULT_PIPELINE_CAPACITY);
              request.setConfig(config);
          }
          InternalRequest internalRequest = createRequest(HttpMethodName.POST, request, PIPELINE);
          
          return invokeHttpClient(internalRequest, CreatePipelineResponse.class);
      }
docs: Creates a pipeline which enable you to perform multiple transcodes in parallel.
  
  @param request The request object containing all options for creating new pipeline.