Skip to content

Commit

Permalink
error msg
Browse files Browse the repository at this point in the history
  • Loading branch information
yupwei committed Apr 22, 2020
1 parent 4c8fbb4 commit 2fda939
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 21 deletions.
Expand Up @@ -72,18 +72,18 @@ func dataSourceArmDataShareAccountRead(d *schema.ResourceData, meta interface{})
d.SetId("")
return nil
}
return fmt.Errorf("failure in retrieving DataShare Account %q (Resource Group %q): %+v", name, resourceGroup, err)
return fmt.Errorf("retrieving DataShare Account %q (Resource Group %q): %+v", name, resourceGroup, err)
}

if resp.ID == nil || *resp.ID == "" {
return fmt.Errorf("cannot read DataShare Account %q (Resource Group %q): %+v", name, resourceGroup, err)
return fmt.Errorf("reading DataShare Account %q (Resource Group %q): ID is empty", name, resourceGroup)
}

d.SetId(*resp.ID)
d.Set("name", name)
d.Set("resource_group_name", resourceGroup)
if err := d.Set("identity", flattenAzureRmDataShareAccountIdentity(resp.Identity)); err != nil {
return fmt.Errorf("failure in setting `identity`: %+v", err)
return fmt.Errorf("setting `identity`: %+v", err)
}
return tags.FlattenAndSet(d, resp.Tags)
}
Expand Up @@ -99,7 +99,7 @@ func resourceArmDataShareAccountCreate(d *schema.ResourceData, meta interface{})
existing, err := client.Get(ctx, resourceGroup, name)
if err != nil {
if !utils.ResponseWasNotFound(existing.Response) {
return fmt.Errorf("failure in checking for present of existing DataShare Account %q (Resource Group %q): %+v", name, resourceGroup, err)
return fmt.Errorf("checking for present of existing DataShare Account %q (Resource Group %q): %+v", name, resourceGroup, err)
}
}
if existing.ID != nil && *existing.ID != "" {
Expand All @@ -115,20 +115,20 @@ func resourceArmDataShareAccountCreate(d *schema.ResourceData, meta interface{})

future, err := client.Create(ctx, resourceGroup, name, account)
if err != nil {
return fmt.Errorf("failure in creating DataShare Account %q (Resource Group %q): %+v", name, resourceGroup, err)
return fmt.Errorf("creating DataShare Account %q (Resource Group %q): %+v", name, resourceGroup, err)
}

if err = future.WaitForCompletionRef(ctx, client.Client); err != nil {
return fmt.Errorf("failure in waiting on creating future for DataShare Account %q (Resource Group %q): %+v", name, resourceGroup, err)
return fmt.Errorf("waiting on creating future for DataShare Account %q (Resource Group %q): %+v", name, resourceGroup, err)
}

resp, err := client.Get(ctx, resourceGroup, name)
if err != nil {
return fmt.Errorf("failure in retrieving DataShare Account %q (Resource Group %q): %+v", name, resourceGroup, err)
return fmt.Errorf("retrieving DataShare Account %q (Resource Group %q): %+v", name, resourceGroup, err)
}

if resp.ID == nil || *resp.ID == "" {
return fmt.Errorf("cannot read DataShare Account %q (Resource Group %q): %+v", name, resourceGroup, err)
return fmt.Errorf("reading DataShare Account %q (Resource Group %q): ID is empty", name, resourceGroup)
}

d.SetId(*resp.ID)
Expand All @@ -153,13 +153,13 @@ func resourceArmDataShareAccountRead(d *schema.ResourceData, meta interface{}) e
d.SetId("")
return nil
}
return fmt.Errorf("failure in retrieving DataShare Account %q (Resource Group %q): %+v", id.Name, id.ResourceGroup, err)
return fmt.Errorf("retrieving DataShare Account %q (Resource Group %q): %+v", id.Name, id.ResourceGroup, err)
}
d.Set("name", id.Name)
d.Set("resource_group_name", id.ResourceGroup)
d.Set("location", location.NormalizeNilable(resp.Location))
if err := d.Set("identity", flattenAzureRmDataShareAccountIdentity(resp.Identity)); err != nil {
return fmt.Errorf("failure in setting `identity`: %+v", err)
return fmt.Errorf("setting `identity`: %+v", err)
}

return tags.FlattenAndSet(d, resp.Tags)
Expand All @@ -183,7 +183,7 @@ func resourceArmDataShareAccountUpdate(d *schema.ResourceData, meta interface{})

_, err = client.Update(ctx, id.ResourceGroup, id.Name, props)
if err != nil {
return fmt.Errorf("failure in issuing update request for DataShare Account %q (Resource Group %q): %+v", id.Name, id.ResourceGroup, err)
return fmt.Errorf("updating DataShare Account %q (Resource Group %q): %+v", id.Name, id.ResourceGroup, err)
}

return resourceArmDataShareAccountRead(d, meta)
Expand All @@ -201,7 +201,7 @@ func resourceArmDataShareAccountDelete(d *schema.ResourceData, meta interface{})

future, err := client.Delete(ctx, id.ResourceGroup, id.Name)
if err != nil {
return fmt.Errorf("failure in deleting DataShare Account %q (Resource Group %q): %+v", id.Name, id.ResourceGroup, err)
return fmt.Errorf("deleting DataShare Account %q (Resource Group %q): %+v", id.Name, id.ResourceGroup, err)
}

if err = future.WaitForCompletionRef(ctx, client.Client); err != nil {
Expand Down
22 changes: 13 additions & 9 deletions azurerm/internal/services/datashare/validate/data_share.go
Expand Up @@ -11,30 +11,34 @@ import (
)

func DatashareTags(i interface{}, k string) (warnings []string, errors []error) {
tagsMap := i.(map[string]interface{})
tagsMap, ok := i.(map[string]interface{})
if !ok {
errors = append(errors, fmt.Errorf("expected type of %s to be map", k))
return warnings, errors
}

if len(tagsMap) > 50 {
errors = append(errors, fmt.Errorf("a maximum of 50 tags can be applied to each ARM resource"))
}

for k, v := range tagsMap {
if len(k) > 512 {
errors = append(errors, fmt.Errorf("the maximum length for a tag key is 512 characters: %q has %d characters", k, len(k)))
for key, value := range tagsMap {
if len(key) > 512 {
errors = append(errors, fmt.Errorf("the maximum length for a tag key is 512 characters: %q has %d characters", key, len(key)))
return warnings, errors
}

if strings.ToLower(k) != k {
errors = append(errors, fmt.Errorf("a tag key %q expected to be all in lowercase", k))
if strings.ToLower(key) != key {
errors = append(errors, fmt.Errorf("a tag key %q expected to be all in lowercase", key))
return warnings, errors
}

value, err := tags.TagValueToString(v)
v, err := tags.TagValueToString(value)
if err != nil {
errors = append(errors, err)
return warnings, errors
}
if len(value) > 256 {
errors = append(errors, fmt.Errorf("the maximum length for a tag value is 256 characters: the value for %q has %d characters", k, len(value)))
if len(v) > 256 {
errors = append(errors, fmt.Errorf("the maximum length for a tag value is 256 characters: the value for %q has %d characters", key, len(v)))
return warnings, errors
}
}
Expand Down

0 comments on commit 2fda939

Please sign in to comment.