Documentation ¶
Overview ¶
Package aws allows to interact with resources on Amazon Web Services.
Index ¶
- Constants
- func AddTagsToResource(t *testing.T, region string, resource string, tags map[string]string)
- func AddTagsToResourceE(t *testing.T, region string, resource string, tags map[string]string) error
- func AssertS3BucketExists(t *testing.T, region string, name string)
- func AssertS3BucketExistsE(t *testing.T, region string, name string) error
- func AssertS3BucketPolicyExists(t *testing.T, region string, bucketName string)
- func AssertS3BucketPolicyExistsE(t *testing.T, region string, bucketName string) error
- func AssertS3BucketVersioningExists(t *testing.T, region string, bucketName string)
- func AssertS3BucketVersioningExistsE(t *testing.T, region string, bucketName string) error
- func AssumeRole(sess *session.Session, roleARN string) *session.Session
- func CreateAwsCredentials(accessKeyID string, secretAccessKey string) *credentials.Credentials
- func CreateAwsCredentialsWithSessionToken(accessKeyID, secretAccessKey, sessionToken string) *credentials.Credentials
- func CreateAwsSessionFromRole(region string, roleARN string) (*session.Session, error)
- func CreateAwsSessionWithCreds(region string, accessKeyID string, secretAccessKey string) (*session.Session, error)
- func CreateAwsSessionWithMfa(region string, stsClient *sts.STS, mfaDevice *iam.VirtualMFADevice) (*session.Session, error)
- func CreateEcsCluster(t *testing.T, region string, name string) *ecs.Cluster
- func CreateEcsClusterE(t *testing.T, region string, name string) (*ecs.Cluster, error)
- func CreateMfaDevice(t *testing.T, iamClient *iam.IAM, deviceName string) *iam.VirtualMFADevice
- func CreateMfaDeviceE(t *testing.T, iamClient *iam.IAM, deviceName string) (*iam.VirtualMFADevice, error)
- func CreateRandomFifoQueue(t *testing.T, awsRegion string, prefix string) string
- func CreateRandomFifoQueueE(t *testing.T, awsRegion string, prefix string) (string, error)
- func CreateRandomQueue(t *testing.T, awsRegion string, prefix string) string
- func CreateRandomQueueE(t *testing.T, awsRegion string, prefix string) (string, error)
- func CreateS3Bucket(t *testing.T, region string, name string)
- func CreateS3BucketE(t *testing.T, region string, name string) error
- func CreateSnsTopic(t *testing.T, region string, snsTopicName string) string
- func CreateSnsTopicE(t *testing.T, region string, snsTopicName string) (string, error)
- func DeleteAmi(t *testing.T, region string, imageID string)
- func DeleteAmiAndAllSnapshots(t *testing.T, region string, ami string)
- func DeleteAmiAndAllSnapshotsE(t *testing.T, region string, ami string) error
- func DeleteAmiE(t *testing.T, region string, imageID string) error
- func DeleteEC2KeyPair(t *testing.T, keyPair *Ec2Keypair)
- func DeleteEC2KeyPairE(t *testing.T, keyPair *Ec2Keypair) error
- func DeleteEbsSnapshot(t *testing.T, region string, snapshot string)
- func DeleteEbsSnapshotE(t *testing.T, region string, snapshot string) error
- func DeleteEcsCluster(t *testing.T, region string, cluster *ecs.Cluster)
- func DeleteEcsClusterE(t *testing.T, region string, cluster *ecs.Cluster) error
- func DeleteMessageFromQueue(t *testing.T, awsRegion string, queueURL string, receipt string)
- func DeleteMessageFromQueueE(t *testing.T, awsRegion string, queueURL string, receipt string) error
- func DeleteQueue(t *testing.T, awsRegion string, queueURL string)
- func DeleteQueueE(t *testing.T, awsRegion string, queueURL string) error
- func DeleteS3Bucket(t *testing.T, region string, name string)
- func DeleteS3BucketE(t *testing.T, region string, name string) error
- func DeleteSNSTopic(t *testing.T, region string, snsTopicArn string)
- func DeleteSNSTopicE(t *testing.T, region string, snsTopicArn string) error
- func EmptyS3Bucket(t *testing.T, region string, name string)
- func EmptyS3BucketE(t *testing.T, region string, name string) error
- func EnableMfaDevice(t *testing.T, iamClient *iam.IAM, mfaDevice *iam.VirtualMFADevice)
- func EnableMfaDeviceE(t *testing.T, iamClient *iam.IAM, mfaDevice *iam.VirtualMFADevice) error
- func FetchContentsOfFileFromAsg(t *testing.T, awsRegion string, sshUserName string, keyPair *Ec2Keypair, ...) map[string]string
- func FetchContentsOfFileFromAsgE(t *testing.T, awsRegion string, sshUserName string, keyPair *Ec2Keypair, ...) (map[string]string, error)
- func FetchContentsOfFileFromInstance(t *testing.T, awsRegion string, sshUserName string, keyPair *Ec2Keypair, ...) string
- func FetchContentsOfFileFromInstanceE(t *testing.T, awsRegion string, sshUserName string, keyPair *Ec2Keypair, ...) (string, error)
- func FetchContentsOfFilesFromAsg(t *testing.T, awsRegion string, sshUserName string, keyPair *Ec2Keypair, ...) map[string]map[string]string
- func FetchContentsOfFilesFromAsgE(t *testing.T, awsRegion string, sshUserName string, keyPair *Ec2Keypair, ...) (map[string]map[string]string, error)
- func FetchContentsOfFilesFromInstance(t *testing.T, awsRegion string, sshUserName string, keyPair *Ec2Keypair, ...) map[string]string
- func FetchContentsOfFilesFromInstanceE(t *testing.T, awsRegion string, sshUserName string, keyPair *Ec2Keypair, ...) (map[string]string, error)
- func FetchFilesFromAsgs(t *testing.T, awsRegion string, spec RemoteFileSpecification)
- func FetchFilesFromAsgsE(t *testing.T, awsRegion string, spec RemoteFileSpecification) error
- func FetchFilesFromInstance(t *testing.T, awsRegion string, sshUserName string, keyPair *Ec2Keypair, ...)
- func FetchFilesFromInstanceE(t *testing.T, awsRegion string, sshUserName string, keyPair *Ec2Keypair, ...) error
- func FindS3BucketWithTag(t *testing.T, awsRegion string, key string, value string) string
- func FindS3BucketWithTagE(t *testing.T, awsRegion string, key string, value string) (string, error)
- func FindVpcName(vpc *ec2.Vpc) string
- func GetAccountId(t *testing.T) string
- func GetAccountIdE(t *testing.T) (string, error)
- func GetAccountsWithLaunchPermissionsForAmi(t *testing.T, awsRegion string, amiID string) []string
- func GetAccountsWithLaunchPermissionsForAmiE(t *testing.T, awsRegion string, amiID string) ([]string, error)
- func GetAcmCertificateArn(t *testing.T, awsRegion string, certDomainName string) string
- func GetAcmCertificateArnE(t *testing.T, awsRegion string, certDomainName string) (string, error)
- func GetAddressOfRdsInstance(t *testing.T, dbInstanceID string, awsRegion string) string
- func GetAddressOfRdsInstanceE(t *testing.T, dbInstanceID string, awsRegion string) (string, error)
- func GetAllAwsRegions(t *testing.T) []string
- func GetAllAwsRegionsE(t *testing.T) ([]string, error)
- func GetAllParametersOfRdsInstance(t *testing.T, dbInstanceID string, awsRegion string) []*rds.Parameter
- func GetAllParametersOfRdsInstanceE(t *testing.T, dbInstanceID string, awsRegion string) ([]*rds.Parameter, error)
- func GetAmazonLinuxAmi(t *testing.T, region string) string
- func GetAmazonLinuxAmiE(t *testing.T, region string) (string, error)
- func GetAmiPubliclyAccessible(t *testing.T, awsRegion string, amiID string) bool
- func GetAmiPubliclyAccessibleE(t *testing.T, awsRegion string, amiID string) (bool, error)
- func GetAvailabilityZones(t *testing.T, region string) []string
- func GetAvailabilityZonesE(t *testing.T, region string) ([]string, error)
- func GetCentos7Ami(t *testing.T, region string) string
- func GetCentos7AmiE(t *testing.T, region string) (string, error)
- func GetCloudWatchLogEntries(t *testing.T, awsRegion string, logStreamName string, logGroupName string) []string
- func GetCloudWatchLogEntriesE(t *testing.T, awsRegion string, logStreamName string, logGroupName string) ([]string, error)
- func GetCmkArn(t *testing.T, region string, cmkID string) string
- func GetCmkArnE(t *testing.T, region string, cmkID string) (string, error)
- func GetDefaultEcsCluster(t *testing.T, region string) *ecs.Cluster
- func GetDefaultEcsClusterE(t *testing.T, region string) (*ecs.Cluster, error)
- func GetDynamoDBTable(t *testing.T, region string, tableName string) *dynamodb.TableDescription
- func GetDynamoDBTableE(t *testing.T, region string, tableName string) (*dynamodb.TableDescription, error)
- func GetDynamoDBTableTimeToLive(t *testing.T, region string, tableName string) *dynamodb.TimeToLiveDescription
- func GetDynamoDBTableTimeToLiveE(t *testing.T, region string, tableName string) (*dynamodb.TimeToLiveDescription, error)
- func GetDynamoDbTableTags(t *testing.T, region string, tableName string) []*dynamodb.Tag
- func GetDynamoDbTableTagsE(t *testing.T, region string, tableName string) ([]*dynamodb.Tag, error)
- func GetEbsSnapshotsForAmi(t *testing.T, region string, ami string) []string
- func GetEbsSnapshotsForAmiE(t *testing.T, region string, ami string) ([]string, error)
- func GetEc2InstanceIdsByFilters(t *testing.T, region string, ec2Filters map[string][]string) []string
- func GetEc2InstanceIdsByFiltersE(t *testing.T, region string, ec2Filters map[string][]string) ([]string, error)
- func GetEc2InstanceIdsByTag(t *testing.T, region string, tagName string, tagValue string) []string
- func GetEc2InstanceIdsByTagE(t *testing.T, region string, tagName string, tagValue string) ([]string, error)
- func GetEcsCluster(t *testing.T, region string, name string) *ecs.Cluster
- func GetEcsClusterE(t *testing.T, region string, name string) (*ecs.Cluster, error)
- func GetEcsOptimizedAmazonLinuxAmi(t *testing.T, region string) string
- func GetEcsOptimizedAmazonLinuxAmiE(t *testing.T, region string) (string, error)
- func GetEcsService(t *testing.T, region string, clusterName string, serviceName string) *ecs.Service
- func GetEcsServiceE(t *testing.T, region string, clusterName string, serviceName string) (*ecs.Service, error)
- func GetEcsTaskDefinition(t *testing.T, region string, taskDefinition string) *ecs.TaskDefinition
- func GetEcsTaskDefinitionE(t *testing.T, region string, taskDefinition string) (*ecs.TaskDefinition, error)
- func GetFirstTwoOctets(cidrBlock string) string
- func GetIamCurrentUserArn(t *testing.T) string
- func GetIamCurrentUserArnE(t *testing.T) (string, error)
- func GetIamCurrentUserName(t *testing.T) string
- func GetIamCurrentUserNameE(t *testing.T) (string, error)
- func GetInstanceIdsForAsg(t *testing.T, asgName string, awsRegion string) []string
- func GetInstanceIdsForAsgE(t *testing.T, asgName string, awsRegion string) ([]string, error)
- func GetLaunchPermissionsForAmiE(t *testing.T, awsRegion string, amiID string) ([]*ec2.LaunchPermission, error)
- func GetMostRecentAmiId(t *testing.T, region string, ownerId string, filters map[string][]string) string
- func GetMostRecentAmiIdE(t *testing.T, region string, ownerId string, filters map[string][]string) (string, error)
- func GetOptionGroupNameOfRdsInstance(t *testing.T, dbInstanceID string, awsRegion string) string
- func GetOptionGroupNameOfRdsInstanceE(t *testing.T, dbInstanceID string, awsRegion string) (string, error)
- func GetOptionSettingForOfRdsInstance(t *testing.T, optionName string, optionSettingName string, ...) string
- func GetOptionSettingForOfRdsInstanceE(t *testing.T, optionName string, optionSettingName string, ...) (string, error)
- func GetOptionsOfOptionGroup(t *testing.T, optionGroupName string, awsRegion string) []*rds.Option
- func GetOptionsOfOptionGroupE(t *testing.T, optionGroupName string, awsRegion string) ([]*rds.Option, error)
- func GetParameter(t *testing.T, awsRegion string, keyName string) string
- func GetParameterE(t *testing.T, awsRegion string, keyName string) (string, error)
- func GetParameterValueForParameterOfRdsInstance(t *testing.T, parameterName string, dbInstanceID string, awsRegion string) string
- func GetParameterValueForParameterOfRdsInstanceE(t *testing.T, parameterName string, dbInstanceID string, awsRegion string) (string, error)
- func GetPortOfRdsInstance(t *testing.T, dbInstanceID string, awsRegion string) int64
- func GetPortOfRdsInstanceE(t *testing.T, dbInstanceID string, awsRegion string) (int64, error)
- func GetPrivateHostnameOfEc2Instance(t *testing.T, instanceID string, awsRegion string) string
- func GetPrivateHostnameOfEc2InstanceE(t *testing.T, instanceID string, awsRegion string) (string, error)
- func GetPrivateHostnamesOfEc2Instances(t *testing.T, instanceIDs []string, awsRegion string) map[string]string
- func GetPrivateHostnamesOfEc2InstancesE(t *testing.T, instanceIDs []string, awsRegion string) (map[string]string, error)
- func GetPrivateIpOfEc2Instance(t *testing.T, instanceID string, awsRegion string) string
- func GetPrivateIpOfEc2InstanceE(t *testing.T, instanceID string, awsRegion string) (string, error)
- func GetPrivateIpsOfEc2Instances(t *testing.T, instanceIDs []string, awsRegion string) map[string]string
- func GetPrivateIpsOfEc2InstancesE(t *testing.T, instanceIDs []string, awsRegion string) (map[string]string, error)
- func GetPublicIpOfEc2Instance(t *testing.T, instanceID string, awsRegion string) string
- func GetPublicIpOfEc2InstanceE(t *testing.T, instanceID string, awsRegion string) (string, error)
- func GetPublicIpsOfEc2Instances(t *testing.T, instanceIDs []string, awsRegion string) map[string]string
- func GetPublicIpsOfEc2InstancesE(t *testing.T, instanceIDs []string, awsRegion string) (map[string]string, error)
- func GetRandomPrivateCidrBlock(routingPrefix int) string
- func GetRandomRegion(t *testing.T, approvedRegions []string, forbiddenRegions []string) string
- func GetRandomRegionE(t *testing.T, approvedRegions []string, forbiddenRegions []string) (string, error)
- func GetRandomStableRegion(t *testing.T, approvedRegions []string, forbiddenRegions []string) string
- func GetRdsInstanceDetailsE(t *testing.T, dbInstanceID string, awsRegion string) (*rds.DBInstance, error)
- func GetS3BucketPolicy(t *testing.T, awsRegion string, bucket string) string
- func GetS3BucketPolicyE(t *testing.T, awsRegion string, bucket string) (string, error)
- func GetS3BucketVersioning(t *testing.T, awsRegion string, bucket string) string
- func GetS3BucketVersioningE(t *testing.T, awsRegion string, bucket string) (string, error)
- func GetS3ObjectContents(t *testing.T, awsRegion string, bucket string, key string) string
- func GetS3ObjectContentsE(t *testing.T, awsRegion string, bucket string, key string) (string, error)
- func GetSyslogForInstance(t *testing.T, instanceID string, awsRegion string) string
- func GetSyslogForInstanceE(t *testing.T, instanceID string, region string) (string, error)
- func GetSyslogForInstancesInAsg(t *testing.T, asgName string, awsRegion string) map[string]string
- func GetSyslogForInstancesInAsgE(t *testing.T, asgName string, awsRegion string) (map[string]string, error)
- func GetTagsForEc2Instance(t *testing.T, region string, instanceID string) map[string]string
- func GetTagsForEc2InstanceE(t *testing.T, region string, instanceID string) (map[string]string, error)
- func GetTimeBasedOneTimePassword(mfaDevice *iam.VirtualMFADevice) (string, error)
- func GetUbuntu1404Ami(t *testing.T, region string) string
- func GetUbuntu1404AmiE(t *testing.T, region string) (string, error)
- func GetUbuntu1604Ami(t *testing.T, region string) string
- func GetUbuntu1604AmiE(t *testing.T, region string) (string, error)
- func GetWhetherSchemaExistsInRdsMySqlInstance(t *testing.T, dbUrl string, dbPort int64, dbUsername string, dbPassword string, ...) bool
- func GetWhetherSchemaExistsInRdsMySqlInstanceE(t *testing.T, dbUrl string, dbPort int64, dbUsername string, dbPassword string, ...) (bool, error)
- func IsPublicSubnet(t *testing.T, subnetId string, region string) bool
- func IsPublicSubnetE(t *testing.T, subnetId string, region string) (bool, error)
- func NewAcmClient(t *testing.T, region string) *acm.ACM
- func NewAcmClientE(t *testing.T, awsRegion string) (*acm.ACM, error)
- func NewAsgClient(t *testing.T, region string) *autoscaling.AutoScaling
- func NewAsgClientE(t *testing.T, region string) (*autoscaling.AutoScaling, error)
- func NewAuthenticatedSession(region string) (*session.Session, error)
- func NewAuthenticatedSessionFromDefaultCredentials(region string) (*session.Session, error)
- func NewAuthenticatedSessionFromRole(region string, roleARN string) (*session.Session, error)
- func NewCloudWatchLogsClient(t *testing.T, region string) *cloudwatchlogs.CloudWatchLogs
- func NewCloudWatchLogsClientE(t *testing.T, region string) (*cloudwatchlogs.CloudWatchLogs, error)
- func NewDynamoDBClient(t *testing.T, region string) *dynamodb.DynamoDB
- func NewDynamoDBClientE(t *testing.T, region string) (*dynamodb.DynamoDB, error)
- func NewEc2Client(t *testing.T, region string) *ec2.EC2
- func NewEc2ClientE(t *testing.T, region string) (*ec2.EC2, error)
- func NewEcsClient(t *testing.T, region string) *ecs.ECS
- func NewEcsClientE(t *testing.T, region string) (*ecs.ECS, error)
- func NewIamClient(t *testing.T, region string) *iam.IAM
- func NewIamClientE(t *testing.T, region string) (*iam.IAM, error)
- func NewKmsClient(t *testing.T, region string) *kms.KMS
- func NewKmsClientE(t *testing.T, region string) (*kms.KMS, error)
- func NewRdsClient(t *testing.T, region string) *rds.RDS
- func NewRdsClientE(t *testing.T, region string) (*rds.RDS, error)
- func NewS3Client(t *testing.T, region string) *s3.S3
- func NewS3ClientE(t *testing.T, region string) (*s3.S3, error)
- func NewS3Uploader(t *testing.T, region string) *s3manager.Uploader
- func NewS3UploaderE(t *testing.T, region string) (*s3manager.Uploader, error)
- func NewSnsClient(t *testing.T, region string) *sns.SNS
- func NewSnsClientE(t *testing.T, region string) (*sns.SNS, error)
- func NewSqsClient(t *testing.T, region string) *sqs.SQS
- func NewSqsClientE(t *testing.T, region string) (*sqs.SQS, error)
- func NewSsmClient(t *testing.T, region string) *ssm.SSM
- func NewSsmClientE(t *testing.T, region string) (*ssm.SSM, error)
- func NewStsClientE(t *testing.T, region string) (*sts.STS, error)
- func PutParameter(t *testing.T, awsRegion string, keyName string, keyDescription string, ...) int64
- func PutParameterE(t *testing.T, awsRegion string, keyName string, keyDescription string, ...) (int64, error)
- func PutS3BucketPolicy(t *testing.T, region string, bucketName string, policyJSONString string)
- func PutS3BucketPolicyE(t *testing.T, region string, bucketName string, policyJSONString string) error
- func PutS3BucketVersioning(t *testing.T, region string, bucketName string)
- func PutS3BucketVersioningE(t *testing.T, region string, bucketName string) error
- func ReadPasswordPolicyMinPasswordLength(iamClient *iam.IAM) (int, error)
- func SendMessageFifoToQueue(t *testing.T, awsRegion string, queueURL string, message string, ...)
- func SendMessageToFifoQueueE(t *testing.T, awsRegion string, queueURL string, message string, ...) error
- func SendMessageToQueue(t *testing.T, awsRegion string, queueURL string, message string)
- func SendMessageToQueueE(t *testing.T, awsRegion string, queueURL string, message string) error
- func TerminateInstance(t *testing.T, region string, instanceID string)
- func TerminateInstanceE(t *testing.T, region string, instanceID string) error
- func WaitForCapacity(t *testing.T, asgName string, region string, maxRetries int, ...)
- func WaitForCapacityE(t *testing.T, asgName string, region string, maxRetries int, ...) error
- type AsgCapacityInfo
- type AsgCapacityNotMetError
- type BucketVersioningNotEnabledError
- type CredentialsError
- type Ec2Keypair
- func CreateAndImportEC2KeyPair(t *testing.T, region string, name string) *Ec2Keypair
- func CreateAndImportEC2KeyPairE(t *testing.T, region string, name string) (*Ec2Keypair, error)
- func ImportEC2KeyPair(t *testing.T, region string, name string, keyPair *ssh.KeyPair) *Ec2Keypair
- func ImportEC2KeyPairE(t *testing.T, region string, name string, keyPair *ssh.KeyPair) (*Ec2Keypair, error)
- type HostnameForEc2InstanceNotFound
- type IpForEc2InstanceNotFound
- type NoBucketPolicyError
- type NoImagesFound
- type NotFoundError
- type OptionGroupOptionSettingForDbInstanceNotFound
- type ParameterForDbInstanceNotFound
- type QueueMessageResponse
- type ReceiveMessageTimeout
- type RemoteFileSpecification
- type Subnet
- type Vpc
- func GetDefaultVpc(t *testing.T, region string) *Vpc
- func GetDefaultVpcE(t *testing.T, region string) (*Vpc, error)
- func GetVpcById(t *testing.T, vpcId string, region string) *Vpc
- func GetVpcByIdE(t *testing.T, vpcId string, region string) (*Vpc, error)
- func GetVpcsE(t *testing.T, filters []*ec2.Filter, region string) ([]*Vpc, error)
Constants ¶
const ( CanonicalAccountId = "099720109477" CentOsAccountId = "679593333241" AmazonAccountId = "amazon" )
These are commonly used AMI account IDs.
const (
AuthAssumeRoleEnvVar = "TERRATEST_IAM_ROLE" // OS environment variable name through which Assume Role ARN may be passed for authentication
)
Variables ¶
This section is empty.
Functions ¶
func AddTagsToResource ¶
AddTagsToResource adds the tags to the given taggable AWS resource such as EC2, AMI or VPC.
func AddTagsToResourceE ¶
AddTagsToResourceE adds the tags to the given taggable AWS resource such as EC2, AMI or VPC.
func AssertS3BucketExists ¶
AssertS3BucketExists checks if the given S3 bucket exists in the given region and fail the test if it does not.
func AssertS3BucketExistsE ¶
AssertS3BucketExistsE checks if the given S3 bucket exists in the given region and return an error if it does not.
func AssertS3BucketPolicyExists ¶
AssertS3BucketPolicyExists checks if the given S3 bucket has a resource policy attached and returns an error if it does not
func AssertS3BucketPolicyExistsE ¶
AssertS3BucketPolicyExistsE checks if the given S3 bucket has a resource policy attached and returns an error if it does not
func AssertS3BucketVersioningExists ¶
AssertS3BucketVersioningExists checks if the given S3 bucket has a versioning configuration enabled and returns an error if it does not.
func AssertS3BucketVersioningExistsE ¶
AssertS3BucketVersioningExistsE checks if the given S3 bucket has a versioning configuration enabled and returns an error if it does not.
func AssumeRole ¶
AssumeRole mutates the provided session by obtaining new credentials by assuming the role provided in roleARN.
func CreateAwsCredentials ¶
func CreateAwsCredentials(accessKeyID string, secretAccessKey string) *credentials.Credentials
CreateAwsCredentials creates an AWS Credentials configuration with specific AWS credentials.
func CreateAwsCredentialsWithSessionToken ¶
func CreateAwsCredentialsWithSessionToken(accessKeyID, secretAccessKey, sessionToken string) *credentials.Credentials
CreateAwsCredentialsWithSessionToken creates an AWS Credentials configuration with temporary AWS credentials by including a session token (used for authenticating with MFA).
func CreateAwsSessionFromRole ¶
CreateAwsSessionFromRole returns a new AWS session after assuming the role whose ARN is provided in roleARN.
func CreateAwsSessionWithCreds ¶
func CreateAwsSessionWithCreds(region string, accessKeyID string, secretAccessKey string) (*session.Session, error)
CreateAwsSessionWithCreds creates a new AWS session using explicit credentials. This is useful if you want to create an IAM User dynamically and create an AWS session authenticated as the new IAM User.
func CreateAwsSessionWithMfa ¶
func CreateAwsSessionWithMfa(region string, stsClient *sts.STS, mfaDevice *iam.VirtualMFADevice) (*session.Session, error)
CreateAwsSessionWithMfa creates a new AWS session authenticated using an MFA token retrieved using the given STS client and MFA Device.
func CreateEcsCluster ¶
CreateEcsCluster creates ECS cluster in the given region under the given name.
func CreateEcsClusterE ¶
CreateEcsClusterE creates ECS cluster in the given region under the given name.
func CreateMfaDevice ¶
CreateMfaDevice creates an MFA device using the given IAM client.
func CreateMfaDeviceE ¶
func CreateMfaDeviceE(t *testing.T, iamClient *iam.IAM, deviceName string) (*iam.VirtualMFADevice, error)
CreateMfaDeviceE creates an MFA device using the given IAM client.
func CreateRandomFifoQueue ¶
CreateRandomFifoQueue creates a new FIFO SQS queue with a random name that starts with the given prefix and return the queue URL.
func CreateRandomFifoQueueE ¶
CreateRandomFifoQueueE creates a new FIFO SQS queue with a random name that starts with the given prefix and return the queue URL.
func CreateRandomQueue ¶
CreateRandomQueue creates a new SQS queue with a random name that starts with the given prefix and return the queue URL.
func CreateRandomQueueE ¶
CreateRandomQueueE creates a new SQS queue with a random name that starts with the given prefix and return the queue URL.
func CreateS3Bucket ¶
CreateS3Bucket creates an S3 bucket in the given region with the given name. Note that S3 bucket names must be globally unique.
func CreateS3BucketE ¶
CreateS3BucketE creates an S3 bucket in the given region with the given name. Note that S3 bucket names must be globally unique.
func CreateSnsTopic ¶
CreateSnsTopic creates an SNS Topic and return the ARN.
func CreateSnsTopicE ¶
CreateSnsTopicE creates an SNS Topic and return the ARN.
func DeleteAmiAndAllSnapshots ¶
DeleteAmiAndAllSnapshots will delete the given AMI along with all EBS snapshots that backed that AMI
func DeleteAmiAndAllSnapshotsE ¶
DeleteAmiAndAllSnapshotsE will delete the given AMI along with all EBS snapshots that backed that AMI
func DeleteAmiE ¶
DeleteAmiE deletes the given AMI in the given region.
func DeleteEC2KeyPair ¶
func DeleteEC2KeyPair(t *testing.T, keyPair *Ec2Keypair)
DeleteEC2KeyPair deletes an EC2 key pair.
func DeleteEC2KeyPairE ¶
func DeleteEC2KeyPairE(t *testing.T, keyPair *Ec2Keypair) error
DeleteEC2KeyPairE deletes an EC2 key pair.
func DeleteEbsSnapshot ¶
DeleteEbsSnapshot deletes the given EBS snapshot
func DeleteEbsSnapshotE ¶
DeleteEbsSnapshot deletes the given EBS snapshot
func DeleteEcsClusterE ¶
DeleteEcsClusterE deletes existing ECS cluster in the given region.
func DeleteMessageFromQueue ¶
DeleteMessageFromQueue deletes the message with the given receipt from the SQS queue with the given URL.
func DeleteMessageFromQueueE ¶
DeleteMessageFromQueueE deletes the message with the given receipt from the SQS queue with the given URL.
func DeleteQueue ¶
DeleteQueue deletes the SQS queue with the given URL.
func DeleteQueueE ¶
DeleteQueueE deletes the SQS queue with the given URL.
func DeleteS3Bucket ¶
DeleteS3Bucket destroys the S3 bucket in the given region with the given name.
func DeleteS3BucketE ¶
DeleteS3BucketE destroys the S3 bucket in the given region with the given name.
func DeleteSNSTopic ¶
DeleteSNSTopic deletes an SNS Topic.
func DeleteSNSTopicE ¶
DeleteSNSTopicE deletes an SNS Topic.
func EmptyS3Bucket ¶
EmptyS3BucketE removes the contents of an S3 bucket in the given region with the given name.
func EmptyS3BucketE ¶
EmptyS3BucketE removes the contents of an S3 bucket in the given region with the given name.
func EnableMfaDevice ¶
EnableMfaDevice enables a newly created MFA Device by supplying the first two one-time passwords, so that it can be used for future logins by the given IAM User.
func EnableMfaDeviceE ¶
EnableMfaDeviceE enables a newly created MFA Device by supplying the first two one-time passwords, so that it can be used for future logins by the given IAM User.
func FetchContentsOfFileFromAsg ¶
func FetchContentsOfFileFromAsg(t *testing.T, awsRegion string, sshUserName string, keyPair *Ec2Keypair, asgName string, useSudo bool, filePath string) map[string]string
FetchContentsOfFileFromAsg looks up the EC2 Instances in the given ASG, looks up the public IPs of those EC2 Instances, connects to each Instance via SSH using the given username and Key Pair, fetches the contents of the file at the given path (using sudo if useSudo is true), and returns a map from Instance ID to the contents of that file as a string.
func FetchContentsOfFileFromAsgE ¶
func FetchContentsOfFileFromAsgE(t *testing.T, awsRegion string, sshUserName string, keyPair *Ec2Keypair, asgName string, useSudo bool, filePath string) (map[string]string, error)
FetchContentsOfFileFromAsgE looks up the EC2 Instances in the given ASG, looks up the public IPs of those EC2 Instances, connects to each Instance via SSH using the given username and Key Pair, fetches the contents of the file at the given path (using sudo if useSudo is true), and returns a map from Instance ID to the contents of that file as a string.
func FetchContentsOfFileFromInstance ¶
func FetchContentsOfFileFromInstance(t *testing.T, awsRegion string, sshUserName string, keyPair *Ec2Keypair, instanceID string, useSudo bool, filePath string) string
FetchContentsOfFileFromInstance looks up the public IP address of the EC2 Instance with the given ID, connects to the Instance via SSH using the given username and Key Pair, fetches the contents of the file at the given path (using sudo if useSudo is true), and returns the contents of that file as a string.
func FetchContentsOfFileFromInstanceE ¶
func FetchContentsOfFileFromInstanceE(t *testing.T, awsRegion string, sshUserName string, keyPair *Ec2Keypair, instanceID string, useSudo bool, filePath string) (string, error)
FetchContentsOfFileFromInstanceE looks up the public IP address of the EC2 Instance with the given ID, connects to the Instance via SSH using the given username and Key Pair, fetches the contents of the file at the given path (using sudo if useSudo is true), and returns the contents of that file as a string.
func FetchContentsOfFilesFromAsg ¶
func FetchContentsOfFilesFromAsg(t *testing.T, awsRegion string, sshUserName string, keyPair *Ec2Keypair, asgName string, useSudo bool, filePaths ...string) map[string]map[string]string
FetchContentsOfFilesFromAsg looks up the EC2 Instances in the given ASG, looks up the public IPs of those EC2 Instances, connects to each Instance via SSH using the given username and Key Pair, fetches the contents of the files at the given paths (using sudo if useSudo is true), and returns a map from Instance ID to a map of file path to the contents of that file as a string.
func FetchContentsOfFilesFromAsgE ¶
func FetchContentsOfFilesFromAsgE(t *testing.T, awsRegion string, sshUserName string, keyPair *Ec2Keypair, asgName string, useSudo bool, filePaths ...string) (map[string]map[string]string, error)
FetchContentsOfFilesFromAsgE looks up the EC2 Instances in the given ASG, looks up the public IPs of those EC2 Instances, connects to each Instance via SSH using the given username and Key Pair, fetches the contents of the files at the given paths (using sudo if useSudo is true), and returns a map from Instance ID to a map of file path to the contents of that file as a string.
func FetchContentsOfFilesFromInstance ¶
func FetchContentsOfFilesFromInstance(t *testing.T, awsRegion string, sshUserName string, keyPair *Ec2Keypair, instanceID string, useSudo bool, filePaths ...string) map[string]string
FetchContentsOfFilesFromInstance looks up the public IP address of the EC2 Instance with the given ID, connects to the Instance via SSH using the given username and Key Pair, fetches the contents of the files at the given paths (using sudo if useSudo is true), and returns a map from file path to the contents of that file as a string.
func FetchContentsOfFilesFromInstanceE ¶
func FetchContentsOfFilesFromInstanceE(t *testing.T, awsRegion string, sshUserName string, keyPair *Ec2Keypair, instanceID string, useSudo bool, filePaths ...string) (map[string]string, error)
FetchContentsOfFilesFromInstanceE looks up the public IP address of the EC2 Instance with the given ID, connects to the Instance via SSH using the given username and Key Pair, fetches the contents of the files at the given paths (using sudo if useSudo is true), and returns a map from file path to the contents of that file as a string.
func FetchFilesFromAsgs ¶
func FetchFilesFromAsgs(t *testing.T, awsRegion string, spec RemoteFileSpecification)
FetchFilesFromAsgs looks up the EC2 Instances in all the ASGs given in the RemoteFileSpecification, looks up the public IPs of those EC2 Instances, connects to each Instance via SSH using the given username and Key Pair, downloads the files matching filenameFilters at the given remoteDirectory (using sudo if useSudo is true), and stores the files locally at localDirectory/<publicip>/<remoteFolderName>
func FetchFilesFromAsgsE ¶
func FetchFilesFromAsgsE(t *testing.T, awsRegion string, spec RemoteFileSpecification) error
FetchFilesFromAsgsE looks up the EC2 Instances in all the ASGs given in the RemoteFileSpecification, looks up the public IPs of those EC2 Instances, connects to each Instance via SSH using the given username and Key Pair, downloads the files matching filenameFilters at the given remoteDirectory (using sudo if useSudo is true), and stores the files locally at localDirectory/<publicip>/<remoteFolderName>
func FetchFilesFromInstance ¶
func FetchFilesFromInstance(t *testing.T, awsRegion string, sshUserName string, keyPair *Ec2Keypair, instanceID string, useSudo bool, remoteDirectory string, localDirectory string, filenameFilters []string)
FetchFilesFromInstance looks up the EC2 Instances in the given ASG, looks up the public IPs of those EC2 Instances, connects to each Instance via SSH using the given username and Key Pair, downloads the files matching filenameFilters at the given remoteDirectory (using sudo if useSudo is true), and stores the files locally at localDirectory/<publicip>/<remoteFolderName>
func FetchFilesFromInstanceE ¶
func FetchFilesFromInstanceE(t *testing.T, awsRegion string, sshUserName string, keyPair *Ec2Keypair, instanceID string, useSudo bool, remoteDirectory string, localDirectory string, filenameFilters []string) error
FetchFilesFromInstanceE looks up the EC2 Instances in the given ASG, looks up the public IPs of those EC2 Instances, connects to each Instance via SSH using the given username and Key Pair, downloads the files matching filenameFilters at the given remoteDirectory (using sudo if useSudo is true), and stores the files locally at localDirectory/<publicip>/<remoteFolderName>
func FindS3BucketWithTag ¶
FindS3BucketWithTag finds the name of the S3 bucket in the given region with the given tag key=value.
func FindS3BucketWithTagE ¶
FindS3BucketWithTagE finds the name of the S3 bucket in the given region with the given tag key=value.
func FindVpcName ¶
FindVpcName extracts the VPC name from its tags (if any). Fall back to "Default" if it's the default VPC or empty string otherwise.
func GetAccountId ¶
GetAccountId gets the Account ID for the currently logged in IAM User.
func GetAccountIdE ¶
GetAccountIdE gets the Account ID for the currently logged in IAM User.
func GetAccountsWithLaunchPermissionsForAmi ¶
GetAccountsWithLaunchPermissionsForAmi returns list of accounts that the AMI is shared with
func GetAccountsWithLaunchPermissionsForAmiE ¶
func GetAccountsWithLaunchPermissionsForAmiE(t *testing.T, awsRegion string, amiID string) ([]string, error)
GetAccountsWithLaunchPermissionsForAmiE returns list of accounts that the AMI is shared with
func GetAcmCertificateArn ¶
GetAcmCertificateArn gets the ACM certificate for the given domain name in the given region.
func GetAcmCertificateArnE ¶
GetAcmCertificateArnE gets the ACM certificate for the given domain name in the given region.
func GetAddressOfRdsInstance ¶
GetAddressOfRdsInstance gets the address of the given RDS Instance in the given region.
func GetAddressOfRdsInstanceE ¶
GetAddressOfRdsInstanceE gets the address of the given RDS Instance in the given region.
func GetAllAwsRegions ¶
GetAllAwsRegions gets the list of AWS regions available in this account.
func GetAllAwsRegionsE ¶
GetAllAwsRegionsE gets the list of AWS regions available in this account.
func GetAllParametersOfRdsInstance ¶
func GetAllParametersOfRdsInstance(t *testing.T, dbInstanceID string, awsRegion string) []*rds.Parameter
GetAllParametersOfRdsInstance gets all the parameters defined in the parameter group for the RDS instance in the given region.
func GetAllParametersOfRdsInstanceE ¶
func GetAllParametersOfRdsInstanceE(t *testing.T, dbInstanceID string, awsRegion string) ([]*rds.Parameter, error)
GetAllParametersOfRdsInstanceE gets all the parameters defined in the parameter group for the RDS instance in the given region.
func GetAmazonLinuxAmi ¶
GetAmazonLinuxAmi returns an Amazon Linux AMI HVM, SSD Volume Type public AMI for the given region.
func GetAmazonLinuxAmiE ¶
GetAmazonLinuxAmiE returns an Amazon Linux AMI HVM, SSD Volume Type public AMI for the given region.
func GetAmiPubliclyAccessible ¶
GetAmiPubliclyAccessible returns whether the AMI is publicly accessible or not
func GetAmiPubliclyAccessibleE ¶
GetAmiPubliclyAccessibleE returns whether the AMI is publicly accessible or not
func GetAvailabilityZones ¶
GetAvailabilityZones gets the Availability Zones for a given AWS region. Note that for certain regions (e.g. us-east-1), different AWS accounts have access to different availability zones.
func GetAvailabilityZonesE ¶
GetAvailabilityZonesE gets the Availability Zones for a given AWS region. Note that for certain regions (e.g. us-east-1), different AWS accounts have access to different availability zones.
func GetCentos7Ami ¶
GetCentos7Ami returns a CentOS 7 public AMI from the given region. WARNING: you may have to accept the terms & conditions of this AMI in AWS MarketPlace for your AWS Account before you can successfully launch the AMI.
func GetCentos7AmiE ¶
GetCentos7AmiE returns a CentOS 7 public AMI from the given region. WARNING: you may have to accept the terms & conditions of this AMI in AWS MarketPlace for your AWS Account before you can successfully launch the AMI.
func GetCloudWatchLogEntries ¶
func GetCloudWatchLogEntries(t *testing.T, awsRegion string, logStreamName string, logGroupName string) []string
GetCloudWatchLogEntries returns the CloudWatch log messages in the given region for the given log stream and log group.
func GetCloudWatchLogEntriesE ¶
func GetCloudWatchLogEntriesE(t *testing.T, awsRegion string, logStreamName string, logGroupName string) ([]string, error)
GetCloudWatchLogEntriesE returns the CloudWatch log messages in the given region for the given log stream and log group.
func GetCmkArn ¶
GetCmkArn gets the ARN of a KMS Customer Master Key (CMK) in the given region with the given ID. The ID can be an alias, such as "alias/my-cmk".
func GetCmkArnE ¶
GetCmkArnE gets the ARN of a KMS Customer Master Key (CMK) in the given region with the given ID. The ID can be an alias, such as "alias/my-cmk".
func GetDefaultEcsCluster ¶
GetDefaultEcsCluster fetches information about default ECS cluster.
func GetDefaultEcsClusterE ¶
GetDefaultEcsClusterE fetches information about default ECS cluster.
func GetDynamoDBTable ¶
GetDynamoDBTable fetches information about the specified dynamoDB table. This will fail the test if there are any errors.
func GetDynamoDBTableE ¶
func GetDynamoDBTableE(t *testing.T, region string, tableName string) (*dynamodb.TableDescription, error)
GetDynamoDBTableE fetches information about the specified dynamoDB table.
func GetDynamoDBTableTimeToLive ¶
func GetDynamoDBTableTimeToLive(t *testing.T, region string, tableName string) *dynamodb.TimeToLiveDescription
GetDynamoDBTableTimeToLive fetches information about the TTL configuration of a specified dynamoDB table. This will fail the test if there are any errors.
func GetDynamoDBTableTimeToLiveE ¶
func GetDynamoDBTableTimeToLiveE(t *testing.T, region string, tableName string) (*dynamodb.TimeToLiveDescription, error)
GetDynamoDBTableTimeToLiveE fetches information about the TTL configuration of a specified dynamoDB table.
func GetDynamoDbTableTags ¶
GetDynamoDbTableTags fetches resource tags of a specified dynamoDB table. This will fail the test if there are any errors
func GetDynamoDbTableTagsE ¶
GetDynamoDbTableTagsE fetches resource tags of a specified dynamoDB table.
func GetEbsSnapshotsForAmi ¶
GetEbsSnapshotsForAmi retrieves the EBS snapshots which back the given AMI
func GetEbsSnapshotsForAmiE ¶
GetEbsSnapshotsForAmi retrieves the EBS snapshots which back the given AMI
func GetEc2InstanceIdsByFilters ¶
func GetEc2InstanceIdsByFilters(t *testing.T, region string, ec2Filters map[string][]string) []string
GetEc2InstanceIdsByFilters returns all the IDs of EC2 instances in the given region which match to EC2 filter list as per https://docs.aws.amazon.com/sdk-for-go/api/service/ec2/#DescribeInstancesInput.
func GetEc2InstanceIdsByFiltersE ¶
func GetEc2InstanceIdsByFiltersE(t *testing.T, region string, ec2Filters map[string][]string) ([]string, error)
GetEc2InstanceIdsByFilters returns all the IDs of EC2 instances in the given region which match to EC2 filter list as per https://docs.aws.amazon.com/sdk-for-go/api/service/ec2/#DescribeInstancesInput.
func GetEc2InstanceIdsByTag ¶
GetEc2InstanceIdsByTag returns all the IDs of EC2 instances in the given region with the given tag.
func GetEc2InstanceIdsByTagE ¶
func GetEc2InstanceIdsByTagE(t *testing.T, region string, tagName string, tagValue string) ([]string, error)
GetEc2InstanceIdsByTagE returns all the IDs of EC2 instances in the given region with the given tag.
func GetEcsCluster ¶
GetEcsCluster fetches information about specified ECS cluster.
func GetEcsClusterE ¶
GetEcsClusterE fetches information about specified ECS cluster.
func GetEcsOptimizedAmazonLinuxAmi ¶
GetEcsOptimizedAmazonLinuxAmi returns an Amazon ECS-Optimized Amazon Linux AMI for the given region. This AMI is useful for running an ECS cluster.
func GetEcsOptimizedAmazonLinuxAmiE ¶
GetEcsOptimizedAmazonLinuxAmiE returns an Amazon ECS-Optimized Amazon Linux AMI for the given region. This AMI is useful for running an ECS cluster.
func GetEcsService ¶
func GetEcsService(t *testing.T, region string, clusterName string, serviceName string) *ecs.Service
GetEcsService fetches information about specified ECS service.
func GetEcsServiceE ¶
func GetEcsServiceE(t *testing.T, region string, clusterName string, serviceName string) (*ecs.Service, error)
GetEcsServiceE fetches information about specified ECS service.
func GetEcsTaskDefinition ¶
GetEcsTaskDefinition fetches information about specified ECS task definition.
func GetEcsTaskDefinitionE ¶
func GetEcsTaskDefinitionE(t *testing.T, region string, taskDefinition string) (*ecs.TaskDefinition, error)
GetEcsTaskDefinitionE fetches information about specified ECS task definition.
func GetFirstTwoOctets ¶
GetFirstTwoOctets gets the first two octets from a CIDR block.
func GetIamCurrentUserArn ¶
GetIamCurrentUserArn gets the ARN for the current IAM user.
func GetIamCurrentUserArnE ¶
GetIamCurrentUserArnE gets the ARN for the current IAM user.
func GetIamCurrentUserName ¶
GetIamCurrentUserName gets the username for the current IAM user.
func GetIamCurrentUserNameE ¶
GetIamCurrentUserNameE gets the username for the current IAM user.
func GetInstanceIdsForAsg ¶
GetInstanceIdsForAsg gets the IDs of EC2 Instances in the given ASG.
func GetInstanceIdsForAsgE ¶
GetInstanceIdsForAsgE gets the IDs of EC2 Instances in the given ASG.
func GetLaunchPermissionsForAmiE ¶
func GetLaunchPermissionsForAmiE(t *testing.T, awsRegion string, amiID string) ([]*ec2.LaunchPermission, error)
GetLaunchPermissionsForAmiE returns launchPermissions as configured in AWS
func GetMostRecentAmiId ¶
func GetMostRecentAmiId(t *testing.T, region string, ownerId string, filters map[string][]string) string
GetMostRecentAmiId gets the ID of the most recent AMI in the given region that has the given owner and matches the given filters. Each filter should correspond to the name and values of a filter supported by DescribeImagesInput: https://docs.aws.amazon.com/sdk-for-go/api/service/ec2/#DescribeImagesInput
func GetMostRecentAmiIdE ¶
func GetMostRecentAmiIdE(t *testing.T, region string, ownerId string, filters map[string][]string) (string, error)
GetMostRecentAmiIdE gets the ID of the most recent AMI in the given region that has the given owner and matches the given filters. Each filter should correspond to the name and values of a filter supported by DescribeImagesInput: https://docs.aws.amazon.com/sdk-for-go/api/service/ec2/#DescribeImagesInput
func GetOptionGroupNameOfRdsInstance ¶
GetOptionGroupNameOfRdsInstance gets the name of the option group associated with the RDS instance
func GetOptionGroupNameOfRdsInstanceE ¶
func GetOptionGroupNameOfRdsInstanceE(t *testing.T, dbInstanceID string, awsRegion string) (string, error)
GetOptionGroupNameOfRdsInstanceE gets the name of the option group associated with the RDS instance
func GetOptionSettingForOfRdsInstance ¶
func GetOptionSettingForOfRdsInstance(t *testing.T, optionName string, optionSettingName string, dbInstanceID, awsRegion string) string
GetOptionSettingForOfRdsInstance gets the value of the option name in the option group specified for the RDS instance in the given region.
func GetOptionSettingForOfRdsInstanceE ¶
func GetOptionSettingForOfRdsInstanceE(t *testing.T, optionName string, optionSettingName string, dbInstanceID, awsRegion string) (string, error)
GetOptionSettingForOfRdsInstanceE gets the value of the option name in the option group specified for the RDS instance in the given region.
func GetOptionsOfOptionGroup ¶
GetOptionsOfOptionGroup gets the options of the option group specified
func GetOptionsOfOptionGroupE ¶
func GetOptionsOfOptionGroupE(t *testing.T, optionGroupName string, awsRegion string) ([]*rds.Option, error)
GetOptionsOfOptionGroupE gets the options of the option group specified
func GetParameter ¶
GetParameter retrieves the latest version of SSM Parameter at keyName with decryption.
func GetParameterE ¶
GetParameterE retrieves the latest version of SSM Parameter at keyName with decryption.
func GetParameterValueForParameterOfRdsInstance ¶
func GetParameterValueForParameterOfRdsInstance(t *testing.T, parameterName string, dbInstanceID string, awsRegion string) string
GetParameterValueForParameterOfRdsInstance gets the value of the parameter name specified for the RDS instance in the given region.
func GetParameterValueForParameterOfRdsInstanceE ¶
func GetParameterValueForParameterOfRdsInstanceE(t *testing.T, parameterName string, dbInstanceID string, awsRegion string) (string, error)
GetParameterValueForParameterOfRdsInstanceE gets the value of the parameter name specified for the RDS instance in the given region.
func GetPortOfRdsInstance ¶
GetPortOfRdsInstance gets the address of the given RDS Instance in the given region.
func GetPortOfRdsInstanceE ¶
GetPortOfRdsInstanceE gets the address of the given RDS Instance in the given region.
func GetPrivateHostnameOfEc2Instance ¶
GetPrivateHostnameOfEc2Instance gets the private IP address of the given EC2 Instance in the given region.
func GetPrivateHostnameOfEc2InstanceE ¶
func GetPrivateHostnameOfEc2InstanceE(t *testing.T, instanceID string, awsRegion string) (string, error)
GetPrivateHostnameOfEc2InstanceE gets the private IP address of the given EC2 Instance in the given region.
func GetPrivateHostnamesOfEc2Instances ¶
func GetPrivateHostnamesOfEc2Instances(t *testing.T, instanceIDs []string, awsRegion string) map[string]string
GetPrivateHostnamesOfEc2Instances gets the private IP address of the given EC2 Instance in the given region. Returns a map of instance ID to IP address.
func GetPrivateHostnamesOfEc2InstancesE ¶
func GetPrivateHostnamesOfEc2InstancesE(t *testing.T, instanceIDs []string, awsRegion string) (map[string]string, error)
GetPrivateHostnamesOfEc2InstancesE gets the private IP address of the given EC2 Instance in the given region. Returns a map of instance ID to IP address.
func GetPrivateIpOfEc2Instance ¶
GetPrivateIpOfEc2Instance gets the private IP address of the given EC2 Instance in the given region.
func GetPrivateIpOfEc2InstanceE ¶
GetPrivateIpOfEc2InstanceE gets the private IP address of the given EC2 Instance in the given region.
func GetPrivateIpsOfEc2Instances ¶
func GetPrivateIpsOfEc2Instances(t *testing.T, instanceIDs []string, awsRegion string) map[string]string
GetPrivateIpsOfEc2Instances gets the private IP address of the given EC2 Instance in the given region. Returns a map of instance ID to IP address.
func GetPrivateIpsOfEc2InstancesE ¶
func GetPrivateIpsOfEc2InstancesE(t *testing.T, instanceIDs []string, awsRegion string) (map[string]string, error)
GetPrivateIpsOfEc2InstancesE gets the private IP address of the given EC2 Instance in the given region. Returns a map of instance ID to IP address.
func GetPublicIpOfEc2Instance ¶
GetPublicIpOfEc2Instance gets the public IP address of the given EC2 Instance in the given region.
func GetPublicIpOfEc2InstanceE ¶
GetPublicIpOfEc2InstanceE gets the public IP address of the given EC2 Instance in the given region.
func GetPublicIpsOfEc2Instances ¶
func GetPublicIpsOfEc2Instances(t *testing.T, instanceIDs []string, awsRegion string) map[string]string
GetPublicIpsOfEc2Instances gets the public IP address of the given EC2 Instance in the given region. Returns a map of instance ID to IP address.
func GetPublicIpsOfEc2InstancesE ¶
func GetPublicIpsOfEc2InstancesE(t *testing.T, instanceIDs []string, awsRegion string) (map[string]string, error)
GetPublicIpsOfEc2InstancesE gets the public IP address of the given EC2 Instance in the given region. Returns a map of instance ID to IP address.
func GetRandomPrivateCidrBlock ¶
GetRandomPrivateCidrBlock gets a random CIDR block from the range of acceptable private IP addresses per RFC 1918 (https://tools.ietf.org/html/rfc1918#section-3) The routingPrefix refers to the "/28" in 1.2.3.4/28. Note that, as written, this function will return a subset of all valid ranges. Since we will probably use this function mostly for generating random CIDR ranges for VPCs and Subnets, having comprehensive set coverage is not essential.
func GetRandomRegion ¶
GetRandomRegion gets a randomly chosen AWS region. If approvedRegions is not empty, this will be a region from the approvedRegions list; otherwise, this method will fetch the latest list of regions from the AWS APIs and pick one of those. If forbiddenRegions is not empty, this method will make sure the returned region is not in the forbiddenRegions list.
func GetRandomRegionE ¶
func GetRandomRegionE(t *testing.T, approvedRegions []string, forbiddenRegions []string) (string, error)
GetRandomRegionE gets a randomly chosen AWS region. If approvedRegions is not empty, this will be a region from the approvedRegions list; otherwise, this method will fetch the latest list of regions from the AWS APIs and pick one of those. If forbiddenRegions is not empty, this method will make sure the returned region is not in the forbiddenRegions list.
func GetRandomStableRegion ¶
func GetRandomStableRegion(t *testing.T, approvedRegions []string, forbiddenRegions []string) string
GetStableRandomRegion gets a randomly chosen AWS region that is considered stable. Like GetRandomRegion, you can further restrict the stable region list using approvedRegions and forbiddenRegions. We consider stable regions to be those that have been around for at least 1 year. Note that regions in the approvedRegions list that are not considered stable are ignored.
func GetRdsInstanceDetailsE ¶
func GetRdsInstanceDetailsE(t *testing.T, dbInstanceID string, awsRegion string) (*rds.DBInstance, error)
GetRdsInstanceDetailsE gets the details of a single DB instance whose identifier is passed.
func GetS3BucketPolicy ¶
GetS3BucketPolicy fetches the given bucket's resource policy and returns it as a string
func GetS3BucketPolicyE ¶
GetS3BucketPolicyE fetches the given bucket's resource policy and returns it as a string
func GetS3BucketVersioning ¶
GetS3BucketVersioning fetches the given bucket's versioning configuration status and returns it as a string
func GetS3BucketVersioningE ¶
GetS3BucketVersioningE fetches the given bucket's versioning configuration status and returns it as a string
func GetS3ObjectContents ¶
GetS3ObjectContents fetches the contents of the object in the given bucket with the given key and return it as a string.
func GetS3ObjectContentsE ¶
func GetS3ObjectContentsE(t *testing.T, awsRegion string, bucket string, key string) (string, error)
GetS3ObjectContentsE fetches the contents of the object in the given bucket with the given key and return it as a string.
func GetSyslogForInstance ¶
(Deprecated) See the FetchContentsOfFileFromInstance method for a more powerful solution.
GetSyslogForInstance gets the syslog for the Instance with the given ID in the given region. This should be available ~1 minute after an Instance boots and is very useful for debugging boot-time issues, such as an error in User Data.
func GetSyslogForInstanceE ¶
(Deprecated) See the FetchContentsOfFileFromInstanceE method for a more powerful solution.
GetSyslogForInstanceE gets the syslog for the Instance with the given ID in the given region. This should be available ~1 minute after an Instance boots and is very useful for debugging boot-time issues, such as an error in User Data.
func GetSyslogForInstancesInAsg ¶
(Deprecated) See the FetchContentsOfFilesFromAsg method for a more powerful solution.
GetSyslogForInstancesInAsg gets the syslog for each of the Instances in the given ASG in the given region. These logs should be available ~1 minute after the Instance boots and are very useful for debugging boot-time issues, such as an error in User Data. Returns a map of Instance Id -> Syslog for that Instance.
func GetSyslogForInstancesInAsgE ¶
func GetSyslogForInstancesInAsgE(t *testing.T, asgName string, awsRegion string) (map[string]string, error)
(Deprecated) See the FetchContentsOfFilesFromAsgE method for a more powerful solution.
GetSyslogForInstancesInAsgE gets the syslog for each of the Instances in the given ASG in the given region. These logs should be available ~1 minute after the Instance boots and are very useful for debugging boot-time issues, such as an error in User Data. Returns a map of Instance Id -> Syslog for that Instance.
func GetTagsForEc2Instance ¶
GetTagsForEc2Instance returns all the tags for the given EC2 Instance.
func GetTagsForEc2InstanceE ¶
func GetTagsForEc2InstanceE(t *testing.T, region string, instanceID string) (map[string]string, error)
GetTagsForEc2InstanceE returns all the tags for the given EC2 Instance.
func GetTimeBasedOneTimePassword ¶
func GetTimeBasedOneTimePassword(mfaDevice *iam.VirtualMFADevice) (string, error)
GetTimeBasedOneTimePassword gets a One-Time Password from the given mfaDevice. Per the RFC 6238 standard, this value will be different every 30 seconds.
func GetUbuntu1404Ami ¶
GetUbuntu1404Ami gets the ID of the most recent Ubuntu 14.04 HVM x86_64 EBS GP2 AMI in the given region.
func GetUbuntu1404AmiE ¶
GetUbuntu1404AmiE gets the ID of the most recent Ubuntu 14.04 HVM x86_64 EBS GP2 AMI in the given region.
func GetUbuntu1604Ami ¶
GetUbuntu1604Ami gets the ID of the most recent Ubuntu 16.04 HVM x86_64 EBS GP2 AMI in the given region.
func GetUbuntu1604AmiE ¶
GetUbuntu1604AmiE gets the ID of the most recent Ubuntu 16.04 HVM x86_64 EBS GP2 AMI in the given region.
func GetWhetherSchemaExistsInRdsMySqlInstance ¶
func GetWhetherSchemaExistsInRdsMySqlInstance(t *testing.T, dbUrl string, dbPort int64, dbUsername string, dbPassword string, expectedSchemaName string) bool
GetWhetherSchemaExistsInRdsMySqlInstance checks whether the specified schema/table name exists in the RDS instance
func GetWhetherSchemaExistsInRdsMySqlInstanceE ¶
func GetWhetherSchemaExistsInRdsMySqlInstanceE(t *testing.T, dbUrl string, dbPort int64, dbUsername string, dbPassword string, expectedSchemaName string) (bool, error)
GetWhetherSchemaExistsInRdsMySqlInstanceE checks whether the specified schema/table name exists in the RDS instance
func IsPublicSubnet ¶
IsPublicSubnet returns True if the subnet identified by the given id in the provided region is public.
func IsPublicSubnetE ¶
IsPublicSubnetE returns True if the subnet identified by the given id in the provided region is public.
func NewAcmClient ¶
NewAcmClient create a new ACM client.
func NewAcmClientE ¶
NewAcmClientE creates a new ACM client.
func NewAsgClient ¶
func NewAsgClient(t *testing.T, region string) *autoscaling.AutoScaling
NewAsgClient creates an Auto Scaling Group client.
func NewAsgClientE ¶
func NewAsgClientE(t *testing.T, region string) (*autoscaling.AutoScaling, error)
NewAsgClientE creates an Auto Scaling Group client.
func NewAuthenticatedSession ¶
NewAuthenticatedSession creates an AWS session following to standard AWS authentication workflow. If AuthAssumeIamRoleEnvVar environment variable is set, assumes IAM role specified in it.
func NewAuthenticatedSessionFromDefaultCredentials ¶
NewAuthenticatedSessionFromDefaultCredentials gets an AWS Session, checking that the user has credentials properly configured in their environment.
func NewAuthenticatedSessionFromRole ¶
NewAuthenticatedSessionFromRole returns a new AWS Session after assuming the role whose ARN is provided in roleARN. If the credentials are not properly configured in the underlying environment, an error is returned.
func NewCloudWatchLogsClient ¶
func NewCloudWatchLogsClient(t *testing.T, region string) *cloudwatchlogs.CloudWatchLogs
NewCloudWatchLogsClient creates a new CloudWatch Logs client.
func NewCloudWatchLogsClientE ¶
func NewCloudWatchLogsClientE(t *testing.T, region string) (*cloudwatchlogs.CloudWatchLogs, error)
NewCloudWatchLogsClientE creates a new CloudWatch Logs client.
func NewDynamoDBClient ¶
NewDynamoDBClient creates a DynamoDB client.
func NewDynamoDBClientE ¶
NewDynamoDBClientE creates a DynamoDB client.
func NewEc2Client ¶
NewEc2Client creates an EC2 client.
func NewEc2ClientE ¶
NewEc2ClientE creates an EC2 client.
func NewEcsClient ¶
NewEcsClient creates en ECS client.
func NewEcsClientE ¶
NewEcsClientE creates an ECS client.
func NewIamClient ¶
NewIamClient creates a new IAM client.
func NewIamClientE ¶
NewIamClientE creates a new IAM client.
func NewKmsClient ¶
NewKmsClient creates a KMS client.
func NewKmsClientE ¶
NewKmsClientE creates a KMS client.
func NewRdsClient ¶
NewRdsClient creates an RDS client.
func NewRdsClientE ¶
NewRdsClientE creates an RDS client.
func NewS3Client ¶
NewS3Client creates an S3 client.
func NewS3ClientE ¶
NewS3ClientE creates an S3 client.
func NewS3Uploader ¶
NewS3Uploader creates an S3 Uploader.
func NewS3UploaderE ¶
NewS3UploaderE creates an S3 Uploader.
func NewSnsClient ¶
NewSnsClient creates a new SNS client.
func NewSnsClientE ¶
NewSnsClientE creates a new SNS client.
func NewSqsClient ¶
NewSqsClient creates a new SQS client.
func NewSqsClientE ¶
NewSqsClientE creates a new SQS client.
func NewSsmClient ¶
NewSsmClient creates a SSM client.
func NewSsmClientE ¶
NewSsmClientE creates an SSM client.
func NewStsClientE ¶
NewStsClientE creates a new STS client.
func PutParameter ¶
func PutParameter(t *testing.T, awsRegion string, keyName string, keyDescription string, keyValue string) int64
PutParameter creates new version of SSM Parameter at keyName with keyValue as SecureString.
func PutParameterE ¶
func PutParameterE(t *testing.T, awsRegion string, keyName string, keyDescription string, keyValue string) (int64, error)
PutParameterE creates new version of SSM Parameter at keyName with keyValue as SecureString.
func PutS3BucketPolicy ¶
PutS3BucketPolicy applies an IAM resource policy to a given S3 bucket to create it's bucket policy
func PutS3BucketPolicyE ¶
func PutS3BucketPolicyE(t *testing.T, region string, bucketName string, policyJSONString string) error
PutS3BucketPolicyE applies an IAM resource policy to a given S3 bucket to create it's bucket policy
func PutS3BucketVersioning ¶
PutS3BucketVersioning creates an S3 bucket versioning configuration in the given region against the given bucket name, WITHOUT requiring MFA to remove versioning.
func PutS3BucketVersioningE ¶
PutS3BucketVersioningE creates an S3 bucket versioning configuration in the given region against the given bucket name, WITHOUT requiring MFA to remove versioning.
func ReadPasswordPolicyMinPasswordLength ¶
ReadPasswordPolicyMinPasswordLength returns the minimal password length.
func SendMessageFifoToQueue ¶
func SendMessageFifoToQueue(t *testing.T, awsRegion string, queueURL string, message string, messageGroupID string)
SendMessageToFifoQueue sends the given message to the FIFO SQS queue with the given URL.
func SendMessageToFifoQueueE ¶
func SendMessageToFifoQueueE(t *testing.T, awsRegion string, queueURL string, message string, messageGroupID string) error
SendMessageToFifoQueueE sends the given message to the FIFO SQS queue with the given URL.
func SendMessageToQueue ¶
SendMessageToQueue sends the given message to the SQS queue with the given URL.
func SendMessageToQueueE ¶
SendMessageToQueueE sends the given message to the SQS queue with the given URL.
func TerminateInstance ¶
TerminateInstance terminates the EC2 instance with the given ID in the given region.
func TerminateInstanceE ¶
TerminateInstanceE terminates the EC2 instance with the given ID in the given region.
Types ¶
type AsgCapacityInfo ¶
type AsgCapacityInfo struct { MinCapacity int64 MaxCapacity int64 CurrentCapacity int64 DesiredCapacity int64 }
func GetCapacityInfoForAsg ¶
func GetCapacityInfoForAsg(t *testing.T, asgName string, awsRegion string) AsgCapacityInfo
GetCapacityInfoForAsg returns the capacity info for the queried asg as a struct, AsgCapacityInfo.
func GetCapacityInfoForAsgE ¶
func GetCapacityInfoForAsgE(t *testing.T, asgName string, awsRegion string) (AsgCapacityInfo, error)
GetCapacityInfoForAsgE returns the capacity info for the queried asg as a struct, AsgCapacityInfo.
type AsgCapacityNotMetError ¶
type AsgCapacityNotMetError struct {
// contains filtered or unexported fields
}
AsgCapacityNotMetError is returned when the ASG capacity is not yet at the desired capacity.
func NewAsgCapacityNotMetError ¶
func NewAsgCapacityNotMetError(asgName string, desiredCapacity int64, currentCapacity int64) AsgCapacityNotMetError
func (AsgCapacityNotMetError) Error ¶
func (err AsgCapacityNotMetError) Error() string
type BucketVersioningNotEnabledError ¶
type BucketVersioningNotEnabledError struct {
// contains filtered or unexported fields
}
BucketVersioningNotEnabledError is returned when an S3 bucket that should have versioning does not have it applied
func NewBucketVersioningNotEnabledError ¶
func NewBucketVersioningNotEnabledError(s3BucketName string, awsRegion string, versioningStatus string) BucketVersioningNotEnabledError
func (BucketVersioningNotEnabledError) Error ¶
func (err BucketVersioningNotEnabledError) Error() string
type CredentialsError ¶
type CredentialsError struct {
UnderlyingErr error
}
CredentialsError is an error that occurs because AWS credentials can't be found.
func (CredentialsError) Error ¶
func (err CredentialsError) Error() string
type Ec2Keypair ¶
type Ec2Keypair struct { *ssh.KeyPair Name string // The name assigned in AWS to the EC2 Key Pair Region string // The AWS region where the EC2 Key Pair lives }
Ec2Keypair is an EC2 key pair.
func CreateAndImportEC2KeyPair ¶
func CreateAndImportEC2KeyPair(t *testing.T, region string, name string) *Ec2Keypair
CreateAndImportEC2KeyPair generates a public/private KeyPair and import it into EC2 in the given region under the given name.
func CreateAndImportEC2KeyPairE ¶
CreateAndImportEC2KeyPairE generates a public/private KeyPair and import it into EC2 in the given region under the given name.
func ImportEC2KeyPair ¶
ImportEC2KeyPair creates a Key Pair in EC2 by importing an existing public key.
func ImportEC2KeyPairE ¶
func ImportEC2KeyPairE(t *testing.T, region string, name string, keyPair *ssh.KeyPair) (*Ec2Keypair, error)
ImportEC2KeyPairE creates a Key Pair in EC2 by importing an existing public key.
type HostnameForEc2InstanceNotFound ¶
HostnameForEc2InstanceNotFound is an error that occurs when the IP for an EC2 instance is not found.
func (HostnameForEc2InstanceNotFound) Error ¶
func (err HostnameForEc2InstanceNotFound) Error() string
type IpForEc2InstanceNotFound ¶
IpForEc2InstanceNotFound is an error that occurs when the IP for an EC2 instance is not found.
func (IpForEc2InstanceNotFound) Error ¶
func (err IpForEc2InstanceNotFound) Error() string
type NoBucketPolicyError ¶
type NoBucketPolicyError struct {
// contains filtered or unexported fields
}
NoBucketPolicyError is returned when an S3 bucket that should have a policy applied does not
func NewNoBucketPolicyError ¶
func NewNoBucketPolicyError(s3BucketName string, awsRegion string, bucketPolicy string) NoBucketPolicyError
func (NoBucketPolicyError) Error ¶
func (err NoBucketPolicyError) Error() string
type NoImagesFound ¶
NoImagesFound is an error that occurs if no images were found.
func (NoImagesFound) Error ¶
func (err NoImagesFound) Error() string
type NotFoundError ¶
type NotFoundError struct {
// contains filtered or unexported fields
}
NotFoundError is returned when an expected object is not found
func NewNotFoundError ¶
func NewNotFoundError(objectType string, objectID string, region string) NotFoundError
func (NotFoundError) Error ¶
func (err NotFoundError) Error() string
type OptionGroupOptionSettingForDbInstanceNotFound ¶
type OptionGroupOptionSettingForDbInstanceNotFound struct { OptionName string OptionSettingName string DbInstanceID string AwsRegion string }
OptionGroupOptionSettingForDbInstanceNotFound is an error that occurs when the option setting specified is not found in the option group of the DB instance
func (OptionGroupOptionSettingForDbInstanceNotFound) Error ¶
func (err OptionGroupOptionSettingForDbInstanceNotFound) Error() string
type ParameterForDbInstanceNotFound ¶
type ParameterForDbInstanceNotFound struct { ParameterName string DbInstanceID string AwsRegion string }
ParameterForDbInstanceNotFound is an error that occurs when the parameter group specified is not found for the DB instance
func (ParameterForDbInstanceNotFound) Error ¶
func (err ParameterForDbInstanceNotFound) Error() string
type QueueMessageResponse ¶
QueueMessageResponse contains a queue message.
func WaitForQueueMessage ¶
func WaitForQueueMessage(t *testing.T, awsRegion string, queueURL string, timeout int) QueueMessageResponse
WaitForQueueMessage waits to receive a message from on the queueURL. Since the API only allows us to wait a max 20 seconds for a new message to arrive, we must loop TIMEOUT/20 number of times to be able to wait for a total of TIMEOUT seconds
type ReceiveMessageTimeout ¶
ReceiveMessageTimeout is an error that occurs if receiving a message times out.
func (ReceiveMessageTimeout) Error ¶
func (err ReceiveMessageTimeout) Error() string
type RemoteFileSpecification ¶
type RemoteFileSpecification struct { AsgNames []string //ASGs where our instances will be RemotePathToFileFilter map[string][]string //A map of the files to fetch, where the keys are directories on the remote host and the values are filters for what files to fetch from the directory. The filters support bash-style wildcards. UseSudo bool SshUser string KeyPair *Ec2Keypair LocalDestinationDir string //base path where to store downloaded artifacts locally. The final path of each resource will include the ip of the host and the name of the immediate parent folder. }
type Subnet ¶
type Subnet struct { Id string // The ID of the Subnet AvailabilityZone string // The Availability Zone the subnet is in }
Subnet is a subnet in an availability zone.
func GetSubnetsForVpc ¶
GetSubnetsForVpc gets the subnets in the specified VPC.
type Vpc ¶
type Vpc struct { Id string // The ID of the VPC Name string // The name of the VPC Subnets []Subnet // A list of subnets in the VPC }
Vpc is an Amazon Virtual Private Cloud.
func GetDefaultVpc ¶
GetDefaultVpc fetches information about the default VPC in the given region.
func GetDefaultVpcE ¶
GetDefaultVpcE fetches information about the default VPC in the given region.
func GetVpcById ¶
GetVpcById fetches information about a VPC with given Id in the given region.
func GetVpcByIdE ¶
GetVpcByIdE fetches information about a VPC with given Id in the given region.