code: @BetaApi(
        "The surface for long-running operations is not stable yet and may change in the future.")
    public final OperationFuture<AppProfile, UpdateAppProfileMetadata> updateAppProfileAsync(
        AppProfile appProfile, FieldMask updateMask) {
  
      UpdateAppProfileRequest request =
          UpdateAppProfileRequest.newBuilder()
              .setAppProfile(appProfile)
              .setUpdateMask(updateMask)
              .build();
      return updateAppProfileAsync(request);
    }
docs: Updates an app profile within an instance.
  
  <p>Sample code:
  
  <pre><code>
  try (BaseBigtableInstanceAdminClient baseBigtableInstanceAdminClient = BaseBigtableInstanceAdminClient.create()) {
  AppProfile appProfile = AppProfile.newBuilder().build();
  FieldMask updateMask = FieldMask.newBuilder().build();
  AppProfile response = baseBigtableInstanceAdminClient.updateAppProfileAsync(appProfile, updateMask).get();
  }
  </code></pre>
  
  @param appProfile The app profile which will (partially) replace the current value.
  @param updateMask The subset of app profile fields which should be replaced. If unset, all
  fields will be replaced.
  @throws com.google.api.gax.rpc.ApiException if the remote call fails