# Managed Object - IpPoolManager(vim.IpPoolManager)

Property of
  ServiceContent
See also
  Datacenter, IpPool, IpPoolManagerIpAllocation
Since
  vSphere API 4.0

## Managed Object Description

Singleton Managed Object used to manage IP Pools.

IP Pools are used to allocate IPv4 and IPv6 addresses to vApps.

Properties

Name | Type | Description
--- | --- | ---
None

Methods

Methods defined in this Managed Object
AllocateIpv4Address, AllocateIpv6Address, CreateIpPool, DestroyIpPool, QueryIPAllocations, QueryIpPools, ReleaseIpAllocation, UpdateIpPool

# AllocateIpv4Address(allocateIpv4Address)

Allocates an IPv4 address from an IP pool.

Allocated IP addresses are reserved in the IP pool until released by calling ReleaseIpAllocation, or until the IP pool is configured to have an IP range that does not contain the IP address, or until the IP pool is destroyed.

The caller must be a vCenter extension. Refer to ExtensionManager for details on vCenter extensions.

The caller specifies a per extension unique allocation ID. Calling this function twice with the same allocation ID for the same pool yields the same IP address. This makes it possible to do idempotent allocations.

Required Privileges
  Dynamic - See discussion above
Since
  vSphere API 5.1

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the IpPoolManager used to make the method call.
dc | ManagedObjectReference to a Datacenter | The datacenter on which to find the pool
poolId | xsd:int | The unique ID of the pool
allocationId | xsd:string | The unique ID for this allocation

Return Value

Type | Description
--- | ---
xsd:string | An IPv4 address if the pool has an available IPv4 address in its address ranges, otherwise the empty string.

Faults

Type | Description
--- | ---
InvalidArgument | Thrown if the specified IP pool does not exist on the specified datacenter.
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition
<element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="AllocateIpv4Address" type="vsan:AllocateIpv4AddressRequestType"/> <element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="AllocateIpv4AddressResponse"> <complexType> <sequence> <element name="returnval" type="xsd:string"/> </sequence> </complexType> </element>

# AllocateIpv6Address(allocateIpv6Address)

Allocates an IPv6 address from an IP pool.

Allocated IP addresses are reserved in the IP pool until released by calling ReleaseIpAllocation, or until the IP pool is configured to have an IP range that does not contain the IP address, or until the IP pool is destroyed.

The caller must be a vCenter extension. Refer to ExtensionManager for details on vCenter extensions.

The caller specifies a per extension unique allocation ID. Calling this function twice with the same allocation ID for the same pool yields the same IP address. This makes it possible to do idempotent allocations.

Required Privileges
  Dynamic - See discussion above
Since
  vSphere API 5.1

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the IpPoolManager used to make the method call.
dc | ManagedObjectReference to a Datacenter | The datacenter on which to find the pool
poolId | xsd:int | The unique ID of the pool
allocationId | xsd:string | The unique ID for this allocation

Return Value

Type | Description
--- | ---
xsd:string | An IPv6 address if the pool has an available IPv6 address in its address ranges, otherwise the empty string.

Faults

Type | Description
--- | ---
InvalidArgument | Thrown if the specified IP pool does not exist on the specified datacenter.
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition
<element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="AllocateIpv6Address" type="vsan:AllocateIpv6AddressRequestType"/> <element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="AllocateIpv6AddressResponse"> <complexType> <sequence> <element name="returnval" type="xsd:string"/> </sequence> </complexType> </element>

# CreateIpPool(createIpPool)

Create a new IP pool.

The name field must be defined, all other fields are optional. If unset, they will be given default values.

The ID for the pool is generated by the server and should not be defined on the pool object passed to this method.

Required Privileges
  None

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the IpPoolManager used to make the method call.
dc P | ManagedObjectReference to a Datacenter | The datacenter on which to create the pool.
pool | IpPool | The IP pool to create on the server

P Required privilege: Datacenter.IpPoolConfig

Return Value

Type | Description
--- | ---
xsd:int | The generated ID for the pool

Faults

Type | Description
--- | ---
InvalidArgument | Thrown if the name of the pool already exists on the datacenter.
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition
<element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="CreateIpPool" type="vsan:CreateIpPoolRequestType"/> <element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="CreateIpPoolResponse"> <complexType> <sequence> <element name="returnval" type="xsd:int"/> </sequence> </complexType> </element>

# DestroyIpPool(destroyIpPool)

Destroys an IP pool on the given datacenter.

Looks up the pool on the datacenter by ID and deletes it. If the pool is in use, the method throws InvalidState unless the force flag is true.

Required Privileges
  None

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the IpPoolManager used to make the method call.
dc P | ManagedObjectReference to a Datacenter | The datacenter on which to find the pool
id | xsd:int | The unique ID of the pool
force | xsd:boolean | If true, the pool will be destroyed even if it is in use

P Required privilege: Datacenter.IpPoolConfig

Return Value

Type | Description
--- | ---
None

Faults

Type | Description
--- | ---
InvalidState | Thrown if the pool is in use and the force flag is false
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition
<element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="DestroyIpPool" type="vsan:DestroyIpPoolRequestType"/> <element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="DestroyIpPoolResponse"> <complexType/> </element>

# QueryIPAllocations(queryIPAllocations)

Query IP allocations by IP pool and extension key.

Required Privileges
  None
Since
  vSphere API 5.1

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the IpPoolManager used to make the method call.
dc P | ManagedObjectReference to a Datacenter | The datacenter on which to find the pool
poolId | xsd:int | The unique ID of the pool
extensionKey | xsd:string | The key of the extension

P Required privilege: Datacenter.IpPoolQueryAllocations

Return Value

Type | Description
--- | ---
IpPoolManagerIpAllocation[] | The resulting list of

Faults

Type | Description
--- | ---
InvalidArgument | Thrown if the specified IP pool does not exist on the specified datacenter.
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition
<element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="QueryIPAllocations" type="vsan:QueryIPAllocationsRequestType"/> <element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="QueryIPAllocationsResponse"> <complexType> <sequence> <element name="returnval" type="vsan:IpPoolManagerIpAllocation" maxOccurs="unbounded"/> </sequence> </complexType> </element>

# QueryIpPools(queryIpPools)

Return the list of IP pools for a datacenter.

Required Privileges
  None

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the IpPoolManager used to make the method call.
dc P | ManagedObjectReference to a Datacenter | The datacenter for which to look up the IP pools.

P Required privilege: System.Read

Return Value

Type | Description
--- | ---
IpPool[] | The resulting list of pools.

Faults

Type | Description
--- | ---
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition
<element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="QueryIpPools" type="vsan:QueryIpPoolsRequestType"/> <element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="QueryIpPoolsResponse"> <complexType> <sequence> <element name="returnval" type="vsan:IpPool" minOccurs="0" maxOccurs="unbounded"/> </sequence> </complexType> </element>

# ReleaseIpAllocation(releaseIpAllocation)

Releases an IP allocation back to it's IP pool.

Attempting to release an IP allocation that is not allocated from the specified IP pool with the specified allocation ID silently fails. This makes it possible to release IP allocations idempotently.

All IP addresses allocated by an extension are automatically released if the extension is unregistered from vCenter.

Required Privileges
  None
Since
  vSphere API 5.1

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the IpPoolManager used to make the method call.
dc P | ManagedObjectReference to a Datacenter | The datacenter on which to find the pool
poolId | xsd:int | The unique ID of the pool
allocationId | xsd:string | The unique ID for this allocation

P Required privilege: Datacenter.IpPoolReleaseIp

Return Value

Type | Description
--- | ---
None

Faults

Type | Description
--- | ---
InvalidArgument | Thrown if the specified IP pool does not exist on the specified datacenter.
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition
<element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="ReleaseIpAllocation" type="vsan:ReleaseIpAllocationRequestType"/> <element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="ReleaseIpAllocationResponse"> <complexType/> </element>

# UpdateIpPool(updateIpPool)

Update an IP pool on a datacenter.

The pool to update is looked up from the value of the id field.

All fields in the pool except the id are optional. Only defined values are stored on the server.

Required Privileges
  None

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the IpPoolManager used to make the method call.
dc P | ManagedObjectReference to a Datacenter | The datacenter on which to look up the pool.
pool | IpPool | The IP pool to update on the server

P Required privilege: Datacenter.IpPoolConfig

Return Value

Type | Description
--- | ---
None

Faults

Type | Description
--- | ---
InvalidArgument | Thrown if the name of the pool already exists on the datacenter.
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition
<element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="UpdateIpPool" type="vsan:UpdateIpPoolRequestType"/> <element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="UpdateIpPoolResponse"> <complexType/> </element>