code: public Mono<Response<ConfigurationSetting>> updateSetting(ConfigurationSetting setting) {
          // Validate that setting and key is not null. The key is used in the service URL so it cannot be null.
          validateSetting(setting);
  
          String etag = setting.etag() == null ? ETAG_ANY : setting.etag();
  
          return service.setKey(serviceEndpoint, setting.key(), setting.label(), setting, getETagValue(etag), null);
      }
docs: Updates an existing configuration value in the service. The setting must already exist. Partial updates are not
  supported, the entire configuration value is replaced.
  
  If {@link ConfigurationSetting#etag() etag} is specified, the configuration value is only updated if it matches.
  
  @param setting The setting to add or update in the service.
  @return The {@link ConfigurationSetting} that was updated, or {@code null}, if the configuration value does not
  exist, is locked, or the key is an invalid value (which will also throw ServiceRequestException described below).
  @throws NullPointerException If {@code setting} is {@code null}.
  @throws IllegalArgumentException If {@link ConfigurationSetting#key() key} is {@code null}.
  @throws ServiceRequestException If a ConfigurationSetting with the same key and label does not
  exist, the setting is locked, {@link ConfigurationSetting#key() key} is an empty string, or
  {@link ConfigurationSetting#etag() etag} is specified but does not match the current value.