Create a Private Gateway

post

/network/v1/privategateway/

This endpoint is not available on Oracle Cloud Machine.

Create a private gateway when you want to set up a private data connection between subnets in your premises and IP networks in your Compute Classic account.

Create a private gateway object in Compute Classic and attach your IP networks to this private gateway. Then set up a FastConnect Classic private peering connection. With this connection, you can access instances on your IP networks using their private IP addresses from your on-premise private networks. You don't need to associate public IP addresses with instances on IP networks. After creating the private gateway object, note down the three-part name of the object (/Compute-identity_domain/user/object). You'll need to provide this name when you set up a FastConnect Classic private peering connection. See Provisioning FastConnect Classic in Using FastConnect Classic.

Required Role: To complete this task, you must have the Compute_Operations role. If this role isn't assigned to you or you're not sure, then ask your system administrator to ensure that the role is assigned to you in Oracle Cloud My Services. See Modifying User Roles in Managing and Monitoring Oracle Cloud.

Request

Supported Media Types
Header Parameters
Body ()
The request body contains details of the private gateway that you want to create.
Root Schema : PrivateGateway-post-request
Type: object
The request body contains details of the private gateway that you want to create.
Show Source
  • Description of the object.
  • ipNetworks
    List of IP networks that you want associate with the private gateway. When you set up FastConnect Classic private peering, you can directly access the instances on these IP networks from your premises without using NAT or setting up an IPSec tunnel.
  • The three-part name of the private gateway (/Compute-identity_domain/user/object). Object names can contain only alphanumeric, underscore (_), dash (-), and period (.) characters. Object names are case-sensitive.
  • tags
    Tags associated with the object.
Nested Schema : ipNetworks
Type: array
List of IP networks that you want associate with the private gateway. When you set up FastConnect Classic private peering, you can directly access the instances on these IP networks from your premises without using NAT or setting up an IPSec tunnel.
Show Source
Nested Schema : tags
Type: array
Tags associated with the object.
Show Source

Response

Supported Media Types

201 Response

Created. See Status Codes for information about other possible HTTP status codes.
Headers
Body ()
Root Schema : PrivateGateway-response
Type: object
Show Source
Nested Schema : ipNetworks
Type: array
List of IP networks that is associated with the private gateway. When you set up FastConnect Classic private peering, you can directly access the instances on these IP networks from your premises without using NAT or IPSec VPN.
Show Source
Nested Schema : tags
Type: array
Tags associated with the object.
Show Source

Examples

cURL Command

The following example shows how to create a private gateway by submitting a POST request on the REST resource using cURL. For more information about cURL, see Use cURL.

Enter the command on a single line. Line breaks are used in this example for readability.

curl -i -X POST
     -H "Cookie: $COMPUTE_COOKIE"
     -H "Content-Type: application/oracle-compute-v3+json"
     -H "Accept: application/oracle-compute-v3+json"
     -d "@privategateway.json"
        https://api-z999.compute.us0.oraclecloud.com/network/v1/privategateway/
  • COMPUTE_COOKIE is the name of the variable in which you stored the authentication cookie earlier. For information about retrieving the authentication cookie and storing it in a variable, see Authentication.

  • api-z999.compute.us0.oraclecloud.com is an example REST endpoint URL. Change this value to the REST endpoint URL of your Compute Classic site. For information about finding out REST endpoint URL for your site, see Send Requests.

  • After creating the request body JSON file, you should validate it. You can do this by using a third-party tool, such as JSONLint, or any other validation tool of your choice. If your JSON format isn???t valid, then an error message is displayed when you pass the request body.

Example of Request Body

The following shows an example of the request body content in the privategateway.json file.

{
 "name": "/Compute-acme/jack.jones@example.com/privategateway1",
 "ipNetworks": ["/Compute-acme/jack.jones@example.com/ipnet1", "/Compute-acme/jack.jones@example.com/ipnet2"],
 "description": "My first private gateway"
}

Example of Response Body

The following example shows the response body in JSON format.

{
  "name": "/Compute-acme/jack.jones@example.com/privategateway1",
  "uri": "https://api-z999.compute.us0.oraclecloud.com:443/network/v1/privategateway/Compute-acme/jack.jones@example.com/privategateway1",
  "description": "My first private gateway",
  "tags": null,
  "ipNetworks": [
    "/Compute-acme/jack.jones@example.com/ipnet2",
    "/Compute-acme/jack.jones@example.com/ipnet1"
  ]
}