github.com/gophercloud/gophercloud@v1.11.0/openstack/compute/v2/servers/doc.go (about)

     1  /*
     2  Package servers provides information and interaction with the server API
     3  resource in the OpenStack Compute service.
     4  
     5  A server is a virtual machine instance in the compute system. In order for
     6  one to be provisioned, a valid flavor and image are required.
     7  
     8  Example to List Servers
     9  
    10  	listOpts := servers.ListOpts{
    11  		AllTenants: true,
    12  	}
    13  
    14  	allPages, err := servers.ListSimple(computeClient, listOpts).AllPages()
    15  	if err != nil {
    16  		panic(err)
    17  	}
    18  
    19  	allServers, err := servers.ExtractServers(allPages)
    20  	if err != nil {
    21  		panic(err)
    22  	}
    23  
    24  	for _, server := range allServers {
    25  		fmt.Printf("%+v\n", server)
    26  	}
    27  
    28  Example to List Detail Servers
    29  
    30  	listOpts := servers.ListOpts{
    31  		AllTenants: true,
    32  	}
    33  
    34  	allPages, err := servers.List(computeClient, listOpts).AllPages()
    35  	if err != nil {
    36  		panic(err)
    37  	}
    38  
    39  	allServers, err := servers.ExtractServers(allPages)
    40  	if err != nil {
    41  		panic(err)
    42  	}
    43  
    44  	for _, server := range allServers {
    45  		fmt.Printf("%+v\n", server)
    46  	}
    47  
    48  Example to Create a Server
    49  
    50  	createOpts := servers.CreateOpts{
    51  		Name:      "server_name",
    52  		ImageRef:  "image-uuid",
    53  		FlavorRef: "flavor-uuid",
    54  	}
    55  
    56  	server, err := servers.Create(computeClient, createOpts).Extract()
    57  	if err != nil {
    58  		panic(err)
    59  	}
    60  
    61  Example to Delete a Server
    62  
    63  	serverID := "d9072956-1560-487c-97f2-18bdf65ec749"
    64  	err := servers.Delete(computeClient, serverID).ExtractErr()
    65  	if err != nil {
    66  		panic(err)
    67  	}
    68  
    69  Example to Force Delete a Server
    70  
    71  	serverID := "d9072956-1560-487c-97f2-18bdf65ec749"
    72  	err := servers.ForceDelete(computeClient, serverID).ExtractErr()
    73  	if err != nil {
    74  		panic(err)
    75  	}
    76  
    77  Example to Reboot a Server
    78  
    79  	rebootOpts := servers.RebootOpts{
    80  		Type: servers.SoftReboot,
    81  	}
    82  
    83  	serverID := "d9072956-1560-487c-97f2-18bdf65ec749"
    84  
    85  	err := servers.Reboot(computeClient, serverID, rebootOpts).ExtractErr()
    86  	if err != nil {
    87  		panic(err)
    88  	}
    89  
    90  Example to Rebuild a Server
    91  
    92  	rebuildOpts := servers.RebuildOpts{
    93  		Name:    "new_name",
    94  		ImageID: "image-uuid",
    95  	}
    96  
    97  	serverID := "d9072956-1560-487c-97f2-18bdf65ec749"
    98  
    99  	server, err := servers.Rebuilt(computeClient, serverID, rebuildOpts).Extract()
   100  	if err != nil {
   101  		panic(err)
   102  	}
   103  
   104  Example to Resize a Server
   105  
   106  	resizeOpts := servers.ResizeOpts{
   107  		FlavorRef: "flavor-uuid",
   108  	}
   109  
   110  	serverID := "d9072956-1560-487c-97f2-18bdf65ec749"
   111  
   112  	err := servers.Resize(computeClient, serverID, resizeOpts).ExtractErr()
   113  	if err != nil {
   114  		panic(err)
   115  	}
   116  
   117  	err = servers.ConfirmResize(computeClient, serverID).ExtractErr()
   118  	if err != nil {
   119  		panic(err)
   120  	}
   121  
   122  Example to Snapshot a Server
   123  
   124  	snapshotOpts := servers.CreateImageOpts{
   125  		Name: "snapshot_name",
   126  	}
   127  
   128  	serverID := "d9072956-1560-487c-97f2-18bdf65ec749"
   129  
   130  	image, err := servers.CreateImage(computeClient, serverID, snapshotOpts).ExtractImageID()
   131  	if err != nil {
   132  		panic(err)
   133  	}
   134  */
   135  package servers