go: cloud.google.com/go/compute/metadata Index | Files

package metadata

import "cloud.google.com/go/compute/metadata"

Package metadata provides access to Google Compute Engine (GCE) metadata and API service accounts.

This package is a wrapper around the GCE metadata service, as documented at https://developers.google.com/compute/docs/metadata.

Index

Package Files

metadata.go

func ExternalIP Uses

func ExternalIP() (string, error)

ExternalIP returns the instance's primary external (public) IP address.

func Get Uses

func Get(suffix string) (string, error)

Get returns a value from the metadata service. The suffix is appended to "http://${GCE_METADATA_HOST}/computeMetadata/v1/".

If the GCE_METADATA_HOST environment variable is not defined, a default of 169.254.169.254 will be used instead.

If the requested metadata is not defined, the returned error will be of type NotDefinedError.

func Hostname Uses

func Hostname() (string, error)

Hostname returns the instance's hostname. This will be of the form "<instanceID>.c.<projID>.internal".

func InstanceAttributeValue Uses

func InstanceAttributeValue(attr string) (string, error)

InstanceAttributeValue returns the value of the provided VM instance attribute.

If the requested attribute is not defined, the returned error will be of type NotDefinedError.

InstanceAttributeValue may return ("", nil) if the attribute was defined to be the empty string.

func InstanceAttributes Uses

func InstanceAttributes() ([]string, error)

InstanceAttributes returns the list of user-defined attributes, assigned when initially creating a GCE VM instance. The value of an attribute can be obtained with InstanceAttributeValue.

func InstanceID Uses

func InstanceID() (string, error)

InstanceID returns the current VM's numeric instance ID.

func InstanceName Uses

func InstanceName() (string, error)

InstanceName returns the current VM's instance ID string.

func InstanceTags Uses

func InstanceTags() ([]string, error)

InstanceTags returns the list of user-defined instance tags, assigned when initially creating a GCE instance.

func InternalIP Uses

func InternalIP() (string, error)

InternalIP returns the instance's primary internal IP address.

func NumericProjectID Uses

func NumericProjectID() (string, error)

NumericProjectID returns the current instance's numeric project ID.

func OnGCE Uses

func OnGCE() bool

OnGCE reports whether this process is running on Google Compute Engine.

func ProjectAttributeValue Uses

func ProjectAttributeValue(attr string) (string, error)

ProjectAttributeValue returns the value of the provided project attribute.

If the requested attribute is not defined, the returned error will be of type NotDefinedError.

ProjectAttributeValue may return ("", nil) if the attribute was defined to be the empty string.

func ProjectAttributes Uses

func ProjectAttributes() ([]string, error)

ProjectAttributes returns the list of user-defined attributes applying to the project as a whole, not just this VM. The value of an attribute can be obtained with ProjectAttributeValue.

func ProjectID Uses

func ProjectID() (string, error)

ProjectID returns the current instance's project ID string.

func Scopes Uses

func Scopes(serviceAccount string) ([]string, error)

Scopes returns the service account scopes for the given account. The account may be empty or the string "default" to use the instance's main account.

func Subscribe Uses

func Subscribe(suffix string, fn func(v string, ok bool) error) error

Subscribe subscribes to a value from the metadata service. The suffix is appended to "http://${GCE_METADATA_HOST}/computeMetadata/v1/". The suffix may contain query parameters.

Subscribe calls fn with the latest metadata value indicated by the provided suffix. If the metadata value is deleted, fn is called with the empty string and ok false. Subscribe blocks until fn returns a non-nil error or the value is deleted. Subscribe returns the error value returned from the last call to fn, which may be nil when ok == false.

func Zone Uses

func Zone() (string, error)

Zone returns the current VM's zone, such as "us-central1-b".

type NotDefinedError Uses

type NotDefinedError string

NotDefinedError is returned when requested metadata is not defined.

The underlying string is the suffix after "/computeMetadata/v1/".

This error is not returned if the value is defined to be the empty string.

func (NotDefinedError) Error Uses

func (suffix NotDefinedError) Error() string

Package metadata imports 13 packages (graph) and is imported by 132 packages. Updated 2017-12-11. Refresh now. Tools for package owners.