Performing actions on resources in the sandbox

In this article:

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])