From 20dd5a47a5d084a10da8b38cb10770a5cbe2eeb5 Mon Sep 17 00:00:00 2001 From: edd Date: Fri, 4 Aug 2023 11:51:13 +0100 Subject: [PATCH 1/2] Change supported python versions for the cloudformation-cross-account sample lambda_function ADD: Support for Python 3.8, 3.9, 3.10 DROP: Support for Python 3.6 environments (support for which has been deprecated by AWS) --- .../packages/CfnStackAssumeRole/lambda.zip | Bin 10267 -> 4555 bytes .../CfnStackAssumeRole/lambda_function.py | 9 +++++---- .../CfnStackAssumeRole/requirements.txt | 1 - 3 files changed, 5 insertions(+), 5 deletions(-) delete mode 100644 samples/cloudformation-cross-account/functions/source/CfnStackAssumeRole/requirements.txt diff --git a/samples/cloudformation-cross-account/functions/packages/CfnStackAssumeRole/lambda.zip b/samples/cloudformation-cross-account/functions/packages/CfnStackAssumeRole/lambda.zip index 23f8f134d0f77f1064b77f7246679fe95208517d..b2c571730298bf9d1b779de7e90f6e1fe17c7af0 100644 GIT binary patch delta 4477 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 P0RUJ4003PP000009lfYR literal 10267 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 diff --git a/samples/cloudformation-cross-account/functions/source/CfnStackAssumeRole/lambda_function.py b/samples/cloudformation-cross-account/functions/source/CfnStackAssumeRole/lambda_function.py index cfc81c3..21773e2 100644 --- a/samples/cloudformation-cross-account/functions/source/CfnStackAssumeRole/lambda_function.py +++ b/samples/cloudformation-cross-account/functions/source/CfnStackAssumeRole/lambda_function.py @@ -3,7 +3,7 @@ import string import logging import threading -import requests +import urllib3 # Added by EM import json from botocore.credentials import ( AssumeRoleCredentialFetcher, @@ -14,6 +14,8 @@ from botocore.exceptions import ClientError +http = urllib3.PoolManager() # Added by EM + cfn_states = { "failed": ["CREATE_FAILED", "ROLLBACK_IN_PROGRESS", "ROLLBACK_FAILED", "ROLLBACK_COMPLETE", "DELETE_FAILED", "UPDATE_ROLLBACK_IN_PROGRESS", "UPDATE_ROLLBACK_FAILED", "UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS", @@ -83,9 +85,8 @@ def send(event, context, response_status, response_data, physical_resource_id, l } try: - response = requests.put(response_url, - data=json_response_body, - headers=headers) + response = http.request('PUT', response_url, headers=headers, body=json_response_body) + logger.info("CloudFormation returned status code: " + response.reason) except Exception as e: logger.error("send(..) failed executing requests.put(..): " + str(e)) diff --git a/samples/cloudformation-cross-account/functions/source/CfnStackAssumeRole/requirements.txt b/samples/cloudformation-cross-account/functions/source/CfnStackAssumeRole/requirements.txt deleted file mode 100644 index f229360..0000000 --- a/samples/cloudformation-cross-account/functions/source/CfnStackAssumeRole/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -requests From ff71e8f9166277378be31fefad25edab9819524e Mon Sep 17 00:00:00 2001 From: edd Date: Fri, 4 Aug 2023 11:57:59 +0100 Subject: [PATCH 2/2] Support capabilities during stack updates ADD: Support for capabilities in update() that is consistent with create() REMOVE: Unused 'cfn_capabilities' variable in create() --- .../packages/CfnStackAssumeRole/lambda.zip | Bin 4555 -> 4565 bytes .../CfnStackAssumeRole/lambda_function.py | 13 +++++++------ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/samples/cloudformation-cross-account/functions/packages/CfnStackAssumeRole/lambda.zip b/samples/cloudformation-cross-account/functions/packages/CfnStackAssumeRole/lambda.zip index b2c571730298bf9d1b779de7e90f6e1fe17c7af0..afc51ce4751a8ca8667a364c5a7b510400155926 100644 GIT binary patch delta 4509 zcmV;O5n}GkBh@1pP)h>@6aWAK2mpg#1XnH3$T1rc008Ha7anL;*vw>A*vw>gcnbgl z1n2_*00ig*006yPZExGi5&o`UvBxwZiBoh=(kl)EbbwD*TBDBR+RpWZDiAcevU#RR zl}jdZ1ONBV%)W4!q$KC1H3GyWXJ=+-XP%vzU1ytZS=H>OtjpJtn;L(5(NuY!-MnV( z89Po>p0b+}9hNZ#-| zx#QKC2-??|T$K3-{r-fnc?I7t`MTobF21ojh*8*4KyV?lve3e>n(qq>Df;%$})c&7x68xg0O3gQL-)~QO7kGFyu4o?5*Q0=czYk zOK*O;IKEy)Z;nsT7AM}Ad6)0b&VD+MtAf3N^dvUh7Uf|1< z1^#BJNTBuOy}vj?fxE&N%-whXamWE;lkFiMVY{TUPF)U(wWX}V|DirKrh2Nd= z9r#+#E3rIUp;m85T+NMnC(av?A4*LtUN==?rYYxmoW@(EZ26DbXWyvmPg{4TSEs4J zdJGjF2ws1r8VLXwYW@j+0qontuES}=XoU45jq7;Kws#LAOX57LQ~*R-N{&RbVRMEZ zSHp+WTaAak$_XEO`~LDwg^Dsy%5R$6z?;80HzOGkO_|4jba;gw_BUnv0Q}P|se`cp zY3X0lgdo^w-AT$N61TY0SDdpH96rPJpnzSsY|?*!#*hUtusFM_VTPM2^FbM9vI)Yf zp!X5FfE~rs9Bl}9G`ghEq!CCbDu`PC6nYRCNbceCX!`2spI4xfKbcHOHRPuC7+SEM z5-t?6MmO{qkT%3asf#!}FvaU%yuNdsbz z9d*MHUry3yvlW5!Nky$2>>3OhQcV9b2+}3yS6=Me;f&mc{I3A^>x_amv1mu5W?mbZ$8~7LRul=!uOk=I%O#MHmiOqIS z$+AdRtV=*YL>;*gV5K0TAM$w#SK!YncL8ytut0_g)edZ-O9&PV#;09LltBa@Z32@? z$YenPgL%@_u){DlLowMlHBv~4Xgsd$M0SZY0g*I%#@;kVLgMPXxK@0i;`pNxkj{T_ z*j72q&yVornQhGyh5}NQ;A!n!YvrXHFl;_+$=zTUTvO0f~E2j5Z$AQkIp$!gA*>k}#4+D{ubb39ZI9j}v_L&_)resTFxB8}_km@|5M-J;wpK zEQ;R^U@yMvC?C{!9N1v(!IBt#ju+r%tP!&8eN#-Qf93TtMo@JVqqu?pNW0o<~bC9vwZ9AF^9NwgFHnB}?DJQJcp z735+oR`G3&XiaiUu#Vbuhc;uF5awJ%;JWyIaeggh*8*jlN2qgP>6PSFI#7h(bSzhE zG2}qpJSk_i7@G)pVZ|oVs|A1Qdb6eQtI#bHO3f5*NS!fZH*KQHHBtt~m7zKSEihe% zj}eZGpy=PgLS#_H{`B(b=xB0u6uvl`{5)K}lLRSl%;M@+%$CDwwUU#mCjidE!q454H;np_L6K=1t zH!n9^B=vBW9WH~b{S5qPQ+~iLQti$nx#MY*QzcBx?9e~aiSVaF#ylGIlx~~H%6*jn zknPCc*Sg8`hjt@3TL^zf|GMx(ht)7JUA>>rWt%R^d0aGGlZLrzaJav|opn*lEk=4% zp~8V-e@Nmzl;i;TU^m@l98;C3XXb2>W_Akq<^*&|(zb?4FWMdiN~)_EcPeBD$eV9Ac{7OGliKhH-(Cr{si6I`^`PP#J>$yD8 zZJh(6XehC zB#(u#PGT-9fF^$^p#qsqD(-I=*MEC=g58>!C|^`S>dQz$3q%nm4pAU@z8+yfe6x3pb|o-scfsFJPyxfBY6}X<_2_^D2 zuE3sP3tgp1;q)5YKFgIsuzL0`c0&z>RvJAd$|Y>Swv zU;Q5E4fm#BByhRKe!FEnDNu)Xnno?u25l3*k^ZX`6;$B)|7f!0{tBxJN-W;S5MM8_ z-D|JaFX}Xeayb<{la3rSd)=}@f1c?QN%t(sty?$4_Br1Gx6^b63bh}OiF)Qsk<-)S zLwSGCHD}9DFF?N}+s66KCkukrH}QYUBK{~Q;Pn>e71{N;f{joaqVKYxf->T^fszjB z0^_BoQzzwUD;Po}i01uNyIT6G40-WsTgjlA`2ZO_c*QnZfnBfA?-*|8FV2sDgWLc< z48)&OdFfpOTbQ`FvL*+bL2QTs7e+1$vjcwvp@ZN>`6W&fJY8(_tPZ@X7cO7Rh>4S= zY>Ha83w9F!S#8j0c@(yb_9viyse1A~Gi#NN5pZ5J!?QKcwIrM^9jtXB8h`v#Jk0W6 z`u&Z{2YcZ+-0;AcrpgbW3;d^@8GiSnKn|p_#+EI{%-A&?V18P_e1LtgcjAyfnx}u2 zT3v;rGNIMx=)|>aw+`)q>0qR5{Z`-86l@6Q85BPRF%UnxpXxwGf5`Vh3r8ze%2Fuq zwTMmV#_X^;94P`DMT4b;B}zLrHZ%;3*q>WF5YaBcc9=;9b{GsBOGR;Kt#&JnB?;*8 z29h0f$|yzduEje}HK3$-nw9vAWulZqzmBvh^vLByEclfhC@DI0%)S_@NR zqmfl!=?P#VW%RcUd~g^S zwG7lGFqLF{z$j88Q`|fJeCZXJ!cuKO0ud`2wF8)By2Vc!e@c=G~W-a-6FR&Lc zxp}?QUJnoQC5fGWynJnxhH+R1DB;)?H4_KK6iJoc(8Y%2UIe5NA*P&0s7|v{=c85M zY-EaIqp48qbYvvkNS>|Yl^=gz1WJ@OYxlc+7iuSSS^U@;@+*7!>K7|t*Q+6aSx({W z3ulC~HqKJ#FKUoxEvFrC5E#Fl+t*4Y|D0DbKE@>~oJ@6y=gHP1O+Y*dx|5R*Ydo6~iShdG_@0F;54Te{)h zX$(+Z=pU#HI{?wP3ozaX)J1JfHbg)h|5TiLL#KlHB3czbX9>`teg z>UOZJ`B~pUl_x0s!T*1~I#qo#__yJ16*hzOI}rFuH}Ll?=phK$>kCOA489SChkZj^ z<-6`<-+u@Ce}b-a9H`upQPvNvr-Rx5c4>Fl;9s)Oe3Q}Sf;|ygjs5!AI&ket zISvg{1I*QE@SuP8kA;@LtnYm5=ucOP>TElYn*vHbeTzrkPt1h8Q8p;Uj&u8qy4-A> zclIOGsA0O54IacbG!kG8y{V& zMA=ZsQ80g~T~TfJfE;uqrrF}(Ji<;Nx(4~mb>6wwUv9U~VasmI5n;!0a%~~t_?t{Q|*}hR=&ZWog$+>g5J@eW#viZ6oc(j(rY;!oqJ+^OgLn<%X$=`>1 zoWl*ggG>~fNpiY@jWoX&4pUOW<(|>;j`Pnm9n7t|U=I_q0k5A7Rm(l6@ z>9zM5(hzx<3;!&G)*(^t1K1Wr5Ci!JyUoj+IHzmp6|RbVjn>>@HLd%RDMFm1mtNOW ze)X*L2(gP)eg)FO+fh|zZqDllGG)$HrEUP*I>KB1_o7m};VbK%O!sXJF?H9u^*)B8 zObCCx-@jh7to8-_SXOkKJE`t?4$%UytXuI8$7lL}HG01KlfsW#t^3NjDnzHOk8@LX zZUz?Fan-r+16HS3JJG>w`uc{xzMM}NwPNc=b2$1hP)h*<9s?8r000O8gI)wzEzig? v8xa5i=RN=c5&#$g000000RR91w1EHs005JV5f=hg*ps9YAqHm=00000-W{eg delta 4478 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 QmDH225g`U$5dZ)H0P^m=SpWb4 diff --git a/samples/cloudformation-cross-account/functions/source/CfnStackAssumeRole/lambda_function.py b/samples/cloudformation-cross-account/functions/source/CfnStackAssumeRole/lambda_function.py index 21773e2..ca94b9d 100644 --- a/samples/cloudformation-cross-account/functions/source/CfnStackAssumeRole/lambda_function.py +++ b/samples/cloudformation-cross-account/functions/source/CfnStackAssumeRole/lambda_function.py @@ -305,9 +305,6 @@ def create(event, context): Create a cfn stack using an assumed role """ - cfn_capabilities = [] - if 'capabilities' in event['ResourceProperties'].keys(): - cfn_capabilities = event['ResourceProperties']['Capabilities'] cfn_client = boto3.client("cloudformation") params = get_cfn_parameters(event) prefix = event['ResourceProperties']['ParentStackId'].split("/")[1] @@ -347,17 +344,21 @@ def update(event, context): Update a cfn stack using an assumed role """ stack_id = event["PhysicalResourceId"] - cfn_capabilities = [] + capabilities = [] if 'capabilities' in event['ResourceProperties'].keys(): - cfn_capabilities = event['ResourceProperties']['capabilities'] + capabilities = event['ResourceProperties']['capabilities'] cfn_client = get_client("cloudformation", event, context) physical_resource_id = stack_id + prefix = event['ResourceProperties']['ParentStackId'].split("/")[1] + parent_properties = cfn_client.describe_stacks(StackName=prefix)['Stacks'][0] + if 'Capabilities' in parent_properties.keys(): + capabilities = parent_properties['Capabilities'] try: cfn_client.update_stack( StackName=stack_id, TemplateURL=event['ResourceProperties']['TemplateURL'], Parameters=get_cfn_parameters(event), - Capabilities=cfn_capabilities, + Capabilities=capabilities, Tags=[{ 'Key': 'ParentStackId', 'Value': event['ResourceProperties']['ParentStackId']