code: public Observable<ServiceResponse<ResourceNameAvailabilityInner>> checkNameAvailabilityWithServiceResponseAsync(String name, CheckNameResourceTypes type, Boolean isFqdn) {
          if (this.subscriptionId() == null) {
              throw new IllegalArgumentException("Parameter this.subscriptionId() is required and cannot be null.");
          }
          if (this.apiVersion() == null) {
              throw new IllegalArgumentException("Parameter this.apiVersion() is required and cannot be null.");
          }
          if (name == null) {
              throw new IllegalArgumentException("Parameter name is required and cannot be null.");
          }
          if (type == null) {
              throw new IllegalArgumentException("Parameter type is required and cannot be null.");
          }
          ResourceNameAvailabilityRequest request = new ResourceNameAvailabilityRequest();
          request.withName(name);
          request.withType(type);
          request.withIsFqdn(isFqdn);
          return service.checkNameAvailability(this.subscriptionId(), this.apiVersion(), this.acceptLanguage(), request, this.userAgent())
              .flatMap(new Func1<Response<ResponseBody>, Observable<ServiceResponse<ResourceNameAvailabilityInner>>>() {
                  @Override
                  public Observable<ServiceResponse<ResourceNameAvailabilityInner>> call(Response<ResponseBody> response) {
                      try {
                          ServiceResponse<ResourceNameAvailabilityInner> clientResponse = checkNameAvailabilityDelegate(response);
                          return Observable.just(clientResponse);
                      } catch (Throwable t) {
                          return Observable.error(t);
                      }
                  }
              });
      }
docs: Check if a resource name is available.
  Check if a resource name is available.
  
  @param name Resource name to verify.
  @param type Resource type used for verification. Possible values include: 'Site', 'Slot', 'HostingEnvironment', 'PublishingUser', 'Microsoft.Web/sites', 'Microsoft.Web/sites/slots', 'Microsoft.Web/hostingEnvironments', 'Microsoft.Web/publishingUsers'
  @param isFqdn Is fully qualified domain name.
  @throws IllegalArgumentException thrown if parameters fail the validation
  @return the observable to the ResourceNameAvailabilityInner object