/* List all Devices */ func listDevices(svc *devicefarm.DeviceFarm) { input := &devicefarm.ListDevicesInput{} resp, err := svc.ListDevices(input) failOnErr(err, "error listing devices") fmt.Println(awsutil.Prettify(resp)) }
/* List all Devices */ func listDevices(svc *devicefarm.DeviceFarm) { input := &devicefarm.ListDevicesInput{} resp, err := svc.ListDevices(input) failOnErr(err, "error listing devices") //fmt.Println(awsutil.Prettify(resp)) table := tablewriter.NewWriter(os.Stdout) table.SetHeader([]string{"Name", "Os", "Platform", "Form", "Arn"}) table.SetAlignment(tablewriter.ALIGN_LEFT) table.SetColWidth(50) for _, m := range resp.Devices { line := []string{*m.Name, *m.Os, *m.Platform, *m.FormFactor, *m.Arn} table.Append(line) } table.Render() // Send output /* { Arn: "arn:aws:devicefarm:us-west-2::device:A0E6E6E1059E45918208DF75B2B7EF6C", CPU: { Architecture: "ARMv7", Clock: 2265, Frequency: "MHz" }, FormFactor: "PHONE", HeapSize: 0, Image: "NA", Manufacturer: "LG", Memory: 17179869184, Model: "G2", Name: "LG G2 (Sprint)", Os: "4.2.2", Platform: "ANDROID", Resolution: { Height: 1920, Width: 1080 } } */ }
// --- internal API starts here func lookupDeviceArn(svc *devicefarm.DeviceFarm, deviceName string) (deviceArn string, err error) { input := &devicefarm.ListDevicesInput{} resp, err := svc.ListDevices(input) failOnErr(err, "error listing devices") //fmt.Println(awsutil.Prettify(resp)) devices := make(map[string]string) for _, m := range resp.Devices { key := fmt.Sprintf("%s - %s", *m.Name, *m.Os) devices[key] = *m.Arn //line := []string{*m.Name, *m.Os, *m.Platform, *m.FormFactor, *m.Arn} } arn := devices[deviceName] if arn != "" { return arn, nil } return "", errors.New("failed to find a device with name " + deviceName) }