provider/aws: Run errcheck in tests (#8579)
* provider/aws: Add errcheck to Makefile, error on unchecked errors * more exceptions * updates for errcheck to pass * reformat and spilt out the ignore statements * narrow down ignores * fix typo, only ignore Close and Write, instead of close or write
This commit is contained in:
parent
04a77b343b
commit
740b8bb9cb
5
Makefile
5
Makefile
|
@ -39,7 +39,7 @@ plugin-dev: generate
|
||||||
mv $(GOPATH)/bin/$(PLUGIN) $(GOPATH)/bin/terraform-$(PLUGIN)
|
mv $(GOPATH)/bin/$(PLUGIN) $(GOPATH)/bin/terraform-$(PLUGIN)
|
||||||
|
|
||||||
# test runs the unit tests
|
# test runs the unit tests
|
||||||
test: fmtcheck generate
|
test: fmtcheck errcheck generate
|
||||||
TF_ACC= go test $(TEST) $(TESTARGS) -timeout=30s -parallel=4
|
TF_ACC= go test $(TEST) $(TESTARGS) -timeout=30s -parallel=4
|
||||||
|
|
||||||
# testacc runs acceptance tests
|
# testacc runs acceptance tests
|
||||||
|
@ -89,4 +89,7 @@ fmt:
|
||||||
fmtcheck:
|
fmtcheck:
|
||||||
@sh -c "'$(CURDIR)/scripts/gofmtcheck.sh'"
|
@sh -c "'$(CURDIR)/scripts/gofmtcheck.sh'"
|
||||||
|
|
||||||
|
errcheck:
|
||||||
|
@sh -c "'$(CURDIR)/scripts/errcheck.sh'"
|
||||||
|
|
||||||
.PHONY: bin default generate test vet fmt fmtcheck tools
|
.PHONY: bin default generate test vet fmt fmtcheck tools
|
||||||
|
|
|
@ -4,6 +4,7 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"github.com/aws/aws-sdk-go/service/ec2"
|
"github.com/aws/aws-sdk-go/service/ec2"
|
||||||
|
"github.com/hashicorp/errwrap"
|
||||||
"github.com/hashicorp/terraform/helper/schema"
|
"github.com/hashicorp/terraform/helper/schema"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -80,7 +81,9 @@ func resourceAwsSecurityGroupImportState(
|
||||||
// XXX If the rule contained more than one source security group, this
|
// XXX If the rule contained more than one source security group, this
|
||||||
// will choose one of them. We actually need to create one rule for each
|
// will choose one of them. We actually need to create one rule for each
|
||||||
// source security group.
|
// source security group.
|
||||||
setFromIPPerm(d, sg, perm)
|
if err := setFromIPPerm(d, sg, perm); err != nil {
|
||||||
|
return nil, errwrap.Wrapf("Error importing AWS Security Group: {{err}}", err)
|
||||||
|
}
|
||||||
results = append(results, d)
|
results = append(results, d)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,7 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"github.com/hashicorp/errwrap"
|
||||||
"github.com/hashicorp/terraform/helper/resource"
|
"github.com/hashicorp/terraform/helper/resource"
|
||||||
"github.com/hashicorp/terraform/helper/schema"
|
"github.com/hashicorp/terraform/helper/schema"
|
||||||
|
|
||||||
|
@ -479,11 +480,15 @@ func resourceAwsAutoscalingGroupUpdate(d *schema.ResourceData, meta interface{})
|
||||||
}
|
}
|
||||||
|
|
||||||
if shouldWaitForCapacity {
|
if shouldWaitForCapacity {
|
||||||
waitForASGCapacity(d, meta, capacitySatifiedUpdate)
|
if err := waitForASGCapacity(d, meta, capacitySatifiedUpdate); err != nil {
|
||||||
|
return errwrap.Wrapf("Error waiting for AutoScaling Group Capacity: {{err}}", err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if d.HasChange("enabled_metrics") {
|
if d.HasChange("enabled_metrics") {
|
||||||
updateASGMetricsCollection(d, conn)
|
if err := updateASGMetricsCollection(d, conn); err != nil {
|
||||||
|
return errwrap.Wrapf("Error updating AutoScaling Group Metrics collection: {{err}}", err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return resourceAwsAutoscalingGroupRead(d, meta)
|
return resourceAwsAutoscalingGroupRead(d, meta)
|
||||||
|
|
|
@ -7,6 +7,7 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"github.com/hashicorp/errwrap"
|
||||||
"github.com/hashicorp/terraform/helper/resource"
|
"github.com/hashicorp/terraform/helper/resource"
|
||||||
"github.com/hashicorp/terraform/helper/schema"
|
"github.com/hashicorp/terraform/helper/schema"
|
||||||
|
|
||||||
|
@ -342,7 +343,9 @@ func resourceAwsDynamoDbTableUpdate(d *schema.ResourceData, meta interface{}) er
|
||||||
dynamodbconn := meta.(*AWSClient).dynamodbconn
|
dynamodbconn := meta.(*AWSClient).dynamodbconn
|
||||||
|
|
||||||
// Ensure table is active before trying to update
|
// Ensure table is active before trying to update
|
||||||
waitForTableToBeActive(d.Id(), meta)
|
if err := waitForTableToBeActive(d.Id(), meta); err != nil {
|
||||||
|
return errwrap.Wrapf("Error waiting for Dynamo DB Table update: {{err}}", err)
|
||||||
|
}
|
||||||
|
|
||||||
if d.HasChange("read_capacity") || d.HasChange("write_capacity") {
|
if d.HasChange("read_capacity") || d.HasChange("write_capacity") {
|
||||||
req := &dynamodb.UpdateTableInput{
|
req := &dynamodb.UpdateTableInput{
|
||||||
|
@ -361,7 +364,9 @@ func resourceAwsDynamoDbTableUpdate(d *schema.ResourceData, meta interface{}) er
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
waitForTableToBeActive(d.Id(), meta)
|
if err := waitForTableToBeActive(d.Id(), meta); err != nil {
|
||||||
|
return errwrap.Wrapf("Error waiting for Dynamo DB Table update: {{err}}", err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if d.HasChange("stream_enabled") || d.HasChange("stream_view_type") {
|
if d.HasChange("stream_enabled") || d.HasChange("stream_view_type") {
|
||||||
|
@ -380,7 +385,9 @@ func resourceAwsDynamoDbTableUpdate(d *schema.ResourceData, meta interface{}) er
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
waitForTableToBeActive(d.Id(), meta)
|
if err := waitForTableToBeActive(d.Id(), meta); err != nil {
|
||||||
|
return errwrap.Wrapf("Error waiting for Dynamo DB Table update: {{err}}", err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if d.HasChange("global_secondary_index") {
|
if d.HasChange("global_secondary_index") {
|
||||||
|
@ -462,8 +469,13 @@ func resourceAwsDynamoDbTableUpdate(d *schema.ResourceData, meta interface{}) er
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
waitForTableToBeActive(d.Id(), meta)
|
if err := waitForTableToBeActive(d.Id(), meta); err != nil {
|
||||||
waitForGSIToBeActive(d.Id(), *gsi.IndexName, meta)
|
return errwrap.Wrapf("Error waiting for Dynamo DB Table update: {{err}}", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := waitForGSIToBeActive(d.Id(), *gsi.IndexName, meta); err != nil {
|
||||||
|
return errwrap.Wrapf("Error waiting for Dynamo DB GSIT to be active: {{err}}", err)
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -488,7 +500,9 @@ func resourceAwsDynamoDbTableUpdate(d *schema.ResourceData, meta interface{}) er
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
waitForTableToBeActive(d.Id(), meta)
|
if err := waitForTableToBeActive(d.Id(), meta); err != nil {
|
||||||
|
return errwrap.Wrapf("Error waiting for Dynamo DB Table update: {{err}}", err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -692,7 +706,9 @@ func resourceAwsDynamoDbTableRead(d *schema.ResourceData, meta interface{}) erro
|
||||||
func resourceAwsDynamoDbTableDelete(d *schema.ResourceData, meta interface{}) error {
|
func resourceAwsDynamoDbTableDelete(d *schema.ResourceData, meta interface{}) error {
|
||||||
dynamodbconn := meta.(*AWSClient).dynamodbconn
|
dynamodbconn := meta.(*AWSClient).dynamodbconn
|
||||||
|
|
||||||
waitForTableToBeActive(d.Id(), meta)
|
if err := waitForTableToBeActive(d.Id(), meta); err != nil {
|
||||||
|
return errwrap.Wrapf("Error waiting for Dynamo DB Table update: {{err}}", err)
|
||||||
|
}
|
||||||
|
|
||||||
log.Printf("[DEBUG] DynamoDB delete table: %s", d.Id())
|
log.Printf("[DEBUG] DynamoDB delete table: %s", d.Id())
|
||||||
|
|
||||||
|
|
|
@ -9,6 +9,7 @@ import (
|
||||||
"github.com/aws/aws-sdk-go/aws/awserr"
|
"github.com/aws/aws-sdk-go/aws/awserr"
|
||||||
"github.com/aws/aws-sdk-go/service/ec2"
|
"github.com/aws/aws-sdk-go/service/ec2"
|
||||||
|
|
||||||
|
"github.com/hashicorp/errwrap"
|
||||||
"github.com/hashicorp/terraform/helper/resource"
|
"github.com/hashicorp/terraform/helper/resource"
|
||||||
"github.com/hashicorp/terraform/helper/schema"
|
"github.com/hashicorp/terraform/helper/schema"
|
||||||
)
|
)
|
||||||
|
@ -137,7 +138,9 @@ func resourceAwsEbsVolumeCreate(d *schema.ResourceData, meta interface{}) error
|
||||||
d.SetId(*result.VolumeId)
|
d.SetId(*result.VolumeId)
|
||||||
|
|
||||||
if _, ok := d.GetOk("tags"); ok {
|
if _, ok := d.GetOk("tags"); ok {
|
||||||
setTags(conn, d)
|
if err := setTags(conn, d); err != nil {
|
||||||
|
return errwrap.Wrapf("Error setting tags for EBS Volume: {{err}}", err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return readVolume(d, result)
|
return readVolume(d, result)
|
||||||
|
@ -146,7 +149,9 @@ func resourceAwsEbsVolumeCreate(d *schema.ResourceData, meta interface{}) error
|
||||||
func resourceAWSEbsVolumeUpdate(d *schema.ResourceData, meta interface{}) error {
|
func resourceAWSEbsVolumeUpdate(d *schema.ResourceData, meta interface{}) error {
|
||||||
conn := meta.(*AWSClient).ec2conn
|
conn := meta.(*AWSClient).ec2conn
|
||||||
if _, ok := d.GetOk("tags"); ok {
|
if _, ok := d.GetOk("tags"); ok {
|
||||||
setTags(conn, d)
|
if err := setTags(conn, d); err != nil {
|
||||||
|
return errwrap.Wrapf("Error updating tags for EBS Volume: {{err}}", err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return resourceAwsEbsVolumeRead(d, meta)
|
return resourceAwsEbsVolumeRead(d, meta)
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,6 +8,7 @@ import (
|
||||||
"github.com/aws/aws-sdk-go/aws"
|
"github.com/aws/aws-sdk-go/aws"
|
||||||
"github.com/aws/aws-sdk-go/aws/awserr"
|
"github.com/aws/aws-sdk-go/aws/awserr"
|
||||||
"github.com/aws/aws-sdk-go/service/ec2"
|
"github.com/aws/aws-sdk-go/service/ec2"
|
||||||
|
"github.com/hashicorp/errwrap"
|
||||||
"github.com/hashicorp/terraform/helper/resource"
|
"github.com/hashicorp/terraform/helper/resource"
|
||||||
"github.com/hashicorp/terraform/helper/schema"
|
"github.com/hashicorp/terraform/helper/schema"
|
||||||
)
|
)
|
||||||
|
@ -48,7 +49,7 @@ func resourceAwsInternetGatewayCreate(d *schema.ResourceData, meta interface{})
|
||||||
d.SetId(*ig.InternetGatewayId)
|
d.SetId(*ig.InternetGatewayId)
|
||||||
log.Printf("[INFO] InternetGateway ID: %s", d.Id())
|
log.Printf("[INFO] InternetGateway ID: %s", d.Id())
|
||||||
|
|
||||||
resource.Retry(5*time.Minute, func() *resource.RetryError {
|
err = resource.Retry(5*time.Minute, func() *resource.RetryError {
|
||||||
igRaw, _, err := IGStateRefreshFunc(conn, d.Id())()
|
igRaw, _, err := IGStateRefreshFunc(conn, d.Id())()
|
||||||
if igRaw != nil {
|
if igRaw != nil {
|
||||||
return nil
|
return nil
|
||||||
|
@ -60,6 +61,10 @@ func resourceAwsInternetGatewayCreate(d *schema.ResourceData, meta interface{})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
return errwrap.Wrapf("{{err}}", err)
|
||||||
|
}
|
||||||
|
|
||||||
err = setTags(conn, d)
|
err = setTags(conn, d)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
|
|
@ -7,6 +7,7 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"github.com/hashicorp/errwrap"
|
||||||
"github.com/hashicorp/terraform/helper/resource"
|
"github.com/hashicorp/terraform/helper/resource"
|
||||||
"github.com/hashicorp/terraform/helper/schema"
|
"github.com/hashicorp/terraform/helper/schema"
|
||||||
|
|
||||||
|
@ -265,7 +266,9 @@ func resourceAwsRoute53ZoneDelete(d *schema.ResourceData, meta interface{}) erro
|
||||||
r53 := meta.(*AWSClient).r53conn
|
r53 := meta.(*AWSClient).r53conn
|
||||||
|
|
||||||
if d.Get("force_destroy").(bool) {
|
if d.Get("force_destroy").(bool) {
|
||||||
deleteAllRecordsInHostedZoneId(d.Id(), d.Get("name").(string), r53)
|
if err := deleteAllRecordsInHostedZoneId(d.Id(), d.Get("name").(string), r53); err != nil {
|
||||||
|
return errwrap.Wrapf("{{err}}", err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
log.Printf("[DEBUG] Deleting Route53 hosted zone: %s (ID: %s)",
|
log.Printf("[DEBUG] Deleting Route53 hosted zone: %s (ID: %s)",
|
||||||
|
|
|
@ -1363,7 +1363,9 @@ func normalizeRoutingRules(w []*s3.RoutingRule) (string, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
var rules []map[string]interface{}
|
var rules []map[string]interface{}
|
||||||
json.Unmarshal(withNulls, &rules)
|
if err := json.Unmarshal(withNulls, &rules); err != nil {
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
|
|
||||||
var cleanRules []map[string]interface{}
|
var cleanRules []map[string]interface{}
|
||||||
for _, rule := range rules {
|
for _, rule := range rules {
|
||||||
|
|
|
@ -11,6 +11,7 @@ import (
|
||||||
"github.com/aws/aws-sdk-go/aws"
|
"github.com/aws/aws-sdk-go/aws"
|
||||||
"github.com/aws/aws-sdk-go/aws/awserr"
|
"github.com/aws/aws-sdk-go/aws/awserr"
|
||||||
"github.com/aws/aws-sdk-go/service/ec2"
|
"github.com/aws/aws-sdk-go/service/ec2"
|
||||||
|
"github.com/hashicorp/errwrap"
|
||||||
"github.com/hashicorp/terraform/helper/hashcode"
|
"github.com/hashicorp/terraform/helper/hashcode"
|
||||||
"github.com/hashicorp/terraform/helper/resource"
|
"github.com/hashicorp/terraform/helper/resource"
|
||||||
"github.com/hashicorp/terraform/helper/schema"
|
"github.com/hashicorp/terraform/helper/schema"
|
||||||
|
@ -250,7 +251,9 @@ func resourceAwsSecurityGroupRuleRead(d *schema.ResourceData, meta interface{})
|
||||||
log.Printf("[DEBUG] Found rule for Security Group Rule (%s): %s", d.Id(), rule)
|
log.Printf("[DEBUG] Found rule for Security Group Rule (%s): %s", d.Id(), rule)
|
||||||
|
|
||||||
d.Set("type", ruleType)
|
d.Set("type", ruleType)
|
||||||
setFromIPPerm(d, sg, p)
|
if err := setFromIPPerm(d, sg, p); err != nil {
|
||||||
|
return errwrap.Wrapf("Error setting IP Permission for Security Group Rule: {{err}}", err)
|
||||||
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -169,7 +169,9 @@ func resourceAwsSqsQueueUpdate(d *schema.ResourceData, meta interface{}) error {
|
||||||
QueueUrl: aws.String(d.Id()),
|
QueueUrl: aws.String(d.Id()),
|
||||||
Attributes: attributes,
|
Attributes: attributes,
|
||||||
}
|
}
|
||||||
sqsconn.SetQueueAttributes(req)
|
if _, err := sqsconn.SetQueueAttributes(req); err != nil {
|
||||||
|
return fmt.Errorf("[ERR] Error updating SQS attributes: %s", err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return resourceAwsSqsQueueRead(d, meta)
|
return resourceAwsSqsQueueRead(d, meta)
|
||||||
|
|
|
@ -119,7 +119,9 @@ func resourceAwsSsmDocumentCreate(d *schema.ResourceData, meta interface{}) erro
|
||||||
d.SetId(*resp.DocumentDescription.Name)
|
d.SetId(*resp.DocumentDescription.Name)
|
||||||
|
|
||||||
if v, ok := d.GetOk("permissions"); ok && v != nil {
|
if v, ok := d.GetOk("permissions"); ok && v != nil {
|
||||||
setDocumentPermissions(d, meta)
|
if err := setDocumentPermissions(d, meta); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
log.Printf("[DEBUG] Not setting permissions for %q", d.Id())
|
log.Printf("[DEBUG] Not setting permissions for %q", d.Id())
|
||||||
}
|
}
|
||||||
|
@ -189,7 +191,9 @@ func resourceAwsSsmDocumentRead(d *schema.ResourceData, meta interface{}) error
|
||||||
func resourceAwsSsmDocumentUpdate(d *schema.ResourceData, meta interface{}) error {
|
func resourceAwsSsmDocumentUpdate(d *schema.ResourceData, meta interface{}) error {
|
||||||
|
|
||||||
if _, ok := d.GetOk("permissions"); ok {
|
if _, ok := d.GetOk("permissions"); ok {
|
||||||
setDocumentPermissions(d, meta)
|
if err := setDocumentPermissions(d, meta); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
log.Printf("[DEBUG] Not setting document permissions on %q", d.Id())
|
log.Printf("[DEBUG] Not setting document permissions on %q", d.Id())
|
||||||
}
|
}
|
||||||
|
@ -200,7 +204,9 @@ func resourceAwsSsmDocumentUpdate(d *schema.ResourceData, meta interface{}) erro
|
||||||
func resourceAwsSsmDocumentDelete(d *schema.ResourceData, meta interface{}) error {
|
func resourceAwsSsmDocumentDelete(d *schema.ResourceData, meta interface{}) error {
|
||||||
ssmconn := meta.(*AWSClient).ssmconn
|
ssmconn := meta.(*AWSClient).ssmconn
|
||||||
|
|
||||||
deleteDocumentPermissions(d, meta)
|
if err := deleteDocumentPermissions(d, meta); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
log.Printf("[INFO] Deleting SSM Document: %s", d.Id())
|
log.Printf("[INFO] Deleting SSM Document: %s", d.Id())
|
||||||
|
|
||||||
|
|
|
@ -12,6 +12,7 @@ import (
|
||||||
"github.com/aws/aws-sdk-go/aws/awserr"
|
"github.com/aws/aws-sdk-go/aws/awserr"
|
||||||
"github.com/aws/aws-sdk-go/service/ec2"
|
"github.com/aws/aws-sdk-go/service/ec2"
|
||||||
|
|
||||||
|
"github.com/hashicorp/errwrap"
|
||||||
"github.com/hashicorp/terraform/helper/hashcode"
|
"github.com/hashicorp/terraform/helper/hashcode"
|
||||||
"github.com/hashicorp/terraform/helper/resource"
|
"github.com/hashicorp/terraform/helper/resource"
|
||||||
"github.com/hashicorp/terraform/helper/schema"
|
"github.com/hashicorp/terraform/helper/schema"
|
||||||
|
@ -309,12 +310,15 @@ func resourceAwsVpnConnectionRead(d *schema.ResourceData, meta interface{}) erro
|
||||||
d.Set("customer_gateway_configuration", vpnConnection.CustomerGatewayConfiguration)
|
d.Set("customer_gateway_configuration", vpnConnection.CustomerGatewayConfiguration)
|
||||||
|
|
||||||
if vpnConnection.CustomerGatewayConfiguration != nil {
|
if vpnConnection.CustomerGatewayConfiguration != nil {
|
||||||
tunnelInfo := xmlConfigToTunnelInfo(*vpnConnection.CustomerGatewayConfiguration)
|
if tunnelInfo, err := xmlConfigToTunnelInfo(*vpnConnection.CustomerGatewayConfiguration); err != nil {
|
||||||
|
log.Printf("[ERR] Error unmarshaling XML configuration for (%s): %s", d.Id(), err)
|
||||||
|
} else {
|
||||||
d.Set("tunnel1_address", tunnelInfo.Tunnel1Address)
|
d.Set("tunnel1_address", tunnelInfo.Tunnel1Address)
|
||||||
d.Set("tunnel1_preshared_key", tunnelInfo.Tunnel1PreSharedKey)
|
d.Set("tunnel1_preshared_key", tunnelInfo.Tunnel1PreSharedKey)
|
||||||
d.Set("tunnel2_address", tunnelInfo.Tunnel2Address)
|
d.Set("tunnel2_address", tunnelInfo.Tunnel2Address)
|
||||||
d.Set("tunnel2_preshared_key", tunnelInfo.Tunnel2PreSharedKey)
|
d.Set("tunnel2_preshared_key", tunnelInfo.Tunnel2PreSharedKey)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if err := d.Set("vgw_telemetry", telemetryToMapList(vpnConnection.VgwTelemetry)); err != nil {
|
if err := d.Set("vgw_telemetry", telemetryToMapList(vpnConnection.VgwTelemetry)); err != nil {
|
||||||
return err
|
return err
|
||||||
|
@ -416,9 +420,11 @@ func telemetryToMapList(telemetry []*ec2.VgwTelemetry) []map[string]interface{}
|
||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
|
|
||||||
func xmlConfigToTunnelInfo(xmlConfig string) TunnelInfo {
|
func xmlConfigToTunnelInfo(xmlConfig string) (*TunnelInfo, error) {
|
||||||
var vpnConfig XmlVpnConnectionConfig
|
var vpnConfig XmlVpnConnectionConfig
|
||||||
xml.Unmarshal([]byte(xmlConfig), &vpnConfig)
|
if err := xml.Unmarshal([]byte(xmlConfig), &vpnConfig); err != nil {
|
||||||
|
return nil, errwrap.Wrapf("Error Unmarshalling XML: {{err}}", err)
|
||||||
|
}
|
||||||
|
|
||||||
// don't expect consistent ordering from the XML
|
// don't expect consistent ordering from the XML
|
||||||
sort.Sort(vpnConfig)
|
sort.Sort(vpnConfig)
|
||||||
|
@ -431,5 +437,5 @@ func xmlConfigToTunnelInfo(xmlConfig string) TunnelInfo {
|
||||||
Tunnel2PreSharedKey: vpnConfig.Tunnels[1].PreSharedKey,
|
Tunnel2PreSharedKey: vpnConfig.Tunnels[1].PreSharedKey,
|
||||||
}
|
}
|
||||||
|
|
||||||
return tunnelInfo
|
return &tunnelInfo, nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -119,7 +119,10 @@ func testAccAwsVpnConnection(
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestAWSVpnConnection_xmlconfig(t *testing.T) {
|
func TestAWSVpnConnection_xmlconfig(t *testing.T) {
|
||||||
tunnelInfo := xmlConfigToTunnelInfo(testAccAwsVpnTunnelInfoXML)
|
tunnelInfo, err := xmlConfigToTunnelInfo(testAccAwsVpnTunnelInfoXML)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("Error unmarshalling XML: %s", err)
|
||||||
|
}
|
||||||
if tunnelInfo.Tunnel1Address != "FIRST_ADDRESS" {
|
if tunnelInfo.Tunnel1Address != "FIRST_ADDRESS" {
|
||||||
t.Fatalf("First address from tunnel XML was incorrect.")
|
t.Fatalf("First address from tunnel XML was incorrect.")
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Check gofmt
|
||||||
|
echo "==> Checking AWS provider for unchecked errors..."
|
||||||
|
echo "==> NOTE: at this time we only look for uncheck errors in the AWS package"
|
||||||
|
|
||||||
|
if ! which errcheck > /dev/null; then
|
||||||
|
echo "==> Installing errcheck..."
|
||||||
|
go get -u github.com/kisielk/errcheck
|
||||||
|
fi
|
||||||
|
|
||||||
|
err_files=$(errcheck -ignoretests -ignore \
|
||||||
|
'github.com/hashicorp/terraform/helper/schema:Set' \
|
||||||
|
-ignore 'bytes:.*' \
|
||||||
|
-ignore 'io:Close|Write' \
|
||||||
|
./builtin/providers/aws/...)
|
||||||
|
|
||||||
|
if [[ -n ${err_files} ]]; then
|
||||||
|
echo 'Unchecked errors found in the following places:'
|
||||||
|
echo "${err_files}"
|
||||||
|
echo "Please handle returned errors. You can check directly with \`make errcheck\`"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit 0
|
Loading…
Reference in New Issue