Documentation

Overview

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

    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 unmarshalling 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 unmarshalling an instance identity document

          type EC2Metadata

          type EC2Metadata struct {
          	*client.Client
          }

            A EC2Metadata is an EC2 Metadata service Client.

            func New

            func New(p client.ConfigProvider, cfgs ...*aws.Config) *EC2Metadata

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

              Example:

              // Create a EC2Metadata client from just a session.
              svc := ec2metadata.New(mySession)
              
              // Create a EC2Metadata client with additional configuration
              svc := ec2metadata.New(mySession, aws.NewConfig().WithLogLevel(aws.LogDebugHTTPBody))
              

              func NewClient

              func NewClient(cfg aws.Config, handlers request.Handlers, endpoint, signingRegion string, opts ...func(*client.Client)) *EC2Metadata

                NewClient returns a new EC2Metadata client. Should be used to create a client when not using a session. Generally using just New with a session is preferred.

                If an unmodified HTTP client is provided from the stdlib default, or no client the EC2RoleProvider's EC2Metadata HTTP client's timeout will be shortened. To disable this set Config.EC2MetadataDisableTimeoutOverride to false. Enabled by default.

                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.

                              Source Files