Documentation ¶
Index ¶
Constants ¶
const ( // InstanceMaxTagsNum is the maximum number of tags that an instance can have. InstanceMaxTagsNum = 50 ResourceIDFilterName = "resource-id" ResourceTypeFilterName = "resource-type" ResourceTypeFilterValueInstance = "instance" )
const ( SecurityCrednetialsResource = "iam/security-credentials/" InstanceIdentityDocumentResource = "instance-identity/document" InstanceIdentityDocumentSignatureResource = "instance-identity/signature" MacResource = "mac" AllMacResource = "network/interfaces/macs" VPCIDResourceFormat = "network/interfaces/macs/%s/vpc-id" SubnetIDResourceFormat = "network/interfaces/macs/%s/subnet-id" InstanceIDResource = "instance-id" PrivateIPv4Resource = "local-ipv4" PublicIPv4Resource = "public-ipv4" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client interface { CreateTags(input *ec2sdk.CreateTagsInput) (*ec2sdk.CreateTagsOutput, error) DescribeECSTagsForInstance(instanceID string) ([]*ecs.Tag, error) }
func NewClientImpl ¶
type ClientImpl ¶
type ClientImpl struct {
// contains filtered or unexported fields
}
func (*ClientImpl) CreateTags ¶
func (c *ClientImpl) CreateTags(input *ec2sdk.CreateTagsInput) (*ec2sdk.CreateTagsOutput, error)
func (*ClientImpl) DescribeECSTagsForInstance ¶
func (c *ClientImpl) DescribeECSTagsForInstance(instanceID string) ([]*ecs.Tag, error)
DescribeECSTagsForInstance calls DescribeTags API to get the EC2 tags of the instance id, and return it back as ECS tags
func (*ClientImpl) SetClientSDK ¶
func (c *ClientImpl) SetClientSDK(sdk ClientSDK)
SetSDK overrides the SDK to the given one. This is useful for injecting a test implementation
type ClientSDK ¶
type ClientSDK interface { CreateTags(input *ec2sdk.CreateTagsInput) (*ec2sdk.CreateTagsOutput, error) DescribeTags(input *ec2sdk.DescribeTagsInput) (*ec2sdk.DescribeTagsOutput, error) }
type EC2MetadataClient ¶
type EC2MetadataClient interface { DefaultCredentials() (*RoleCredentials, error) GetMetadata(string) (string, error) GetDynamicData(string) (string, error) InstanceIdentityDocument() (ec2metadata.EC2InstanceIdentityDocument, error) VPCID(mac string) (string, error) SubnetID(mac string) (string, error) PrimaryENIMAC() (string, error) AllENIMacs() (string, error) InstanceID() (string, error) GetUserData() (string, error) Region() (string, error) PrivateIPv4Address() (string, error) PublicIPv4Address() (string, error) }
EC2MetadataClient is the client used to get metadata from instance metadata service
func NewBlackholeEC2MetadataClient ¶ added in v1.5.0
func NewBlackholeEC2MetadataClient() EC2MetadataClient
func NewEC2MetadataClient ¶
func NewEC2MetadataClient(client HttpClient) EC2MetadataClient
NewEC2MetadataClient creates an ec2metadata client to retrieve metadata
type HttpClient ¶
type MetadataError ¶
type MetadataError struct {
// contains filtered or unexported fields
}
MetadataError is used to encapsulate the error returned because of non OK HTTP status codes in the response when querying the Instance Metadata Service
func NewMetadataError ¶
func NewMetadataError(statusCode int) *MetadataError
NewMetadataError returns a new MetadataError object
func (*MetadataError) Error ¶
func (err *MetadataError) Error() string
Error returns the error string
func (*MetadataError) GetStatusCode ¶
func (err *MetadataError) GetStatusCode() int
GetStatusCode returns the http status code for the error from metadata
type RoleCredentials ¶
type RoleCredentials struct { Code string `json:"Code"` LastUpdated time.Time `json:"LastUpdated"` Type string `json:"Type"` AccessKeyId string `json:"AccessKeyId"` SecretAccessKey string `json:"SecretAccessKey"` Token string `json:"Token"` Expiration time.Time `json:"Expiration"` }
RoleCredentials contains the information associated with an IAM role