{"openapi":"3.0.0","info":{"title":"OVHcloud API specification","description":"Specification for OVHcloud API","version":"1.0","contact":{"name":"OVH","email":"api@ml.ovh.net"}},"servers":[{"url":"https://api.eu.ovhcloud.com/v2"}],"components":{"schemas":{"any":{"description":"Can be anything (text, int, bool, json, html, etc.)","example":"This is a content of any type !"},"common.CurrentTask":{"type":"object","description":"Asynchronous operation currently running","properties":{"errors":{"type":"array","description":"Errors that occurred on the task","nullable":true,"items":{"$ref":"#/components/schemas/common.TaskError"},"readOnly":true},"id":{"type":"string","description":"Identifier of the current task","format":"uuid","readOnly":true},"link":{"type":"string","description":"Link to the task details","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/common.CurrentTaskStatusEnum"}],"description":"Current global status of the current task","nullable":true,"readOnly":true},"type":{"type":"string","description":"Type of the current task","readOnly":true}}},"common.CurrentTaskStatusEnum":{"type":"string","description":"Current status of a task. A task in ERROR cannot be retried without your inputs. PENDING tasks will be executed as soon as possible. A RUNNING task is currently executing your original request. SCHEDULED is used for tasks that will be executed in the future.","enum":["ERROR","PENDING","RUNNING","SCHEDULED","WAITING_USER_INPUT"]},"common.ResourceStatusEnum":{"type":"string","description":"Current status of a resource","enum":["CREATING","CREATION_PLANNED","DELETING","ERROR","OUT_OF_SYNC","READY","SUSPENDED","UNKNOWN","UPDATING"]},"common.TaskError":{"type":"object","description":"Errors that occurred on the task","properties":{"message":{"type":"string","description":"Error description","readOnly":true}}},"duration":{"type":"string","description":"Duration (e.g., P1Y2M3DT4H6M9S)","example":"P1Y2M3DT4H6M9S"},"email":{"type":"string","description":"Email address (e.g., api@ml.ovh.net)","format":"email","example":"api@ml.ovh.net"},"internationalPhoneNumber":{"type":"string","description":"International phone number","format":"phone-number"},"ip":{"type":"string","description":"IP address (e.g., 192.0.2.0)","format":"ipv4","example":"192.0.2.0"},"ipBlock":{"type":"string","description":"IP (v4 or v6) CIDR notation (e.g., 192.0.2.0/24)","format":"ip-block","example":"192.0.2.0/24"},"ipInterface":{"type":"string","description":"IP address (e.g., 192.0.2.0)","format":"ipv4","example":"192.0.2.0"},"ipv4":{"type":"string","description":"IPv4 address (e.g., 192.0.2.0)","format":"ipv4","example":"192.0.2.0"},"ipv4Block":{"type":"string","description":"IPv4 CIDR notation (e.g., 192.0.2.0/24)","format":"ipv4-block","example":"192.0.2.0/24"},"ipv6":{"type":"string","description":"IPv6 address (e.g., 2001:41d0:1:1994::1)","format":"ipv6","example":"2001:41d0:1:1994::1"},"ipv6Block":{"type":"string","description":"IPv6 CIDR notation (e.g., 2001:41d0::/128)","format":"ipv6-block","example":"2001:41d0::/128"},"macAddress":{"type":"string","description":"MAC address (e.g., 00:00:5e:00:53:01)","format":"mac-address","example":"00:00:5e:00:53:01"},"phoneNumber":{"type":"string","description":"Phone number","format":"phone-number"},"publicCloud.common.Location":{"type":"object","description":"Resource location","properties":{"availabilityZone":{"type":"string","description":"Availability zone within the region","nullable":true},"region":{"type":"string","description":"Region code"}},"required":["region"]},"publicCloud.privateEndpoint.PrivateEndpoint":{"type":"object","description":"A Public Cloud private endpoint","properties":{"checksum":{"type":"string","description":"Computed hash representing the current target specification value","readOnly":true},"createdAt":{"type":"string","description":"Creation date of the private endpoint","format":"date-time","readOnly":true},"currentState":{"allOf":[{"$ref":"#/components/schemas/publicCloud.privateEndpoint.PrivateEndpointCurrentState"}],"description":"Current state of the private endpoint","nullable":true,"readOnly":true},"currentTasks":{"type":"array","description":"Ongoing asynchronous tasks related to the private endpoint","nullable":true,"items":{"$ref":"#/components/schemas/common.CurrentTask"},"readOnly":true},"id":{"type":"string","description":"Unique identifier of the private endpoint","format":"uuid","readOnly":true},"resourceStatus":{"allOf":[{"$ref":"#/components/schemas/common.ResourceStatusEnum"}],"description":"Private endpoint readiness in the system","readOnly":true},"targetSpec":{"allOf":[{"$ref":"#/components/schemas/publicCloud.privateEndpoint.PrivateEndpointTargetSpec"}],"description":"Last target specification of the private endpoint","readOnly":true},"updatedAt":{"type":"string","description":"Last update date of the private endpoint","format":"date-time","readOnly":true}}},"publicCloud.privateEndpoint.PrivateEndpointCreation":{"type":"object","description":"Payload to create a Public Cloud private endpoint","properties":{"targetSpec":{"allOf":[{"$ref":"#/components/schemas/publicCloud.privateEndpoint.PrivateEndpointTargetSpec"}],"description":"Desired target specification for the private endpoint to create"}},"required":["targetSpec"]},"publicCloud.privateEndpoint.PrivateEndpointCurrentState":{"type":"object","description":"Current state of a private endpoint","properties":{"description":{"type":"string","description":"Private endpoint description","nullable":true,"readOnly":true},"endpointId":{"type":"string","description":"Identifier of the endpoint on the service side, as pe-<id>. It is the value the service names the endpoint by.","readOnly":true},"hostname":{"type":"string","description":"Public DNS name of the endpoint. Null until the service publishes it.","nullable":true,"readOnly":true},"location":{"allOf":[{"$ref":"#/components/schemas/publicCloud.common.Location"}],"description":"Location details","readOnly":true},"name":{"type":"string","description":"Private endpoint name","readOnly":true},"network":{"allOf":[{"$ref":"#/components/schemas/publicCloud.privateEndpoint.PrivateEndpointNetworkRef"}],"description":"Network the endpoint port is attached to","nullable":true,"readOnly":true},"publicDnsEnabled":{"type":"boolean","description":"Whether the endpoint hostname is registered in the public DNS zone","readOnly":true},"service":{"allOf":[{"$ref":"#/components/schemas/publicCloud.privateEndpoint.PrivateEndpointServiceDetail"}],"description":"Service exposed through the endpoint","readOnly":true},"subnet":{"allOf":[{"$ref":"#/components/schemas/publicCloud.privateEndpoint.PrivateEndpointSubnetRef"}],"description":"Subnet the endpoint port is attached to","nullable":true,"readOnly":true},"vipAddress":{"allOf":[{"$ref":"#/components/schemas/ip"}],"description":"Private IP address of the endpoint in the customer network","nullable":true,"readOnly":true}}},"publicCloud.privateEndpoint.PrivateEndpointNetworkRef":{"type":"object","description":"Reference to a network","properties":{"id":{"type":"string","description":"Identifier of the network","format":"uuid"}},"required":["id"]},"publicCloud.privateEndpoint.PrivateEndpointServiceDetail":{"type":"object","description":"Service details for a private endpoint in current state","properties":{"bandwidth":{"type":"integer","description":"Bandwidth of the tier in Mbit/s. Null when the catalog does not declare it.","nullable":true,"readOnly":true},"name":{"type":"string","description":"Name of the service","readOnly":true},"port":{"type":"integer","description":"Port the service listens on through the endpoint","readOnly":true},"tier":{"allOf":[{"$ref":"#/components/schemas/publicCloud.privateEndpoint.ServiceTierEnum"}],"description":"Tier of the service","readOnly":true},"transport":{"allOf":[{"$ref":"#/components/schemas/publicCloud.privateEndpoint.ServiceTransportEnum"}],"description":"Transport protocol of the service","readOnly":true}}},"publicCloud.privateEndpoint.PrivateEndpointServiceRef":{"type":"object","description":"Reference to a service tier","properties":{"name":{"type":"string","description":"Name of the service"},"tier":{"allOf":[{"$ref":"#/components/schemas/publicCloud.privateEndpoint.ServiceTierEnum"}],"description":"Tier of the service, as listed in the service availability reference"}},"required":["name","tier"]},"publicCloud.privateEndpoint.PrivateEndpointSubnetRef":{"type":"object","description":"Reference to a subnet","properties":{"id":{"type":"string","description":"Identifier of the subnet","format":"uuid"}},"required":["id"]},"publicCloud.privateEndpoint.PrivateEndpointTargetSpec":{"type":"object","description":"Desired specification for a private endpoint","properties":{"description":{"type":"string","description":"Private endpoint description","nullable":true},"location":{"allOf":[{"$ref":"#/components/schemas/publicCloud.common.Location"}],"description":"Target location. Only the region is used, availability zones are not supported."},"name":{"type":"string","description":"Private endpoint name, unique in the project for a given subnet (case-insensitive)"},"network":{"allOf":[{"$ref":"#/components/schemas/publicCloud.privateEndpoint.PrivateEndpointNetworkRef"}],"description":"Network to allocate the endpoint port in. Provide one of network or subnet. Whichever references are supplied must be mutually consistent (the given subnet must belong to this network) or the request is rejected, and any omitted reference is derived from those given. If network is the only reference, it must have exactly one IPv4 subnet.","nullable":true},"publicDnsEnabled":{"type":"boolean","description":"Register the endpoint hostname in the public DNS zone. Immutable after creation. Defaults to false.","nullable":true},"service":{"allOf":[{"$ref":"#/components/schemas/publicCloud.privateEndpoint.PrivateEndpointServiceRef"}],"description":"Service to expose through the endpoint. A project can have only one private endpoint per service and subnet."},"subnet":{"allOf":[{"$ref":"#/components/schemas/publicCloud.privateEndpoint.PrivateEndpointSubnetRef"}],"description":"Subnet to allocate the endpoint port in. Provide one of network or subnet. The subnet must belong to the given network when both are supplied, otherwise the request is rejected. If subnet is the only reference, its parent network is used. Required when vipAddress is set.","nullable":true},"vipAddress":{"allOf":[{"$ref":"#/components/schemas/ip"}],"description":"Optional private IP address to assign to the endpoint inside the subnet. It must belong to the subnet CIDR and to one of its allocation pools, must not be the subnet gateway address, and must not already be in use by another port. Setting it requires subnet to be set in the same request. When omitted, an address is picked automatically from the subnet allocation pool. Immutable after creation.","nullable":true}},"required":["location","name","service"]},"publicCloud.privateEndpoint.PrivateEndpointUpdate":{"type":"object","description":"Payload to update a Public Cloud private endpoint","properties":{"checksum":{"type":"string","description":"Optional concurrency-control checksum. When supplied, it must match the resource's current checksum or the request is rejected with a 409 checksum-mismatch conflict. When omitted or empty, the concurrency check is skipped and the write is forced (last-write-wins).","nullable":true},"targetSpec":{"allOf":[{"$ref":"#/components/schemas/publicCloud.privateEndpoint.PrivateEndpointUpdateTargetSpec"}],"description":"Desired target specification for the private endpoint"}},"required":["targetSpec"]},"publicCloud.privateEndpoint.PrivateEndpointUpdateTargetSpec":{"type":"object","description":"Desired specification for updating a private endpoint (excludes immutable fields)","properties":{"description":{"type":"string","description":"Private endpoint description","nullable":true},"name":{"type":"string","description":"Private endpoint name, unique in the project for a given subnet (case-insensitive)"}},"required":["name"]},"publicCloud.privateEndpoint.ServiceTierEnum":{"type":"string","description":"Tiers of a service reachable through a private endpoint","enum":["L","M","S"]},"publicCloud.privateEndpoint.ServiceTransportEnum":{"type":"string","description":"Transport protocols of a service reachable through a private endpoint","enum":["TCP","UDP"]},"time":{"type":"string","description":"Time (e.g., 15:04:05)","format":"time","example":"15:04:05"}},"securitySchemes":{"oAuth2AuthCode":{"type":"oauth2","description":"Oauth2","x-client-id":"1bb9c7df371741c0","x-client-secret":"a5b4de870aca620d10fbf63cd18d205b","flows":{"authorizationCode":{"authorizationUrl":"https://auth.eu.ovhcloud.com/oauth2/authorize","tokenUrl":"https://auth.eu.ovhcloud.com/oauth2/token","scopes":{"account/all":"Manage your account","all":"Manage your whole account and all your services","services/all":"Manage your services lifecycle and billing"}}}}}},"paths":{"/publicCloud/project/{projectId}/privateEndpoint":{"get":{"operationId":"getPrivateEndpoints","summary":"List private endpoints","description":"Returns the private endpoints of the project.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"header","name":"X-Pagination-Cursor","description":"Pagination cursor","schema":{"type":"string"}},{"in":"header","name":"X-Pagination-Size","description":"Pagination size","schema":{"type":"integer"}},{"in":"path","name":"projectId","description":"Project ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/publicCloud.privateEndpoint.PrivateEndpoint"}}}}}},"tags":["Private Endpoint"],"x-developer-hub-navigation":[["Public Cloud","Network","Private Endpoints@@@10"]],"x-badges":[{"color":"blue","label":"Beta version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\nresult = client.get(\"/v2/publicCloud/project/{projectId}/privateEndpoint\")\n\n# Pretty print\nprint(json.dumps(result, indent=4))"},{"lang":"php","label":"PHP","source":"<?php\n/**\n * First, download the latest release of PHP wrapper on github\n * And include this script into the folder with extracted files\n */\nrequire __DIR__ . '/vendor/autoload.php';\nuse \\Ovh\\Api;\n\n/**\n * Instantiate an OVH Client.\n * You can generate new credentials with full access to your account on\n * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\n */\n$ovh = new Api('xxxxxxxxxx',  // Application Key\n               'xxxxxxxxxx',  // Application Secret\n               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n               'xxxxxxxxxx'); // Consumer Key\n\n$result = $ovh->get(\"/v2/publicCloud/project/{projectId}/privateEndpoint\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:privateEndpoint/get","required":true}],"x-response-identifier":"id","x-expanded-response":"PublicCloudPrivateEndpointPrivateEndpoint"},"post":{"operationId":"createPrivateEndpoint","summary":"Create a private endpoint","description":"Creates a private endpoint to a service in a network or subnet. A project can have only one private endpoint per service and subnet.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"projectId","description":"Project ID","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/publicCloud.privateEndpoint.PrivateEndpointCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/publicCloud.privateEndpoint.PrivateEndpoint"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::InvalidParameter":{"value":{"class":"Client::BadRequest::InvalidParameter","message":"Invalid parameter in the request"}},"Client::BadRequest::ServiceNotAvailableInRegion":{"value":{"class":"Client::BadRequest::ServiceNotAvailableInRegion","message":"This service is not available in the selected region"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::RegionInMaintenance":{"value":{"class":"Client::Conflict::RegionInMaintenance","message":"This region is currently in maintenance"}},"Client::Conflict::ResourceAlreadyExists":{"value":{"class":"Client::Conflict::ResourceAlreadyExists","message":"This resource already exists"}}}}}}},"tags":["Private Endpoint"],"x-developer-hub-navigation":[["Public Cloud","Network","Private Endpoints@@@30"]],"x-badges":[{"color":"blue","label":"Beta version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\n# Request body type: publicCloud.privateEndpoint.PrivateEndpointCreation\nresult = client.post(\"/v2/publicCloud/project/{projectId}/privateEndpoint\",\n\ttargetSpec = None, # Desired target specification for the private endpoint to create (type: publicCloud.privateEndpoint.PrivateEndpointTargetSpec)\n)\n\n# Pretty print\nprint(json.dumps(result, indent=4))"},{"lang":"php","label":"PHP","source":"<?php\n/**\n * First, download the latest release of PHP wrapper on github\n * And include this script into the folder with extracted files\n */\nrequire __DIR__ . '/vendor/autoload.php';\nuse \\Ovh\\Api;\n\n/**\n * Instantiate an OVH Client.\n * You can generate new credentials with full access to your account on\n * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\n */\n$ovh = new Api('xxxxxxxxxx',  // Application Key\n               'xxxxxxxxxx',  // Application Secret\n               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n               'xxxxxxxxxx'); // Consumer Key\n\n// Request body type: publicCloud.privateEndpoint.PrivateEndpointCreation\n$result = $ovh->post(\"/v2/publicCloud/project/{projectId}/privateEndpoint\", array(\n\ttargetSpec => null, // Desired target specification for the private endpoint to create (type: publicCloud.privateEndpoint.PrivateEndpointTargetSpec)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:privateEndpoint/create","required":true}]}},"/publicCloud/project/{projectId}/privateEndpoint/{privateEndpointId}":{"delete":{"operationId":"deletePrivateEndpoint","summary":"Delete a private endpoint","description":"Deletes the private endpoint.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"privateEndpointId","description":"Private endpoint ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"projectId","description":"Project ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/publicCloud.privateEndpoint.PrivateEndpoint"}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::PrivateEndpointDoesNotExist":{"value":{"class":"Client::NotFound::PrivateEndpointDoesNotExist","message":"Private endpoint not found"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ResourceAlreadyBeingDeleted":{"value":{"class":"Client::Conflict::ResourceAlreadyBeingDeleted","message":"Resource is already being deleted"}},"Client::Conflict::ResourceInInvalidState":{"value":{"class":"Client::Conflict::ResourceInInvalidState","message":"Resource cannot be modified in its current state"}}}}}}},"tags":["Private Endpoint"],"x-developer-hub-navigation":[["Public Cloud","Network","Private Endpoints@@@40"]],"x-badges":[{"color":"blue","label":"Beta version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\nresult = client.delete(\"/v2/publicCloud/project/{projectId}/privateEndpoint/{privateEndpointId}\")\n\n# Pretty print\nprint(json.dumps(result, indent=4))"},{"lang":"php","label":"PHP","source":"<?php\n/**\n * First, download the latest release of PHP wrapper on github\n * And include this script into the folder with extracted files\n */\nrequire __DIR__ . '/vendor/autoload.php';\nuse \\Ovh\\Api;\n\n/**\n * Instantiate an OVH Client.\n * You can generate new credentials with full access to your account on\n * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\n */\n$ovh = new Api('xxxxxxxxxx',  // Application Key\n               'xxxxxxxxxx',  // Application Secret\n               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n               'xxxxxxxxxx'); // Consumer Key\n\n$result = $ovh->delete(\"/v2/publicCloud/project/{projectId}/privateEndpoint/{privateEndpointId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:privateEndpoint/delete","required":true}]},"get":{"operationId":"getPrivateEndpoint","summary":"Get a private endpoint","description":"Returns the private endpoint, including its VIP address and public hostname.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"privateEndpointId","description":"Private endpoint ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"projectId","description":"Project ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/publicCloud.privateEndpoint.PrivateEndpoint"}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::PrivateEndpointDoesNotExist":{"value":{"class":"Client::NotFound::PrivateEndpointDoesNotExist","message":"Private endpoint not found"}}}}}}},"tags":["Private Endpoint"],"x-developer-hub-navigation":[["Public Cloud","Network","Private Endpoints@@@20"]],"x-badges":[{"color":"blue","label":"Beta version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\nresult = client.get(\"/v2/publicCloud/project/{projectId}/privateEndpoint/{privateEndpointId}\")\n\n# Pretty print\nprint(json.dumps(result, indent=4))"},{"lang":"php","label":"PHP","source":"<?php\n/**\n * First, download the latest release of PHP wrapper on github\n * And include this script into the folder with extracted files\n */\nrequire __DIR__ . '/vendor/autoload.php';\nuse \\Ovh\\Api;\n\n/**\n * Instantiate an OVH Client.\n * You can generate new credentials with full access to your account on\n * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\n */\n$ovh = new Api('xxxxxxxxxx',  // Application Key\n               'xxxxxxxxxx',  // Application Secret\n               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n               'xxxxxxxxxx'); // Consumer Key\n\n$result = $ovh->get(\"/v2/publicCloud/project/{projectId}/privateEndpoint/{privateEndpointId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:privateEndpoint/get","required":true}],"x-response-identifier":"id"},"put":{"operationId":"editPrivateEndpoint","summary":"Update a private endpoint","description":"Updates the private endpoint's name or description. Its network, subnet, service and public DNS setting are immutable after creation.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"privateEndpointId","description":"Private endpoint ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"projectId","description":"Project ID","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/publicCloud.privateEndpoint.PrivateEndpointUpdate"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/publicCloud.privateEndpoint.PrivateEndpoint"}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::PrivateEndpointDoesNotExist":{"value":{"class":"Client::NotFound::PrivateEndpointDoesNotExist","message":"Private endpoint not found"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ChecksumMismatch":{"value":{"class":"Client::Conflict::ChecksumMismatch","message":"Checksum mismatch — a concurrent update was detected. Refresh the resource and retry"}},"Client::Conflict::ResourceAlreadyExists":{"value":{"class":"Client::Conflict::ResourceAlreadyExists","message":"This resource already exists"}},"Client::Conflict::ResourceInInvalidState":{"value":{"class":"Client::Conflict::ResourceInInvalidState","message":"Resource cannot be modified in its current state"}}}}}}},"tags":["Private Endpoint"],"x-developer-hub-navigation":[["Public Cloud","Network","Private Endpoints@@@50"]],"x-badges":[{"color":"blue","label":"Beta version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\n# Request body type: publicCloud.privateEndpoint.PrivateEndpointUpdate\nresult = client.put(\"/v2/publicCloud/project/{projectId}/privateEndpoint/{privateEndpointId}\",\n\tchecksum = None, # Optional concurrency-control checksum. When supplied, it must match the resource's current checksum or the request is rejected with a 409 checksum-mismatch conflict. When omitted or empty, the concurrency check is skipped and the write is forced (last-write-wins). (type: string, nullable)\n\ttargetSpec = None, # Desired target specification for the private endpoint (type: publicCloud.privateEndpoint.PrivateEndpointUpdateTargetSpec)\n)\n\n# Pretty print\nprint(json.dumps(result, indent=4))"},{"lang":"php","label":"PHP","source":"<?php\n/**\n * First, download the latest release of PHP wrapper on github\n * And include this script into the folder with extracted files\n */\nrequire __DIR__ . '/vendor/autoload.php';\nuse \\Ovh\\Api;\n\n/**\n * Instantiate an OVH Client.\n * You can generate new credentials with full access to your account on\n * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\n */\n$ovh = new Api('xxxxxxxxxx',  // Application Key\n               'xxxxxxxxxx',  // Application Secret\n               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n               'xxxxxxxxxx'); // Consumer Key\n\n// Request body type: publicCloud.privateEndpoint.PrivateEndpointUpdate\n$result = $ovh->put(\"/v2/publicCloud/project/{projectId}/privateEndpoint/{privateEndpointId}\", array(\n\tchecksum => null, // Optional concurrency-control checksum. When supplied, it must match the resource's current checksum or the request is rejected with a 409 checksum-mismatch conflict. When omitted or empty, the concurrency check is skipped and the write is forced (last-write-wins). (type: string, nullable)\n\ttargetSpec => null, // Desired target specification for the private endpoint (type: publicCloud.privateEndpoint.PrivateEndpointUpdateTargetSpec)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:privateEndpoint/edit","required":true}]}}},"tags":[{"name":"Private Endpoint","x-tag-expanded":false,"description":"Missing description"}]}
