def change_attribute(edit_app_object, attribute_name, attribute_value): ''' :param str attribute_name: :param ApiEditAppRequest edit_app_object: :return: ''' for attribute in edit_app_object.AppDetails.Attributes: if attribute_name == attribute.Name or '{0}.{1}'.format(edit_app_object.AppDetails.ModelName, attribute_name) == attribute.Name: attribute.Value = attribute_value print 'replaced password for app {}'.format(edit_app_object.Name) return edit_app_object all_apps = session.GetReservationDetails(res_id).ReservationDescription.Apps app_names = [app.Name for app in all_apps] all_app_get_objects = session.GetAppsDetailsInReservation( reservationId=res_id, appNames=app_names ) for app in all_app_get_objects.Apps: converted_object = convert_get_to_set_app(app) changed_converted_object = change_attribute(converted_object, 'Password', 'abcd12342314') session.EditAppsInReservation( reservationId=res_id, editAppsRequests=[changed_converted_object] ) qq = session.GetAppsDetailsInReservation( reservationId=res_id, appNames=app_names ) pass
from cloudshell.api.cloudshell_api import InputNameValue, CloudShellAPISession, AppConfiguration, ConfigParam session = CloudShellAPISession("localhost", "admin", "admin", "Global") res_id = "260b3f80-14bd-4cc2-975c-6ab21a12ac28" res_details = session.GetReservationDetails(res_id).ReservationDescription x = session.GetAppsDetailsInReservation(res_id, ["Linux Ubuntu Tiny"]) params = [ConfigParam("key", "value")] app_configs = [AppConfiguration(AppName="asdf", ConfigParams=params)] session.ConfigureApps(reservationId=res_id, appConfigurations=app_configs) res_details_after_config = session.GetReservationDetails( res_id).ReservationDescription