code: public ChannelSpecification withSupportedInputModes(String... supportedInputModes) {
          if (this.supportedInputModes == null) {
              setSupportedInputModes(new java.util.ArrayList<String>(supportedInputModes.length));
          }
          for (String ele : supportedInputModes) {
              this.supportedInputModes.add(ele);
          }
          return this;
      }
docs: <p>
  The allowed input mode, either FILE or PIPE.
  </p>
  <p>
  In FILE mode, Amazon SageMaker copies the data from the input source onto the local Amazon Elastic Block Store
  (Amazon EBS) volumes before starting your training algorithm. This is the most commonly used input mode.
  </p>
  <p>
  In PIPE mode, Amazon SageMaker streams input data from the source directly to your algorithm without using the
  EBS volume.
  </p>
  <p>
  <b>NOTE:</b> This method appends the values to the existing list (if any). Use
  {@link #setSupportedInputModes(java.util.Collection)} or {@link #withSupportedInputModes(java.util.Collection)}
  if you want to override the existing values.
  </p>
  
  @param supportedInputModes
  The allowed input mode, either FILE or PIPE.</p>
  <p>
  In FILE mode, Amazon SageMaker copies the data from the input source onto the local Amazon Elastic Block
  Store (Amazon EBS) volumes before starting your training algorithm. This is the most commonly used input
  mode.
  </p>
  <p>
  In PIPE mode, Amazon SageMaker streams input data from the source directly to your algorithm without using
  the EBS volume.
  @return Returns a reference to this object so that method calls can be chained together.
  @see TrainingInputMode