Create an IP Address Reservation for IP Networks

post

/network/v1/ipreservation/

Reserves a NAT IPv4 address, which you can associate with one or more virtual NICs for routing traffic outside an IP network or an IP network exchange using NAT.

To reserve an IP address for an instance that you have created in the flat network, see Create an IP Reservation.

Reserve an IP address from one of the following IP pools:

* A pool of public IP addresses. An IP address from this pool is accessible over the public Internet.

* A pool of cloud IP addresses. An IP address from this pool is accessible to other IP networks in the Oracle cloud. You can use these IP addresses to communicate with other Oracle services.

When you reserve an IP address from a specified IP pool, an IPv4 address is allocated for your use.

A public IP address or a cloud IP address can be associated with only one vNIC at a time. However, a single vNIC can have a maximum of two NAT IP addresses, one from each IP pool.

After reserving an IP address, you can and associate the IP address with a vNIC on your instance. See Create an IP Address Association.

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 IP address reservation that you want to create.
Root Schema : IpAddressReservation-post-request
Type: object
The request body contains details of the IP address reservation that you want to create.
Show Source
  • Description of the IP address reservation.
  • The IP address pool from which you want to reserve an IP address. Specify one of the following values:

    * /oracle/public/public-ippool: A pool of public IP addresses. An IP address from this pool is accessible over the public Internet.

    * /oracle/public/cloud-ippool: A pool of cloud IP addresses. An IP address from this pool is accessible to other IP networks in the Oracle cloud. You can use these IP addresses to communicate with other Oracle services.

  • The three-part name of the IP address reservation(/Compute-identity_domain/user/object).

    Object names can contain only alphanumeric characters, hyphens, underscores, and periods. Object names are case-sensitive. When you specify the object name, ensure that an object of the same type and with the same name doesn't already exist. If such an object already exists, another object of the same type and with the same name won't be created and the existing object won't be updated.

  • tags
    Strings that you can use to tag the IP address reservation.
Nested Schema : tags
Type: array
Strings that you can use to tag the IP address reservation.
Show Source

Response

Supported Media Types

201 Response

Created. See Status Codes for information about other possible HTTP status codes.
Headers
Body ()
Root Schema : IpAddressReservation-response
Type: object
Show Source
Nested Schema : tags
Type: array
Tags associated with the object.
Show Source

Examples

cURL Command

The following example shows how to create an IP reservation, which you can use in the shared network, 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 "@ipreservation.json"
        https://api-z999.compute.us0.oraclecloud.com/network/v1/ipreservation/
  • 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.

Example of Request Body

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

{
  "name": "/Compute-acme/jack.jones@example.com/ipreservation1",
  "ipAddressPool": "/oracle/public/public-ippool"
}

Example of Response Body

The following example shows the response body in JSON format.

{
  "name": "/Compute-acme/jack.jones@example.com/ipreservation1",
  "uri": "https://api-z999.compute.us0.oraclecloud.com/network/v1/ipreservation/Compute-acme/jack.jones@example.com/ipreservation1",
  "description": null,
  "tags": [],
  "ipAddress": "10.252.152.90",
  "ipAddressPool": "/oracle/public/public-ippool"
}