metadata

package
v1.33.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 18, 2022 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
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.

func (*Client) AvailabilityZone

func (c *Client) AvailabilityZone() (string, error)

AvailabilityZone returns the datacenter of the server that did the request to the Metadata server

func (*Client) Hostname

func (c *Client) Hostname() (string, error)

Hostname returns the hostname of the server that did the request to the Metadata server

func (*Client) InstanceID

func (c *Client) InstanceID() (int, error)

InstanceID returns the ID of the server that did the request to the Metadata server

func (*Client) IsHcloudServer

func (c *Client) IsHcloudServer() bool

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

func (c *Client) PrivateNetworks() (string, error)

PrivateNetworks returns details about the private networks the server is attached to Returns YAML (unparsed)

func (*Client) PublicIPv4

func (c *Client) PublicIPv4() (net.IP, error)

PublicIPv4 returns the Public IPv4 of the server that did the request to the Metadata server

func (*Client) Region

func (c *Client) Region() (string, error)

Region returns the Network Zone 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.Registry) ClientOption

WithInstrumentation configures a Client to collect metrics about the performed HTTP requests.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL