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