code: public final Operation setLocations(
        String projectId, String zone, String clusterId, List<String> locations) {
  
      SetLocationsRequest request =
          SetLocationsRequest.newBuilder()
              .setProjectId(projectId)
              .setZone(zone)
              .setClusterId(clusterId)
              .addAllLocations(locations)
              .build();
      return setLocations(request);
    }
docs: Sets the locations for a specific cluster.
  
  <p>Sample code:
  
  <pre><code>
  try (ClusterManagerClient clusterManagerClient = ClusterManagerClient.create()) {
  String projectId = "";
  String zone = "";
  String clusterId = "";
  List&lt;String&gt; locations = new ArrayList&lt;&gt;();
  Operation response = clusterManagerClient.setLocations(projectId, zone, clusterId, locations);
  }
  </code></pre>
  
  @param projectId Deprecated. The Google Developers Console [project ID or project
  number](https://support.google.com/cloud/answer/6158840). This field has been deprecated
  and replaced by the name field.
  @param zone Deprecated. The name of the Google Compute Engine
  [zone](/compute/docs/zones#available) in which the cluster resides. This field has been
  deprecated and replaced by the name field.
  @param clusterId Deprecated. The name of the cluster to upgrade. This field has been deprecated
  and replaced by the name field.
  @param locations The desired list of Google Compute Engine
  [locations](/compute/docs/zones#available) in which the cluster's nodes should be located.
  Changing the locations a cluster is in will result in nodes being either created or removed
  from the cluster, depending on whether locations are being added or removed.
  <p>This list must always include the cluster's primary zone.
  @throws com.google.api.gax.rpc.ApiException if the remote call fails