Documentation
¶
Overview ¶
Package extendedserverattributes provides the ability to extend a server result with the extended usage information.
Example to Get basic extended information:
type serverAttributesExt struct {
servers.Server
extendedserverattributes.ServerAttributesExt
}
var serverWithAttributesExt serverAttributesExt
err := servers.Get(computeClient, "d650a0ce-17c3-497d-961a-43c4af80998a").ExtractInto(&serverWithAttributesExt)
if err != nil {
panic(err)
}
fmt.Printf("%+v\n", serverWithAttributesExt)
Example to get additional fields with microversion 2.3 or later
computeClient.Microversion = "2.3"
result := servers.Get(computeClient, "d650a0ce-17c3-497d-961a-43c4af80998a")
reservationID, err := extendedserverattributes.ExtractReservationID(result.Result)
if err != nil {
panic(err)
}
fmt.Printf("%s\n", reservationID)
launchIndex, err := extendedserverattributes.ExtractLaunchIndex(result.Result)
if err != nil {
panic(err)
}
fmt.Printf("%d\n", launchIndex)
ramdiskID, err := extendedserverattributes.ExtractRamdiskID(result.Result)
if err != nil {
panic(err)
}
fmt.Printf("%s\n", ramdiskID)
kernelID, err := extendedserverattributes.ExtractKernelID(result.Result)
if err != nil {
panic(err)
}
fmt.Printf("%s\n", kernelID)
hostname, err := extendedserverattributes.ExtractHostname(result.Result)
if err != nil {
panic(err)
}
fmt.Printf("%s\n", hostname)
rootDeviceName, err := extendedserverattributes.ExtractRootDeviceName(result.Result)
if err != nil {
panic(err)
}
fmt.Printf("%s\n", rootDeviceName)
userData, err := extendedserverattributes.ExtractUserData(result.Result)
if err != nil {
panic(err)
}
fmt.Printf("%s\n", userData)
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ServerAttributesExt ¶
type ServerAttributesExt struct {
// Host is the host/hypervisor that the instance is hosted on.
Host string `json:"OS-EXT-SRV-ATTR:host"`
// InstanceName is the name of the instance.
InstanceName string `json:"OS-EXT-SRV-ATTR:instance_name"`
// HypervisorHostname is the hostname of the host/hypervisor that the
// instance is hosted on.
HypervisorHostname string `json:"OS-EXT-SRV-ATTR:hypervisor_hostname"`
// ReservationID is the reservation ID of the instance.
// This requires microversion 2.3 or later.
ReservationID *string `json:"OS-EXT-SRV-ATTR:reservation_id"`
// LaunchIndex is the launch index of the instance.
// This requires microversion 2.3 or later.
LaunchIndex *int `json:"OS-EXT-SRV-ATTR:launch_index"`
// RAMDiskID is the ID of the RAM disk image of the instance.
// This requires microversion 2.3 or later.
RAMDiskID *string `json:"OS-EXT-SRV-ATTR:ramdisk_id"`
// KernelID is the ID of the kernel image of the instance.
// This requires microversion 2.3 or later.
KernelID *string `json:"OS-EXT-SRV-ATTR:kernel_id"`
// Hostname is the hostname of the instance.
// This requires microversion 2.3 or later.
Hostname *string `json:"OS-EXT-SRV-ATTR:hostname"`
// RootDeviceName is the name of the root device of the instance.
// This requires microversion 2.3 or later.
RootDeviceName *string `json:"OS-EXT-SRV-ATTR:root_device_name"`
// Userdata is the userdata of the instance.
// This requires microversion 2.3 or later.
Userdata *string `json:"OS-EXT-SRV-ATTR:user_data"`
}
ServerAttributesExt represents basic OS-EXT-SRV-ATTR server response fields. You should use extract methods from microversions.go to retrieve additional fields.
Click to show internal directories.
Click to hide internal directories.