code: public final LogSink updateSink(String sinkName, LogSink sink) {
  
      UpdateSinkRequest request =
          UpdateSinkRequest.newBuilder().setSinkName(sinkName).setSink(sink).build();
      return updateSink(request);
    }
docs: Updates a sink. This method replaces the following fields in the existing sink with values from
  the new sink: `destination`, and `filter`. The updated sink might also have a new
  `writer_identity`; see the `unique_writer_identity` field.
  
  <p>Sample code:
  
  <pre><code>
  try (ConfigClient configClient = ConfigClient.create()) {
  SinkName sinkName = ProjectSinkName.of("[PROJECT]", "[SINK]");
  LogSink sink = LogSink.newBuilder().build();
  LogSink response = configClient.updateSink(sinkName.toString(), sink);
  }
  </code></pre>
  
  @param sinkName Required. The full resource name of the sink to update, including the parent
  resource and the sink identifier:
  <p>"projects/[PROJECT_ID]/sinks/[SINK_ID]"
  "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]"
  "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]"
  "folders/[FOLDER_ID]/sinks/[SINK_ID]"
  <p>Example: `"projects/my-project-id/sinks/my-sink-id"`.
  @param sink Required. The updated sink, whose name is the same identifier that appears as part
  of `sink_name`.
  @throws com.google.api.gax.rpc.ApiException if the remote call fails