Add locks to all exported State methods
Add locks to all exported State methods

move implementation into private methods when needed

kl4w/terraform,StephenWeatherford/terraform,huydinhle/terraform,JrCs/terraform,BobVanB/terraform,appbricks/ab-terraform-build,jianyuan/terraform,cakoose/terraform,brunomcustodio/terraform,kjmkznr/terraform,antonbabenko/terraform,Ninir/terraform,dgolja/terraform,maxenglander/terraform,ericwestfall/terraform,julia-stripe/terraform,grasshoppergroup/terraform,hartzell/terraform,sl1pm4t/terraform,JrCs/terraform,hngkr/terraform,julia-stripe/terraform,displague/terraform,cwood/terraform,mhlias/terraform,superseb/terraform,clearcare/terraform,zachgersh/terraform,brianantonelli/terraform,gettyimages/terraform,ValFadeev/terraform,xsellier/terraform,TimeIncOSS/terraform,TheWeatherCompany/terraform,rrudduck/terraform,gh-mlfowler/terraform,hngkr/terraform,asedge/terraform,Boran/terraform,alphagov/terraform,maxenglander/terraform,bashtoni/terraform,tamsky/terraform,travertischio/terraform,PaulAtkins/terraform,sl1pm4t/terraform,grasshoppergroup/terraform,matt-deboer/terraform,bashtoni/terraform,Wambosa/terraform,heimweh/terraform,tommynsong/terraform,TheWeatherCompany/terraform,DevoKun/terraform,jrperritt/terraform,brunomcustodio/terraform,ericwestfall/terraform,vrenjith/terraform,rkhozinov/terraform,ctavan/terraform,displague/terraform,ryon/terraform,nathanielks/terraform,dwradcliffe/terraform,elblivion/terraform,squarescale/terraform,superseb/terraform,harijayms/terraform,jianyuan/terraform,pdecat/terraform,koding/terraform,Wambosa/terraform,chrisjharding/terraform,hngkr/terraform,jianyuan/terraform,hpcloud/terraform,foragerr/terraform,PaulAtkins/terraform,Pryz/terraform,GrayCoder/terraform,superseb/terraform,tommynsong/terraform,tombuildsstuff/terraform,brandontosch/terraform,jtopper/terraform,cakoose/terraform,zachgersh/terraform,nathanielks/terraform,mathieuherbert/terraform,brianantonelli/terraform,julia-stripe/terraform,whiskeyjay/terraform,randomvariable/terraform,glerchundi/terraform,cakoose/terraform,TimeIncOSS/terraform,rkhozinov/terraform,jcaugust/terraform,ctavan/terraform,jrperritt/terraform,foragerr/terraform,glerchundi/terraform,mevansam/terraform,luis-silva/terraform,finanzcheck/terraform,dwradcliffe/terraform,hartzell/terraform,sl1pm4t/terraform,bashtoni/terraform,appbricks/ab-terraform-build,koding/terraform,displague/terraform,gettyimages/terraform,richardc/terraform,PeteGoo/terraform,bashtoni/terraform,rnaveiras/terraform,ValFadeev/terraform,Zordrak/terraform,finanzcheck/terraform,vancluever/terraform,wowgroup/terraform,markpeek/terraform,hpcloud/terraform,TimeIncOSS/terraform,ddegoede/terraform,PeteGoo/terraform,JrCs/terraform,squarescale/terraform,rrudduck/terraform,tpoindessous/terraform,hooklift/terraform,paultyng/terraform,kristinn/terraform,KensoDev/terraform,jtopper/terraform,luis-silva/terraform,heimweh/terraform,hngkr/terraform,ross/terraform,Ninir/terraform,evandbrown/terraform,maxenglander/terraform,jianyuan/terraform,ColinHebert/terraform,hpcloud/terraform,samdunne/terraform,heimweh/terraform,opsidian/terraform,mbfrahry/terraform,paulbouwer/terraform,catsby/terraform,pgray/terraform,kjmkznr/terraform,drebes/terraform,kristinn/terraform,billyschmidt/terraform,jrperritt/terraform,ewypych/terraform,jammycakes/terraform,cloudnautique/terraform,pradeepbhadani/terraform,GrayCoder/terraform,lusis/terraform,zachgersh/terraform,tombuildsstuff/terraform,vrenjith/terraform,jammycakes/terraform,mattray/terraform,mafrosis/terraform,VladRassokhin/terraform,pradeepbhadani/terraform,gh-mlfowler/terraform,dtan4/terraform,Sixgill/terraform,ValFadeev/terraform,Ticketmaster/terraform,paybyphone/terraform,vancluever/terraform,pdecat/terraform,brianantonelli/terraform,partamonov/terraform,crunchywelch/terraform,ewypych/terraform,xsellier/terraform,appbricks/ab-terraform-build,schans/terraform,catsby/terraform,ross/terraform,BobVanB/terraform,golvteppe/terraform,billyschmidt/terraform,rhyas/terraform,dougneal/terraform,kyhavlov/terraform,pryorda/terraform,lstolyarov/terraform,ddegoede/terraform,mbfrahry/terraform,pgray/terraform,dougneal/terraform,bradfeehan/terraform,PaulAtkins/terraform,Boran/terraform,cloudnautique/terraform,borisroman/terraform,brunomcustodio/terraform,yanndegat/terraform,ColinHebert/terraform,ddegoede/terraform,zero-below/terraform,DJRH/terraform,kristinn/terraform,pdecat/terraform,hngkr/terraform,tpoindessous/terraform,mhlias/terraform,rhyas/terraform,jcaugust/terraform,AlexanderEkdahl/terraform,carinadigital/terraform,mikesplain/terraform,GannettDigital/terraform,Sixgill/terraform,chrisjharding/terraform,KensoDev/terraform,foragerr/terraform,kyhavlov/terraform,tpounds/terraform,JrCs/terraform,mevansam/terraform,asedge/terraform,vrenjith/terraform,mafrosis/terraform,huydinhle/terraform,apparentlymart/terraform,koding/terraform,10thmagnitude/terraform,PeteGoo/terraform,GannettDigital/terraform,jhedev/terraform,matt-deboer/terraform,luis-silva/terraform,cwood/terraform,ColinHebert/terraform,hartzell/terraform,HotelsDotCom/terraform,carinadigital/terraform,paulbouwer/terraform,caiofilipini/terraform,TStraub-rms/terraform,cwood/terraform,justnom/terraform,kyhavlov/terraform,mafrosis/terraform,donaldguy/terraform,hartzell/terraform,donaldguy/terraform,cloudnautique/terraform,Sixgill/terraform,lifesum/terraform,lifesum/terraform,jtopper/terraform,StephenWeatherford/terraform,tpoindessous/terraform,gazoakley/terraform,BobVanB/terraform,ewbankkit/terraform,justnom/terraform,cnicolov/terraform,tmshn/terraform,mwarkentin/terraform,ddegoede/terraform,richardc/terraform,asedge/terraform,BedeGaming/terraform,squarescale/terraform,jhedev/terraform,billyschmidt/terraform,finanzcheck/terraform,jtopper/terraform,HotelsDotCom/terraform,mtougeron/terraform,ashishth09/terraform,finanzcheck/terraform,iansheridan/terraform,samdunne/terraform,hrach/hashicorp-terraform,fatih/terraform,dgolja/terraform,tmshn/terraform,clearcare/terraform,apparentlymart/terraform,mrwacky42/terraform-1,BedeGaming/terraform,golvteppe/terraform,10thmagnitude/terraform,mattray/terraform,mevansam/terraform,tamsky/terraform,nathanielks/terraform,whiskeyjay/terraform,pgray/terraform,ross/terraform,ericwestfall/terraform,Ticketmaster/terraform,justnom/terraform,tpounds/terraform,jammycakes/terraform,fatih/terraform,billyschmidt/terraform,zero-below/terraform,alphagov/terraform,iljaskevic/terraform,chrisjharding/terraform,randomvariable/terraform,opsidian/terraform,mtougeron/terraform,ewbankkit/terraform,cwood/terraform,lstolyarov/terraform,mwarkentin/terraform,brianantonelli/terraform,hashicorp/terraform,fatmcgav/terraform,bradfeehan/terraform,rkhozinov/terraform,HotelsDotCom/terraform,randomvariable/terraform,VladRassokhin/terraform,partamonov/terraform,dwradcliffe/terraform,gazoakley/terraform,antonbabenko/terraform,ctavan/terraform,alphagov/terraform,kristinn/terraform,xsellier/terraform,Sixgill/terraform,schans/terraform,brandontosch/terraform,bradfeehan/terraform,mbfrahry/terraform,jrperritt/terraform,bashtoni/terraform,evalphobia/saas-ci-performance-compare-terraform,vancluever/terraform,Ninir/terraform,taliesins/terraform,brandontosch/terraform,rrudduck/terraform,youhong316/terraform,jtopper/terraform,mwarkentin/terraform,mikesplain/terraform,superseb/terraform,StephenWeatherford/terraform,crunchywelch/terraform,glerchundi/terraform,kl4w/terraform,mathematician/terraform,ReleaseQueue/terraform,glerchundi/terraform,paulbouwer/terraform,TStraub-rms/terraform,ctavan/terraform,wowgroup/terraform,JDiPierro/terraform,youhong316/terraform,mikesplain/terraform,brunomcustodio/terraform,tpounds/terraform,matt-deboer/terraform,maxenglander/terraform,kyhavlov/terraform,rhyas/terraform,Ninir/terraform,travertischio/terraform,squarescale/terraform,kl4w/terraform,ericwestfall/terraform,mevansam/terraform,mathematician/terraform,mkuzmin/terraform,evalphobia/saas-ci-performance-compare-terraform,gechr/terraform,hooklift/terraform,lusis/terraform,taliesins/terraform,Zordrak/terraform,mrwacky42/terraform-1,randomvariable/terraform,DevoKun/terraform,ryon/terraform,donaldguy/terraform,jamtur01/terraform,TStraub-rms/terraform,fatih/terraform,TimeIncOSS/terraform,AlexanderEkdahl/terraform,carinadigital/terraform,mrwacky42/terraform-1,KensoDev/terraform,dwradcliffe/terraform,julia-stripe/terraform,glerchundi/terraform,Pryz/terraform,golvteppe/terraform,lifesum/terraform,crunchywelch/terraform,hrach/hashicorp-terraform,Boran/terraform,tmshn/terraform,carinadigital/terraform,yanndegat/terraform,JDiPierro/terraform,dn1s/terraform,mattray/terraform,dgolja/terraform,markpeek/terraform,caiofilipini/terraform,fatih/terraform,markpeek/terraform,ReleaseQueue/terraform,mikesplain/terraform,harijayms/terraform,Zordrak/terraform,dougneal/terraform,JDiPierro/terraform,Zordrak/terraform,tombuildsstuff/terraform,lstolyarov/terraform,fatih/terraform,dn1s/terraform,partamonov/terraform,gazoakley/terraform,mhlias/terraform,GannettDigital/terraform,gechr/terraform,dtan4/terraform,koding/terraform,huydinhle/terraform,TheWeatherCompany/terraform,rkhozinov/terraform,lusis/terraform,mkuzmin/terraform,cnicolov/terraform,niclic/terraform,10thmagnitude/terraform,harijayms/terraform,apparentlymart/terraform,mwarkentin/terraform,paybyphone/terraform,samdunne/terraform,dtan4/terraform,caiofilipini/terraform,nlamirault/terraform,matt-deboer/terraform,paulbouwer/terraform,borisroman/terraform,AlexanderEkdahl/terraform,tamsky/terraform,ewypych/terraform,ewypych/terraform,JDiPierro/terraform,tpoindessous/terraform,displague/terraform,Sixgill/terraform,yanndegat/terraform,mattray/terraform,foragerr/terraform,hooklift/terraform,elblivion/terraform,cmorent/terraform,mrwacky42/terraform-1,clearcare/terraform,paybyphone/terraform,iljaskevic/terraform,drebes/terraform,nlamirault/terraform,zero-below/terraform,taliesins/terraform,borisroman/terraform,jamtur01/terraform,mwarkentin/terraform,mkuzmin/terraform,asedge/terraform,tpounds/terraform,StephenWeatherford/terraform,gettyimages/terraform,dwradcliffe/terraform,paulbouwer/terraform,golvteppe/terraform,ewbankkit/terraform,elblivion/terraform,HotelsDotCom/terraform,squarescale/terraform,kyhavlov/terraform,GannettDigital/terraform,Wambosa/terraform,randomvariable/terraform,DJRH/terraform,cloudnautique/terraform,DevoKun/terraform,mrwacky42/terraform-1,chrisjharding/terraform,mhlias/terraform,finanzcheck/terraform,nathanielks/terraform,caiofilipini/terraform,catsby/terraform,opsidian/terraform,mikesplain/terraform,mtougeron/terraform,lifesum/terraform,mkuzmin/terraform,mathieuherbert/terraform,jammycakes/terraform,gh-mlfowler/terraform,ReleaseQueue/terraform,pradeepbhadani/terraform,jhedev/terraform,cmorent/terraform,whiskeyjay/terraform,grasshoppergroup/terraform,xsellier/terraform,ordinaryexperts/terraform,borisroman/terraform,partamonov/terraform,hashicorp/terraform,dougneal/terraform,foragerr/terraform,dn1s/terraform,kwilczynski/terraform,heimweh/terraform,markpeek/terraform,ctavan/terraform,ryon/terraform,DevoKun/terraform,cmorent/terraform,dtan4/terraform,displague/terraform,ashishth09/terraform,iljaskevic/terraform,rrudduck/terraform,evalphobia/saas-ci-performance-compare-terraform,dougneal/terraform,TheWeatherCompany/terraform,cwood/terraform,tmshn/terraform,evandbrown/terraform,paultyng/terraform,pdecat/terraform,travertischio/terraform,brianantonelli/terraform,superseb/terraform,mtougeron/terraform,niclic/terraform,evandbrown/terraform,ashishth09/terraform,koding/terraform,ColinHebert/terraform,PeteGoo/terraform,clearcare/terraform,zero-below/terraform,pgray/terraform,hrach/hashicorp-terraform,Zordrak/terraform,JrCs/terraform,brandontosch/terraform,rhyas/terraform,vrenjith/terraform,mbfrahry/terraform,TimeIncOSS/terraform,jcaugust/terraform,AlexanderEkdahl/terraform,hrach/hashicorp-terraform,tmshn/terraform,paultyng/terraform,StephenWeatherford/terraform,svanharmelen/terraform,travertischio/terraform,nathanielks/terraform,drebes/terraform,richardc/terraform,billyschmidt/terraform,rnaveiras/terraform,hpcloud/terraform,vrenjith/terraform,ericwestfall/terraform,KensoDev/terraform,lifesum/terraform,huydinhle/terraform,kwilczynski/terraform,BedeGaming/terraform,Pryz/terraform,Wambosa/terraform,youhong316/terraform,Ninir/terraform,DJRH/terraform,iansheridan/terraform,ashishth09/terraform,Ticketmaster/terraform,zachgersh/terraform,carinadigital/terraform,elblivion/terraform,GrayCoder/terraform,kl4w/terraform,jcaugust/terraform,pryorda/terraform,gazoakley/terraform,niclic/terraform,whiskeyjay/terraform,ryon/terraform,cakoose/terraform,crunchywelch/terraform,alphagov/terraform,rhyas/terraform,cnicolov/terraform,mhlias/terraform,gettyimages/terraform,JDiPierro/terraform,xsellier/terraform,cmorent/terraform,ordinaryexperts/terraform,bradfeehan/terraform,evandbrown/terraform,iljaskevic/terraform,julia-stripe/terraform,DevoKun/terraform,mkuzmin/terraform,tombuildsstuff/terraform,mafrosis/terraform,jcaugust/terraform,niclic/terraform,partamonov/terraform,grasshoppergroup/terraform,ross/terraform,gettyimages/terraform,ValFadeev/terraform,gh-mlfowler/terraform,svanharmelen/terraform,borisroman/terraform,kjmkznr/terraform,travertischio/terraform,dn1s/terraform,jamtur01/terraform,elblivion/terraform,TStraub-rms/terraform,cnicolov/terraform,golvteppe/terraform,jamtur01/terraform,lstolyarov/terraform,GannettDigital/terraform,bradfeehan/terraform,Wambosa/terraform,ddegoede/terraform,HotelsDotCom/terraform,Ticketmaster/terraform,jhedev/terraform,samdunne/terraform,richardc/terraform,hashicorp/terraform,kwilczynski/terraform,drebes/terraform,appbricks/ab-terraform-build,ashishth09/terraform,jrperritt/terraform,TStraub-rms/terraform,10thmagnitude/terraform,dtan4/terraform,svanharmelen/terraform,PaulAtkins/terraform,jhedev/terraform,paybyphone/terraform,gechr/terraform,10thmagnitude/terraform,opsidian/terraform,hrach/hashicorp-terraform,apparentlymart/terraform,jammycakes/terraform,ReleaseQueue/terraform,kjmkznr/terraform,antonbabenko/terraform,richardc/terraform,tpoindessous/terraform,PeteGoo/terraform,gh-mlfowler/terraform,ReleaseQueue/terraform,Boran/terraform,Pryz/terraform,opsidian/terraform,ordinaryexperts/terraform,wowgroup/terraform,cmorent/terraform,jamtur01/terraform,schans/terraform,dgolja/terraform,pryorda/terraform,KensoDev/terraform,fatmcgav/terraform,ValFadeev/terraform,zero-below/terraform,vancluever/terraform,harijayms/terraform,mathematician/terraform,youhong316/terraform,AlexanderEkdahl/terraform,ewbankkit/terraform,ewypych/terraform,lstolyarov/terraform,evalphobia/saas-ci-performance-compare-terraform,caiofilipini/terraform,tommynsong/terraform,chrisjharding/terraform,luis-silva/terraform,zachgersh/terraform,mathieuherbert/terraform,alphagov/terraform,hooklift/terraform,BedeGaming/terraform,brandontosch/terraform,yanndegat/terraform,heimweh/terraform,BobVanB/terraform,BobVanB/terraform,ryon/terraform,samdunne/terraform,Boran/terraform,mtougeron/terraform,niclic/terraform,BedeGaming/terraform,matt-deboer/terraform,ordinaryexperts/terraform,tamsky/terraform,ordinaryexperts/terraform,appbricks/ab-terraform-build,lusis/terraform,justnom/terraform,crunchywelch/terraform,iansheridan/terraform,schans/terraform,kristinn/terraform,taliesins/terraform,GrayCoder/terraform,rnaveiras/terraform,svanharmelen/terraform,mathematician/terraform,fatmcgav/terraform,evandbrown/terraform,antonbabenko/terraform,catsby/terraform,apparentlymart/terraform,wowgroup/terraform,mathieuherbert/terraform,cakoose/terraform,hpcloud/terraform,evalphobia/saas-ci-performance-compare-terraform,DJRH/terraform,pgray/terraform,paultyng/terraform,mathematician/terraform,sl1pm4t/terraform,clearcare/terraform,harijayms/terraform,antonbabenko/terraform,kwilczynski/terraform,nlamirault/terraform,mathieuherbert/terraform,Pryz/terraform,mbfrahry/terraform,iansheridan/terraform,VladRassokhin/terraform,donaldguy/terraform,tamsky/terraform,VladRassokhin/terraform,fatmcgav/terraform,gazoakley/terraform,cnicolov/terraform,jianyuan/terraform,wowgroup/terraform,cloudnautique/terraform,GrayCoder/terraform,TheWeatherCompany/terraform,DJRH/terraform,maxenglander/terraform