Chap 28 - Foundational Network Programmability Concepts Flashcards

1
Q

What are APIs?

A

Application Programming Interface - APIs are mechanisms used to communicate with applications and other software.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is a Northbound API?

A

Northbound APIs are often used to communicate from a network controller to its management software.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is a Southbound API?

A

Changes are pushed down to the individual devices by using a Southbound API.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is a RESTful API?

A

RESTful APIs use HTTP methods to gather and manipulate data. Because there is a defined structure for how HTTP works, it offers a consistent way to interact with APIs from multiple vendors.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are 5 HTTP functions used by REST?

A

* Get - requests data * Post - submits data * Put - replaces data * Patch - appends data * Delete - removes data

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is CRUD?

A

An acronym for Create - inserts data, Read - retrieves data, Update - modifies or replaces data, Delete - removes data. These all refer to actions taken in a database or application.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is Postman?

A

Postman is an application that makes it possible to interact with APIs using a console-based approach. Postman allows for the use of various data types and formats to interact with REST-based APIs.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What are 2 of the most common data formats used with APIs?

A

* Extensible Markup Language (XML) * JavaScript Object Notation (JSON)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are 6 HTTP Status Codes?

A

* 200 - ok * 201 - created * 400 - bad request * 401 - unauthorized * 403 - forbidden * 404 - not found

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What format does DNA Center expect all incoming data from the REST API to be in?

A

JSON format

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What HTTP function is used to send credentials to Cisco DNA Center?

A

HTTP POST function

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is Cisco DNA Center Token API used for?

A

To authenticate users

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

How long is the token you receive from DNA good until?

A

Only for the current session.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What type of http operation is performed to authenticate?

A

POST

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is a YANG Data Model?

A

YANG Data models describe whatever can be configured, monitored, all the administrative actions that can be executed, and all the notifications that the device is capable of generating.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is NETCONF?

A

It is an IETF standard protocol that uses the YANG data models to communicate with the various devices on the network.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

What protocols does NETCONF run over?

A

NETCONF runs over SSH, TLS, and (although not common), Simple Object Access Protocol (SOAP).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

What are 2 differences between NETCONF and SNMP?

A

* SNMP can’t distinguish between configuration data and operational data, but NETCONF can * NETCONF uses paths to describe resources, whereas SNMP uses object identifiers (OIDs).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

What are 2 things NETCONF can do?

A

* Collects status * Changes config * Takes administrative actions * Sends event notifications * Does backups and restores * Tests configurations before finalizing them

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

What are 7 characteristics about Transactions?

A

* All or nothing * No order or sequencing * Processed in same order every time * Run in parallel state * Have no impact on each other * Do not overwrite or interfere with each other * Do not impact each other if same transaction is run against multiple devices

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

What does NETCONF do when a TCP connection has been made?

A

* NETCONF exchanges information called capabilities * Capabilities tell the client what the device it’s connected to can do.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

What are 5 common operations NETCONF can do?

A

* get * get-config * edit-config * copy-config * delete-config

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

What does NETCONF use to send information between hosts?

A

NETCONF uses Remote Procedure Call (RPC) messages in XML format to send the information between hosts.

24
Q

Where does NETCONF store information?

A

Information and configurations are stored in datastores. Datastores can be manipulated by using the 5 common NETCONF operations

25
Q

What is RESTCONF?

A

RESTCONF is used to programmatically interface with data defined in YANG models while also using the datastore concepts defined in NETCONF.

26
Q

What is the goal of RESTCONF?

A

RESTCONF’s goal is to provide a RESTful API experience while still leveraging the device abstraction capabilities provided by NETCONF.

27
Q

What data modeling does RESTCONF use?

A

RESTCONF uses the same YANG models as NETCONF

28
Q

What operations does RESTCONF use?

A

* GET * POST * PUT * DELETE * OPTIONS

29
Q

What structured data formats does RESTCONF use?

A

RESTCONF requests and responses can use either JSON or XML structured data formats.

30
Q

What are 5 tabs across the top of DEVNET webpage?

A

* Discover * Technologies * Community * Support * Events

31
Q

In Python scripts what marks the beginning and end of a multi-line string?

A

3 quotation marks begin and end a multiple-line string.

32
Q

In Python what does a # mean?

A

The # indicates a comment in a Python script.

33
Q

In XML what are the start and end tags?

A

* Start tag * End tag

34
Q

What is one of the key features of XML

A

It is readable by both humans and applications.

35
Q

What makes XML more readable?

A

Indentation, although not required, makes it much more readable.

36
Q

How does JSON store its information?

A

key/value pairs

37
Q

In JSON how can you tell the beginning and the end of an object?

A

Curly braces. Each object begins with a { and ends with a }

38
Q

In JSON how do the key/value pairs appear?

A

Each key and each value are in double quotes. Key is listed first Value last. The Key and Value are separated by a colon : * Key/Value pairs within an object are separated from each other by a comma ,

39
Q

In Python how do you do a multi-line string?

A

Begin with 3 double-quotes “”” and end with 3 double-quotes “””

40
Q

In Python what are 2 ways to create a function?

A

* def MY_FUNCTION () * print (dnac_devices)

41
Q

When using Postman to do an API call what 4 pieces of information do you need?

A

* The URL of the API * The type of HTTP operation * Headers Content-type key * The body must contain the username and password keys

42
Q

What are the 3 fundamental data structures in YANG?

A

* Container - encloses a list of child elements * Leaf - contains a value but no child elements * List

43
Q

How can you recognize a NETCONF element?

A

It will be an XML file and have ‘ at the end.

44
Q

In Python how do you create a logical ‘if’ function?

A

* if ENVIRONMENT_IN_USE == “sandbox” * The action taken if the ‘if’ statement is true will appear directly below it.

45
Q

What authentication method is used by DNA Center?

A

Basic authentication

46
Q

What are 3 purposes of the Repository in GitHub?

A

* Store a developers code * Option to share a developers code with other users * Provides documentation on code examples

47
Q

When using the Cisco vManage Authentication API, what is the Headers Content-Type that is used?

A

x-www-form-urlencoded

48
Q

When using the Cisco vManage Authentication API, what is the authentication that is used?

A

The body must contain keys with the j_username devnetuser and thej_password Cisco123!.

49
Q

What is the DevNet community page used for?

A

* To ask questions * To access DevNet Ambassadors and Evangelists

50
Q

What is this an example of:

< users >
< user >
< name > root name >
user >
< user >
< name > Jason name >
user >
< user >
< name > Jamie name >
user >
< user >
< name > Luke name >
user >
users

A

XML

51
Q

What is this an example of:

{
“user”: “root”,
“father”: “Jason”,
“mother”: “Jamie”,
“friend”: “Luke”
}

A

JSON

52
Q

What is this an example of:

list interface {
key “name”;
leaf name {
type string;
}
leaf speed {
type enumeration {
enum 10m;
enum 100m;
enum auto;
}
}
leaf observed-speed {
type uint32;
config false;
}
}

A

YANG output

53
Q

What is OnePK

A

A Cisco-proprietary API

54
Q

What is OpenFlow?

A

An imperative SDN model that is a standardized API that allows a controller to direct the forwarding functions of a switch through a secure channel.

55
Q

What is OpFlex?

A

A declarative SDN model that is an open and extensible policy protocol for transferring policy in XML or JSON between a network policy controller such as the Cisco APIC and any device.