- Subscribe to RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
CSV Import types and how to use them (with examples)
The CSV Import feature in Infoblox allows you to migrate data from legacy or alternate server databases to the Infoblox server Grid. CSV Import also allows you to perform bulk operations such as to add new data, overwrite existing data, merge new data with existing data, delete existing data, replace certain existing data in the database, or even a combination of these actions.
Information on how to access and manage CSV Imports in Infoblox are available in the Infoblox Admin Guide. Details on how to format the CSV data and the use of appropriate CSV headers are best explained by the CSV Import Reference guide.
The goal of this article is to equip you with practical knowledge of each Import option, their individual behaviors, use case and expected usage outcomes. The Import options explained here include:
- ADD
- MERGE
- OVERRIDE
- CUSTOM
- DELETE
The practical perspective of this blog is aimed at serving as a reference for selecting the best suited option.
Conventions:
Manually added changes to CSV data being imported are marked in red
The changes that took effect in the Grid are marked in green
Note: For the actions discussed here, the Skip to the next row and continue was selected for action On Error in the CSV Import dialog
ADD:
Select this to add new rows from the imported CSV file to the database. NIOS updates the database with the new data that you have added to the imported CSV file and retains the rows that do not have any changes.
Example:
Existing initial state in Grid:
Name |
Type |
Data |
Record Source |
Principal |
Protected |
Comment |
Monitored Since |
Last Queried |
Reclaimable |
a |
A Record |
1.1.1.1 |
Static |
|
No |
|
Not Monitored |
Not Monitored |
No |
b |
A Record |
2.2.2.2 |
Static |
|
No |
|
Not Monitored |
Not Monitored |
No |
Imported csv:
header-arecord |
address* |
_new_address |
fqdn* |
_new_fqdn |
comment |
view |
arecord |
1.1.1.1 |
|
a.test.com |
|
function: add |
default |
arecord |
2.2.2.2 |
|
b.test.com |
bb.test.com |
|
default |
arecord |
3.3.3.3 |
|
c.test.com |
|
function: add |
default |
Output in Grid:
Name |
Type |
Data |
Record Source |
Principal |
Protected |
Comment |
Monitored Since |
Last Queried |
Reclaimable |
a |
A Record |
1.1.1.1 |
Static |
|
No |
|
Not Monitored |
Not Monitored |
No |
b |
A Record |
2.2.2.2 |
Static |
|
No |
|
Not Monitored |
Not Monitored |
No |
c |
A Record |
3.3.3.3 |
Static |
|
No |
function: add |
Not Monitored |
Not Monitored |
No |
MERGE:
Select this to add values from the imported CSV file to the existing columns in the database that do not have any data. It does not overwrite the existing data. It does not add new rows (objects).
If you want to modify a required (XXX*) fields (for either the overwrite or merge function), you must add a corresponding field, _new_XXX, to include the new value. For example, "fqdn*" is a required field in an A record. If you want to update this field, you must include a new field "_new_fqdn" and define the new value here. The appliance overwrites the existing data in the required field using the values you specify in the new field. Note that the replace function ignores _new_XXX fields in the imported CSV files.
Example:
Existing initial state in Grid:
Name |
Type |
Data |
Record Source |
Principal |
Protected |
Comment |
Monitored Since |
Last Queried |
Reclaimable |
a |
A Record |
1.1.1.1 |
Static |
|
No |
|
Not Monitored |
Not Monitored |
No |
b |
A Record |
2.2.2.2 |
Static |
|
No |
some comment |
Not Monitored |
Not Monitored |
No |
c |
A Record |
3.3.3.3 |
Static |
|
No |
|
Not Monitored |
Not Monitored |
No |
d |
A Record |
4.4.4.4 |
Static |
|
No |
|
Not Monitored |
Not Monitored |
No |
Imported csv:
header-arecord |
address* |
_new_address |
fqdn* |
_new_fqdn |
comment |
view |
arecord |
1.1.1.1 |
|
a.test.com |
|
function: merge |
default |
arecord |
2.2.2.2 |
|
b.test.com |
|
function: merge |
default |
arecord |
3.3.3.3 |
|
c.test.com |
cc.test.com |
function: merge |
default |
arecord |
4.4.4.4 |
|
d2.test.com |
|
function: merge |
default |
arecord |
5.5.5.5 |
|
e.test.com |
|
function: merge |
default |
Output in Grid:
Name |
Type |
Data |
Record Source |
Principal |
Protected |
Comment |
Monitored Since |
Last Queried |
Reclaimable |
a |
A Record |
1.1.1.1 |
Static |
|
No |
function: merge |
Not Monitored |
Not Monitored |
No |
b |
A Record |
2.2.2.2 |
Static |
|
No |
some comment |
Not Monitored |
Not Monitored |
No |
cc |
A Record |
3.3.3.3 |
Static |
|
No |
function: merge |
Not Monitored |
Not Monitored |
No |
d |
A Record |
4.4.4.4 |
Static |
|
No |
|
Not Monitored |
Not Monitored |
No |
OVERRIDE:
Select this to overwrite the existing data in the database with the data from the uploaded file. You cannot add new rows or delete existing rows.
Example:
Existing initial state in Grid:
Name |
Type |
Data |
Record Source |
Principal |
Protected |
Comment |
Monitored Since |
Last Queried |
Reclaimable |
a |
A Record |
1.1.1.1 |
Static |
|
No |
|
Not Monitored |
Not Monitored |
No |
b |
A Record |
2.2.2.2 |
Static |
|
No |
some comment |
Not Monitored |
Not Monitored |
No |
c |
A Record |
3.3.3.3 |
Static |
|
No |
|
Not Monitored |
Not Monitored |
No |
d |
A Record |
4.4.4.4 |
Static |
|
No |
|
Not Monitored |
Not Monitored |
No |
Imported csv:
header-arecord |
address* |
_new_address |
fqdn* |
_new_fqdn |
comment |
view |
arecord |
1.1.1.1 |
|
a.test.com |
|
function: override |
default |
arecord |
2.2.2.2 |
|
b.test.com |
|
function: override |
default |
arecord |
3.3.3.3 |
|
c.test.com |
cc.test.com |
function: override |
default |
arecord |
4.4.4.4 |
|
d2.test.com |
|
function: override |
default |
arecord |
5.5.5.5 |
|
e.test.com |
|
function: override |
default |
Output in Grid:
Name |
Type |
Data |
Record Source |
Principal |
Protected |
Comment |
Monitored Since |
Last Queried |
Reclaimable |
a |
A Record |
1.1.1.1 |
Static |
|
No |
function: override |
Not Monitored |
Not Monitored |
No |
b |
A Record |
2.2.2.2 |
Static |
|
No |
function: override |
Not Monitored |
Not Monitored |
No |
cc |
A Record |
3.3.3.3 |
Static |
|
No |
function: override |
Not Monitored |
Not Monitored |
No |
d |
A Record |
4.4.4.4 |
Static |
|
No |
|
Not Monitored |
Not Monitored |
No |
CUSTOM:
Select this to apply custom import actions for individual data rows in your CSV file. When preparing the CSV file for import with the Custom option, add an IMPORT-ACTION column to the file and specify a custom import action for each data row. Use the following abbreviations for import actions: 'I' (INSERT), 'M' (MERGE), 'O' (OVERRIDE), 'IM' (INSERT+MERGE), 'IO' (INSERT+OVERRIDE), 'D' (DELETE).
Example:
Existing initial state in Grid:
Name |
Type |
Data |
Record Source |
Principal |
Protected |
Comment |
Monitored Since |
Last Queried |
Reclaimable |
a |
A Record |
1.1.1.1 |
Static |
|
No |
|
Not Monitored |
Not Monitored |
No |
b |
A Record |
2.2.2.2 |
Static |
|
No |
some comment |
Not Monitored |
Not Monitored |
No |
c |
A Record |
3.3.3.3 |
Static |
|
No |
|
Not Monitored |
Not Monitored |
No |
d |
A Record |
4.4.4.4 |
Static |
|
No |
|
Not Monitored |
Not Monitored |
No |
Imported csv:
header-arecord |
address* |
_new_address |
fqdn* |
_new_fqdn |
comment |
view |
IMPORT-ACTION |
arecord |
1.1.1.1 |
|
a.test.com |
|
action: MERGE |
default |
M |
arecord |
2.2.2.2 |
|
b.test.com |
b2.test.com |
action: OVERRIDE |
default |
O |
arecord |
3.3.3.3 |
|
c.test.com |
|
action: DELETE |
default |
D |
arecord |
4.4.4.4 |
|
d.test.com |
|
action: if exists-MERGE, if not-INSERT |
default |
IM |
arecord |
5.5.5.5 |
|
e.test.com |
|
action: if exists-OVERRIDE, if not-INSERT |
default |
IO |
arecord |
6.6.6.6 |
|
f.test.com |
|
action: INSERT |
default |
I |
Output in Grid:
Name |
Type |
Data |
Record Source |
Principal |
Protected |
Comment |
Monitored Since |
Last Queried |
Reclaimable |
a |
A Record |
1.1.1.1 |
Static |
|
No |
action: MERGE |
Not Monitored |
Not Monitored |
No |
b2 |
A Record |
2.2.2.2 |
Static |
|
No |
action: OVERRIDE |
Not Monitored |
Not Monitored |
No |
d |
A Record |
4.4.4.4 |
Static |
|
No |
action: if exists-MERGE, if not-INSERT |
Not Monitored |
Not Monitored |
No |
e |
A Record |
5.5.5.5 |
Static |
|
No |
action: if exists-OVERRIDE, if not-INSERT |
Not Monitored |
Not Monitored |
No |
f |
A Record |
6.6.6.6 |
Static |
|
No |
action: INSERT |
Not Monitored |
Not Monitored |
No |
DELETE:
Select this to delete the rows in the imported CSV file from the database.
Example:
Existing initial state in Grid:
Name |
Type |
Data |
Record Source |
Principal |
Protected |
Comment |
Monitored Since |
Last Queried |
Reclaimable |
a |
A Record |
1.1.1.1 |
Static |
|
No |
|
Not Monitored |
Not Monitored |
No |
c |
A Record |
3.3.3.3 |
Static |
|
No |
|
Not Monitored |
Not Monitored |
No |
e |
A Record |
5.5.5.5 |
Static |
|
No |
|
Not Monitored |
Not Monitored |
No |
Imported csv:
header-arecord |
address* |
_new_address |
fqdn* |
_new_fqdn |
comment |
view |
arecord |
1.1.1.1 |
|
a.test.com |
|
|
default |
arecord |
5.5.5.5 |
|
e.test.com |
|
|
default |
Output in Grid:
Name |
Type |
Data |
Record Source |
Principal |
Protected |
Comment |
Monitored Since |
Last Queried |
Reclaimable |
c |
A Record |
3.3.3.3 |
Static |
|
No |
|
Not Monitored |
Not Monitored |
No |
Additional Information:
For Supported Object Types and Guidelines for CSV Import, refer the CSV Import Reference guide available from the Infoblox GUI >> Help, or from the Support portal >> Tech Docs