Documentation ¶
Index ¶
Constants ¶
View Source
const ( // InstanceMaxTagsNum is the maximum number of tags that an instance can have. InstanceMaxTagsNum = 50 ResourceIDFilterName = "resource-id" ResourceTypeFilterName = "resource-type" ResourceTypeFilterValueInstance = "instance" )
View Source
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" OutpostARN = "outpost-arn" )
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) AllENIMacs() (string, error) InstanceID() (string, error) GetUserData() (string, error) Region() (string, error) PrivateIPv4Address() (string, error) PublicIPv4Address() (string, error) SpotInstanceAction() (string, error) OutpostARN() (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 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
Source Files ¶
Click to show internal directories.
Click to hide internal directories.