Skip to content

Latest commit

 

History

History
43 lines (32 loc) · 1.01 KB

README.md

File metadata and controls

43 lines (32 loc) · 1.01 KB

R003

The R003 analyzer reports likely extraneous uses of Exists functions for a resource. Exists logic can be handled inside the Read function to prevent logic duplication.

Flagged Code

func resourceExampleThingExists(d *schema.ResourceData, meta interface{}) (bool, error) { /* ... */ }

func resourceExampleThingRead(d *schema.ResourceData, meta interface{}) error { /* ... */ }

&schema.Resource{
    Exists: resourceExampleThingExists,
    Read:   resourceExampleThingRead,
    /* ... */
}

Passing Code

func resourceExampleThingRead(d *schema.ResourceData, meta interface{}) error { /* ... */ }

&schema.Resource{
    Read: resourceExampleThingRead,
    /* ... */
}

Ignoring Reports

Singular reports can be ignored by adding the a //lintignore:R003 Go code comment at the end of the offending line or on the line immediately proceding, e.g.

&schema.Resource{
    //lintignore:R003
    Exists: resourceExampleThingExists,
    Read:   resourceExampleThingRead,
    /* ... */
}