Update an IP Network
/network/v1/ipnetwork/{name}
If the IP address of an instance is dynamically allocated, stopping the instance orchestration and restarting it will reassign a valid IP address from the IP network to the instance.
However, if the IP address of an instance is static - that is, if the IP address is specified in the instance orchestration while creating the instance - then the IP address can't be updated by stopping the instance orchestration and restarting it. You would have to manually update the orchestration to assign a valid IP address to the vNIC attached to that IP network.
It is therefore recommended that if you update an IP network, you only expand the network by specifying the same IP address prefix but with a shorter prefix length. For example, you can expand 192.168.1.0/24 to 192.168.1.0/20. Don't, however, change the IP address. This ensures that all IP addresses that have been currently allocated to instances remain valid in the updated IP network.
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
- application/oracle-compute-v3+json
-
name: string
The three-part name (
/Compute-identity_domain/user/object
) of the IP network.
-
Cookie: string
The Cookie: header must be included with every request to the service. It must be set to the value of the set-cookie header in the response received to the POST /authenticate/ call.
object
-
description(optional):
string
Description of the object.
-
ipAddressPrefix:
string
Range of IPv4 addresses assigned in the virtual network, in CIDR address prefix format.
You can expand the network by specifying the same IP address prefix but with a shorter prefix length. For example, you can expand 192.168.1.0/24 to 192.168.1.0/20. Don't, however, change the IP address. This ensures that all IP addresses that have been currently allocated to instances remain valid in the updated IP network.
-
ipNetworkExchange(optional):
string
Specify the three-part name of the IP network exchange to which you want to add the IP network. You can add an IP network to only one IP network exchange, but an IP network exchange can include multiple IP networks. An IP network exchange enables access between IP networks that have non-overlapping addresses, so that instances on these networks can exchange packets with each other without NAT.
-
name:
string
Specify the three-part name (
/Compute-identity_domain/user/object
) of the IP network that you want to update.Object names can contain only alphanumeric, underscore (_), dash (-), and period (.) characters. Object names are case-sensitive.
-
tags(optional):
array tags
Tags associated with the object.
Response
- application/oracle-compute-v3+json
200 Response
-
set-cookie: string
The cookie value is returned if the session is extended
object
-
description(optional):
string
Description of the object.
-
ipAddressPrefix(optional):
string
CIDR IPv4 prefix associated with this IP network.
-
ipNetworkExchange(optional):
string
Name of the IP network exchange associated with this IP network.
-
name(optional):
string
The three-part name (
/Compute-identity_domain/user/object
) of the IP network. -
tags(optional):
array tags
Tags associated with the object.
-
uri(optional):
string
Uniform Resource Identifier
Examples
cURL Command
The following example shows how to update <a/an resource>, /Compute-acme/jack.jones@example.com/ipnet1
, by submitting a PUT 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 PUT -H "Cookie: $COMPUTE_COOKIE" -H "Content-Type: application/oracle-compute-v3+json" -H "Accept: application/oracle-compute-v3+json" -d "@requestbody.json" https://api-z999.compute.us0.oraclecloud.com/network/v1/ipnetwork/Compute-acme/jack.jones@example.com/ipnet1
-
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. -
acme
andjack.jones@example.com
are example values. Replaceacme
with the identity domain ID of your Compute Classic account, andjack.jones@example.com
with your user name.
Example of Request Body
The following shows an example of the request body content in the requestbody.json
file to update the IP address prefix of /Compute-acme/jack.jones@example.com/ipnet1
and associate the IP network with the IP network exchange, /Compute-acme/jack.jones@example.com/ipNetworkExchange1
.
{ "name": "/Compute-acme/jack.jones@example.com/ipnet1", "ipAddressPrefix": "192.168.7.0/16", "ipNetworkExchange": "/Compute-acme/jack.jones@example.com/ipNetworkExchange1" }
Example of Response Body
The following example shows the response body in JSON format when you update an IP network exchange.
{ "name": "/Compute-acme/jack.jones@example.com/ipnet1", "uri": "https://api-z999.compute.us0.oraclecloud.com:443/network/v1/ipnetwork/Compute-acme/jack.jones@example.com/ipnet1", "description": null, "tags": [], "ipAddressPrefix": "192.168.7.0/16", "ipNetworkExchange": "/Compute-acme/jack.jones@example.com/ipNetworkExchange1" }