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" SpotInstanceActionResource = "spot/instance-action" 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) SpotInstanceAction() (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