Automation Assembler in VMware Aria Automation supports these IPAM service baseline contracts for the integrated external IPAM provider.

Entity: ProviderRequestBase

Property Type Required Description
endpoint Endpoint Yes A parent class for all request types DTOs. Provides basic information about the IPAM provider endpoint in Automation Assembler.

Entity: ProviderResponseBase

Note: This entity has been deprecated.

Property Type Required Description
error ErrorStatus No DEPRECATED

This property was initially used to propagate errors from the plug-in to VMware Aria Automation. This field is deprecated and replaced by exceptions.

In case of an error, the plug-in is expected to use the capabilities of the underlying running environment to report that error. For an ABX running environment, an exception is thrown inside the action.

Entity: ErrorStatus

Note: This entity has been deprecated.

Property Type Required Description
errorCode Integer Yes DEPRECATED

This property was initially used to propagate errors from the plug-in to VMware Aria Automation. This field is deprecated and replaced by exceptions.

In case of an error, the plug-in is expected to use the capabilities of the underlying running environment to report that error. For an ABX running environment, an exception is thrown inside the action.

errorMessage String Yes DEPRECATED

Entity: EndpointValidationRequest

Property Type Required Description
authCredentialsLink String Yes

Carries host and credentials data about the external IPAM provider that is needed to validate the connection.

Contains the link to the credentials store where the external IPAM provider credentials are kept in VMware Aria Automation.

endpointProperties Map<String,String> Yes

Carries host and credentials data about the external IPAM provider that is needed to validate the connection.

Contains a collection that holds providerspecific endpoint properties such as hostname and others that are defined in the endpointschema.json file.

Entity: EndpointValidationResponse: ProviderResponseBase

Property Type Required Description
message String No

Response of the EndpointValidationRequest.

Indicates successful validation of endpoint credentials and connectivity.

certificateInfo CertificateInfo No

Response of the EndpointValidationRequest.

If the certificate for the external IPAM provider is not automatically trusted, this field can be used with the error message to propagate the certificate to Automation Assembler user and allow the user to manually confirm certificate trust.

Entity: Endpoint

Property Type Required Description
id String Yes An entity representing the registered external IPAM provider, for example Infoblox.

This is a VMware Aria Automation endpoint ID

authCredentialsLink String Yes An entity representing the registered external IPAM provider, for example Infoblox.

Contains a link to an AuthCredentialsState document in the VMware Aria Automation database that stores credentials in a secure way. Can be accessed from an ABX script by using context.request(, GET) syntax.

endpointProperties String Yes An entity that represents the registered external IPAM provider, for example Infoblox.

Contains IPAM provider endpoint properties, such as hostname, that are defined in the endpoint-schema.json file.

Entity: PagingAndSorting

Property Type Required Description
maxResults Integer No Specifies the maximum number of returned results per page.

If the number of available results is larger than maxResults, the IPAM provider must return a nextPageToken to get the next page of results in subsequent list requests.

pageToken String No Specifies a page token to use. To get the next page of results, set the pageToken to the nextPageToken returned by a previous list request.

Entity: EnumerationRequestBase

Property Type Required Description
Endpoint Endpoint Yes Contains request data required to enumerate any kind of resources.

Contains basic information about the IPAM integration in VMware Aria Automation.

pagingAndSorting PagingAndSorting Yes Contains request data required to enumerate any kind of resources. Contains a key-value entry containing pagination related data.

Entity: GetIpRangesResponse : ProviderResponseBase

Property Type Required Description
ipRanges List<IpRange> Yes Contains the list of IP ranges returned in the result set.
nextPageToken String No Allows you to get the next page of results for list requests. If the number of results is larger than maxResults (see above entity), use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests have their own nextPageToken to continue paging through the results.

Entity: IpRange

Property Type Required Description
id String Yes Provider specific ID. If the provider doesn't have IDs, the workflow/action can generate an ID using a combination of range start address, end address, and address space.
name String Yes User friendly name.
description String No User friendly description.
startIPAddress String Yes Range start IP address.
endIPAddress String Yes Range end IP address.
ipVersion Enum:{IPv4,IPv6} Yes Range IP version - IPv4 or IPv6.
addressSpaceId String No Address space where the range belongs.
gatewayAddress String No The gateway IP address.
subnetPrefixLength Integer Yes The length of the subnet mask.
dnsServerAddresses List<String> No Ordered list of DNS server.
domain String No DNS domain of this range.
dnsSearchDomains List<String> No Ordered list of DNS domain search.
properties Map<String,String> No Provider
tags List<Tag> No Tags collection, for example the extensible attributes in Infoblox.

Entity: IpAllocationRequest : ProviderRequestBase

Property Type Required Description
resourceInfo ResourceInfo Yes Contains information about the resource, for example a machine or load balancer, to which the range is associated.
ipAllocations List<IpAllocation> Yes Contains the list of allocations to be reserved for this resource. For example, a machine may have multiple NICs and a separate IP allocation should be supplied for each NIC.

Entity: ResourceInfo

Property Type Required Description
id String Yes The resource ID, for example PhM documentSelfLink.
name String Yes The resource name.
hostName String No The resource hostname.
description String No The resource description.
type Enum {VM, LOADBALANCER, NAT, OTHER} Yes The resource type.
owner String Yes The resource owner, for example [email protected].
orgId String Yes The tenant ID or organization ID in which the resource resides.
properties Map<String, String> No The resource-specific custom properties.
projectId

Note: Not available for vRealize Automation 8.2 or earlier

String No The ID of the project this entity belongs to.
templateId

Note: Not available for vRealize Automation 8.2 or earlier

String No The ID of the template/cloud template this entity belongs to.
deploymentId

Note: Not available for vRealize Automation 8.2 or earlier

String No The ID of the deployment this entity belongs to.

Entity: IpAllocation

Property Type Required Description
id String Yes ID of the IpAllocation. This ID is set by the IPAM service to match the IpAllocation value with the corresponding AllocationResult value.
description String No Description for allocation request in humanreadable format, for example in CIDR format.
ipRangeIds List<String> Yes Provider-specific range IDs to use to allocate IP addresses. To avoid DNS and gateway information mismatch, only one range is used to allocate all IP addresses.
nicIndex Integer Yes Nic index of the resource.
isPrimary Boolean Yes Set to true when allocating a primary IP for the Nix Index of the resource.
start String No Start IP address. Used to allocate specific IP address.
size Integer Yes Number of IP addresses to allocate. Used to allocate more than one IP address. If Start is also specified, continues IP addresses to be allocated.
properties Map<String, String> Yes May contain the provider-specific properties.

Entity: IpAllocationResponse : ProviderResponseBase

Property Type Required Description
ipAllocations List<AllocationResult> Yes List of IP allocations to match with allocations in the request.

Entity: AllocationResult

Property Type Required Description
ipAllocationId String Yes ID of the specified IpAllocation. This is set by the IPAM service to match the IpAllocation value with the corresponding AllocationResult value.
ipAddresses List<String> Yes Allocated IP addresses. If a start address was specified, this is a continuous block of IP addresses. If no start address was specified, any IP addresses within a single range are allocated
ipRangeId String Yes Provide-specific range ID used to allocate IP addresses
ipVersion Enum{IPv4, IPv6} Yes IP version range.
gatewayAddresses List<String> No Gateway addresses. Can be used to overwrite the value from the IP range.
subnetPrefixLength Integer No Subnet prefix length (synonymous with netmask). Can be used to overwrite the value from the IP range.
dnsServerAddresses List<String> No DNS IP addresses. Can be used to overwrite the value from the IP range.
Domain String No DNS domain. Can be used to overwrite the value from the IP range.
dnsSearchDomains List<String> No DNS domain search, in order. Can be used to overwrite the value from the IP range.
Properties Map<String, String> No Provider-specific allocation result properties that the provider needs to be set on the resource NIC as machine NIC custom properties.

Entity: IpDeallocationRequest : ProviderRequestBase

Property Type Required Description
resourceInfo ResourceInfo Yes Contains information about the resource, for example a machine or load balancer, that the range is associated with.
ipDeallocations List<IpDeallocation> Yes List of deallocations containing information about which IPs to release for the resource.

Entity: IpDeallocation

Property Type Required Description
id String Yes ID of IpDeallocation. The ID is set by the IPAM service to match the IpDeallocation value with the corresponding DeallocationResult value.
ipAddress String Yes The IP address to deallocate.
ipRangeId String Yes Provider-specific range ID of the IP range used for allcoating this IP address.
vraIPAddressId

Note: Not available for vRealize Automation 8.2 or earlier.

String Yes The ID of the IP address instance in VMware Aria Automation.
addressSpaceId

Note: Not available for vRealize Automation 8.2 or earlier.

String No The ID of the address space that the range belongs to.

Entity: IpDeallocationResponse : ProviderResponseBase

Property Type Required Description
ipDeallocations List<DeallocationResult> Yes List of deallocations to match with deallocation IPs from the request.

Entity: DeallocationResult

Property Type Required Description
ipDeallocationId String Yes ID of IpDeallocation. The ID is set by the IPAM service to match the IpDeallocation value with the corresponding DeallocationResult value.
message String No Optional message to include in the deallocation response.

Entity: RecordUpdateRequest : ProviderRequestBase

Property Type Required Description
resourceInfo ResourceInfo Yes Information about the resource, for example the machine or load balancer, to which this IP range is associated.
hostName String Yes The resource hostname.
addressInfos List<AddressInfo> Yes List of address information to be used for updating the MAC address of the record.

Entity: AddressInfo

Property Type Required Description
address String Yes IP address of the record.
macAddress String Yes MAC address of the record.
nicIndex Integer Yes 0-based index of the NIC.
ipAllocationId

Note: Not available for vRealize Automation 8.2 or earlier.

String Yes The ID of the allocation. This ID is set by the IPAM service to match UpdateRecord with the corresponding allocation.
vraIPAddressId

Note: Not available for vRealize Automation 8.2 or earlier.

String Yes The ID of the IP address instance in VMware Aria Automation that was created during allocation.
addressSpaceId

Note: Not available for vRealize Automation 8.2 or earlier.

String No The ID of the address space that the range belongs to.

Entity: IpRangeAllocation – Holds data required to allocate a network IP range

Note: Unavailable for vRealize Automation 8.0.x.
Property Type Required Description
name String Yes Network name.
description String No Network description.
ipBlockIds List<String> Yes List of IP blocks that can be used to allocate the network. The List type allows you to specify multiple blocks, for example to allocate the network inside the first block that matches a requirement.
addressSpaceId String No Address space where the range belongs.
gatewayAddress String No Gateway IP address.
subnetCidr String No CIDR that can be used to allocate the network on a specific IP address.
subnetPrefixLength Ineger Yes Subnet mask length.
dnsServerAddresses List<String> No DNS IP addresses for this network.
domain String No DNS domain of this network.
dnsServerAddresses List<String> No Ordered list of DNS domain search.
properties Map<String, String> No Provider specific properties.
tags List<Tag> No Tags collection, for example the extensible attributes in Infoblox.
id

Note: Not available for vRealize Automation 8.2 or earlier.

String Yes The ID of the IP range allocation. This ID is set by the IPAM service to match IpRangeAllocation with the corresponding deallocation.

Entity: IpRangeAllocationRequest : ProviderRequestBase

Note: Unavailable for vRealize Automation 8.0.x.
Property Type Required Description
resourceInfo ResourceInfo Yes Information about the resource, for example the machine or load balancer, to which this IP range is associated.
ipRangeAllocation IpRangeAllocation Yes Information about the IP range to be allocated.

Entity: IpRangeAllocationResponse : ProviderResponseBase

Note: Unavailable for vRealize Automation 8.0.x.
Property Type Required Description
ipRange IpRange Yes The state of the network's allocated IP range.

Entity: IpRangeDeallocation – Holds data required to deallocate a network IP range

Note: Unavailable for vRealize Automation 8.0.x
Property Type Required Description
ipRangeId String Yes The ID of the network to be deallocated.
addressSpaceId String No The address space that the IP range belongs to.
property Map<String, String> No Provider-specific properties.
id

Note: Not available for vRealize Automation 8.2 or earlier.

String Yes The ID of the IP range deallocation. This ID is set by the IPAM service to match IpRangeDeallocation with the corresponding allocation.

Entity: IpRangeDeallocationRequest: ProviderRequestBase

Note: Unavailable for vRealize Automation 8.0.x.
Property Type Required Description
resourceInfo ResourceInfo Yes Information about the resource, for example the machine or load balancer, to which this IP range is associated.
ipRangeDeallocation IpRangeDeallocation Yes Information about the IP range to be deallocated.

Entity: IpRangeDeallocationResponse

Note: Unavailable for vRealize Automation 8.0.x.
Property Type Required Description
message String No A message that indicates whether the IP range was successfully deallocated.

Entity: IpBlock – Holds data associated with a single IP Block

Note: Unavailable for vRealize Automation 8.0.x.
Property Type Required Description
id String Yes Provider-specific ID. If the provider does not provide an ID, the action or workflow can generate one by combining the block name and the CIDR.
name String Yes IP block name. For example, the IP block name might be the block CIDR.
description String No IP block description.
ipBlockCIDR String Yes The IP block CIDR, for example 192.168.0.0/24.
ipVersion enum:{IPv4, IPv6} Yes Block type - either IPv4 or IPv6.
addressSpace String No Address space where the block belongs.
gatewayAddress String No Gateway IP address, for example 192.168.0.1.
dnsServerAddresses List<String> No DNS IP addresses for this block.
domain String No DNS domain of this block.
dnsSearchDomains List<String> No Ordered list of DNS domains
properties Map<String, String> No Provider specific properties.
tags List<Tag> No Tags collection, for example the extensible attributes in Infoblox.

Entity: GetIpBlocksResponse

Note: Unavailable for vRealize Automation 8.0.x.
Property Type Required Description
ipBlocks List<IpBlock> Yes Contains information about multiple IP blocks.