Update a Public IP
/20160918/publicIps/{public_ip_id}
Assigning, moving, and unassigning a reserved public IP are asynchronous operations. Poll the public IP resource's lifecycleState to determine whether the operation succeeded.
Note: When you move a reserved public IP, the target private IP must not already have a public IP with lifecycleState of ASSIGNING or ASSIGNED. If it does, an error is returned.
Note: The initial unassignment from the original private IP always succeeds, but the assignment to the target private IP is asynchronous and could fail silently. For example, the assignment could fail silently if the target private IP is deleted or has a different public IP assigned to it in the interim. If that occurs, the public IP remains unassigned and its lifecycleState switches to AVAILABLE; it is not reassigned to its original private IP. Poll the public IP resource's lifecycleState to determine whether the move succeeded.
To assign an ephemeral public IP to a primary private IP, use CreatePublicIp. You cannot move an ephemeral public IP to a different private IP.
To unassign an ephemeral public IP from its private IP, use DeletePublicIp, which unassigns and deletes the ephemeral public IP.
Note: If a public IP is assigned to a secondary private IP, and you move that secondary private IP to another VNIC, the public IP moves with it.
If you try to move a reserved public IP to a VNIC or instance that already has its maximum allowed number of public IPs, an error is returned.
Request
- application/json
-
publicIpId(required): string
Minimum Length:
1
Maximum Length:255
The OCID of the public IP.
-
if-match: string
For optimistic concurrency control. In the PUT or DELETE call for a resource, set the if-match parameter to the value of the etag from a previous GET or POST response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.
object
-
definedTags:
object definedTags
Additional Properties Allowed: additionalPropertiesDefined tags for this resource. Each key is predefined and scoped to a namespace.
-
displayName:
string
Minimum Length:
1
Maximum Length:255
A user-friendly name. Does not need to be unique, and it is changeable. Avoid entering confidential information. -
freeformTags:
object freeformTags
Additional Properties Allowed: additionalPropertiesFree-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. Example: {"Department": "Finance"}
-
privateIpId:
string
Minimum Length:
0
Maximum Length:255
The OCID of the private IP to assign the public IP to. If the public IP is already assigned to a different private IP, it will be unassigned and then reassigned to the specified private IP. If you set this field to an empty string, the public IP will be unassigned from the private IP it is currently assigned to.
object
-
object additionalProperties
Additional Properties Allowed: additionalPropertiesKey-value pair representing a defined tag key and value, scoped to a namespace. Example: `{"CostCenter": "42"}`
object
object
-
object additionalProperties
The value of the tag. Only the String type is supported.
object
Response
- application/json
200 Response
-
etag: string
For optimistic concurrency control. See `if-match`.
-
opc-request-id: string
Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
object
-
assignedEntityId:
string
Minimum Length:
1
Maximum Length:255
The OCID of the entity the public IP is assigned to, or in the process of being assigned to. -
assignedEntityType:
string
Allowed Values:
[ "PRIVATE_IP", "NAT_GATEWAY" ]
The type of entity the public IP is assigned to, or in the process of being assigned to. -
availabilityDomain:
string
Minimum Length:
1
Maximum Length:255
The public IP's availability domain. This property is set only for ephemeral public IPs that are assigned to a private IP (when the scope of the public IP is set to AVAILABILITY_DOMAIN). The value is the availability domain of the assigned private IP. Example: AD-1 -
compartmentId:
string
Minimum Length:
1
Maximum Length:255
The OCID of the compartment containing the public IP. For an ephemeral public IP, this is the compartment of its assigned entity (which can be a private IP or a regional entity such as a NAT gateway). For a reserved public IP that is currently assigned, its compartment can be different from the assigned private IP's. -
definedTags:
object definedTags
Additional Properties Allowed: additionalPropertiesDefined tags for this resource. Each key is predefined and scoped to a namespace. Example: {"Operations": {"CostCenter": "42"}}
-
displayName:
string
Minimum Length:
1
Maximum Length:255
A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information. -
freeformTags:
object freeformTags
Additional Properties Allowed: additionalPropertiesFree-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. Example: {"Department": "Finance"}
-
id:
string
Minimum Length:
1
Maximum Length:255
The public IP's OCID. -
ipAddress:
string
The public IP address of the publicIp object. Example: 203.0.113.2
-
lifecycleState:
string
Allowed Values:
[ "PROVISIONING", "AVAILABLE", "ASSIGNING", "ASSIGNED", "UNASSIGNING", "UNASSIGNED", "TERMINATING", "TERMINATED" ]
The public IP's current state. -
lifetime:
string
Allowed Values:
[ "EPHEMERAL", "RESERVED" ]
Defines when the public IP is deleted and released back to the public IP pool. EPHEMERAL: The lifetime is tied to the lifetime of its assigned entity. An ephemeral public IP must always be assigned to an entity. If the assigned entity is a private IP, the ephemeral public IP is automatically deleted when the private IP is deleted, when the VNIC is terminated, or when the instance is terminated. If the assigned entity is a NatGateway, the ephemeral public IP is automatically deleted when the NAT gateway is terminated. RESERVED: You control the public IP's lifetime. You can delete a reserved public IP whenever you like. It does not need to be assigned to a private IP at all times. -
privateIpId:
string
Minimum Length:
1
Maximum Length:255
Deprecated. Use assignedEntityId instead. The OCID of the private IP that the public IP is currently assigned to, or in the process of being assigned to. Note: This is null if the public IP is not assigned to a private IP, or is in the process of being assigned to one. -
publicIpPoolId:
string
Minimum Length:
1
Maximum Length:255
The OCID of the pool object created in the current tenancy. -
scope:
string
Allowed Values:
[ "REGION", "AVAILABILITY_DOMAIN" ]
Whether the public IP is regional or specific to a particular availability domain. REGION - The public IP exists within a region and is assigned to a regional entity (such as a NatGateway), or can be assigned to a private IP in any availability domain in the region. Reserved public IPs and ephemeral public IPs assigned to a regional entity have scope = REGION. AVAILABILITY_DOMAIN - The public IP exists within the availability domain of the entity it's assigned to, which is specified by the availabilityDomain property of the public IP object. Ephemeral public IPs that are assigned to private IPs have scope = AVAILABILITY_DOMAIN. -
timeCreated:
string(date-time)
The date and time the public IP was created, in the format defined by [RFC3339](https://tools.ietf.org/html/rfc3339). Example: 2016-08-25T21:10:29.600Z
object
-
object additionalProperties
Additional Properties Allowed: additionalPropertiesKey-value pair representing a defined tag key and value, scoped to a namespace. Example: `{"CostCenter": "42"}`
object
object
-
object additionalProperties
The value of the tag. Only the String type is supported.
object
400 Response
-
opc-request-id: string
Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
object
-
code(required):
string
A short error code that defines the error, meant for programmatic parsing. See [API Errors](https://docs.us-phoenix-1.oraclecloud.com/Content/API/References/apierrors.htm).
-
message(required):
string
A human-readable error string.
401 Response
-
opc-request-id: string
Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
object
-
code(required):
string
A short error code that defines the error, meant for programmatic parsing. See [API Errors](https://docs.us-phoenix-1.oraclecloud.com/Content/API/References/apierrors.htm).
-
message(required):
string
A human-readable error string.
404 Response
-
opc-request-id: string
Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
object
-
code(required):
string
A short error code that defines the error, meant for programmatic parsing. See [API Errors](https://docs.us-phoenix-1.oraclecloud.com/Content/API/References/apierrors.htm).
-
message(required):
string
A human-readable error string.
412 Response
-
opc-request-id: string
Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
object
-
code(required):
string
A short error code that defines the error, meant for programmatic parsing. See [API Errors](https://docs.us-phoenix-1.oraclecloud.com/Content/API/References/apierrors.htm).
-
message(required):
string
A human-readable error string.
500 Response
-
opc-request-id: string
Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
object
-
code(required):
string
A short error code that defines the error, meant for programmatic parsing. See [API Errors](https://docs.us-phoenix-1.oraclecloud.com/Content/API/References/apierrors.htm).
-
message(required):
string
A human-readable error string.
Default Response
-
opc-request-id: string
Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
object
-
code(required):
string
A short error code that defines the error, meant for programmatic parsing. See [API Errors](https://docs.us-phoenix-1.oraclecloud.com/Content/API/References/apierrors.htm).
-
message(required):
string
A human-readable error string.