Update reverse private endpoint
Update mutable fields for an existing reverse private endpoint. customPrivateDnsMappings is a full replacement list. Use an empty array to clear mappings.
curl --request PATCH \
--url https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/clickpipesReversePrivateEndpoints/{reversePrivateEndpointId} \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"customPrivateDnsMappings": [
{
"privateDnsName": "my-service.example.com"
},
{
"privateDnsName": "*.example.com"
}
]
}
'import requests
url = "https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/clickpipesReversePrivateEndpoints/{reversePrivateEndpointId}"
payload = { "customPrivateDnsMappings": [{ "privateDnsName": "my-service.example.com" }, { "privateDnsName": "*.example.com" }] }
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
customPrivateDnsMappings: [{privateDnsName: 'my-service.example.com'}, {privateDnsName: '*.example.com'}]
})
};
fetch('https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/clickpipesReversePrivateEndpoints/{reversePrivateEndpointId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/clickpipesReversePrivateEndpoints/{reversePrivateEndpointId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'customPrivateDnsMappings' => [
[
'privateDnsName' => 'my-service.example.com'
],
[
'privateDnsName' => '*.example.com'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/clickpipesReversePrivateEndpoints/{reversePrivateEndpointId}"
payload := strings.NewReader("{\n \"customPrivateDnsMappings\": [\n {\n \"privateDnsName\": \"my-service.example.com\"\n },\n {\n \"privateDnsName\": \"*.example.com\"\n }\n ]\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/clickpipesReversePrivateEndpoints/{reversePrivateEndpointId}")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"customPrivateDnsMappings\": [\n {\n \"privateDnsName\": \"my-service.example.com\"\n },\n {\n \"privateDnsName\": \"*.example.com\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/clickpipesReversePrivateEndpoints/{reversePrivateEndpointId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"customPrivateDnsMappings\": [\n {\n \"privateDnsName\": \"my-service.example.com\"\n },\n {\n \"privateDnsName\": \"*.example.com\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"status": 200,
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"result": {
"description": "My reverse private endpoint",
"type": "VPC_ENDPOINT_SERVICE",
"vpcEndpointServiceName": "com.amazonaws.vpce.us-east-1.vpce-svc-12345678901234567",
"vpcResourceConfigurationId": "rcfg-12345678901234567",
"vpcResourceShareArn": "arn:aws:ram:us-east-1:123456789012:resource-share/share-12345678901234567",
"mskClusterArn": "arn:aws:kafka:us-east-1:123456789012:cluster/my-cluster",
"mskAuthentication": "SASL_IAM",
"gcpServiceAttachment": "projects/my-project/regions/us-central1/serviceAttachments/my-service",
"customPrivateDnsMappings": [
{
"privateDnsName": "my-service.example.com"
},
{
"privateDnsName": "*.example.com"
}
],
"id": "12345678-1234-1234-1234-123456789012",
"serviceId": "12345678-1234-1234-1234-123456789012",
"endpointId": "vpce-12345678901234567",
"dnsNames": [
"vpce-12345678901234567-abcdefg.execute-api.us-east-1.vpce.amazonaws.com"
],
"privateDnsNames": [
"vpce-12345678901234567-abcdefg.execute-api.us-east-1.vpce.amazonaws.com"
],
"status": "Ready"
}
}{
"status": 400,
"error": "<string>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}{
"status": 500,
"error": "<string>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}Authorizations
Use key ID and key secret obtained in ClickHouse Cloud console: https://clickhouse.com/docs/cloud/manage/openapi
Path Parameters
ID of the organization that owns the service.
ID of the service that owns the Reverse Private Endpoint.
ID of the reverse private endpoint to update.
Body
Optional private DNS names for Reverse Private Endpoint. Can be used as data source destination address. Must be unique across the ClickHouse service. Generally available for Google Private Service Connect (PSC). For AWS PrivateLink (VPC endpoint service and VPC resource), available in Private Preview; contact ClickHouse support to enable it for your service. Not supported for MSK multi-VPC. Supports exact names and leading wildcard names such as *.example.com
Show child attributes
Show child attributes
[
{
"privateDnsName": "my-service.example.com"
},
{ "privateDnsName": "*.example.com" }
]
Was this page helpful?
curl --request PATCH \
--url https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/clickpipesReversePrivateEndpoints/{reversePrivateEndpointId} \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"customPrivateDnsMappings": [
{
"privateDnsName": "my-service.example.com"
},
{
"privateDnsName": "*.example.com"
}
]
}
'import requests
url = "https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/clickpipesReversePrivateEndpoints/{reversePrivateEndpointId}"
payload = { "customPrivateDnsMappings": [{ "privateDnsName": "my-service.example.com" }, { "privateDnsName": "*.example.com" }] }
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
customPrivateDnsMappings: [{privateDnsName: 'my-service.example.com'}, {privateDnsName: '*.example.com'}]
})
};
fetch('https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/clickpipesReversePrivateEndpoints/{reversePrivateEndpointId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/clickpipesReversePrivateEndpoints/{reversePrivateEndpointId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'customPrivateDnsMappings' => [
[
'privateDnsName' => 'my-service.example.com'
],
[
'privateDnsName' => '*.example.com'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/clickpipesReversePrivateEndpoints/{reversePrivateEndpointId}"
payload := strings.NewReader("{\n \"customPrivateDnsMappings\": [\n {\n \"privateDnsName\": \"my-service.example.com\"\n },\n {\n \"privateDnsName\": \"*.example.com\"\n }\n ]\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/clickpipesReversePrivateEndpoints/{reversePrivateEndpointId}")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"customPrivateDnsMappings\": [\n {\n \"privateDnsName\": \"my-service.example.com\"\n },\n {\n \"privateDnsName\": \"*.example.com\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/clickpipesReversePrivateEndpoints/{reversePrivateEndpointId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"customPrivateDnsMappings\": [\n {\n \"privateDnsName\": \"my-service.example.com\"\n },\n {\n \"privateDnsName\": \"*.example.com\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"status": 200,
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"result": {
"description": "My reverse private endpoint",
"type": "VPC_ENDPOINT_SERVICE",
"vpcEndpointServiceName": "com.amazonaws.vpce.us-east-1.vpce-svc-12345678901234567",
"vpcResourceConfigurationId": "rcfg-12345678901234567",
"vpcResourceShareArn": "arn:aws:ram:us-east-1:123456789012:resource-share/share-12345678901234567",
"mskClusterArn": "arn:aws:kafka:us-east-1:123456789012:cluster/my-cluster",
"mskAuthentication": "SASL_IAM",
"gcpServiceAttachment": "projects/my-project/regions/us-central1/serviceAttachments/my-service",
"customPrivateDnsMappings": [
{
"privateDnsName": "my-service.example.com"
},
{
"privateDnsName": "*.example.com"
}
],
"id": "12345678-1234-1234-1234-123456789012",
"serviceId": "12345678-1234-1234-1234-123456789012",
"endpointId": "vpce-12345678901234567",
"dnsNames": [
"vpce-12345678901234567-abcdefg.execute-api.us-east-1.vpce.amazonaws.com"
],
"privateDnsNames": [
"vpce-12345678901234567-abcdefg.execute-api.us-east-1.vpce.amazonaws.com"
],
"status": "Ready"
}
}{
"status": 400,
"error": "<string>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}{
"status": 500,
"error": "<string>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}