code: public Observable<ConnectionSharedKeyInner> beginSetSharedKeyAsync(String resourceGroupName, String virtualNetworkGatewayConnectionName, String value) {
          return beginSetSharedKeyWithServiceResponseAsync(resourceGroupName, virtualNetworkGatewayConnectionName, value).map(new Func1<ServiceResponse<ConnectionSharedKeyInner>, ConnectionSharedKeyInner>() {
              @Override
              public ConnectionSharedKeyInner call(ServiceResponse<ConnectionSharedKeyInner> response) {
                  return response.body();
              }
          });
      }
docs: The Put VirtualNetworkGatewayConnectionSharedKey operation sets the virtual network gateway connection shared key for passed virtual network gateway connection in the specified resource group through Network resource provider.
  
  @param resourceGroupName The name of the resource group.
  @param virtualNetworkGatewayConnectionName The virtual network gateway connection name.
  @param value The virtual network connection shared key value.
  @throws IllegalArgumentException thrown if parameters fail the validation
  @return the observable to the ConnectionSharedKeyInner object