summaryrefslogtreecommitdiffstats
path: root/docs/labs/lab04-container-management
diff options
context:
space:
mode:
Diffstat (limited to 'docs/labs/lab04-container-management')
-rw-r--r--docs/labs/lab04-container-management/add_image_to_container.py21
-rw-r--r--docs/labs/lab04-container-management/assign_configlet_to_container.py23
-rw-r--r--docs/labs/lab04-container-management/create_container.py20
-rw-r--r--docs/labs/lab04-container-management/remove_image_from_container.py21
-rw-r--r--docs/labs/lab04-container-management/rename_container.py32
5 files changed, 117 insertions, 0 deletions
diff --git a/docs/labs/lab04-container-management/add_image_to_container.py b/docs/labs/lab04-container-management/add_image_to_container.py
new file mode 100644
index 0000000..99fc05e
--- /dev/null
+++ b/docs/labs/lab04-container-management/add_image_to_container.py
@@ -0,0 +1,21 @@
+# Copyright (c) 2020 Arista Networks, Inc.
+# Use of this source code is governed by the Apache License 2.0
+# that can be found in the COPYING file.
+
+from cvprac.cvp_client import CvpClient
+import ssl
+ssl._create_default_https_context = ssl._create_unverified_context
+import requests.packages.urllib3
+requests.packages.urllib3.disable_warnings()
+
+# Create connection to CloudVision
+clnt = CvpClient()
+clnt.connect(['cvp1'],'username', 'password')
+
+image_name = "vEOS-4.26.0.1F"
+image = clnt.api.get_image_bundle_by_name(image_name)
+
+container_name = "TP_FABRIC"
+container = clnt.api.get_container_by_name(container_name)
+
+clnt.api.apply_image_to_container(image, container)
diff --git a/docs/labs/lab04-container-management/assign_configlet_to_container.py b/docs/labs/lab04-container-management/assign_configlet_to_container.py
new file mode 100644
index 0000000..a6e8828
--- /dev/null
+++ b/docs/labs/lab04-container-management/assign_configlet_to_container.py
@@ -0,0 +1,23 @@
+# Copyright (c) 2020 Arista Networks, Inc.
+# Use of this source code is governed by the Apache License 2.0
+# that can be found in the COPYING file.
+
+from cvprac.cvp_client import CvpClient
+import ssl
+ssl._create_default_https_context = ssl._create_unverified_context
+import requests.packages.urllib3
+requests.packages.urllib3.disable_warnings()
+
+# Create connection to CloudVision
+clnt = CvpClient()
+clnt.connect(nodes=['cvp1'], username="username",password="password")
+
+container_name = "TP_LEAFS"
+
+configletName = 'cvprac_example2'
+
+container = clnt.api.get_container_by_name(container_name)
+
+configlet = clnt.api.get_configlet_by_name(configletName)
+
+clnt.api.apply_configlets_to_container("", container, [configlet])
diff --git a/docs/labs/lab04-container-management/create_container.py b/docs/labs/lab04-container-management/create_container.py
new file mode 100644
index 0000000..6e5b8dc
--- /dev/null
+++ b/docs/labs/lab04-container-management/create_container.py
@@ -0,0 +1,20 @@
+# Copyright (c) 2020 Arista Networks, Inc.
+# Use of this source code is governed by the Apache License 2.0
+# that can be found in the COPYING file.
+
+from cvprac.cvp_client import CvpClient
+import ssl
+ssl._create_default_https_context = ssl._create_unverified_context
+import requests.packages.urllib3
+requests.packages.urllib3.disable_warnings()
+
+# Create connection to CloudVision
+clnt = CvpClient()
+clnt.connect(['cvp1'],'username', 'password')
+
+# Get parent container information
+parent = clnt.api.get_container_by_name("ContainerA")
+
+# Create new container ContainerB under ContainerA
+
+clnt.api.add_container("ContainerB",parent["name"],parent["key"])
diff --git a/docs/labs/lab04-container-management/remove_image_from_container.py b/docs/labs/lab04-container-management/remove_image_from_container.py
new file mode 100644
index 0000000..8a48be8
--- /dev/null
+++ b/docs/labs/lab04-container-management/remove_image_from_container.py
@@ -0,0 +1,21 @@
+# Copyright (c) 2020 Arista Networks, Inc.
+# Use of this source code is governed by the Apache License 2.0
+# that can be found in the COPYING file.
+
+from cvprac.cvp_client import CvpClient
+import ssl
+ssl._create_default_https_context = ssl._create_unverified_context
+import requests.packages.urllib3
+requests.packages.urllib3.disable_warnings()
+
+# Create connection to CloudVision
+clnt = CvpClient()
+clnt.connect(['cvp1'],'username', 'password')
+
+image_name = "vEOS-4.26.0.1F"
+image = clnt.api.get_image_bundle_by_name(image_name)
+
+container_name = "TP_FABRIC"
+container = clnt.api.get_container_by_name(container_name)
+
+clnt.api.remove_image_from_container(image, container)
diff --git a/docs/labs/lab04-container-management/rename_container.py b/docs/labs/lab04-container-management/rename_container.py
new file mode 100644
index 0000000..74f4562
--- /dev/null
+++ b/docs/labs/lab04-container-management/rename_container.py
@@ -0,0 +1,32 @@
+from cvprac.cvp_client import CvpClient
+import ssl
+ssl._create_default_https_context = ssl._create_unverified_context
+import requests.packages.urllib3
+requests.packages.urllib3.disable_warnings()
+
+# Create connection to CloudVision
+clnt = CvpClient()
+clnt.connect(['cvp1'],'username', 'password')
+oldName = "test"
+newName = "test121"
+
+container_id = clnt.api.get_container_by_name(oldName)['key']
+
+data = {"data":[{"info": "Container {} renamed from {}".format(newName, oldName),
+ "infoPreview": "Container {} renamed from {}".format(newName, oldName),
+ "action": "update",
+ "nodeType": "container",
+ "nodeId": container_id,
+ "toId":"",
+ "fromId":"",
+ "nodeName": newName,
+ "fromName": "",
+ "toName": "",
+ "toIdType": "container",
+ "oldNodeName": oldName
+ }
+ ]
+ }
+
+clnt.api._add_temp_action(data)
+clnt.api._save_topology_v2([])