ec2metadata

package
v2.0.0-preview.4+incom... Latest Latest
Warning

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

Go to latest
Published: May 26, 2018 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Overview

Package ec2metadata provides the client for making API calls to the EC2 Metadata service.

This package's client can be disabled completely by setting the environment variable "AWS_EC2_METADATA_DISABLED=true". This environment variable set to true instructs the SDK to disable the EC2 Metadata client. The client cannot be used while the environemnt variable is set to true, (case insensitive).

Index

Constants

View Source
const ServiceName = "ec2metadata"

ServiceName is the name of the service.

Variables

This section is empty.

Functions

This section is empty.

Types

type EC2IAMInfo

type EC2IAMInfo struct {
	Code               string
	LastUpdated        time.Time
	InstanceProfileArn string
	InstanceProfileID  string
}

An EC2IAMInfo provides the shape for unmarshaling an IAM info from the metadata API

type EC2InstanceIdentityDocument

type EC2InstanceIdentityDocument struct {
	DevpayProductCodes []string  `json:"devpayProductCodes"`
	AvailabilityZone   string    `json:"availabilityZone"`
	PrivateIP          string    `json:"privateIp"`
	Version            string    `json:"version"`
	Region             string    `json:"region"`
	InstanceID         string    `json:"instanceId"`
	BillingProducts    []string  `json:"billingProducts"`
	InstanceType       string    `json:"instanceType"`
	AccountID          string    `json:"accountId"`
	PendingTime        time.Time `json:"pendingTime"`
	ImageID            string    `json:"imageId"`
	KernelID           string    `json:"kernelId"`
	RamdiskID          string    `json:"ramdiskId"`
	Architecture       string    `json:"architecture"`
}

An EC2InstanceIdentityDocument provides the shape for unmarshaling an instance identity document

type EC2Metadata

type EC2Metadata struct {
	*aws.Client
}

A EC2Metadata is an EC2 Metadata service Client.

func New

func New(config aws.Config) *EC2Metadata

New creates a new instance of the EC2Metadata client with a Config. This client is safe to use across multiple goroutines.

Example:

// Create a EC2Metadata client from just a config.
svc := ec2metadata.New(cfg)

func (*EC2Metadata) Available

func (c *EC2Metadata) Available() bool

Available returns if the application has access to the EC2 Metadata service. Can be used to determine if application is running within an EC2 Instance and the metadata service is available.

func (*EC2Metadata) GetDynamicData

func (c *EC2Metadata) GetDynamicData(p string) (string, error)

GetDynamicData uses the path provided to request information from the EC2 instance metadata service for dynamic data. The content will be returned as a string, or error if the request failed.

func (*EC2Metadata) GetInstanceIdentityDocument

func (c *EC2Metadata) GetInstanceIdentityDocument() (EC2InstanceIdentityDocument, error)

GetInstanceIdentityDocument retrieves an identity document describing an instance. Error is returned if the request fails or is unable to parse the response.

func (*EC2Metadata) GetMetadata

func (c *EC2Metadata) GetMetadata(p string) (string, error)

GetMetadata uses the path provided to request information from the EC2 instance metdata service. The content will be returned as a string, or error if the request failed.

func (*EC2Metadata) GetUserData

func (c *EC2Metadata) GetUserData() (string, error)

GetUserData returns the userdata that was configured for the service. If there is no user-data setup for the EC2 instance a "NotFoundError" error code will be returned.

func (*EC2Metadata) IAMInfo

func (c *EC2Metadata) IAMInfo() (EC2IAMInfo, error)

IAMInfo retrieves IAM info from the metadata API

func (*EC2Metadata) Region

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

Region returns the region the instance is running in.

Jump to

Keyboard shortcuts

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