github.com/gophercloud/gophercloud@v1.11.0/openstack/blockstorage/extensions/volumetransfers/doc.go (about) 1 /* 2 Package volumetransfers provides an interaction with volume transfers in the 3 OpenStack Block Storage service. A volume transfer allows to transfer volumes 4 between projects withing the same OpenStack region. 5 6 Example to List all Volume Transfer requests being an OpenStack admin 7 8 listOpts := &volumetransfers.ListOpts{ 9 // this option is available only for OpenStack cloud admin 10 AllTenants: true, 11 } 12 13 allPages, err := volumetransfers.List(client, listOpts).AllPages() 14 if err != nil { 15 panic(err) 16 } 17 18 allTransfers, err := volumetransfers.ExtractTransfers(allPages) 19 if err != nil { 20 panic(err) 21 } 22 23 for _, transfer := range allTransfers { 24 fmt.Println(transfer) 25 } 26 27 Example to Create a Volume Transfer request 28 29 createOpts := volumetransfers.CreateOpts{ 30 VolumeID: "uuid", 31 Name: "my-volume-transfer", 32 } 33 34 transfer, err := volumetransfers.Create(client, createOpts).Extract() 35 if err != nil { 36 panic(err) 37 } 38 39 fmt.Println(transfer) 40 // secret auth key is returned only once as a create response 41 fmt.Printf("AuthKey: %s\n", transfer.AuthKey) 42 43 Example to Accept a Volume Transfer request from the target project 44 45 acceptOpts := volumetransfers.AcceptOpts{ 46 // see the create response above 47 AuthKey: "volume-transfer-secret-auth-key", 48 } 49 50 // see the transfer ID from the create response above 51 transfer, err := volumetransfers.Accept(client, "transfer-uuid", acceptOpts).Extract() 52 if err != nil { 53 panic(err) 54 } 55 56 fmt.Println(transfer) 57 58 Example to Delete a Volume Transfer request from the source project 59 60 err := volumetransfers.Delete(client, "transfer-uuid").ExtractErr() 61 if err != nil { 62 panic(err) 63 } 64 */ 65 package volumetransfers