Documentation

Overview

    Package imds provides the API client for interacting with the Amazon EC2 Instance Metadata Service.

    See the EC2 IMDS user guide for more information on using the API. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html

    Index

    Constants

    View Source
    const ServiceID = "ec2imds"

      ServiceID provides the unique name of this API client

      Variables

      This section is empty.

      Functions

      func WithAPIOptions

      func WithAPIOptions(optFns ...func(*middleware.Stack) error) func(*Options)

        WithAPIOptions wraps the API middleware functions, as a functional option for the API Client Options. Use this helper to add additional functional options to the API client, or operation calls.

        Types

        type Client

        type Client struct {
        	// contains filtered or unexported fields
        }

          Client provides the API client for interacting with the Amazon EC2 Instance Metadata Service API.

          func New

          func New(options Options, optFns ...func(*Options)) *Client

            New returns an initialized Client based on the functional options. Provide additional functional options to further configure the behavior of the client, such as changing the client's endpoint or adding custom middleware behavior.

            func NewFromConfig

            func NewFromConfig(cfg aws.Config, optFns ...func(*Options)) *Client

              NewFromConfig returns an initialized Client based the AWS SDK config, and functional options. Provide additional functional options to further configure the behavior of the client, such as changing the client's endpoint or adding custom middleware behavior.

              func (*Client) GetDynamicData

              func (c *Client) GetDynamicData(ctx context.Context, params *GetDynamicDataInput, optFns ...func(*Options)) (*GetDynamicDataOutput, 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 (*Client) GetIAMInfo

                func (c *Client) GetIAMInfo(
                	ctx context.Context, params *GetIAMInfoInput, optFns ...func(*Options),
                ) (
                	*GetIAMInfoOutput, error,
                )

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

                  func (*Client) GetInstanceIdentityDocument

                  func (c *Client) GetInstanceIdentityDocument(
                  	ctx context.Context, params *GetInstanceIdentityDocumentInput, optFns ...func(*Options),
                  ) (
                  	*GetInstanceIdentityDocumentOutput, error,
                  )

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

                    func (*Client) GetMetadata

                    func (c *Client) GetMetadata(ctx context.Context, params *GetMetadataInput, optFns ...func(*Options)) (*GetMetadataOutput, error)

                      GetMetadata uses the path provided to request information from the Amazon EC2 Instance Metadata Service. The content will be returned as a string, or error if the request failed.

                      func (*Client) GetRegion

                      func (c *Client) GetRegion(
                      	ctx context.Context, params *GetRegionInput, optFns ...func(*Options),
                      ) (
                      	*GetRegionOutput, error,
                      )

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

                        func (*Client) GetUserData

                        func (c *Client) GetUserData(ctx context.Context, params *GetUserDataInput, optFns ...func(*Options)) (*GetUserDataOutput, error)

                          GetUserData 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.

                          type ClientEnableState

                          type ClientEnableState uint

                            ClientEnableState provides an enumeration if the client is enabled, disabled, or default behavior.

                            const (
                            	ClientDefaultEnableState ClientEnableState = iota // default behavior
                            	ClientDisabled                                    // client disabled
                            	ClientEnabled                                     // client enabled
                            )

                              Enumeration values for ClientEnableState

                              type GetDynamicDataInput

                              type GetDynamicDataInput struct {
                              	// The relative dynamic data path to retrieve. Can be empty string to
                              	// retrieve a response containing a new line separated list of dynamic data
                              	// resources available.
                              	//
                              	// Must not include the dynamic data base path.
                              	//
                              	// May include leading slash. If Path includes trailing slash the trailing
                              	// slash will be included in the request for the resource.
                              	Path string
                              }

                                GetDynamicDataInput provides the input parameters for the GetDynamicData operation.

                                type GetDynamicDataOutput

                                type GetDynamicDataOutput struct {
                                	Content io.ReadCloser
                                
                                	ResultMetadata middleware.Metadata
                                }

                                  GetDynamicDataOutput provides the output parameters for the GetDynamicData operation.

                                  type GetIAMInfoInput

                                  type GetIAMInfoInput struct{}

                                    GetIAMInfoInput provides the input parameters for GetIAMInfo operation.

                                    type GetIAMInfoOutput

                                    type GetIAMInfoOutput struct {
                                    	IAMInfo
                                    
                                    	ResultMetadata middleware.Metadata
                                    }

                                      GetIAMInfoOutput provides the output parameters for GetIAMInfo operation.

                                      type GetInstanceIdentityDocumentInput

                                      type GetInstanceIdentityDocumentInput struct{}

                                        GetInstanceIdentityDocumentInput provides the input parameters for GetInstanceIdentityDocument operation.

                                        type GetInstanceIdentityDocumentOutput

                                        type GetInstanceIdentityDocumentOutput struct {
                                        	InstanceIdentityDocument
                                        
                                        	ResultMetadata middleware.Metadata
                                        }

                                          GetInstanceIdentityDocumentOutput provides the output parameters for GetInstanceIdentityDocument operation.

                                          type GetMetadataInput

                                          type GetMetadataInput struct {
                                          	// The relative metadata path to retrieve. Can be empty string to retrieve
                                          	// a response containing a new line separated list of metadata resources
                                          	// available.
                                          	//
                                          	// Must not include the metadata base path.
                                          	//
                                          	// May include leading slash. If Path includes trailing slash the trailing slash
                                          	// will be included in the request for the resource.
                                          	Path string
                                          }

                                            GetMetadataInput provides the input parameters for the GetMetadata operation.

                                            type GetMetadataOutput

                                            type GetMetadataOutput struct {
                                            	Content io.ReadCloser
                                            
                                            	ResultMetadata middleware.Metadata
                                            }

                                              GetMetadataOutput provides the output parameters for the GetMetadata operation.

                                              type GetRegionInput

                                              type GetRegionInput struct{}

                                                GetRegionInput provides the input parameters for GetRegion operation.

                                                type GetRegionOutput

                                                type GetRegionOutput struct {
                                                	Region string
                                                
                                                	ResultMetadata middleware.Metadata
                                                }

                                                  GetRegionOutput provides the output parameters for GetRegion operation.

                                                  type GetUserDataInput

                                                  type GetUserDataInput struct{}

                                                    GetUserDataInput provides the input parameters for the GetUserData operation.

                                                    type GetUserDataOutput

                                                    type GetUserDataOutput struct {
                                                    	Content io.ReadCloser
                                                    
                                                    	ResultMetadata middleware.Metadata
                                                    }

                                                      GetUserDataOutput provides the output parameters for the GetUserData operation.

                                                      type HTTPClient

                                                      type HTTPClient interface {
                                                      	Do(*http.Request) (*http.Response, error)
                                                      }

                                                        HTTPClient provides the interface for a client making HTTP requests with the API.

                                                        type IAMInfo

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

                                                          IAMInfo provides the shape for unmarshaling an IAM info from the metadata API.

                                                          type InstanceIdentityDocument

                                                          type InstanceIdentityDocument struct {
                                                          	DevpayProductCodes      []string  `json:"devpayProductCodes"`
                                                          	MarketplaceProductCodes []string  `json:"marketplaceProductCodes"`
                                                          	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"`
                                                          }

                                                            InstanceIdentityDocument provides the shape for unmarshaling an instance identity document

                                                            type Options

                                                            type Options struct {
                                                            	// Set of options to modify how an operation is invoked. These apply to all
                                                            	// operations invoked for this client. Use functional options on operation
                                                            	// call to modify this list for per operation behavior.
                                                            	APIOptions []func(*middleware.Stack) error
                                                            
                                                            	//
                                                            	// If unset, and the environment variable AWS_EC2_METADATA_SERVICE_ENDPOINT
                                                            	// has a value the client will use the value of the environment variable as
                                                            	// the endpoint for operation calls.
                                                            	//
                                                            	//    AWS_EC2_METADATA_SERVICE_ENDPOINT=http://[::1]
                                                            	Endpoint string
                                                            
                                                            	// The HTTP client to invoke API calls with. Defaults to client's default
                                                            	// HTTP implementation if nil.
                                                            	HTTPClient HTTPClient
                                                            
                                                            	// Retryer guides how HTTP requests should be retried in case of recoverable
                                                            	// failures. When nil the API client will use a default retryer.
                                                            	Retryer aws.Retryer
                                                            
                                                            	// Changes if the EC2 Instance Metadata client is enabled or not. Client
                                                            	// will default to enabled if not set to ClientDisabled. When the client is
                                                            	// disabled it will return an error for all operation calls.
                                                            	//
                                                            	// If ClientEnableState value is ClientDefaultEnableState (default value),
                                                            	// and the environment variable "AWS_EC2_METADATA_DISABLED" is set to
                                                            	// "true", the client will be disabled.
                                                            	//
                                                            	//    AWS_EC2_METADATA_DISABLED=true
                                                            	ClientEnableState ClientEnableState
                                                            
                                                            	// Configures the events that will be sent to the configured logger.
                                                            	ClientLogMode aws.ClientLogMode
                                                            
                                                            	// The logger writer interface to write logging messages to.
                                                            	Logger logging.Logger
                                                            	// contains filtered or unexported fields
                                                            }

                                                              Options provides the fields for configuring the API client's behavior.

                                                              func (Options) Copy

                                                              func (o Options) Copy() Options

                                                                Copy creates a copy of the API options.