Documentation ¶
Index ¶
- Constants
- type Client
- func (c *Client) AvailabilityZone() (string, error)
- func (c *Client) Hostname() (string, error)
- func (c *Client) InstanceID() (int64, error)
- func (c *Client) IsHcloudServer() bool
- func (c *Client) PrivateNetworks() (string, error)
- func (c *Client) PublicIPv4() (net.IP, error)
- func (c *Client) Region() (string, error)
- type ClientOption
Constants ¶
const Endpoint = "http://169.254.169.254/hetzner/v1/metadata"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client is a client for the Hetzner Cloud Server Metadata Endpoints.
func NewClient ¶
func NewClient(options ...ClientOption) *Client
NewClient creates a new Client with the options applied.
func (*Client) AvailabilityZone ¶
AvailabilityZone returns the datacenter of the server that did the request to the Metadata server.
func (*Client) Hostname ¶
Hostname returns the hostname of the server that did the request to the Metadata server.
func (*Client) InstanceID ¶
InstanceID returns the ID of the server that did the request to the Metadata server.
func (*Client) IsHcloudServer ¶
IsHcloudServer checks if the currently called server is a hcloud server by calling a metadata endpoint if the endpoint answers with a non-empty value this method returns true, otherwise false.
func (*Client) PrivateNetworks ¶
PrivateNetworks returns details about the private networks the server is attached to. Returns YAML (unparsed).
func (*Client) PublicIPv4 ¶
PublicIPv4 returns the Public IPv4 of the server that did the request to the Metadata server.
type ClientOption ¶
type ClientOption func(*Client)
A ClientOption is used to configure a Client.
func WithEndpoint ¶
func WithEndpoint(endpoint string) ClientOption
WithEndpoint configures a Client to use the specified Metadata API endpoint.
func WithHTTPClient ¶
func WithHTTPClient(httpClient *http.Client) ClientOption
WithHTTPClient configures a Client to perform HTTP requests with httpClient.
func WithInstrumentation ¶
func WithInstrumentation(registry prometheus.Registerer) ClientOption
WithInstrumentation configures a Client to collect metrics about the performed HTTP requests.
func WithTimeout ¶
func WithTimeout(timeout time.Duration) ClientOption
WithTimeout specifies a time limit for requests made by this Client. Defaults to 5 seconds.