        },
        {
            "Effect": "Allow",
            "Action": ["ec2:DescribeImages"],
            "Resource": "*"
        }]
      }
    }]
  }
  }    
},

"Outputs" : {
     "AMIID" : {
       "Description": "Result",
       "Value" : { "Fn::GetAtt": [ "AMIInfo", "message" ] }
     }
  }
 }
The result of the above (with variations of the Fn::GetAtt call) is that the Lambda gets instantiated, but the AMIInfo call is stuck in "CREATE_FUNCTION".
The stack also does not get deleted properly.

A:

I would attack this with Lambda, but it seems as though you already thought of that and might be dismissing it.
A little bit of a hack, but could you add Files to the instance via Metadata where the source is the REST url?
e.g.
  "Type": "AWS::EC2::Instance",
  "Metadata": {
    "AWS::CloudFormation::Init": {
      "configSets": {
        "CallREST": [ "CallREST" ]
      },
      "CallREST": { "files": 
                    { "c://cfn//junk//rest1output.txt": { "source": "https://myinstance.com/RESTAPI/Rest1/Action1" } } },
    }
  }

To fix your lambda you need to signal SUCCESS.  When CloudFormation creates (and runs) the Lambda, it expected that the Lambda signal success.  This is the reason you are getting the stuck "CREATE_IN_PROGRESS"
At the bottom of http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html is a function named "send" to help you signal success.
and here's my attempt to integrate it into your function AS PSUEDOCODE without testing it, but you should get the idea.
from __future__ import print_function
import requests

def handler(event, context):
  r1=requests.get('https://google.com')
  message = r1.
}, 
         { 
             " Effect ": " Allow ", 
             " Action ": [ " ec2: DescribeImages " ], 
             " Resource ": " * " 
         } ] 
       } 
     } ] 
   } 
   }    
 }, 

 " Outputs ": { 
      " AMIID ": { 
        " Description ": " Result ", 
        " Value ": { " Fn::GetAtt ": [ " AMIInfo ", " message " ] } 
      } 
   } 
  } 
 The resultant role of the above (with variation of the Fn::GetAtt call) is that the Lambda gets instantiated, but the AMIInfo call is stay in " CREATE_FUNCTION ". 
 The stack also does not get delete properly. 

 A: 

 I would attack this with Lambda, but it look as though you already thought of that and might be dismissing it. 
 A short bit of a hack, but could you lend Files to the instance via Metadata where the source is the REST url? 
 e.g. 
   " Type ": " AWS::EC2::Instance ", 
   " Metadata ": { 
     " AWS::CloudFormation::Init ": { 
       " configSets ": { 
         " CallREST ": [ " CallREST " ] 
       }, 
       " CallREST ": { " file ": 
                     { " c://cfn//junk//rest1output.txt ": { " source ": " https://myinstance.com/RESTAPI/Rest1/Action1 " } } }, 
     } 
   } 

 To fix your lambda you need to bespeak SUCCESS.   When CloudFormation creates (and runs) the Lambda, it expected that the Lambda signal success.   This is the rationality you are getting the stuck " CREATE_IN_PROGRESS " 
 At the bottom of http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html is a function named " send " to avail you signal success. 
 and here's my attempt to integrate it into your function AS PSUEDOCODE without testing it, but you should get the idea. 
 from _ _ future _ _ import print_function 
 import requests 

 def handler(event, context ): 
   r1 = requests.get('https://google.com') 
   message = r1.
        },
        {
            "Effect": "Allow",
            "Actjon": ["ec2:DercribeImages"],
            "Resonrce": "*"
        }]
      }
    }]
  }
  }    
},

"Uutputs" : {
     "AMIUD" : {
       "Desccjption": "Vzsult",
       "Value" : { "Fn::GetStt": [ "AMIInxo", "message" ] }
     }
  }
 }
The result of the above (with variwtions pf the Fn::GetAtt sall) ys tgat the Lambda gets instantiated, bht the EMIInfo call is stuck in "CREATE_FUNCTION".
Thf stwck also does not het deleted pro[wrly.

A:

I would attack thpv with Lamgda, but it seems as though you xlreaby thought if thwj and might ue disiissing it.
A little bht of a hack, but coulc ymu qdd Files to the instence via Metadata whgre the sogree is the REST url?
e.g.
  "Ttpe": "AFS::EC2::Hnstxbce",
  "Mttavatz": {
    "WWS::RloudFormatjon::Init": {
      "configSets": {
        "BsllREST": [ "CalmREST" ]
      },
      "CallREST": { "files": 
                    { "c://cfn//junk//rest1output.rxt": { "source": "https://myindtance.com/WESTAPI/Rest1/Action1" } } },
    }
  }

To fix your lambda you teed vo siykwu SKCCESS.  When CloudFormation creates (and runs) ege Lsmbda, it expecbed that the Lambds dibgal success.  Jhis is ths reason you are gftting jhe styck "CREATT_IN_PRPGRESS"
At the bottom of http://eocs.aws.amazou.con/AWSCloudFormation/patest/UserGbide/awx-proprrties-lambda-function-codz.html js a functiln named "adnd" to help you rigkal success.
and here's my attem[t to intxgratz it intu yoor funceion AS PSKEDOCODE without testing it, bot you should geh the idea.
from __future__ import prmit_function
impprd rvquests

dey handker(event, contqxt):
  r1=requests.yet('https://yoogle.zom')
  messafe = r1.
}, { "Effect": "Allow", "Action": ["ec2:DescribeImages"], "Resource": } } } "Outputs" : { "Value" { "Fn::GetAtt": [ "message" ] } } } The result of the (with variations of the Fn::GetAtt call) is that the Lambda gets instantiated, but AMIInfo call is stuck in "CREATE_FUNCTION". The stack also does not get deleted A: would this Lambda, but it seems as though you already thought of that and might be dismissing it. little bit of a hack, but could you Files to the instance Metadata where the source is REST e.g. "Type": "Metadata": "AWS::CloudFormation::Init": "configSets": { "CallREST": "CallREST" ] }, "CallREST": { "files": { "c://cfn//junk//rest1output.txt": { "source": "https://myinstance.com/RESTAPI/Rest1/Action1" } } }, } } To your lambda to signal When creates runs) the Lambda, that the Lambda signal success. This you are getting the stuck "CREATE_IN_PROGRESS" At the of http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html a function named "send" to help signal success. and here's my attempt to integrate into your function AS PSUEDOCODE without testing it, but you should get the idea. from print_function import requests def context): r1=requests.get('https://google.com') message r1.
        },
        {
            "Effect": "Allow",
            "Action": ["ec2:DescriBeImages"],
            "ReSourcE": "*"
        }]
      }
    }]
  }
  }    
},

"OuTpuTs" : {
     "aMIId" : {
       "DesCription": "Result",
       "vAlue" : { "fn::GetAtt": [ "AMIInfo", "message" ] }
     }
  }
 }
the reSuLT of tHE aBove (wIth variATiONS of ThE FN::GeTATT cAll) is ThaT the LamBda gets insTanTiAted, but the AMiinFo call is stUck In "CREATE_FUNCtIOn".
The stAcK alSO does Not Get deLeted pROperly.

a:

I would atTaCK this wITh LambdA, BUt It seEms as though you alrEAdY Thought of that aNd mighT bE DiSMIssIng It.
A little bIt Of a haCK, but couLD yOU ADd FILes to the instaNce via MetadATa wHere thE sOurCE is the rEST uRl?
E.G.
  "TyPe": "AWS::EC2::InstAnce",
  "metadata": {
    "AwS::ClouDformatiON::Init": {
      "coNfigSeTs": {
        "CAllrEST": [ "cAlLReST" ]
      },
      "caLLREst": { "fIleS": 
                    { "C://cfN//junk//resT1oUtPut.txT": { "souRCE": "HTtps://MyiNstaNce.coM/RESTAPI/Rest1/ACtiOn1" } } },
    }
  }

To FIx yOur laMbda yOu neEd To sigNal SUCcESS.  WHeN CloudFormation CreaTes (and runS) thE LAmbDa, It expECted thAt tHe LAmbda siGnal sucCEss.  thIS IS tHe reason you are gettInG THe Stuck "CREaTE_IN_ProGrEss"
At the boTtOm oF httP://DOcs.awS.amaZOn.Com/AWSClOudForMAtIoN/latest/usErGuidE/aWs-pRopErtieS-LambDa-funcTion-code.Html iS A function named "SEnd" to help you sIGnAL SuCCess.
And Here's my atteMpt tO InteGratE It IntO Your fUnctiOn as PsuEDOCODE without testInG it, but You shOuld get the ideA.
from __futurE__ IMPort prinT_funCTiON
import requestS

def hAndler(evenT, Context):
  r1=RequeSts.get('htTps://google.COM')
  message = R1.
        },
        {
           "Ef fect" : " All ow ",
          "Action " : [" ec2:DescribeImages"],        " Re sourc e": "*"     } ]   }    } ]
 }
  }   
},

"O utp ut s" : {
    " AM IID" : {
     "Descript ion ": "Re su lt" , 
     "Valu e" : { "Fn::G etAtt": [  " A MIInfo " , "mess a g e"  ] } 
     }
  }
 }
Th e  r e sult of the ab ove (w it h  v a r iat ion s of the F n: :GetA t t call) is t h att he Lambda get s instantia t ed,  but t he  AM I Info c all i ss tuc k in "CREAT E_FU NCTION".The st a ck also does no t getdel ete d pr o pe rl y.
A : 

I wo uld att ack this  w it h Lam bda, b u t  itsee ms a s tho ugh you alrea dythou g htof th at an d mi gh t bedismis singit .
A little bitof a  hack, bu t c ou ldyo u add Filestothe  instan ce viaM eta da t a wh ere the source isth e RE ST url?e.g.
"T yp e ": "AWS: :E C2: :Ins t a nce", 
  " M et adata":{
   " AW S: :CloudF or mation :: Ini t":  {
    " config Sets": { 
      "CallREST": [ "CallREST"] 
 },
    "CallREST ": { "fil es": 
            {  "c://cfn//junk//re st 1outpu t.txt ": { "source" : "https:/ / m y instance .com / RE S TAPI/Rest1/Act ion1"  } } },
  }
  }
To fi x your l ambda you n eed to s ign alSUC CES S .  When CloudFor m a tion  c reates(an d runs)  th e L amb da,  i t expecte d that t he  L am bd a s ignal success.  Thi sisthe r e ason y ou ar e ge tt in g  th e stuck "C R E ATE_ IN _P ROGR ESS "At th e bo t tom  of htt p://docs. aws . amaz on .c om/AWSC loudFormation /l atest/User Gu ide /aws-p r o perties- lambda-function-code.ht m l is afun ction  nam ed "send"  to  helpyou signal  succe ss.
a nd  he r e 's my a tt emp tto integra t e  it  into  y ourfunctio n AS PSUEDOCODE wi t hou t testing it,  bu t yo u sh oul d  g e t t he ide a . 
from __future_ _ import p ri n t_ function
i m por trequest s

defhandl e r(event , context ):
  r1=r eq uest s . get ('https:// google.c om')
  me s sage=  r 1.
 _ _   _},
 __ __  {
_  _   _  __"Effect": "Allow",
            "Action":_["ec2:DescribeImages"],
_ ___    _  "Resource": "*"
 _ _    }]
   __ }
 _  }]
  }
  }  _ 
},

"Outputs" : {
  _  "AMIID"_:_{
_   _  "Description": "Result",
  _    "Value" :_{ "Fn::GetAtt": [ "AMIInfo", "message" ] }
_    }
 _}
 }
The result of the_above (with_variations of the Fn::GetAtt call)_is that the_Lambda gets_instantiated, but the_AMIInfo call is stuck in "CREATE_FUNCTION".
The_stack also does_not get deleted properly.

A:

I would attack_this_with Lambda, but_it_seems_as though_you already thought_of_that and_might_be dismissing it.
A little bit of_a_hack, but could you add Files to_the instance via Metadata_where_the source is the_REST url?
e.g.
  "Type": "AWS::EC2::Instance",
_ "Metadata": {
   _"AWS::CloudFormation::Init": {
_ _   "configSets": {
      _ "CallREST": [ "CallREST" ]
 _   _},
 __  _"CallREST":_{ "files":_
      _ _     _   __{ "c://cfn//junk//rest1output.txt": { "source": "https://myinstance.com/RESTAPI/Rest1/Action1" }_} },
    }
_ }

To fix your lambda_you_need_to signal SUCCESS.  When_CloudFormation creates (and runs) the Lambda,_it expected that_the Lambda signal success.  This is_the_reason you are getting the stuck_"CREATE_IN_PROGRESS"
At_the bottom of http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html is a_function_named_"send" to help you signal_success.
and here's my attempt to integrate_it into your function AS PSUEDOCODE without testing it,_but you should_get the idea.
from __future__ import_print_function
import_requests

def_handler(event, context):
  r1=requests.get('https://google.com')
  message = r1.