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" VPCIDResourceFormat = "network/interfaces/macs/%s/vpc-id" SubnetIDResourceFormat = "network/interfaces/macs/%s/subnet-id" InstanceIDResource = "instance-id" PublicIPv4Resource = "public-ipv4" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶ added in v1.22.0
type Client interface {
CreateTags(input *ec2sdk.CreateTagsInput) (*ec2sdk.CreateTagsOutput, error)
DescribeECSTagsForInstance(instanceID string) ([]*ecs.Tag, error)
}
func NewClientImpl ¶ added in v1.22.0
type ClientImpl ¶ added in v1.22.0
type ClientImpl struct {
// contains filtered or unexported fields
}
func (*ClientImpl) CreateTags ¶ added in v1.22.0
func (c *ClientImpl) CreateTags(input *ec2sdk.CreateTagsInput) (*ec2sdk.CreateTagsOutput, error)
func (*ClientImpl) DescribeECSTagsForInstance ¶ added in v1.22.0
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 ¶ added in v1.22.0
func (c *ClientImpl) SetClientSDK(sdk ClientSDK)
SetSDK overrides the SDK to the given one. This is useful for injecting a test implementation
type ClientSDK ¶ added in v1.22.0
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)
InstanceID() (string, error)
GetUserData() (string, error)
Region() (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 ¶ added in v1.14.5
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 ¶ added in v1.14.5
func NewMetadataError(statusCode int) *MetadataError
NewMetadataError returns a new MetadataError object
func (*MetadataError) Error ¶ added in v1.14.5
func (err *MetadataError) Error() string
Error returns the error string
func (*MetadataError) GetStatusCode ¶ added in v1.14.5
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