Add Device Instance - BlueCat Address Manager - 9.0.0

Address Manager API Guide

prodname
BlueCat Address Manager
version_custom
9.0.0

Used to provision new devices for the network and combines a number of existing API methods into one. This method assigns the next available, or manually defined, IP address and optionally adds a DNS host record and MAC address that are linked to the IP address and returns the property string containing IP address, netmask and gateway. When configured with a DNS host record, addDeviceInstance() will update the DNS server to immediately deploy the host record.

Important: The "Allow Dynamic Updates" DNS deployment option must be configured in order to use this API call.
Note: Address Manager adds the DNS host record directly to the DNS/DHCP Server so that the individual host record is made live instantly. This is done through the Address Manager to DNS/DHCP Server communication service (Command Server) and does NOT require a standard Address Manager deployment.
Attention: Limitations
  • If the addDeviceInstance API is used to add a static host record and this record is either updated or deleted followed by a full deployment, the changes will not be sent to BDDS resulting in duplicate host records.

    After either updating or deleting a static host record that was added using the addDeviceInstance API, a quick, differential, or selective deployment must be performed prior to performing a full deployment. Failing to do so will result in duplicated records on BDDS.

    A quick deployment is only effective if initiated by the same user that performed the initial change.

  • Static host records are not visible on BDDS, but are visible in BAM in the following scenario:
    • When a static host record is added using the addDeviceInstance API and the same host record is deleted then deployed through the Address Manager user interface proceeded by the recreation of the original static host record on the same IP address using the addDeviceInstance API during the deployment.

      The static host record that is visible in BAM will become visible on BDDS once another deployment is performed.

  • If the addDeviceInstance API is used more than once to add the same static host record with the allowDuplicateHosts DNS deployment option set to true, the host record will be linked to two different IP addresses in BAM. However, on BDDS, only one IP address is linked to the host record.

    The static host record that is visible in BAM will become visible on BDDS once another deployment is performed.

Output / Response

Returns the property string containing IP address, netmask and gateway.

API call:

String addDeviceInstance ( String configName, String deviceName, String ipAddressMode, String ipEntity, String viewName, String zoneName, String recordName, String macAddressMode, String macEntity, String options )
Parameter Description
configName Name of parent configuration. If the value is empty or cannot be found, an exception will be thrown.
deviceName IP/device name of the new instance. Reserved for future use.
ipAddressMode Accepted values are REQUEST_STATIC, REQUEST_DHCP_RESERVED and PASS_VALUE. REQUEST_STATIC or REQUEST_DHCP_RESERVED is used to get the next available IP address. PASS_VALUE is used to pass an existing IP address. Metadata values will be updated to the newly assigned IP address only. REQUEST_DHCP_RESERVED is reserved for future use.
ipEntity If ipAddressMode is REQUEST_STATIC or REQUEST_DHCP_RESERVED, this needs to be the network where the IP address will be provisioned from in the format of an IP address range in CIDR format or range. If ipAddressMode is PASS_VALUE, this needs to be an IP address.
viewName Name of parent view.
Note: Specify an empty string ("") for all viewName, zoneName and recordName parameters to ignore DNS object creation.
zoneName Parent zone of the record. This must be specified and existing if the viewName parameter is an empty string and existing.
Note: Specify an empty string ("") for all viewName, zoneName and recordName parameters to ignore DNS object creation.
recordName Name of the host record to add. This cannot be empty if both viewName and zoneName are specified and in use. The viewName, zoneName and recordName parameters need to be used together: the values must all be an empty string (""), or they must all be populated with specific values.
Note: If all three parameter values are an empty string, DNS objects will not be created but an IP address will be assigned from a network and linked to a MAC address.
macAddressMode Accepted values are REQUEST_VALUE or PASS_VALUE. If specified an empty string (""), the MACEntity parameter will be ignored. Use PASS_VALUE to manually provide the MAC address linked to IP address. REQUEST_VALUE is reserved for future use.
macEntity If macAddressMode is PASS_VALUE, this must be a MAC address. If macAddressMode is REQUEST_VALUE, this is a MAC mask.
options The options string contains four properties; skip, offset, excludeDHCPRange and allowDuplicateHosts.
  • skip—This is optional. It is applied to REQUEST_STATIC and REQUEST_DHCP_RESERVED for ipAddressMode. It is used to specify the IP address ranges or IP addresses to skip, separated by comma. A hyphen(-), not a dash is used to separate the start and end addresses.
  • offset—This is optional. It is applied to REQUEST_VALUE for ipAddressMode. This is to specify from which address to start to assign IPv4 Address.
  • excludeDHCPRange—This specifies whether IP addresses in DHCP ranges should be excluded from assignment or not. It is applied to REQUEST_STATIC only for ipAddressMode. The value is either true or false, default value is false. The value will always be set to true if the ipAddressMode is REQUEST_DHCP_RESERVED.
  • allowDuplicateHosts—This specifies whether the IP address can be added to an existing host record or not. The value is either true or false, default value is false.
  • staticHost—Specifies whether a static host or a dynamic host is created. The value is either true or false, default value if false. The value “true” creates a static host and the value “false” creates a dynamic host.
Note: The values for skip and offset must be IPv4 addresses and must appear in dotted octet notation.