github.com/gophercloud/gophercloud@v1.11.0/openstack/blockstorage/v3/attachments/doc.go (about)

     1  /*
     2  Package attachments provides access to OpenStack Block Storage Attachment
     3  API's. Use of this package requires Cinder version 3.27 at a minimum.
     4  
     5  For more information, see:
     6  https://docs.openstack.org/api-ref/block-storage/v3/index.html#attachments
     7  
     8  Example to List Attachments
     9  
    10  	listOpts := &attachments.ListOpts{
    11  		InstanceID: "uuid",
    12  	}
    13  
    14  	client.Microversion = "3.27"
    15  	allPages, err := attachments.List(client, listOpts).AllPages()
    16  	if err != nil {
    17  		panic(err)
    18  	}
    19  
    20  	allAttachments, err := attachments.ExtractAttachments(allPages)
    21  	if err != nil {
    22  		panic(err)
    23  	}
    24  
    25  	for _, attachment := range allAttachments {
    26  		fmt.Println(attachment)
    27  	}
    28  
    29  Example to Create Attachment
    30  
    31  	createOpts := &attachments.CreateOpts{
    32  		InstanceUUID: "uuid",
    33  		VolumeUUID: "uuid"
    34  	}
    35  
    36  	client.Microversion = "3.27"
    37  	attachment, err := attachments.Create(client, createOpts).Extract()
    38  	if err != nil {
    39  		panic(err)
    40  	}
    41  
    42  	fmt.Println(attachment)
    43  
    44  Example to Get Attachment
    45  
    46  	client.Microversion = "3.27"
    47  	attachment, err := attachments.Get(client, "uuid").Extract()
    48  	if err != nil {
    49  		panic(err)
    50  	}
    51  
    52  	fmt.Println(attachment)
    53  
    54  Example to Update Attachment
    55  
    56  	opts := &attachments.UpdateOpts{
    57  		Connector: map[string]interface{}{
    58  			"mode": "ro",
    59  		}
    60  	}
    61  
    62  	client.Microversion = "3.27"
    63  	attachment, err := attachments.Update(client, "uuid", opts).Extract()
    64  	if err != nil {
    65  		panic(err)
    66  	}
    67  
    68  	fmt.Println(attachment)
    69  
    70  Example to Complete Attachment
    71  
    72  	client.Microversion = "3.44"
    73  	err := attachments.Complete(client, "uuid").ExtractErr()
    74  	if err != nil {
    75  		panic(err)
    76  	}
    77  
    78  Example to Delete Attachment
    79  
    80  	client.Microversion = "3.27"
    81  	err := attachments.Delete(client, "uuid").ExtractErr()
    82  	if err != nil {
    83  		panic(err)
    84  	}
    85  */
    86  package attachments