// print details of a cloud block storage snapshots to stdout func Show(c *cli.Context) { // assign vars from cli args user := c.String("user") key := c.String("key") region := c.String("region") snapshotId := c.Args().First() if c.String("uuid") != "" { snapshotId = c.String("uuid") } // step 1, set up auth options ao := gophercloud.AuthOptions{ Username: user, APIKey: key, } // step 2, rax auth to get back provider instance provider, err := rackspace.AuthenticatedClient(ao) if err != nil { fmt.Println(err) } // set rax region serviceClient, err2 := rackspace.NewBlockStorageV1(provider, gophercloud.EndpointOpts{ Region: region, }) if err2 != nil { fmt.Println(err2) } s, err3 := snapshots.Get(serviceClient, snapshotId).Extract() if err3 != nil { fmt.Println(err3) } fmt.Println("Name: ", s.Name) fmt.Println("ID: ", s.ID) fmt.Println("Size: ", s.Size) fmt.Println("Status: ", s.Status) fmt.Println("Progress: ", s.Progress) fmt.Println("Parent: ", s.VolumeID) fmt.Println("Created: ", s.CreatedAt) fmt.Println("\n") }
func testSnapshotGet(t *testing.T, client *gophercloud.ServiceClient, id string) { _, err := snapshots.Get(client, id).Extract() th.AssertNoErr(t, err) }