github.com/vnpaycloud-console/gophercloud/v2@v2.0.5/openstack/blockstorage/v2/transfers/doc.go (about) 1 /* 2 Package transfers 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 := &transfers.ListOpts{ 9 // this option is available only for OpenStack cloud admin 10 AllTenants: true, 11 } 12 13 allPages, err := transfers.List(client, listOpts).AllPages(context.TODO()) 14 if err != nil { 15 panic(err) 16 } 17 18 allTransfers, err := transfers.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 := transfers.CreateOpts{ 30 VolumeID: "uuid", 31 Name: "my-volume-transfer", 32 } 33 34 transfer, err := transfers.Create(context.TODO(), 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 := transfers.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 := transfers.Accept(context.TODO(), 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 := transfers.Delete(context.TODO(), client, "transfer-uuid").ExtractErr() 61 if err != nil { 62 panic(err) 63 } 64 */ 65 package transfers