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