core: Set all unknown keys to UnknownVariableValue
core: Set all unknown keys to UnknownVariableValue

As part of evaluating a variable block, there is a pass made on unknown
keys setting them to the config.DefaultVariableValue sentinal value.
Previously this only took into account one level of nesting and assumed
all values were strings.

This commit now traverses the unknown keys via lists and maps and sets
unknown map keys surgically.

Fixes #7241.

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