def launch_workstations()

in lambda/launcher/workstation_launcher.py [0:0]


    def launch_workstations(self) -> None:
        configs = self.get_all_configs_to_launch()

        if len(configs) == 0:
            print("No workstations to launch at this time")
            return

        for config in configs:
            try:
                response = self.nimble_client.create_streaming_session(
                    clientToken=self.generate_client_token_for_create_session(config.user_id),
                    ec2InstanceType=config.instance_type,
                    launchProfileId=config.launch_profile,
                    ownedBy=config.user_id,
                    streamingImageId=config.streaming_image_id,
                    studioId=config.studio_id,
                    tags={
                        'NimbleStudioAutoWorkstationSchedulerLaunched': 'true',
                        'WorkstationOwnedBy': config.user_id,
                        'WorkstationTargetLaunchTimeUTC': self.time_manager.get_target_launch_time()
                    }
                )
                print(f"Launched session for user {config.user_id} with session ID {response['session']['sessionId']}")
            except Exception as e:
                print(f"Error launching session for user {config.user_id}: {e}")