public Observable<PrivateZoneInner> beginCreateOrUpdateAsync(String resourceGroupName, String privateZoneName, PrivateZoneInner parameters, String ifMatch, String ifNoneMatch) {
        return beginCreateOrUpdateWithServiceResponseAsync(resourceGroupName, privateZoneName, parameters, ifMatch, ifNoneMatch).map(new Func1<ServiceResponse<PrivateZoneInner>, PrivateZoneInner>() {
            @Override
            public PrivateZoneInner call(ServiceResponse<PrivateZoneInner> response) {
                return response.body();
            }
        });
    }
public Observable < PrivateZoneInner > beginCreateOrUpdateAsync ( String resourceGroupName , String privateZoneName , PrivateZoneInner parameters , String ifMatch , String ifNoneMatch ) { return beginCreateOrUpdateWithServiceResponseAsync ( resourceGroupName , privateZoneName , parameters , ifMatch , ifNoneMatch ) . map ( new Func1 < ServiceResponse < PrivateZoneInner > , PrivateZoneInner > ( ) { @ Override public PrivateZoneInner call ( ServiceResponse < PrivateZoneInner > response ) { return response . body ( ) ; } } ) ; }
Creates or updates a Private DNS zone. Does not modify Links to virtual networks or DNS records within the zone.

@param resourceGroupName The name of the resource group.
@param privateZoneName The name of the Private DNS zone (without a terminating dot).
@param parameters Parameters supplied to the CreateOrUpdate operation.
@param ifMatch The ETag of the Private DNS zone. Omit this value to always overwrite the current zone. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes.
@param ifNoneMatch Set to '*' to allow a new Private DNS zone to be created, but to prevent updating an existing zone. Other values will be ignored.
@throws IllegalArgumentException thrown if parameters fail the validation
@return the observable to the PrivateZoneInner object