Skip to main content

Performing Actions on Resources in the Sandbox

Adding resources, connecting L1 routes and setting live status​

This script adds resources to the sandbox, creates L1 resource connections and sets the ‘online’ live status icon on the resources.

import time


defexecute():
from cloudshell.workflow.orchestration.sandbox import Sandbox
Sandbox = Sandbox()
Reservation_Id = Sandbox.reservationContextDetails.id

Resource_List =['PUT Mock','PUT Mock/Port 1','Traffic Mock','Traffic Mock/Port 1']

time.sleep(3)

# add resources
Sandbox.automation_api.AddResourcesToReservation(reservationId=Reservation_Id, resourcesFullPath=Resource_List)
time.sleep(1)
print""
Sandbox.automation_api.WriteMessageToReservationOutput(Reservation_Id,"resources added to sandbox")

time.sleep(3)
# set resource live status
Sandbox.automation_api.SetResourceLiveStatus('PUT Mock','Online',"Active")
Sandbox.automation_api.SetResourceLiveStatus('Traffic Mock','Online',"Active")

time.sleep(1)
Sandbox.automation_api.WriteMessageToReservationOutput(Reservation_Id,"resources are online")

time.sleep(3)
# connect L1 routes
Sandbox.automation_api.CreateRouteInReservation(reservationId=Reservation_Id,
sourceResourceFullPath='PUT Mock/Port 1',
targetResourceFullPath='Traffic Mock/Port 1',
mappingType='bi', routeAlias='API-created route')

time.sleep(1)
Sandbox.automation_api.WriteMessageToReservationOutput(Reservation_Id,"resources connected")

Connecting L2 routes​

While connecting L1 routes is done via the CreateRouteInReservation API (example above), L2 "Connector” routes are established using the SetConnectorRequest API.

import time


def execute_L2():
from cloudshell.api.cloudshell_api import SetConnectorRequest
from cloudshell.workflow.orchestration.sandbox import Sandbox
Sandbox = Sandbox()
Reservation_Id = Sandbox.reservationContextDetails.id

time.sleep(3)
connector_request = SetConnectorRequest('PUT Mock/Port 1', 'Traffic Mock/Port 1', 'bi', 'API-created route')
sandbox.automation_api.SetConnectorsInReservation(reservationId=reservation_id, connectors=[connector_request])