Region Example
This example demonstrates how to create a dynamic attribute to assign a Region.
Region Configuration
---
ipfabric:
base_url: null # Base URL or ENV: IPF_URL
auth: null #API Token or ENV: IPF_TOKEN or (IPF_USERNAME and IPF_PASSWORD)
timeout: 5
verify: true
snapshot_id: $last
dry_run: false # Default true
overwrite: true # Default false
update_snapshot: true # Default true
default: # Applies to all rules except inventory unless overridden or flagged not to merge
attribute: REGION
filters: # Disable by setting merge_default_filters to false in rules
- column: vendor
value: aws|azure|gcp
operator: nreg
inventory:
report_columns: # Optional Inventory Columns to be included in the report with hostname, siteName, and sn
- loginIp
rules:
- name: Convert SiteName to Region
filters:
- column: siteName
value: unknown
operator: neq
- column: siteName
value: HWLAB
operator: neq
value:
api_endpoint: tables/inventory/devices
column: siteName
transform: upper
regex:
pattern: ^(\w\w)- # Example: us-
group: 1
mapping:
US: NAMR
NS: NAMR
UK: EMEA
- name: HWLAB
filters:
- column: siteName
value: HWLAB
operator: eq
value:
api_endpoint: tables/inventory/devices
static: EMEA
- name: Catch-all
# Any devices found in the query and not already assigned the REGION Attribute will be assigned this value
# Because of default filter settings, this will not be applied to devices that are not in the AWS, GCP, or Azure inventory tables
merge_default_filters: true # default
value:
api_endpoint: tables/inventory/devices
static: UNKNOWN
- name: Assign Cloud Region
merge_default_filters: false
attribute: CLOUD_REGION
value:
api_endpoint: tables/cloud/nodes/inventory
column: location
null_value: GLOBAL
- name: AWS
merge_default_filters: false
value:
api_endpoint: tables/cloud/vendors/aws/inventory
column: region
transform: upper
regex:
pattern: ^(\w\w)-
group: 1
null_value: CLOUD
mapping:
US: NAMR
CA: NAMR
AF: EMEA
EU: EMEA
AP: APAC
IL: EMEA
MX: LATAM
SA: LATAM
- name: GCP
merge_default_filters: false
value:
api_endpoint: tables/cloud/vendors/gcp/inventory
column: region
regex:
pattern: '^([^-]*)-'
group: 1
null_value: CLOUD
mapping:
africa: EMEA
asia: APAC
australia: APAC
europe: EMEA
me: EMEA
northamerica: NAMR
southamerica: LATAM
us: NAMR
- name: Azure
merge_default_filters: false
value:
api_endpoint: tables/cloud/vendors/azure/inventory
column: location
null_value: CLOUD
mapping:
southafricanorth: EMEA
southafricawest: EMEA
australiacentral: APAC
australiacentral2: APAC
australiaeast: APAC
australiasoutheast: APAC
centralindia: APAC
eastasia: APAC
eastasiastage: APAC
indonesiacentral: APAC
japaneast: APAC
japanwest: APAC
jioindiacentral: APAC
jioindiawest: APAC
koreacentral: APAC
koreasouth: APAC
malaysiawest: APAC
newzealandnorth: APAC
southindia: APAC
southeastasia: APAC
southeastasiastage: APAC
westindia: APAC
canadacentral: NAMR
canadaeast: NAMR
francecentral: EMEA
francesouth: EMEA
germanynorth: EMEA
germanywestcentral: EMEA
italynorth: EMEA
northeurope: EMEA
norwayeast: EMEA
norwaywest: EMEA
polandcentral: EMEA
spaincentral: EMEA
swedencentral: EMEA
switzerlandnorth: EMEA
switzerlandwest: EMEA
uksouth: EMEA
ukwest: EMEA
westeurope: EMEA
mexicocentral: LATAM
israelcentral: EMEA
qatarcentral: EMEA
uaecentral: EMEA
uaenorth: EMEA
brazilsouth: LATAM
brazilsoutheast: LATAM
brazilus: LATAM
chilecentral: LATAM
centralus: NAMR
centralusstage: NAMR
centraluseuap: NAMR
eastus: NAMR
eastusstage: NAMR
eastus2: NAMR
eastus2stage: NAMR
eastus2euap: NAMR
eastusstg: NAMR
northcentralus: NAMR
northcentralusstage: NAMR
southcentralus: NAMR
southcentralusstage: NAMR
southcentralusstg: NAMR
westcentralus: NAMR
westus: NAMR
westusstage: NAMR
westus2: NAMR
westus2stage: NAMR
westus3: NAMR
asia: APAC
asiapacific: APAC
australia: APAC
brazil: LATAM
canada: NAMR
europe: EMEA
france: EMEA
germany: EMEA
india: APAC
indonesia: APAC
israel: EMEA
italy: EMEA
japan: APAC
korea: APAC
malaysia: APAC
mexico: LATAM
newzealand: APAC
norway: EMEA
poland: EMEA
qatar: EMEA
singapore: APAC
southafrica: EMEA
spain: EMEA
sweden: EMEA
switzerland: EMEA
taiwan: APAC
uae: EMEA
uk: EMEA
unitedstates: NAMR
unitedstateseuap: NAMR
Merged Configuration
The above configuration will be merged into the following effective configuration:
Region Merged Configuration
---
ipfabric:
base_url: null
auth: null
timeout: 5
verify: true
snapshot_id: $last
dry_run: false
overwrite: true
update_snapshot: true
inventory:
filters: []
filter_string: null
attribute_filters: []
report_columns:
- loginIp
rules:
- filters:
- value: unknown
operator: neq
column: siteName
- value: HWLAB
operator: neq
column: siteName
- value: aws|azure|gcp
operator: nreg
column: vendor
filter_string: null
attribute_filters: []
attribute: REGION
value:
static: null
regex:
pattern: ^(\w\w)-
group: 1
flags: []
transform: upper
mapping:
US: NAMR
NS: NAMR
UK: EMEA
null_value: null
api_endpoint: tables/inventory/devices
column: siteName
sn_column: sn
sort: null
device_filters: []
delete_attribute: null
name: Convert SiteName to Region
merge_default_filters: true
merge_default_device_filters: true
merge_default_attribute_filters: true
- filters:
- value: HWLAB
operator: eq
column: siteName
- value: aws|azure|gcp
operator: nreg
column: vendor
filter_string: null
attribute_filters: []
attribute: REGION
value:
static: EMEA
regex: null
transform: null
mapping: {}
null_value: null
api_endpoint: tables/inventory/devices
column: null
sn_column: sn
sort: null
device_filters: []
delete_attribute: null
name: HWLAB
merge_default_filters: true
merge_default_device_filters: true
merge_default_attribute_filters: true
- filters:
- value: aws|azure|gcp
operator: nreg
column: vendor
filter_string: null
attribute_filters: []
attribute: REGION
value:
static: UNKNOWN
regex: null
transform: null
mapping: {}
null_value: null
api_endpoint: tables/inventory/devices
column: null
sn_column: sn
sort: null
device_filters: []
delete_attribute: null
name: Catch-all
merge_default_filters: true
merge_default_device_filters: true
merge_default_attribute_filters: true
- filters: []
filter_string: null
attribute_filters: []
attribute: CLOUD_REGION
value:
static: null
regex: null
transform: null
mapping: {}
null_value: GLOBAL
api_endpoint: tables/cloud/nodes/inventory
column: location
sn_column: sn
sort: null
device_filters: []
delete_attribute: null
name: Assign Cloud Region
merge_default_filters: false
merge_default_device_filters: true
merge_default_attribute_filters: true
- filters: []
filter_string: null
attribute_filters: []
attribute: REGION
value:
static: null
regex:
pattern: ^(\w\w)-
group: 1
flags: []
transform: upper
mapping:
US: NAMR
CA: NAMR
AF: EMEA
EU: EMEA
AP: APAC
IL: EMEA
MX: LATAM
SA: LATAM
null_value: CLOUD
api_endpoint: tables/cloud/vendors/aws/inventory
column: region
sn_column: sn
sort: null
device_filters: []
delete_attribute: null
name: AWS
merge_default_filters: false
merge_default_device_filters: true
merge_default_attribute_filters: true
- filters: []
filter_string: null
attribute_filters: []
attribute: REGION
value:
static: null
regex:
pattern: '^([^-]*)-'
group: 1
flags: []
transform: null
mapping:
africa: EMEA
asia: APAC
australia: APAC
europe: EMEA
me: EMEA
northamerica: NAMR
southamerica: LATAM
us: NAMR
null_value: CLOUD
api_endpoint: tables/cloud/vendors/gcp/inventory
column: region
sn_column: sn
sort: null
device_filters: []
delete_attribute: null
name: GCP
merge_default_filters: false
merge_default_device_filters: true
merge_default_attribute_filters: true
- filters: []
filter_string: null
attribute_filters: []
attribute: REGION
value:
static: null
regex: null
transform: null
mapping:
southafricanorth: EMEA
southafricawest: EMEA
australiacentral: APAC
australiacentral2: APAC
australiaeast: APAC
australiasoutheast: APAC
centralindia: APAC
eastasia: APAC
eastasiastage: APAC
indonesiacentral: APAC
japaneast: APAC
japanwest: APAC
jioindiacentral: APAC
jioindiawest: APAC
koreacentral: APAC
koreasouth: APAC
malaysiawest: APAC
newzealandnorth: APAC
southindia: APAC
southeastasia: APAC
southeastasiastage: APAC
westindia: APAC
canadacentral: NAMR
canadaeast: NAMR
francecentral: EMEA
francesouth: EMEA
germanynorth: EMEA
germanywestcentral: EMEA
italynorth: EMEA
northeurope: EMEA
norwayeast: EMEA
norwaywest: EMEA
polandcentral: EMEA
spaincentral: EMEA
swedencentral: EMEA
switzerlandnorth: EMEA
switzerlandwest: EMEA
uksouth: EMEA
ukwest: EMEA
westeurope: EMEA
mexicocentral: LATAM
israelcentral: EMEA
qatarcentral: EMEA
uaecentral: EMEA
uaenorth: EMEA
brazilsouth: LATAM
brazilsoutheast: LATAM
brazilus: LATAM
chilecentral: LATAM
centralus: NAMR
centralusstage: NAMR
centraluseuap: NAMR
eastus: NAMR
eastusstage: NAMR
eastus2: NAMR
eastus2stage: NAMR
eastus2euap: NAMR
eastusstg: NAMR
northcentralus: NAMR
northcentralusstage: NAMR
southcentralus: NAMR
southcentralusstage: NAMR
southcentralusstg: NAMR
westcentralus: NAMR
westus: NAMR
westusstage: NAMR
westus2: NAMR
westus2stage: NAMR
westus3: NAMR
asia: APAC
asiapacific: APAC
australia: APAC
brazil: LATAM
canada: NAMR
europe: EMEA
france: EMEA
germany: EMEA
india: APAC
indonesia: APAC
israel: EMEA
italy: EMEA
japan: APAC
korea: APAC
malaysia: APAC
mexico: LATAM
newzealand: APAC
norway: EMEA
poland: EMEA
qatar: EMEA
singapore: APAC
southafrica: EMEA
spain: EMEA
sweden: EMEA
switzerland: EMEA
taiwan: APAC
uae: EMEA
uk: EMEA
unitedstates: NAMR
unitedstateseuap: NAMR
null_value: CLOUD
api_endpoint: tables/cloud/vendors/azure/inventory
column: location
sn_column: sn
sort: null
device_filters: []
delete_attribute: null
name: Azure
merge_default_filters: false
merge_default_device_filters: true
merge_default_attribute_filters: true