Fix a few instances where we read the project from the provider config and not using the helper function (#469)

This commit is contained in:
Dana Hoffman 2017-09-26 17:01:52 -07:00 committed by GitHub
parent f1aa5c5732
commit cc8ea81117
11 changed files with 36 additions and 31 deletions

View File

@ -5,8 +5,8 @@ import (
)
// readDiskType finds the disk type with the given name.
func readDiskType(c *Config, zone *compute.Zone, name string) (*compute.DiskType, error) {
diskType, err := c.clientCompute.DiskTypes.Get(c.Project, zone.Name, name).Do()
func readDiskType(c *Config, zone *compute.Zone, project, name string) (*compute.DiskType, error) {
diskType, err := c.clientCompute.DiskTypes.Get(project, zone.Name, name).Do()
if err == nil && diskType != nil && diskType.SelfLink != "" {
return diskType, nil
} else {

View File

@ -67,7 +67,7 @@ func sanityTestRegexMatches(expected int, got []string, regexType, name string)
// If not, check if it could be a GCP-provided image, and if it exists. If it does, return it as projects/{project}/global/images/{image}.
// If not, check if it's a family in the current project. If it is, return it as global/images/family/{family}.
// If not, check if it could be a GCP-provided family, and if it exists. If it does, return it as projects/{project}/global/images/family/{family}
func resolveImage(c *Config, name string) (string, error) {
func resolveImage(c *Config, project, name string) (string, error) {
// built-in projects to look for images/families containing the string
// on the left in
imageMap := map[string]string{
@ -119,7 +119,7 @@ func resolveImage(c *Config, name string) (string, error) {
if err := sanityTestRegexMatches(1, res, "family family", name); err != nil {
return "", err
}
if ok, err := resolveImageFamilyExists(c, c.Project, res[1]); err != nil {
if ok, err := resolveImageFamilyExists(c, project, res[1]); err != nil {
return "", err
} else if ok {
return fmt.Sprintf("global/images/family/%s", res[1]), nil
@ -157,7 +157,7 @@ func resolveImage(c *Config, name string) (string, error) {
if err := sanityTestRegexMatches(1, res, "image", name); err != nil {
return "", err
}
if ok, err := resolveImageImageExists(c, c.Project, res[1]); err != nil {
if ok, err := resolveImageImageExists(c, project, res[1]); err != nil {
return "", err
} else if ok {
return fmt.Sprintf("global/images/%s", res[1]), nil

View File

@ -79,7 +79,7 @@ func testAccCheckComputeImageResolution(n string) resource.TestCheckFunc {
}
for input, expectation := range images {
result, err := resolveImage(config, input)
result, err := resolveImage(config, project, input)
if err != nil {
return fmt.Errorf("Error resolving input %s to image: %+v\n", input, err)
}

View File

@ -139,7 +139,7 @@ func resourceComputeDiskCreate(d *schema.ResourceData, meta interface{}) error {
// If we were given a source image, load that.
if v, ok := d.GetOk("image"); ok {
log.Printf("[DEBUG] Resolving image name: %s", v.(string))
imageUrl, err := resolveImage(config, v.(string))
imageUrl, err := resolveImage(config, project, v.(string))
if err != nil {
return fmt.Errorf(
"Error resolving image name '%s': %s",
@ -152,7 +152,7 @@ func resourceComputeDiskCreate(d *schema.ResourceData, meta interface{}) error {
if v, ok := d.GetOk("type"); ok {
log.Printf("[DEBUG] Loading disk type: %s", v.(string))
diskType, err := readDiskType(config, zone, v.(string))
diskType, err := readDiskType(config, zone, project, v.(string))
if err != nil {
return fmt.Errorf(
"Error loading disk type '%s': %s",

View File

@ -621,7 +621,7 @@ func resourceComputeInstanceCreate(d *schema.ResourceData, meta interface{}) err
var hasScratchDisk bool
if _, hasScratchDisk := d.GetOk("scratch_disk"); hasScratchDisk {
scratchDisks, err := expandScratchDisks(d, config, zone)
scratchDisks, err := expandScratchDisks(d, config, zone, project)
if err != nil {
return err
}
@ -685,7 +685,7 @@ func resourceComputeInstanceCreate(d *schema.ResourceData, meta interface{}) err
if v, ok := d.GetOk(prefix + ".image"); ok && !hasSource {
imageName := v.(string)
imageUrl, err := resolveImage(config, imageName)
imageUrl, err := resolveImage(config, project, imageName)
if err != nil {
return fmt.Errorf(
"Error resolving image name '%s': %s",
@ -699,7 +699,7 @@ func resourceComputeInstanceCreate(d *schema.ResourceData, meta interface{}) err
if v, ok := d.GetOk(prefix + ".type"); ok && !hasSource {
diskTypeName := v.(string)
diskType, err := readDiskType(config, zone, diskTypeName)
diskType, err := readDiskType(config, zone, project, diskTypeName)
if err != nil {
return fmt.Errorf(
"Error loading disk type '%s': %s",
@ -1527,7 +1527,7 @@ func expandBootDisk(d *schema.ResourceData, config *Config, zone *compute.Zone,
if v, ok := d.GetOk("boot_disk.0.initialize_params.0.type"); ok {
diskTypeName := v.(string)
diskType, err := readDiskType(config, zone, diskTypeName)
diskType, err := readDiskType(config, zone, project, diskTypeName)
if err != nil {
return nil, fmt.Errorf("Error loading disk type '%s': %s", diskTypeName, err)
}
@ -1536,7 +1536,7 @@ func expandBootDisk(d *schema.ResourceData, config *Config, zone *compute.Zone,
if v, ok := d.GetOk("boot_disk.0.initialize_params.0.image"); ok {
imageName := v.(string)
imageUrl, err := resolveImage(config, imageName)
imageUrl, err := resolveImage(config, project, imageName)
if err != nil {
return nil, fmt.Errorf("Error resolving image name '%s': %s", imageName, err)
}
@ -1571,8 +1571,8 @@ func flattenBootDisk(d *schema.ResourceData, disk *computeBeta.AttachedDisk) []m
return []map[string]interface{}{result}
}
func expandScratchDisks(d *schema.ResourceData, config *Config, zone *compute.Zone) ([]*computeBeta.AttachedDisk, error) {
diskType, err := readDiskType(config, zone, "local-ssd")
func expandScratchDisks(d *schema.ResourceData, config *Config, zone *compute.Zone, project string) ([]*computeBeta.AttachedDisk, error) {
diskType, err := readDiskType(config, zone, project, "local-ssd")
if err != nil {
return nil, fmt.Errorf("Error loading disk type 'local-ssd': %s", err)
}

View File

@ -331,6 +331,11 @@ func resourceComputeInstanceTemplate() *schema.Resource {
func buildDisks(d *schema.ResourceData, meta interface{}) ([]*compute.AttachedDisk, error) {
config := meta.(*Config)
project, err := getProject(d, config)
if err != nil {
return nil, err
}
disksCount := d.Get("disk.#").(int)
disks := make([]*compute.AttachedDisk, 0, disksCount)
@ -371,7 +376,7 @@ func buildDisks(d *schema.ResourceData, meta interface{}) ([]*compute.AttachedDi
if v, ok := d.GetOk(prefix + ".source_image"); ok {
imageName := v.(string)
imageUrl, err := resolveImage(config, imageName)
imageUrl, err := resolveImage(config, project, imageName)
if err != nil {
return nil, fmt.Errorf(
"Error resolving image name '%s': %s",

View File

@ -88,7 +88,7 @@ func resourceSqlDatabaseCreate(d *schema.ResourceData, meta interface{}) error {
instance_name, err)
}
err = sqladminOperationWait(config, op, "Insert Database")
err = sqladminOperationWait(config, op, project, "Insert Database")
if err != nil {
return fmt.Errorf("Error, failure waiting for insertion of %s "+
@ -162,7 +162,7 @@ func resourceSqlDatabaseUpdate(d *schema.ResourceData, meta interface{}) error {
instance_name, err)
}
err = sqladminOperationWait(config, op, "Update Database")
err = sqladminOperationWait(config, op, project, "Update Database")
if err != nil {
return fmt.Errorf("Error, failure waiting for update of %s "+
@ -194,7 +194,7 @@ func resourceSqlDatabaseDelete(d *schema.ResourceData, meta interface{}) error {
instance_name, err)
}
err = sqladminOperationWait(config, op, "Delete Database")
err = sqladminOperationWait(config, op, project, "Delete Database")
if err != nil {
return fmt.Errorf("Error, failure waiting for deletion of %s "+

View File

@ -611,7 +611,7 @@ func resourceSqlDatabaseInstanceCreate(d *schema.ResourceData, meta interface{})
d.SetId(instance.Name)
err = sqladminOperationWait(config, op, "Create Instance")
err = sqladminOperationWait(config, op, project, "Create Instance")
if err != nil {
d.SetId("")
return err
@ -635,7 +635,7 @@ func resourceSqlDatabaseInstanceCreate(d *schema.ResourceData, meta interface{})
if err != nil {
return fmt.Errorf("Error, failed to delete default 'root'@'*' user, but the database was created successfully: %s", err)
}
err = sqladminOperationWait(config, op, "Delete default root User")
err = sqladminOperationWait(config, op, project, "Delete default root User")
if err != nil {
return err
}
@ -939,7 +939,7 @@ func resourceSqlDatabaseInstanceUpdate(d *schema.ResourceData, meta interface{})
return fmt.Errorf("Error, failed to update instance %s: %s", instance.Name, err)
}
err = sqladminOperationWait(config, op, "Create Instance")
err = sqladminOperationWait(config, op, project, "Create Instance")
if err != nil {
return err
}
@ -961,7 +961,7 @@ func resourceSqlDatabaseInstanceDelete(d *schema.ResourceData, meta interface{})
return fmt.Errorf("Error, failed to delete instance %s: %s", d.Get("name").(string), err)
}
err = sqladminOperationWait(config, op, "Delete Instance")
err = sqladminOperationWait(config, op, project, "Delete Instance")
if err != nil {
return err
}

View File

@ -76,7 +76,7 @@ func testSweepDatabases(region string) error {
return fmt.Errorf("error, failed to stop replica instance (%s) for instance (%s): %s", replicaName, d.Name, err)
}
err = sqladminOperationWait(config, op, "Stop Replica")
err = sqladminOperationWait(config, op, config.Project, "Stop Replica")
if err != nil {
if strings.Contains(err.Error(), "does not exist") {
log.Printf("Replication operation not found")
@ -106,7 +106,7 @@ func testSweepDatabases(region string) error {
return fmt.Errorf("Error, failed to delete instance %s: %s", db, err)
}
err = sqladminOperationWait(config, op, "Delete Instance")
err = sqladminOperationWait(config, op, config.Project, "Delete Instance")
if err != nil {
if strings.Contains(err.Error(), "does not exist") {
log.Printf("SQL instance not found")
@ -224,7 +224,7 @@ func TestAccGoogleSqlDatabaseInstance_dontDeleteDefaultUserOnReplica(t *testing.
t.Errorf("Error while inserting root@%% user: %s", err)
return
}
err = sqladminOperationWait(config, op, "Waiting for user to insert")
err = sqladminOperationWait(config, op, config.Project, "Waiting for user to insert")
if err != nil {
t.Errorf("Error while waiting for user insert operation to complete: %s", err.Error())
}

View File

@ -88,7 +88,7 @@ func resourceSqlUserCreate(d *schema.ResourceData, meta interface{}) error {
d.SetId(fmt.Sprintf("%s/%s", instance, name))
err = sqladminOperationWait(config, op, "Insert User")
err = sqladminOperationWait(config, op, project, "Insert User")
if err != nil {
return fmt.Errorf("Error, failure waiting for insertion of %s "+
@ -175,7 +175,7 @@ func resourceSqlUserUpdate(d *schema.ResourceData, meta interface{}) error {
"user %s into user %s: %s", name, instance, err)
}
err = sqladminOperationWait(config, op, "Insert User")
err = sqladminOperationWait(config, op, project, "Insert User")
if err != nil {
return fmt.Errorf("Error, failure waiting for update of %s "+
@ -210,7 +210,7 @@ func resourceSqlUserDelete(d *schema.ResourceData, meta interface{}) error {
instance, err)
}
err = sqladminOperationWait(config, op, "Delete User")
err = sqladminOperationWait(config, op, project, "Delete User")
if err != nil {
return fmt.Errorf("Error, failure waiting for deletion of %s "+

View File

@ -56,11 +56,11 @@ func (e SqlAdminOperationError) Error() string {
return buf.String()
}
func sqladminOperationWait(config *Config, op *sqladmin.Operation, activity string) error {
func sqladminOperationWait(config *Config, op *sqladmin.Operation, project, activity string) error {
w := &SqlAdminOperationWaiter{
Service: config.clientSqlAdmin,
Op: op,
Project: config.Project,
Project: project,
}
state := w.Conf()