cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
609
Views
6
Helpful
1
Replies

Create site using dnacentersdk

rasmus.elmholt
Level 7
Level 7

Hi

 

I have been trying for some time to create a site using the dnacentersdk but I cannot seems to get the syntax right.

I am using DNAC version 2.2.3.6 with the following python code:

from dnacentersdk import api

    dnac = api.DNACenterAPI(username=args.username,
                            password=args.password,
                            base_url=args.host,
                            version='2.2.3.3',
                            verify=False)

task = dnac.sites.create_site(site="test", type="building")
pprint(task)

I get a response from the DNAC but the site is never created.

{'executionId': 'ff773387-412c-41c4-a4c7-df50bca7d2dc',
 'executionStatusUrl': '/dna/platform/management/business-api/v1/execution-status/ff773387-412c-41c4-a4c7-df50bca7d2dc',
 'message': 'The request has been accepted for execution'}

An example of how to create a site using the SDK would be appreciated.

1 Accepted Solution

Accepted Solutions

rasmus.elmholt
Level 7
Level 7

Found some code that did what I wanted, and worked.

 

### Helper functions
def create_area_request(area_name=None, area_parentName=None):
    payload = {
    "type": "area",
    	"site": {
            "area": {
            	"name": area_name,
            	"parentName": area_parentName
            }
    	}
    }
    return payload

def create_bld_request(area_name, area_parentName, bld_name, bld_address):
    payload = {
    "type": "building",
        "site": {
            "area": {
                "name": area_name,
                "parentName": area_parentName
            },
            "building": {
                "name": bld_name,
                "address": bld_address
            }
        }
    }
    return payload

task = dnac.sites.create_site(payload=create_bld_request("Aarhus", "Global/EMEA/Denmark", "Tangen9, 8200", "Tangen 9, 8200 Aarhus, Denmark"))

View solution in original post

1 Reply 1

rasmus.elmholt
Level 7
Level 7

Found some code that did what I wanted, and worked.

 

### Helper functions
def create_area_request(area_name=None, area_parentName=None):
    payload = {
    "type": "area",
    	"site": {
            "area": {
            	"name": area_name,
            	"parentName": area_parentName
            }
    	}
    }
    return payload

def create_bld_request(area_name, area_parentName, bld_name, bld_address):
    payload = {
    "type": "building",
        "site": {
            "area": {
                "name": area_name,
                "parentName": area_parentName
            },
            "building": {
                "name": bld_name,
                "address": bld_address
            }
        }
    }
    return payload

task = dnac.sites.create_site(payload=create_bld_request("Aarhus", "Global/EMEA/Denmark", "Tangen9, 8200", "Tangen 9, 8200 Aarhus, Denmark"))