code: func NewFakeAWSServices(clusterID string) *FakeAWSServices {
  	s := &FakeAWSServices{}
  	s.region = "us-east-1"
  	s.ec2 = &FakeEC2Impl{aws: s}
  	s.elb = &FakeELB{aws: s}
  	s.elbv2 = &FakeELBV2{aws: s}
  	s.asg = &FakeASG{aws: s}
  	s.metadata = &FakeMetadata{aws: s}
  	s.kms = &FakeKMS{aws: s}
  
  	s.networkInterfacesMacs = []string{"aa:bb:cc:dd:ee:00", "aa:bb:cc:dd:ee:01"}
  	s.networkInterfacesVpcIDs = []string{"vpc-mac0", "vpc-mac1"}
  
  	selfInstance := &ec2.Instance{}
  	selfInstance.InstanceId = aws.String("i-self")
  	selfInstance.Placement = &ec2.Placement{
  		AvailabilityZone: aws.String("us-east-1a"),
  	}
  	selfInstance.PrivateDnsName = aws.String("ip-172-20-0-100.ec2.internal")
  	selfInstance.PrivateIpAddress = aws.String("192.168.0.1")
  	selfInstance.PublicIpAddress = aws.String("1.2.3.4")
  	s.selfInstance = selfInstance
  	s.instances = []*ec2.Instance{selfInstance}
  
  	var tag ec2.Tag
  	tag.Key = aws.String(TagNameKubernetesClusterLegacy)
  	tag.Value = aws.String(clusterID)
  	selfInstance.Tags = []*ec2.Tag{&tag}
  
  	return s
  }
docs: // NewFakeAWSServices creates a new FakeAWSServices