text: "use strict";
  Object.defineProperty(exports, "__esModule", { value: true });
  exports.StopDominantLanguageDetectionJobCommand = void 0;
  const models_0_1 = require("../models/models_0");
  const Aws_json1_1_1 = require("../protocols/Aws_json1_1");
  const middleware_serde_1 = require("@aws-sdk/middleware-serde");
  const smithy_client_1 = require("@aws-sdk/smithy-client");
  /**
   * <p>Stops a dominant language detection job in progress.</p>
   *          <p>If the job state is <code>IN_PROGRESS</code> the job is marked for termination and put
   *       into the <code>STOP_REQUESTED</code> state. If the job completes before it can be stopped, it
   *       is put into the <code>COMPLETED</code> state; otherwise the job is stopped and put into the
   *         <code>STOPPED</code> state.</p>
   *          <p>If the job is in the <code>COMPLETED</code> or <code>FAILED</code> state when you call the
   *         <code>StopDominantLanguageDetectionJob</code> operation, the operation returns a 400
   *       Internal Request Exception. </p>
   *          <p>When a job is stopped, any documents already processed are written to the output
   *       location.</p>
   */
  class StopDominantLanguageDetectionJobCommand extends smithy_client_1.Command {
      // Start section: command_properties
      // End section: command_properties
      constructor(input) {
          // Start section: command_constructor
          super();
          this.input = input;
          // End section: command_constructor
      }
      /**
       * @internal
       */
      resolveMiddleware(clientStack, configuration, options) {
          this.middlewareStack.use(middleware_serde_1.getSerdePlugin(configuration, this.serialize, this.deserialize));
          const stack = clientStack.concat(this.middlewareStack);
          const { logger } = configuration;
          const clientName = "ComprehendClient";
          const commandName = "StopDominantLanguageDetectionJobCommand";
          const handlerExecutionContext = {
              logger,
              clientName,
              commandName,
              inputFilterSensitiveLog: models_0_1.StopDominantLanguageDetectionJobRequest.filterSensitiveLog,
              outputFilterSensitiveLog: models_0_1.StopDominantLanguageDetectionJobResponse.filterSensitiveLog,
          };
          const { requestHandler } = configuration;
          return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);
      }
      serialize(input, context) {
          return Aws_json1_1_1.serializeAws_json1_1StopDominantLanguageDetectionJobCommand(input, context);
      }
      deserialize(output, context) {
          return Aws_json1_1_1.deserializeAws_json1_1StopDominantLanguageDetectionJobCommand(output, context);
      }
  }
  exports.StopDominantLanguageDetectionJobCommand = StopDominantLanguageDetectionJobCommand;
  //# sourceMappingURL=StopDominantLanguageDetectionJobCommand.js.map