code: public EnableEnhancedMonitoringResult withDesiredShardLevelMetrics(String... desiredShardLevelMetrics) {
          if (this.desiredShardLevelMetrics == null) {
              setDesiredShardLevelMetrics(new com.amazonaws.internal.SdkInternalList<String>(desiredShardLevelMetrics.length));
          }
          for (String ele : desiredShardLevelMetrics) {
              this.desiredShardLevelMetrics.add(ele);
          }
          return this;
      }
docs: <p>
  Represents the list of all the metrics that would be in the enhanced state after the operation.
  </p>
  <p>
  <b>NOTE:</b> This method appends the values to the existing list (if any). Use
  {@link #setDesiredShardLevelMetrics(java.util.Collection)} or
  {@link #withDesiredShardLevelMetrics(java.util.Collection)} if you want to override the existing values.
  </p>
  
  @param desiredShardLevelMetrics
  Represents the list of all the metrics that would be in the enhanced state after the operation.
  @return Returns a reference to this object so that method calls can be chained together.
  @see MetricsName